]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
[grub2.git] / ChangeLog
CommitLineData
ce55ed03
VS
12013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
4
8ddf84bf
CW
52013-11-29 Colin Watson <cjwatson@ubuntu.com>
6
7 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
8 builds, since we don't have an EPS version of font_char_metrics.png.
9 Add leading dot to image extension per the Texinfo documentation.
10
fd0df6d0
CW
112013-11-29 Colin Watson <cjwatson@ubuntu.com>
12
13 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
14 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
15 * util/grub-gen-widthspec.c: Likewise.
16 * util/grub-mkfont.c: Likewise.
17
69ca97c8
AB
182013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
19
20 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
21 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
22 failed to install on (hdX).
23 * util/grub-setup.c (get_device_name): Remove, not needed after
24 above change.
25
eec893ae
VS
262013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
29
621e167f
VS
302013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * util/grub-fstest.c: Remove variable length arrays.
33
d54f647a
VS
342013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/osdep/linux/ofpath.c: Check return value of read.
37
c8a0f1b2
VS
382013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
41 computing crc32 rather than handling with md fundtions directly.
42
726409a5
VS
432013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
46 checking fwstart.img rather than md fundtions directly.
47
422e6e88
VS
482013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * util/grub-mkrescue.c (main): Check that fread succeeded.
51
af1faca3
VS
522013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * conf/Makefile.common: Remove -mexplicit-relocs and
55 -DUSE_ASCII_FALLBACK on yeeloong.
56
57 -DUSE_ASCII_FALLBACK is already added by font snippets.
58 -mexplicit-relocs isn't needed is compiler/assemblera are
59 configured properly.
60 If they're not we shouldn't attempt to fix it by ourselves.
61 Binary compare between before and after shows no difference.
62
469021b4
VS
632013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
66 sources in dependencies directly.
67
68 This was the only instance of "library" in core config. A bug was
69 reported that -fno-stack-protector wasn't passed to it. Instead of
70 figuring out why it failed just remove this construction used
71 needlessly.
72
83c256ba
VS
732013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/osdep/unix/password.c (grub_password_get): Check that
76 fgets succeeded.
77
b67422d3
FL
782013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
79
80 * docs/grub.texi (ls): Fix command description in case of a device name
81 passed as argument.
82
2d76b4d8
VS
832013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
84
85 Eliminate variable length arrays in grub_vsnprintf_real.
86
87 A bit tricky because this function has to continue to work without
88 heap for short strings. Fixing prealloc to 32 arguments is reasonable
89 but make all stack references use 32-bit offset rather than 8-bit one.
90 So split va_args preparsing to separate function and put the prealloc
91 into the caller.
92
4f954122
VS
932013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
94
95 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
96 Fixes build for windows.
97
b1f742c1
VS
982013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * gentpl.py: Don't generate platform-dependent conditionals for
101 platform-independent targets.
102
16ef26fd
CW
1032013-11-27 Colin Watson <cjwatson@ubuntu.com>
104
105 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
106 references to mdadm from otherwise generic code.
107 (grub_util_exec_pipe): Likewise.
108 (grub_util_exec_pipe_stderr): Likewise.
109 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
110 This function calls vgs, not mdadm; adjust variable names
111 accordingly.
112
cf8c80ff 1132013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
114
115 Generate Makefile.*.am directly from gentpl.py, eliminating the use
116 of Autogen. The Autogen definitions files remain intact as they
117 offer a useful abstraction.
118
5c7206e4
CW
1192013-11-27 Colin Watson <cjwatson@ubuntu.com>
120
121 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
122 into no-ops, and use it in programs that copy files but do not need
123 to take special care to sync writes (grub-mknetdir, grub-rescue,
124 grub-mkstandalone).
125
fc3f2b72
CW
1262013-11-26 Colin Watson <cjwatson@ubuntu.com>
127
128 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
129 than hardcoding /usr/local/bin/xorriso.
130
1e4b3587
VS
1312013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
132
133 Add PCI command activation to all PCI drivers as required for coreboot
134 and maybe some other firmwares.
135
9208367d
VS
1362013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
139 and non-Apple variants of efiemu compile.
140
67b9b7af
AB
1412013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
142
143 * configure.ac: Add explicit check for linking format of
144 efiemu64; save it as EFIEMU64_LINK_FORMAT.
145 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
146 hardcoding linking format.
147
bee1b5ce
VS
1482013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
151 and not pkgdatadir.
152
07e3b047
CW
1532013-11-25 Colin Watson <cjwatson@ubuntu.com>
1542013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
155
156 Add a --locale-directory option to grub-install and related tools.
157
158 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
159 --locale-directory option.
160 (enum grub_install_options): Add
161 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
162 * util/grub-install-common.c (grub_install_help_filter): Handle
163 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
164 (grub_install_parse): Likewise.
165 (get_localedir): New function to check for a user-provided option
166 before trying grub_util_get_localedir.
167 (copy_locales): Use get_localedir rather than
168 grub_util_get_localedir. Handle differing locale directory layouts.
169 (grub_install_copy_files): Likewise.
170
61e1b9a4
VS
1712013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
174 Don't rely on PATH_MAX.
175
c98dd165
VS
1762013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * grub-core/genmoddep.awk: Use more portable && rather than and.
179
ff1c277e
VS
1802013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
183 an object after data. While it doesn't seem right solution, it
184 works well enough and OSX isn't main compilation platform.
185
c8f7614b
VS
1862013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
189 While it doesn't seem right solution, it works well enough and
190 OSX isn't main compilation platform.
191
246a434f
VS
1922013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
193
194 * configure.ac: Add -static to LDFLAGS when using apple linker to
195 prevent it from pulling in dynamic linker.
196
5c066a81
VS
1972013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
198
199 Apple assembly doesn't handle symbol arithmetic well. So define an
200 offset symbol in boot.S and use it.
201
78f961ef
VS
2022013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
203
204 Apple assembly doesn't handle symbol arithmetic well. So instead
205 of getting addres of kernel_sector + 4 define kernel_sector_high.
206 It also makes code more readable.
207
09bc0a57
VS
2082013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
209
210 With Apple assembly in .macro environvemnt you have to use $$ instead
211 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
212 to $$x on Apple and to $x on everything else.
213
b700a427
VS
2142013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
217 OBJCONV.
218
4480b95d
VS
2192013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
222 and non-Apple. This instruction is shorter and faster,
223 so no reason not to use it on both.
224
e77c81f6
VS
2252013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
228 .text when compiling for Apple.
229
971dbee5
VS
2302013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * grub-core/term/arc/console.c: Add missing cast to silence warning.
233
6f2e82be
VS
2342013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
237 %dx restore the probe worked on non-existant drive. Reorganize the
238 code a little bit to free 2 bytes necessary for push/pop.
239
9eec9699
VS
2402013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
243 Add missing cast to silence warning.
244
5ae5c54c
KPA
2452013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
246
247 * util/grub-install.c (update_nvram): Support --no-nvram flag
248 for EFI targets.
249
7b04fe6c
VS
2502013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
253
e67566ce
VS
2542013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * util/garbage-gen.c: Add missing include of sys/time.h.
257
f93ddcfd
VS
2582013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
259
260 Don't add -mflush-func if it's not supported by compiler.
261
1bba40f5
VS
2622013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
263
264 Move common BIOS/coreboot memory map declarations to
265 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
266
f65e14dc
AB
2672013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
268
269 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
270
14a94bba
VS
2712013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * INSTALL: Document why older clang versions aren't appropriate.
274
8109c5d4
VS
2752013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * INSTALL: Document about clang for mips.
278
a92b5cb8
VS
2792013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
282 clang.
283
4a23e2fe
VS
2842013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
285
286 Add *-xen to the list of grub-install-common platforms.
287
a3ba7410
VS
2882013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
291 3 last commits.
292
e1c22419
VS
2932013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
296
189090ce
VS
2972013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
300 with -mcmodel=large.
301
1a5b7b40
VS
3022013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
305 range-checking for 32-bit quantities.
306
9cf12b20
VS
3072013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * configure.ac: Compile with -fPIC when compiling with clang on
310 mips.
311
63a45330
VS
3122013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
315 when compiling with clang.
316
4a0aaad0
VS
3172013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
318
319 clang emits calls to abort () under some unknown conditions.
320 Export abort () when compiling with clang.
321
095bb1bf
VS
3222013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * docs/grub-dev.texi: Document stack and heap sizes.
325
3937bd96
VS
3262013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * include/grub/i386/pc/memory.h: Decrease
329 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
330 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
331 The binary doesn't change (checked). It's more to better reflect actual
332 usage.
333
ddb3efc9
VS
3342013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
337 at compile time that enough of scratch size is available.
338
4e42521d
VS
3392013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
342 Previously we misaligned stack by 8 in startup.S and compensated
343 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
344 right behaviour is to align stack in startup.S and keep it aligned
345 in callwrap.S. startup.S part was committed few commits before. This
346 takes care of callwrap.S.
347 Reported by: Gary Lin.
348
054efe54
VS
3492013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
352 .data and .bss. May happen if compiler and assembly use different
353 alignment.
354
a0e1befb
VS
3552013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
356
357 On MIPS handle got16 relocations to local symbols in an ABI-compliant
358 way.
359
c36c73f6
VS
3602013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
361
362 Add support for a new magic symbol _gp_disp on mips to handle PIC
363 binaries.
364
6f4a19f5
VS
3652013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
366
367 Use $t9 for indirect calls from asm to C as PIC ABI requires.
368
0d8f04cd
VS
3692013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
370
371 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
372 when rest of GRUB is compiled for hisher stepping. Instead use
373 .set mips3/.set mips1 around cache and sync opcodes.
374
49060520
VS
3752013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
376
377 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
378 do essentially the same thing, do it in similar way.
379
c6a823e2
CW
3802013-11-21 Colin Watson <cjwatson@ubuntu.com>
381
382 * util/grub-mkrescue.c (main): If a source directory is not
383 specified, read platform-specific files from subdirectories of
384 pkglibdir, not pkgdatadir.
385
b7f9aedf
CW
3862013-11-21 Colin Watson <cjwatson@ubuntu.com>
387
388 * grub-core/normal/progress.c: Remove unused file.
389
7dd0a303
VS
3902013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
393 array.
394
ca120e31
VS
3952013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
396
397 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
398 than grub.cfg.
399
48eb35cd
VS
4002013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * coreboot.cfg: Add missing file.
403
7f20dbbc
VS
4042013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * Makefile.am: Allow STRIP to be empty when creating windowszip.
407
55e706c9
AK
4082013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
409
410 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
411 selectively skipping systems.
412
4e7d433d
CW
4132013-11-19 Colin Watson <cjwatson@ubuntu.com>
414
415 * Makefile.util.def (grub-mkimage): Add
416 grub-core/osdep/aros/config.c to extra_dist.
417 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
418 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
419 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
420 grub-core/gnulib-no-gets.diff.
421
7d44ff7d
VS
4222013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
423
424 Add automated filesystem checking based on scripts I've used now for
425 quite some time locally. Most of the test require root so they are
426 skipped when run without necessarry privelegies.
427
a8c3e5e3
CW
4282013-11-19 Colin Watson <cjwatson@ubuntu.com>
429
430 * util/grub-install.c (main): Adjust info messages to match
431 installed paths of grub-bios-setup and grub-sparc64-setup.
432
4402db3e
CW
4332013-11-19 Colin Watson <cjwatson@ubuntu.com>
434
435 * util/grub-install-common.c (copy_locales): Consistently use
436 grub_util_get_localedir () rather than LOCALEDIR.
437 (grub_install_copy_files): Likewise.
438
7960d3e1
JT
4392013-11-19 Josh Triplett <josh@joshtriplett.org>
440
441 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
442 16-byte boundary, as required by the x86-64 ABI, before calling
443 grub_main. In some cases, GCC emits code that assumes this
444 alignment, which crashes if not aligned. The EFI firmware is also
445 entitled to assume that stack alignment without checking.
446
d53f4900
JT
4472013-11-18 Josh Triplett <josh@joshtriplett.org>
448
449 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
450 4k page boundaries as expected by firmware rather than 1k
451 boundaries.
452 (grub_mmap_malign_and_register): Likewise.
453
bb2b275b
VS
4542013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
457 fragmentation 512M is enough.
458
45bf8b3a
VS
4592013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
462 pointer to 32K. This is the size of cache element which is the most
463 common allocation >1K. This way the pointer is always around blocks
464 of 32K and so we keep performance while decreasing fragmentation.
465
39ff43c5
VS
4662013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
469 current memory when allocating large chunks. This significantly
470 decreases memory fragmentation.
471
60870be8
CW
4722013-11-18 Colin Watson <cjwatson@ubuntu.com>
473
474 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
475 but for symmetry).
476 * tests/lzocompress_test.in: Skip if lzop is not installed.
477 * tests/xzcompress_test.in: Skip if xz is not installed.
478
a1f00cc5
CW
4792013-11-18 Colin Watson <cjwatson@ubuntu.com>
480
481 * util/grub-mkrescue.c (main): Fix typo.
482
74e632fe
VS
4832013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
486 clock frequency to 200 MHz,
487
efb8de49
VS
4882013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * tests/util/grub-shell.in: Increase console size to 1024x1024.
491
b7526e78
VS
4922013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * Makefile.am (default_payload.elf): Add pata to loaded modules.
495 Load config file from (cbfsdisk)/etc/grub.cfg.
496
b40ce651
VS
4972013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * util/grub-install-common.c (grub_install_copy_files): Fix module
500 destination directory.
501
1e8e2e78
CW
5022013-11-18 Colin Watson <cjwatson@ubuntu.com>
503
504 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
505 files have not been built.
506
3bf4088b
CW
5072013-11-18 Colin Watson <cjwatson@ubuntu.com>
508
509 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
510 Handle errors from mkstemp.
511 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
512
35c2851c
VS
5132013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
516 on primary master on pseries.
517
ea7c1a7d
VS
5182013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
521 already loaded. This saves memory needed for tests,
522
96adefdb
VS
5232013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
526 work again.
527
5e3cb8a7
VS
5282013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
531 work again.
532
256ee7ac
VS
5332013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
536 master since with some combinations of qemu and firmware only primary
537 IDE channel is available.
538
f8b4c3b6
VS
5392013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
542 low-memory platforms where we don't have enough memory for them.
543 * grub-core/tests/videotest_checksum.c: Likewise.
544
4bf70320
VS
5452013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
548 already loaded. This saves memory needed for tests,
549
a284320e
VS
5502013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
551
552 Fix handling of install lists.
553
2df8f43d
VS
5542013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
555
556 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
557
6f1bc8bc
VS
5582013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
559
560 On i386-ieee1275 we run in paged mode. So we need to explicitly map
561 the devices before accessing them.
562
04f39f6d
VS
5632013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
566 as file argument.
567
35d4761c
VS
5682013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
571
33d02a42
VS
5722013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
575 (grub_file_close): Free file->name.
576
7bbb60cf
VS
5772013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * grub-core/commands/verify.c (free_pk): Plug memory leak.
580 (grub_load_public_key): Likewise.
581 (grub_verify_signature_real): Likewise.
582 (grub_cmd_verify_signature): Likewise.
583
da93d675
VS
5842013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
587 memory leak.
588
59c943ec
VS
5892013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
592 (grub_longjmp): Restore r31.
593 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
594
4336b5d8
VS
5952013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
598 modules to be in line with make_image_abs.
599
44ce3a93
VS
6002013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
603
604 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
605
7d400406
IC
6062013-11-17 Ian Campbell <ijc@hellion.org.uk>
607
608 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
609
77dae919
VS
6102013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
611
612 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
613 to leave some memory to firmware.
614
0ab8e025
VS
6152013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
618 of loading gfxterm as gfxterm is embed in kernel on some platforms.
619 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
620 Load gfxmenu.
621
b80c2d6d
VS
6222013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
625 now needs full arguments.
626
6aa6077b
VS
6272013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * util/grub-mkrescue.c (main): Add trailing \n in
630 .disk_label.contentDetails to be in line with previous shell script.
631
66c00cb1
VS
6322013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
635
3a129dba
VS
6362013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * util/grub-install-common.c (grub_install_parse): Recognize
639 --compress=none like shell script did.
640
8df6eff6
VS
6412013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * include/grub/misc.h: Replace check for __sparc64__ with one for
644 __sparc__ as __sparc64__ isn't actually defined.
645
889ebe92
VS
6462013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
649 counterpart of fixing the naming of escc ports.
650
d4d55b29
VS
6512013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * util/grub-install-common.c (platforms): Fix the order of entries and
654 remove useless field val.
655
55e2c84f
VS
6562013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * util/grub-install.c: Add new option --no-bootsector to skip
659 installing of bootsector. Accept --grub-setup=/bin/true as
660 backwards-compatible synonym.
661
cd46aa6c
VS
6622013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
663
664 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
665 order of qsort arguments (number of elements vs. element size).
666
6672013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
668
669 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
670 the function of these files exceeds what can be sanely handled in shell
671 in posix-comaptible way. Also writing it in C extends the functionality
672 to non-UNIX-like OS and minimal environments.
673
9ef81064
VS
6742013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
677 compiling to thumb2.
678 * grub-core/kern/arm/cache_armv7.S: Likewise.
679 * grub-core/lib/arm/setjmp.S: Likewise.
680
11a77932
LL
6812013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
682
683 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
684 in grub_uboot_syscall
685
080603f0
VS
6862013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
687
688 Decrease stack usage in lexer.
689
690 We have only 92K of stack and using over 4K per frame is wasteful
691
692 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
693 as macros so that compiler would remove useless structure on stack.
694 Better solution would be to fix flex not to put this structure on
695 the stack but flex is external program.
696
4f84ae0e
VS
6972013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
698
699 Decrease stack usage in signature verification.
700
701 We have only 92K of stack and using over 4K per frame is wasteful
702
703 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
704 rather than stack.
705 (grub_verify_signature_real): Likewise.
706
e6a6182d
VS
7072013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
708
709 Decrease stack usage in mdraid 0.9x.
710
711 We have only 92K of stack and using over 4K per frame is wasteful
712
713 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
714 rather than stack.
715
1a454efe
VS
7162013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
717
718 Decrease stack usage in BtrFS.
719
720 We have only 92K of stack and using over 4K per frame is wasteful
721
722 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
723 rather than stack.
724
7b5d51d8
VS
7252013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
726
727 Decrease stack usage in JFS.
728
729 We have only 92K of stack and using over 4K per frame is wasteful
730
731 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
732 stack. Note: this function is recursive.
733 (grub_jfs_read_inode): Read only part we care about.
734
593865b9
LL
7352013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
736
737 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
738 handling
7b5d51d8 739
31c0cd43
AB
7402013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
741
742 * configure.ac: Restore -nostdlib for libgcc symbols tests.
743
c2fdb331
AB
7442013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
745
746 * docs/grub.texi (Environment): Document cmdpath.
747
9e18dfe2
AB
7482013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
749
750 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
751 Remove "unused" attribute from arguments, they are used.
752
59ba9d14
CW
7532013-11-15 Colin Watson <cjwatson@debian.org>
754
755 * .gitignore: Only ignore grub-mk* at the top level.
756
23012db9
CW
7572013-11-15 Colin Watson <cjwatson@ubuntu.com>
758
759 * util/grub-reboot.in (usage): Fix a typo.
760
6fcec439
VS
7612013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
762
763 Replace libgcc version of ctz with our own.
764
765 On upcoming arm64 port libgcc ctz* are not usable in standalone
766 environment. Since we need ctz* for this case and implementation is
767 in C we may as well use it on all concerned platforms.
768
a9f25a08
VS
7692013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * configure.ac: Probe for linking format rather than guessing it based
772 on target_os.
773
c7995256
VS
7742013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
777 "1" prior to handoff.
778
779 Reported by: M A Young.
780
e1aa5b66
VS
7812013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
784 \0 to all files.
785
786 Reported by: M A Young.
787
da5ed5cf
VS
7882013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
791 compilation on NetBSD.
792
5757a93e
VS
7932013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * acinclude.m4: Don't add -P on initial nm test.
796
797 Note: even though this patch postdates Andrey's it bears 14 Nov as
798 date due to timezone difference.
799
a5986276
AB
8002013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
801
802 * grub-core/Makefile.core.def (signature_test): Add missing
803 tests/signatures.h.
804
0de172a0
CW
8052013-11-14 Colin Watson <cjwatson@ubuntu.com>
806
807 * util/grub-install_header: Set localedir here, since this file is
808 where it's used.
809 * util/grub-install.in: Remove setting of localedir.
810 * util/grub-mkrescue.in: Likewise.
811
da45f43c
VS
8122013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
815
20aea949
VS
8162013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * configure.ac: Move nm checks to the end.
819 Call grub_PROG_NM_WORKS.
820 * acinclude.m4: New check grub_PROG_NM_WORKS.
821 Use $TARGET_CFLAGS -c when compiling test binary.
822
1326b9ae
CW
8232013-11-14 Colin Watson <cjwatson@ubuntu.com>
824
825 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
826 unused variables.
827
1fe26ab4
MG
8282013-11-14 Matthew Garrett <mjg@redhat.com>
829
830 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
831 cmdpath to firmware directory.
832
83e9c273
VS
8332013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
836 at the start of second iteration.
837
ec525c18
VS
8382013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
841
93fcc7ad
VS
8422013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * Makefile.am (default_payload.elf): New target for easier coreboot
845 build.
846
57ffe934
VS
8472013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
850 clang (not necessarry with -no-integrated-as).
851 * include/grub/symbol.h [__arm__]: Likewise.
852
2312f06c
VS
8532013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * configure.ac: Use -no-integrated-as on arm with clang.
856 * INSTALL: Mention ARM compilation with clang.
857
2416415c
VS
8582013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
861 -mthumb-interwork.
862
5da55172
CW
8632013-11-14 Colin Watson <cjwatson@ubuntu.com>
864
865 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
866 code for indirect block handling.
867
868 Saves 185 bytes on compressed image.
869
da770328
PFS
8702013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
871
872 Fix make clean.
873
874 * Makefile.am: Remove build-grub-* in make clean.
875
f02e6b56
PFS
8762013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
877
878 New files to gitignore.
879
880 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
881 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
882
035a26c1
LL
8832013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
884
885 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
886
bc8a6137
LL
8872013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
888
889 * .gitignore: fix rules for .dep* and add *.a post git migration
890
6fe506b0
CW
8912013-11-13 Colin Watson <cjwatson@ubuntu.com>
892
893 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
894 to match INSTALL.
895
81a2e438
CW
8962013-11-13 Colin Watson <cjwatson@ubuntu.com>
897
898 * grub-core/kern/misc.c: Don't redirect divisions in the
899 GRUB_UTIL case.
900 * include/grub/misc.h: Likewise.
901
9b45c073
CW
9022013-11-13 Colin Watson <cjwatson@ubuntu.com>
903
904 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
905 systems that require checking the return value of write.
906
11b2a9b7
CW
9072013-11-13 Colin Watson <cjwatson@ubuntu.com>
908
909 * util/grub-install.in (efi_quiet): Fix inverted logic: make
910 efibootmgr quiet when --debug is not used, rather than when it is.
911
d743d22d
CW
9122013-11-13 Colin Watson <cjwatson@ubuntu.com>
913
914 * gentpl.py (define_macro_for_platform_dependencies): Remove
915 first (and thus unused) of two definitions for this function.
916 (platform_dependencies): Likewise.
917
11da14b5
CW
9182013-11-13 Colin Watson <cjwatson@ubuntu.com>
919
920 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
921 functions, we only need to check this for the target, not the host.
922 * configure.ac (grub_apple_cc): Likewise.
923
2bdd0719
VS
9242013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
927 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
928 asm to stay in arm even if surrounding is thumb.
929
5e77d9cf
VS
9302013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
933 helper functions are needed for thumb.
934
7d511625
VS
9352013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
938 level / 3 division explicitly unsigned. Saves few bytes.
939
81023dbd
VS
9402013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
943
b2e9294f
VS
9442013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
947 division.
948
16a22c38
VS
9492013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
952 grub_uboot_boot_data to asm part.
953
c9cd02c9
VS
9542013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
957 literal load.
958 (grub_uboot_syscall): Save/restore r9 and align stack.
959
81498615
VS
9602013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
963
ea57de18
VS
9642013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
967 occurencies with END.
968
d0d1e3da
CW
9692013-11-13 Colin Watson <cjwatson@ubuntu.com>
970
971 * util/grub-editenv.c (help_filter, argp): Document how to delete
972 the whole environment block.
973 Reported by Dan Jacobson. Fixes Debian bug #726265.
974
3809f016
CW
9752013-11-13 Colin Watson <cjwatson@ubuntu.com>
976
977 * docs/grub.texi (Internationalisation, Supported kernels): Fix
978 sectioning.
979
46d8a203
JT
9802013-11-13 Josh Triplett <josh@joshtriplett.org>
981
982 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
983 increment/decrement.
984
513eeb61
VS
9852013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
988 compiling with clang.
989
bc379c1a
VS
9902013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
993 ".".
994
9952013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 996
16057d6b
VS
997 Redirect all divisions to grub_divmod64.
998
f649a6a8
VS
9992013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
1002
ef28ee8b
VS
10032013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 Add missing includes of loader.h.
1006
300f48c5
VS
10072013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * configure.ac: Allow disabling themes.
1010
2d357558
LS
10112013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
1012
1013 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
1014
0c62a5b2
VS
10152013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
1018 until it becomes operational.
1019
b0720b49
VS
10202013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * grub-core/Makefile.core.def (legacy_password_test): Disable
1023 on platforms where no legacycfg is compiled.
1024 * grub-core/tests/lib/functional_test.c: Tolerate failure to
1025 load legacy_password_test.
1026
d5bab2c0
VS
10272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1030
3ea0ccb3
VS
10312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1034
08772054
VS
10352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1038 strict-aliasing warning.
1039 (fsync): Silence cast warning.
1040
1dcb2715
VS
10412013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * grub-core/commands/verify.c: Remove variable length arrays.
1044 Load gcry_dsa/gcry_rsa automatically.
1045
61c22fdf
VS
10462013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * grub-core/tests/signature_test.c: New test.
1049
431e57a7
VS
10502013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1053 API.
1054
b521bb81
VS
10552013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1058 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1059
7d06b24e
VS
10602013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1063
3bbeade4
VS
10642013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * grub-core/fs/proc.c: Allow \0 in proc files.
1067
ba82db7a
VS
10682013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1071
801564c8
VS
10722013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1075
ac8cac1d
VS
10762013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * grub-core/fs/ext2.c: Remove variable length arrays.
1079
4b85f122
VS
10802013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1083 length arrays.
1084
c35fcdc0
VS
10852013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1088 * grub-core/disk/cryptodisk.c: Likewise.
1089 * grub-core/disk/geli.c: Likewise.
1090 * grub-core/disk/luks.c: Likewise.
1091
15decd26
VS
10922013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/tests/legacy_password_test.c: New test.
1095 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1096
9c6482b8
VS
10972013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1100
41f26e0e
VS
11012013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/tests/pbkdf2_test.c: New test.
1104
2def6616
VS
11052013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1108
9e34a34e
VS
11092013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/io/lzopio.c: Remove variable length arrays.
1112
5ccaf904
VS
11132013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * include/grub/crypto.h: Add maximums on hash size and cipher block
1116 size.
1117
44a387e0
VS
11182013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1121
a388e255
VS
11222013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * grub-core/tests/xnu_uuid_test.c: New test.
1125
a1ef7718
VS
11262013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1129 covers it).
1130
65ddb300
VS
11312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * grub-core/commands/hashsum.c: Remove variable length arrays.
1134
31747dd5
VS
11352013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1138 condition.
1139 * tests/grub_func_test.in: Increase memory allocation.
1140
6a74c4df
VS
11412013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1144 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1145 sys/mount.h.
1146
394c3e0a
VS
11472013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1150 (grub_util_get_fd_size_os): ...this.
1151 (grub_hostdisk_flush_initial_buffer): New empty function.
1152
60d31116
VS
11532013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1156 without --defined-only.
1157
8445b011
VS
11582013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
1161 rip-relative addressing in prologue.
1162
8506a641
VS
11632013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
1166 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
1167
66acd9d6
VS
11682013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1171 Add missing semicolon.
1172
348d0535
VS
11732013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1176
0d2d30bb
VS
11772013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * configure.ac: Check for lzma.h for enabling liblzma and allow
1180 manual disabling.
1181
631187be
VS
11822013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 Add missing includes of loader.h.
1185
e756ec82
FZ
11862013-11-11 Fam Zheng <famcool@gmail.com>
1187
1188 * util/grub.d/30_os-prober.in: Add minix entry.
1189
87d62d7d
VS
11902013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
1193 right buffer for temporary load.
1194
5460cfeb
VS
11952013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
1198
89977306
VS
11992013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1202 payload.
1203
3617c59b
VS
12042013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1207 not Types.h.
1208 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1209 environment.
1210 (LzmaDec_InitDicAndState): Make static.
1211
881c6a10
VS
12122013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1215
2024ade2
VS
12162013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1219
1220 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1221
674ad4f6
VS
12222013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * docs/grub-dev.texi: Replace bzr references with git ones.
1225
5b99970e
AB
12262013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1227
1228 * docs/grub.texi (Simple configuration): Remove reference to
1229 grub-reboot from saved default entry description - grub-default
1230 does not use it anymore.
1231
3c2304d5
VS
12322013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1235 compiled with.
1236
80cfd940
AB
12372013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1238
1239 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1240
33690255
VS
12412013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 Fix grub_machine_fini bitrot.
1244
1245 Reported by: Glenn Washburn.
1246
c61471fc
VS
12472013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1250
54da019f
VS
12512013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1254 -DELF.
1255 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1256 instead of ELF*.
1257
12582013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
1259
1260 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1261 Add -march=core2 when testing compile of efiemu64.
1262
1263 Thanks Andrey Borzenkov for spotting this.
1264
9612ebc0
VS
12652013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1268 XEN PV environment and load kernels.
1269
1a46a3a4
VS
12702013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1273 * grub-core/loader/multiboot_mbi2.c: Likewise.
1274
2df12551
VS
12752013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1278 handling.
1279
3c980381
VS
12802013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1283
1284 Tested by: Denis 'GNUtoo' Carikli.
1285
800f63d3
VS
12862013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1289
9f8acdaa
VS
12902013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1291
5620eb53
VS
1292 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1293 Use to get rounded angle rather than truncated.
1294
12952013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
1298 RTS/CTS flow control.
1299
2dc1eb6c
VS
13002013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1303 divisions.
1304
b9563c94
VS
13052013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1308 Use grub_fatal rather than divide by zero.
1309 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1310
d6d8e9a9
VS
13112013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1314 truncate.
1315 (grub_fixed_fsf_divide): Likewise.
1316
d06de6c8
VS
13172013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1320 division by-zero and senseless negative divisions.
1321
6af7d49b
VS
13222013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1325 division by-zero and senseless negative divisions.
1326 (circprog_set_property): Don't accept negative num_ticks.
1327
bcfa6d72
VS
13282013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1331 division by-zero and senseless negative divisions.
1332
dd7f792c
VS
13332013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * configure.ac: Use elf_*_fbsd on kfreebsd.
1336
d061fda7
VS
13372013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/tests/div_test.c: New test.
1340
4db22500
VT
13412013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1342
1343 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1344 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1345 * grub-core/gfxmenu/view.c: Likewise.
1346 * grub-core/video/fb/video_fb.c: Introduce new functions:
1347 grub_video_set_area_status, grub_video_get_area_status,
1348 grub_video_set_region, grub_video_get_region.
1349 * grub-core/video/bochs.c: Likewise.
1350 * grub-core/video/capture.c: Likewise.
1351 * grub-core/video/video.c: Likewise.
1352 * grub-core/video/cirrus.c: Likewise.
1353 * grub-core/video/efi_gop.c: Likewise.
1354 * grub-core/video/efi_uga.c: Likewise.
1355 * grub-core/video/emu/sdl.c: Likewise.
1356 * grub-core/video/radeon_fuloong2e.c: Likewise.
1357 * grub-core/video/sis315pro.c: Likewise.
1358 * grub-core/video/sm712.c: Likewise.
1359 * grub-core/video/i386/pc/vbe.c: Likewise.
1360 * grub-core/video/i386/pc/vga.c: Likewise.
1361 * grub-core/video/ieee1275.c: Likewise.
1362 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1363 * include/grub/video.h: Likewise.
1364 * include/grub/video_fb.h: Likewise.
1365 * include/grub/fbfill.h: Updated render_target structure.
1366 grub_video_rect_t viewport, region, area
1367 int area_offset_x, area_offset_y, area_enabled
1368 * include/grub/gui.h: New helper function
1369 grub_video_bounds_inside_region.
1370 * docs/grub-dev.texi: Added information about new functions.
1371
c6b755df
VS
13722013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1375 for alignment.
1376
e2a68100
VS
13772013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1380 missing attribute.
1381 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1382
c4f11a2a
VS
13832013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1386 simple division on arm and ia64.
1387
e0a7bffa
VS
13882013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1391 link with libgcc.
1392
38b864ea
VS
13932013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1396
12359faf
VS
13972013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1400 prefix symbol, not @.
1401
9fdc64a9
VS
14022013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * INSTALL: Add note about older gcc and clang.
1405
665c575b
VS
14062013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1409
47dcf7b1
VS
14102013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1413 NULL pointer dereference.
1414
d59849b2
VS
14152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1418 clang.
1419
7a3f4a18
VS
14202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1423 warnings.
1424
7f084087
VS
14252013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1428 function.
1429 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1430 * grub-core/disk/geli.c (ascii2hex): Likewise.
1431
d5524ca8
VS
14322013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * configure.ac: Run linker tests without -Werror.
1435 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1436 Change all occurences of -static-libgcc resp -lgcc to
1437 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1438
390cd7ca
VS
14392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1442
60375a88
VS
14432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 Allow compiling with clang (not really supported though).
1446
1447 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1448 unconditionally.
1449 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1450 Add -mrtd -mregparm=3 on i386 when not using clang.
1451 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1452
dd07e0c4
VS
14532013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1456 bindings.
1457 * grub-core/lib/reed_solomon.c: Likewise.
1458 * include/grub/i386/gdb.h: Likewise.
1459 * include/grub/i386/pc/int.h: Likewise.
1460 * include/grub/i386/pc/pxe.h: Likewise.
1461 * include/grub/ieee1275/ieee1275.h: Likewise.
1462
9d3ae8ec
VS
14632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 Import libgcrypt 1.5.3.
1466
c12936c5
VS
14672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * configure.ac: Don't add -Wcast-align on x86.
1470
cdc17f60
VS
14712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * configure.ac: Add -freg-struct-return on all platforms that
1474 support it.
1475
b35ec299
VS
14762013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * acinclude.m4: Use -Werror on parameter tests.
1479 * configure.ac: Likewise.
1480
05f3a0d7
VS
14812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1484
c966a489
VS
14852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * configure.ac: Check that -malign-loops works rather than assuming that
1488 either -falign-loops or -malign-loops work.
1489
bb0c57ec
VS
14902013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1493
24f4e57c
VS
14942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * configure.ac: Prevent cflags leaking to subsequent tests by always
1497 resetting cflags to target_cflags in target tests.
1498
ac319fbc
VS
14992013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1502 function.
1503
4bfe934c
VS
15042013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1507
40a5bfde
VS
15082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1511
a67c755e
VS
15122013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/normal/cmdline.c (grub_cmdline_get):
1515 Remove nested functions.
1516
87a04a2d
VS
15172013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * tests/test_sha512sum.in: Make it work on emu.
1520
c03995d2
VS
15212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1524 functions.
1525 (grub_bidi_line_logical_to_visual): Likewise.
1526
ec0ebb3f
VS
15272013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 Remove vestiges of -Wunsafe-loop-optimisations.
1530
1531 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1532 -Wno-unsafe-loop-optimisations.
1533 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1534 pragma.
1535 * grub-core/io/gzio.c: Likewise.
1536 * grub-core/script/parser.y: Likewise.
1537 * grub-core/script/yylex.l: Likewise.
1538 * util/grub-mkfont.c: Likewise.
1539
6ab537e3
VS
15402013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 * util/grub-mkfont.c (process_cursive): Remove nested function.
1543
e6c368d4
VS
15442013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1547 (grub_boot_time): Likewise.
1548
4f1cfd22
VS
15492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * include/grub/symbol.h (FUNCTION): Use @function rather than
1552 "function".
1553 (VARIABLE): Likewise.
1554
6d5a4cee
VS
15552013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1558
f06c2172
VS
15592013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1562 (parse_dhcp_vendor): Likewise.
1563
7cb24eb5
VS
15642013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1567
f30c692c
VS
15682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1571 Define after defining type and not before.
1572
8b66bb5d
VS
15732013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1576 type.
1577 (grub_gcm_decrypt): Likewise.
1578 (algo_decrypt): Likewise.
1579 (grub_zfs_decrypt_real): Transform error type.
1580
5d17fd0f
VS
15812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1584
ac35a0f7
VS
15852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1588 (grub_usbms_cbi_reset): Likewise.
1589 (grub_usbms_bo_reset): Likewise.
1590 (grub_usbms_reset): Likewise.
1591 (grub_usbms_attach): Likewise.
1592 (grub_usbms_transfer_cbi): Likewise.
1593
3ee08697
VS
15942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1597 "checksum = checksum;".
1598
70bb6c85
VS
15992013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1602 entry_type.
1603
c7f34744
VS
16042013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1605
1606 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1607 BIOS disk check.
1608
3f63b4d8
VS
16092013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1612 type.
1613 (grub_ehci_fini_hw): Likewise.
1614 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1615
dac6ce73
VS
16162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1619 return grub_usb_err_t for cosistency. All users updated.
1620
5701750c
VS
16212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1624 assigning to itself.
1625
9e236169
GLD
16262013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
16272013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1628
1629 Issue separate DNS queries for ipv4 and ipv6
1630
1631 Adding multiple questions on a single DNS query is not supportted by
1632 most DNS servers. This patch issues two separate DNS queries
1633 sequentially for ipv4 and then for ipv6.
1634
1635 Fixes: https://savannah.gnu.org/bugs/?39710
1636
1637 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1638 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1639 * (grub_net_dns_lookup): Now using separated dns packages.
1640 * (grub_cmd_nslookup): Add error condition.
1641 * (grub_cmd_list_dns): Print DNS option.
1642 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1643 --prefer-ipv4, and --prefer-ipv6.
1644 * include/grub/net.h (grub_dns_option_t): New enum.
1645 * (grub_net_network_level_address): option added.
1646
339eacce
VT
16472013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1648
1649 * grub-core/video/fb/video_fb.c: Merge two blit functions
1650 into one.
1651
810f991b
VS
16522013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/term/terminfo.c: Add sequences for home and end.
1655
386571a2
VS
16562013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1659 graphics console.
1660
3fe63754
VS
16612013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1664 add mode 0x12.
1665
76681e71
VS
16662013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1669 e-mail by Per Öberg.
1670
46522fb7
VS
16712013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1674 name.
1675
e7d09ac4
AB
16762013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1677
1678 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1679 emu platforms.
1680 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1681
67508925
VS
16822013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * docs/grub.texi: Document usage of menuentry id.
1685
0c62124e
VS
16862013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1689
9b5d4eed
PL
16902013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1691
1692 * grub-core/commands/i386/nthibr.c: New command.
1693
79054c1d
VS
16942013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1697
44d47bbe
VS
16982013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1701 coordinate.
1702
323de05b
VS
17032013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 Support GRUB_DISABLE_SUBMENU config.
1706
1707 Inspired by patch from Prarit Bhargava.
1708
5a01722e
VS
17092013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * docs/grub.texi: Mention RSA support.
1712
1106c3f0
VS
17132013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/commands/verify.c: Add RSA support.
1716
a1dcc2cb
VS
17172013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1720 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1721 device is known to be ATAPI.
1722
ee7fb780
MF
17232013-11-03 Mike Frysinger <vapier>
1724
1725 * configure.ac: Don't add target-prefix.
1726
5ade4a42
VS
17272013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1730 variables.
1731
6cd66043
VS
17322013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1735 if language is English.
1736
090d7c81
VS
17372013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1740
dd614590
VS
17412013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * configure.ac: Don't add -m32/-m64 on emu.
1744
a8686589 17452013-11-02 neil
1746
1747 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1748 broken linux headers.
1749
fb9f12a0
VS
17502013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1753
e25f8e1f
VS
17542013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1757 Reed-Solomon recovery if more than half of redundancy info is 0.
1758
4685200f
VS
17592013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * util/grub-mount.c: Handle symlinks to directories.
1762
1397f0b5
VS
17632013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1766 find_file recursively for symlink.
1767
8b3e6eb6
VS
17682013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * tests/util/grub-shell.in: Copy themes.
1771
a0c9d5c6
VS
17722013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1775
5cf9459c
VS
17762013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * configure.ac: Use 0x8000 for address instead of 8000.
1779
e7b66a28
VS
17802013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1783 signature.
1784
203f53fb
VS
17852013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1788 variable.
1789
02663ee9
VS
17902013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1793
f169f65e
VS
17942013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1797 file_progress_read_hook.
1798 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1799
2855a0fc
VS
18002013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1803 and double.
1804
bf0f3a8c
VS
18052013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1808
cb72aa18
VS
18092013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 Rewrite blocklist functions in order to get progress when
1812 reading large extents and decrease amount of blocklist hook calls.
1813
896f9135
VS
18142013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1817 of SI suffixes.
1818
89295a06
VS
18192013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 Support --base-clock for serial command to handle weird cards with
1822 non-standard base clock.
1823
eb03ede0
VS
18242013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1827 strncpy.
1828 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1829 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1830 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1831 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1832 + strcpy rather than strncpy.
1833
8fbe5c7d
VS
18342013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1837 (check_pool_label): Likewise. Fixes overflow.
1838 (nvlist_find_value): Fix comparison.
1839
e54b8f53
VS
18402013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1843 more appropriate functions.
1844
fa9b3dca
VS
18452013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1848 realloc.
1849
9a021c55
VS
18502013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1853
80e8b13a
VS
18542013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1857 on core size.
1858
b61599ac
VS
18592013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1862
a602dc54
VS
18632013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1866 (initialize_tables): reset tl and td to NULL after freeing.
1867
93c12075
VS
18682013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1871
1ca4b75e
VS
18722013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1875 of supported tags.
1876
329550c4
VS
18772013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1880
00bfa988
VS
18812013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1884 quirks.
1885
81afc5cc
VS
18862013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1889 a page in protected space.
1890
cb3c4a47
VS
18912013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1894 allocate space for zero-sized modules.
1895
954f7bf5
VS
18962013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1899
526d3d25
FL
19002013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1901
1902 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1903
74124c34
VS
19042013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1907 safeguards. Fixes a crash with i386/pc/console.c.
1908
5177391e
VS
19092013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1912 and grub_hostfs_init.
1913
64db14b0
VS
19142013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1917 windows method on other platforms without good stat as well.
1918
effe2036
VS
19192013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1922
82591fa6 19232013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1924
82591fa6
VS
1925 Make / in btrfs refer to real root, not the default volume.
1926 Modify mkrelpath to work even if device is mounted with subvolid option.
1927
19282013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1929
1930 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1931 extra_dist.
1932 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1933 extra_dist.
1934
30fd7198
VS
19352013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1938 fails.
1939
8d179dae
BC
19402013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1941
1942 * docs/autoiso.cfg: New file.
1943
3bc9c8cf
VS
19442013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1947 COND_GRUB_PE2ELF conditions.
1948
8b46b0ea
VS
19492013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1952 "vnd", "rd" and "fd" disks.
1953
442b86de
VS
19542013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 Move grub_disk_write out of kernel into disk.mod.
1957
04dea7e6
VS
19582013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1961 handling.
1962
19632013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1964
1965 * grub-core/kern/misc.c (grub_abort): Make static
1966
04dea7e6 19672013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1968
1969 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1970 transform invalid unicode codepoints.
1971
04dea7e6 19722013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1973
1974 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1975 \0 checking.
1976
03dcac7f
VS
19772013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1980
c81acb7f
VS
19812013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 Consolidate cpuid code.
1984
c1bee646
VS
19852013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Move cpuid code to cpuid.h and TSC code to tsc.c.
1988
f37bf9c7
GS
19892013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1990
1991 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1992
4021132b
GS
19932013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1994
1995 * util/grub-mkconfig.in: Replace $0 with $self.
1996 * util/grub-reboot.in: Likewise.
1997 * util/grub-set-default.in: Likewise.
1998
3ace8d75
BC
19992013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2000
2001 * docs/osdetect.cfg: New file.
2002
1e6ad6a6
BC
20032013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2004
2005 * tests/util/grub-shell.in: Add new --debug option.
2006
188929eb
BC
20072013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2008
2009 * tests/test_unset.in: New test.
2010
7994a09a
BC
20112013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2012
2013 * tests/test_sha512sum.in: New test.
2014
2a8a7585
VS
20152013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
2018 * include/grub/misc.h: Remove strncat.
2019 * grub-core/lib/posix_wrap/string.h: Likewise.
2020
cf8d6bbd
VS
20212013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
2024 Try to handle more than 0xFFFF packets.
2025 Reported by: Bernhard Übelacker <bernhardu>.
2026 He also spotted few overflows in first version of this patch.
2027
6d1fc99a
VS
20282013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * tests/date_unit_test.c: New test.
2031
10bafa1c
VS
20322013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2035 of first three years after start of validity of unixtime.
2036
b1c6d037
VS
20372013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2040 division as the one making more sense.
2041 (update_screen): Likewise.
2042 (complete): Likewise.
2043
5f4028d4
VS
20442013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2047
a2856736
VS
20482013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 Make char and string width grub_size_t rather than grub_ssize_t.
2051
0a7e52b2
VS
20522013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2055 unsigned.
2056 (grub_history_replace): Likewise.
2057
42829573
VS
20582013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2061 appropriate.
2062
3523b8d8
VS
20632013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2066 appropriate.
2067
d43c6489
VS
20682013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2071 Use unsigned divisions rather than signed variants.
2072
f690f8b0
VS
20732013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2076 unsigned arithmetics.
2077 Add missing break.
2078
74ff2c05
VS
20792013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2082
fb56391e
VS
20832013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2086 rather than signed one.
2087 (recovery): Likewise.
2088
40f29060
VS
20892013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2092
c64577a5
VS
20932013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2096 than signed.
2097
c16535a8
JM
20982013-10-25 Jon McCune <jonmccune@google.com>
2099
2100 * docs/grub.texi: Cleanup security documentation around signatures.
2101
6673d8e7
VS
21022013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2105
a105d375
VS
21062013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2109 than int.
2110
af81ed88
VS
21112013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2114 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2115 functions when compiling for kernel.
2116
ea899a57
VS
21172013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2120 unsigned long long when using %llu.
2121
c6dc6fa1
VS
21222013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2125 terminal after updating progress.
2126
ad2dc003
VS
21272013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2130 argument. We don't disable Gate A20 in this code.
2131
b46684ae
VS
21322013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2135 Conceptually based on change in branch "vbe-on-coreboot".
2136
f70d5c07
RM
21372013-10-24 Robert Millan <rmh@gnu.org>
2138
2139 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2140 numeric constants with their symbolic equivalent.
2141 Taken from branch "vbe-on-coreboot".
2142
bca274b4
VS
21432013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2146
238f0489
VS
21472013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2150 divmod64 for offset division.
2151
863c590b
PFS
21522013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2153
2154 Rename .bzrignore to .gitignore. Add "*.o" rule.
2155
2156 * .bzrignore: Renamed to...
2157 * .gitignore: ...this.
2158
84a0e969
PFS
21592013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2160
2161 Add new progress module that displays the load progress of files.
2162
2163 * grub-core/lib/progress.c: New file.
2164 * grub-core/Makefile.core.def (progress): New module.
2165 * grub-core/kern/file.c (grub_file_open): File name added.
2166 * (grub_file_read): Progress hook added.
2167 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
2168 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
2169 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2170 * include/grub/file.h (struct grub_file): Add progress module members.
2171 * include/grub/term.h (struct grub_term_output): Likewise.
2172 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2173 Terminal velocity added.
2174 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2175 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2176 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2177 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2178 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2179 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2180 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2181 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2182 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2183 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2184 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2185 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2186
0d711431
VS
21872013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 Verify signatures of signatures unless --skip-sig is specified.
2190
f8401f76
VS
21912013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2194 \0 checking.
2195
2196 Saves 70 bytes on compressed image.
2197
ac1feb61
VS
21982013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2201 check.
2202
2203 Saves 10 bytes on compressed image.
2204
00f72e89
VS
22052013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * grub-core/kern/misc.c (grub_isprint): Move to ...
2208 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2209
2210 Saves 20 bytes on compressed image due to remving exporting.
2211
067e6ae7
VS
22122013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2215
2216 Saves 5 bytes on compressed image.
2217
64a6c791
VS
22182013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2221 function get_utf8.
2222
2223 Saves 379 bytes on compressed image.
2224
979d9f52
VS
22252013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2228
1437da54
VS
22292013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2230
2231 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2232
2233 Saves 40 bytes on compressed image.
2234
d9ee2269
VS
22352013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2238 mask rather than 64-bit type.
2239
2240 Saves 20 bytes on compressed image.
2241
63efa602
VS
22422013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2245 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2246
47601ffe
VS
2247 Saves 273 bytes on compressed image.
2248
2cc679ad
VS
22492013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2252 variable length arrays.
2253
2254 Saves 50 bytes on compressed image.
2255
2e4659b8
VS
22562013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2259
2a40badf
VS
22602013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/fs/ufs.c: Remove variable length arrays.
2263
1ba6b9b9
VS
22642013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2267
f3e39341
VS
22682013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/fs/zfs.c: Remove variable length arrays.
2271 Reduces zfs.mod by 160 bytes (208 compressed).
2272
71523935
VS
22732013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2276
28153eb8
VS
22772013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * grub-core/net/arp.c: Remove variable length arrays.
2280 * grub-core/net/bootp.c: Likewise.
2281 * grub-core/net/dns.c: Likewise.
2282 * grub-core/net/icmp6.c: Likewise.
2283 * grub-core/net/net.c: Likewise.
2284
88ce4cd7
VS
22852013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/fs/ntfs.c: Remove variable length arrays.
2288 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2289 compressed).
2290
66123940
VS
22912013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/fs/hfs.c: Remove variable length arrays.
2294 Reduces hfs.mod by 8 bytes (52 compressed).
2295
0927e5bd
VS
22962013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 2299 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
2300 compressed).
2301
9c12ac97
VS
23022013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 2305 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
2306 compressed).
2307
97ec2d71
VS
23082013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 2311 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
2312 compressed).
2313
156e4ea0
VS
23142013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * grub-core/fs/xfs.c: Remove variable length arrays.
2317 Reduces xfs.mod by 40 bytes (43 compressed).
2318
3b502c29
VS
23192013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/fs/fshelp.c: Remove variable length arrays.
2322 Reduces fshelp.mod by 116 bytes (23 compressed).
2323
c7037f1d
VS
23242013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 * grub-core/normal/completion.c: Remove variable length arrays.
2327 * grub-core/normal/menu_entry.c: Likewise.
2328
2329 Reduces normal.mod by 496 bytes.
2330
a07e6ad0
VS
23312013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2334 by 356 bytes (158 compressed).
2335
2359bf88
VS
23362013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2339 by 364 bytes (169 compressed).
2340
d28e1163
VS
23412013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2344 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2345 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2346
e89c2d48
VS
23472013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2350 bitmasks to small structures of size chosen to fit in registers.
2351
7abdac8e
VS
23522013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * conf/Makefile.common: Use -freg-struct-return on i386. This
2355 decreases code size and improves performance.
2356
518864c0
VS
23572013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2360
bbd2b539
VS
23612013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2364 "(null)" string.
2365 Simplify expressions to save around 256 bytes in kernel.img.
2366 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2367
99519c15
VS
23682013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2371 Use GRUB_UTIL_FD_O_* rather than O_*.
2372
20285765
VS
23732013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 Add haiku-specific functions.
2376
887c0bb6
VS
23772013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2380
cd78a56f
VS
23812013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 Move stat () and device mode checking into OS-dependent files as
2384 long as performance doesn't suffer.
2385
a4012f07
VS
23862013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 Split make_system_path_relative_to_its_root into separate file
2389 relpath.c from getroot.c as it's common between unix and haiku
2390 but otherwise haiku doesn't use any functions from unix getroot.c.
2391
31de274d
VS
23922013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2395 New function.
2396 (grub_util_is_special_file): Likewise.
2397
40346de6
VS
23982013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2401 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2402
d3923ab9
VS
24032013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2406 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2407
663f6eb1
VS
24082013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2411 (load_image): Likewise.
2412
44d1c20a
VS
24132013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * util/grub-render-label.c: Move backend part to ...
2416 * util/render-label.c: ... here.
2417
d0a116ee
VS
24182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2421 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2422
b47fcae6
VS
24232013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2426
0f7c00c1
VS
24272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2430 CD-ROM in case when it's declared as having subpartitions.
2431
29013cba
VS
24322013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 Don't add -lm on haiku.
2435
2436 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2437 and empty on haiku.
2438 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2439 -lm.
2440
e8559d24
VS
24412013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * configure.ac: Use -melf_*_haiku as target on haiku.
2444
8104063c
VS
24452013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * Makefile.util.def: Add util/setup.c to extra_dist.
2448
fc3182c7
VS
24492013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2452 unknown types through.
2453
f90a3cc0
VS
24542013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2457 (grub_util_check_char_device): Likewise.
2458 * include/grub/emu/getroot.h: Likewise.
2459
1e3e7419
VS
24602013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2463 memset rather than inline static function.
2464
92c88fc8
VS
24652013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2468 not doing embedded decompressor.
2469
3cd910a2
VS
24702013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2473 shadowing.
2474 * grub-core/kern/disk.c: Likewise.
2475 * grub-core/kern/misc.c: Likewise.
2476 * include/grub/parser.h: Likewise.
2477 * include/grub/script_sh.h: Likewise.
2478 * include/grub/zfs/zfs.h: Likewise.
2479
7b3aca00
VS
24802013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2483
97dfe7e4
VS
24842013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2487 defined before trying to use it.
2488
bf919aa9
VS
24892013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2492 warning.
2493
f4ccf29d
VS
24942013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2497 Use __unused__ rather than __used__ on gcc < 3.2.
2498
0d3a6f85
VS
24992013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2502 gcc < 4.0.
2503 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2504
757e3eb7
VS
25052013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2508
fb320faf
VS
25092013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2512 * include/grub/emu/misc.h: Likewise.
2513
ea73acd2
VS
25142013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2517 cur_color.
2518
71237a6f
VT
25192013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2520
2521 * grub-core/tests/checksums.h: Regenerated due to progress bar
2522 get_minimal_size changes.
2523
3d46c22f
BC
25242013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2525
2526 Added `tr' command support.
2527
2528 * grub-core/commands/tr.c: New file.
2529 * grub-core/Makefile.core.def: Build rules for new module.
2530
2531 * tests/grub_cmd_tr.in: New test.
2532 * Makefile.util.def: Build rules for new test.
2533
47e0a61f
VT
25342013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2535
2536 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2537
946fd073
VT
25382013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2539
2540 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2541 * docs/gurb.texi: Likewise.
2542
9c13c576
VT
25432013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2544
2545 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2546 Pixmap highlighted section with east and west slices was displayed
2547 incorrectly due to negative width of the central slice.
2548
ad543f12
VT
25492013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2550
2551 * docs/grub.texi: Graphical options information update.
2552 Removed outdated. Updated current. Inserted missed.
2553
6176a0cd
VS
25542013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * docs/grub.texi: Mention few new platform-specific commands.
2557
9688cae2
VS
25582013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2561 currently used so this doesn't really have any effect.
2562 Reported by: Douglas Ray <dougray>
2563
f7b69a3f
VS
25642013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2567 compilation but prevents gcc from displaying messages in non-Latin
2568 alphabets.
2569 * conf/Makefile.common: Likewise.
2570
ceca6ddf
HY
25712013-10-16 Hiroyuki YAMAMORI
2572
2573 Handle Japanese special keys.
2574 Reported by: Hiroyuki YAMAMORI.
2575 Codes supplied by: Hiroyuki YAMAMORI.
2576
ac48d334
VT
25772013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2578
2579 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2580
b2b71bff
VT
25812013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2582
2583 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2584 * docs/grub.texi: Likewise.
2585
669fc449
VS
25862013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2589 value in case of incomplete read.
2590 (grub_util_fd_write): Likewise.
2591
59381678
VS
25922013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2595
bacfefbb
VS
25962013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * util/grub-editenv.c (create_envblk_file): More from here ...
2599 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2600
f7c49570
VS
26012013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2604 canonicalize file name before doing the rest.
2605
7b83ca44
VS
26062013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2609 mingw32.
2610
df1e64c9
VS
26112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 Define grub_util_is_directory/regular/special_file and
2614 use OS-dependent versions rather than to rely on stat().
2615
ec16e026
VS
26162013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * util/grub-mkimage.c: Move backend part to ...
2619 * util/mkimage.c: ... here.
2620
4b4eeb3c
VS
26212013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 Allow compilation with mingw64 albeit with warnings due to lack of
2624 %llx/%llu.
2625
2626 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2627 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2628 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2629 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2630 on mingw64.
2631 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2632
f4e0adc0
VS
26332013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 Remove leftover references to some of the system headers.
2636
e0127364
VS
26372013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2640 read.
2641
20d53541
VS
26422013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2645 of strerror.
2646
5a869940
VS
26472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 Split out blocklist retrieving from setup.c to
2650 grub-core/osdep/blocklist.c and add windows implementation since
2651 generic version doesn't work on NTFS on Windows due to aggressive
2652 unflushable cache.
2653
c06c7520
VS
26542013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2657 files.
2658
8f53bb3f
VS
26592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2662 Cut tailing newline. Remove arbitrary limitation. Always use
2663 grub_util_tchar_to_utf8.
2664
148f1007
VS
26652013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2668 * tests/printf_unit_test.c (printf_test): Add %% tests.
2669 Reported by: Paulo Flabiano Smorigo.
2670
af3b06be
VS
26712013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2674 implement fsync.
2675
27f9d02e
VS
26762013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2679 use nvlist_lookup_string and don't use nvlist_print.
2680
f6a81f0a
VS
26812013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2684 closedir to handle filename charset translation.
2685
d7750b32
VS
26862013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * include/grub/emu/hostdisk.h: Move file operations to
2689 * include/grub/emu/hostfile.h: ... here.
2690
2859196e
VS
26912013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2694 unicode path.
2695
c018c968
VS
26962013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2699
7e45abce
VS
27002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2703 and remove export.h.
2704
23934da2
VS
27052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/kern/emu/error.c: Removed.
2708 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2709 explicitly as it's already in libgnu.a.
2710
c11ebcc8
VS
27112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2714 config-util.h include.
2715
70671037
VS
27162013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 Split emunet into platform-dependent and GRUB-binding parts. Keep
2719 platform-dependent part in kernel for easy access to OS functions.
2720
25ac643a
VS
27212013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2724 open/read/write.
2725
69ca5876
VS
27262013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 * grub-core/osdep/windows/emuconsole.c: New file.
2729
d9d68ef0
AB
27302013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2731
2732 * conf/Makefile.extra-dist: Add osdep/*/init.c
2733
58e211cc
VS
27342013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2737
588744d0
VS
27382013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * util/grub-probe.c (probe): Separate different drives in hint-str
2741 by spaces and not newlines.
2742 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2743
44016e52
AB
27442013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2745
2746 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2747 Handle CD-ROMs.
2748
6de9ee86
VS
27492013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 Pass-through unknown E820 types. It required reorganisation of mmap
2752 module.
2753
f8f3f155
AB
27542013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2755
2756 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2757
b73249d2
VS
27582013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2761 fseeko.
2762
dac86b18 27632013-10-14 qwertial <qwertial>
2764
2765 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2766
17614b84
JM
27672013-10-14 Jon McCune <jonmccune@google.com>
2768
2769 * docs/grub.texi: Document new signatures possibility.
2770
6de292cb
VS
27712013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2774
84379b61
VS
27752013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2778 missing prototype.
2779 (grub_util_tchar_to_utf8): Likewise.
2780
21d85db1
VS
27812013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2784 * grub-core/kern/emu/main.c: Add missing include.
2785 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2786 Don't call grub_util_init_nls.
2787 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2788 Likewise.
2789
66a1b3ee
VS
27902013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2793 stat.
2794
e19bec17
VS
27952013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2798
ee8c1b29
VS
27992013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2802
bb338aaf
VS
28032013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 Add a wrapper for fopen. On unix-like systems just pass-through. On
2806 windows use unicode version.
2807
ae5540d3
VS
28082013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 Move set_program_name and init_nls to host_init. On windows
2811 fix in this fuction console and argument charset as well.
2812
4cd3c4fe
AB
28132013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2814
2815 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2816 GRUB_ENABLE_CRYPTODISK.
2817
2818 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2819 GRUB_ENABLE_CRYPTODISK.
2820 * util/grub-mkconfig_lib.in: Likewise.
2821
78170f3e
CCZ
28222013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2823
2824 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2825
3414b6c0
MC
28262013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2827
2828 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2829 error when enabling debug.
2830
6d0740e8
IB
28312013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2832
2833 * configure.ac: Use -melf_*_obsd on openbsd.
2834
ff2d4dc4
VS
28352013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2838
eac6ae82
VS
28392013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * include/grub/misc.h: Use gnu_printf rather than printf as format
2842 template since our functions are independent of libc.
2843
ba9baabe
VS
28442013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * util/grub-setup.c (setup): Move copying of partition table as
2847 futher up as possible to avoid possible overwrite by floppy routines.
2848
28492013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2850
2851 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2852
145e2369
VT
28532013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2854
2855 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2856 * docs/grub.texi: Likewise.
2857
3530bc9d
VS
28582013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2861 it's mostly unused. Move vestiges to the callers.
2862
fb9f59c3
VS
28632013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2866 version of salt and hash. Use grub_snprintf rather than snprintf.
2867
9be1c255
VS
28682013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * docs/grub.texi: Fix problem with braces.
2871
ed8c0887
VS
28722013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * conf/Makefile.extra-dist: Fix extra-dist list.
2875 * grub-core/Makefile.core.def: Likewise.
2876
f72ab14e
VS
28772013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * docs/grub.texi: Document disk names used on Windows and AROS.
2880
2fe53a22
VS
28812013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2884 with AROS devs.
2885 * grub-core/osdep/aros/hostdisk.c: Likewise.
2886
71c1d67a
VS
28872013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 Avoid including hostfile.h when not necessarry as it pulls
2890 in OS-specific headers which may redefine generic names
2891 like "far".
2892
ad297ec7
VT
28932013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2894
2895 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2896 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2897 scrollbar_bottom_pad
2898 * docs/grub.texi: Likewise.
2899
6e9e5dc9
VT
29002013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2901
2902 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2903
761c718b
VS
29042013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2907
37149a2f
VS
29082013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2911 Removed.
2912 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2913 Made static.
2914
3837a151
VS
29152013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2918 leftover.
2919
caca1c70
VS
29202013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 Move OS-specific driver configuration to grub_util_fd_open. This
2923 moves OS-dependent parts from kern/emu/hostdisk.c to
2924 grub-core/osdep/*/hostdisk.c.
2925
f7676b70
VS
29262013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * util/grub-mkimage.c (generate_image): Use size_t instead of
2929 grub_size_t.
2930 * util/grub-mkimagexx.c (locate_sections): Likewise.
2931 (load_image): Likewise.
2932
22f98db2
VS
29332013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2936 size_t.
2937 (grub_util_write_image): Likewise.
2938
b102ce69
VS
29392013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2942 get random when no RNG is available.
2943 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2944
acbbe5cb
VS
29452013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * include/grub/util/lvm.h: Removed.
2948
2112fb3f
VS
29492013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2952 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2953
79f78fbf
VS
29542013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2957
c2e6f705
VS
29582013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2961
aabe433a
VS
29622013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/net/drivers/emu/emunet.c: Move to ..
2965 * grub-core/osdep/linux/emunet.c: ..here.
2966
9a2c903f
VS
29672013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * util/ieee1275/ofpath.c: Move to ...
2970 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2971 * grub-core/osdep/basic/ofpath.c: ..here.
2972
4a445f58
VS
29732013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 Move password-querying (util-version) routines to grub-core/osdep.
2976
c1ca4244
VS
29772013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 Move sleep routines to grub-core/osdep.
2980
672fa55e
VS
29812013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 Move OS-dependent files to grub-core/osdep and document it.
2984
a5b0365a
VS
29852013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2988 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2989
29072e99
VS
29902013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2993
f8772ea7
VS
29942013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * util/misc.c: Remove leftover inclusion of malloc.h.
2997
a1a315e7
VS
29982013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * include/grub/setjmp.h: Remove leftover GRUBOF.
3001
cef86fef
VS
30022013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * util/raid.c: Fold into ...
3005 * util/getroot_linux.c: ... here. Make all functions static.
3006
c4cf25ee
VS
30072013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
3010 macros to GRUB ones.
3011
53a5f5c2
VT
30122013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3013
3014 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
3015 occasional bug. If there are too many boot entries or too low
3016 scrollbar height then we need to use another formula to calculate
3017 the position and size of the scrollbar thumb.
3018
de300af2
VS
30192013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3020
c4cf25ee 3021 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 3022
c5827364
VT
30232013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3024
3025 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
3026 * docs/grub.texi: Likewise.
3027
dd2ed8b0
VT
30282013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3029
3030 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3031 viewport.
3032
7286c384
VT
30332013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3034
ffdfc1f3
VT
3035 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3036 minimal width calculations.
7286c384 3037
ea547e14
VS
30382013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * docs/grub.texi: Update note on colors on emu console.
3041
b726be76
VS
30422013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3045 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3046 it's FS and not GRUB limitation.
3047
a5f6ade6
VS
30482013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3051
3b0f3aa2
VS
30522013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3055
1db38304
ST
30562013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3057
3058 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3059 kernels by version order.
3060
fb295fc0
VS
30612013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3064
47345010
VS
30652013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 Add AROS hostdisk and getroot routines.
3068
bf25f879
VS
30692013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 Make cryptodisk and diskfilter probe data retrievable programmatically
3072 and not just printable.
3073
24ca4512
VS
30742013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3075
3076 Split random retrieving code into separate files.
3077
c7c177f0
VS
30782013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3081 R_ARM_V4BX.
3082
d71b45ae
VS
30832013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3086 condition.
3087 * grub-core/tests/fake_input.c: Likewise.
3088 * grub-core/tests/cmdline_cat_test.c: Likewise.
3089
e44b9a83
VS
30902013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * grub-core/video/capture.c: Do not do finalization when .fini
3093 is called as there is explicit capture_end.
3094
4fa60739
VS
30952013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3098 changing windows to avoid crash.
3099
17c8bc37
VS
31002013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3103
9d4d7977
VS
31042013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * po/exclude.pot: Add several strings to exclude.
3107
0caa407c
VS
31082013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3111
9ae393da
VS
31122013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3115 ./util/grub-gen-asciih.c to exclude list.
3116
498d5033
VS
31172013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3120 and don't mark error strings for translation.
3121
7d93298f
VS
31222013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3125 properly in case of missing block size.
3126
b2cae20c
VS
31272013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/lib/arm/setjmp.S: Add missing license section.
3130
3896d6b4
VS
31312013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * po/swiss.sed: Add replacement for key names and for term computer.
3134
ebc1da55
VT
31352013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3136
3137 * grub-core/gfxmenu/theme_loader.c: New global options for the
3138 theme background image handling. desktop-image-scale-method,
3139 desktop-image-h-align, desktop-image-v-align.
3140 * grub-core/gfxmenu/view.c: Likewise.
3141 * include/gfxmenu_view.h: Likewise.
3142 * include/bitmap_scale.h: Proportional scale functions introduced.
3143 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3144 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3145 cases of unexpected input variables for scale functions.
3146 * docs/grub.texi: Updated documentation for new options.
3147
c5739143
VS
31482013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3151
be74aeb3
VT
31522013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3153
3154 * grub-core/tests/checksums.h: Corrected due to changes in
3155 bilinear interpolation function.
3156
d999ac72
VT
31572013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3158
3159 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
3160 to eliminate artefacts in bilinear interpolation.
3161
2b131610
VS
31622013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * grub-core/video/readers/tga.c: Support paletted tga.
3165
de6e5ff8
VS
31662013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
3169 incorrect cbcr setting when in color mode.
3170
fa31ee9c
VS
31712013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/video/readers/png.c: Support paletted images and clean up
3174 greyscale support.
3175
e84f8188
VS
31762013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3179 usage of wrong table which resulted in mishandling of 4-byte
3180 sequences.
3181
31822013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
3183
3184 * grub-core/term/terminfo.c: Add Home and End key sequences.
3185
d72bff09
VS
31862013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/video/readers/png.c (grub_png_decode_image_header):
3189 Fix formula for computing total number of bytes.
3190
29648c5d
VS
31912013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
3194 image processing, fix big-endian and support grayscale.
3195
4a876492
VS
31962013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
3199 Correctly will with maximum transparency when using index color.
3200
3ccf16df
VS
32012013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/video/readers/png.c: Support grayscale
3204
32052013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
3206
3207 * grub-core/video/readers/jpeg.c: Support grayscale.
3208
3ccf16df 32092013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
3210
3211 * grub-core/commands/loadenv.c: Support skipping signature check
3212 and variable names filtering.
3213
30b7f58f
VS
32142013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3217 * grub-core/kern/emu/hostfs.c: Likewise.
3218 * util/getroot_unix.c: Likewise.
3219
bab7b1eb
VS
32202013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3223 Migrate all explicit defines to this new one.
3224
43b1c99d
VS
32252013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3228 grub_util_fd_strerror when using grub_util_fd_*.
3229 (grub_util_fd_open_device): Likewise.
3230 (grub_util_biosdisk_read): Likewise.
3231 (grub_util_biosdisk_write): Likewise.
3232 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3233 (grub_util_fd_strerror): Likewise.
3234 (grub_util_fd_sync): Likewise.
3235 (grub_util_fd_close): Likewise.
3236 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3237 (grub_util_fd_close): Likewise.
3238 (grub_util_fd_strerror): Likewise.
3239 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3240 function proto rather than macro.
3241 (grub_util_fd_sync): Likewise.
3242 (grub_util_fd_open): Likewise.
3243 (grub_util_fd_strerror): New proto.
3244
e8fd80bc
VS
32452013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
3248 platforms on which it doesn't work.
3249
bf645fda
VS
32502013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3253 stat immediately to where it's used.
3254
5177ba14
VS
32552013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * util/getroot.c (grub_util_check_block_device): Move to ...
3258 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3259 * util/getroot.c (grub_util_check_char_device): Move to ...
3260 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3261
9db826e1
VS
32622013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3265 disk closing logic.
3266
49120085
AB
32672013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3268
3269 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3270
b3328b68
AB
32712013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3272
3273 * docs/grub.texi (File name syntax): Document ZFS filenames
3274 (/volume@snapshot/...).
3275
3fff48ab
VS
32762013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3279 Always return full path. Fixes a problem with mkrelpath.
3280
39cfdaa9
PFS
32812013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3282
3283 * util/grub-install.in: Add GPT PReP support.
3284 * util/grub-probe.c (probe): Support GPT partition type.
3285 (main): Support -t gpt_parttype.
3286
7c680e1f 32872013-09-23 Aleš Nesrsta <starous@volny.cz>
3288
3289 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3290
890bdabe
MM
32912013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3292
3293 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3294
9c262ff9
TH
32952013-09-23 Tim Hardeck <thardeck>
3296
3297 * util/grub.d/10_hurd.in: Filter out character for the class.
3298 * util/grub.d/10_kfreebsd.in: Likewise.
3299 * util/grub.d/10_linux.in: Likewise.
3300 * util/grub.d/20_linux_xen.in: Likewise.
3301
d755342a
MC
33022013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3303
3304 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3305 "changed".
3306
68b77707
JT
33072013-09-23 Josh Triplett <josh@joshtriplett.org>
3308
3309 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3310 boot partition.
3311
efa68bfa
VS
33122013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3315 doesn't use posix_wrap. Keep literal -fno-builtin however.
3316
d9104204
VS
33172013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3320
c248781a 33212013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
33222013-09-23 neil
3323
5830df88 3324 * configure.ac: Do not enable -Wmissing-noreturn as its
3325 usefulness is limited and creates problems on some OS notably with
3326 code generated by bison.
3327
33282013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
33292013-09-23 neil
3330
3331 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 3332 supported by all gcc and when it is, it's already enabled by -Wall.
3333
621bed69
VS
33342013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3337 desactivated use of EDID at all.
3338
71764dc8 33392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
33402013-09-23 neil
3341
3342 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3343 video if no text is available.
3344
affce7d4 33452013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
33462013-09-23 neil
3347
3348 * configure.ac: Substitute TARGET_RANLIB.
3349
33502013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
33512013-09-23 neil
affce7d4
VS
3352
3353 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3354
3355 Based on patches from AROS.
3356
0e8daad0 33572013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 33582013-09-23 neil
0e8daad0
VS
3359
3360 * grub-core/Makefile.am: Override STRIP and RANLIB.
3361 * configure.ac: compute TARGET_RANLIB.
3362 * INSTALL: Document TARGET_RANLIB
3363
3364 Based on patches from AROS.
3365
3f7d9c82
VS
33662013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3369 that floppies are unpartitioned.
3370
bca8873a
VS
33712013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3374 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3375
33762013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3379 less nice but more portable.
3380 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3381
a47a78be
VS
33822013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3385 for cheat_fd.
3386 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3387 functions.
3388 (grub_cryptodisk_cheat_insert): Likewise.
3389 (grub_cryptodisk_close): Likewise.
3390
e85a5d5c
VS
33912013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3394 Use windows path for DEFAULT_DIRECTORY.
3395
dad9fa6b
VS
33962013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3399 difference was likely just gcc version, not anything mingw-related.
3400
7e518ca8
VS
34012013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 Use Winapi on both cygwin and mingw32 to share more code between both.
3404
d68d0157
AB
34052013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3406
3407 * util/grub-install.in: Add --grub-editenv option.
3408 * util/grub-install_header (grub_compress_file): Explicitly check for
3409 plain file to avoid cp error.
3410
775b284d
AB
34112013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3412
3413 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3414 names; fix LVM driver name (lvm, not lv).
3415 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3416 names.
3417
3ff4063d
VS
34182013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3421 files rather than one file with loads of #if's.
3422 * util/getroot.c: Likewise.
3423
287faafe
VS
34242013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3427
d1983764
VS
34282013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3431 GNU/Hurd to the list of checked PRNG.
3432
15ce95c4
VS
34332013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3436
207862dd 34372013-09-21 Ales Nesrsta <starous@volny.cz>
3438
7c680e1f 3439 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 3440
63653cfd
VS
34412013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3444 * grub-core/disk/lvm.c: Add LVM UUIDs.
3445 * util/getroot.c: Use LVM UUIDs whenever possible.
3446
f5d3e7ef
AB
34472013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3448
3449 * docs/grub.texi (Networking commands): Add documentation for
3450 network related commands.
3451
53c6b7d6
VS
34522013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3455 to determine if device is handled by devmapper.
3456 (convert_system_partition_to_system_disk): Likewise.
3457 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3458 already done in grub_util_open_dm.
3459
e70d6736
LL
34602013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3461
3462 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3463 Clean up stack manipulation (sync_caches_armv*)
3464
90379808
VS
34652013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * util/lvm.c: Remove since unused. Remove remaining references.
3468
386701a8
VS
34692013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 Handle the case of partitioned LVM properly.
3472
3473 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3474 Stop on meeting LVM, mpath or DMRAID.
3475 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3476 (read_device_map): Likewise.
3477 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3478 device is full disk rather than erroring out on LVM and similar cases.
3479
53070787
VS
34802013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3483
1bc783bd
VS
34842013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3487 4K before the end.
3488 Reported by: Leif Lindholm
3489
436ad5c3
PW
34902013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
34912013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3494 codes.
3495
607319c9
CW
34962013-09-18 Colin Watson <cjwatson@ubuntu.com>
3497
3498 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3499 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3500
d404d154
DR
35012013-09-18 Douglas Ray <dougray@cpan.org>
3502
3503 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3504 as secure.
3505
28851ef6
AN
35062013-09-18 Aleš Nesrsta <starous@volny.cz>
3507
3508 * docs/grub.texi: Fix broken link.
3509
897c3bc6
MC
35102013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3511
3512 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3513 to break endless loop.
3514
f1630459
VS
35152013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * util/grub-fstest.c: Fix several printf formats.
3518 * util/grub-mkimage.c: Likewise.
3519 * util/grub-mkimagexx.c: Likewise.
3520 * util/grub-script-check.c: Likewise.
3521
64463dfd
VS
35222013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3525 error.
3526
48972495
VS
35272013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3530
5dd5e64b
VS
35312013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3534 removed in current versions cygwin_conv_*.
3535
1c1f31e5
VS
35362013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * configure.ac: Disable efiemu runtime on cygwin.
3539
c546a259
VS
35402013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3543 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3544
81690478
VS
35452013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3548 error message.
3549
6b87c10a
VS
35502013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3553 windows variant.
3554 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3555 data.
3556
8f0baaac
VS
35572013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3560 when on x86 and not cygwin.
3561 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3562 -Wl,-melf_x86_64.
3563
b224c266
VS
35642013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 * configure.ac: Set CPP to build one when checkoing for freetype for
3567 build.
3568
506b336b
VS
35692013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3572 [!GRUB_BUILD]: Remove has_argument.
3573
8c8c87b7
VS
35742013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3577 Replace with a dummy.
3578
7dc5ca13
VS
35792013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * configure.ac: Don't change host_os from mingw to cygwin.
3582
c3302aa5
VS
35832013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * configure.ac: Change target_os from windows to cygwin.
3586
7b780018
VS
35872013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3590
3591 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3592 (build-grub-gen-asciih): Likewise.
3593 (build-grub-gen-widthspec): Likewise.
3594 * Makefile.util.def (grub-pe2elf): Remove.
3595 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3596 * configure.ac: Separate tests for build.
3597 Move ./build-grub-pe2elf to grub-core.
3598 Fix typo.
3599 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3600 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3601 defined.
3602 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3603 constants.
3604 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3605 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3606 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3607
984cfd8a
VS
36082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3611 mingw32 as well based on grub_util_get_disk_size.
3612 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3613 grub_util_get_fd_size.
3614 (sync): Removed.
3615 (fsync): Moved to ...
3616 * grub-core/kern/emu/misc.c (fsync): ... here.
3617
f82d79c9
VS
36182013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * include/grub/mm.h (grub_extend_alloc): Remove.
3621 * grub-core/loader/i386/pc/plan9.c: Use own version of
3622 grub_extend_alloc with appropriate types.
3623
fd7dd66d
VS
36242013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3627
43ffba7c
VS
36282013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3631
3c7eac44
VS
36322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 Fix dependencies on cygwin.
3635
3636 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3637 dependencies when used and defined.
3638 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3639
bdb5ba47
VS
36402013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3643 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3644
ed7fbf43
VS
36452013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3648 implementation available to cause compile-time rather than runtime
3649 error.
3650
fc46e9fc
VS
36512013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * util/grub-fstest.c: Don't check for symlinks on windows.
3654
7f68269a
VS
36552013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * INSTALL: Mention unavailability of man pages when cross-compiling.
3658
8ed358e0
VS
36592013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3662 and gcry_log_bug.
3663 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3664
fc97214f
VS
36652013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * INSTALL: Document cross-compilation.
3668 * acinclude.m4: Determine whether nm support -P and --defined-only.
3669 * configure.ac: Add TARGET_ to all variables pertaining to target
3670 that don't have it yet.
3671 * gentpl.py: Likewise.
3672 * grub-core/Makefile.am: Likewise.
3673 * grub-core/genmod.sh.in: Likewise.
3674 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3675 as well.
3676
ca1fb563
IB
36772013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3678
3679 * configure.ac: Remove -Wempty-body. It's not essential and needs
3680 recent gcc.
3681
0031b229
IB
36822013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3683
3684 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3685 * util/getroot.c: Likewise.
3686
54ea2f44
VS
36872013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * grub-core/disk/ahci.c: Add needed explicit cast.
3690 * grub-core/lib/backtrace.c: Likewise.
3691 * grub-core/net/ip.c: Likewise.
3692 * grub-core/net/tcp.c: Likewise.
3693 * grub-core/net/udp.c: Likewise.
3694
3c601f8c
VS
36952013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3698
1d679dda
VS
36992013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * util/import_gcry.py: Add final newline in visibility.h.
3702
00c28dd9
VS
37032013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * conf/Makefile.common: Fix typo.
3706
32af299a
VS
37072013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3710
e733cf52
VS
37112013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * Makefile.am (widthspec.h): Fix typo.
3714 * util/grub-gen-widthspec.c: Likewise.
3715
c6b066f2
VS
37162013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 Move ascii.h and widthspec.h generation to a separate build-time-only
3719 tool.
3720
ad1fe3f9 37212013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3722
3723 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3724 Always fill bootdisk info and improve check for NetBSD disklabel.
3725
92a52dd4
VS
37262013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * conf/Makefile.extra-dist: Add util/bin2h.c.
3729 Reported by: floppym.
3730
b2e9d276
VS
37312013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3734
7b966834
VS
37352013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * configure.ac: Disable unifont and starfield if no freetype was found.
3738
d5c1eef1
VS
37392013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3742 on NetBSD and OpenBSD.
3743
66345b50 37442013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3745
3746 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3747
66345b50 37482013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3749
3750 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3751 reduced. Inheritant options are processed during the theme loading.
3752
66345b50 37532013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3754
3755 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3756
369508b3
AS
37572013-08-14 Avik Sil <aviksil@in.ibm.com>
3758
3759 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3760
37612013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3762
3763 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3764 using qemu.
3765
6f27a3f6
PFS
37662013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3767
3768 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3769 remove-potcdate.sed.
3770
c6ed362a
AB
37712013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3772
3773 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3774 unused attribute from pull argument.
3775
5e7d9464
AB
37762013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3777
3778 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3779 memory leak.
3780
dea55e2a
AB
37812013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3782
3783 * util/getroot.c (pull_lvm_by_command): add --separator option
3784 to vgs call to disable padding of output to 10 characters.
3785
f0b94ded
VS
37862013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3789 here ...
3790 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3791 here.
3792
b828fb5d
VS
37932013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3796 length.
3797
7c9d0c39
VS
37982013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3801 full Canadian cross. Tested with build=x86_64, host=arm,
3802 target=ppc-ieee1275.
3803
816719c8
VS
38042013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * configure.ac: Error if no $BUILD_CC could be found.
3807 Reported by: DevHC.
3808
2af2353b
VS
38092013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3812 i386-multiboot.
3813
797abd0a
VS
38142013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3817 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3818
36e87d25
CW
38192013-08-13 Colin Watson <cjwatson@ubuntu.com>
3820
3821 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3822 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3823 falling back to the partition device, otherwise a later call to this
3824 function may fail spuriously.
3825 Reported by Axel Beckert. Fixes Debian bug #708614.
3826
273349fe
GS
38272013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3828
3829 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3830
418f86c6
GS
38312013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3832
3833 Prevent shadowing of stdlib's devname(3) on BSD.
3834
3835 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3836 and devlast to diskname and disklast, respectively.
3837
c137aea0
CW
38382013-08-11 Colin Watson <cjwatson@ubuntu.com>
3839
3840 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3841
272dc8df 38422013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3843
3844 * docs/grub.texi: Introduce terminal window position options:
3845 terminal-left: terminal window's left position
3846 terminal-top: terminal window's top position
3847 terminal-width: terminal window's width
3848 terminal-height: terminal window's height
3849 terminal-border: terminal window's border width
3850 * grub-core/gfxmenu/theme-loader.c: Likewise.
3851 * include/grub/gfxmenu_view.h: Likewise.
3852 * po/exlude.pot: Likewise.
3853 * grub-core/gfxmenu/view.c: Likewise.
3854 Also updated minimal window size.
3855 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3856 * grub-core/tests/checksums.h: Update (terminal window height
3857 is adjusted now for low resolution screen)
b4743461 3858
748a4533
VS
38592013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3862 position).
3863
fca5f944
VS
38642013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * po/exclude.pot: Add few recent exceptions.
3867
4f47d809
VS
38682013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * tests/grub_func_test.in: Add unicode.pf2.
3871
a62ae90c
VS
38722013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3875 standard rather than noral color, in line with other terminals.
3876
4ed41392
VS
38772013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3880 analysis.
3881
3719fbc5
VS
38822013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3885
459b1d91
VS
38862013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3889 inappropriate printf.
3890
f4e1ab9d
AB
38912013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3892
3893 * .bzrignore: Remove grub-core/lib/dtc-grub,
3894 grub-core/Makefile.libfdt.def
3895 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3896
fa471bfa
VS
38972013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * include/grub/video.h (grub_video_register): Keep double-linked as
3900 well as single-linked invariants.
3901 Reported by: qwertial.
3902
d65be02b
VS
39032013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * grub-core/commands/nativedisk.c (get_uuid): Handle
3906 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3907
ba8bc620
VT
39082013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3909
3910 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3911 maximum of NW, N, NE heights instead of N's height and maximum of
3912 NW, W, SW widths instead of W's width. (So the box will be always
3913 correctly drawn)
3914
4f0ad029
GS
39152013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3916
3917 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3918 Fix misuse of variable count.
3919
43d53b72
LL
39202013-07-18 Leif Lindholm <leif.lindholm@arm.com>
39212013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
39222013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3923
43d53b72
LL
3924 New ports to arm-uboot and arm-efi.
3925 Mostly by Leif Lindholm with some additions from
3926 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3927
88f8d146
VS
39282013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3931 and not before.
3932 Reported by: Leon Drugi.
3933
3f42504c
VS
39342013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3937 Reported by: Paulo Flabiano Smorigo.
3938
d110499b
VT
39392013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3940
3941 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3942
a8674ad3
VT
39432013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3944
3945 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3946
286fe4b3
VS
39472013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3950
1bd57aa3
VS
39512013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3954
7a87d69f
AB
39552013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3956
3957 * grub-core/net/bootp.c: Export net_* variables.
3958 * grub-core/net/net.c: Likewise.
3959
b2182299
VS
39602013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3963
795b3dc0
VS
39642013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3967
68714c43
VS
39682013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3971
af211bab
VS
39722013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3975
0036f02d
MM
39762013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3977
3978 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3979 <= 0.
3980
6d0ddff3
MM
39812013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3982
3983 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3984 functions.
3985
038016f4
MM
39862013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3987
3988 * grub-core/fs/zfs/zfs_lz4.c: New file.
3989 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3990
776bdce2
MM
39912013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3992
3993 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3994
c71dbd40
MM
39952013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3996
3997 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3998 (check_pool_label): Likewise.
3999 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
4000
40012013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
4002
4003 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
4004
8e67b50f
AB
40052013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4006
4007 * docs/grub.texi (Commands): Document postition parameters
4008 for menuentry command.
4009
f5ae3717
AB
40102013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4011
4012 * util/grub-mknetdir.in: Remove stray line from help output.
4013
9c28da2a
VS
40142013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 Remove early sm712 init as there is no reason for it (the "watchdog"
4017 effect was due to wrong GPIO map).
4018
139072b8
VS
40192013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * grub-core/commands/pcidump.c: Remove static variables.
4022
c6a61bda
VS
40232013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * grub-core/commands/sleep.c: Refresh screen before sleeping.
4026
51369614
VS
40272013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * configure.ac: Move delimiter after the infos.
4030
efa8640a
VS
40312013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4034
6f80a7b2
VS
40352013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4038 not filling whole 8x16 space.
4039
a2371e19
VS
40402013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4043
64fce2d8
VS
40442013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * configure.ac: Indicate which liblzma is used if any.
4047
eb272d84
PW
40482013-06-21 Paul Wise <pabs3@bonedaddy.net>
40492013-06-21 Craig Sanders <savannah@taz.net.au>
4050
4051 * util/grub-reboot.in: Document submenu usage.
4052
a9e5abee
CW
40532013-06-25 Colin Watson <cjwatson@ubuntu.com>
4054
4055 * .bzrignore: Update with a number of new test-related files.
4056
e639c204
CW
40572013-06-25 Colin Watson <cjwatson@ubuntu.com>
4058
4059 * util/grub-script-check.c: Fail on scripts containing no
4060 commands, to guard against corrupted grub-mkconfig setups that
4061 produce no useful output.
4062 * tests/grub_script_no_commands.in: New test.
4063 * Makefile.util.def (grub_script_no_commands): Add.
4064 Reported by Hans Putter. Fixes Debian bug #713886.
4065
a4c89b17
AB
40662013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4067
4068 * grub-core/disk/diskfilter.c: Forgot to remove comment
4069 from previous commit.
4070
5b06b53c
AB
40712013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4072
4073 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4074 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4075
702da5c9
AB
40762013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4077
4078 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4079
aa62a5b7
AB
40802013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4081
4082 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4083 rescan diskfilter devices until nothing new is found.
4084
4aa237c8
VS
40852013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4088
93d8479b
VS
40892013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 Don't try to detect cbfs on *-emu.
4092
837222cc
VS
40932013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4096
99c971af
VS
40972013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 Add support for processed coreboot payload chainloading.
4100
e6930a45
VS
41012013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 Enable coreboot information commands even when not loaded as
4104 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4105
5027af38
VS
41062013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 Support for cbfs. Also factor out the part which is common
4109 for all archives to a separate module. This splits tar from cpio
4110 as they are very different but keeps cpio, cpio_be, odc and newc
4111 together since they're very similar.
4112
a5b55c4b
DM
41132013-06-15 David Michael <fedora.dm0@gmail.com>
4114
4115 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4116 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4117
0301a8b3
VS
41182013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * tests/grub_script_eval.in: Really add the eval test.
4121
3d84cb17
VS
41222013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 Move flavour-specific parts out of common cpio.c file and
4125 rename remaining to cpio_common.c
4126
593e430c
AB
41272013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4128
4129 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4130 off new function grub_script_execute_new_scope. Change callers to use
4131 either of them as appropriate.
4132 * grub-core/commands/eval.c: New command eval.
4133 * docs/grub.texi (Commands): Document it.
4134
63c29849
AB
41352013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4136
4137 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4138 to fetch values when listing.
4139
cc284112
AB
41402013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4141
4142 Fix make dist on non-pc.
4143
41442013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
4145
4146 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4147 without a device name.
4148
69544d1e
VS
41492013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 Remove enable_executable_check as it's not needed anymore.
4152 Reported by: dougray.
4153
96dbe648
VS
41542013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4157 ambigouos RAID before discovering RAIDs on top of it.
4158 Reported by: bodom.
4159
ccfc0bdb
VS
41602013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 Fix typo (failback vs fallback).
4163
f2587088
AB
41642013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
4165
4166 * util/grub.d/30_os-prober.in: Add support for probing EFI
4167 System Partition (as of os-prober 1.58).
4168
cec5cf0c
VS
41692013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * configure.ac: Add yet another path to unifont. For parabola.
4172
e40b4596
JT
41732013-05-30 Josh Triplett <josh@joshtriplett.org>
4174
4175 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4176 handling to copy the killed characters to the kill buffer as
4177 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4178 stored as char. Eliminates UCS4 truncation and corruption
4179 observed when killing characters with Ctrl-u and yanking them
4180 back with Ctrl-y.
4181
fc4c4fdd
VS
41822013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 Detach optional parts of gfxterm and integrate in with coreboot init.
4185
6570b205
VS
41862013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 Move blit and fill dispatcher to appropriate files to decrease export
4189 and relocation overhead.
4190
b8323067
VS
41912013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * grub-core/font/font.c, include/grub/font.h: Inline simple font
4194 functions.
4195
3cc1878f
VS
41962013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/Makefile.am: Fix compilation problem with some
4199 automake versions.
4200
4b80e43c
VS
42012013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4204
57e0c20c
VS
42052013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4208 automake versions.
4209
4fd42c53
VS
42102013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4213 SSDT.
4214
1e908b34
RS
42152013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4216
4217 * grub-core/partmap/dfly.c: New partition map.
4218
1359e474
VS
42192013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4222 checking.
4223 Reported by: Francesco Lavra.
4224
17806392
AB
42252013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4226
4227 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4228 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4229 false conditions.
4230 * conf/Makefile.common: define dist_grubconf_DATA
4231
cdce14fa
VS
42322013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 Progressively skip menu elements on small terminals rather
4235 than crashing.
4236
c8d6cc3c
VS
42372013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4240 to avoid losing last column.
4241
a73b31ce
VS
42422013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * po/exclude.pot: Add missing string "%C".
4245
1202c764
VS
42462013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4249 after the test.
4250
50268344
VS
42512013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * util/grub-install.in: Gettextize "Not found" message.
4254
62b15edf
VS
42552013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 Fix distfiles list.
4258 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4259
42602013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
4261
4262 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4263 present.
4264 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4265
709ad61b
VS
42662013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4269
d128901a
VS
42702013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4273 attribute since structure is not necessarily aligned.
4274
34b22f5c
AB
42752013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4276
4277 * docs/grub.texi (Device syntax): Clarify description of network
4278 drives.
4279
0f7e980b
VS
42802013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4283 for vasprintf presence.
4284
30b03dc2
VS
42852013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * util/grub-install.in: Handle efibootmgr presence check.
4288 Reported by: Leif Lindholm.
4289
0dc11c08
VS
42902013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4293 new strings to translate.
4294
f8024c3f
VS
42952013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4298 yet another string (pun intended) to translate.
4299
b4c1da62
VS
43002013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * po/POTFILES-shell.in: Autogenerate it.
4303
0ef7478b
VS
43042013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4307
8200fa15
VS
43082013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4311 misnomer.
4312
091945b2
AB
43132013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4314
4315 * docs/grub.texi (Network): Add description of net_default_interface,
4316 net_default_ip and net_default_mac. Rewrite variables description
4317 to emphasize that they are per-interface.
4318
0e7b2e32
VS
43192013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 New test: cmdline and cat.
4322
16f7c8f6
VS
43232013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * grub-core/commands/cat.c: Show UTF-8 characters.
4326
3e912fda
VS
43272013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * conf/Makefile.common: Poison float and double on non-emu.
4330
ee0220bc
VS
43312013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * configure.ac: Don't disable extended registers on emu.
4334
89e0240c
VS
43352013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * configure.ac: Don't use extended registers on x86_64.
4338 Reported by: Peter Jones.
4339
e56d9637
VS
43402013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/term/efi/console.c: Fix compile error.
4343
8098f655
VS
43442013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 Compressed HFS+ support.
4347
16940e07
VS
43482013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4351 pixel".
4352
c5dbc13d
VS
43532013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 Menu color test.
4356
011f8ae8
VS
43572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/tests/setjmp_test.c: New test.
4360
2aa072d7
VS
43612013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 New variables 'net_default_*' to determine MAC/IP of default interface.
4364
43fe02cb
VS
43652013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * tests/gettext_strings_test.in: A test to check for strings not
4368 marked for translation.
4369
bed06142
VS
43702013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * autogen.sh: Exclude unused libgcrypt files from translation.
4373
fb2666b5
VS
43742013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 Simplify few strings.
4377
d22840ec
VS
43782013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 Mark few forgotten strings for translation.
4381
e34092fd
VS
43822013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4385 rather than printf.
4386
47cf82b4
VS
43872013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4390 rather than printf.
4391 * grub-core/video/readers/tga.c: Likewise.
4392
1eed0e6e
VS
43932013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * tests/priority_queue_unit_test.cc: New test.
4396
c5b7697b
VS
43972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4400 than printf.
4401
5945c2f8
AB
44022013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4403
4404 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4405 variable for one time boot menu entry.
4406
fa292343
B
44072013-05-05 Bean <bean123ch@gmail.com>
4408
4409 * grub-core/commands/testspeed.c: New command testspeed.
4410
310d4214
VS
44112013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 Factor-out human-size printing.
4414
85002bf3
VS
44152013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 Agglomerate more mallocs to speed-up gfxterm.
4418
22b06e96
VS
44192013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 Speed-up gfxterm by slightly agglomerating mallocs.
4422
b7c036bc
VS
44232013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 More video checks.
4426
92323d1f
VS
44272013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 Speed-up gfxterm by saving intermediate results in index+alpha
4430 format.
4431
0fb356a3
VS
44322013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4435 test.
4436
44dea3f9
VS
44372013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4440 line of timeout as it may contain the rest of long line.
4441
14af86e4
VS
44422013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * grub-core/normal/main.c: Fix freed memory dereference.
4445
03f7c8c3
VS
44462013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 Fix several memory leaks.
4449
c686014c
VS
44502013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4453
0788a695
VS
44542013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4457
daf01d61
VS
44582013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 Fix test -a and -o precedence.
4461 Reported by: adrian15.
4462
82ae74d7
VS
44632013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4466
8cec7bd4
AB
44672013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4468
4469 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4470 and add it as source to functional_test module.
4471
aa73d688
VS
44722013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4475
c104b6f9
VS
44762013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 New series of tests for gfxterm and gfxmenu.
4479
7391c4d5
VS
44802013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4483 the theme path relative to $prefix/themes.
4484
cff50118
VS
44852013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4488 Fix order bug.
4489 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4490
7c332bdc
VS
44912013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4494 descriptor.
4495
a4f9a5ff
VS
44962013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4499 grub_gfxmenu_timeout_notifications.
4500 (grub_gfxmenu_view_destroy): Likewise.
4501
b5a2114d
VS
45022013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4505
a8905e8a
VS
45062013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 Several fixes to ieee1275 and big-endian video.
4509
813c1622
VS
45102013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 Add missing exports on mips.
4513
3f3e7326
VS
45142013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4517 if no unifont is found.
4518 Restore original keyboard.
4519
095accd1
VS
45202013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4523 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4524
50361660
VS
45252013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 First automated video test (running videotest and comparing results)
4528
cd0f6eec
VS
45292013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4532 instead of 2 to have full RGB/CMY test pattern.
4533
3f9634e5
VS
45342013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 Add few more tests.
4537
583e5b64
VS
45382013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4541 ARCS. All users updated.
4542
aa7bcb99
VS
45432013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4546
95ef1a54
VS
45472013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4550
46546fc5
VS
45512013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4554 Reported by: qwertial.
4555
3476e0ef
VT
45562013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4557
4558 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4559 with syntax "XXX deg"/"XXX °".
4560
96f33fed
VS
45612013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 Make PCI init in i386-qemu port more robust.
4564
45652013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4566
4567 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4568 cached view is reused.
4569 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4570 open boot menus.
4571
c53b4e67
VS
45722013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 Unify more code in grub-install_header.
4575
f7457fb2
VS
45762013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 Add few new tests.
4579
e2f27a8c
VS
45802013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 Enforce disabling of firmware disk drivers when native drivers kick in.
4583
ef9d8cd5
VS
45842013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * grub-core/commands/nativedisk.c: Customize the list of modules on
4587 platform. Don't try to search for disks already using native drivers.
4588
f7bf6c31
VS
45892013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4592 platforms.
4593
bdc4add8
VS
45942013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4597 handling of variables containing backslash.
4598
e9e46c9a
VS
45992013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4602 dereference.
4603 Reported by: qwertial.
4604
0e90dee8
VS
46052013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4608
e0aacf24
VS
46092013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4612 dereference.
4613 Reported by: qwertial.
4614
3c0003c3
VS
46152013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4618
adb7d667
VS
46192013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4622
7cd0df84
VS
46232013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 New command `nativedisk'.
4626
02adbb93
VS
46272013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4630 * grub-core/loader/i386/bsd.c: Likewise.
4631
9fb0fd4f
VS
46322013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4635
bd69257a
VS
46362013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4639 grub_get_unaligned16 rather than shifts.
4640
178c2764
VS
46412013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * grub-core/kern/file.c: Use const char * rather than casting to
4644 non-const.
4645
eadfad24
VS
46462013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * grub-core/commands/probe.c: Add missing grub_device_close.
4649
9f73ebd4
VS
46502013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 * INSTALL: Document linguas.sh.
4653
965fa829
VS
46542013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 Remove POTFILES.in and regenerate it in autogen.sh.
4657
d417ddc4
VS
46582013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 Move --directory/--override-directorry to grub-install_header and unify.
4661
f97ec546
VS
46622013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 * grub-core/term/morse.c: Macroify dih and dah.
4665
b2d7470c
PFS
46662013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4667
4668 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4669
141e2a78
VS
46702013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 * grub-core/term/ns8250.c: Systematically probe ports by writing
4673 to SR before using them.
4674
1dd70ebd
PFS
46752013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4676
4677 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4678 disks.
4679 (check_sas): Get sas_adress info.
4680
c796a107
VS
46812013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4684 ports.
4685
43168646
LD
46862013-04-27 Leon Drugi <eyak>
4687
4688 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4689 BSS clearing.
4690
e7b8fd08
VS
46912013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 Core compression test.
4694
17f9fd29
VS
46952013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 Implement grub_machine_get_bootlocation for ARC.
4698
dc2a6c8b
VS
46992013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 Improve AHCI detection and command issuing.
4702
f25a2ba6
VS
47032013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 Fix pseries test.
4706
a6393224
VS
47072013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 Make 'make check' work on emu.
4710
db99fbe8
VS
47112013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 Replace libcurses with our own vt100 handling for the ease of testing
4714 and decreasing prerequisites.
4715
b24ca7cd
VS
47162013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4719
63314aa4
VS
47202013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4723 compile when not needed.
4724
c1b00fff
VS
47252013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * tests/pseries_test.in: New test.
4728
f93e89ef
VS
47292013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 Add test to check that different boot mediums work.
4732
c4b456d3
VS
47332013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4736 ofw limited ISO support.
4737
5fe67f39
VS
47382013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * configure.ac: Fix loongson conditional.
4741
7f63a64f
VS
47422013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 Enable mipsel-arc.
4745
b04b5990
VS
47462013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 Add serial on ARC platform.
4749
88d2f302
VS
47502013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4753 commit.
4754
86eb23bc
VS
47552013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * tests/partmap_test.in: Add missing double semicolon.
4758
eec3bb75
VS
47592013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * util/grub-mkrescue.in: Fix loongson filename.
4762
e0810df3
VS
47632013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * util/grub-mkrescue.in: Move all files that don't have a location
4766 set in stone under /boot/grub. Use ISO hard links rather than copies
4767 to save some space.
4768
65a6b30b
VS
47692013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4772 bogus SLOF values.
4773
6aff0107
VS
47742013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 Make check work on mips-arc.
4777
5e013e56
VS
47782013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 * util/grub-mkrescue.in: Alias sashARCS as sash.
4781
d1989e2e
VS
47822013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4785 it's serial.
4786
1a25e72c
VS
47872013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * util/grub-install.in: Fix target fo qemu_mips.
4790 Fix extension on EFI.
4791
a59a9826
VS
47922013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4795 in front of chosen entry to mark it even if highlighting is lost.
4796
1a40f80c
VS
47972013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4800 gfxpayload=keep if cbfb is active.
4801
e343549c
VS
48022013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4805
45fbd9a2
VS
48062013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 Add missing video ids to coreboot and ieee1275 video.
4809
ab1440bd
VS
48102013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * util/grub-mkrescue.in: Add mips-arc support.
4813
cdeb8324
VS
48142013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4817
8528c879
VS
48182013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 Move mips-arc link address. Previous link address was chosen
4821 in belief that RAM on SGI platforms grows down while in fact it
4822 grows up from an unusual base.
4823
17fca573
VS
48242013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4827 Fix a type which prevented CD-ROM and floppy boot.
4828
d178788e
VS
48292013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 Support coreboot framebuffer.
4832
4833 * grub-core/video/i386/coreboot/cbfb.c: New file.
4834
fe4c3e7e
VS
48352013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4838 detecting too small regions.
4839
ec2dd179
VS
48402013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4843
872dac83
VS
48442013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4845
4846 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4847 Remove dprintf.
4848 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4849
90ec4b7f
VS
48502013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4853 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4854 * grub-core/loader/powerpc/ieee1275/linux.c
4855 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4856
f32555dd
VS
48572013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4860 Look for /boot-rom as well as /rom/boot-rom.
4861
38649799
VS
48622013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4865 handling when creating text_layer failed.
4866 * grub-core/video/video.c (grub_video_create_render_target):
4867 Set result to 0 on error.
4868 (grub_video_delete_render_target): Do not dereference NULL.
4869
aeace7f7
VS
48702013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4873 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4874 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4875 (grub_linux_load64): Mask out 2 high bits.
4876
4eafa175
AB
48772013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4878
4879 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4880 more place.
4881
daaa64bd
VS
48822013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 Add support for pseries and other bootinfo machines to grub-mkrescue.
4885
4886 Tested by: Paulo Flabiano Smorigo.
4887
d0d2daa6
VS
48882013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * util/grub-mkrescue.in: Add GPT for EFI boot.
4891
b193e100
VS
48922013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4895 It improves performance in qemu.
4896
a0f8f3ac
VS
48972013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * build-aux/snippet: Add missing gnulib files.
4900
284df0e2
AB
49012013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4902
4903 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4904
740201f3
AB
49052013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4906
4907 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4908
a7e03923
PJ
49092013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
49102013-04-15 Peter Jones <pjones@redhat.com>
4911
4912 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4913 sectors.
4914 Based on patch by Peter Jones.
4915
25fc51a8
VS
49162013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 Fix DMRAID partition handling.
4919
88017d47
VS
49202013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * tests/grub_cmd_date.in: Skip on sparc64.
4923
fa7d914e
VS
49242013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4927 firmware error messages.
4928
cbe57a48
VS
49292013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4932 source and destination differ.
4933
21aecce0
VS
49342013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4937 detection.
4938
25092d29
VS
49392013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4942 match config-util.h to avoid warnings and increase compatibility.
4943
79451522 49442013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 49452013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4946
4947 Add option to compress files on install/image creation.
4948
78b7d77b
VS
49492013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * docs/grub-dev.texi: Rearrange menu to match the section order.
4952 Reported by: Bryan Hundven.
4953
cc2fa5ec
VS
49542013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4957
b49fe879
VS
49582013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 Move GRUB out of system area when using xorriso 1.2.9 or later.
4961
5351da81
VS
49622013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * tests/grub_cmd_date.in: Add missing exit 1.
4965
c9d586ea
VS
49662013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * tests/partmap_test.in: Skip on sparc64.
4969
3f729741
VS
49702013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4971
4972 Support grub-shell on sparc64.
4973
8ca86b3a
VS
49742013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 Support mkrescue on sparc64.
4977
aa1af9bb
VS
49782013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4981 Needed on OpenBIOS due to incomplete device tree.
4982
ac4fea79
VS
49832013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4986 would be otherwise excluded.
4987
49882013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4989
4990 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4991 Inline name defines used only once.
4992
fe22b071
VS
49932013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 Fix memory leaks in ofnet.
4996 Reported by: Francesco Lavra.
4997
9d21381b
VS
49982013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 * docs/man/grub-glue-efi.h2m: Add missing file.
5001
07aec23c
VS
50022013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
5005
67ab8353
VS
50062013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 Better support Apple Intel Macs on CD.
5009
ba44ca6d
VS
50102013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 Replace stpcpy with grub_stpcpy in tools.
5013
bbdd6305
VS
50142013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 Handle Japanese special keys.
5017 Reported by: Hiroyuki YAMAMORI.
5018 Codes supplied by: Hiroyuki YAMAMORI.
5019
8573d302
VS
50202013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * util/grub-mkimage.c: Document memdisk implying --prefix.
5023
d70dbab7
VS
50242013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
5027 much we can do about it anyway.
5028
51a4c3e3
AN
50292013-04-12 Aleš Nesrsta <starous@volny.cz>
5030
5031 Fix handling of split transfers.
5032
92c8f58d
VS
50332013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * grub-core/net/http.c: Fix bad free.
5036
b7d17a49
VS
50372013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5040 than buffer size.
5041
a3d566d4
VS
50422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5045
a936af56
VS
50462013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * tests/util/grub-shell.in: Fix it on powerpc.
5049
51212234
VS
50502013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 Turn off QEMU ACPI-way since new releases don't have shutdown port
5053 anymore.
5054
a21eec9e
VS
50552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 * docs/grub.texi: Update coreboot status info.
5058
e3734b84
VS
50592013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 * tests/grub_cmd_date.in: New test for datetime.
5062
f9d40055
VS
50632013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 * tests/partmap_test.in: Fix missing qemudisk setting.
5066
dbc56d8f
VS
50672013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 Support i386-ieee1275 grub-mkrescue and make check on it.
5070
a79b8a15
VS
50712013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5074 feature for it.
5075
48f39bb4
VS
50762013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5079 GRUB_CMDLINE_XEN_DEFAULT.
5080 Reported by: Marc Warne (GigaTux) <gigatux>
5081
053cfcdd
VS
50822013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 Import new gnulib.
5085
93cd84df
VS
50862013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 Use ACPI shutdown intests as traditional port was removed.
5089
f4b1fa4f
AB
50902013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5091
5092 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5093 distinction.
5094
49818a59
VS
50952013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5098 Fix few warining messages and leaks while on it.
5099
9277a306
AB
51002013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5101
5102 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5103 links under grub-core/lib/libgcrypt-grub/mpi.
5104
d5e2a158
VS
51052013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 Fix ia64-efi image generation on big-endian machines. Deduplicate
5108 some code while on it.
5109 Reported by: Leif Lindholm.
5110
18866643
AB
51112013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5112
5113 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5114 as extra_dist.
5115
ca53deb8
AB
51162013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5117
5118 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5119
d4c4b8e1
BH
51202013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5121
5122 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5123 texinfo-5.1.
5124
47043f95
VS
51252013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * grub-core/normal/term.c: Few more fixes for menu entry editor
5128 rendering.
5129 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5130
a3216068
VS
51312013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * grub-core/normal/term.c: Few more fixes for menu entry editor
5134 rendering.
5135 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5136
21026747
AB
51372013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5138
5139 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5140 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5141
59624ca8
AB
51422013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5143
5144 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5145 instead of hardcoding grub.mo.
5146
1f44478c
FN
51472013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5148
5149 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5150
eeada7b1
VS
51512013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5154 grub-core/disk/geli.c.
5155
132867de
VS
51562013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 * util/grub-mkfont.c: Prefer enum to #define.
5159
de73de17
VS
51602013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
5163
1865baa7
VS
51642013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
5167
ce7d92a9
VS
51682013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5171
52eab656
VS
51722013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5175
98b23b95
VS
51762013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * include/grub/bsdlabel.h: Use enums.
5179
0467a5dd
VS
51802013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 Move GRUB_CHAR_BIT to types.h.
5183
16cc9f03
AB
51842013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5185
5186 * docs/grub.texi: Document more user commands.
5187
3152aecb
AB
51882013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5189
5190 * docs/grub.texi: Document menuentry --id option.
5191
c506fc30
FL
51922013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
5193
5194 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
5195
aa428238
VS
51962013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 Unify file copying setup across different install scripts. Add
5199 options for performing partial install.
5200
efe0cdda
PJ
52012013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
52022013-04-04 Peter Jones <pjones@redhat.com>
5203
5204 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5205
f75835bd
VS
52062013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 Use TSC as a possible time source on i386-ieee1275.
5209
2cd5ce6c
VS
52102013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5213 Init err.
5214
c9625630
VS
52152013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * util/grub-setup.c (setup): Handle some corner cases.
5218
be008941
VS
52192013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5222
1a78d573
VS
52232013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 * grub-core/commands/verify.c: Save verified file to avoid it being
5226 tampered with after verification was done.
5227
db8ff59f
VS
52282013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5231 reported width by one to compensate for curesor algorithm problem.
5232
91bf46b1
VS
52332013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 Fix screen corruption in menu entry editor and simplify the code
5236 flow while on it.
5237
a7b1d693
AB
52382013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5239
5240 * util/grub-mount.c (fuse_init): Return error if fuse_main
5241 failed.
5242
31df9ad8
FL
52432013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5244
5245 * include/grub/elf.h: Add missing ARM relocation codes and fix
5246 existing ones.
5247
07f392eb
VT
52482013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5249
5250 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5251
9efd73ec 52522013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
52532013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5256 into account when calculating radius.
5257
52582013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
5259
5260 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5261
4985ddaa
VT
52622013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5263
5264 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5265
8c3635ff
RS
52662013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5267
5268 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5269 missing closing bracket.
5270
74a35e69
RS
52712013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5272
5273 * INSTALL: Mention xorriso requirement.
5274
40f1c000
AB
52752013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5276
5277 * grub-core/commands/verify.c: Fix hash algorithms values for
5278 the first three hashes - they start with 1, not with 0.
5279
e75fdee4
VS
52802013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5283 Try terminating EFI services several times due to quirks in some
5284 implementations.
5285
33028f4c
CW
52862013-03-26 Colin Watson <cjwatson@ubuntu.com>
5287
5288 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5289 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5290 BankField extended opcodes.
5291 (get_sleep_type): Add minimal scope handling (just enough to
5292 handle setting the scope to the root path).
5293 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5294 * include/grub/acpi.h: Add enumeration values for Event, Device,
5295 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5296
33871a10
VT
52972013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5298
5299 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5300 memory leak.
5301
8990963a
VS
53022013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * grub-core/disk/ahci.c: Give more time for AHCI request.
5305
daae8f9e
VS
53062013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5309 command.
5310
6a7fb94b
VS
53112013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 Replace the region at 0 from coreboot tables to available in BSD
5314 memory map.
5315
ff99babd
VS
53162013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5319 non-BIOS platforms.
5320
30d6b1b2
VS
53212013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5324 platforms.
5325
6ccd0b31
VS
53262013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5329 handling of multi-device filesystems.
5330
23c9cc04
VS
53312013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5334 platforms.
5335
ce50dbd7
VS
53362013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 Add new 'proc' filesystem framework and put luks_script into it.
5339
d975e8d5
VS
53402013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5343 and qemu.
5344
e73ba5e8
VS
53452013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5348
92750e4c
VS
53492013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 Add ability to generate newc additions on runtime.
5352
0ec45a68
VS
53532013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5354
5355 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5356 description.
5357
320abd43
VS
53582013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 * po/POTFILES.in: Regenerate.
5361
d7a6506e
VS
53622013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * grub-core/commands/verify.c (hashes): Add several hashes
5365 from the spec.
5366
8fe05def
VS
53672013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 Slight improve in USB-related boot-time checkpoints.
5370
524e2766
VS
53712013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/commands/boottime.c: Fix copyright header.
5374
cc19857a
VS
53752013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5378 coreboot tables content. Support for cbmemc.
5379
ef8810e9
VS
53802013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 Fix a conflict between ports structures with 2 controllers of
5383 same kind.
5384
e9dabdfa
VS
53852013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * include/grub/boottime.h: Add missing file.
5388
f6df57d2
VS
53892013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 Initialize USB ports in parallel to speed-up boot.
5392
d745dda7
VS
53932013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 Fix USB devices not being detected when requested
5396 due to delayed attach.
5397
e5a2dd7b
VS
53982013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5399
e744219b
VS
5400 Implement boot time analysis framework.
5401
54022013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
5405 descriptor to just receive it as argument rather than endpoint
5406 address.
5407
5dd6f587
VS
54082013-03-19 Aleš Nesrsta <starous@volny.cz>
5409
5410 Better estimate the maximum USB transfer size.
5411
2f1071d5
VS
54122013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 Resend a packet if we got the wrong buffer in status.
5415
46ecfc49
VS
54162013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5419 multiplication rather than division.
5420
ea811130
VS
54212013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5424 than divisions.
5425
d2789cf0
VS
54262013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5429 operations to have intended shifts and not divisions.
5430
a9c94590
VS
54312013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5434 intended shifts rather than division.
5435
84cfe81b
VS
54362013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5439 computation for some years before epoch. Avode confusing division
5440 while on it.
5441
21344ef6
VS
54422013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 * grub-core/video/i386/pc/vbe.c
5445 (grub_video_vbe_print_adapter_specific_info): Replace division by
5446 shifts.
5447
3f2b4d1a
VS
54482013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 Adjust types in gdb module to have intended unsigned shifts rather than
5451 signed divisions.
5452
3dac5878
VS
54532013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5456 maximum size is 4G - 1 on hfs
5457
5341c0fb
VS
54582013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5461
fc3ff2a2
VS
54622013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5465 function.
5466
81455e8e
AB
54672013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5468
5469 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5470 causing gcc error with gcc 4.7.1.
5471
efd4f117
NZ
54722013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5473
5474 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5475 dereference null pointer. While the code is technically correct, gcc
5476 may eliminate a null check if pointer is already dereferenced.
5477
e11645f4
NZ
54782013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5479
5480 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5481 OOM check.
5482 * grub-core/normal/term.c (read_terminal_list): Likewise.
5483
77468368
VS
54842013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 Lift up core size limits on some platforms. Fix potential memory
5487 corruption with big core on small memory systems. Document remaining
5488 limits.
5489
f6b58fe5
VS
54902013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5493 gotoxy to 0,0.
5494
19ce697d
VS
54952013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 Remove all trampoline support. Add -Wtrampolines when
5498 present. Remove symbols used for trampolines to make
5499 link fail if trampolines are present.
5500
73b5d90f
VS
55012013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5504 append out of its parent.
5505
cb758e96
VS
55062013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5509 parent.
5510
3188131f
VS
55112013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5514 all vars to a macro. All users updated.
5515
e42b2514
VS
55162013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5519 i386-ieee1275.
5520
83e1a1a1
VS
55212013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5524
1d5a880f
VS
55252013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5528
6e4146c4
VS
55292013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 Move to more hookless approach in IEEE1275 devices handling.
5532
99fcda8a
VS
55332013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/kern/term.c (grub_term_normal_color),
5536 (grub_term_highlight_color): Add back lost defaults.
5537
73bf57e2
VS
55382013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 Make elfload not use hooks. Opt for flags and iterators instead.
5541
7f8c105f
VS
55422013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5545 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5546
396d4091
VS
55472013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5550
55512013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5554 hook pass-through parameter. All users updated and unnested.
5555
74a27421
VS
55562013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5559 out of its parent.
5560
b46d4213
VS
55612013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * grub-core/fs/hfs.c: Remove nested functions.
5564
e114c3cc
VS
55652013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5568 the context through.
5569 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5570
f9b7d780
VS
55712013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * util/grub-editenv.c (list_variables): Move print_var out of its
5574 parent.
5575
ca9c2608
VS
55762013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5579 function.
5580
5d983f5f
VS
55812013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * grub-core/gentrigtables.c: Make tables const.
5584
3056d3e7
VS
55852013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 Remove nested functions from videoinfo iterators.
5588
e2303774
VS
55892013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5592 for 64-bit platforms.
5593
f42e3a2f
VS
55942013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5597 a FOR_CHILDREN macro.
5598
be174e5e
VS
55992013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5602 platform from firmware path.
5603
0789b672
VS
56042013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 Enable linux16 on non-BIOS systems for i.a. memtest.
5607
5608 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5609 correctly.
5610 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5611
005a9c32
VS
56122013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5615 Fix end of table condition.
5616
ff2b3cd9
VS
56172013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5620 out of its parent.
5621
4fc40ff8
VS
56222013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * grub-core/fs/jfs.c: Remove nested functions.
5625
be42d97a
VS
56262013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/fs/minix.c: Remove nested functions.
5629
99373ce4
VS
56302013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5631
5632 * grub-core/fs/iso9660.c: Remove nested functions.
5633
5aec2afe
VS
56342013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5637 of parent function.
5638
6c69e691
VS
56392013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 * util/grub-fstest.c: Remove nested functions.
5642
43c91882
VS
56432013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * grub-core/loader/machoXX.c: Remove nested functions.
5646
4eb8b756
CW
56472013-02-27 Colin Watson <cjwatson@ubuntu.com>
5648
5649 Remove nested functions from disk and file read hooks.
5650
5651 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5652 (struct grub_disk): Add read_hook_data member.
5653 * include/grub/file.h (struct grub_file): Likewise.
5654 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5655 argument.
5656
5657 Update all callers.
5658
df6da5a5
AB
56592012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5660
5661 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5662 Fix off by one error in enumerating extended partitions.
5663
21aecde5
AB
56642013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5665
5666 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5667 memory leak if device name is not found.
5668
f1a19118
AB
56692013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5670
5671 * grub-core/normal/menu_entry.c (update_screen): remove
5672 unused variable `off' which caused scroll down arrow to be always shown.
5673
958bfd20
AB
56742013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5675
5676 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5677 access to unallocated memory.
5678
b7b78edb
AB
56792013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5680
5681 * Makefile.util.def: Add partmap/msdos.c to common library.
5682 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5683 * grub-core/disk/ldm.c: Check for existence of
5684 GRUB_PC_PARTITION_TYPE_LDM.
5685
28d468d6
VS
56862013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5689 sizes and display sector size.
5690
d55ffb02
VS
56912013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 Implement new command cmosdump.
5694
b5ea6ce0
VS
56952013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5696
5697 Support Openfirmware disks with non-512B sectors.
5698
5699 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5700 size of the disk.
5701 * (grub_ofdisk_get_block_size): New function.
5702 * (grub_ofdisk_prepare): Use the correct block size.
5703 * (grub_ofdisk_read): Likewise.
5704 * (grub_ofdisk_write): Likewise.
5705 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5706 New proto.
5707
cc0e476f
VS
57082013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5711
c5dbdc33
VS
57122013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5715 on first error.
5716
3f078c0f
VS
57172013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5720 freeing it.
5721
66a93674
VS
57222013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 Implement USBDebug (full USB stack variant).
5725
c9f0c134
VS
57262013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5729 unless they have unexpected values.
5730
cfe1288b
VS
57312013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5734 grub_print_error.
5735
e42b9969
VS
57362013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5739 zero-out of port structure.
5740
cf94fd62
VS
57412013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5744 of extended attributes.
5745
f81ef4b5
AB
57462013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5747
5748 * util/grub-install.in: change misleading comment about
5749 device.map creation
5750
af18fdb4
VS
57512013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5754 when menu highlight color isn't set.
5755
08bcec50
M
57562013-01-27 C. Masloch <pushbx@38.de>
5757
5758 Improve FreeDOS direct loading support compatibility.
5759
5760 * include/grub/i386/relocator.h (grub_relocator16_state):
5761 New member ebp.
5762 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5763 variable.
5764 (grub_relocator16_boot): Handle %ebp.
5765 * grub-core/lib/i386/relocator16.S: Likewise.
5766 * grub-core/loader/i386/pc/freedos.c:
5767 Load BPB to pass kernel which partition to load from.
5768 Check that kernel file is not too large.
5769 Set register dl to BIOS unit number as well.
5770
7782b8a6
CW
57712013-01-22 Colin Watson <cjwatson@ubuntu.com>
5772
5773 * util/grub-reboot.in (usage): Document the need for
5774 GRUB_DEFAULT=saved.
5775 * util/grub-set-default.in (usage): Likewise.
5776 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5777
e661c180
VS
57782013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5781 than defining WORDS_BIGENDIAN manually.
5782
1c22ca9a
VS
57832013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5786 invariants.
5787
d44892fe
CW
57882013-01-21 Colin Watson <cjwatson@ubuntu.com>
5789
5790 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5791 nested.
5792 (blit_comb: add_device_width): Likewise.
5793
5fdbaed1
CW
57942013-01-21 Colin Watson <cjwatson@ubuntu.com>
5795
5796 Remove nested functions from USB iterators.
5797
5798 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5799 (grub_usb_controller_iterate_hook_t): Likewise.
5800 (grub_usb_iterate): Add hook_data argument.
5801 (grub_usb_controller_iterate): Likewise.
5802 (struct grub_usb_controller_dev.iterate): Likewise.
5803
5804 Update all implementations and callers.
5805
4250985a
VS
58062013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5809 margin when not needed.
5810
7d8848f3
VS
58112013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5812
bc136973 5813 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5814
58152013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5816
bc136973
VS
5817 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5818 asterisk.
7d8848f3 5819
ed12a003
CW
58202013-01-21 Colin Watson <cjwatson@ubuntu.com>
5821
5822 Fix powerpc and sparc64 build failures caused by un-nesting memory
5823 map iterators.
5824
6a0db449
CW
58252013-01-21 Colin Watson <cjwatson@ubuntu.com>
5826
5827 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5828 parameter declarations.
5829
ccd86b21
VS
58302013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5833
822b726b
VS
58342013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 Improve spkmomdem reliability by adding a separator between bytes.
5837
115c2cc1
CW
58382013-01-21 Colin Watson <cjwatson@ubuntu.com>
5839
5840 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5841 an Acer registration utility with several sightings in the wild.
5842 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5843
fc524edf
CW
58442013-01-21 Colin Watson <cjwatson@ubuntu.com>
5845
5846 Remove nested functions from filesystem directory iterators.
5847
5848 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5849 (struct grub_fs.dir): Add hook_data argument.
5850
5851 Update all implementations and callers.
5852
53d3e4e3
CW
58532013-01-21 Colin Watson <cjwatson@ubuntu.com>
5854
5855 * docs/grub.texi (Multi-boot manual config): Fix typo for
5856 "recommended".
5857
c821711f
LL
58582013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5859
5860 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5861 until after its use in generate_image.
5862
6a0debbd
CW
58632013-01-20 Colin Watson <cjwatson@ubuntu.com>
5864
5865 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5866 initrd size to addr_min, since the initrd will be allocated after
5867 this address.
5868
f41e08db
AB
58692013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5870
5871 * conf/Makefile.common: Fix autogen rules to pass definition
5872 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5873
77529e0f
LL
58742013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5875
5876 * include/grub/elf.h: Update ARM definitions based on binutils.
5877
b879aa7b
VS
58782013-01-20 Aleš Nesrsta <starous@volny.cz>
5879
5880 Split long USB transfers into short ones.
5881
8eb8284d
AB
58822013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5883
5884 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5885 is interrupted by ESC.
5886
08dad2dc
VS
58872013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * util/grub-script-check.c (main): Uniform the error message.
5890
6c724b85
CW
58912013-01-20 Colin Watson <cjwatson@ubuntu.com>
5892
5893 Remove nested functions from ELF iterators.
5894
25239370
CW
58952013-01-20 Colin Watson <cjwatson@ubuntu.com>
5896
5897 Remove nested functions from device iterators.
5898
5899 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5900 (grub_arc_iterate_devs): Add hook_data argument.
5901 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5902 (struct grub_ata_dev.iterate): Add hook_data argument.
5903 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5904 (grub_device_iterate): Add hook_data argument.
5905 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5906 (struct grub_disk_dev.iterate): Add hook_data argument.
5907 (grub_disk_dev_iterate): Likewise.
5908 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5909 Likewise.
5910 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5911 Likewise.
5912 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5913 type.
5914 (struct grub_partition_map.iterate): Add hook_data argument.
5915 (grub_partition_iterate): Likewise.
5916 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5917 (struct grub_scsi_dev.iterate): Add hook_data argument.
5918
5919 Update all callers.
5920
6c0314d6
CW
59212013-01-20 Colin Watson <cjwatson@ubuntu.com>
5922
5923 Fix typos for "developer" and "development".
5924
600dc5f1
VS
59252013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 Add license header to spkmodem-recv.c.
5928
17334a6b
VS
59292013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 Rewrite spkmodem to use PIT for timing. Double the speed.
5932
7d462559
VS
59332013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 Add new command pcidump.
5936
b78d6c32
VS
59372013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 New terminal outputs using serial: morse and spkmodem.
5940
34f71cb8
VS
59412013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5942
5943 Improve bidi handling in entry editor.
5944
4542e71b
VS
59452013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5948 argument to prevent name collision.
5949
09fd6d82
CW
59502013-01-15 Colin Watson <cjwatson@ubuntu.com>
5951
5952 Remove nested functions from script reading and parsing.
5953
5954 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5955 getline_data argument, passed to getline.
5956 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5957 getline_data argument, passed to grub_parser_split_cmdline.
5958 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5959 lexerstate->getline_data to lexerstate->getline.
5960 (grub_script_lexer_init): Add getline_data argument, saved in
5961 lexerstate->getline_data.
5962 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5963 argument, passed to grub_script_parse.
5964 * grub-core/script/script.c (grub_script_parse): Add getline_data
5965 argument, passed to grub_script_lexer_init.
5966 * include/grub/parser.h (grub_parser_split_cmdline): Update
5967 prototype. Update all callers to pass appropriate getline data.
5968 (struct grub_parser.parse_line): Likewise.
5969 (grub_rescue_parse_line): Likewise.
5970 * include/grub/reader.h (grub_reader_getline_t): Add void *
5971 argument.
5972 * include/grub/script_sh.h (struct grub_lexer_param): Add
5973 getline_data member.
5974 (grub_script_parse): Update prototype. Update all callers to pass
5975 appropriate getline data.
5976 (grub_script_lexer_init): Likewise.
5977 (grub_normal_parse_line): Likewise.
5978
5979 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5980 data argument.
5981 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5982 static instead of nested. Rename to ...
5983 (grub_parser_execute_getline): ... this.
5984 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5985 data argument.
5986 * grub-core/normal/main.c (read_config_file: getline): Make static
5987 instead of nested. Rename to ...
5988 (read_config_file_getline): ... this.
5989 (grub_normal_read_line): Add unused data argument.
5990 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5991 getline): Make static instead of nested. Rename to ...
5992 (grub_script_execute_sourcecode_getline): ... this.
5993 * util/grub-script-check.c (main: get_config_line): Make static
5994 instead of nested.
5995
d0d4b8a0
CW
59962013-01-15 Colin Watson <cjwatson@ubuntu.com>
5997
5998 Remove nested functions from memory map iterators.
5999
6000 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
6001 argument, passed to hook.
6002 * grub-core/kern/i386/coreboot/mmap.c
6003 (grub_linuxbios_table_iterate): Likewise.
6004 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
6005 instead of nested.
6006 (grub_machine_mmap_iterate): Add hook_data argument.
6007 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
6008 Add hook_data argument, passed to hook.
6009 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
6010 Likewise.
6011 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
6012 Likewise.
6013 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
6014 Likewise.
6015 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
6016 Likewise.
6017 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
6018 Likewise.
6019 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
6020 Likewise.
6021 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
6022 (grub_machine_mmap_iterate): Likewise.
6023 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
6024 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
6025 prototype.
6026 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
6027 Remove NESTED_FUNC_ATTR from here and from all users.
6028 (grub_mmap_iterate): Update prototype.
6029 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6030 pass appropriate hook data.
6031 (grub_machine_mmap_iterate): Likewise.
6032
6033 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6034 static instead of nested.
6035 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6036 Rename to ...
6037 (lsmmap_hook): ... this.
6038 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6039 Likewise.
6040 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6041 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6042 heap_init): Likewise.
6043 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6044 Rename to ...
6045 (mmap_iterate_hook): ... this.
6046 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6047 Likewise.
6048 * grub-core/lib/ieee1275/relocator.c
6049 (grub_relocator_firmware_get_max_events: count): Likewise.
6050 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6051 to ...
6052 (grub_relocator_firmware_fill_events_iter): ... this.
6053 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6054 hook): Likewise. Rename to ...
6055 (grub_relocator_alloc_chunk_align_iter): ... this.
6056 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6057 Rename to ...
6058 (generate_e820_mmap_iter): ... this.
6059 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6060 Rename to ...
6061 (count_hook): ... this.
6062 (grub_linux_boot: hook): Likewise. Rename to ...
6063 (grub_linux_boot_mmap_find): ... this.
6064 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6065 (grub_linux_boot_mmap_fill): ... this.
6066 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6067 hook): Likewise. Rename to ...
6068 (grub_fill_multiboot_mmap_iter): ... this.
6069 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6070 hook): Likewise. Rename to ...
6071 (count_hook): ... this.
6072 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6073 hook): Likewise. Rename to ...
6074 (grub_fill_multiboot_mmap_iter): ... this.
6075 * grub-core/loader/powerpc/ieee1275/linux.c
6076 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6077 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6078 Likewise. Rename to ...
6079 (alloc_phys_choose): ... this.
6080 (determine_phys_base: get_physbase): Likewise.
6081 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6082 find_hook): Likewise.
6083 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6084 (malloc_hook: count_hook): Likewise.
6085 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6086 Likewise. Rename to ...
6087 (lower_hook): ... this.
6088 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6089 (upper_hook): ... this.
6090 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6091 (post64_hook): ... this.
6092 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6093 Likewise. Rename to ...
6094 (lower_hook): ... this.
6095 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6096 (upper_hook): ... this.
6097 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6098 (grub_mmap_iterate: fill_hook): Likewise.
6099 (fill_mask): Pass addr and mask within a single struct.
6100 (grub_cmd_badram: hook): Make static instead of nested. Rename
6101 to ...
6102 (badram_iter): ... this.
6103 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6104 (cutmem_iter): ... this.
6105
22099030
VS
61062013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6109 delimit path in strings using quotes.
6110 * util/getroot.c (grub_guess_root_devices): Likewise.
6111 (grub_make_system_path_relative_to_its_root): Likewise.
6112 * util/grub-probe.c (probe): Likewise.
6113 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6114 (xrealpath): Likewise.
6115
4a9950ec
VS
61162013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 Fix compilation with older compilers.
6119
6120 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6121 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6122 declarations.
6123 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6124 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6125 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6126 identifier with b.
6127 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6128 * include/grub/crypto.h: Add type defines.
6129 * util/import_gcrypth.sed: Remove duplicate type defines.
6130
adcc6020
VS
61312013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 New command list_trusted.
6134
6135 * grub-core/commands/verify.c (grub_cmd_list): New function.
6136
a4528937
CW
61372013-01-13 Colin Watson <cjwatson@ubuntu.com>
6138
6139 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6140 info message.
6141
ca3a7446
CW
61422013-01-13 Colin Watson <cjwatson@ubuntu.com>
6143
6144 Remove nested functions from PCI iterators.
6145
6146 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6147 passed to hook. Update all callers to pass appropriate hook data.
6148 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6149 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6150 Remove NESTED_FUNC_ATTR from here and from all users.
6151 (grub_pci_iterate): Update prototype.
6152 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6153 instead of nested. Rename to ...
6154 (grub_cs5536_find_iter): ... this.
6155 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6156 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6157 Likewise.
6158 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
6159 Likewise.
6160 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
6161 Likewise.
6162 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
6163 Likewise.
6164 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
6165 * grub-core/video/radeon_fuloong2e.c
6166 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
6167 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
6168 find_card): Likewise.
6169 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6170 Likewise.
6171
f8e98fee
VS
61722013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 * grub-core/commands/verify.c: Mark messages for translating.
6175
055b36b6
VS
61762013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6179 fatal.
6180
f7ff879b
VS
61812013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6184 fatal.
6185
61862013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
6187
6188 * autogen.sh: Do not try to delete nonexistant files.
6189 * util/import_gcrypth.sed: Add some missing header removals.
6190
01323d49
CW
61912013-01-12 Colin Watson <cjwatson@ubuntu.com>
6192
6193 Clean up dangling references to grub-setup.
6194 Fixes Ubuntu bug #1082045.
6195
6196 * docs/grub.texi (Images): Refer generally to grub-install rather
6197 than directly to grub-setup.
6198 (Installing GRUB using grub-install): Remove direct reference to
6199 grub-setup.
6200 (Device map) Likewise.
6201 (Invoking grub-install): Likewise.
6202 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6203 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6204 * util/grub-install.in (usage): Likewise.
6205
6206 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6207 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6208 grub-setup.
6209 * configure.ac: Remove grub_setup output variable.
6210
6211 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6212 to grub-bios-setup.
6213 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6214 grub-setup to grub-sparc64-setup.
6215
5e3b8dcb
VS
62162013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 Import gcrypt public-key cryptography and implement signature checking.
6219
535714bd
VS
62202013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * grub-core/fs/ntfs.c: Ue more appropriate types.
6223 * grub-core/fs/ntfscomp.c: Likewise.
6224 * include/grub/ntfs.h: Likewise.
6225
3e4f3566
VS
62262013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 Support Apple FAT binaries on non-Apple platforms.
6229
6230 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6231 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6232 Likewise.
6233 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6234 Apple FAT binaries.
6235
4dedb13f
VS
62362013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6239 sector devices.
6240
f8861eaf
CW
62412013-01-07 Colin Watson <cjwatson@ubuntu.com>
6242
6243 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6244 explicitly zeroing elements.
6245 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6246 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
6247 of elements in a structure already allocated using grub_zalloc.
6248 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6249
86065b0a
CW
62502013-01-07 Colin Watson <cjwatson@ubuntu.com>
6251
6252 * docs/grub.texi (grub_cpu): New subsection.
6253 (grub_platform): Likewise.
6254
c6f1e92f
VS
62552013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6258
f797ec85
VS
62592013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6262 divisions.
6263
033d0b4b
VS
62642013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6267 * grub-core/fs/ntfscomp.c: Likewise.
6268 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6269 (grub_ntfs_comp): Likewise.
6270
21d1b9a0
VS
62712013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6274 Rename to ...
6275 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6276 of groups_per_block. All users updated.
6277
10ca8645
VS
62782013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6281 grub_error properly.
6282 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6283 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6284
a4c3ed4c
VS
62852013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6288 always in /boot/zfs.
6289 Reported by: Yuta Satoh.
6290
0b716507
YS
62912013-01-03 Yuta Satoh <nigoro>
6292
6293 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6294 ${grub_probe}
6295
00c05e22
VS
62962013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * configure.ac: Extend -Wno-trampolines to host.
6299
dadddb76
VS
63002013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6303 entry->len = 0.
6304
54ce53ca
CW
63052013-01-03 Colin Watson <cjwatson@ubuntu.com>
6306
6307 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6308 (Invoking grub-script-check): Likewise.
6309
8912efca
CW
63102013-01-03 Colin Watson <cjwatson@ubuntu.com>
6311
6312 * docs/grub.texi (Invoking grub-mount): New section.
6313 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6314
c3fc8394
CW
63152013-01-02 Colin Watson <cjwatson@ubuntu.com>
6316
6317 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6318 test failures, so that a failing unit test correctly causes 'make
6319 check' to fail.
6320
45d26abb
CW
63212013-01-02 Colin Watson <cjwatson@ubuntu.com>
6322
6323 Fix failing printf test.
6324
6325 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6326 '$' in the correct order when collecting type information.
6327
971dd2c6
CW
63282013-01-02 Colin Watson <cjwatson@ubuntu.com>
6329
6330 * docs/grub.texi (configfile): Explain environment variable
6331 handling.
6332 (source): New section.
6333 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6334
5c67ea6c
CW
63352012-12-31 Colin Watson <cjwatson@ubuntu.com>
6336
6337 Remove several trivially-unnecessary uses of nested functions.
6338
6339 * grub-core/commands/i386/pc/sendkey.c
6340 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6341 instead of nested.
6342 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6343 Rename to ...
6344 (legacy_file_getline): ... this.
6345 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6346 Likewise.
6347 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6348 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6349 to ...
6350 (probe_dummy_iter): ... this.
6351 * grub-core/kern/i386/coreboot/mmap.c
6352 (grub_linuxbios_table_iterate: check_signature): Likewise.
6353 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6354 check_varstate): Likewise. Mark inline.
6355 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6356 an additional parameter.
6357 (find_long: fnd_long): Likewise. Pass two additional parameters.
6358 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6359 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6360 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6361 Likewise. Rename to ...
6362 (grub_cmos_find_port_iter): ... this.
6363 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6364 Rename to ...
6365 (find_rtc_iter): ... this.
6366
6367 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6368 function directly into the function body, since it is only called
6369 once.
6370
33a68ac6
CW
63712012-12-30 Colin Watson <cjwatson@ubuntu.com>
6372
6373 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6374 __attribute__ ((unused)).
6375 * grub-core/video/bochs.c (find_card): Likewise.
6376 * grub-core/video/cirrus.c (find_card): Likewise.
6377 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6378 * grub-core/video/sis315pro.c (find_card): Likewise.
6379 * grub-core/video/sm712.c (find_card): Likewise.
6380
608b647a
CW
63812012-12-28 Colin Watson <cjwatson@ubuntu.com>
6382
6383 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6384 Fixes Savannah bug #37821.
6385
fd49ceb3
CW
63862012-12-28 Colin Watson <cjwatson@ubuntu.com>
6387
6388 Apply program name transformations at build-time rather than at
6389 run-time. Fixes Debian bug #696465.
6390
6391 * acinclude.m4 (grub_TRANSFORM): New macro.
6392 * configure.ac: Create output variables with transformed names for
6393 most programs.
6394 * util/bash-completion.d/grub-completion.bash.in: Use
6395 pre-transformed variables for program names.
6396 * util/grub-install.in: Likewise.
6397 * util/grub-kbdcomp.in: Likewise.
6398 * util/grub-mkconfig.in: Likewise.
6399 * util/grub-mkconfig_lib.in: Likewise.
6400 * util/grub-mknetdir.in: Likewise.
6401 * util/grub-mkrescue.in: Likewise.
6402 * util/grub-mkstandalone.in: Likewise.
6403 * util/grub-reboot.in: Likewise.
6404 * util/grub-set-default.in: Likewise.
6405 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6406 * tests/util/grub-shell-tester.in: Remove unused assignment.
6407 * tests/util/grub-shell.in: Likewise.
6408 * util/grub.d/00_header.in: Likewise.
6409
7024b3c0
CW
64102012-12-28 Colin Watson <cjwatson@ubuntu.com>
6411
6412 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6413
6414 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6415 HAVE_RAW_DECL_GETS.
6416 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6417
e3501b13
VS
64182012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6421 Reported by: Eriks Latosheks <foresterlv>.
6422
b40c88a9
VS
64232012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * docs/grub.texi (Network): Update instructions on generating netboot
6426 image.
6427
ce96d01c
VS
64282012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6431 around device name if necessarry.
6432
0f596201
PFS
64332012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6434
6435 * util/grub-install.in: Follow the symbolic link parameter added
6436 to the file command.
6437
600d5bdb
AB
64382012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6439
6440 * util/grub-install.in: Remove stale TODO.
6441
64ebd2f4
PFS
64422012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6443
6444 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6445 dynamic allocation for the bootpath buffer.
6446
74b2fe3e
DTB
64472012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6448
6449 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6450 window too small.
6451
969b804f
VS
64522012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6455 argument rather than font name. All users updated.
6456 (grub_gfxterm_set_window): Likewise.
6457
b9f5ebd6
VT
64582012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6459
6460 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6461 from working.
6462
258f43b7
VS
64632012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * util/getroot.c (convert_system_partition_to_system_disk): Support
6466 nbd disks.
6467
cc1ce5f9
VS
64682012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6471 infinite loop on corrupted FS.
6472
e77a16ca
VS
64732012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 Fix big-endian mtime.
6476
6477 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6478 together sec and usec.
6479 (grub_ufs_dir): Use correct byteswapping for UFS time.
6480
d9c48c7b
VS
64812012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 Support big-endian UFS1.
6484
6485 * Makefile.util.def (libgrubmods): Add ufs_be.c
6486 * grub-core/Makefile.core.def (ufs1_be): New module.
6487 * grub-core/fs/ufs_be.c: New file.
6488 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6489 the file.
6490
2f9f40ba
LL
64912012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6492
6493 * include/grub/types.h: Fix functionality unaffecting typo in
6494 GRUB_TARGET_WORDSIZE conditional macro.
6495
48ff0889
PFS
64962012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6497
6498 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6499
03711240
GS
65002012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6501
6502 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6503 that /netbsd appears first (when it exists).
6504
a31b11bd
CJ
65052012-10-12 Christoph Junghans <ottxor@gentoo.org>
6506
6507 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6508 Fixes Savannah bug #37558.
6509
e8a5d5d4
CW
65102012-10-12 Colin Watson <cjwatson@ubuntu.com>
6511
6512 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6513 description of extract_entries_configfile.
6514
65152012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6516
6517 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6518 preferred_address.
6519 (grub_cmd_linux): Likewise.
6520 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6521 preferred_lifetime. Update all users.
6522
288c757d
CW
65232012-09-26 Colin Watson <cjwatson@ubuntu.com>
6524
6525 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6526 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6527
0d35da3f
CW
65282012-09-26 Colin Watson <cjwatson@ubuntu.com>
6529
6530 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6531 errors from grub-probe to /dev/null, not stdout.
6532
b78c3127
VS
65332012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6536 sector 1.
6537
473959f0
CW
65382012-09-24 Colin Watson <cjwatson@ubuntu.com>
6539
6540 * util/grub-install.in: Make the error message if $source_dir
6541 doesn't exist more useful.
6542
794c8c33
CW
65432012-09-22 Colin Watson <cjwatson@ubuntu.com>
6544
6545 Fix grub-emu build on FreeBSD.
6546
6547 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6548 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6549 headers on Linux.
6550 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6551 implementation is currently Linux-specific.
6552 * util/getroot.c (exec_pipe): Define only on Linux or when either
6553 libzfs or libnvpair is unavailable.
6554 (find_root_devices_from_poolname): Remove unused path variable.
6555
86d08fdb
CW
65562012-09-19 Colin Watson <cjwatson@ubuntu.com>
6557
6558 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6559 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6560 should fit before end == 63.
6561
735abf54
CW
65622012-09-19 Colin Watson <cjwatson@ubuntu.com>
6563
6564 * util/grub-setup.c (write_rootdev): Remove unused core_img
6565 parameter. Update all callers.
6566 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6567 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6568 GRUB_SETUP_BIOS.
6569
140acd3c
VS
65702012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6573 (grub_add_tab): New function.
6574 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6575 * util/grub.d/10_illumos.in: Likewise.
6576 * util/grub.d/10_kfreebsd.in: Likewise.
6577 * util/grub.d/10_linux.in: Likewise.
6578 * util/grub.d/10_netbsd.in: Likewise.
6579 * util/grub.d/10_windows.in: Likewise.
6580 * util/grub.d/10_xnu.in: Likewise.
6581 * util/grub.d/20_linux_xen.in: Likewise.
6582 * util/grub.d/30_os-prober.in: Likewise.
6583
7ddffdad
VS
65842012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6587 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6588 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6589 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6590 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6591 ieee1275-nocursor.
6592 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6593 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6594
4e092454
VS
65952012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6598 le-conversion.
6599 Reported by: BURETTE, Bernard.
6600
735abf54 66012012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6602
6603 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6604 from comment.
6605
dfd39dbd
CW
66062012-09-14 Colin Watson <cjwatson@ubuntu.com>
6607
6608 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6609 IEEE1275 machines. Fixes powerpc-emu compilation.
6610 * include/grub/terminfo.h: Likewise.
6611
3bfa763c
VS
66122012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6615 a const pointer.
6616 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6617 const pointer.
6618 (efiemu_set_variable): Make vendor_guid a const pointer.
6619
250e475b
VS
66202012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 Don't require grub-mkconfig_lib to generate manpages for programs.
6623
6624 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6625 dependencies, don't add grub-mkconfig_lib.
6626 (program): Pass empty adddeps.
6627 (script): Pass grub-mkconfig_lib as adddeps.
6628
592fd0e4
VS
66292012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6632 * util/getroot.c (grub_find_device): Likewise.
6633 (get_mdadm_uuid): Likewise.
6634 (grub_util_is_imsm): Likewise.
6635 (grub_util_pull_device): Likewise.
6636 * util/grub-probe.c (probe): Likewise.
6637
801a3027
BG
66382012-09-10 Benoit Gschwind <gschwind>
6639
6640 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6641 (devs): Add devpath_8.
6642
c5052c81
PJ
66432012-09-08 Peter Jones <pjones@redhat.com>
6644
6645 * grub-core/Makefile.core.def (efifwsetup): New module.
6646 * grub-core/commands/efi/efifwsetup.c: New file.
6647 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6648 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6649 New define.
6650 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6651
8e832f71
JS
66522012-09-05 Jiri Slaby <jslaby@suse.cz>
6653
6654 * configure.ac: Add SuSe path.
6655
f0f55752
CW
66562012-09-05 Colin Watson <cjwatson@ubuntu.com>
6657
6658 * NEWS: Fix typo.
6659
ecadc4c2
CW
66602012-09-05 Colin Watson <cjwatson@ubuntu.com>
6661
6662 * util/import_gcry.py: Sort cipher_files, to make build system
6663 generation more deterministic.
6664
64498f25
VS
66652012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6668 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6669 (grub_set_datetime): Likewise.
6670
9cc836a2
VS
66712012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6674 warnings.
6675
bcfcea01
VS
66762012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6679
a4099485
VS
66802012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6683
265c162a
CW
66842012-09-04 Colin Watson <cjwatson@ubuntu.com>
6685
6686 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6687 required for checkouts from bzr, but it may be useful for users or
6688 distributors wishing to update translations against a tarball
6689 distribution, and it can be helpful for the tarball to be a superset
6690 of what's in bzr.
6691
3d171e95
CW
66922012-09-04 Colin Watson <cjwatson@ubuntu.com>
6693
6694 * Makefile.am (EXTRA_DIST): Add
6695 grub-core/tests/boot/linux.init-mips.S,
6696 grub-core/tests/boot/linux.init-ppc.S, and
6697 grub-core/tests/boot/linux-ppc.cfg.
6698
f2c2503e
CW
66992012-09-04 Colin Watson <cjwatson@ubuntu.com>
6700
6701 * grub-core/mmap/mips/loongson: Remove empty directory.
6702
67032012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6704
6705 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6706 gone.
6707
ab2163d5
CW
67082012-09-04 Colin Watson <cjwatson@ubuntu.com>
6709
6710 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6711 grub-sparc64-setup.
6712
ce938140
GS
67132012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6714
6715 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6716
529f58a5
GS
67172012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6718
6719 * po/POTFILES.in: Regenerated.
6720
16cf79e9
GS
67212012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6722
6723 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6724 (NetBSD): New subsection.
6725
39b27f1e 67262012-07-22 Ales Nesrsta <starous@volny.cz>
6727
6728 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6729 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6730
a885261b
VS
67312012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6734 * util/grub.d/10_hurd.in: Add missing quoting.
6735 * util/grub.d/10_illumos.in: Likewise.
6736 * util/grub.d/10_kfreebsd.in: Likewise.
6737 * util/grub.d/10_linux.in: Likewise.
6738 * util/grub.d/20_linux_xen.in: Likewise.
6739
7bd29c01
VS
67402012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 New command `lsefi'.
6743
6744 * grub-core/Makefile.core.def (lsefi): New module.
6745 * grub-core/commands/efi/lsefi.c: New file.
6746 * include/grub/efi/api.h: Add more GUIDs.
6747
ac625d8f
VS
67482012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6751 (grub_bsd_elf32_hook): Likewise.
6752 (grub_bsd_elf64_size_hook): Likewise.
6753 (grub_bsd_elf64_hook): Likewise.
6754 (grub_bsd_load_elf): Likewise.
6755
e73bb801
VS
67562012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6759 if hash function is unavailable.
6760 (dec_stream_header): Likewise.
6761
e81db8b5
VS
67622012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6765 filter state.
6766
d187a1c3
VS
67672012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 Fix coreboot compilation.
6770
6771 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6772 (grub_vga_text_init_real): ... this.
6773 (grub_vga_text_fini): Rename to ...
6774 (grub_vga_text_fini_real): ... this.
6775
91a05f64
VS
67762012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6779
6af96df7
VS
67802012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * grub-core/lib/legacy_parse.c: Support clear and testload.
6783
4d569e12
VS
67842012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6787
073b57bb
VS
67882012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6791
a706f4cc
VS
67922012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * grub-core/net/tftp.c (ack): Fix endianness problem.
6795 (tftp_receive): Likewise.
6796 Reported by: Michael Davidsaver.
6797
e7850aa9
VS
67982012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6801
68022012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6805 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6806 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6807
35692881
VS
68082012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6811 efi_mmap_size.
6812 Reported by: Stuart Hayes.
6813
c35fc5bd
VS
68142012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6817
6818 * grub-core/Makefile.core.def (mda_text): New module.
6819 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6820 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6821 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6822 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6823 here.
6824 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6825 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6826 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6827 here.
6828 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6829 to ..
6830 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6831 ... here
6832 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6833 here.
6834 * grub-core/term/i386/vga_common.c: Removed.
6835 * include/grub/i386/vga_common.h: Likewise.
6836 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6837 (grub_vga_cr_bw_read): Likewise.
6838 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6839 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6840 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6841 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6842 grub_vga_cr_read/grub_vga_cr_write.
6843 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6844
5f91f701
VS
68452012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * configure.ac: Bump version to 2.00.
6848 * grub-core/normal/main.c (features): Add feature_200_final.
6849
0c4f85f6
VS
68502012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
68512012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6852
6853 * NEWS: Fix unclarity and language mistakes.
6854
f923ad22
VS
68552012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6856
6857 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6858 additional size to 3 pages.
6859 Reported by: Stuart Hayes.
6860
d22029ba
VS
68612012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * NEWS: Add 2.00 entry.
6864
58eee08f
VS
68652012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6868 put explicit "/" for empty path.
6869 (wildcard_expand): Improve dprintf.
6870
c59bdff7
VS
68712012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6874 it's equal to currnode. This can happen with "" symlink.
6875
5e6a440a
YB
68762012-06-27 Yves Blusseau <blusseau@zetam.org>
6877
6878 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6879 echo shell command by printf command.
6880
73a68bcb
VS
68812012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6884 the value returned by firmware is the maximal position, not diumension.
6885 (grub_terminfo_output_state): Use a more sane fallback.
6886
392a603b
VS
68872012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6888
6889 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6890
42d0867f
VS
68912012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6894 frequency to 150 MHz.
6895
489509f4
VS
68962012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 Apple fixes.
6899
6900 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6901 __APPLE_
6902 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6903 definition.
6904 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6905
9f3fc883
VS
69062012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 Handle slash in HFS label.
6909
6910 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6911 (grub_hfs_dir): Tanslate slash.
6912 (grub_hfs_label): Don't translate slash.
6913
54853fd7
VS
69142012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6917 network protocol listing since it introduces problematic dependency on
6918 net module.
6919
4dc02ddf
VS
69202012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6923
c50c867d
VS
69242012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 Init video early on yeeloong to avoid being rebooted by watchdog.
6927
6928 * grub-core/Makefile.am (gensm712): New target.
6929 (sm712_start.S): Likewise.
6930 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6931 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6932 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6933 description.
6934 * include/grub/vga.h: Move registry definitions to...
6935 * include/grub/vgaregs.h: ... here.
6936
5f92c8a1
VS
69372012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6940 signedness.
6941
e9e6f111
VS
69422012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6945 platforms with firmware disk drivers in the core.
6946
754ad9eb
VS
69472012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6950 informative verbose message.
6951 (read_lv): Handle 64-bit segment size.
6952
315654c2
VS
69532012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6956
fb022c79
VS
69572012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6960 character but still remove trainling spaces.
6961 (grub_fat_label): Ignore archive flag.
6962
8645f72c
VS
69632012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6966 cast between linux_kernel_header and linux_kernel_params.
6967
36498496
VS
69682012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6971 type for size.
6972 (grub_raid6_recover_func_t): Likewise.
6973 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6974 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6975
0b5ea6b8
VS
69762012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6979
650cfcfe
GS
69802012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6981
6982 Fix overflow.
6983
6984 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6985 [__NetBSD__]: Add explicit cast before bitshift.
6986
8a4d6a44
VS
69872012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 * configure.ac: Bump to 2.00~rc1.
6990
2fb97ed3
VS
69912012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6994 half of $a0.
6995
1fa097dc
VS
69962012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
69972012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6998
6999 * docs/grub.texi: Fix search syntax.
7000 (Multi-boot manual config): Put msdos rather than GPT example.
7001 Grammar corrections.
7002
c890ba78
VS
70032012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
7006
0f92dca7
VS
70072012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7008
7009 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
7010
3988c4a0
VS
70112012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
7014 message on double free. Put the value of magic in case of mismatch.
7015
9e86d4c5
VS
70162012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 Speed-up video on yeeloong.
7019
7020 * grub-core/video/sm712.c (framebuffer): Remove render_target and
7021 add cached_ptr.
7022 (grub_video_sm712_video_fini): Unmap cached_ptr.
7023 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
7024 (grub_video_sm712_set_active_render_target): Removed.
7025 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7026 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
7027 sync caches.
7028
ed24c312
VS
70292012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 Avoid flushing the same line multiple times on loongson.
7032
7033 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7034 Step in 32 bytes and not 1 byte.
7035 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7036 Likewise.
7037
d1718e7d
VS
70382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7041 subvolumes.
7042
982f1909
VS
70432012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 Implement flow control for http.
7046
7047 * grub-core/net/http.c (parse_line): Handle response 206.
7048 (http_receive): Stall if too many packets are in the queue.
7049 (http_establish): Fix range header.
7050 (http_seek): Fix double free.
7051 (http_close): Likewise.
7052 (http_packets_pulled): New function.
7053 (grub_http_protocol): Set http_seek
7054 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7055 (ack_real): Set window depending on i_stall.
7056 (grub_net_send_tcp_packet): Likewise.
7057 (grub_net_tcp_stall): New function.
7058 (grub_net_tcp_unstall): Likewise.
7059 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7060 (grub_net_tcp_unstall): Likewise.
7061
bd407d6e
VS
70622012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7065
c7564b8e
VS
70662012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7069
a3706162
VS
70702012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * tests/util/grub-shell.in: Fix a typo.
7073
b27069e0
VS
70742012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 Implement flow control for tftp.
7077
7078 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7079 packets but stop only if stop condition is satisfied.
7080 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7081 `stall' instead of `eof' as stop condition.
7082 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7083 (http_err): Likewise.
7084 * grub-core/net/tftp.c (ack): Replace the first argument with data
7085 instead of socket.
7086 (tftp_receive): Stall if too many packets are in wait queue.
7087 (tftp_packets_pulled): New function.
7088 (grub_tftp_protocol): Set packets_pulled.
7089 * include/grub/net.h (grub_net_packets): New field count.
7090 (grub_net_put_packet): Increment count.
7091 (grub_net_remove_packet): Likewise.
7092 (grub_net_app_protocol): New field `packets_pulled'.
7093 (grub_net): New field `stall'.
7094
6b9cfac6
VS
70952012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7098 sync part to handle them.
7099
f35abd81
VS
71002012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7103 * grub-core/net/drivers/ieee1275/ofnet.c
7104 (grub_ieee1275_net_config_real): Likewise.
7105
0e7ec820
VS
71062012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7109 the direct route for server/gateway.
7110
9d611a31
VS
71112012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7114 IP address to server name since we may not hame the DNS.
7115
418f45ab
VS
71162012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7119 freeing random buffer on failure.
7120 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7121
44a0efc1
VS
71222012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7125
531e2241
VS
71262012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7129 reserved bytes.
7130 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7131 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7132 Handle malloc error correctly.
7133
cde393c9
VS
71342012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7137 blocks.
7138
538478d0
VS
71392012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7142 increment.
7143
9b55efe0
VS
71442012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7147 none is explicitly specified.
7148
9eb832c3
VS
71492012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7152 while reallocating.
7153
d6b7c7c9
VS
71542012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 Respect netmask from bootp/dhcp.
7157
7158 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
7159 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
7160 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
7161 into ...
7162 (grub_net_add_ipv4_local): ... this.
7163 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
7164 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
7165 (grub_net_add_ipv4_local): New proto.
7166
67caf9eb
VS
71672012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7170 determining EFI memory map size.
7171
43657558
VS
71722012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7175
eb6d0dd3
VS
71762012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7179 when looking for partition separator.
7180
31230544
VS
71812012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7184 Escape commas.
7185
918a2517
VS
71862012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 Restructure FAT driver to avoid hook in label reading as it hits a
7189 GCC bug.
7190
7191 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7192 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
7193 (grub_fat_iterate_dir): Split into ...
7194 (grub_fat_iterate_init): ... this, ...
7195 (grub_fat_iterate_fini): ... this, ...
7196 (grub_fat_iterate_dir_next): ... and this. All users updated.
7197
9f1d654e
VS
71982012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7201 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7202 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7203 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7204 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7205 New fields last_key and last_key_time.
7206 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7207 extended key-esc into extended key-extended key.
7208
52f0f643
VS
72092012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 Avoid unnecessary memcpy of whole video buffer.
7212
7213 * grub-core/video/fb/video_fb.c (dirty): New struct.
7214 (framebuffer): Add members current_dirty and previous_dirty.
7215 (dirty): New function.
7216 (grub_video_fb_fill_rect): Update dirty.
7217 (common_blitter): Likewise.
7218 (grub_video_fb_scroll): Likewise.
7219 (doublebuf_blit_update_screen): Copy only dirty part.
7220 (doublebuf_pageflipping_update_screen): Likewise.
7221 (grub_video_fb_doublebuf_blit_init): Init dirty.
7222 (doublebuf_pageflipping_init): Likewise.
7223 (grub_video_fb_setup): Likewise.
7224
e169a180
VS
72252012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7228 poll rate.
7229
48556879
VS
72302012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 Fix wildcard regexp dot and other special characters handling.
7233 Reported by: Robert Mabee.
7234
7235 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7236 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7237 (split_path): Trigger expansion on '?'.
7238 (unescape): New function.
7239 (wildcard_expand): Unescape parts copied without globbing.
7240 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7241 (grub_script_arglist_to_argv): Don't unescape expansions.
7242
0494408e
VS
72432012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * include/grub/net.h (grub_net_card): New member txbufsize.
7246 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
7247 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7248 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7249 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7250 txbufsize.
7251 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7252 compatible property to check for macs. Set
7253 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7254 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7255 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7256 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7257 (send_card_buffer): Use txbuf.
7258 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7259 nested function out of the parent while on it.
7260
cc35fe8f
VS
72612012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7264 presence check.
7265 (grub_ieee1275_net_config_real): Fix config pointer.
7266
970a0a09
VS
72672012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7270 filename parsing to non-block devices.
7271
3e19bf87
VS
72722012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7275
c62d1a0c
VS
72762012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7279 All users updated.
7280
ef76bec3
VS
72812012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7284 UUID search command even if hints probing failed.
7285
72862012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
7287
7288 * po/POTFILES.in: Regenerated.
7289
70aaf305
VS
72902012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 Speed-up video on fuloong.
7293
7294 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7295 New function.
7296 (grub_pci_device_unmap_range): Handle non-cached address.
7297 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7298 add direct_ptr.
7299 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7300 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7301 (grub_video_sis315pro_set_active_render_target): Removed.
7302 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7303 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7304 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7305 sync caches.
7306 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7307 New proto.
7308
10400f0b
VS
73092012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * docs/grub.texi (Multi-boot manual config): New section.
7312
ba67e2c6
VS
73132012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7314
7315 Avoid slow read-back from VRAM.
7316
7317 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7318 Move from here ...
7319 * grub-core/video/fb/video_fb.c
7320 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7321 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7322 (front_target): Remove front_target. Add pages.
7323 (grub_video_fb_init): Skip setting front_pages.
7324 (grub_video_fb_fini): Likewise.
7325 (doublebuf_blit_update_screen): Use pages.
7326 (grub_video_fb_doublebuf_blit_init): Likewise.
7327 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7328 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7329 (grub_video_fb_setup): Prefer doublebuffing.
7330
377c98cb
VS
73312012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7334 gzio.
7335
eac49cff
VS
73362012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 Add loongson tests.
7339
7340 * tests/util/grub-shell.in: Handle loongson.
7341 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7342 drivers.
7343 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7344 Reboot instead of shutdown if REBOOT is defined.
7345
0321415e
VS
73462012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7349 sized ports since unlike on real hardware qemu supports only 32-bit
7350 regs.
7351
3f2bdd8f
VS
73522012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7355 * util/grub-mkrescue.in: Handle loongson.
7356
29a049c9
VS
73572012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7358
7359 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7360 Set is_part appropriately.
7361 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7362 names. Canonicalize partition without full disk.
7363
4abde346
VS
73642012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 Revert usb-quiesce since it's wrong.
7367
7368 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7369 (grub_ofdisk_init): Don't do quiesce.
7370
61f1d93b
VS
73712012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7374 PowerMac workaround to Xserves as well.
7375 Information supplied by: Benjamin Herrenschmidt.
7376
a09eb541
VS
73772012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 Don't assume that beginning address is also the entry point on ppc.
7380
7381 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7382 (grub_linux_boot): Use linux_entry.
7383 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7384 (grub_linux_load64): Likewise.
7385
505b3c9b
VS
73862012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7389
cbe0b4ef
VS
73902012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7393 needlessly lose the console.
7394
3006e981
VS
73952012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7398 space.
7399
4e5a96b0
VS
74002012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7401
7da036bb
VS
7402 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7403 than current grub_get_rtc() not implemented when booted with
7404 coreboot without TSC.
7405
7406 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7407 Add machine/time.h to kernel headers on loongson.
7408 * grub-core/Makefile.core.def (kernel): Remove
7409 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7410 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7411 (grub_get_rtc): Likewise.
7412 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7413 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7414 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7415 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7416 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7417 rather than installing known non-working time source.
7418 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7419 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7420 * include/grub/time.h: Don't include machine/time.h.
7421 * include/grub/efi/time.h: Removed.
7422 * include/grub/i386/efi/time.h: Likewise.
7423 * include/grub/i386/ieee1275/time.h: Likewise.
7424 * include/grub/powerpc/ieee1275/time.h: Likewise.
7425 * include/grub/sparc64/ieee1275/time.h: Likewise.
7426 * include/grub/x86_64/efi/time.h: Likewise.
7427
74282012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7431
7432 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7433 value.
7434 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7435 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7436 with dotless variants when any combining above is present.
7437
5561c22d
VS
74382012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7441 text and not binary.
7442
96f7e60e
VS
74432012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 Stop polling as soon as we have the packet we were waiting for.
7446
7447 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7448 All users updated.
7449 * grub-core/net/arp.c (have_pending): New var.
7450 (pending_req): Likewise.
7451 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7452 stop indicator.
7453 (grub_net_arp_receive): Set have_pending.
7454 * grub-core/net/dns.c (recv_data): New field stop.
7455 (recv_hook): Set stop.
7456 (grub_net_dns_lookup): Init stop and use as stop condition.
7457 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7458 condition.
7459 * grub-core/net/net.c (grub_net_poll_cards): New argument
7460 stop_condition. Stop when it goes true.
7461 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7462 indicator.
7463 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7464
3e747239
VS
74652012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 Keep TX and RX buffers on EFI rather than always allocate new ones.
7468
7469 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7470 card. All users updated.
7471 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7472 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7473 (get_card_packet): Likewise.
7474 (grub_efinet_findcards): Init new fields.
7475
f695e99a
VS
74762012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7479 compilation error on sparc64.
7480
9e5e66d1
VS
74812012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 Use ITC on IA64 rather than broken routine based on daytime.
7484
7485 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7486 ia64.
7487 (grub_get_rtc) [__ia64__]: Likewise.
7488 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7489 (get_itc): New function.
7490 (grub_rtc_get_time_ms): Likewise.
7491 (grub_machine_init): Calibrate ITC.
7492 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7493 Keep only on non-ia64. Don't export since it's broken and used only
7494 if TSC is unavailable.
7495
a1767404
VS
74962012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7499 even if it's used.
7500 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7501 Skip if parent is unused.
7502
34b2bced
VS
75032012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7504
7505 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7506
5e619f40
VS
75072012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 Fix wildcard escaping.
7510
7511 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7512 * grub-core/script/execute.c (wildcard_escape): .. to here.
7513 Don't escape dot.
7514 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7515 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7516 Don't escape dot.
7517 * grub-core/script/execute.c (gettext_append): Always escape.
7518 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7519 * grub-core/script/yylex.l: Don't cut away the escaping.
7520 * tests/grub_script_echo1.in: Add tests with wildcard.
7521
c8ca5855
VS
75222012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7525 (ftdi_hw_configure): Likewise.
7526 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7527 define.
7528 (real_config): Handle 1.5 stop bits.
7529 (pl2303_hw_configure): Likewise.
7530
7183452c
VS
75312012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * Makefile.am: Add ppc linux bootcheck.
7534 * grub-core/tests/boot/linux-ppc.cfg: New file.
7535 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7536
f57c84cd
VS
75372012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * tests/grub_script_expansion.in: Skip network protocols.
7540
ecfc6207
VS
75412012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7544
8d03d284
VS
75452012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7548 --rom-directory.
7549 Add -graft-points.
7550
61c42af0
VS
75512012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 ESCC serial driver for conducting sautomated tests in qemu.
7554 Not tested on real hardware.
7555
7556 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7557 * grub-core/term/ieee1275/escc.c: New file.
7558 * grub-core/Makefile.core.def (escc): New module.
7559
08fd1291
VS
75602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7563 invalid on error.
7564 (serial_hw_fetch): Don't read invalid handle.
7565 (serial_hw_put): Don't write into invalid handle.
7566
08dafeea
VS
75672012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 Add a 1.5 stop bits value.
7570
7571 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7572 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7573 GRUB_SERIAL_STOP_BITS_1_5.
7574
9068fdcf
VS
75752012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7578 value rather than let it uninited.
7579
f4d5820f
VS
75802012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * grub-core/commands/wildcard.c (+check_file): New function.
7583 (wildcard_expand): Don't expand to non-existing files, expand with
7584 suffix and not attempt to expand if not needed.
7585
3d2de9a7
VS
75862012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7589 out of partitions containing other partitions.
7590
c5c81ff9
VS
75912012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7594 on some qemu versions with GRUB.
7595
7596 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7597 define.
7598 (grub_openbsd_bootarg_pcibios): New struct.
7599 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7600 Add PCIINFO.
7601
08a14e0b
VS
76022012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * tests/util/grub-shell.in: Trim firmware output on EFI.
7605
cede3ca3
VS
76062012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7609 and coreboot since it's already in kernel.
7610
558d3a60
VS
76112012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7614 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7615 to here. New return value start. All users updated.
7616 Recursively scan linear mappings.
7617 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7618 proto.
7619 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7620 Use grub_util_get_dm_node_linear_info.
7621 * util/getroot.c (convert_system_partition_to_system_disk): Use
7622 grub_util_info rather than grub_dprintf.
7623 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7624
60fde14d
VS
76252012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7628
7629 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7630 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7631
24bd8838
VS
76322012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * include/grub/types.h (grub_set_unaligned64): New function.
7635 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7636 (setup): Likewise.
7637
7bc06a49
VS
76382012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7639
7640 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7641 (grub_ofdisk_fini): Quiesce USB devices.
7642
49cea015
VS
76432012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7646 caches.
7647
8dcbe03b
VS
76482012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7651
5b258735
VS
76522012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/disk/pata.c (grub_pata_pio_read)
7655 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7656 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7657
37ba07eb
VS
76582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 Extend automated tests to qemu-mips.
7661
7662 * Makefile.am: reorganise tests and enable qemu-mips.
7663 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7664 * grub-core/tests/boot/linux.init-mips.S: New file.
7665 * tests/partmap_test.in: Handle ata0 disks.
7666 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7667 non-pc i386.
7668
070038f8
VS
76692012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7672 ia64.
7673 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7674 quotes while on it.
7675
004be2cd
VS
76762012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7677
7678 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7679 (grub_halt): Likewise.
7680 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7681
b1622487
VS
76822012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * grub-core/term/serial.c (grub_serial_register)
7685 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7686 the behaviour in line with x86 platforms.
7687
b7b4ab33
VS
76882012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7691 (grub_ata_strncpy): Likewise.
7692 (grub_ata_identify): Add missing byteswaps.
7693
5e3535ae
VS
76942012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7697 byte-swap.
7698 (screen_read_char): Likewise.
7699 (grub_vga_text_cls): Likewise.
7700
c21b17e6
VS
77012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7704 filenames.
7705 (make_file_path): Likewise.
7706
bf293dec
VS
77072012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7710 machines.
7711 Tested by: Paulo Flabiano Smorigo.
7712 Crucial information about API supplied by: Coleen <Last name unknown>.
7713 Reviewed by: Coleen <Last name unknown>.
7714
81f6ef0e
VS
77152012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 * util/grub-mkimage.c: Disable -Wcast-align.
7718
7284143a
VS
77192012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7722 as they are fatal.
7723
b99f3e00
VS
77242012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7725
7726 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7727
944f752d
VS
77282012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * util/grub-probe.c (escape_of_path): Fix double free.
7731
6cce6f38
VS
77322012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * grub-core/commands/videoinfo.c (hook): Show pitch.
7735
1e1eb50e
VS
77362012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7739
1c715b5a
VS
77402012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7743 (probe): Add ieee1275 to OFW devices.
7744
007ae52d
VS
77452012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7748
4557a36d
VS
77492012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 Handle IBM OFW path.
7752
7753 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7754 available.
7755 (of_path_of_scsi): Handle vdevice.
7756
efbeefe9
VS
77572012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7760 Allocate in multiples of 16 to avoid adding a few bytes free region the
7761 windows bugs upon.
7762
15a940bb
VS
77632012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7766 Allocate in multiples of 16 to avoid adding a few bytes free region the
7767 windows bugs upon.
7768 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7769
6e5efd60
VS
77702012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7773 resolutions.
7774 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7775 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7776
0d3d137e
IS
77772012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7778
7779 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7780
45dbe300
VS
77812012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7784 resulted in \\ at the end of the line.
7785
6d8db947
VS
77862012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7789 (grub_parser_cmdline_state): Likewise.
7790 (grub_parser_split_cmdline): Likewise.
7791
de89d338
VS
77922012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7795 /dev/root and /dev/dm-*.
7796
00d41dee
VS
77972012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7800 fix partially stale display.
7801
f95d1f11
VS
78022012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7803
7804 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7805 substraction.
7806
6297e197
VS
78072012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7810 Fix MBR remapping workaround.
7811 (grub_util_biosdisk_read) [__linux__]: Likewise.
7812
8a7ecad3
VS
78132012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7814
7815 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7816
2b34f944
VS
78172012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 * configure.ac: Bump to beta6.
7820
684aef11
CW
78212012-05-31 Christer Weinigel <christer@weinigel.se>
7822
7823 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7824
05b0bb91
VS
78252012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7828 (grub_cmd_linux): Likewise.
7829
bda36bfa
CW
78302012-05-31 Christer Weinigel <christer@weinigel.se>
7831
7832 Fix EHCI low-speed.
7833
7834 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7835 (GRUB_EHCI_MULT_TWO): Likewise.
7836 (GRUB_EHCI_MULT_THREE): Likewise.
7837 (GRUB_EHCI_CMASK_MASK): New enum value.
7838 (GRUB_EHCI_SMASK_MASK): Likewise.
7839 (GRUB_EHCI_CMASK_OFF): Likewise.
7840 (GRUB_EHCI_SMASK_OFF): Likewise.
7841 (grub_ehci_pci_iter): Enable periodic schedule.
7842 (grub_ehci_parse_notrun): Likewise.
7843 (grub_ehci_restore_hw): Likewise.
7844 (grub_ehci_setup_qh): Set flags for low speed transfers.
7845 (grub_ehci_find_qh): Use periodic list for low speed.
7846 (grub_ehci_setup_transfer): Check periodic queue as well.
7847 (grub_ehci_check_transfer): Likewise.
7848 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7849
e12bcb1c
PFS
78502012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7851
7852 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7853 parameter is used.
7854
bcc75fb3
PJ
78552012-05-31 Peter Jones <pjones@redhat.com>
7856
7857 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7858 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7859 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7860
f19cb95e
VS
78612012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7864 uninited variable. Allocate at least setup_sects.
7865
a4e5ca80
VS
78662012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 Fix handling of EFI with big memory maps.
7869
7870 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7871 (real_mode_mem): Likewise.
7872 (real_mode_target): Likewise.
7873 (real_mode_pages): Likewise.
7874 (prot_mode_pages): Likewise.
7875 (linux_params): New var.
7876 (linux_cmdline): Likewise.
7877 (free_pages): Don't set real mode variables.
7878 (allocate_pages): Don't allocate real mode memory.
7879 (grub_e820_add_region): Remove the limit.
7880 (grub_linux_boot): Allocate and copy real mode memory.
7881 (grub_linux_unload): Free linux_cmdline.
7882 (grub_cmd_linux): Use temporary storage for parameters.
7883 (grub_cmd_initrd): Likewise.
7884 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7885 (linux_kernel_params): Make it 1K big.
7886
ddb73558
VS
78872012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * Makefile.util.def: Remove -Wno-format.
7890 * grub-core/Makefile.core.def: Likewise.
7891
1c4afb60
VS
78922012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7893
7894 * tests/cmp_unit_test.c: Add missing failure message.
7895 * tests/example_unit_test.c: Likewise.
7896 * tests/printf_unit_test.c: Likewise.
7897
941e3a6d
VS
78982012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7901 relaxation of protective MBR requirements.
7902
b105df76
VS
79032012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 * configure.ac: Add condition for COND_HOST_XNU.
7906 * Makefile.util.def (10_xnu): New script.
7907 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7908
84e1569e
VS
79092012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7912 objconv bug.
7913
130c0f77
VS
79142012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7917 Binary on other platforms stays identical.
7918
6fd0b143
VS
79192012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7922 Apple.
7923
0af1751d
VS
79242012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7927
176d5f7d
VS
79282012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7931 rather than defining size_t ourselves to avoid conflict.
7932
7de5e20a
VS
79332012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7936 initialisation to avoid __bzero reference.
7937
f7143efe
VS
79382012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7941 version.
7942 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7943 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7944 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7945 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7946 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7947
e6ad0555
VS
79482012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7951 * grub-core/kern/misc.c: Likewise.
7952 * grub-core/loader/i386/xnu.c: Likewise.
7953 * include/grub/i386/tsc.h: Likewise.
7954 * include/grub/symbol.h: Likewise.
7955
4a5a3c4a
VS
79562012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7957
7958 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7959 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7960 on older compiler.
7961
037f6d90
VS
79622012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7965 Implement Apple flavour.
7966 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7967
f7194551
VS
79682012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7971 (memmove) [__APPLE__]: Likewise.
7972 (memcpy) [__APPLE__]: Likewise.
7973 (memset) [__APPLE__]: Likewise.
7974 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7975 (memmove) [__APPLE__]: Likewise.
7976 (memcpy) [__APPLE__]: Likewise.
7977 (memset) [__APPLE__]: Likewise.
7978
85a730ca
VS
79792012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7982 dependency discard.
7983
40e80b94
VS
79842012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * grub-core/normal/main.c (read_config_file): Provide config_file and
7987 config_directory.
7988 * util/grub.d/41_custom.in: Use config_directoy when available.
7989
9da59c32
VS
79902012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7993 (grub_bfs_dir): Likewise.
7994
2787ae53
PJ
79952012-05-27 Peter Jones <pjones@redhat.com>
7996
7997 The old code gives arguments to a printf function which can't work
7998 correctly, and the compiler complains.
7999
8000 * grub-core/tests/example_functional_test.c (example_test): Add
8001 missing text.
8002 * grub-core/tests/lib/test.c (add_failure): Rewrite.
8003 * include/grub/test.h (grub_test_assert_helper): New declaration.
8004 (grub_test_assert): Use grub_test_assert_helper.
8005
526ef13d
VS
80062012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
8009 (exfctest): ... this to avoid overlong filenames.
8010 All users updated.
8011
20dd511c
VS
80122012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 Handle "." and ".." on squashfs.
8015
8016 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
8017 Make inode numbers into stack.
8018 (grub_squash_read_symlink): Use stack.
8019 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
8020 (make_root_node): Fill stack.
8021 (grub_squash_open): Use stack.
8022
1d80c62a
VS
80232012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
8026 freeing.
8027
d336f652
VS
80282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8031 stderr on test calls.
8032
8b43f587
VS
80332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8036
80a3dc3f
VS
80372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8040
47e297d4
VS
80412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8044 "..".
8045
df042ccb
VS
80462012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8049 (grub_hfsplus_iterate_dir): Add "." and "..".
8050
fc977f48
VS
80512012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8054 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8055
f3250e5f
VS
80562012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8059 (find_path): Handle "." and "..".
8060
fd8ed4c5
VS
80612012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8064 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8065 (grub_affs_iterate_dir): Handle hardlinks.
8066
4ce776d2
MG
80672012-05-26 Matthew Garrett <mjg@redhat.com>
8068
8069 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8070 (grub_efi_console_fini): Likewise.
8071 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8072 (grub_video_gop_fill_mode_info): Rename to ...
8073 (grub_video_gop_fill_real_mode_info): ... this.
8074 (grub_video_gop_fill_mode_info): New function.
8075 (grub_video_gop_setup): Setup double framebuffer.
8076 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8077 Free offscreen.
8078 (grub_video_gop_swap_buffers): Copy framebuffer.
8079 (grub_video_gop_fini): Free offscreen buffer.
8080 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8081 New enum.
8082 (grub_efi_gop_blt_pixel): New struct.
8083
683031ba
VS
80842012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * gentpl.py: Remove error disabling for objconv.
8087
c2deb798
VS
80882012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 * configure.ac: Remove -Wunitialized as it's not available on older
8091 compilers.
8092
80932012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
8094
8095 Fix extent overflow comparator.
8096
8097 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8098 (grub_hfsplus_read_block): Set type.
8099 (grub_hfsplus_cmp_extkey): Compare type.
8100
d6b1fd36
VS
81012012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8104
0a9aa0f6
VS
81052012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8108 than 0.
8109
8360e159
VS
81102012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8113 (dejavu_bold_14.pf2): New target.
8114
501b9e4b
VS
81152012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * configure.ac: Fix djvu font detection.
8118
7026b0e2
VS
81192012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8120
8121 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8122 ext* instead of ext2.
8123
c2a51ade
VS
81242012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8127 name with \0.
8128
8f803a5d
JU
81292012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8130
8131 * docs/grub-dev.texi: Remove dot from .png.
8132
13c6353f
VS
81332012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8136 protective entry in any slot.
8137 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8138 if protective entry is found in any slot.
8139
8140 Protective entry in non-first slot make no sense but is a widespread
8141 brain damage.
8142
4cf6be1b
VS
81432012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8146
937d1c44
VS
81472012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8150 with old reiserfs.
8151 (grub_reiserfs_open): Don't free root.
8152
021d90ec
VS
81532012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8156 after freeing for safety.
8157
967b2b64
VS
81582012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
8161 Reported by: Jordan Uggla.
8162
34274d02
JU
81632012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
8164
967b2b64
VS
8165 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
8166 actual implementation. Specifically, clarify that the grub menu will
8167 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
8168 passed.
34274d02 8169
dcaaae9d
BH
81702012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8171
8172 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8173 of r0.
8174
7086ad52
VS
81752012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 Remove unjustified hard dependency of normal.mod on gfxterm.
8178
8179 * include/grub/term.h (grub_term_output): New member fullscreen.
8180 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8181 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8182 (grub_gfxterm): Set .fullscreen.
8183 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8184 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8185
37ed2c9b
VS
81862012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
8189 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 8190 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 8191
a4469c88
VS
81922012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
8195
4e461486
VS
81962012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8199 a bad FS.
8200
aa78f5c4
VS
82012012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8204 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8205
197626b5
VS
82062012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8209 (grub_jfs_mount): Fill caseins.
8210 (grub_jfs_find_file): Respect caseins.
8211
8ad3f28c
VS
82122012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8215 through UTF-16.
8216
0c6c324e
VS
82172012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8220 New argument origpath. All users updated.
8221
c6666ba6
VS
82222012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8225 (read_attr): Ensure that we read start of possibly compressed block.
8226
e28e5fe5
VS
82272012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8230 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8231 All users updated.
8232
5fc23ab2
VS
82332012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8236 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8237 (dejavu.pf2): Replace with ...
8238 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8239 this.
8240
79dbc21c
VS
82412012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 * util/grub.d/20_linux_xen.in: Add missing line.
8244
d2fcfb0c
VS
82452012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
8248 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8249 (grub_utf16_to_utf8): Likewise.
8250
5560e9d6
VS
82512012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8252
8253 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8254 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8255 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8256 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8257 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8258 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8259
82602012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
8261
8262 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8263 a bad FS.
8264
5560e9d6 82652012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
8266
8267 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8268 (grub_udf_read_symlink): Handle read_string failure.
8269
5eae3175
VS
82702012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8273 comment.
8274
c1ad82db
VS
82752012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 Fix handling of UDF symlinks.
8278
8279 * grub-core/fs/udf.c (read_string): New argument outbuf.
8280 All users updated.
8281 (grub_ufs_read_symlink): Rename to ...
8282 (grub_udf_read_symlink): ... this. All users updated.
8283 Handle symlinks with more than one component.
8284
33eca6e0
VS
82852012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8288 symlinks. Replace leading colon with a slash.
8289
57f4a70b
VS
82902012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8293 filename.
8294
38c8ee20
VS
82952012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8296
8297 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8298 match in inner node.
8299
2e57f28f
VS
83002012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8303 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8304 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8305 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8306 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8307 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8308 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8309 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8310 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8311
fe8c2f11
VS
83122012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 Use grub-probe and not cmp to check that disk is empty.
8315
8316 * util/grub-install.in: Use grub-probe for zero-check.
8317 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8318 (probe): Handle PRINT_ZERO_CHECK.
8319 (argp_parser): Handle -t zero_check.
8320
83212012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
8322
8323 Flush block cache on adding disk to device map.
8324
8325 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8326 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8327 adding.
8328 (read_device_map): Likewise.
8329 (open_device): Flush on opening.
8330
690434e8
VS
83312012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8334 (handle_symlink): Fix off-by-one error.
8335 Canonicalize the target.
8336 (grub_cpio_dir): Canonicalize the name.
8337 Fix memory leak.
8338 Set directory.
8339 (grub_cpio_open): Canonicalize the name.
8340
742d2be6
VS
83412012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8344 handling.
8345
3244fe96
VS
83462012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8349 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8350
8aeb1837
VS
83512012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8354 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8355 All users updated.
8aeb1837 8356
9133fd05
VS
83572012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8360 counterpart.
8361
6d521c5b
VS
83622012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 Fix UFS1 big file support.
8365
8366 * grub-core/fs/ufs.c (INODE): Removed.
8367 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8368 64-bit.
8369 (INODE_MODE): Simplify.
8370 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8371 (grub_ufs_lookup_symlink): Don't use INODE.
8372
21b82e17
VS
83732012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8376
8377 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8378 (grub_minix_data): Replace log_block_size with block_size.
8379 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8380 (grub_minix_mount): Fill block_size.
8381
83822012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
8383
8384 * configure.ac: Bump to beta5.
8385
f417ed04
VS
83862012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 Fix wrapped HFS+ handling.
8389
8390 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8391 blocks_start. All users updated.
8392 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8393 wrapping offset.
8394 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8395
607d282b
VS
83962012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 Fix long symlinks on reiserfs.
8399
8400 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8401 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8402 (grub_reiserfs_iterate_dir): Save size for non-directories.
8403 (grub_reiserfs_open): Don't reread stat block as we already know the
8404 size.
8405 (grub_reiserfs_read): Split into...
8406 (grub_reiserfs_read_real): ... and ...
8407 (grub_reiserfs_read): ...this.
8408
ae16024d
VS
84092012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 Fix non-indexed JFS.
8412
8413 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8414 (grub_jfs_data): New field namecomponentlen.
8415 (grub_jfs_mount): Fill namecomponentlen.
8416 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8417
eea1e26e
VS
84182012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8421 * tests/grub_script_echo1.in: Add tests.
8422
df760f77
VS
84232012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 * util/grub-install.in: Ignore empty devicetree directory.
8426
5efb817d
B
84272012-05-08 Bean <bean123ch@gmail.com>
8428
8429 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8430 All users updated.
8431 (free_rsm): Free header as well.
8432 (free_old_fragments): Fix memory leak.
8433 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8434 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8435 (destroy_pq): Likewise.
8436 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8437
668ea6d2
VS
84382012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8441 resulting hash as a precaution.
8442
1739b1fe
VS
84432012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8446 '_' in variable names.
8447 * grub-core/net/net.c (grub_net_network_level_interface_register):
8448 Likewise.
8449
6ae485aa
VS
84502012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 Fix AFFS with non-512B blocks.
8453
8454 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8455 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8456 (grub_affs_data): Replace blocksize with log_blocksize.
8457 (grub_affs_read_block): Fix non-512B blocks.
8458 (grub_affs_read_symlink): Likewise.
8459 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8460 (grub_affs_read): Fix non-512B blocks.
8461 (grub_affs_label): Likewise.
8462 (grub_affs_mtime): Likewise.
8463 (grub_affs_mount): Fix block detection routine.
8464
d20fab84
VS
84652012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 Add filesystem mtime to AFFS.
8468
8469 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8470 (aftime2ctime): New function.
8471 (grub_affs_dir): Use aftime2ctime.
8472 (grub_affs_label): Fix return value.
8473 (grub_affs_mtime): New function.
8474 (grub_affs_fs): Add mtime.
8475
e87b10f5
VS
84762012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8479 UTF-8.
8480
7dceec9b
VS
84812012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8484 UTF-8.
8485
2f48221f
VS
84862012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8489
dacd85cf
VS
84902012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8493 flags.
8494 (FLAGS_CASE_SENSITIVE): New enum value.
8495 (cache_entry): New struct.
8496 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8497 cache_size and cache.
8498 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8499 Add log_blocksize and fshelp_flags.
8500 (grub_sfs_read_extent): Handle non-512 blocks.
8501 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8502 (grub_sfs_read_file): Handle non-512 blocks.
8503 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8504 fshelp_flags.
8505 (grub_sfs_read_symlink): Handle non-512 blocks.
8506 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8507 (grub_sfs_dir): Free cache.
8508 (grub_sfs_close): Likewise.
8509
24e9a854
VS
85102012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8513 filesystems.
8514
62ace64d
VS
85152012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8518
83b2e89c
VS
85192012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8522
75ccaea3
VS
85232012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8526 (grub_sfs_read_extent): Likewise.
8527 (grub_sfs_read_block): Likewise.
8528 (grub_sfs_mount): Likewise.
8529 (grub_sfs_iterate_dir): Likewise.
8530 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8531 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8532
1b8463f2
VS
85332012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 Fix errors on compressed NTFS with 512B clusters.
8536
8537 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8538 types.
8539 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8540 not 0.
8541 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8542 Relax check for inline extents.
8543 (ntfscomp): Return correct -1 on error and not 0.
8544
4f8e368f
VS
85452012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * util/grub-install.in: Fix handling of prefix containing spaces.
8548
6f5d5ee8
VS
85492012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8552 (grub_squash_read_data): Fix offset byte-swapping.
8553
ce41ab7a
VS
85542012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8557 per common usage and preffered in several parts of code.
8558 (grub_memcmp): Likewise.
8559 (grub_strncmp): Likewise.
8560 * include/grub/misc.h (grub_strcasecmp): Likewise.
8561 (grub_strncasecmp): Likewise.
8562 * Makefile.util.def (cmp_test): New test.
8563 (grub_script_strcmp): Likewise.
8564 * tests/cmp_unit_test.c: New file.
8565 * tests/grub_script_strcmp.in: Likewise.
8566 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8567
49717bf4
VS
85682012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * include/grub/pci.h: Move enums into no-asm part.
8571
0a308f64
VS
85722012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8575
1796965f
ST
85762012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8577
8578 * util/getroot.c (find_hurd_root_device): Try to make error message
8579 and comments to translators clearer.
8580
4e9b2819
VS
85812012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8584
076aeb50
VS
85852012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8588 btrfs.
8589
19424d94
VS
85902012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * docs/grub.cfg: Update.
8593
ebb73076
VS
85942012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8595
8596 * docs/grub.texi (PXE): Remove not present variables.
8597
9a1b669c
VS
85982012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * grub-core/net/net.c (defserver_set_env): New function.
8601 (defserver_get_env): Likewise.
8602 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8603
d38bf7d3
VS
86042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8607 entries.
8608
86092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8610
8611 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8612 * grub-core/kern/emu/hostdisk.c: Likewise.
8613
e5e4ca48
ST
86142012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8615
8616 Handle hurd userspace partitions.
8617
8618 * util/getroot.c (find_hurd_root_device): New function.
8619 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8620
56bb5dd5
VS
86212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8624 names.
8625 Reported by: Bastian Blank.
8626
9e8bc27a
VS
86272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8630 crossing page boundary.
8631
aa01499d
VS
86322012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 Fix B-tree search in BFS, especially in presence of non-ASCII
8635 characters.
8636
8637 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8638 (find_in_b_tree): Use standard bsearch + btree algorithm.
8639
57006035
VS
86402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8643 and so on.
8644
9d34bb85
MG
86452012-05-03 Matthew Garrett <mjg@redhat.com>
86462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 Suspend broadcom cards in order to stop their DMA.
8649
8650 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8651 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8652 (pci): Don't build on x86 EFI.
8653 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8654 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8655 New function.
8656 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8657 stop_broadcom if running on EFI.
8658 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8659 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8660 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8661 (grub_pci_find_capability): New proto.
8662
01aab997
VS
86632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * docs/grub.texi: Remove dot from the extension as it apparently
8666 doesn't work with some makeinfo versions.
8667
fbd8dca6
VS
86682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8669
8670 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8671 with GRUB expectance.
8672
dab797f4
VS
86732012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8676
1516bfb4
VS
86772012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8680 zero after directory block since last entry may be not 0-terminated if
8681 it ends on block boundary. Use continue instead of if spanning whole
8682 loop.
8683
a3a0eace
VS
86842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 Support 4K sectors UDF inline files.
8687
8688 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8689 (grub_udf_extended_file_entry): Likewise.
8690 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8691 All users updated.
8692 (get_fshelp_size): New function.
8693 (grub_udf_read_icb): Read whole block.
8694 (grub_udf_iterate_dir): Likewise.
8695 (grub_udf_dir): Likewise.
8696 (grub_udf_open): Likewise.
8697
c82f16c1
VS
86982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8701
59fd2aac
VS
87022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8705 inline symlinks in addition to workaround.
8706
3b4afb4d
VS
87072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8710
f45c794a
VS
87112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8714
f25cecbd
VS
87152012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8718
bb9a34e8
VS
87192012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 Fix reiserfs big seek times.
8722
8723 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8724 exact. All users updated.
8725 (grub_reiserfs_read): Use nearest btree search for seeking.
8726 Fix return value on error.
8727
dc478aea
VS
87282012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8731 entries.
8732 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8733 * docs/grub.texi: Update menuentry description.
8734
8db10f47
VS
87352012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8738 crash when embedding onto filesystem.
8739
bcb288ed
VS
87402012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8743 name.
8744
a626fdd7
VS
87452012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8748
b2f68477
VS
87492012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8752 commit.
8753
ba15b2af
B
87542012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
87552012-05-01 Bean <bean123ch@gmail.com>
8756
8757 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8758
a188012e
VS
87592012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8762 Special behaviour for len = 0 to read whole file isn't used anywhere and
8763 can cause buffer ovewrflows in several places.
8764
f0a53ed2
VS
87652012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8768
5ed554f0
VS
87692012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 Handle RAIDZ on non-512B sectors.
8772
8773 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8774 max_children_ashift.
8775 (fill_vdev_info_real): Fill max_children_ashift.
8776 (read_device): Use max_children_ashift.
8777
ddc58357
VS
87782012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8781
e3282399
VS
87822012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8785 disk names.
8786 * docs/grub.texi: Update device.map parts.
8787
ee618bd4
VS
87882012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 Don't scan into non-diskfilter devices having diskfilter names.
8791
8792 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8793 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8794 handling.
8795 (scan_disk_hook): New function.
8796
bdf88864
B
87972012-04-29 Bean <bean123ch@gmail.com>
8798
8799 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8800 allocation.
8801
32745f51
MK
88022012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8803
8804 * configure.ac: Detect starfield theme font path
8805 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8806
bc95c8c0
VS
88072012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8810 geometry on serial consoles.
8811
147fbcab
VS
88122012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8815 because of network consoles.
8816
0f42c889
VS
88172012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8820 handling.
8821
4a3594c9
VS
88222012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8825 falls on Q syndrom.
8826
5cb53879
VS
88272012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8830 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8831
b282dfe5
VS
88322012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8835 Allocate at lest 8192 for temporary buffer as required for lzo.
8836
daa59f47
VS
88372012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8840 to cluster_bits, since it's already added in.
8841 (grub_fat_read_data): Likewise.
8842
986748ce
VS
88432012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8846 as long as cluster size is multiple of 512 bytes.
8847
a20f6ad0
VS
88482012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 * util/grub-mkrescue.in: Fix locale directory.
8851
385f9abb
VS
88522012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * grub-core/kern/emu/hostdisk.c (map): Make static.
8855
1c557d30
B
88562012-04-23 Bean <bean123ch@gmail.com>
8857
8858 * util/grub-fstest.c (fstest): Add missing break.
8859
524b5d3a
ST
88602012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8861
8862 Fix hurd build.
8863
8864 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8865 not define nr variable.
fe4824e9 8866 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8867 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8868 grub_find_device): Do not define.
524b5d3a 8869
9a06490c
VS
88702012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 Fix kfreebsd compile and behaviour.
8873
8874 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8875 format-security.
8876 * util/getroot.c: Fix wait.h include.
8877 (grub_guess_root_devices): Error if grub_find_device fails.
8878 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8879 (grub_util_get_dev_abstraction): Likewise.
8880 (grub_util_pull_device): Likewise.
8881 (grub_util_get_grub_dev): Likewise.
8882 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8883
48143d96
VS
88842012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 Fix and unify wholedisk detection.
8887
8888 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8889 is_part. All users updated.
8890 (device_is_wholedisk): Removed.
8891 (grub_util_biosdisk_get_grub_dev): Use is_part.
8892
ebbd24f3
VS
88932012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8896 mode.
8897
56f7aa1e
VS
88982012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * configure.ac: Bump to beta4.
8901
9c815e01
VS
89022012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8905 --fs-uuid --set UUID syntax.
8906
59e2651a
VS
89072012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8910 disunification.
8911
54e03cfc
VS
89122012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8915
81092a75
MK
89162012-04-18 Mads Kiilerich <mads@kiilerich.com>
8917
8918 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8919
f8315e14
MG
89202012-04-18 Mike Gilbert <floppym@gentoo.org>
8921
8922 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8923
1501ac21
B
89242012-04-18 Bean <bean123ch@gmail.com>
8925
8926 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8927 place.
8928
cb7f944e
VS
89292012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8932 users updated.
8933 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8934 corresponding to GRUB partitions.
8935 (grub_util_biosdisk_write): Likewise.
8936
b72d44a1
VS
89372012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 Scan mdraid before LVM.
8940
8941 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8942 (grub_diskfilter_register_front): ... this.
8943 (grub_diskfilter_register_back): New function.
8944 All users of grub_diskfilter_register updated.
8945
33d918b8
VS
89462012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 * util/grub-install.in: Fix an automatic target detection bug.
8949
c6ca973d
VS
89502012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 * util/grub-install.in: New option --efi-directory.
8953
b41be562
VS
89542012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8957 boot services if we have no other choice.
8958
89592012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8962 document it.
8963 * tests/util/grub-shell.in: Update to --directory.
8964
e0595a73
VS
89652012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8968
4ed80652
VS
89692012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8972 (grub_minix_read_file): Likewise.
8973 (grub_minix_read_inode): Likewise.
8974 (grub_minix_find_file): Likewise.
8975 (grub_minix_dir): Likewise.
8976
56008077
VS
89772012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 * util/grub-setup.c (setup): Fix partition handling and blocklist
8980 check.
8981
ee520775
VS
89822012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8985 redundant buggy overlap check.
8986
16fc9293
VS
89872012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8990 and grub-mknetdir.
8991
9bab65c4
VS
89922012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8995 kh.loadflags on pre-2.00 kernels.
8996
3c491b47
VS
89972012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8998
8999 Terminate UNDI and PXE before launching the payload to avoid problems
9000 with DMA.
9001
9002 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
9003 (grub_loader_flags): ... this. All users updated.
9004 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
9005 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
9006 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
9007 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
9008 function.
9009 (grub_pxe_restore): Likewise.
9010 (fini_hnd): New var.
9011 (GRUB_MOD_INIT): Register shutdown hook.
9012 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
9013 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
9014 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
9015 (grub_loader_set): Rename second argument to flags.
9016
851ffada
VS
90172012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
9020 written bytes.
9021 (grub_get_num_of_utf8_bytes): New function.
9022 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
9023 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
9024 executing it.
9025 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
9026 (grub_ucs4_to_utf8): Change return type.
9027
491c57a8
VS
90282012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9031 warning.
851ffada
VS
9032 * grub-core/fs/bfs.c (hop_level): Likewise.
9033 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 9034
756773df
VS
90352012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * grub-core/lib/adler32.c: Recode due to license unclearness.
9038
fd556a96
VS
90392012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9042 (test_header): Likewise.
9043
9f9d3f69
VS
90442012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 Fix --help formatting.
9047
9048 * util/grub-mkconfig_lib.in (print_option_help): New function.
9049 (grub_fmt): Likewise.
9050 * util/grub-install.in: Use print_option_help and grub_fmt.
9051 * util/grub-kbdcomp.in: Likewise.
9052 * util/grub-mkconfig.in: Likewise.
9053 * util/grub-mknetdir.in: Likewise.
9054 * util/grub-mkrescue.in: Likewise.
9055 * util/grub-mkstandalone.in: Likewise.
9056 * util/grub-reboot.in: Likewise.
9057 * util/grub-set-default.in: Likewise.
9058 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9059
561ec77e
VS
90602012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * linguas.sh: Remove autogenerated *.po.
9063
7ec2b021
VS
90642012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * po/README: Move language fetcing to ...
9067 * linguas.sh: ... here.
9068 * po/README: Point to linguas.sh.
9069
a88f3270
VS
90702012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 * po/README: Exclude ko.po due to disclaimer problems.
9073
d61357ce
VS
90742012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9077 len = 0.
9078 (grub_gettext_translate_real): Handle 0th string.
9079 (grub_gettext_translate): Ensure that "" isn't translated.
9080
505e41dc
VS
90812012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9084 TRANSLATORS comment.
9085 (grub_diskfilter_print_partmap): Propagate changing of error into
9086 warning.
9087
e44092db
VS
90882012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9091 to uint64_t to prevent overflow.
9092 (grub_diskfilter_lv): Increase start_extent and extent_count
9093 to uint64_t to prevent overflow.
9094
9b83956a
VS
90952012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * configure.ac: Increase version.
9098
da0d5b3f
VS
90992012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9102
9103 * po/Rules-translit: New file.
9104 * po/arabic.sed: Likewise.
9105 * po/cyrillic.sed: Likewise.
9106 * po/greek.sed: Likewise.
9107 * po/hebrew.sed: Likewise.
9108 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9109 * po/Makefile.in.in: Add extra_dist4.
9110
ac66b453
VS
91112012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9112
9113 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9114
9115 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9116 modify names. Introduce MODE_BIGENDIAN.
9117 * grub-core/fs/minix_be.c: New file.
9118 * grub-core/fs/minix2_be.c: Likewise
9119 * grub-core/fs/minix3_be.c: Likewise.
9120 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9121 minix3_be.
9122 * grub-core/Makefile.core.def (minix_be): New module.
9123 (minix2_be): Likewise.
9124 (minix3_be): Likewise.
9125
91262012-04-01 Felix <email@hamburg.de>
9127
9128 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9129 (devs): Add MBP 2011.
9130
0a2d5a82
VS
91312012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9134
d1625889
VS
91352012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * grub-core/normal/cmdline.c (print_completion): New field
9138 prompt_len.
9139 (grub_cmdline_get): Handle width properly.
9140
6d36a236
VS
91412012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9144
9576977e
VS
91452012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 9148 after 29th of February.
9576977e 9149
d73ff15d
VS
91502012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 Fix exfat endianness handling.
9153
9154 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9155 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9156 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9157 Byte-swap utf16 when necessary.
9158 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
9159
bbb39a45
AB
91602012-03-31 Anton Blanchard <anton@samba.org>
91612012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 Fix btrfs endianness handling.
9164
9165 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
9166 (lower_bound): Make root uint64_t. Use root in le.
9167 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
9168 (find_path): Fix template key init.
9169 (grub_btrfs_dir): Fix mtime byteswap.
9170 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9171
354e0af7
VS
91722012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9175 recursion_depth. Break infinite resursions. All users updated.
9176
4e75f21c
VS
91772012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9180 after free.
9181 Reported by: Peter Jones.
9182
25581802
AB
91832012-03-31 Anton Blanchard <anton@samba.org>
9184
9185 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9186 8 bit values.
9187
08fbf92e
VS
91882012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * util/grub-install.in: Fix nvram call for PreP.
9191
5d1182a6
VS
91922012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
9195 the error when some elements are missing into a warning.
9196
3f8cdd90
VS
91972012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
9200
51006716
CW
92012012-03-28 Colin Watson <cjwatson@ubuntu.com>
9202
9203 * docs/grub.texi (Invoking grub-probe): New section.
9204 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9205
e1bd676b
VS
92062012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9207
9208 Fix tab and wide character handling in editor and menu.
9209
9210 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9211 agglomerate control characters with combining marks.
9212 (bidi_line_wrap): Allow break on tab.
9213 (grub_unicode_get_comb_start): New function.
9214 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9215 and tab correctly.
9216 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9217 with a space.
9218 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9219 fixed_tab_size. All users updated.
9220 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9221 (grub_term_getcharwidth): Handle \t.
9222 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9223 and copy.
9224
22e6a774
VS
92252012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 Handle big-endian mdraid.
9228
9229 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9230 * grub-core/Makefile.core.def (mdraid09_be): New module.
9231 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9232 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9233 * grub-core/disk/mdraid_linux_be.c: New file.
9234
3c0eae66
VS
92352012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9238
b6cf74c9
VS
92392012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9242 missing quotes which caused confusion among translators.
9243
83c93b9c
VS
92442012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 * util/grub-mkconfig_lib.in: Fix typo.
9247
ac6fd218
VS
92482012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9251 spaces.
9252 * tests/grub_script_leading_whitespace.in: New file.
9253 * Makefile.util.def (grub_script_leading_whitespace): New test.
9254
ba287dd8
VS
92552012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9258 to work.
9259
d2d58d0a
VS
92602012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9263 starts with control character.
9264
0382d9bb
VS
92652012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9268 overflow.
9269 (grub_gdb_outbuf): Likewise.
9270
d83ff9f9
VS
92712012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9274 zero terminator. Fixes a crash.
9275
2282da4a
VS
92762012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9279 beyond 4 GiB.
9280 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9281 images independently of preffered adderss field.
9282
0ae4f0bd
VS
92832012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9286 * grub-core/commands/regexp.c: Likewise.
9287 * grub-core/loader/i386/linux.c: Likewise.
9288 * grub-core/partmap/msdos.c: Likewise.
9289 * grub-core/script/execute.c: Likewise.
9290 * grub-core/term/gfxterm.c: Likewise.
9291
546fbe9b
VS
92922012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 Add variable parsing in $"..." and fix several mismatches with bash.
9295
9296 * Makefile.util.def (grub_script_gettext): New test.
9297 * grub-core/script/execute.c (parse_string): New function.
9298 (gettext_append): Likewise.
9299 (grub_script_arglist_to_argv): Use gettext_append.
9300 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9301 * tests/grub_script_gettext.in: New file.
9302
9fdb2d7b
VS
93032012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9304
9305 Fix handling of leading spaces in scripts.
9306
9307 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9308 spaces.
9309 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9310 other than skipping \r. All users updated.
9311 * tests/grub_script_echo1.in: Add space-related tests.
9312 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9313
1a1ac4f6
VS
93142012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9317
b63d89b6
VS
93182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * configure.ac: Bump up the version to beta2.
9321
17f38c0f
VS
93222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 Fix gettext reload bugs (e.g. inability to disable gettext
9325 once enabled).
9326
9327 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9328 main_context and secondary_context. All functions updated.
9329 (grub_gettext_translate): Rename to ...
9330 (grub_gettext_translate_real): ... this. Return NULL on failed
9331 translate.
9332 (grub_gettext_translate): Handle secondary context.
9333 (grub_gettext_delete_list): Close file and zero-out the context.
9334 (grub_mofile_open): Don't call grub_gettext_delete_list.
9335 Don't close file.
9336 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9337 if locale="" to avoid pointless error message.
9338 (grub_gettext_env_write_lang): Update lang even if load fails.
9339 Handle secondary context.
9340 (grub_gettext_reread_prefix): New function.
9341 (read_main): Likewise.
9342 (read_secondary): Likewise.
9343 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9344 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9345 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9346 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9347
8e56f870
VS
93482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 * configure.ac: Decrease warning level to avoid spurious warnings and
9351 to be able to compile with GCC 4.2.
9352 * Makefile.util.def: Remove -Wno-error=logical-op.
9353
82f6d455
WB
93542012-03-10 William Bittner <william.bittner@gmail.com>
9355
9356 * util/import_unicode.py: Add missing brackets around string for
9357 python 3 support.
9358
1ecd61a4
VS
93592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 Fix efi chainloader on network root.
9362
9363 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9364 network devices.
9365 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9366 New function.
9367
14361ee8
VS
93682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9371 unused show_text member.
9372 * docs/grub.texi: Document "text" property.
9373
922aabf3
VS
93742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9377 in dprintf.
9378
ec316771
VS
93792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 Fix IMSM handling on Fedora.
9382
9383 * util/getroot.c (grub_util_is_imsm): New function.
9384 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9385
0f021838
VS
93862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 * Makefile.am: Strip gold section.
9389 * conf/Makefile.common: Likewise.
9390 * gentpl.py: Likewise.
9391 * grub-core/Makefile.core.def: Likewise.
9392 * grub-core/genmod.sh.in: Likewise.
9393
1039c8eb
VS
93942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9397 * util/grub.d/20_linux_xen.in: Likewise.
9398 Based on Debian patch.
9399
6dd412cd
VS
94002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * util/grub.d/10_linux.in: Fix syntax error resulting in
9403 Richard Laager's patch.
9404 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9405
3fd8bae5
VS
94062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9409 dependencies.
9410
7eea1671
RL
94112012-03-10 Richard Laager <rlaager@wiktel.com>
9412
9413 * util/grub.d/10_linux.in: Fix ZFS root passing.
9414
e8e0566b
VS
94152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9418 * grub-core/commands/xnu_uuid.c: Likewise.
9419 * grub-core/loader/efi/appleloader.c: Likewise.
9420 * grub-core/script/execute.c: Likewise.
9421 * grub-core/script/main.c: Likewise.
9422 * util/grub-mkfont.c: Likewise.
9423
1acc5b1f
VS
94242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 * util/grub-mkfont.c (options): Use more appropriate "select" that
9427 "set" for face index.
9428
35d70620
VS
94292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9430
9431 * util/grub-editenv.c (options): Gettextize command summaries.
9432
c9eb96b5
VS
94332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9436 "out of memory" error messagge.
9437
1f493136
VS
94382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9441 of diskfilter for diskfilter on diskfilter support.
9442
6d790129
VS
94432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9446
005f46c9
VS
94472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9450 themes/starfield.
9451
c8f778a0
VS
94522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9455
de1e64eb
VS
94562012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9459
c6d54211
VS
94602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9463 of error message.
9464
dd390777
VS
94652012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9468
5fd1c522
VS
94692012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9472 message.
c6d54211 9473 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 9474
fae01f6c
VS
94752012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9478 Gettextize.
9479 * util/grub-mount.c (options): Likewise.
9480
292fdaff
VS
94812012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9484 gettextize.
9485 * grub-core/commands/search_wrap.c (options): Likewise.
9486
ecdbae77
VS
94872012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9490
52bfedfa
VS
94912012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9494 size calculation.
9495 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9496 none is known.
9497
55b20e58
VS
94982012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9501 "temporary" since it's used in identifier and is limited in space.
9502
fda9d101
VS
95032012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 * po/POTFILES.in: Regenerate. Include *.h since they contain
9506 translatable strings as well.
9507
6a0295e2
VS
95082012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9511 byte-swap on big-endian.
9512 Reported by: Lennart Sorensen
9513
807fb77c
VS
95142012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9517 (allocate_pages): Improve dprintf.
9518 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9519 code32_start. Fill code32_start and kernel_alignment in params.
9520 (grub_cmd_initrd): Use prot_init_space.
9521
61ac50ba
VS
95222012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9525
abdd26dd
VS
95262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 * util/grub-install.in: Add missing dot at the end of sentence.
9529
6e69da9c
VS
95302012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9533 * grub-core/commands/videotest.c: Likewise.
9534 * grub-core/loader/i386/linux.c: Likewise.
9535
4a929343
VS
95362012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9539 sentence.
9540 Reported by: Milo Casagrande.
9541
bb51c6c6
VS
95422012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9545 * grub-core/commands/gptsync.c: Likewise.
9546 * grub-core/commands/hashsum.c: Likewise.
9547 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9548 * grub-core/commands/legacycfg.c: Likewise.
9549 * grub-core/io/gzio.c: Likewise.
9550 * grub-core/net/net.c: Likewise.
9551 * grub-core/term/gfxterm.c: Likewise.
9552 * grub-core/term/terminfo.c: Likewise.
9553 * grub-core/tests/test_blockarg.c: Likewise.
9554 * grub-core/video/video.c: Likewise.
9555 * util/grub-install.in: Likewise.
9556 * util/grub-mkfont.c: Likewise.
9557
b2b149cb
VS
95582012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9561
c7c080ad
VS
95622012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9565 Reported by: David Prévot.
c7c080ad 9566
f2e243c0
VS
95672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9570 description.
9571
09963c76
VS
95722012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * util/grub-script-check.c (main): Fix a syntax error message which was
9575 unclear.
9576
a50514a8
VS
95772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9580
4650daec
VS
95812012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9584 messages.
9585
95862012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9587
9588 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9589 without argument.
9590 * util/grub-mount.c (options): Likewise.
9591
bbc5a342
VS
95922012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9595
ef292a87
VS
95962012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 * grub-core/net/http.c: Add TRANSLATORS comments.
9599 * grub-core/normal/cmdline.c: Likewise.
9600 * grub-core/normal/misc.c: Likewise.
9601 * grub-core/partmap/msdos.c: Likewise.
9602 * grub-core/parttool/msdospart.c: Likewise.
9603 * grub-core/script/execute.c: Likewise.
9604 * grub-core/script/main.c: Likewise.
9605 * grub-core/term/terminfo.c: Likewise.
9606 * grub-core/video/bitmap.c: Likewise.
9607 * util/grub-install.in: Likewise.
9608 * util/grub-mkimage.c: Likewise.
9609 * util/grub-mklayout.c: Likewise.
9610 * util/grub-setup.c: Likewise.
9611
0fc19bd0
VS
96122012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9615 with similar messages in grub-fstest.
9616
d95862ef
VS
96172012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 * util/grub-install.in: Unify "option requires an argument" message
9620 with similar messages in other files.
9621 * util/grub-mkconfig.in: Likewise.
9622
b7308f90
VS
96232012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * util/grub-set-default.in: Replace printf with gettext_printf (the
9626 string in in question is already translated from grub-reboot)
9627
559dc587
VS
96282012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * configure.ac: Bump up the version to beta1.
9631
1a11761f
VS
96322012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9635 case when min_align = 0.
9636
24539abd
VS
96372012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9640 and fix a case when line_start overflows.
9641
32bd735b
VS
96422012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9643
9644 * util/grub-reboot.in (usage): Mention id posibility.
9645 * util/grub-set-default.in (usage): Likewise.
9646
1a2fd1e6
VS
96472012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9650 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9651 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9652 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9653 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9654 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9655 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9656
90eeab76
VS
96572012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * grub-core/commands/menuentry.c (options): Remove
9660 GRUB_ARG_OPTION_REPEATABLE.
9661 Reported by: Andreas Vogel
9662
5ad1be82
AV
96632012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9664
9665 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9666
cb055286
HE
96672012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9668
9669 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9670 error.
9671
93b1cd79
VS
96722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 Use sort -V by the idea of Georgi Georgiev.
9675
9676 * util/grub-mkconfig_lib.in (version_sort): New function.
9677 (version_test_numeric): Use version_sort.
9678
0cdc126c
VS
96792012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 Use submenus in grub-mkconfig.
9682
9683 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9684 * util/grub-mkconfig_lib.in (grub_quote): New function.
9685 (gettext_printf): Use gettext and not gettext_quoted to fix several
9686 messages.
9687 * util/grub.d/10_hurd.in: Use submenus.
9688 * util/grub.d/10_kfreebsd.in: Likewise.
9689 * util/grub.d/10_linux.in: Likewise.
9690 * util/grub.d/10_netbsd.in: Likewise.
9691 * util/grub.d/20_linux_xen.in: Likewise.
9692 * util/grub.d/30_os-prober.in: Likewise.
9693 * util/grub.d/10_illumos.in: Add missing quoting.
9694 * util/grub.d/10_windows.in: Likewise.
9695
d9bef9bc
VS
96962012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9697
9698 Fix menu title instability bug.
9699
9700 * grub-core/commands/menuentry.c (options): New option --id.
9701 (grub_normal_add_menu_entry): New argument id. All users updated.
9702 (grub_cmd_menuentry): Handle --id.
9703 (grub_menu_init): Accept unknown arguments.
9704 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9705 feature_menuentry_options.
9706 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9707 saved_entry.
9708 (get_entry_number): Match with id as well.
9709 * include/grub/menu.h (grub_menu_entry): New member id.
9710 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9711 * util/grub.d/00_header.in: Define menuentry_id_option.
9712 * util/grub.d/10_hurd.in: Define id.
9713 * util/grub.d/10_illumos.in: Likewise.
9714 * util/grub.d/10_kfreebsd.in: Likewise.
9715 * util/grub.d/10_linux.in: Likewise.
9716 * util/grub.d/10_netbsd.in: Likewise.
9717 * util/grub.d/10_windows.in: Likewise.
9718 * util/grub.d/20_linux_xen.in: Likewise.
9719 * util/grub.d/30_os-prober.in: Likewise.
9720
97212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9722
9723 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9724 "scope" with "body".
9725
7c8d0ce7
VS
97262012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9729 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9730 prot_size and prot_file_size.
9731
49de079b
VS
97322012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9735 All users updated. If easily=1 require raid-5/-6 to be full.
9736 (is_node_readable): Likewise.
9737 (scan_devices): Scan incomplete but readable LVs at the end.
9738 (grub_diskfilter_memberlist): Pull missing devices.
9739 (insert_array): Skip scanning until device is complete or scan is
9740 done otherwise.
9741 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9742 check.
9743 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9744 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9745
aff05d45
MG
97462012-03-03 Matthew Garrett <mjg@redhat.com>
97472012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 Avoid EFI boot services when loading Linux.
9750
9751 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9752 avoid_efi_bootservices. All users updated.
9753 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9754 argument avoid_efi_bootservices. All users updated.
9755 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9756 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9757 align, min_align, relocatable, prefered_address. All users updated.
9758 Allocate avoiding boot services if kernel is relocatable.
9759 (grub_cmd_linux): Check if kernel is relocatable.
9760 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9761 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9762 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9763 avoid_efi_boot_services.
9764 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9765 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9766 (linux_kernel_params): Likewise.
9767
3935dde2
MG
97682012-03-03 Matthew Garrett <mjg@redhat.com>
97692012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9770
9771 Use EDID on EFI.
9772
9773 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9774 datasize_out.
9775 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9776 modes. Set gop_handle.
9777 (grub_video_gop_get_edid): New function.
9778 (grub_gop_get_preferred_mode): Likewise.
9779 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9780 (grub_video_efi_gop_adapter): Set .get_edid.
9781 * include/grub/efi/edid.h: New file.
9782 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9783
32107ec0
VS
97842012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * util/grub-install.in: Load efivars unconditionally.
9787
e70a2c50
VS
97882012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * po/Rules-piglatin: Change suffix from .po-update-en to
9791 .po-update-en-piglatin.
9792
8f9cace1
VS
97932012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 Add a pig farm.
9796
9797 * po/piglatin.sed: New file.
9798 * po/en@piglatin.header: Likewise.
9799 * po/Rules-piglatin: Likewise.
9800 * po/README: Add en@piglatin to autogenerated languages.
9801
8f95d002
VS
98022012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9805 "Command for ...".
9806 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9807 "Check" since we don't check anything.
9808 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9809 is 64-bit one.
9810 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9811 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9812 (grub_md_sha512_real): Likewise.
9813
805a8dcc
VS
98142012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9815
9816 * grub-core/commands/gptsync.c: Fix typographic quoting.
9817 * grub-core/commands/ieee1275/suspend.c: Likewise.
9818 * grub-core/commands/parttool.c: Likewise.
9819 * grub-core/commands/search_wrap.c: Likewise.
9820 * grub-core/commands/videoinfo.c: Likewise.
9821 * grub-core/gfxmenu/gui_label.c: Likewise.
9822 * grub-core/hello/hello.c: Likewise.
9823 * grub-core/kern/emu/main.c: Likewise.
9824 * grub-core/net/net.c: Likewise.
9825 * grub-core/normal/menu.c: Likewise.
9826 * grub-core/normal/menu_text.c: Likewise.
9827 * grub-core/normal/misc.c: Likewise.
9828 * util/grub-editenv.c: Likewise.
9829 * util/grub-install.in: Likewise.
9830 * util/grub-kbdcomp.in: Likewise.
9831 * util/grub-mkconfig.in: Likewise.
9832 * util/grub-mknetdir.in: Likewise.
9833 * util/grub-mkrescue.in: Likewise.
9834 * util/grub-mkstandalone.in: Likewise.
9835 * util/grub-reboot.in: Likewise.
9836 * util/grub-set-default.in: Likewise.
9837 * util/grub-setup.c: Likewise.
9838 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9839
40211ab8
VS
98402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9843 * grub-core/commands/keystatus.c: Likewise.
9844 * grub-core/commands/loadenv.c: Likewise.
9845 * grub-core/commands/probe.c: Likewise.
9846 * grub-core/commands/regexp.c: Likewise.
9847 * grub-core/commands/true.c: Likewise.
9848 * grub-core/commands/videoinfo.c: Likewise.
9849 * grub-core/disk/cryptodisk.c: Likewise.
9850 * grub-core/disk/ldm.c: Likewise.
9851 * grub-core/disk/loopback.c: Likewise.
9852 * grub-core/disk/luks.c: Likewise.
9853 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9854 * grub-core/kern/disk.c: Likewise.
9855 * grub-core/kern/emu/hostdisk.c: Likewise.
9856
0c7d99c7
VS
98572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9860 * util/grub-install.in: Add missing quote in the comment.
9861
e7d2559b
VS
98622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9865 * grub-core/commands/lsmmap.c: Likewise.
9866 * grub-core/commands/minicmd.c: Likewise.
9867 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9868 * grub-core/commands/regexp.c: Likewise.
9869 * grub-core/gdb/gdb.c: Likewise.
9870 * grub-core/term/gfxterm.c: Likewise.
9871 * util/grub-mkconfig.in: Likewise.
9872 * util/grub-mkfont.c: Likewise.
9873 * util/grub-mklayout.c: Likewise.
9874 * util/grub-mknetdir.in: Likewise.
9875 * util/grub-mkrescue.in: Likewise.
9876 * util/grub.d/30_os-prober.in: Likewise.
9877
49ce9e50
VS
98782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9881 with "Direct color" and "Packed" with "Packed pixel".
9882 (grub_cmd_videoinfo): Simplify legend.
9883
e4b791fa
VS
98842012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9887 absolutely unclear error message.
9888
fd1265cb
VS
98892012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * util/grub-mkstandalone.in: Remove confusing leftover print.
9892
8822a8a0
VS
98932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9896 comments.
9897 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9898 (GRUB_MOD_INIT): Likewise.
9899 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9900 VGA mode.
9901 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9902 comments.
9903 * util/grub-install.in (usage): Likewise.
9904 Spell ID in whole letters.
9905 Add missing ending dot.
9906 Quote variables.
9907 * util/grub-reboot.in: Fix capitalisation.
9908 * util/grub-set-default.in: Likewise.
9909
937fd0cc
VS
99102012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9913 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9914 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9915 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9916 Disable -Werror for -Wdeprecated-declarations.
9917 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9918 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9919 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9920 (grub_util_get_grub_dev): Make luks handling dependent on
9921 HAVE_DEVICE_MAPPER and not __linux__.
9922 (get_win32_path): Fix format security.
9923 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9924 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9925 Don't try grub_find_zpool_from_dir.
9926 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9927 #ifdef-out paresdir.
9928
1bab1ae3
VS
99292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * util/grub-pe2elf.c (usage): Add missing noreturn.
9932 (write_section_data): Rename name to shname to avoid shadowing.
9933 (write_symbol_table): Rename name to symname to avoid shadowing.
9934 Fix write_reloc_section call.
9935
ef023e42
VS
99362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9939 to ensure that it's after the last byte of .text.
9940
48afcb75
VS
99412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * util/ieee1275/ofpath.c (my_isdigit): New function.
9944 (trailing_digits): Use my_isdigit.
9945 (strip_trailing_digits): Likewise.
9946
88d51eff
VS
99472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9950 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9951
17edc2ba
VS
99522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * grub-core/kern/i386/pc/startup.S: Define __start.
9955
ad5518d7
VS
99562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9959 strip already transforms he format.
9960
9e95e1bf
VS
99612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9964
9cc3ee5c
VS
99652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * util/grub-install.in: Add missing gettext init.
9968 * util/grub-kbdcomp.in: Likewise.
9969 * util/grub-mkconfig.in: Likewise.
9970 * util/grub-mknetdir.in: Likewise.
9971 * util/grub-mkrescue.in: Likewise.
9972 * util/grub-mkstandalone.in: Likewise.
9973 * util/grub-reboot.in: Likewise.
9974 * util/grub-set-default.in: Likewise.
9975 * util/grub.d/00_header.in: Likewise.
9976 * util/grub.d/10_hurd.in: Likewise.
9977 * util/grub.d/10_windows.in: Likewise.
9978 * util/grub.d/30_os-prober.in: Likewise.
9979 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9980
49e08a06
VS
99812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * po/Rules-swiss: Fix header comment.
9984
3809cb41
AV
99852012-02-29 Andreas Vogel <anvoit>
9986
9987 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9988 resulted in leak of arguments.
9989
fa6ec573
VS
99902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9993 reed_solomon_size const definition instead of computing it since
9994 Apple assembler doesn't support the later.
9995
22899b9c
VS
99962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9997
9998 * gentpl.py (kernel): Rewrite Apple part.
9999
a132afc3
VS
100002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * include/grub/kernel.h (FOR_MODULES): Check module magic.
10003
9d742bd4
VS
100042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 * util/grub-mkimagexx.c (locate_sections): Support non-standard
10007 ELF section gap.
10008 (load_image): Likewise.
10009
f04a9a21
VS
100102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * configure.ac: Fix a typo in previous commit.
10013
46cf439c
VS
100142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 Don't add -Wl,-N on Apple platform.
10017
10018 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
10019 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
10020
c4c48c54
VS
100212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10022
10023 * grub-core/Makefile.core.def (lzma_decompress): Use
10024 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
10025
31a12124
VS
100262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * grub-core/genmod.sh.in: Rewrite the Apple part.
10029
4f3aa1af
VS
100302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10033 comparison.
10034
7bd8b0c7
VS
100352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * acinclude.m4 (grub_CHECK_PIC): New test.
10038 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10039
97304d7c
VS
100402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10041
10042 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10043 to avoid the warning.
10044
fb883812
VS
100452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10048 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10049 after. All users updated.
10050
a121c964
VS
100512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 Use the common size routine in hostfs so we can read disks as well.
10054
10055 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10056 (grub_util_get_fd_size): ... this. Return size in bytes.
10057 All users updated.
10058 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10059 grub_util_get_fd_size.
10060
c66d6410
VS
100612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10064 Add blocksize retrieval.
10065
dfc8aeb0
VS
100662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * configure.ac: Restore CFLAGS after efiemu check.
10069
403e25a5
VS
100702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10073 Apple bug.
10074
382775d1
VS
100752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10078
6fd4e6e4
VS
100792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10082 (grub_cmd_halt): Likewise.
10083
bea359d6
VS
100842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10087 for local arithmetics.
10088 Break %sp init into 2 instructions.
10089 Add 0 byte at the end.
10090
32eb6ee1
VS
100912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10094 before loops.
10095
e8377389
VS
100962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10099 for context.
10100
8cb17de7
VS
101012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 * grub-core/disk/ldm.c (make_vg): Init part.name.
10104 (grub_ldm_detect): Silence spurious warning.
10105 (grub_util_is_ldm): Likewise.
10106
595717e6
VS
101072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10108
10109 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10110 sane value to avoid a spurious warning.
10111
c4b7e588
VS
101122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10115 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10116
59824957
VS
101172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10120 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10121
70115b99
VS
101222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10125 hardcoding the relevant info.
10126
56733740
VS
101272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10130 missing const qualifiers.
10131 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10132
43481481
VS
101332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10134
10135 * util/getroot.c [__APPLE__]: Add missing includes.
10136 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10137
3cb38f01
VS
101382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10141
d9dbf11e
VS
101422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10145 avoid conflicts.
10146
0c42a45d
VS
101472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10150
46c34eb0
VS
101512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10154 and grub_file_close call.
10155
99ce1597
VS
101562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 Add LZSS Mach-O support (needed for new xnu kernelcache).
10159
10160 * grub-core/Makefile.core.def (xnu): Add file lzss.c
10161 * grub-core/loader/lzss.c: New file.
10162 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
10163 on Mach-O open failure.
10164 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
10165 Don't free cmdsXX in uncompressedXX is set.
10166 (grub_macho_file): Init new fields.
10167 New argument is_64bit. All users updated.
10168 Handle compressed. Error out if no suitable architecture is found.
10169 Don't close file.
10170 (grub_macho_open): New argument is_64bit. All users updated.
10171 * grub-core/loader/macho32.c: Add defines for new fields.
10172 * grub-core/loader/macho64.c: Likewise.
10173 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10174 (grub_macho_parse): Handle compressed.
10175 Defer actual processing if compressed.
10176 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10177 "filename". All users updated.
10178 (grub_macho_size): New argument "filename". All users updated.
10179 (grub_macho_get_entry_point): Likewise.
10180 (grub_macho_load): Handle compressed.
10181 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10182 (GRUB_MACHO_LZSS_OFFSET): New define.
10183 (grub_decompress_lzss): New proto.
10184 * include/grub/machoload.h (grub_macho_file): New fields to handle
10185 compressed.
10186 (grub_macho_contains_macho64): Remove proto.
10187 (grub_macho_contains_macho32): Likewise.
10188 * util/grub.d/30_os-prober.in: Use kernel cache if available.
10189
ebd17d6f
VS
101902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
10193
2702b4e4
VS
101942012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 Fix make dist.
10197
10198 * Makefile.am (starfield_theme_files): New var.
10199 (starfield_DATA): Use starfield_theme_files.
10200 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10201 Add bootcheck-related files.
10202 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10203 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10204 and font_char_metrics.txt.
10205 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10206 (setjmp): Add lib/ia64/longjmp.S.
10207 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10208 * po/POTFILES.in: Regenerate.
10209 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10210 DISTFILES.common.extra1.
10211 * util/devicemap.c: Removed.
10212 * grub-core/lib/i386/relocator_backward.S: Likewise.
10213 * util/import_gcry.py: Remove unused files. Add extra_dist for
10214 ChangeLog.
10215
cf1adfdf
VS
102162012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10217
10218 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10219 grub_gettext_delete_list before changing grub_gettext_max to avoid
10220 running out of array bounds.
10221
102222012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
10223
10224 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10225 grub_vga_text_init/grub_vga_text_fini.
10226
cf1adfdf 102272012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
10228
10229 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10230
541d92e9
VS
102312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 * configure.ac: Bump to 2.00~beta0.
10234
7931dddf
VS
102352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10238 missing initialisation.
10239
f1b16fa3
VS
102402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10243
83ddae23
VS
102442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 Support v2 xnu boot arguments.
10247
10248 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10249 New argument fsbfreq_out.
10250 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10251 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10252 be used.
10253 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10254 darwin_version.
10255 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10256 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10257 (grub_xnu_boot_params): Rename to ...
10258 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10259 (grub_xnu_boot_params_v2): New struct.
10260
dc693fe6
VS
102612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10264 zeroing of CRC field before computing CRC.
10265
5a6e39c2
VS
102662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10269 Change order of allocations to decrease fragmentation.
10270
6c21f5d7
VS
102712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10274
cfe456dc
CW
102752012-02-27 Colin Watson <cjwatson@ubuntu.com>
10276
10277 Use write-combining MTRR to speed up video with buggy BIOSes.
10278
10279 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10280 (cpuid): New define.
10281 (rdmsr): Likewise.
10282 (wrmsr): Likewise.
10283 (mtrr_base): Likewise.
10284 (mtrr_mask): Likewise.
10285 (grub_vbe_enable_mtrr_entry): New function.
10286 (grub_vbe_enable_mtrr): Likewise.
10287 (grub_vbe_disable_mtrr): Likewise.
10288 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10289 control off to BIOS.
10290 (grub_video_vbe_init): Fill mtrr.
10291 (grub_video_vbe_fini): Disable mtrr.
10292 (grub_video_vbe_get_info_and_fini): Likewise.
10293 (grub_video_vbe_setup): Enable mtrr.
10294
e3c78337
CW
102952012-02-27 Colin Watson <cjwatson@ubuntu.com>
10296
10297 * include/grub/partition.h (grub_partition_map): Change prototype of
10298 embed to take a maximum value for nsectors.
10299 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10300 * include/grub/fs.h (grub_fs): Likewise.
10301 * grub-core/partmap/msdos.c (embed_signatures): New array.
10302 (pc_partition_map_embed): Check for and avoid sectors matching any
10303 of the signatures in embed_signatures, up to max_nsectors.
10304 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10305 returned sector map to max_nsectors.
10306 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10307 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10308 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10309 * util/grub-setup.c (setup): Allow for the embedding area being
10310 split into multiple blocklists. Tell dest_partmap->embed the
10311 maximum number of sectors we care about.
10312
103132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10316 Specify blocklist_install and reserver_first_sector for all fs.
10317 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10318 blocklists.
10319
984b973f
VS
103202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * util/grub-install.in: Clarify strings.
10323 Fix source dir check.
10324
f122e0d6
RL
103252012-02-27 Richard Laager <rlaager@wiktel.com>
10326
10327 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10328 "zfs" and "fuse.zfs" as synonyms.
10329
071114bb
VS
103302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 * configure.ac: Put platform and target_cpu substitutions back since
10333 they are used for directories.
10334
817e6abc
RL
103352012-02-27 Richard Laager <rlaager@wiktel.com>
103362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10339 * util/grub.d/20_linux_xen.in: Likewise.
10340
897b7419
RL
103412012-02-27 Richard Laager <rlaager@wiktel.com>
10342
10343 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10344 with full paths.
10345
a414bd15
RL
103462012-02-27 Richard Laager <rlaager@wiktel.com>
10347
10348 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10349 unescape.
10350
30ac48c4
VS
103512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 Don't use insecure popen in getroot.
10354
10355 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10356 (exec_pipe): ... here.
10357 (find_root_devices_from_poolname): Use exec_pipe.
10358
53f13848
VS
103592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 Remove platform and target_cpu replacement.
10362
10363 * configure.ac: Remove platform and target_cpu substitutions.
10364 * tests/util/grub-shell.in: Use modinfo.
10365 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10366 explicitly.
10367
90cb2803
VS
103682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 Autodetect platform in grub-install but allow override.
10371
10372 * util/grub-install.in: Autodetect platform. Support --target and
10373 --directory. Read platform from modinfo.sh.
10374
b9136427
VS
103752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 Support btrfs multi-volume probe.
10378
10379 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10380 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10381 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10382 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10383 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10384 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10385 grub_find_root_devices_from_btrfs if on btrfs.
10386
c36e5cd1
VS
103872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 Remove any awareness of *.c util files about target.
10390
10391 * Makefile.util.def (grub-setup): Split to ...
10392 (grub-bios-setup): ... and this.
10393 (grub-sparc64-setup): ... and this.
10394 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10395 * docs/man/grub-setup.h2m: Split into ...
10396 * docs/man/grub-sparc64-setup.h2m: ... this.
10397 * docs/man/grub-bios-setup.h2m: ... and this.
10398 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10399 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10400 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10401 (grub_target_addr_t): Remove.
10402 (grub_target_size_t): Remove.
10403 (grub_target_ssize_t): Remove.
10404 * util/grub-install.in: Use new grub-*-setup.
10405 * util/grub-mkimagexx.c (Elf_Word): New define.
10406 (Elf_Half): Likewise.
10407 (Elf_Section): Likewise.
10408 (ELF_ST_TYPE): Likewise.
10409 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10410 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10411
584b2f8a
VS
104122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 Replace grub_target_addr with more appropriate types.
10415
10416 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10417 grub_target_addr with grub_addr.
10418 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10419 grub_target_addr with grub_port.
10420 (grub_cmd_write): Likewise.
10421 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10422 grub_target_addr with grub_addr.
10423 (grub_cmd_write): Likewise.
10424 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10425
5a0dc6fb
VS
104262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10429 const qualifier for vendor_guid.
10430
786aff6e
VS
104312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10434 const qualifier.
10435 (efiemu_memequal): Likewise.
10436 (find_variable): Likewise.
10437
49017b17
VS
104382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 Fix missing console prototype on qemu-mips.
10441
10442 * include/grub/mips/qemu_mips/console.h: New file.
10443
c5988629
MG
104442012-02-27 Matthew Garrett <mjg@redhat.com>
104452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10448 * include/grub/efi/efi.h: Likewise.
10449 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10450 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10451 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10452 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10453 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10454 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10455
e33f8d69
MG
104562012-02-27 Matthew Garrett <mjg@redhat.com>
10457
10458 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10459
fb312cd9
VS
104602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10461
10462 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10463 error.
10464
7134247c
VS
104652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 * configure.ac: Remove inappropriate use of program_transform_name
10468 on grubdir and bootdir but allow explicit specification of those
10469 variables.
10470
6a313124
VS
104712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * util/grub-mknetdir.in (grub_prefix): Removed.
10474 (subdir): Use @bootdirname@ and @grubdirname@.
10475
2311c5ca
VS
104762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10477
10478 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10479
7d5d60f7
VS
104802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * po/POTFILES.in: Regenerated.
10483
8151bc82
VS
104842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 Remove improper use of program_transform_name on pkglibrootdir.
10487
10488 * configure.ac (pkglibrootdir): Removed.
10489 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10490 * util/grub-mkimage.c: Likewise.
10491
b4a6a533
VS
104922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10495 warning.
10496
668f304f
VS
104972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 * util/grub-install.in: Use file identifier if no UUID is available
10500 or user explicitly prompted for it.
10501
665f2341
NP
105022012-02-27 Navdeep Parhar <nparhar@gmail.com>
10503
10504 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10505 (freebsd_get_zfs): New function.
10506 (grub_freebsd_boot): Pass zfs UUID.
10507 (grub_cmd_freebsd): Set zfs UUID.
10508
8151bc82 105092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10510
10511 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10512 pkglibrootdir.
10513
e4c498a1
MG
105142012-02-27 Mike Gilbert <floppym@gentoo.org>
10515
10516 Add configure flag to control libzfs integration.
10517
10518 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10519
1e9a9a3f
VS
105202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10523 device.
10524 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10525 small devices.
10526
036985b8
VS
105272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10530 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10531 be used on non-modules.
10532
10533 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10534 Rename to grub_boot_init.
10535 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10536 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10537 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10538 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10539 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10540 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10541 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10542 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10543 includes.
10544 (grub_machine_init): Remove empty inits.
10545 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10546 includes.
10547 (grub_machine_init): Remove empty inits.
10548 * grub-core/term/arc/console.c: Remove explicit proto.
10549 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10550 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10551 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10552 grub_at_keyboard_fini.
10553 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10554 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10555 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10556 grub_gfxterm_fini.
10557 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10558 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10559 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10560 grub_vgatext_fini.
10561 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10562 * grub-core/term/serial.c (GRUB_MOD_INIT)
10563 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10564 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10565 grub_serial_fini.
10566 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10567 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10568 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10569 grub_terminfo_fini.
10570 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10571 (GRUB_MOD_FINI): Likewise.
10572 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10573 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10574 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10575 grub_video_radeon_fuloong2e_fini.
10576 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10577 [LOONGSON]: Rename to grub_video_sis315pro_init.
10578 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10579 grub_video_sis315pro_fini.
10580 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10581 [LOONGSON]: Rename to grub_video_sm712_init.
10582 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10583 grub_video_sm712_fini.
10584 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10585 (grub_at_keyboard_fini): Likewise.
10586 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10587 Don't declare grub_{modname}_init.
10588 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10589 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10590 New proto.
10591 (grub_keylayouts_fini) [!EMU]: Likewise.
10592 * include/grub/serial.h (grub_serial_init) [!EMU]:
10593 New proto.
10594 (grub_serial_fini) [!EMU]: Likewise.
10595 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10596 New proto.
10597 (grub_terminfo_fini) [!EMU]: Likewise.
10598 * include/grub/video.h (grub_font_init) [!EMU]:
10599 New proto.
10600 (grub_font_fini) [!EMU]: Likewise.
10601 (grub_gfxterm_init) [!EMU]: Likewise.
10602 (grub_gfxterm_fini) [!EMU]: Likewise.
10603 (grub_video_sm712_init) [!EMU]: Likewise.
10604 (grub_video_sm712_fini) [!EMU]: Likewise.
10605 (grub_video_sis315pro_init) [!EMU]: Likewise.
10606 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10607 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10608 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10609
d5534665
VS
106102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10611
10612 Make nand a prefix for nand devices.
10613
10614 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10615
10133b5f
VS
106162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10617
10618 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10619 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10620
8e307a62
VS
106212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 * include/grub/env.h (grub_env_find): Remove prototype.
10624 * grub-core/kern/env.c (grub_env_find): Make static.
10625 (grub_env_set): Remove useless set.
10626
a4c65f34
VS
106272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * grub-core/kern/i386/realmode.S: Remove useless align.
10630
d87893d5
VS
106312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * include/grub/dl.h (grub_dl_load_file): Don't export.
10634
50159add
VS
106352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10638 grub_dprintf.
10639
b2582b84
VS
106402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10643 grub_errors.
10644 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10645 not reloading whole superblock but only the part which is really needed.
10646 Remove useless grub_errors.
10647 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10648 grub_errors.
10649
e2a83395
VS
106502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10651
10652 Don't export grub_get_rtc.
10653
10654 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10655 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10656
e7d2a906
VS
106572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10660
6cf1363b
VS
106612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10664 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10665
eece3349
VS
106662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 Remove prio_list.
10669
10670 * include/grub/list.h (grub_prio_list): Removed.
10671 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10672 GRUB_COMMAND_PRIO_MASK.
10673 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10674 GRUB_COMMAND_FLAG_ACTIVE.
10675 (grub_prio_list_insert): Removed.
10676 (grub_prio_list_remove): Likewise.
10677 (GRUB_AS_PRIO_LIST): Likewise.
10678 (GRUB_AS_PRIO_LIST_P): Likewise.
10679 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10680 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10681 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10682 * grub-core/kern/command.c (grub_register_command_prio): Inline
10683 the prio_list code.
10684 (grub_unregister_command): Likewise.
10685
94f064b4
VS
106862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10687
10688 Fix interrupt mixup from previous commit.
10689
10690 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10691 (grub_realidt): New var.
10692 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10693 Load idt.
10694 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10695 New declaration.
10696 (grub_relocator16_boot): Set grub_relocator16_idt.
10697 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10698 (LOCAL(realidt)): ... this.
10699 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10700 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10701 (grub_realidt): New variable.
10702
27317084
VS
107032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10706 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10707 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10708 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10709 Gettextize.
10710 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10711 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10712 * po/POTFILES.in: Regenerate.
10713
47b40053
VS
107142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10717 errors.
10718
2b343101
VS
107192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10722 \0.
10723 (add_length): Likewise.
10724
ff27c3dd
LK
107252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
107262012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10727
10728 GDB serial and backtrace support.
10729
10730 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10731 (prot_to_real): Likewise.
10732 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10733 * grub-core/Makefile.core.def (backtrace): New module.
10734 (gdb): Likewise.
10735 * grub-core/gdb/cstub.c: New file.
10736 * grub-core/gdb/gdb.c: Likewise.
10737 * grub-core/gdb/i386/idt.c: Likewise.
10738 * grub-core/gdb/i386/machdep.S: Likewise.
10739 * grub-core/gdb/i386/signal.c: Likewise.
10740 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10741 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10742 * include/grub/backtrace.h: Likewise.
10743 * include/grub/gdb.h: Likewise.
10744 * include/grub/i386/gdb.h: Likewise.
10745
107462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10747
10748 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10749 New function.
10750 (add_length): Likewise.
10751 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10752 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10753 proto.
10754 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10755 __argp_get_display_len.
10756
ff27c3dd 107572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10758
10759 $"..." support in scripts.
10760
10761 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10762 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10763 * grub-core/script/yylex.l: Likewise.
10764 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10765 value.
10766
ff27c3dd 107672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10768
10769 * gentpl.py: Remove obsolete pkglib_DATA handling.
10770
ff27c3dd 107712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10772
10773 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10774 mailing list.
10775
10776 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10777 * util/grub-kbdcomp.in: Likewise.
10778 * util/grub-mkconfig.in: Likewise.
10779 * util/grub-mkconfig_lib.in: Likewise.
10780 * util/grub-mknetdir.in: Likewise.
10781 * util/grub-mkrescue.in: Likewise.
10782 * util/grub-mkstandalone.in: Likewise.
10783 * util/grub-reboot.in: Likewise.
10784 * util/grub-set-default.in: Likewise.
10785 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10786
ff27c3dd 107872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10788
10789 Remove GRUB_PREFIX.
10790
10791 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10792 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10793 used for backward compatibility.
10794
ff27c3dd 107952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10796
10797 Add new all_video module.
10798
10799 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10800 * grub-core/Makefile.core.def (all_video): New module.
10801 * grub-core/genmoddep.awk: Generate dependency of all_video from
10802 video.lst.
10803 * grub-core/lib/fake_module.c: New file.
10804 * grub-core/normal/main.c (features): Add feature_all_video_module.
10805 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10806 don't do explicit search again.
47454da5 10807 insmod all_video in load_video if available.
22c7ce85 10808
ff27c3dd 108092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10810
10811 Another round of string clarification and adding TRANSLATORS comments.
10812
ff27c3dd 108132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10814
10815 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10816
ff27c3dd 108172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10818
10819 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10820 to grub_ssize_t.
10821 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10822 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10823
ff27c3dd 108242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10825
10826 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10827 trailing newline implicitly. All users updated.
10828
ff27c3dd 108292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10830
10831 Implement serial on IEEE1275 and EFI.
10832
10833 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10834 on emu. Mention arc and emu as the only platforms without serial
10835 support.
10836 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10837 ieee1275 platforms.
10838 * grub-core/term/efi/serial.c: New file.
10839 * grub-core/term/ieee1275/serial.c: Likewise.
10840 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10841 specification if no ns8250 driver is available.
10842 (grub_cmd_serial): Likewise.
10843 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10844 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10845 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10846 (grub_efi_parity_type_t): New type.
10847 (grub_efi_stop_bits_t): Likewise.
10848 (grub_efi_serial_io_interface): New struct.
10849 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10850 available for all interfaces.
10851 Add EFI and IEEE1275 fields.
10852 (grub_ofserial_init): New proto.
10853 (grub_efiserial_init): Likeiwse.
10854 * util/grub.d/00_header.in: Don't check for the presence of serial
10855 module.
10856
ff27c3dd 108572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10858
10859 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10860 name as if it was an alias.
10861
114076ef
VS
108622012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * grub-core/commands/lsacpi.c (options): Fix typo.
10865
6a656b0e
VS
108662012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10867
10868 Convert grub-emu to argp.
10869
10870 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10871 emu.
10872 * util/argp_common.c: Rename to ...
10873 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10874 Add missing includes.
10875 * grub-core/kern/emu/main.c: Convert to argp.
10876 * po/POTFILES.in: Regenerate.
10877 * util/grub-install.in (usage): Make first letter lowcase in messages
10878 for uniformity.
10879 * util/grub-setup.c (options): Likewise.
10880
1e3f8ae8
VS
108812012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10884 Put back accidently commented-out code.
10885
ed167a80
VS
108862012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10887
10888 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10889 loop check using Brent algorithm.
10890 (grub_hfsplus_btree_search): Likewise.
10891
6753c0ec
VS
108922012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * util/grub-install.in: Fix usage of wrong device for PreP install.
10895
4e27343f
VS
108962012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10897
10898 * conf/Makefile.common (CFLAGS_GNULIB): Add
10899 -Wno-unsafe-loop-optimizations.
10900 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10901 on tools.
10902 * grub-core/commands/legacycfg.c: Add pragma to skip
10903 -Wunsafe-loop-optimizations.
10904 (check_password_md5_real): Fix loop counter type.
10905 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10906 reading.
10907 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10908 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10909 loop condition.
10910 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10911 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10912 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10913 condition.
10914 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10915 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10916 avoid possible infinite loops.
10917 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10918 and -Wunsafe-loop-optimizations.
10919 * grub-core/script/yylex.l: Likewise.
10920 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10921 (print_glyphs): Avoid infinite loops.
10922 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10923
697f18b0
GS
109242012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10925
10926 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10927 to avoid infinite loop.
10928 (disp_acpi_rsdt_table): Likewise.
10929
274416e8
VS
109302012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * grub-core/font/font.c (grub_font_load): Add support for default
10933 path for fonts ($prefix/fonts).
10934 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10935 for checking if string is a path.
10936 * grub-core/normal/main.c (features): Add feature_default_font_path.
10937 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10938 * util/grub.d/00_header.in: Use default directory if possible.
10939 * util/grub-install.in: Install unicode.pf2.
10940
b3e08622
VS
109412012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10942
10943 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10944 * po/Rules-swiss: New file.
10945 * po/swiss.sed: Likewise.
10946
fe42ce09
VS
109472012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 * grub-core/fs/btrfs.c (find_device): Fix typos.
10950 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10951 * util/grub-mkrelpath.c (argp_parser): Likewise.
10952 Reported by: Yuri Chornoivan.
10953
72f1d065
DO
109542012-02-23 Dalet Omega <daletomega@gmail.com>
10955
10956 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10957 for usual informative messages.
10958
c5884973
DO
109592012-02-23 Dalet Omega <daletomega@gmail.com>
10960
10961 Starfield theme.
10962
10963 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10964 * conf/Makefile.common: Define starfielddir.
10965 * configure.ac: Configure starfield.
10966 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10967 * themes/starfield/README: Likewise.
10968 * themes/starfield/blob_w.png: Likewise.
10969 * themes/starfield/boot_menu_c.png: Likewise.
10970 * themes/starfield/boot_menu_e.png: Likewise.
10971 * themes/starfield/boot_menu_n.png: Likewise.
10972 * themes/starfield/boot_menu_ne.png: Likewise.
10973 * themes/starfield/boot_menu_nw.png: Likewise.
10974 * themes/starfield/boot_menu_s.png: Likewise.
10975 * themes/starfield/boot_menu_se.png: Likewise.
10976 * themes/starfield/boot_menu_sw.png: Likewise.
10977 * themes/starfield/boot_menu_w.png: Likewise.
10978 * themes/starfield/slider_c.png: Likewise.
10979 * themes/starfield/slider_n.png: Likewise.
10980 * themes/starfield/slider_s.png: Likewise.
10981 * themes/starfield/src/blob_nw.xcf: Likewise.
10982 * themes/starfield/src/bootmenu/: Likewise.
10983 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10984 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10985 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10986 * themes/starfield/src/slider_c.xcf: Likewise.
10987 * themes/starfield/src/slider_n.xcf: Likewise.
10988 * themes/starfield/src/slider_s.xcf: Likewise.
10989 * themes/starfield/src/terminalbox/: Likewise.
10990 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10991 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10992 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10993 * themes/starfield/starfield.png: Likewise.
10994 * themes/starfield/terminal_box_c.png: Likewise.
10995 * themes/starfield/terminal_box_e.png: Likewise.
10996 * themes/starfield/terminal_box_n.png: Likewise.
10997 * themes/starfield/terminal_box_ne.png: Likewise.
10998 * themes/starfield/terminal_box_nw.png: Likewise.
10999 * themes/starfield/terminal_box_s.png: Likewise.
11000 * themes/starfield/terminal_box_se.png: Likewise.
11001 * themes/starfield/terminal_box_sw.png: Likewise.
11002 * themes/starfield/terminal_box_w.png: Likewise.
11003 * themes/starfield/theme.txt: Likewise.
11004
17d73325
VS
110052012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11006
11007 * util/grub.d/00_header.in: Add missing export theme.
11008
dbebaf92
VS
110092012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
11012 already included.
11013 Reported by: Eren D.
11014
3d68bffb
VS
110152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 * conf/Makefile.common (grubdatadir): Removed.
11018 (Makefile.am): Move eveything grubdata to pkgdata.
11019
4b59234d
VS
110202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 * grub-core/commands/acpihalt.c (get_sleep_type):
11023 Remove unused variable.
11024
463dcadc
VS
110252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11026
11027 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
11028 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11029 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11030 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11031 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11032 i18n with gettext no-op.
11033 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11034 GRUB_ACPI_OPCODE_STRING_CONST.
11035 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11036 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11037
e5b90c82
VS
110382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11039
11040 * po/POTFILES.in: Regenerate.
11041
2a704ca9
VS
110422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11045 -Wno-error=missing-noreturn.
11046
84f9d341
VS
110472012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11050 condition to avoid possibly infinite loops.
11051 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11052 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11053
d46683f9
VS
110542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11057 condition to avoid possibly infinite loops.
11058
c44866b2
VS
110592012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11060
11061 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11062 on show_error.
11063
96790539
VS
110642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11065
11066 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11067
1ba7e295
VS
110682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11071
21ffe8f1
VS
110722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 * util/bin2h.c (usage): Add missing attribute noreturn.
11075
0ccb6b3c
VS
110762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11079 if the size isn't divisible by 512.
11080
b00d7fb6
VS
110812012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 Make list_push and list_remove functions rather than inline functions
11084 to decrease size and avoid aliasing violations.
11085
11086 * include/grub/list.h (grub_list_push): Move to ...
11087 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11088 * include/grub/list.h (grub_list_remove): Move to ...
11089 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11090
9d369087
VS
110912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11092
11093 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11094 and -Wunused-result.
11095
af0250d9
VS
110962012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11099 Reported by: Seth Goldberg
11100
aad32b14
VS
111012012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11104
ac96441c
ST
111052012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11106
11107 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11108 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11109 command line.
11110 * docs/grub.texi (Simple configuration): Document
11111 GRUB_CMDLINE_GNUMACH.
11112
111132012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
11114
11115 * conf/Makefile.common (platform_SCRIPTS): New variable.
11116 (platform_PROGRAMS): Likewise.
11117 * gentpl.py: Mark *,module and *.image for install.
11118 * grub-core/gdb_grub.in: Add a notice of expected environment.
11119 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11120 (gmodule.pl): Likewise.
11121
ac96441c 111222012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
11123
11124 Replace grub_checkkey with grub_getkey_noblock.
11125
11126 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11127 (grub_getkey_noblock): ... this. All users updated.
11128
ac96441c 111292012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
11130
11131 * grub-core/kern/emu/console.c: Move to ...
11132 * grub-core/term/emu/console.c: ...here.
11133 (grub_ncurses_getkey): Fix return value if no key is detected.
11134
e51b5666
VS
111352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11138 (grub_unit_test_fini): Likewise.
11139 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11140
111412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 * include/grub/test.h (GRUB_UNIT_TEST)
11144
d9a62292
VS
111452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11148 Better error handling.
11149 (grub_script_return): Likewise.
11150 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11151
77c9182f
VS
111522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11155 rimplicit redifinition.
11156
edb13cf9
VS
111572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
11160 GRUB.
11161
a9e9dc7c
VS
111622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
11165 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
11166 prompt here.
11167
b4ba8e02
VS
111682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11169
11170 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11171 as GRUB_ERR_BUG. Don't malloc if no device is available.
11172
dded5540
VS
111732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11176 Mark calling with invalid term as GRUB_ERR_BUG.
11177
0cf69874
VS
111782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11181 packets rather than raising an error.
11182
59bfe502
VS
111832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11186 in if.
11187
db5fc596
VS
111882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
11191 diagnostic to dprintf.
11192 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11193
e4b7f404
VS
111942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
11197 device name.
11198
e7b02f9e
VS
111992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11202 (grub_ntfs_iterate_dir): Likewise.
11203
0331e102
VS
112042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11205
11206 Efiemu stylistic fixes and gettext.
11207
11208 * grub-core/efiemu/i386/loadcore32.c
11209 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11210 * grub-core/efiemu/i386/loadcore64.c
11211 (grub_arch_efiemu_relocate_symbols64): Likewise.
11212 * grub-core/efiemu/i386/pc/cfgtables.c
11213 (grub_machine_efiemu_init_tables): Likewise.
11214 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11215 (grub_efiemu_loadcore_initXX): Add a filename argument.
11216 All users updated.
11217 Improved error message.
11218 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11219 Add a filename argument.
11220 All users updated.
11221 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11222 Reclassify double relocation as GRUB_ERR_BUG.
11223
306fc074
VS
112242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11227 handling.
11228
794d8ef2
VS
112292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11232 on partition.
11233
112342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
11235
11236 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11237
794d8ef2 112382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
11239
11240 Improve string. Gettextize.
11241
78dde88e
VS
112422012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11243
11244 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11245 utils.
11246 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
11247
4786a90f
VS
112482012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11251 [GRUB_UTIL]: New function.
11252 (insert_array) [GRUB_UTIL]: Store partmaps.
11253 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11254 partmaps.
11255 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11256 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11257 (probe_abstraction): Print diskfilter and not raid.
11258 Reported by: Lennart Sorensen
11259
0b6225bd
VS
112602012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11263 * util/grub-mkimagexx.c (MASK3): New define.
11264 (add_value_to_slot_20b): Use MASK3.
11265 (add_value_to_slot_21): Likewise.
11266 (relocate_addresses): Fix format specification.
11267 (load_image): Explicitly init symtab_section.
11268
b055f8f6
VS
112692012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11272 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11273
b77c2fb7
VS
112742012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11277 on powerpc.
11278 Reported by: Lennart Sorensen
11279
e3ec28ab
VS
112802012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 * gentpl.py: Add missing license header.
11283 * docs/grub.texi: Update copyright year.
11284
c8d9ead6
GS
112852012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11286
11287 Source grub-mkconfig_lib from the build directory at build time.
11288 Suggested by: Vladimir Serbinenko.
11289
11290 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11291 * util/grub-install.in: Define pkgdatadir if not already set, and source
11292 grub-mkconfig_lib from there.
11293 * util/grub-kbdcomp.in: Likewise.
11294 * util/grub-mkconfig.in: Likewise.
11295 * util/grub-mknetdir.in: Likewise.
11296 * util/grub-mkrescue.in: Likewise.
11297 * util/grub-mkstandalone.in: Likewise.
11298 * util/grub-reboot.in: Likewise.
11299 * util/grub-set-default.in: Likewise.
11300 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11301
ebcecdf1
VS
113022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11303
11304 Increase warning level.
11305
11306 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11307 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11308 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11309 (TARGET_CFLAGS): Likewise.
11310 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11311 * grub-core/Makefile.core.def (decompressor_xz): Add
11312 -Wno-unreachable-code.
11313 (normal): Add -Wno-redundant-decls.
11314 (xzio): Add -Wno-unreachable-code.
11315 (lzopio): Add -Wno-redundant-decls -Wno-error.
11316 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11317 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11318 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11319 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11320 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11321 * grub-core/kern/i386/coreboot/init.c: Add exception to
11322 -Wsuggest-attribute=noreturn.
11323 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11324 * grub-core/kern/ia64/dl_helper.c: Likewise.
11325 * grub-core/kern/mips/dl.c: Likewise.
11326 * grub-core/kern/sparc64/dl.c: Likewise.
11327 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11328 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11329 (memcmp): Likewise.
11330 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11331 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11332 * grub-core/loader/mips/linux.c: Likewise.
11333 * grub-core/loader/multiboot_elfxx.c: Likewise.
11334 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11335 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11336 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11337 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11338 fixme.
11339 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11340 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11341 Fix prototype.
11342
37bb97fe
VS
113432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11346 address.
11347
29a3550b
VS
113482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11351 Avoid improper use of strings.
11352 (grub_cmd_legacy_initrdnounzip): Likewise.
11353
dfdffd0d
VS
113542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11357 attribute.
11358 (grub_util_info): Likewise.
11359 (grub_util_error): Likewise.
11360
102fae4a
VS
113612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11362
11363 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11364 * util/grub-fstest.c (fstest): Likewise.
11365
7e94d044
VS
113662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11369 (grub_md_sha512_real): Likewise.
11370 (grub_util_get_geli_uuid): Likewise.
11371 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11372 (grub_util_biosdisk_open): Fix format specification.
11373 Respect format security.
11374 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11375 (xrealloc): Likewise.
11376 (xasprintf): Likewise.
11377
5ebd9769
VS
113782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 * util/import_gcry.py: Include grub/crypto.h in init.c.
11381
495fc8c1
VS
113822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11385 (generate_image): Make prefix a const char *.
11386 Fix format specifications. Respect format security.
11387 Avoid void * arithmetics.
11388 Avoid shadowing.
11389 (argp_parser): Remove unused variable. Respect format security.
11390 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11391 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11392 (count_funcs): Remove unused variable.
11393 (relocate_addresses): Fix format specification.
11394 Disable x86-64 with elf32. Remove unused variables.
11395 (add_fixup_entry): Avoid shadowing.
11396 (make_reloc_section): Fix format specification.
11397 Use assert.
11398 (locate_sections): Fix format specifications.
11399 (load_image): Avoid shadowing.
11400
043c2ea3
VS
114012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11404 Fix format specifications. Respect format security.
11405 Don't translate already translated grub_errmsg.
11406 (argp_parser): Remove unused variable
11407
3ec65a81
VS
114082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11409
11410 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11411
a4d9fe4a
VS
114122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11415 (main): Likewise. Use xmalloc. Respect format security.
11416
15b81d49
VS
114172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11420 a const char *.
11421 (argp_parser): Remove unused variable.
11422
31731fc0
VS
114232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11426 (add_pixel): Make static.
11427 (add_font): Likewise.
11428 (write_string_section): Make name and str a const char *.
11429 (write_be16_section): Make name a const char *.
11430 (print_glyphs): Make static.
11431 (write_font_ascii_bitmap): Likewise.
11432 (write_font_width_spec): Likewise.
11433 (write_font_pf2): Likewise.
11434 (argp_parser): Remove unused variable.
11435 Respect format security.
11436 (main): Avoid shadowing. Respect format security.
11437
0809527b
VS
114382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11439
11440 * util/grub-editenv.c (argp_parser): Make static.
11441 (create_envblk_file): Use xmalloc.
11442 (open_envblk_file): Likewise.
11443 Resepect format security.
11444 (set_variables): Respect format security.
11445
45b0c8b7
VS
114462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 * util/getroot.c (grub_find_device): Respect format security.
11449 (get_mdadm_uuid): Remove unused variable.
11450 (grub_util_pull_device): Dont call gettext on already translated
11451 grub_errmsg.
11452 (find_system_device): Remove unused variable.
11453 (grub_util_get_grub_dev): Likewise.
11454 (grub_make_system_path_relative_to_its_root): Respect format security.
11455
1b024b4e
VS
114562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * util/grub-fstest.c (execute_command): Make first argument
11459 a const char *.
11460 (read_file): Avoid shadowing.
11461 Reuse underlying error message if device open fails.
11462 (cmd_cmp): Respect format security.
11463 (root): Make const char *.
11464 (fstest): Remove args argument and use global copy.
11465 Respect format security.
11466 (argp_parser): Make static.
11467 (main): Make default_root const char *.
11468
5d1d4e28
VS
114692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 * util/grub-mount.c (root): Make const char *.
11472 (execute_command): Make first argument a const char *.
11473 (fuse_init): Respect format security.
11474 (argp_parser): Make static. Remove unused variable.
11475 (main): Make default_root a const char *.
11476 Respect format security.
11477
36eb7379
VS
114782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * util/grub-probe.c (probe): Don't call gettext on already translated
11481 grub_errmsg.
11482 Remove unused variables.
11483 (argp_parser): Remove unused variable.
11484
76fb2ea9
VS
114852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 * util/grub-script-check.c (argp_parser): Remove unused variable.
11488 (main): Rename read to curread to avoid shadowing.
11489
56c98584
VS
114902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 * util/misc.c (grub_util_write_image_at): Fix format specification.
11493 (grub_util_write_image): Likewise.
11494 (grub_script_execute_argument_to_string): Removed (unused).
11495 (grub_script_execute_menuentry): Likewise.
11496 (grub_putchar): Likewise.
11497
164ebb48
VS
114982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11501 (FUNCTION) [GRUB_UTIL]: Likewise.
11502 (VARIABLE) [GRUB_UTIL]: Likewise.
11503
44318d61
VS
115042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11505
11506 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11507 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11508
31a26002
VS
115092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11512 buffer.
11513
115142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11517 (LzmaEnc_SaveState): Removed (unused).
11518 (LzmaEnc_RestoreState): Likewise.
11519 (LzmaEnc_InitPriceTables): Made static.
11520 (LzmaEnc_Construct): Likewise.
11521 (LzmaEnc_FreeLits): Likewise.
11522 (LzmaEnc_Destruct): Likewise.
11523 (LzmaEnc_Init): Likewise.
11524 (LzmaEnc_InitPrices): Likewise.
11525 (LzmaEnc_Finish): Likewise.
11526 (LzmaEnc_PrepareForLzma2): Removed (unused).
11527 (LzmaEnc_MemPrepare): Likewise.
11528 (LzmaEnc_GetNumAvailableBytes): Likewise.
11529 (LzmaEnc_GetCurBuf): Likewise.
11530 (LzmaEnc_CodeOneMemBlock): Likewise.
11531
6fa67967
VS
115322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11533
11534 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11535 (grub_util_ldm_embed): Likewise.
11536
9a7428e6
VS
115372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 * util/grub-editenv.c (print_var): Rename name to varname to
11540 avoid shadowing.
11541 (main): Rename index to curindex to avoid shadowing.
31a26002 11542 Make filename a const char *.
9a7428e6 11543
4f96abd1
VS
115442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11545
11546 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11547 to arg_getline to avoid shadowing.
11548
44d10dad
VS
115492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11550
11551 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11552 disk_ to avoid shadowing.
11553
340ba63e
VS
115542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11557 curindex to avoid shadowing.
11558 Make static.
11559 (MatchFinder_GetNumAvailableBytes): Make static.
11560
22965bce
VS
115612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11564 avoid shadowing.
11565
7b5784d4
VS
115662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11569 argument from encrypt to do_encrypt to avoid shadowing.
11570
6f48ca01
VS
115712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11572
11573 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11574 incorrect nesting of #if's.
11575
a4ea2dff
VS
115762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11579 checks which are always false on some platforms.
11580 (grub_cmd_lsacpi): Likewise.
11581 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11582 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11583 Likewise.
11584
def9fc1b
VS
115852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11588 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11589
a67b2a04
VS
115902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11593 re_dfa_t to avoid breaking alignment invariants.
11594 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11595 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11596
44c6828d
VS
115972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11598
11599 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11600 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11601
bebe0dd0
VS
116022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11605 Fix declaration.
11606
a9cdb3cf
VS
116072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11610 conserve alignment invariants.
11611 (grub_ehci_ehcc_read16): Likewise.
11612 (grub_ehci_oper_read32): Likewise.
11613 (grub_ehci_oper_write32): Likewise.
11614 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11615 Conserve alignment invariants.
11616
ccc3b1b8
VS
116172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11620 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11621 declarations.
11622
987fbd95
VS
116232012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11626 Remove unused variable.
11627
0df363f3
VS
116282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11631 Remove set in if.
11632
b2c0c4a6
VS
116332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 * include/grub/net.h: Remove double declarations.
11636
690c531f
VS
116372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11638
11639 Remove "payload" command in ia64 Linux loader since I couldn't
11640 find any evidence of it being used for anything.
11641 Replace "relocate" command with an environment variable
11642
11643 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11644 fields.
11645 (ia64_boot_payload): Removed.
11646 (last_payload): Likewise.
11647 (RELOCATE_OFF): Likewise.
11648 (RELOCATE_ON): Likewise.
11649 (RELOCATE_FORCE): Likewise.
11650 (relocate): Likewise.
11651 (free_pages): Don't free payloads.
11652 (grub_load_elf64): Use common error messages.
11653 Use "linux_relocate" variable.
11654 Increase the space after boot_params.
11655 (grub_cmd_payload): Removed.
11656 (grub_cmd_relocate): Likewise.
11657 (grub_cmd_fpswa): Improve messages.
11658 (cmd_payload): Removed.
11659 (cmd_relocate): Likewise.
11660 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11661 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11662
01783768
VS
116632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11664
11665 Convert UHCI to DMA framework.
11666
11667 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11668 (grub_uhci_pci_iter): Fill new members
11669 (grub_alloc_td): Use P2V and V2P functions.
11670 (grub_free_queue): Likewise.
11671 (grub_alloc_qh): Likewise.
11672 (grub_uhci_setup_transfer): Likewise.
11673 (grub_uhci_check_transfer): Likewise.
11674
43206939
VS
116752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11676
11677 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11678 Remove assignment in if while on it.
11679
571e140e
VS
116802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 * util/grub-mkstandalone.in: Fix modules directory.
11683
a9d96eeb
VS
116842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11687 on i386-pc target.
11688 (argp_parser): Accept "auto" as compression specification.
11689
e4e37e8d
VS
116902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 Fix `help' with unloaded modules.
11693
11694 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11695 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11696 (grub_dyncmd_dispatcher): Small stylistic fix.
11697 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11698 explicit help is requested.
11699
e1ea3ade
VS
117002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11703 Explicitly init restart while on it.
11704
27556881
VS
117052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11708 uninited variable.
11709
d65f6b36
VS
117102012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * util/grub-mknetdir.in: Use . rather than source for POSIX
11713 compatibility.
11714
0a1e473c
VS
117152012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11718
ce6647c8
VS
117192012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11722 variable.
11723
66747894
VS
117242012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11727 without quotes.
11728
71645f6e
VS
117292012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11732
0e1c1f61
VS
117332012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11734
11735 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11736 iteration of partitions.
11737
9c4b5c13
VS
117382012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11739
11740 Improve gettext support. Stylistic fixes and error handling fixes while
11741 on it.
11742
215c90cb
VS
117432012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11744
11745 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11746 part. Instead setup the correct stack in RM.
11747 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11748 for stack.
11749 * include/grub/i386/relocator_private.h: New file.
11750
b5c1f9bf
VS
117512012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11754 argument.
11755 * util/grub-fstest.c (options): Add missing DEVICE part.
11756
b525fd83
VS
117572012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11758
11759 Clarify and unify messages.
11760
11761 * grub-core/commands/hashsum.c (options): Unify messages.
11762 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11763 literal-only message as translatable.
11764 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11765 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11766 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11767 commands.
11768 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11769 key, not the key used to unlock. Clarify what it's used for.
11770 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11771 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11772 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11773 * util/grub-editenv.c (options): Unify "verbose" message.
11774 * util/grub-fstest.c (read_file): Unify error message.
11775 (fstest): Add quotes around commands.
11776 (options): Unify "verbose" message.
11777 * util/grub-install.in: Add quotes around variable name.
11778 * util/grub-kbdcomp.in: Unify error message.
11779 * util/grub-mkfont.c (main): Likewise.
11780 * util/grub-mkrescue.in: Likewise.
11781 * util/grub-mklayout.c (options): Unify "verbose" message.
11782 * util/grub-mkstandalone.in: Unify help and verbose messages.
11783 * util/grub-mount.c (options): Unify "verbose" message.
11784 * util/grub-probe.c (options): Likewise.
11785 * util/grub-script-check.c (options): Likewise.
11786 * util/grub-setup.c (setup): Unify no-terminator message.
11787 (options): Use DEVICE and not DEV.
11788 Unify "verbose" message.
11789 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11790
0ae70393
VS
117912012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 Improve and unify messages.
11794
11795 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11796 name. All users updated.
11797 Print filename in error.
11798 (read_device_map): Print filename in error.
11799 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11800 (grub_util_get_os_disk): Likewise.
11801 (grub_util_biosdisk_get_grub_dev): Likewise.
11802 (grub_util_check_block_device): Likewise.
11803 (grub_util_check_char_device): Likewise.
11804 (grub_make_system_path_relative_to_its_root): Likewise.
11805 * util/grub-editenv.c (create_envblk_file): Likewise.
11806 (open_envblk_file): Likewise.
11807 (write_envblk): Likewise.
11808 * util/grub-fstest.c (cmd_cp): Likewise.
11809 (cmd_cat): Likewise.
11810 (cmd_cmp): Likewise.
11811 * util/grub-menulst2cfg.c (main): Likewise.
11812 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11813 (write_font_width_spec): Likewise.
11814 (write_font_pf2): Likewise.
11815 * util/grub-mkimage.c (generate_image): New argument outname.
11816 All users updated.
11817 Remove unreacheable message.
11818 (options): Unify messages.
11819 (help_filter): Likewise.
11820 * util/grub-mklayout.c (usage): Removed (unused).
11821 (main): Print filename in error.
11822 * util/grub-mkrescue.in: Fix wrong quoting.
11823 * util/grub-setup.c (setup): Print filename in error.
11824 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11825 (check_sas): Likewise.
11826 * util/misc.c (grub_util_get_fp_size): Removed.
11827 (grub_util_get_image_size): Print filename in error.
11828 (grub_util_read_at): Removed.
11829 (grub_util_read_image): Print filename in error.
11830 (grub_util_load_image): Likewise.
11831 (grub_util_write_image_at): New argument filename. All users updated.
11832 Print filename in error.
11833 (grub_util_write_image): New argument filename. All users updated.
11834 Print filename in error.
11835 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11836 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11837
0a96117d
VS
118382012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11839
11840 * grub-core/Makefile.core.def (pxechain): New module.
11841 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11842 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11843 function.
11844 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11845 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11846
aca002f7
VS
118472012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11850 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11851 * include/grub/err.h (grub_error_saved): New struct.
11852 (grub_errmsg): Make array size explicit.
11853 * include/grub/misc.h (grub_error_save): New function.
11854 (grub_error_load): Likewise.
11855 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11856 (grub_error_push): Update `errno' member name.
11857 (grub_error_pop): Likewise
11858 * grub-core/net/tftp.c (tftp_data): New member save_err.
11859 (tftp_receive): Save error.
11860 (tftp_open): Restore error.
11861
a51dab13
VS
118622012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11865 to real mode down to execute A20-related code in protected mode as
11866 intended.
11867
eb6e6649
GS
118682012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11869
11870 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11871 NULL when the argument `level' has an unexpected value.
11872
92cd0f6e
VS
118732012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11874
11875 Move platform-dependent files from $prefix to $prefix/$platform.
11876
11877 * config.h.in (GRUB_TARGET_CPU): New definition.
11878 (GRUB_PLATFORM): Likewise.
11879 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11880 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11881 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11882 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11883 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11884 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11885 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11886 * grub-core/normal/term.c (read_terminal_list): Likewise.
11887 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11888 $prefix/locale.
11889 (grub_gettext_init_ext): Likewise.
11890 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11891 grub_platform.
11892 * util/grub-install.in: Update directories.
11893 * util/grub-mknetdir.in: Likewise.
11894 * util/grub-mkrescue.in: Likewise.
11895
db606889
VS
118962012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11899 grub_error framework. All users updated.
11900
c39992a4
VS
119012012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11904 lists (by always binsearching), improve caching (cache strings
11905 used for binsearch, not only results), improve
11906 maintainability (by using more structured binary search) and correct
11907 error handling.
11908
1e5ec32f
VS
119092012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * grub-core/script/execute.c (grub_script_return): Fix warning.
11912
ac576cde
VS
119132012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * grub-core/script/execute.c (grub_script_return): Fix potential
11916 NULL-dereference.
11917 Reported by: Jim Meyering.
11918
498453f6
VS
119192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * po/POTFILES.in: Regenerate.
11922 * util/grub-install.in: Gettextize the strings missed in first pass.
11923
8be63f2e
VS
119242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11925
11926 * Makefile.util.def (grub-mkdevicemap): Removed.
11927 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11928 * include/grub/util/deviceiter.h: Removed.
11929 * util/deviceiter.c: Likewise.
11930 * util/getroot.c (grub_util_get_os_disk): New function.
11931 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11932 replacement for EFI.
11933 * util/grub-mkdevicemap.c: Removed.
11934 * util/grub-probe.c (probe): Handle PRINT_DISK.
11935 (argp_parser): Handle -t disk.
11936
8e1e4e39
VS
119372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * util/grub-mkfont.c: Migrate to argp.
11940 * util/grub-mklayout.c: Likewise.
11941 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11942 * util/grub-mkrelpath.c: Likewise.
11943 * util/grub-probe.c: Likewise.
11944 * util/grub-script-check.c: Likewise.
11945
4459819a
VS
119462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11947
11948 * util/grub-reboot.in: Add missing datarootdir.
11949 Add missing newline.
11950 * util/grub-set-default.in: Add missing datarootdir.
11951 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11952 * util/grub-mkrescue.in: Likewise.
11953
f65741c7
VS
119542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11957
c1a33466
VS
119582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * util/grub-kbdcomp.in: Add decent help and gettextize.
11961 * docs/man/grub-kbdcomp.h2m: New file.
11962
c76899a0
VS
119632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11964
11965 Migrate grub-mkimage.c to argp.
11966
11967 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11968 (grub-setup): Likewise.
11969 * util/grub-setup.c (print_version): Move to ...
11970 * util/argp_common.c (print_version): ... here.
11971 * util/grub-setup.c (argp_program_version_hook): Move to ...
11972 * util/argp_common.c (argp_program_version_hook): ... here.
11973 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11974 safety.
11975 * util/grub-mkimage.c (main): Migrate to argp.
11976
57db0757
VS
119772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11978
11979 * util/grub-mkrescue.in: Use same message as
11980 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11981 for better translations.
11982
18534ad9
VS
119832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11986 options with generic grub-mkrescue.in with the goal of future
11987 merge.
11988
c84ba308
VS
119892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 * grub-core/kern/mm.c: Add missing include of i18n.h
11992 * grub-core/lib/relocator.c: Likewise.
11993
347998c2
VS
119942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11997 error.
11998 (allocate_pages): Check return value.
11999 Replace fatal with error.
12000 (grub_linux_boot): Replace printf with dprintf.
12001 Check find_mmap_size return value.
12002 Replace fatal with error.
12003 Don't call grub_machine_fini.
12004 (grub_load_elf64): Replace printf with dprintf.
12005 (grub_cmd_linux): Likewise.
12006 (grub_cmd_initrd): Likewise.
12007 (grub_cmd_payload): Likewise.
12008
c779226e
VS
120092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12010
12011 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
12012 message.
12013 * grub-core/video/radeon_fuloong2e.c
12014 (grub_video_radeon_fuloong2e_setup): Likewise.
12015 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
12016 * grub-core/video/video.c (grub_video_set_mode): Don't override
12017 standard out of memory message.
12018
dc87d45a
GS
120192012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12020
12021 NetBSD disk wedge support.
12022
12023 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
12024 [__NetBSD__]: Handle NetBSD disk wedges.
12025 * util/getroot.c (convert_system_partition_to_system_disk)
12026 [__NetBSD__]: Likewise.
12027
055f856f
MW
120282012-02-03 Mark Wooding <mdw@distorted.org.uk>
12029
12030 * util/grub-mkconfig.in: Use umask rather than chmod to create
12031 grub.cfg.new to avoid insecure grub.cfg.
12032
4a9f8346
VS
120332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 * grub-core/commands/ls.c: Gettextize.
12036 * grub-core/commands/setpci.c: Likewise.
12037 * grub-core/commands/videotest.c: Likewise.
12038 * grub-core/disk/geli.c: Likewise.
12039 * grub-core/kern/mm.c: Likewise.
12040 * grub-core/lib/relocator.c: Likewise.
12041 * grub-core/loader/efi/appleloader.c: Likewise.
12042 * grub-core/loader/i386/xnu.c: Likewise.
12043 * grub-core/loader/ia64/efi/linux.c: Likewise.
12044 * grub-core/loader/xnu.c: Likewise.
12045 * grub-core/net/dns.c: Likewise.
12046 * grub-core/net/net.c: Likewise.
12047 * grub-core/script/lexer.c: Likewise.
12048 * grub-core/script/parser.y: Likewise.
12049 * grub-core/script/yylex.l: Likewise.
12050 * util/getroot.c: Likewise.
12051 * util/grub-setup.c: Likewise.
12052
a646a366
VS
120532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12056 number.
12057
54e2be26
VS
120582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12061
f7c71e68
VS
120622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12065 macro.
12066 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12067 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12068
a32d5c71
VS
120692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12072 * util/grub-install.in: Gettextize.
12073 * util/grub-mkconfig.in: Likewise.
12074 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12075 if not available.
12076 (grub_warn): Gettextize.
12077 * util/grub-mknetdir.in: Gettextize.
12078 * util/grub-mkrescue.in: Likewise.
12079 * util/grub-mkstandalone.in: Likewise.
12080 * util/grub-reboot.in: Likewise.
12081 * util/grub-set-default.in: Likewise.
12082 * util/grub.d/00_header.in: Likewise.
12083 * util/grub.d/10_hurd.in: Likewise.
12084 * util/grub.d/10_kfreebsd.in: Likewise.
12085 * util/grub.d/10_linux.in: Likewise.
12086 * util/grub.d/10_netbsd.in: Likewise.
12087 * util/grub.d/10_windows.in: Likewise.
12088 * util/grub.d/20_linux_xen.in: Likewise.
12089 * util/grub.d/30_os-prober.in: Likewise.
12090 * po/POTFILES-shell.in: Regenerate.
12091
69edd81a
RL
120922012-02-03 Richard Laager <rlaager@wiktel.com>
12093
12094 * util/grub-mkimage.c (main): Fix format-security warning.
12095 * util/grub-mkrelpath.c (main): Likewise.
12096 * util/grub-probe.c (main): Likewise.
12097
65f08dbf
RL
120982012-02-03 Richard Laager <rlaager@wiktel.com>
12099
12100 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12101 failure.
12102 Put back lost PRINT_DRIVE.
12103
e9084abe
RL
121042012-02-03 Richard Laager <rlaager@wiktel.com>
12105
12106 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12107 (grub_guess_root_devices): Replace strlen with sizeof.
12108 Avoid crash.
12109 (find_root_devices_from_poolname): Remove unused variable.
12110 Handle raidzN.
12111
cf5f7ee7
VS
121122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12113
12114 Support install on multi-device filesystems.
12115
12116 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12117 (grub_guess_root_devices): ...this. Return char **. All users updated.
12118 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12119 Removed.
12120 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12121 (find_root_devices_from_poolname): ... here.
12122 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12123 Support zfs-fuse.
12124 (grub_guess_root_device): Rename to ...
12125 (grub_guess_root_devices): ... this. Return char **. All users updated.
12126 * util/grub-install.in: Handle multi-device filesystems.
12127 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12128 argument. All users updated.
12129 Handle multi-device filesystems.
12130 Use 'delim' as separator.
12131 Remove device check to allow filesystems on file.
12132 (main): Support -0 argument. Handle multi-device.
12133 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12134 Fix a cross-device check while on it.
12135 (arguments): Remove root_dev.
12136 (argp_parser): Remove -r.
12137 (main): Remove root_dev.
12138
2f53a9ed
VS
121392012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12140
12141 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12142
17e1d934
VS
121432012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12146 symbol.
12147 Reported by: NODA, Kai <nodakai>.
12148
d3e3fab5
VS
121492012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12150
12151 Fix ehci on amd64.
12152
12153 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12154 pointers.
12155 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12156 (grub_ehci_setup_qh): Likewise.
12157 (grub_ehci_find_qh): Likewise.
12158 (grub_ehci_transaction): Likewise.
12159 (grub_ehci_setup_transfer): Likewise.
12160 (grub_ehci_check_transfer): Likewise.
12161 (grub_ehci_portstatus): Likewise.
12162 (grub_ehci_detect_dev): Likewise.
12163 (grub_ehci_transfer_controller_data): New field td_last_phys.
12164 (grub_ehci_setup_transfer): Fill td_last_phys.
12165 (grub_ehci_check_transfer): Use td_last_phys.
12166
3008675b
SG
121672012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
12168
12169 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12170 if no submenu is present.
12171
fc9b5652
AN
121722012-02-01 Aleš Nesrsta <starous@volny.cz>
12173
12174 CBI support.
12175
12176 * include/grub/usb.h (grub_usbms_protocol_t): New values
12177 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12178 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12179 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12180 (grub_usbms_dev): Add subclass, protocol and intrpt.
12181 Remove in_maxsz and out_maxsz.
12182 (grub_usbms_reset): Rename to ...
12183 (grub_usbms_bo_reset): .. this.
12184 (grub_usbms_cbi_cmd): New function.
12185 (grub_usbms_cbi_reset): Likewise.
12186 (grub_usbms_reset): Likewise.
12187 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
12188 (grub_usbms_transfer): Rename to ...
12189 (grub_usbms_transfer_bo): ... this.
12190 (grub_usbms_transfer_cbi): Likewise.
12191 (grub_usbms_transfer): Likewise.
12192
a2b81d53
AN
121932012-02-01 Aleš Nesrsta <starous@volny.cz>
121942012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
12197 the support for the CS5536 modification thereos and few bugfixes.
12198
12199 * grub-core/Makefile.core.def (ehci): New module.
12200 * grub-core/bus/usb/ehci.c: New file.
12201 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12202 port and hubaddr. All users updated.
12203 Save port and hubaddr into dev structure.
12204 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12205 define.
12206 * include/grub/pci.h (grub_dma_phys2virt): New function.
12207 (grub_dma_virt2phys): Likewise.
12208 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12209
b1d51f02
VS
122102012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12213 check as some mkfs implementations omit it.
12214
fc694106
VS
122152012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12218
6c0920e3
VS
122192012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12222 Add new member volname2.
12223 (grub_jfs_label): Use volname2 if available.
12224
d1a46f9a
VS
122252012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12228 over last_mounted as seen in image generated by mkfs.nilfs2.
12229 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12230
dec8ed14
VS
122312012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12234 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12235 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12236
7397c69b
VS
122372012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12238
12239 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12240 over the sector.
12241
b3fe42ad
VS
122422012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12243
12244 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12245 subvolume name (by removing a bogus and useless check).
12246
10476bb0
VS
122472012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12250 sizeof while on it.
12251
9c08ad87
VS
122522012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12255 (grub_scsi_read_capacity10): ... this.
12256 (grub_scsi_read_capacity16): New function.
12257 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12258 0xffffffff.
12259 Fix off-by-one error.
12260 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12261 64-bit unsigned.
12262 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12263 (grub_scsi_read_capacity10): ... this.
12264 (grub_scsi_read_capacity_data): Rename to ...
12265 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12266 (grub_scsi_read_capacity16): New struct.
12267 (grub_scsi_read_capacity16_data): Likewise.
12268 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12269 grub_scsi_cmd_read_capacity10.
12270 New command grub_scsi_cmd_read_capacity16.
12271
bc8d0f45
VS
122722012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 SCSI >2TiB support.
12275
12276 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12277 (grub_scsi_write16): Likewise.
12278 (grub_scsi_read): Use read16 when necessary.
12279 (grub_scsi_write): Likewise.
12280 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12281 (grub_scsi_write16): Likewise.
12282 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12283
cc774926
VS
122842012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 SCSI write support (for usbms mainly).
12287
12288 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12289 a const pointer.
12290 (grub_scsi_write): Implement.
12291 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12292
67639fd7
VS
122932012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12296 variable.
12297
9079d3ed
VS
122982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12301
c6a6f204
VS
123022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12303
12304 * po/POTFILES.in: Regenerate.
12305
ecbf8cd1
VS
123062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12307
12308 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12309 with grub_printf to avoid unnecessary fatal failure.
12310
0b3b3b38
VS
123112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12314 (INT_MAX): Likewise.
12315 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12316 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12317 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12318 (strcpy): Likewise.
12319 (strstr): Likewise.
12320 (strchr): Likewise.
12321 (strncpy): Likewise.
12322 (strcat): Likewise.
12323 (strncat): Likewise.
12324 (strcoll): Likewise.
12325 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12326 (GRUB_INT_MAX): Likewise.
12327
db7337a3
VS
123282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12331 unexpected error.
12332 (optimize_utf8): Likewise.
12333 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12334
f37c87e1
VS
123352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * grub-core/boot/i386/pc/lnxboot.S: Use
12338 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12339 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12340 location.
12341 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12342 definition.
12343 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12344
63fe43f3
VS
123452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12348 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12349 now to avoid double free.
12350 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12351 hostdisk.
12352 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12353 * util/grub-probe.c (escape_of_path): Always return a new copy.
12354 (print_full_name): Escape path.
12355 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12356 Fix hints on abstractions.
12357
ebe2c961
VS
123582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12361 Don't add "root" line if no compatibility hont is available.
12362 Suggested by: Seth Goldberg.
12363
2b5336a2
VS
123642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12367 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12368 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12369 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12370
74310bd8
VS
123712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12372
12373 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12374
c30582ba
VS
123752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 * util/grub-pe2elf.c (ehdr): Make static.
12378 (shdr): Likewise.
12379 (num_sections): Likewise.
12380 (offset): Likewise.
12381
5f47782c
VS
123822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 Eliminate ofpath limits and possible overflows.
12385
12386 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12387 (OF_PATH_MAX): Removed.
12388 (MAX_DISK_CAT): New const.
12389 (find_obppath): Use allocated rather than preallocated buffer.
12390 Return result. Argument of_path removed. All users updated.
12391 Add missing fdstat.
12392 (xrealpath): New function.
12393 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12394 Allocate rather than use preallocated buffer. All users updated.
12395 (__of_path_common): Use allocated rather than preallocatecd buffer.
12396 Return result. Argument of_path removed. All users updated.
12397 (vendor_is_ATA): Read only needed part form the file.
12398 (check_sas): Allocate depending on contents rather than fixed.
12399 (main) [STANDALONE]: Handle NULL result.
12400
f990cbf9
VS
124012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12404
9c6e84b8
VS
124052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 Cryptodisk write support.
12408
12409 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12410 (grub_cryptodisk_decrypt): Moved logic to ...
12411 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12412 (grub_cryptodisk_write): Implement.
12413 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12414 (grub_util_fd_write): ... this. Make global.
12415 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12416
87cf9744
VS
124172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 * include/grub/list.h (grub_list_remove): Don't crash if element is
12420 removed twice.
12421
ca8c0baf
VS
124222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12423
12424 Rename ofconsole to console.
12425
12426 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12427 as sysnonym to console.
12428 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12429 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12430 Rename grub_ofconsole_ to grub_console_. All users updated
12431 (grub_console_term_output): Rename "ofconsole" to "console".
12432 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12433 as "console".
12434
64c8b8f6
VS
124352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12438 handling.
12439 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12440 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12441 GRUB_DISK_DEVICE_FILE_ID.
12442
f6c434d5
VS
124432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12446 and improve performance.
12447
5858b42d
VS
124482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12449
12450 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12451 missing ieee1275/ prefix on whole disk.
12452
4ed3c26b
VS
124532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12454
12455 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12456 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12457
df71143e
VS
124582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12461
076e7c0f
VS
124622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12463
12464 Merge common RAID and LVM logic to an abstract diskfilter.
12465 Add LDM support using the same framework.
12466
12467 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12468 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12469 (libgrubmods): Remove grub-core/disk/raid.c and
12470 grub-core/partmap/gpt.c.
12471 * grub-core/Makefile.core.def (ldm): New module.
12472 (raid): Renamed to diskfilter. All users updated.
12473 * grub-core/disk/raid.c: Moved to ...
12474 * grub-core/disk/diskfilter.c: ... here.
12475 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12476 (lv_num): New var.
12477 (find_array): Renamed to ...
12478 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12479 (grub_is_array_readable): Renamed to ...
12480 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12481 (insert_array): New argument id.
12482 (is_node_readable): New function.
12483 (scan_device): Rename to ...
12484 (scan_disk): .. this. Restrict to one disk.
12485 (scan_devices): New function.
12486 (grub_diskfilter_iterate): Support multi-LV.
12487 Skip invisible and nameless LVs.
12488 (grub_diskfilter_memberlist): Support multi-LV.
12489 (grub_diskfilter_read_node): New function.
12490 (grub_raid_read): Most of logic moved to ...
12491 (read_segment): ... here
12492 (read_lv): New function.
12493 (grub_diskfilter_get_vg_by_uuid): New function.
12494 (grub_diskfilter_make_raid): Likewise.
12495 * grub-core/disk/ldm.c: New file.
12496 * grub-core/disk/lvm.c (vg_list): Removed.
12497 (lv_count): Likewise.
12498 (scan_depth): Likewise.
12499 (is_lv_readable): Likewise.
12500 (grub_lvm_getvalue): Advance pointer past the number.
12501 (find_lv): Removed.
12502 (do_lvm_scan): Refactored into ...
12503 (grub_lvm_detect): ... this. Support raid.
12504 (grub_lvm_iterate): Removed.
12505 (grub_lvm_memberlist): Likewise.
12506 (grub_lvm_open): Likewise.
12507 (grub_lvm_close): Likewise.
12508 (read_lv): Likewise.
12509 (read_node): Likewise.
12510 (is_node_readable): Likewise.
12511 (is_lv_readable): Likewise.
12512 (grub_lvm_read): Likewise.
12513 (grub_lvm_write): Likewise.
12514 (grub_lvm_dev): Use diskfilter
12515 (GRUB_MOD_INIT): Likewise.
12516 (GRUB_MOD_FINI): Likewise.
12517 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12518 new interface.
12519 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12520 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12521 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12522 grub_diskfilter_read_node.
12523 Fix a bug with xor.
12524 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12525 grub_diskfilter_read_node.
12526 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12527 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12528 (grub_disk_dev_iterate): Move from here...
12529 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12530 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12531 Make global.
12532 (grub_hostdisk_find_partition_start): Likewise.
12533 (grub_hostdisk_os_dev_to_grub_drive): New function.
12534 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12535 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12536 * util/getroot.c (make_device_name): ... here.
12537 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12538 Move to ...
12539 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12540 * grub-core/kern/emu/hostdisk.c
12541 (convert_system_partition_to_system_disk): Move to ...
12542 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12543 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12544 * util/getroot.c (device_is_wholedisk): ... here.
12545 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12546 * util/getroot.c (find_system_device): ... here.
12547 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12548 Move to ...
12549 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12550 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12551 Move to ...
12552 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12553 Handle LDM.
12554 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12555 Move to ...
12556 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12557 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12558 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12559 DISKFILTER.
12560 * include/grub/raid.h: Renamed to ...
12561 * include/grub/diskfilter.h: ... this.
12562 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12563 (GRUB_RAID_LAYOUT_*): Make into array.
12564 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12565 (grub_diskfilter_vg): New struct.
12566 (grub_diskfilter_pv_id): Likewise.
12567 (grub_raid_member): Removed.
12568 (grub_raid_array): Likewise.
12569 (grub_diskfilter_pv): New struct.
12570 (grub_diskfilter_lv): Likewise.
12571 (grub_diskfilter_segment): Likewise.
12572 (grub_diskfilter_node): Likewise.
12573 (grub_diskfilter_get_vg_by_uuid): New proto.
12574 (grub_raid_register): Inline.
12575 (grub_diskfilter_unregister): Likewise.
12576 (grub_diskfilter_make_raid): New proto.
12577 (grub_diskfilter_vg_register): Likewise.
12578 (grub_diskfilter_read_node): Likewise.
12579 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12580 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12581 (grub_util_is_ldm): Likewise.
12582 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12583 (grub_hostdisk_find_partition_start): Likewise.
12584 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12585 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12586 New definition.
12587 (grub_gpt_partition_map_iterate): New proto.
12588 * include/grub/lvm.h (grub_lvm_vg): Removed.
12589 (grub_lvm_pv): Likewise.
12590 (grub_lvm_lv): Likewise.
12591 (grub_lvm_segment): Likewise.
12592 (grub_lvm_node): Likewise.
12593 * util/getroot.c [...]
12594 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12595 (probe_abstraction): Likewise.
12596 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12597 (main): Remove dead logic.
12598
8a7f9b9c
VS
125992012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 Simplify root device discover and don't fail when trying to open
12602 incorrect devices.
12603
12604 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12605 function.
12606 (get_diskname_from_path): Likewise.
12607 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12608 of iterating.
12609
30545b85
VS
126102012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12611
12612 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12613
28ea58cf
VS
126142012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12615
12616 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12617 pastthe end.
12618
692dabca
VS
126192012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 * util/grub-install.in: Add missing \.
12622 Reported by: gentoofan
12623
f6e4ea70
VS
126242012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12627 (direct_read): Use correct compressed size.
12628 (grub_squash_read_data): Likewise.
12629
126302012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12631
12632 * docs/grub.texi (Platform limitations): New section.
12633 (Platform-specific operations): Likewise.
12634 * docs/grub-dev.texi (Porting): Likewise.
12635
76261110
VS
126362012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 IEEE1275 disk write support.
12639
12640 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12641 const void *.
12642 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12643 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12644 and seek loginc to ...
12645 (grub_ofdisk_prepare): ... here.
12646 (grub_ofdisk_write): Implement.
12647
fc36d603
VS
126482012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12649
12650 ARC disk write support.
12651
12652 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12653 (reopen): New argument writable. All users updated.
12654 Handle required access mode.
12655 (grub_arcdisk_write): Implement.
12656 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12657 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12658
e06c2e7a
VS
126592012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12662 (read_sblock): Don't attempt to read superblocks outside the disk size.
12663
ff447958
VS
126642012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12665
12666 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12667 first superblock to find the second one when possible.
12668
9e88df39
VS
126692012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12670
12671 * util/grub-install.in: Fix an ARC bug.
12672 Print a warning if no platform-specific setup is available.
12673
bb26e4ff
VS
126742012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 Use static allocation rather than scratch pointer in reed_solomon.
12677 It decreases its size significantly and avoids a variable in .text.
12678
12679 * grub-core/lib/reed_solomon.c (scratch): Removed.
12680 (chosenstat): New const or static array.
12681 (sigma): Likewise.
12682 (errpot): Likewise.
12683 (errpos): Likewise.
12684 (sy): Likewise.
12685 (mstat): Likewise.
12686 (errvals): Likewise.
12687 (eqstat): Likewise.
12688 (pol_evaluate): Replace x with log_x argument. All users updated.
12689 (syndroms): Removed.
12690 (gauss_solve): Use statically allocated arrays.
12691 (rs_recover): Likewise.
12692 Calculate syndroms directly.
12693 (decode_block): Use statically allocated arrays.
12694 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12695 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12696
2e13ede5
VS
126972012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12698
12699 Eliminate fixed limit on reed solomon decoder length.
12700
12701 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12702 rather than hardcoding the address.
12703 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12704 no_reed_solomon_length.
12705 Move gate_a20 to no-reed-solomon part.
12706 Don't force a particular size of no reed-solomon part.
12707 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12708 Removed.
12709 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12710 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12711
f8a9ab12
VS
127122012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 * grub-core/commands/wildcard.c (match_files): Handle filenames
12715 without explicit device.
12716 (wildcard_expand): Don't add explicit device if not already present.
12717 * tests/grub_script_echo1.in: Add a new expansion test.
12718
87edb894
VS
127192012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12720
12721 Replace single-linked with double-linked lists. It results in more
12722 compact and more efficient code.
12723
12724 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12725 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12726 (grub_list_remove): Moved from here ...
12727 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12728 (grub_prio_list_insert): Set prev.
12729 * include/grub/list.h (grub_list): Add prev. All users updated.
12730
48b391e9
VS
127312012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 Handle newer autotools. Add some missing quotes while on it.
12734
12735 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12736 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12737 (pkgdata_DATA): ... here.
12738 * Makefile.util.def (update-grub_lib): Removed.
12739 * conf/Makefile.common (pkglib_DATA): Removed.
12740 (pkglib_SCRIPTS): Likewise.
12741 (pkgdata_DATA): New variable.
12742 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12743 needed.
12744 Add missing quotes.
12745 Remove unused variable while on it.
12746 * tests/util/grub-shell.in: Likewise.
12747 * util/grub-install.in: Likewise.
12748 * util/grub-mkconfig.in: Likewise.
12749 * util/grub-mknetdir.in: Likewise.
12750 * util/grub-mkrescue.in: Likewise.
12751 * util/grub-mkstandalone.in: Likewise.
12752 * util/grub.d/00_header.in: Likewise.
12753 * util/grub.d/10_hurd.in: Likewise.
12754 * util/grub.d/10_illumos.in: Likewise.
12755 * util/grub.d/10_kfreebsd.in: Likewise.
12756 * util/grub.d/10_linux.in: Likewise.
12757 * util/grub.d/10_netbsd.in: Likewise.
12758 * util/grub.d/10_windows.in: Likewise.
12759 * util/grub.d/20_linux_xen.in: Likewise.
12760 * util/grub.d/30_os-prober.in: Likewise.
12761 * util/update-grub_lib.in: Removed.
12762
127632012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12764
12765 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12766 a workaround for intel problem.
12767
66832792
PRP
127682012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
127692012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
127702012-01-23 pfsmorigo
12771
12772 * util/grub-install.in: Support dd'in into PreP partition.
12773 * util/grub-probe.c (probe): Support discovering partition type.
12774 (main): Support -t msdos_parttype.
12775
7816a17e
VS
127762012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12779 infinite recursion using counter.
12780 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12781 init to skip it if the magic check fails.
12782 (dec_stream_header): Init s->crc32.
12783
8f9d3a8c
ZB
127842012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
127852012-01-22 Zachary Bedell <pendorbound@gmail.com>
127862012-01-22 Richard Laager <rlaager@wiktel.com>
12787
12788 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12789 All users updated.
12790 (find_bestub): Determine correct size.
12791 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12792 (scan_disk): Align the size down.
12793 Call check pool before find_bestub to have ashift.
12794
b055dd32
VS
127952012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12796
12797 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12798 dprintf in no-malloc zone.
12799
d779e9bd
ML
128002012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12801
12802 * configure.ac: Add back in test for limits.h.
12803
b508af69
VS
128042012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 Support 4K-sector NTFS.
12807
12808 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12809 (grub_ntfs_data): Remove blocksize.
12810 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12811 Remove data argument. All users updated.
12812
dad9c8b5
VS
128132012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12816 being in .text to avoid dprel references.
12817 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12818 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12819 (grub_arch_highmemsize): Likewise.
12820 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12821 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12822 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12823
d43a777e
VS
128242012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12825
12826 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12827
12828 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12829 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12830
34e4208f
VS
128312012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12832
12833 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12834 GRUB_UTIL.
12835 (grub_set_datetime_cmos): Likewise.
12836
3ec0fc1c
VS
128372012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12838
12839 Make XZ compression parameters dependent on target and not host CPU.
12840
12841 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12842 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12843
22489834
VS
128442012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12847 set but not used variable.
12848
8502fbca
VS
128492012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12850
12851 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12852 created when no uuid support is compiled into mkfs.reiser.
12853
76df2068
VS
128542012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12855
12856 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12857 (utf8_to_macroman): Do the opposite.
12858 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12859
64e3f8f6
VS
128602012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 * configure.ac: Refise build qemu_mips w/o unifont.
12863
9c271078
VS
128642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 Eliminate grub_min/grub_max prone to overflow usage.
12867
12868 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12869 (poll_nonroot_hub): Likewise.
12870 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12871 (grub_affs_label): Likewise.
12872 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12873 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12874 (grub_hfs_label): Likewise.
12875 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12876 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12877 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12878 (zap_leaf_array_get): Likewise.
12879 (dnode_get_path): Likewise.
12880 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12881 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12882 * grub-core/script/execute.c (grub_script_break): Likewise.
12883 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12884 grub_max.
12885 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12886 * include/grub/misc.h (grub_min): Removed.
12887 (grub_max): Likewise.
12888
80662dbc
VS
128892012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12890
12891 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12892 direct.inode = 0.
12893
e6da1467
VS
128942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12895
12896 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12897
b1ac4cb1
VS
128982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12899
12900 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12901
b4bf7c3b
VS
129022012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12903
12904 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12905 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12906
8ee1101a
VS
129072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12908
12909 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12910 rather than a hack for grub_strncasemap.
12911
129122012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 Support multiple initrds
12915 Note: part of this was accidently committed in r3739.
12916
12917 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12918 initrd.
12919 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12920 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12921 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12922 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12923 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12924
4d1e2bc9
VS
129252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12926
12927 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12928 disks with unknown size.
12929 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12930
75b49ebe
VS
129312012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 Remove defines pertaining to arbitrary limits not affecting GRUB
12934 anymore.
12935
12936 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12937 (EXT2_MAX_SYMLINKCNT): Likewise.
12938 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12939 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12940 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12941 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12942 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12943 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12944 (DN_MAX_OBJECT_SHIFT): Likewise.
12945 (DN_MAX_OFFSET_SHIFT): Likewise.
12946 (DN_MAX_OBJECT): Likewise.
12947 (DNODES_PER_LEVEL_SHIFT): Likewise.
12948 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12949 (SPA_MAXBLOCKSIZE): Likewise.
12950 (SPA_BLOCKSIZES): Likewise.
12951 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12952 (MZAP_MAX_BLKSZ): Likewise.
12953
74a1dce7
VS
129542012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12957 handle NULL appropriately.
12958 Remove MIN.
12959
30c7d3ce
VS
129602012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12961
12962 Fix efiemu.
12963
12964 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12965 cpu/types.h.
12966 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12967 * configure.ac: Fix efiemu check.
12968
3c76ea0c
VS
129692012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12970
12971 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12972 grub_probe.
12973 Reported by: adamwill
12974
7e532280
SG
129752012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12976
12977 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12978
30492374
VS
129792012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 Fix handling of wide characters in gfxterm.
12982
12983 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12984 (clear_char): Likewise.
12985 (paint_char): Skip code == NULL chars.
12986 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12987
e70cb72f
VS
129882012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 * grub-core/normal/charset.c: Move comment to right place.
12991
5c827cf9
VS
129922012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12993
12994 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12995 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12996 (grub_affs_mount): Revert the correct version checking.
12997
53603892
VS
129982012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12999
13000 * docs/grub.texi (Unicode): Mention several other unsupported features.
13001
ff094b9b
VS
130022011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
13005 case statements as compile-time one.
13006 (direct_read): Prevent spurious warnings.
13007 (grub_squash_read_data): Likewise.
13008
c029da8a
VS
130092011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 Various squash4 fixes and LZO and XZ support.
13012
13013 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
13014 Add xzembed source files.
13015 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
13016 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
13017 (grub_squash_inode): New subtype long_dir.
13018 (SQUASH_TYPE_LONG_DIR): New inode type.
13019 (COMPRESSION): New enum.
13020 (XZBUFSIZ): New const.
13021 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
13022 (read_chunk): Use data->decompress.
13023 (zlib_decompress): New function.
13024 (lzo_decompress): Likewise.
13025 (xz_decompress): Likewise.
13026 (squash_mount): Set new data fields.
13027 (grub_squash_iterate_dir): Handle long dir.
13028 (squash_unmount): Free xzdec and xzbuf.
13029 (grub_squash_open): Check ino type.
13030 (direct_read): Stylistic fixes. Use data->decompress.
13031 (grub_squash_read_data): Likewise.
13032 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13033 (get_byte): Likewise.
13034 (grub_zlib_disk_read): Removed.
13035 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13036 (GRUB_POSIX_BOOL_DEFINED): New define.
13037 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13038 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13039 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13040 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13041
7a45a539
VS
130422011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13043
13044 Don't override more informative errors.
13045
13046 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13047 * grub-core/font/font.c (open_section): Likewise.
13048 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13049 filename. Don't override errors.
13050 (grub_cmd_openbsd_ramdisk): Don't override errors.
13051 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13052 (grub_cmd_initrd): Likewise.
13053 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13054 (grub_cmd_initrd): Likewise.
13055 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13056 (grub_cmd_linux): Likewise.
13057 (grub_cmd_initrd): Likewise.
13058 (grub_cmd_payload): Likewise.
13059 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13060 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13061 (grub_cmd_module): Likewise.
13062 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13063 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13064 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13065 (grub_cmd_xnu_mkext): Likewise.
13066 (grub_cmd_xnu_ramdisk): Likewise.
13067 (grub_xnu_check_os_bundle_required): Likewise.
13068 (grub_xnu_load_kext_from_dir): Likewise.
13069 (grub_cmd_xnu_kextdir): Likewise.
13070 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13071
b2d004db
VS
130722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13075 as 1024 in block size field. Found on one of my test images.
13076 Small optimisation while on it.
13077
ec000eac
VS
130782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13081 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13082 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13083 performance fixes while on it.
13084 (grub_sfs_close): Fix memory leak while on it.
13085 (grub_sfs_label): Convert Latin1 to UTF-8.
13086
f50e1165
VS
130872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13088
13089 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13090 space to avoid overflows.
13091 (grub_hfs_label): Convert from macroman to UTF-8.
13092
2ae254de
VS
130932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13094
13095 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13096
0108f491
VS
130972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13098
13099 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13100
f45f5f89
VS
131012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 * unicode: Import Unicode 6.0 data.
13104
4d8c4765
VS
131052011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13106
63fa8ef9
VS
13107 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13108 outside of range.
13109
131102011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
13113
13114 * include/grub/charset.h (grub_getend): New function.
13115 * grub-core/script/function.c (grub_script_function_find): Use
13116 grub_getend.
13117 * grub-core/normal/completion.c (add_completion): Likewise.
13118
f3cb4a4e
VS
131192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13122 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13123 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13124 (GRUB_UNICODE_TAG_END): Likewise.
13125 (GRUB_UNICODE_LAST_VALID): Likewise.
13126
5da8dbc5
VS
131272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13130 len and make it smaller. All users updated.
13131 * util/import_unicode.py: Put length and not end character.
13132 Check length.
13133
8569f13d
VS
131342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13135
13136 Make better Unicode-compliant and unify some UTF-8 code pathes.
13137
13138 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13139 valid character.
13140 (grub_is_valid_utf8): Use grub_utf8_process.
13141 Check resulting code range.
13142 (grub_utf8_to_ucs4): Use grub_utf8_process.
13143 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13144 valid character.
13145
cc4fddf5
VS
131462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13149
bbc47747
VS
131502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13151
13152 * docs/grub.texi (Filesystems): Mention AFS.
13153
f63d6bf4
VS
131542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 * docs/grub.texi (Filesystems): Clarify restrictions.
13157 (Regexp): Mention non-Unicode regexp behaviour.
13158 (Other): Mention non-Unicode matching behaviour.
13159
74bbf0db
VS
131602011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13161
f63d6bf4 13162 Make HFS implementation use MacRoman.
74bbf0db
VS
13163
13164 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
13165 (macroman): New const array.
13166 (macroman_to_utf8): New function.
13167 (utf8_to_macroman): Likewise.
13168 (grub_hfs_find_dir): Use utf8_to_macroman.
13169 (grub_hfs_dir): Use macroman_to_utf8.
13170 Set case_insensitive.
13171
4ea0316e
VS
131722011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13173
13174 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13175
d3c13cbd
VS
131762011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 Integrate hints into autogeneration scripts.
13179
13180 * docs/grub.texi (Filesystems): Add a hostdisk example.
13181 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13182 (grub-probe): Add ofpath.
13183 * gentpl.py: Remove group nosparc64.
13184 * grub-core/commands/search.c (cache_entry): New struct.
13185 (cache): New var.
13186 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
13187 * grub-core/commands/search_wrap.c (options): Add platform-specific
13188 hint options.
13189 (grub_cmd_search): Handle platform-specific hints.
13190 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
13191 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
13192 (grub_util_biosdisk_data): Likewise.
13193 (grub_util_biosdisk_open): Set device_map.
13194 (read_device_map): Handle "" as indication of no map.
13195 Set device_map.
13196 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
13197 (grub_util_biosdisk_get_compatibility_hint): New function.
13198 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
13199 * include/grub/emu/hostdisk.h
13200 (grub_util_biosdisk_get_compatibility_hint): New proto.
13201 * util/grub-install.in: Don't call grub-mkdevicemap.
13202 Add platform-specific hint to load.cfg.
13203 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13204 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13205 hints. Set root preliminary to compatibility hint, not to OS name.
13206 * util/grub-probe.c (PRINT_*): Add hints.
13207 (print): Make static.
13208 (escape_of_path): New function.
13209 (guess_bios_drive): Likewise.
13210 (guess_efi_drive): Likewise.
13211 (guess_baremetal_drive): Likewise.
13212 (print_full_name): Likewise.
13213 (probe): Handle hints.
13214 (main): Likewise.
13215 * util/ieee1275/devicemap.c: Removed.
13216 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13217 updated.
13218 (grub_util_devname_to_ofpath): Return NULL on failure.
13219
13220 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13221 resource leak.
13222 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13223
13224 * po/POTFILES.in: Regenerated.
13225
13226 Allow purely long options
13227
13228 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13229 (SHORT_ARG_USAGE): Likewise.
13230 (grub_arg_show_help): Compare opt with help_options.
13231 (parse_option): Receive opt as argument. If makes big simplificatons.
13232 All users updated
13233
00ce2df3
VS
132342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13235
13236 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13237 Restructure to avoid warning.
13238
e77e325f
VS
132392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 * util/grub-install.in: Account for possible escaped comma in device
13242 name.
13243
165099ea
VS
132442011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
13247 channel.
13248
ce4a999d
VS
132492011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13250
13251 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13252 allocation and zero-setting.
13253 (grub_ieee1275_get_devname): Check that alias is complete.
13254
379586ad
VS
132552011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13258 unaligned segments.
13259
9197b0ad
VS
132602011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13263 prefix.
13264 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13265 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13266 Add ieee1275 prefix.
13267
edddb7f9
VS
132682011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * docs/grub.texi (Filesystems): Update.
13271
a1a8b1b9
VS
132722011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 Support odc, newc and bigendian cpio formats.
13275
13276 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13277 * grub-core/Makefile.core.def (newc): New module.
13278 (odc): Likewise.
13279 (cpio_be): Likewise.
13280 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13281 (MAGIC): Likewise.
13282 (MAGIC2): Likewise.
13283 (head) [MODE_ODC]: Adapt for the format.
13284 (head) [MODE_NEWC]: Likewise.
13285 (head) [!MODE_*]: Write fields of interest as arrays.
13286 (MAGIC_USTAR): Removed.
13287 (read_number) [MODE_NEWC]: Change to hex.
13288 (read_number) [!MODE_*]: Parse binary arrays.
13289 (grub_cpio_find_file): Factor out the code for better structure and
13290 always use read_number.
13291 (grub_cpio_mount): Use MAGIC and MAGIC2.
13292 (grub_cpio_dir): Exit on first hook non-0 return.
13293 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13294 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13295 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13296 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13297 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13298 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13299 * grub-core/fs/newc.c: New file.
13300 * grub-core/fs/odc.c: Likewise.
13301 * grub-core/fs/cpio_be.c: Likewise.
13302
58eba9ee
VS
133032011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 Fix handling of tar numbers occupying the whole field.
13306
13307 * grub-core/fs/cpio.c (read_number): New function.
13308 (grub_cpio_find_file): Use read_number instead of strtoull.
13309
a54a0e12
VS
133102011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13311
13312 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13313 occupying the whole field size.
13314
a6120aca
LA
133152011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13316
13317 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13318
a93964ce
VS
133192011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13320
13321 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13322
3ea1ca46
SG
133232011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13324
13325 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13326 TARGET_IMG_LDFLAGS.
13327
b87f7ef2
VS
133282011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13331 (mountinfo_entry): Increase the field size to take escaping into
13332 account.
13333 (find_root_device_from_libzfs): Add one byte to size of strings for
13334 security.
13335
62092395
VS
133362011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13339 an assert.
13340 * util/grub-setup.c (setup): Likewise.
13341
1f0b1a77
VS
133422011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13345 _LzmaDecodeA.
13346
8eba9997
VS
133472011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 * docs/grub.texi (Internationalisation): New section.
13350
dd0c91e9
VS
133512011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 * docs/grub.texi (Loopback booting): New section.
13354
133552011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13356
13357 * util/grub-mkstandalone.in: Fix minor typo errors.
13358
198e150a
VS
133592011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13360
13361 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13362
13363 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13364 net/icmp.c and net/icmp6.c.
13365 (http): New module.
13366 (priority_queue): Likewise.
13367 * grub-core/io/bufio.c: Rewritten.
13368 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13369 TYPE_WITH_CONFIGFILE_OPTION.
13370 (legacy_commands): Add bootp and dhcp.
13371 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13372 (grub_legacy_parse): Likewise.
13373 * grub-core/lib/priority_queue.c: New file.
13374 * grub-core/net/arp.c: Add missing license header.
13375 (arp_find_entry): Removed.
13376 (arp_find_entry): Likewise.
13377 (grub_net_arp_resolve): Rename to ...
13378 (grub_net_arp_send_request): ...this.
13379 (grub_net_arp_receive): New card argument.
13380 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13381 Set router and DNS server.
13382 (grub_net_configure_by_dhcp_ack): Handle routing information.
13383 (grub_cmd_bootp): Set checksum.
13384 (grub_bootp_init): Remove net_dhcp.
13385 * grub-core/net/dns.c: New file.
13386 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13387 completion.
13388 (get_card_packet): Handle allocation.
13389 (grub_efinet_findcards): Set mtu.
13390 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13391 (get_card_packet): Handle allocation.
13392 (emucard): Set mtu.
13393 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13394 (GRUB_MOD_INIT): Set mtu.
13395 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13396 mtu.
13397 (get_card_packet): Handle allocation.
13398 (grub_ofnet_findcards): Set mtu.
13399 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13400 assert.
13401 (grub_net_recv_ethernet_packet): Handle IPv6.
13402 * grub-core/net/http.c: New file.
13403 * grub-core/net/icmp.c: Likewise.
13404 * grub-core/net/icmp6.c: Likewise.
13405 * grub-core/net/ip.c (ip6addr): New type.
13406 (ip6hdr): Likewise.
13407 (reassemble): Likewise.
13408 (cmp): New function.
13409 (reassembles): New variable.
13410 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13411 (id): New variable.
13412 (send_fragmented): New function.
13413 (grub_net_send_ip_packet): Rename to ...
13414 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13415 Handle non-UDP.
13416 (grub_net_recv_ip_packets): Rename to ...
13417 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13418 (free_rsm): New function.
13419 (free_old_fragments): Likewise.
13420 (grub_net_recv_ip4_packets): New function.
13421 (grub_net_send_ip6_packet): Likewise.
13422 (grub_net_send_ip_packet): Likewise.
13423 (grub_net_recv_ip6_packets): Likewise.
13424 (grub_net_recv_ip_packets): Likewise.
13425 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13426 (LINK_LAYER_CACHE_SIZE): New const.
13427 (link_layer_find_entry): New function.
13428 (grub_net_link_layer_add_address): Likewise.
13429 (grub_net_link_layer_resolve_check): Likewise.
13430 (grub_net_link_layer_resolve): Likewise.
13431 (grub_net_ipv6_get_slaac): Likewise.
13432 (grub_net_ipv6_get_link_local): Likewise.
13433 (grub_cmd_ipv6_autoconf): Likewise.
13434 (parse_ip): Handle one number representation.
13435 (parse_ip6): New functoion.
13436 (match_net): Handle IPv6.
13437 (grub_net_resolve_address): Handle IPv6 and DNS.
13438 (grub_net_resolve_net_address): Handle IPv6.
13439 (route_cmp): New function.
13440 (grub_net_route_address): Find best route.
13441 (grub_net_addr_to_str): Handle IPv6.
13442 (grub_net_addr_cmp): New function.
13443 (grub_net_add_addr): Register local route.
13444 (print_net_address): Handle net address.
13445 (grub_net_poll_cards): Retransmit TCP.
13446 (grub_net_poll_cards_idle_real): Likewise.
13447 (have_ahead): New function.
13448 (grub_net_seek_real): Use underlying seek.
13449 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13450 * grub-core/net/tcp.c: New file.
13451 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13452 (cmp): New function.
13453 (ack): Likewise.
13454 (tftp_receive): Handle unordered input.
13455 (destroy_pq): New function.
13456 (tftp_close): Close pq.
13457 * grub-core/net/udp.c: Put missing license header.
13458 (grub_net_udp_socket): New function.
13459 (udp_socket_register): Likewise.
13460 (grub_net_udp_close): Likewise.
13461 (grub_net_recv_udp_packet): Check checksum.
13462 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13463 * include/grub/misc.h (grub_memchr): New function.
13464 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13465 (grub_net_card_driver): Return buf in recv.
13466 (grub_net_slaac_mac_list): New struct.
13467 (grub_network_level_protocol_id): Add ipv6.
13468 (grub_net_network_level_addr): Likewise.
13469 (grub_net_network_level_net_addr): Likewise.
13470 (grub_net_app_protocol): Add seek.
13471 (grub_net_socket): Removed.
13472 (grub_net_sockets): Likewise.
13473 (grub_net_socket_register): Likewise.
13474 (grub_net_socket_unregister): Likewise.
13475 (FOR_NET_SOCKETS): Likewise.
13476 (grub_net_add_addr): Add const.
13477 (GRUB_NET_BOOTP_*): New enum.
13478 (grub_net_addr_cmp): New proto.
13479 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13480 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13481 (grub_net_hwaddr_to_str): NEw proto.
13482 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13483 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13484 (grub_dns_init): New proto.
13485 (grub_dns_fini): Likewise.
13486 (grub_net_tcp_retransmit): Likewise.
13487 (grub_net_link_layer_add_address): Likewise.
13488 (grub_net_link_layer_resolve_check): Likewise.
13489 (grub_net_link_layer_resolve): Likewise.
13490 (grub_net_dns_lookup): Likewise.
13491 (grub_net_add_dns_server): Likewise.
13492 (grub_net_remove_dns_server): Likewise.
13493 (GRUB_NET_TRIES): New const.
13494 (GRUB_NET_INTERVAL): Likewise.
13495 * include/grub/net/arp.h: Mostly rewritten.
13496 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13497 * include/grub/net/ip.h: Mostly rewritten.
13498 * include/grub/net/netbuff.h: Indent.
13499 * include/grub/net/tcp.h: New file.
13500 * include/grub/net/udp.h: Mostly rewritten.
13501 * include/grub/priority_queue.h: New file.
13502 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13503 (grub_swap_bytes64_compile_time): Likewise.
13504 (grub_cpu_to_be16_compile_time): Likewise.
13505 (grub_cpu_to_be32_compile_time): Likewise.
13506 (grub_cpu_to_be64_compile_time): Likewise.
13507 (grub_be_to_cpu64_compile_time): Likewise.
13508
215c1800
VS
135092011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13512 UINT_TO_PTR with cast.
13513
c17e546c
VS
135142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13517 don't use them.
13518
ff6b18b6
VS
135192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13522 already there.
13523
70ffcc93
VS
135242011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13527 confusing ipxe.
13528
e5f4d260
VS
135292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13532 Add missing const attribute.
13533 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13534 Likewise.
13535 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13536 Likewise.
13537
8e54b4b7
VS
135382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13541 misaligned access.
13542 (serpent_setkey): Likewise.
13543 (serpent_encrypt_internal): Likewise.
13544 (serpent_decrypt_internal): Likewise.
13545 (serpent_encrypt): Don't put an alignment-increasing cast.
13546 (serpent_decrypt): Likewise.
13547 (serpent_test): Likewise.
13548
813c0a2b
VS
135492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13550
13551 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13552
f2b60fbd
VS
135532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13554
13555 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13556
13557 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13558 grub_addr_t casts.
13559 (PTR_TO_UINT64): Likewise.
13560 (PTR_TO_UINT32): Likewise.
13561
5ef5c511
VS
135622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13563
13564 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13565 because of stack.
13566 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13567 limit.
13568
c476e6df
VS
135692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13572 text_width > available width a bit more gracefully.
13573
384ad7cc
VS
135742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13575
13576 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13577 current address calculation.
13578
96f8caf8
VS
135792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13580
13581 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13582 stack.
13583 (encode_block): Likewise.
13584
276b7a8b
VS
135852011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13586
13587 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13588 certainety.
13589
e3fd394a
VS
135902011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13591
13592 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13593 non-RS part to avoid RS messing with GDT.
13594 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13595 Increase to suit in realmode routines.
13596
135972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * grub-core/kern/i386/realmode.S: Increase alignment.
13600 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13601
ee9c2e7a
VS
136022011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13605 be deterministic.
13606 (syndroms): Compute 0 syndrom.
13607 (rs_recover): Use 0 syndrom.
13608
7a7f7cc9
VS
136092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13610
13611 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13612
a14b16d1
VS
136132011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13614
13615 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13616 brackets.
13617
9f59e9fc
VS
136182011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13619
ca1b552c
VS
13620 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13621 account.
13622 (get_top_pad): Likewise.
13623 (get_right_pad): Likewise.
13624 (get_bottom_pad): Likewise.
13625
136262011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13629
e739d698
VS
136302011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13631
13632 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13633 attribute as the structure isn't guaranteed to be properly aligned.
13634 (grub_efi_pci_device_path): Likewise.
13635 (grub_efi_pccard_device_path): Likewise.
13636 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13637 specify the size of `memory_type'.
13638 (grub_efi_vendor_device_path): Likewise.
13639 (grub_efi_controller_device_path): Likewise.
13640 (grub_efi_acpi_device_path): Likewise.
13641 (grub_efi_expanded_acpi_device_path): Likewise.
13642 (grub_efi_atapi_device_path): Likewise.
13643 (grub_efi_scsi_device_path): Likewise.
13644 (grub_efi_fibre_channel_device_path): Likewise.
13645 (grub_efi_1394_device_path): Likewise.
13646 (grub_efi_usb_device_path): Likewise.
13647 (grub_efi_usb_class_device_path): Likewise.
13648 (grub_efi_i2o_device_path): Likewise.
13649 (grub_efi_mac_address_device_path): Likewise.
13650 (grub_efi_ipv4_device_path): Likewise.
13651 (grub_efi_ipv6_device_path): Likewise.
13652 (grub_efi_infiniband_device_path): Likewise.
13653 (grub_efi_uart_device_path): Likewise.
13654 (grub_efi_vendor_messaging_device_path): Likewise.
13655 (grub_efi_hard_drive_device_path): Likewise.
13656 (grub_efi_cdrom_device_path): Likewise.
13657 (grub_efi_vendor_media_device_path): Likewise.
13658 (grub_efi_file_path_device_path): Likewise.
13659 (grub_efi_protocol_device_path): Likewise.
13660 (grub_efi_piwg_device_path): Likewise.
13661 (grub_efi_bios_device_path): Likewise.
13662
cb8f88ea
VS
136632011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13666 (grub_ucs4_to_utf8_alloc): Likewise.
13667 (grub_ucs4_to_utf8): Likewise.
13668 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13669 (grub_ucs4_to_utf8_alloc): Likewise.
13670
309e5352
VS
136712011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13672
13673 AFFS never uses unicode.
13674
13675 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13676 (grub_latin1_to_utf8): New inline function.
13677 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13678
e7987e1b
VS
136792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13680
13681 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13682 overflow.
13683
efc2616e
VS
136842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13685
13686 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13687 (grub_squash_dirent_header): Likewise.
13688 (read_chunk): Don't double swap.
13689 (grub_squash_iterate_dir): Fix swap sizes.
13690
3c349f5a
VS
136912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13694
b453412d
VS
136952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13698 (grub_hfs_iterate_dir): Likewise.
13699
12e9d4d1
VS
137002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 Fix video on platforms where unaligned access is forbidden.
13703 Make several optimisations while on it.
13704
13705 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13706 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13707 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13708 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13709 Disable.
13710 (grub_video_fbblit_replace_16bit_1bit):
13711 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13712 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13713 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13714 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13715 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13716 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13717 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13718 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13719 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13720 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13721 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13722 (grub_video_fbblit_replace_index_RGB888): Likewise.
13723 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13724 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13725 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13726 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13727 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13728 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13729 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13730 Disable.
13731 (grub_video_fbblit_blend_XXX565_1bit):
13732 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13733 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13734 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13735 void *.
13736 * grub-core/video/fb/video_fb.c (common_blitter)
13737 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13738 (grub_video_fb_create_render_target_from_pointer)
13739 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13740 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13741 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13742 definition.
13743 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13744
ace96609
VS
137452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13746
13747 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13748 HH22 and HM10 relocations.
13749
fd261d73
VS
137502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13753
e59b7857
VS
137542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13755
13756 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13757 allocation succeeded.
13758
9b4baaa4
VS
137592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13760
13761 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13762 argument a u8 pointer. All users updated.
13763 Handle unaligned buffers.
13764
dc713193
VS
137652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13766
13767 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13768 add_part to workaround compiler bug.
13769
30dd48c2
VS
137702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13771
13772 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13773
0c6087a8
VS
137742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13777 Reserve alignment invariants.
13778 (grub_multiboot_load): Likewise.
13779 (retrieve_video_parameters): Likewise.
13780 (grub_multiboot_make_mbi): Likewise.
13781
c2e77777
VS
137822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13785 incorrect pointer.
13786
b70b6d11
VS
137872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13788
13789 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13790 (grub_pata_pio_write): Likewise.
13791
02a2bf83
VS
137922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13793
13794 Add noreturn attributes and remove unreachable code.
13795
13796 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13797 code.
13798 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13799 code. Mark as noreturn.
13800 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13801 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13802 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13803 unreachable code.
13804 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13805 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13806 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13807 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13808 * include/grub/kernel.h (grub_main): Mark as noreturn.
13809 * include/grub/reader.h (grub_rescue_run): Likewise.
13810
2019d09e
VS
138112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13814 redundant declaration.
13815
d1c501ee
VS
138162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13819 redundant declaration.
13820 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13821
61664420
VS
138222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13823
13824 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13825 to ensure alignment.
13826 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13827 alignment. Ensure tmp alignment.
13828 (grub_cmd_hdparm): Ensure buf alignment.
13829 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13830 to ensure alignment.
13831 (grub_ata_dumpinfo): Ensure text alignment.
13832 (grub_atapi_identify): Preserve alignment invariant.
13833 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13834
0d51ee20
VS
138352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13836
13837 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13838 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13839 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13840 * include/grub/misc.h (grub_reboot)
13841 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13842 (grub_halt) [__mips__]: Likewise.
13843
753ef8c1
VS
138442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13845
13846 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13847 Remove redundant declaration.
13848 (grub_mmap_get_post64): Likewise.
13849 (grub_mmap_get_upper): Likewise.
13850 (grub_mmap_get_lower): Likewise.
13851
85c85365
VS
138522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13853
13854 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13855 uint32_t * to ensure alignment.
13856 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13857
a23f2cc4
VS
138582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13859
93018f64
VS
13860 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13861 uint16_t * to ensure alignment.
13862 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13863 alignment.
13864
138652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13866
13867 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13868 to ensure alignment.
13869 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13870
58acccd6
VS
138712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13874 Handle unaligned pointers.
13875 (u32at): Likewise.
13876 (u64at): Likewise.
13877 (fixup): Use byte access instead of v16at.
13878 (find_attr): Fix imporper usage of v32at.
13879 (read_data): Likewise.
13880 (list_file): Handle byte-swapping and unaligned strings.
13881 (grub_ntfs_label): Likewise.
13882
9b05cad7
VS
138832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13886 as it's not necessarily aligned.
13887
b3950b84
VS
138882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13889
13890 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13891 redundant declaration.
13892 (grub_serial_init): Likewise.
13893 (grub_terminfo_init): Likewise.
13894
fcd232b7
VS
138952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13896
13897 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13898 function.
13899 (ZAP_HASH_IDX): Likewise.
13900 (ZAP_LEAF_HASH_SHIFT): Likewise.
13901 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13902 (LEAF_HASH): Likewise.
13903 (ZAP_LEAF_NUMCHUNKS): Likewise.
13904 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13905 alignment invariants. Return pointer. All users updated.
13906 (ZAP_LEAF_ENTRY): Make into inline function.
13907 (NBBY): Removed.
13908 (xor): LIkewise.
13909 (xor_out): Use grub_crypto_xor.
13910 (dnode_get_path): Use grub_get_unaligned.
13911 (nvlist_find_value): Likewise.
13912 (grub_zfs_nvlist_lookup_uint64): Likewise.
13913 (grub_zfs_nvlist_lookup_string): Likewise.
13914 (get_nvlist_size): Likewise.
13915 (grub_zfs_open): Likewise.
13916 (fill_fs_info): Likewise.
13917 (grub_zfs_dir): Likewise.
13918 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13919 alignment invariants.
13920 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13921 necessarily aligned.
13922
f138623a
VS
139232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13926
564840dc
VS
139272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13928
13929 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13930 arithmetic to conserve alignment invariants.
13931
9b40df20
VS
139322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13935 redundant declaration.
13936 (grub_efiemu_mm_obtain_request): Likewise.
13937 (grub_efiemu_prepare): Likewise.
13938
d1c930f9
VS
139392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13942 to match types.
13943
4c5f3056
VS
139442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13945
13946 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13947 case of aunaligned recptr.
13948 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13949 alignment.
13950 (grub_hfsplus_btree_search): Handle unaligned index.
13951
728cba91
VS
139522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13955 to get freetag and skip.
13956
eb561f31
VS
139572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13958
13959 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13960 array.
13961 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13962 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13963
20993fbb
VS
139642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13967 name for checksum and fix allocation algorithm.
13968
1f313b94
VS
139692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * include/grub/types.h (grub_properly_aligned_t): New type.
13972 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13973 (grub_get_unaligned16): Add explicit casts.
13974 (grub_get_unaligned32): Likewise.
13975 (grub_get_unaligned64): Likewise.
13976 (grub_set_unaligned16): New function.
13977 (grub_set_unaligned32): Likewise.
13978
47ae27ec
VS
139792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13982
78c2cd1c
VS
139832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13984
13985 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13986 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13987 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13988
53072f9b
VS
139892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13992 conditionals.
13993
055dc239
VS
139942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13997 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13998
496bd074
VS
139992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14000
14001 Unify and improve RAID and crypto xor.
14002
14003 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
14004 changed to grub_crypto_xor
14005 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
14006 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
14007 Use bigger types when possible.
14008
ef6e4335
VS
140092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14010
14011 * grub-core/disk/raid.c (scan_devices): Fix condition.
14012
5d048bf2
VS
140132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14014
14015 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
14016 Make name a const ptr.
14017
ee533335
VS
140182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14019
14020 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
14021 first argument a const pointer.
14022 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14023 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
14024 proto.
14025 (grub_children_iterate): Likewise.
14026 (grub_machine_mmap_iterate): Remove redundant declaration.
14027
cc8f3668
VS
140282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14029
14030 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14031 (grub_cmd_acpi) [!x86]: Disable EBDA.
14032
c5fc563a
VS
140332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14034
14035 Enable UTF8 in gnulib regexp.
14036
14037 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14038 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14039 (isupper): Use grub_isupper.
14040 (isascii): New inline function.
14041 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14042 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14043 * grub-core/normal/charset.c (grub_utf8_process): New function.
14044 (grub_utf8_to_utf16): Use grub_utf8_process.
14045 (grub_encode_utf8_character): New function.
14046 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14047 * include/grub/charset.h (grub_utf8_process): New declaration.
14048 (grub_encode_utf8_character): Likewise.
14049 * include/grub/misc.h (grub_islower): New inline function.
14050 (grub_isupper): Likewise.
14051 (grub_strchrsub): Moved down to fix the definitions.
14052
0af2346f
VS
140532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14056 specification.
14057
74dbd244
VS
140582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14059
14060 * include/grub/loader.h (grub_loader_register_preboot_hook):
14061 Use struct preboot * and not void * for handle. All users updated.
14062 (grub_loader_unregister_preboot_hook): Likewise.
14063
1bc8f60d
VS
140642011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14065
14066 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14067 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14068 UTF-16-BE. All users updated.
14069 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14070 (grub_hfsplus_iterate_dir): Likewise.
14071 (grub_hfsplus_label): Likewise.
14072
48d6e456
VS
140732011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14076
bf3a3857
VS
140772011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 Add missing const qualifiers.
14080
14081 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14082 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14083 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14084 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14085 (grub_lvm_check_flag): Likewise.
14086 * grub-core/efiemu/i386/coredetect.c
14087 (grub_efiemu_get_default_core_name): Likewise
14088 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14089 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14090 * grub-core/fs/ntfs.c (fixup): Likewise.
14091 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14092 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14093 (fzap_lookup): Likewise.
14094 (zap_lookup): Likewise.
14095 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14096 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14097 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14098 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14099 (grub_freebsd_add_meta_module): Likewise.
14100 (grub_cmd_freebsd_module): Likewise.
14101 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14102 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14103 (grub_xnu_writetree_get_size): Likewise.
14104 (grub_xnu_writetree_toheap_real): Likewise.
14105 (grub_xnu_find_key): Likewise.
14106 (grub_xnu_create_key): Likewise.
14107 (grub_xnu_create_value): Likewise.
14108 (grub_xnu_register_memory): Likewise.
14109 (grub_xnu_check_os_bundle_required): Likewise.
14110 (grub_xnu_scan_dir_for_kexts): Likewise.
14111 (grub_xnu_load_kext_from_dir): Likewise.
14112 * grub-core/normal/color.c (color_list): Likewise.
14113 * grub-core/normal/completion.c (current_word): Likewise.
14114 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14115 * grub-core/term/serial.c (grub_serial_find): Likewise.
14116 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14117 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14118 Likewise.
14119 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14120 (grub_freebsd_add_meta_module): Likewise.
14121 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14122 * include/grub/net.h (grub_net_card_driver): Likewise.
14123 (grub_net_card): Likewise.
14124 (grub_net_app_protocol): Likewise.
14125 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14126 * include/grub/serial.h (grub_serial_find): Likewise.
14127 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14128 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14129 (grub_xnu_create_value): Likewise.
14130 (grub_xnu_find_key): Likewise.
14131 (grub_xnu_scan_dir_for_kexts): Likewise.
14132 (grub_xnu_load_kext_from_dir): Likewise.
14133
14134 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14135 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14136 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14137 Moved from here ...
14138 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14139
112b4837
CW
141402011-11-28 Colin Watson <cjwatson@ubuntu.com>
14141
14142 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14143
49e891ac
VS
141442011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14147 (read_device): Fix size calculation.
14148
fd258e5c
RM
141492011-11-25 Robert Millan <rmh@gnu.org>
14150
14151 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14152 (find_root_device_from_libzfs): Add zpool output parser to be used
14153 as fallback when libzfs isn't available.
14154
78845dc2
SG
141552011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14156
14157 * po/Makefile.in.in: Add missing escape-continuation.
14158
adac5211
VS
141592011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
14162
10b64f1c
VS
141632011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14164
14165 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
14166
bb416954
VS
141672011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14168
14169 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14170
bdfe9eeb
VS
141712011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14172
14173 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14174
581ffa8a
VS
141752011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 * grub-core/lib/adler32.c: Add missing license specification.
14178 * grub-core/lib/crc64.c: Likewise.
14179 * grub-core/loader/i386/pc/plan9.c: Likewise.
14180 * grub-core/partmap/plan.c: Likewise.
14181
2536cf64
LK
141822011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14183
14184 Add facility to debug GRUB with gdb under qemu.
14185
14186 * grub-core/gdb_grub.in: New file.
14187 * grub-core/gmodule.pl.in: Likewise.
14188 * grub-core/Makefile.core.def (gmodule.pl): New script.
14189 (gdb_grub): Likewise.
14190
bc108a4a
VS
141912011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * util/grub-mount.c (argp_parser): Accept relative pathes.
14194 * util/grub-fstest.c (argp_parser): Likewise.
14195
111c1778
VS
141962011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14197
14198 Plan9 support.
14199
14200 * Makefile.util.def (libgrubmods): Add
14201 grub-core/partmap/plan.c.
14202 * docs/grub.texi: Notice Plan9 support.
14203 * grub-core/Makefile.core.def (plan9): New module.
14204 (part_plan): Likewise.
14205 * grub-core/loader/i386/pc/plan9.c: New file.
14206 * grub-core/partmap/plan.c: Likewise.
14207 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14208 define.
14209 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14210 * include/grub/mm.h (grub_extend_alloc): New inline function.
14211
c30be3b6
VS
142122011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 Make Reed-Solomon faster by using power of generator representation of
14215 GF(256)*.
14216
14217 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14218 (gf_double_t): Likewise.
14219 (gf_invert): Removed.
14220 (gf_powx): New array.
14221 (gf_powx_inv): Likewise.
14222 (scratch): Move higher.
14223 (gf_reduce): Removed.
14224 (gf_mul): Use powx.
14225 (gf_invert): Likewise.
14226 (init_inverts): Replaced with ...
14227 (init_powx): ...this. All users updated.
14228 (pol_evaluate): Replace multiplications with additions.
14229 (rs_encode): Likewise.
14230 (gauss_eliminate): Call gf_invert.
14231 (grub_reed_solomon_add_redundancy): Call init_powx.
14232 (grub_reed_solomon_recover): Call init_powx unconditionally.
14233
fa5aeffc
VS
142342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14237
a346b81c
VS
142382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14239
14240 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14241 disk->partiton for safety.
14242
d89ee414
VS
142432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14246 Fix a memory leak.
14247 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
14248
91ee7b6d
VS
142492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14252
91e5a33d
VS
142532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14256
9edd7be2
VS
142572011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14258
14259 Fix spaces handling in proc/self/mountinfo.
14260
14261 * util/getroot.c (unescape): New function.
14262 (grub_find_root_device_from_mountinfo): Use unescape.
14263
ba102053
VS
142642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 Support ZFS embedding.
14267
14268 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14269 (grub_zfs_fs): Register grub_zfs_embed.
14270
aa94b870
VS
142712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 Fix MIPS compilation.
14274
14275 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14276 * include/grub/offsets.h: Rename decompressor fields from
14277 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14278 * util/grub-mkimage.c (image_targets): Use new names.
14279
5fbdac14
VS
142802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14281
14282 Defer multiboot device parsing until we're in compressed part.
14283
14284 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14285 bsd_part. setdevice has fallen into disuse.
14286 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14287 (bsd_part): Likewise.
14288 (boot_dev): New variable.
14289 (multiboot_trampoline): Don't parse multiboot device.
14290 Pass multiboot device in %edx.
14291 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14292 grub_boot_device.
14293 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14294 Likewise.
14295 * grub-core/kern/i386/pc/startup.S: Save edx.
14296 (grub_boot_drive): Removed.
14297 (grub_install_dos_part): Likewise.
14298 (grub_install_bsd_part): Likewise.
14299 (grub_boot_device): New variable.
14300 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14301 (grub_install_bsd_part): Likewise.
14302 (grub_boot_drive): Likewise.
14303 (grub_boot_device): New variable.
14304 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14305 Removed.
14306 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14307 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14308 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14309 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14310 * util/grub-install.in: Remove redundant condition.
14311
691cbb58
VS
143122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14313
14314 Fix bug introduced by previous commit.
14315
14316 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14317
60240b8b
VS
143182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14319
14320 Use decompressors framework on i386-pc. It increases core size
14321 by 46 bytes but improves compatibility and maintainability.
14322
14323 * grub-core/Makefile.core.def (lzma_decompress): New image.
14324 (kernel): Add i386_pc_ldflags.
14325 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14326 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14327 to real_to_prot, prot_to_real and device info.
14328 * include/grub/offsets.h: Renamed decompressor offsets.
14329 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14330 (image_target_desc): Remove raw_size and rename decompressor fields.
14331 (compress_kernel): Handle lzma.
14332 (generate_image): Handle decompressors on i386-pc.
14333
e9d3421c
VS
143342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 * configure.ac: Add -fno-asynchronous-unwind-tables.
14337
2b23074a
VS
143382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 Move assembly code to C by using intwrap. It increases core size
14341 by 88 bytes but improves compatibility and maintainability.
14342
14343 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14344 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14345 ... here. Translated to C.
14346 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14347 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14348 ... here. Translated to C.
14349 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14350 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14351 ... here. Translated to C.
14352 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14353 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14354 ... here. Translated to C.
14355 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14356 * grub-core/term/i386/pc/console.c (grub_console_cls):
14357 ... here. Translated to C.
14358 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14359 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14360 ... here. Translated to C.
14361 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14362 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14363 Translated to C.
14364 * grub-core/term/i386/pc/console.c (int10_9): New function.
14365 (grub_console_putchar): Likewise.
14366 * include/grub/i386/pc/console.h: Removed the not anymore shared
14367 functions.
14368
678f4b67
VS
143692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 Move grub_chainloader_real_boot out of the kernel.
14372
14373 * grub-core/Makefile.am: Remove machine/loader.h.
14374 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14375 Removed.
14376 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14377 variable.
14378 (grub_relocator16_keep_a20_enabled): Likewise.
14379 (grub_relocator16_boot): Fill new variables.
14380 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14381 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14382 relocator.
14383 (grub_chainloader_unload): Likewise.
14384 (grub_chainloader_cmd): Likewise.
14385 * include/grub/i386/pc/loader.h: Removed.
14386 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14387 and esi. All initialisers updated.
14388
4626edf6
VS
143892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
143902011-11-12 Colin Watson <cjwatson@ubuntu.com>
14391
14392 * Makefile.util.def (grub-mount): New util.
14393 * .bzrignore: Add grub-mount.
14394 * configure.ac: Check for fuse and enable grub-mount if available.
14395 * docs/man/grub-mount.h2m: New file.
14396 * util/grub-mount.c: Likewise.
14397
10f0117b
VS
143982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14399
14400 * grub-core/commands/efi/fixvideo.c: Gettextize.
14401 * grub-core/commands/hashsum.c: Likewise.
14402 * grub-core/commands/i386/cmostest.c: Likewise.
14403 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14404 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14405 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14406 * grub-core/commands/lsmmap.c: Likewise.
14407 * grub-core/commands/menuentry.c: Likewise.
14408 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14409 * grub-core/commands/setpci.c: Likewise.
14410 * grub-core/loader/i386/bsd.c: Likewise.
14411 * grub-core/loader/i386/linux.c: Likewise.
14412 * util/getroot.c: Likewise.
14413 * util/grub-editenv.c: Likewise.
14414 * util/grub-fstest.c: Likewise.
14415 * util/grub-mkfont.c: Likewise.
14416 * util/grub-mkimage.c: Likewise.
14417 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14418 * util/grub-pe2elf.c: Likewise.
14419 * util/grub-probe.c: Likewise.
14420 * util/grub-setup.c: Likewise.
14421 * util/ieee1275/ofpath.c: Likewise.
14422 * util/misc.c: Likewise.
14423 * util/raid.c: Likewise.
14424
566f779b
RM
144252011-11-11 Robert Millan <rmh@gnu.org>
14426
14427 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14428 __attribute__((unused)) from `os_dev', which *is* being used.
14429
b50787de
VS
144302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14433 forgotten define.
14434 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14435 GRUB_IA64_DL_GOT_ALIGN.
14436 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14437 GRUB_IA64_DL_TRAMP_ALIGN.
14438
119d11c8
VS
144392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14440
14441 Replace grub_fatal with normal errors in i386 linux loader.
14442
14443 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14444 (allocate_pages): Check find_efi_mmap_size return value.
14445 (grub_e820_add_region): Return error.
14446 (grub_linux_boot): Check mmap return value.
14447
6e0632e2
VS
144482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14449
14450 * grub-core/commands/acpihalt.c: Gettextized.
14451 * grub-core/commands/cacheinfo.c: Likewise.
14452 * grub-core/commands/cmp.c: Likewise.
14453 * grub-core/commands/efi/loadbios.c: Likewise.
14454 * grub-core/commands/gptsync.c: Likewise.
14455 * grub-core/commands/ieee1275/suspend.c: Likewise.
14456 * grub-core/commands/legacycfg.c: Likewise.
14457 * grub-core/commands/memrw.c: Likewise.
14458 * grub-core/commands/minicmd.c: Likewise.
14459 * grub-core/commands/parttool.c: Likewise.
14460 * grub-core/commands/time.c: Likewise.
14461 * grub-core/commands/videoinfo.c: Likewise.
14462 * grub-core/disk/geli.c: Likewise.
14463 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14464 * grub-core/disk/luks.c: Likewise.
14465 * grub-core/disk/lvm.c: Likewise.
14466 * grub-core/font/font_cmd.c: Likewise.
14467 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14468 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14469 * grub-core/gfxmenu/view.c: Likewise.
14470 * grub-core/kern/emu/hostdisk.c: Likewise.
14471 * grub-core/kern/emu/main.c: Likewise.
14472 * grub-core/kern/emu/misc.c: Likewise.
14473 * grub-core/kern/emu/mm.c: Likewise.
14474 * grub-core/kern/mips/arc/init.c: Likewise.
14475 * grub-core/kern/mips/loongson/init.c: Likewise.
14476 * grub-core/kern/partition.c: Likewise.
14477 * grub-core/lib/i386/halt.c: Likewise.
14478 * grub-core/lib/mips/arc/reboot.c: Likewise.
14479 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14480 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14481 * grub-core/loader/i386/xnu.c: Likewise.
14482 * grub-core/loader/multiboot.c: Likewise.
14483 * grub-core/net/bootp.c: Likewise.
14484 * grub-core/net/net.c: Likewise.
14485 * grub-core/normal/term.c: Likewise.
14486 * grub-core/partmap/bsdlabel.c: Likewise.
14487 * grub-core/parttool/msdospart.c: Likewise.
14488 * grub-core/term/gfxterm.c: Likewise.
14489 * grub-core/term/terminfo.c: Likewise.
14490 * grub-core/video/i386/pc/vbe.c: Likewise.
14491 * util/grub-menulst2cfg.c: Likewise.
14492 * util/grub-mkdevicemap.c: Likewise.
14493 * util/grub-mklayout.c: Likewise.
14494 * util/grub-mkrelpath.c: Likewise.
14495 * util/grub-script-check.c: Likewise.
14496 * util/ieee1275/grub-ofpathname.c: Likewise.
14497 * util/resolve.c: Likewise.
14498
073aa7a9
VS
144992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 Support %1$d syntax.
14502
14503 * tests/printf_unit_test.c: New file.
14504 * Makefile.util.def (printf_test): New test.
14505 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14506
c76b5417
VS
145072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14508
14509 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14510 fix.
14511
df067ad1
VS
145122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14513
14514 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14515 dprintf.
14516 * grub-core/font/font.c (grub_font_load): Likewise.
14517
5b289bc5
VS
145182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14519
14520 * util/grub-macho2img.c: Add comment concerning gettext.
14521 * grub-core/lib/legacy_parse.c: Likewise.
14522
c1860f87
VS
145232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14524
14525 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14526 (grub_xvasprintf): Likewise.
14527
d35d0d37
VS
145282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14529
14530 Add const keyword to grub_env_get and gettextize week days.
14531
14532 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14533 (grub_read_hook_datetime): Return const char *.
14534 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14535 updated.
14536 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14537 Mark for gettext.
14538 (grub_get_weekday_name): Return const char *. Call gettext.
14539 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14540 char * and len as the argument. All users updated.
14541 (grub_script_argv_split_append): Receive const char *.
14542 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14543 * include/grub/env.h (grub_env_get): Likewise.
14544 (grub_env_read_hook_t): Return const char *.
14545 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14546 (grub_script_argv_split_append): Likewise.
14547
9aed8a71
VS
145482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14549
14550 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14551
067fdf00
VS
145522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14555 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14556
a8bd9d39
VS
145572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14560 Fix prototype.
14561
f7ce5baf
VS
145622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14563
14564 Fix mips compilation.
14565
14566 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14567 normal decoder.
14568 (hashes): Use in embed decoder as well (for sizes).
14569 (dec_stream_header): Fix embed decompressor logic.
14570 (dec_stream_footer): Likewise.
14571
9bb182f3
VS
145722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14573
14574 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14575 an error and not a fatal on unrecognised relocation types.
14576
63a9e6f6
VS
145772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14580 Issue error rather than printf on unknown arguments.
14581
4c458569
VS
145822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14583
14584 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14585 Make buf a const.
14586
e2d22baf
VS
145872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14588
14589 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14590 Fix module name.
14591
53dc8590
VS
145922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14595 leftover debug printf.
14596
6c189294
VS
145972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14600
f7688369
VS
146012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14602
14603 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14604 A stylistic fix.
14605
11a775a3
VS
146062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14609
33f784e8
SL
146102011-11-10 Shea Levy <slevy@tieronedesign.com>
14611
14612 Allow all modules to perform serial IO
14613
14614 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14615 * include/grub/serial.h (grub_serial_port_configure): New inline
14616 function.
14617 (grub_serial_port_fetch): Likewise.
14618 (grub_serial_port_put): Likewise.
14619 (grub_serial_port_fini): Likewise.
14620 (grub_serial_find): New proto.
14621
f6276525
VS
146222011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14623
14624 Put symlink at the end of the node and fix a potential
14625 memory corruption.
14626
14627 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14628 Make symlink into an array.
14629 (set_rockridge): Set have_symlink and alloc_dirents.
14630 (grub_iso9660_read_symlink): Use new layout.
14631 (grub_iso9660_iterate_dir): Fix memory corruption.
14632 Use new layout.
14633 (grub_iso9660_dir): Set have_symlink.
14634 (grub_iso9660_open): Likewise.
14635
c3591189
VS
146362011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14637
14638 Remove local keyword.
14639
14640 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14641 (version_test_gt): Likewise.
14642 (version_find_latest): Likewise.
14643 (gettext_printf): Likewise.
14644 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14645
cb544caa
VS
146462011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14647
14648 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14649
45bd824d
VS
146502011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14651
14652 Fix ZFS memory and resource leaks.
14653
14654 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14655 All users updated.
14656 Free type on exit.
14657 (fill_vdev_info): New parameter inserted. All users updated.
14658 (check_pool_label): Likewise.
14659 (scan_disk): Likewise.
14660 (scan_devices): Close non-inserted disks.
14661 (fzap_iterate): Free l.
14662 (unmount_device): Free children descripto memory.
14663
ad9a2f44
VS
146642011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14667 argument (access out of bounds).
14668
6b68db81
VS
146692011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14672 >= 6 drives.
14673
28840fda
VS
146742011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14675
14676 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14677 Fix declaration.
14678
8a5a3a5b
VS
146792011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14680
14681 Fix several memory leaks.
14682
14683 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14684 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14685 (grub_cpio_dir): Likewise.
14686 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14687 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14688 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14689 (grub_romfs_label): Likewise.
14690 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14691 (squash_unmount): New function.
14692 (grub_squash_dir): Fix memory leak.
14693 (grub_squash_open): Likewise.
14694 (grub_squash_read): Likewise.
14695 (grub_squash_mtime): Likewise.
14696 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14697 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14698 * util/grub-fstest.c (fstest): Likewise.
14699
57b01250
VS
147002011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14701
14702 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14703 avoid accessing beyond the array.
14704
19e81ba7
VS
147052011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14706
14707 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14708
52b656c0
VS
147092011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14710
14711 Several AFFS fixes.
14712
14713 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14714 (GRUB_AFFS_FLAG_FFS): Removed.
14715 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14716 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14717 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14718 (grub_fshelp_node): Make block 32-bit.
14719 Add block_cache and last_block_cache.
14720 (grub_affs_read_block): Fill and use block cache.
14721 (grub_affs_read_file): Removed.
14722 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14723 boot block.
14724 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14725 safety.
14726 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14727 space.
14728 (grub_affs_close): Free block cache.
14729 (grub_affs_read): Use grub_fshelp_read_file directly.
14730
438a746a
VS
147312011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14734 with no error set.
14735
49a45021
VS
147362011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14737
14738 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14739 used variable.
14740 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14741 Likewise.
14742
3ae17eb8
VS
147432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14746
14747 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14748 byteswap when needed.
14749
27610c38
VS
147502011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14751
14752 Fix FreeBSD compilation.
14753
14754 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14755 to avoid circular dependency.
14756 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14757 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14758 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14759
4a19b601
VS
147602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14761
14762 Fix ZFS crypto error types.
14763
14764 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14765 (grub_gcm_decrypt): Likewise.
14766 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14767 from PBKDF2.
14768
958ee221
VS
147692011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 Illumos support.
14772
14773 * Makefile.util.def (10_illumos): New script.
14774 * configure.ac: Set COND_HOST_ILLUMOS.
14775 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14776 Support Illumos calls.
14777 (find_partition_start) [__sun__]: Likewise.
14778 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14779 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14780 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14781 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14782 device.
14783 * util/grub-probe.c (probe) [__sun__]: Do character check.
14784 * util/grub.d/10_illumos.in: New file.
14785
cac14fb6
VS
147862011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14787
14788 Support escaped commas in hostdisk.
14789
14790 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14791 (find_grub_drive): Use unescape_cmp.
14792 (make_device_name): Escape commas.
14793
78e08dc3
VS
147942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14797
9f421dd1
VS
147982011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14799
14800 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14801 variable.
14802
ed64e9e2
VS
148032011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14804
14805 Support trampoline jumps on powerpc.
14806
14807 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14808 __ia64__ path.
14809 (grub_dl_load_segments): Set mod->sz.
14810 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14811 segments.
14812 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14813 (jump): Likewise.
14814 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14815 function.
14816 (trampoline): New struct.
14817 (trampoline_template): New const.
14818 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14819 * include/grub/dl.h (grub_dl): Add sz element.
14820 [__powerpc__]: Follow __ia64__.
14821 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14822 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14823 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14824 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14825
3084ede4
VS
148262011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 ZFS crypto support.
14829
14830 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14831 * grub-core/Makefile.core.def (zfscrypt): New module.
14832 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14833 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14834 it. All users updated.
14835 (grub_zfs_decrypt): New var.
14836 (grub_zfs_load_key): Likewise.
14837 (zio_checksum_functions): Add SHA256+MAC.
14838 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14839 (zio_read): Handle encrypted blocks.
14840 (zap_verify): Remove incorrect check.
14841 (fzap_iterate): Handle non-standard fzap.
14842 (zap_iterate): Likewise.
14843 (zap_iterate_u64): New function.
14844 (dnode_get_fullpath): Load keys.
14845 * grub-core/fs/zfs/zfscrypt.c: New file.
14846 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14847 (grub_crypto_ecb_encrypt): Make input const.
14848 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14849 (grub_crypto_ecb_encrypt): Make input const.
14850 (GRUB_CIPHER_AES): New macro.
14851 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14852 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14853 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14854 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14855 prefix. All users updated.
14856 (grub_zfs_add_key): New proto.
14857 (grub_zfs_decrypt): Likewise.
14858 (grub_zfs_load_key): Likewise.
14859 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14860 * util/grub-fstest.c (options): Add -K option.
14861 (argp_parser): Likewise.
14862
b632b404
VS
148632011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14864
14865 Support zle compression on ZFS.
14866
14867 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14868 (decomp_table): Add zle.
14869 * include/grub/zfs/zio.h (zio_compress): Add zle.
14870
c7ba4f69
VS
148712011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14872
14873 Support BtrFS embedding.
14874
14875 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14876 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14877 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14878 * util/grub-setup.c (setup): Use fs embedding if available.
14879 Add additional sanity check.
14880
455377d9
VS
148812011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 * util/grub-install.in: Fix condition for config_opt.
14884
c2fd16ca
VS
148852011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14886
14887 Support third redundancy strip on raidz3.
14888
14889 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14890 Return error on singularity. All users updated.
14891 (read_device): Don't stop on 3rd failure on raidz3.
14892
8622923b
VS
148932011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 Support case-insensitive ZFS subvolumes.
14896
14897 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14898 All users updated.
14899 (zap_hash): Likewise.
14900 (name_cmp): New function.
14901 (zap_leaf_array_equal): New parameter case_insensitive.
14902 All users updated.
14903 (zap_leaf_lookup): Likewise.
14904 (fzap_lookup): Likewise.
14905 (zap_lookup): Likewise.
14906 (dnode_get_path): New parameter case_insensitive. Retrieve case
14907 sensitiviness of a volume. All users updated.
14908 (dnode_get_fullpath): New parameter case_insensitive.
14909 All users updated.
14910 (grub_zfs_dir): Set info.case_insensitiveness.
14911
95f2e860
VS
149122011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 Support second redundancy strip on raidz(2,3).
14915
14916 * grub-core/fs/zfs/zfs.c (powx): New array.
14917 (powx_inv): Likewise.
14918 (poly): New const.
14919 (xor_out): New function.
14920 (gf_mul): Likewise.
14921 (recovery): Likewise.
14922 (read_device): Use second redundancy strip.
14923
11ee4389
VS
149242011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 Use a power of generator representation of GF(256) multiplication group
14927 to save space time and complexity.
14928
14929 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14930 (raid6_table2): Likewise.
14931 (powx): New array.
14932 (powx_inv): Likewise.
14933 (poly): New const.
14934 (grub_raid_block_mul): Replace with ...
14935 (grub_raid_block_mulx): ...this.
14936 (grub_raid6_init_table): Rewritten.
14937 (grub_raid6_recover): Use power of generator representation.
14938
09e2763f
VS
149392011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14940
14941 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14942 for the right device.
14943
8bec9a28
VS
149442011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14947 expected by grub-mkimage and it's more clear since there is no implicit
14948 padding.
14949
dbd3a32e
VS
149502011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14951
14952 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14953 disk.
14954 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14955
182c872a
PMH
149562011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14957
14958 * util/grub-mkrescue.in: Fix handling xorriso option.
14959
1e51cabd
VS
149602011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14961
14962 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14963 NULL.
14964
9cc3581d 149652011-11-03 crocket <crockabiscuit@gmail.com>
14966
14967 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14968
158dc1ea
VS
149692011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 XZ CRC64 and SHA256 support.
14972
14973 * Makefile.util.def (libgrubmods): Add crc64.c.
14974 * grub-core/Makefile.core.def (crc64): New module.
14975 * grub-core/lib/crc64.c: New file.
14976 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14977 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14978 Fix the type.
14979 (MAX_HASH_SIZE): New define.
14980 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14981 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14982 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14983 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14984 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14985 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14986 Handle non-crc32 hashes.
14987 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14988 (dec_stream_header): Handle non-crc32 hashes.
14989 (dec_stream_footer): Likewise.
14990 (dec_block_header): Likewise.
14991 (dec_main): Likewise.
14992 (xz_dec_init): Likewise.
14993 (xz_dec_reset): Likewise.
14994 (xz_dec_end): Likewise.
14995 * util/import_gcry.py: Add CRC64 line.
14996
9d9b3d2f
VS
149972011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14998
14999 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
15000 as well.
15001
7d0ac931
VS
150022011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 Make reiserfs label retrieval similar to other *_label functions.
15005
15006 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
15007 (REISERFS_MAX_LABEL_LENGTH): Removed.
15008 (REISERFS_LABEL_OFFSET): Likewise.
15009 (grub_reiserfs_label): Rewritten.
15010
150112011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15012
15013 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
15014 field.
15015
cf5ba824
VS
150162011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
15019
17744004
VS
150202011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15021
15022 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
15023 drive failure on both raidz and raidz2.
15024
aca5aefc
VS
150252011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15026
15027 Fix RAIDZ(2) for >= 5 devices.
15028
15029 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15030 asize argument. All users updated.
15031
ce8ca56e
VS
150322011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15033
15034 Fix RAIDZ(2).
15035
15036 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15037 (fill_vdev_info_real): Set ashift.
15038 (read_device): Rewrite RAIDZ part based on reverse engineering.
15039
7c01e783
VS
150402011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15041
15042 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15043 don't report potentially unavialiable fields in debug output.
15044 (find_path): Fix double-free and memory leak.
15045
ce109e84
VS
150462011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 Read label on UFS1.
15049
15050 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15051 (grub_ufs_fs): Always set .label.
15052
87661123
VS
150532011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 Use shifts in UFS.
15056
15057 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15058 (grub_ufs_data): New field log2_blksz.
15059 (grub_ufs_read_file): Use shifts.
15060 (grub_ufs_mount): Check block size and logarithm it.
15061
46bc1dc2
VS
150622011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15063
15064 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15065 long symlinks.
15066
19ee2987
VS
150672011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 Handle symlinks and long names on tar and cpio.
15070
15071 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15072 (ATTR_FILE): Likewise.
15073 (ATTR_DIR): Likewise.
15074 (ATTR_LNK): Likewise.
15075 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15076 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15077 L and K entries.
15078 (grub_cpio_mount): Zero-fill data.
15079 (handle_symlink): New function.
46bc1dc2
VS
15080 (grub_cpio_dir): Handle symlinks.
15081 (grub_cpio_open): Likewise.
15082 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 15083
c83a08d8
VS
150842011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15085
15086 Fix iso9660 filename limitations and fix memory leaks.
15087
15088 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15089 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15090
45cdd3ea
VS
150912011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 Fix JFS file name length limitations.
15094
15095 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15096 (grub_jfs_diropen): Fix maximum filename length.
15097 (grub_jfs_getent): Fix filename length.
15098 (grub_jfs_lookup_symlink): Fix size checks.
15099
94ef05c2
VS
151002011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15101
15102 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15103 string.
15104
785ab8c7
VS
151052011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15106
eb0b6b45
VS
15107 Leverage BFS implementation to read AFS.
15108
15109 * Makefile.util.def (libgrubmods): Add afs.c.
15110 * grub-core/Makefile.core.def (afs): New module
15111 * grub-core/fs/afs.c: New file.
15112 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15113
151142011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 15117
c4a1628f
VS
151182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 * grub-core/fs/bfs.c: Run indent.
15121
5825b379
VS
151222011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15123
15124 BFS implementation based on the specification.
15125
15126 * grub-core/fs/bfs.c: New file.
15127 * Makefile.util.def (libgrubmods): Add bfs.c.
15128 * grub-core/Makefile.core.def (bfs): New module.
15129
42b2a706
VS
151302011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 * util/grub-fstest.c (cmd_cp): Clarify error message.
15133 (cmd_cmp): Likewise.
15134
61b99bfc
YB
151352011-10-30 Yves Blusseau <blusseau@zetam.org>
15136
15137 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15138 and befs_be.
15139
faba3d16
VS
151402011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15141
15142 Remove afs and befs because of copyright problem.
15143
15144 * grub-core/fs/afs.c: Removed.
15145 * grub-core/fs/afs_be.c: Removed.
15146 * grub-core/fs/befs.c: Removed.
15147 * grub-core/fs/befs_be.c: Removed.
15148 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15149 * grub-core/Makefile.core.def (afs): Removed.
15150 (afs_be): Likewise.
15151 (befs): Likewise.
15152 (befs_be): Likewise.
15153
c39224b0
VS
151542011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15155
15156 Prefer rockridge over Joliet.
15157
15158 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
15159 to ...
15160 (set_rockridge): ... here.
15161 (grub_iso9660_mount): Check rockridge on the primary label when
15162 discovering. Ignore Joliet if Rockridge is present.
15163
e551115a
VS
151642011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 Use shifts in nilfs2.
15167
15168 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
15169 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15170 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15171 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15172 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15173 (grub_nilfs2_entries_per_block): Replaced with ...
15174 (grub_nilfs2_log_entries_per_block_log): ... this.
15175 (grub_nilfs2_blocks_per_group): Replaced with ...
15176 (grub_nilfs2_blocks_per_group_log): ... this.
15177 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15178 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15179 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15180 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15181 (grub_nilfs2_palloc_entry_offset): Replaced ...
15182 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15183 (grub_nilfs2_dat_translate): Use shifts.
15184 (grub_nilfs2_read_inode): Likewise.
15185 (GRUB_MOD_INIT): Ensure that logs are correct.
15186
564dd58c
VS
151872011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15188
15189 Use shifts in minix filesystem.
15190
15191 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
15192 (GRUB_MINIX_ZONE2SECT): Likewise.
15193 (grub_minix_data): Replace block_size with log_block_size.
15194 (grub_minix_read_file): Use shifts.
15195 (grub_minix_mount): Check block size and take a logarithm.
15196
ed9ba06d
VS
151972011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15198
15199 Use shifts in squash4.
15200
15201 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15202 (squash_mount): Check block size and take logarithm.
15203 (direct_read): Use shifts.
15204
ad03fe76
VS
152052011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15206
15207 Correct befs block counting logic.
15208
15209 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15210 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15211 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15212 (grub_afs_read_inode): Use block_shift.
15213 (RANGE_SHIFT): New definition.
15214 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15215 unexpected conditions, use shifts and appropriate types.
15216 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15217
6563f63d
VS
152182011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15219
15220 * grub-core/disk/raid.c (scan_devices): Check partition.
15221 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15222
5b1ae25f
VS
152232011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 Support BFS (befs) UUID.
15226
15227 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15228 (grub_afs_small_data_element_header): New struct.
15229 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15230 (grub_afs_read_attribute) [MODE_BFS]: New function.
15231 (grub_afs_iterate_dir): Allocate for complete inode.
15232 (grub_afs_mount): Likewise.
15233 (grub_afs_uuid) [MODE_BFS]: New function.
15234 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15235
f8d82408
VS
152362011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15237
15238 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15239 (zfs_unmount): Fix memory leak.
15240
5773fb64
VS
152412011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 Support NTFS reparse points.
15244
15245 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15246 (symlink_descriptor): New struct.
15247 (grub_ntfs_read_symlink): New function.
15248 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15249 (grub_ntfs_open): Likewise.
15250
91c3fdde
VS
152512011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15252
15253 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15254
3be82e10
VS
152552011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15256
15257 fstest xnu_uuid subcommand.
15258
15259 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15260 grub-core/commands/xnu_uuid.c.
15261 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15262 (fstest): Handle xnu_uuid.
15263 (options): Document xnu_uuid.
15264 (argp_parser): Parse xnu_uuid.
15265
8e32442e
VS
152662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15269 -l argument. Add newline at the end if printing.
15270 (GRUB_MOD_INIT): Document -l.
15271
52a05075
VS
152722011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15275
1869edb5
VS
152762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 ZFS multi-device and version 33 support.
15279
15280 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15281 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15282 (grub_zfs_data): Add multidev-ice-related fields.
15283 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15284 (dva_get_offset): Make dva const.
15285 (zfs_fetch_nvlist): New function.
15286 (fill_vdev_info_real): Likewise.
15287 (fill_vdev_info): Likewise.
15288 (check_pool_label): Likewise.
15289 (scan_disk): Likewise.
15290 (scan_devices): Likewise.
15291 (read_device): Likewise.
15292 (read_dva): Likewise.
15293 (zio_read_gang): Use read_dva.
15294 (zio_read_data): Likewise.
15295 (zap_leaf_lookup): Add missing endian conversion.
15296 (zap_verify): Add missing endian conversion. All users updated.
15297 (fzap_lookup): Likewise.
15298 (fzap_iterate): Likewise.
15299 (dnode_get_path): Handle SA bonus.
15300 (nvlist_find_value): Make input const. All users updated.
15301 (unmount_device): New function.
15302 (zfs_unmount): Use unmount_device.
15303 (zfs_mount): Use scan_disk.
15304 (zfs_mtime): New function.
15305 (grub_zfs_open): Handle system attributes.
15306 (fill_fs_info): Likewise.
15307 (grub_zfs_dir): Likewise.
15308 (grub_zfs_fs): Add mtime.
15309 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15310 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15311 (SA_MTIME_OFFSET): Likewise.
15312 (SA_SYMLINK_OFFSET): Likewise.
15313 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15314 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15315 (fstest): Support zfsinfo.
15316 (argp_parser): Likewise.
15317
186b4028
VS
153182011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15319
15320 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15321 error.
15322
153232011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
15324
15325 ZFS fixes.
15326
15327 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15328 sharing the same block. Iterate over correct number of indices.
15329 (dnode_get_path): Handle symlinks correctly.
15330
c0584900
VS
153312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15334
67e2bd71
VS
153352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15336
15337 Read label on HFS+.
15338
15339 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15340 (grub_hfsplus_btree_search): Fix types.
15341 (grub_hfsplus_label): Implement.
15342
e9cc6b7b
VS
153432011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15346
19832ddb
VS
153472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15348
15349 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15350
66b40850
VS
153512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15352
15353 Fix symlink handling on iso9660.
15354
15355 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15356 All users updated.
15357 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15358 (grub_iso9660_read_symlink): Moved most of code ...
15359 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15360
db821363
VS
153612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15362
15363 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15364 Use union to avoid breaking strict-aliasing rules.
15365
e1211949
VS
153662011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 Support multi-extent iso files.
15369
15370 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15371 Add node.
15372 (grub_fshelp_node): Revamp. All users updated.
15373 (FLAG_*): New enum.
15374 (read_node): New function.
15375 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15376 All users updated.
15377 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15378 (get_node_size): New function.
15379 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15380 entries.
15381 Fix memory leak on . and ..
15382 (grub_iso9660_read): Use read_node.
15383 (grub_iso9660_close): Free node.
15384
d4888031
VS
153852011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15386
15387 Fix tar 4G limit and handle paths containing dot.
15388
15389 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15390 (canonicalize): New function.
15391 (grub_cpio_find_file): Use canonicalize. Store offs in
15392 grub_disk_addr_t.
15393 (grub_cpio_dir): Use grub_disk_addr_t.
15394 (grub_cpio_open): Likewise.
15395
9f12e664
VS
153962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15397
15398 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15399
15400 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15401 unused flags.
15402 (grub_squash_inode): Add long_file and block_size.
15403 (grub_squash_cache_inode): New struct.
15404 (grub_squash_dirent): Make types into enum.
15405 (SQUASH_TYPE_LONG_REGULAR): New type.
15406 (grub_squash_frag_desc): Add field size.
15407 (SQUASH_BLOCK_FLAGS): New enum.
15408 (grub_squash_data): Use grub_squash_cache_inode.
15409 (grub_fshelp_node): Make ino_chunk 64-bit.
15410 (read_chunk): Minor argument change. All users updated.
15411 (squash_mount): Use correct le_to_cpu.
15412 (grub_squash_open): Handle LONG_REGULAR.
15413 (direct_read): New function.
15414 (grub_squash_read_data): Handle blocks correctly.
15415
9f326fba
VS
154162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15419
f4d9b64b
VS
154202011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15423
5bbd28b8
VS
154242011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15425
15426 Fix 2G limit on ZFS.
15427
15428 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15429 types.
15430 (uberblock_verify): Likewise.
15431 (dmu_read): Likewise.
15432 (grub_zfs_read): Likewise. Remove invalid cast.
15433
68c72069
VS
154342011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15437 (grub_jfs_blkno): Fix incorrect shift.
15438 (grub_jfs_read_file): Use more appropriate types.
15439
6e536dc8
VS
154402011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15441
15442 Support triple indirect on minix2 and minix3.
15443
15444 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15445 Declare triple_indir_zone.
15446 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15447 indirect.
15448
e0864e7a
VS
154492011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15450
15451 Minix FS fixes.
15452
15453 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15454 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15455 Rename ctime to mtime. All users updated.
15456 (grub_minix_get_file_block): Fix types and double indirect computations.
15457
89481cab
VS
154582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15459
15460 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15461 if no label is found.
15462 (grub_fat_iterate_dir): Fix file size type.
15463 (grub_fat_iterate_dir): Likewise.
15464
f646e143
VS
154652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15466
15467 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15468 save some space.
15469 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15470 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15471
534d769e
VS
154722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15473
15474 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15475
e084ba18
VS
154762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 * util/import_gcry.py: Accept space between # and include.
15479
3471ecdf
VS
154802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15483
124df5f6
VS
154842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15487
15488 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15489 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15490 yylex_strncpy.
15491 * grub-core/script/yylex.l: Add fine-grained #pragma.
15492
4defb8d5
VS
154932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15496 New inline function.
15497 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15498 Likewise.
15499 (memset) [GRUB_UTIL]: Likewise.
15500 (memcmp) [GRUB_UTIL]: Likewise.
15501
4e94ae65
VS
155022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15505 inline function rather than a define.
15506
18c575e5
VS
155072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15508
15509 * util/grub-setup.c: Add missing include.
15510
f8bc22a8
VS
155112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 * util/ieee1275/grub-ofpathname.c: Add missing include.
15514
3ce69fc9
VS
155152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15516
15517 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15518 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15519 Likewise.
15520
d1e293bb
VS
155212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15524 grub_memcmp usage.
15525
7a5c54a4
VS
155262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15527
15528 * util/grub-install.in: Add datarootdir as per automake manual
15529 suggestion.
15530 * util/grub-mknetdir.in: Likewise.
15531
155322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15533
15534 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15535 suggestion.
15536 * util/grub.d/10_kfreebsd.in: Likewise.
15537 * util/grub.d/10_linux.in: Likewise.
15538 * util/grub.d/10_netbsd.in: Likewise.
15539 * util/grub.d/10_windows.in: Likewise.
15540 * util/grub.d/20_linux_xen.in: Likewise.
15541
766f7d08
VS
155422011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 Remove redundant grub_kernel_image_size.
15545
15546 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15547 _edata and _start.
15548 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15549 the small code. It moves it only by few bytes but simplifies the code.
15550 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15551 _start.
15552 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15553 (grub_kernel_image_size): Removed.
15554 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15555 (grub_kernel_image_size): Removed.
15556 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15557 compiled with Apple toolchain.
15558 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15559 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15560 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15561 (grub_total_module_size): Likewise.
15562 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15563 Removed.
15564 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15565 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15566 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15567 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15568 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15569 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15570 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15571 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15572 Removed.
15573 (grub_total_module_size): Removed.
15574 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15575 (image_targets): Likewise.
15576 Set .compressed_size to no field on sparc.
15577 (generate_image): Remove kernel_image_size handling.
15578
fcf1d672
SJ
155792011-10-19 Szymon Janc <szymon@janc.net.pl>
15580
15581 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15582 NULL pointer dereference.
15583
de9c615e
VS
155842011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15587 done with a dedicated section.
15588
15589 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15590 Ensure the correct position of boot_path.
15591 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15592 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15593 other fields.
15594 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15595 * include/grub/boot.h: Removed. All references removed.
15596 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15597 Removed.
15598 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15599
e55599dc
VS
156002011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15603 name.
15604
36dd20ad
VS
156052011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15608
f8f72eb8
VS
156092011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15612 Don't add the bogus brackets.
15613
a374751b
VS
156142011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15615
15616 ExFAT support.
15617
15618 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15619 * grub-core/Makefile.core.def (exfat): New module.
15620 * grub-core/fs/exfat.c: New file.
15621 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15622 (GRUB_FAT_ATTR_*): Make into an enum.
15623 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15624 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15625 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15626 (GRUB_FAT_MAXFILE): Removed.
15627 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15628 (grub_current_fat_bpb_t): New type.
15629 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15630 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15631 (grub_fat_dir_node_t): New type.
15632 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15633 (fat_log2) [MODE_EXFAT]: Removed.
15634 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15635 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15636 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15637 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15638 (grub_fat_label) [MODE_EXFAT]: New function.
15639 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15640 reserved_first_sector to 0.
15641
544c2487
VS
156422011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15643
15644 Move grub_reboot out of the kernel.
15645
15646 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15647 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15648 * grub-core/lib/efi/reboot.c: ... here.
15649 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15650 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15651 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15652 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15653 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15654 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15655 * grub-core/lib/ieee1275/reboot.c: ... here.
15656 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15657 * grub-core/lib/mips/arc/reboot.c: ... here.
15658 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15659 * grub-core/lib/mips/loongson/reboot.c: ...here.
15660 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15661 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15662 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15663 * include/grub/i386/reboot.h: New file.
15664 * include/grub/mips/loongson/ec.h: Fix includes.
15665 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15666 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15667 * grub-core/lib/i386/reboot.c: New file.
15668
a97501d2
VS
156692011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15670
15671 Make grub_prefix into module to fix the arbitrary limit and save
15672 some space.
15673
15674 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15675 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15676 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15677 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15678 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15679 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15680 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15681 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15682 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15683 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15684 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15685 * include/grub/ia64/efi/kernel.h: Removed.
15686 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15687 (grub_prefix): Removed.
15688 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15689 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15690 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15691 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15692 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15693 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15694 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15695 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15696 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15697 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15698 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15699 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15700 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15701 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15702 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15703 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15704 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15705 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15706 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15707 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15708 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15709 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15710 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15711 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15712 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15713 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15714 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15715 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15716 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15717 from module.
15718 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15719 prefix_end.
15720 (image_targets): Likewise.
15721 (generate_image): Put prefix as a module.
15722
39705fad
VS
157232011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 Replace grub_module_iterate with FOR_MODULES.
15726
15727 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15728 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15729 (grub_efi_modules_addr): ...this.
15730 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15731 (grub_efi_init): Set grub_modbase.
15732 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15733 (grub_modbase): New variable.
15734 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15735 (grub_modbase): New variable.
15736 (grub_machine_init): Set grub_modbase.
15737 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15738 (grub_modbase): New variable.
15739 (grub_machine_init): Set grub_modbase.
15740 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15741 (grub_modbase): New variable.
15742 (grub_machine_init): Set grub_modbase.
15743 * grub-core/kern/main.c (grub_module_iterate): Remove.
15744 (grub_modules_get_end): Use grub_modbase.
15745 (grub_load_modules): Use FOR_MODULES.
15746 (grub_load_config): Likewise.
15747 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15748 (grub_modbase): New variable.
15749 (grub_machine_init): Set grub_modbase.
15750 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15751 (grub_modbase): New variable.
15752 (grub_machine_init): Set grub_modbase.
15753 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15754 Removed.
15755 (grub_modbase): New variable.
15756 (grub_machine_init): Set grub_modbase.
15757 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15758 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15759 (grub_module_iterate): Likewise.
15760 (grub_modbase): New variable declaration.
15761 (FOR_MODULES): New macro.
15762
2afb7f6c
VS
157632011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15766 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15767
366e34fa
VS
157682011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 Fix few obvious type discrepancies.
15771
15772 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15773 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15774 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15775 variable.
15776 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15777 and connected types.
15778 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15779 offset.
15780 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15781 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15782 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15783 and connected types.
15784
177b960e
VS
157852011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 Fix python 3.x incompatibilities.
15788
15789 * gentpl.py: Put brackets around print strings.
15790 * util/import_gcry.py: Open explicitly as utf-8.
15791 Use in instead of has_key.
15792
3b619ae1
VS
157932011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15794
15795 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15796 (GRUB_XFS_INO_AGBITS): Make into inline function.
15797 (GRUB_XFS_INO_INOINAG): Likewise.
15798 (GRUB_XFS_INO_AG): Likewise.
15799 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15800 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15801 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15802 (GRUB_XFS_EXTENT_SIZE): Likewise.
15803 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15804 (GRUB_XFS_NEXT_DIRENT): Likewise.
15805 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15806 (grub_xfs_read_file): Fix offset type.
15807
8bcebcb8
RM
158082011-10-15 Robert Millan <rmh@gnu.org>
15809
15810 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15811
0017e5ef
RM
158122011-10-15 Robert Millan <rmh@gnu.org>
15813
15814 Fix build problem on FreeBSD and GNU/kFreeBSD.
15815
15816 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15817
d8919552
VS
158182011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15819
15820 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15821
15822 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15823 types.
15824 (grub_hfsplus_btree_recoffset): Likewise.
15825 (grub_hfsplus_btree_recptr): Likewise.
15826 (grub_hfsplus_find_block): Likewise.
15827 (grub_hfsplus_btree_search): Likewise.
15828 (grub_hfsplus_read_block): Likewise.
15829 (grub_hfsplus_read_file): Likewise.
15830 (grub_hfsplus_mount): Likewise.
15831 (grub_hfsplus_btree_iterate_node): Likewise.
15832 (grub_hfsplus_btree_search): Likewise.
15833 (grub_hfsplus_iterate_dir): Likewise.
15834 (grub_hfsplus_read): A small code simplification.
15835
c81296b6
VS
158362011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15837
15838 * grub-core/kern/emu/hostdisk.c
15839 (convert_system_partition_to_system_disk): Don't assume that children
15840 of mapper nodes are mapper nodes.
15841
0eb8ffb1
VS
158422011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15843
15844 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15845 * include/grub/misc.h (grub_isxdigit): New function.
15846 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15847 switched to grub_isxdigit.
15848 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15849 number starting with a letter.
15850
a98f4a08
RM
158512011-10-09 Robert Millan <rmh@gnu.org>
15852
15853 LVM support for FreeBSD and GNU/kFreeBSD.
15854
15855 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15856 GNU/kFreeBSD.
15857 (LVM_DEV_MAPPER_STRING): Move from here ...
15858 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15859 * util/getroot.c: Include `<grub/util/lvm.h>'.
15860 (grub_util_get_dev_abstraction): Enable
15861 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15862 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15863 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15864 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15865 support it.
15866 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15867 GNU/kFreeBSD.
15868 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15869 when LVM abstraction is required for ${GRUB_DEVICE}.
15870
050e8e90
SJ
158712011-10-06 Szymon Janc <szymon@janc.net.pl>
15872
15873 Add support for LZO compression in GRUB:
15874 - import of minilzo library,
15875 - LZO decompression for btrfs,
15876 - lzop files decompression.
15877
15878 * grub-core/io/lzopio.c: New file.
15879 * grub-core/lib/adler32.c: Likewise.
15880 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15881 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15882 * grub-core/lib/minilzo/minilzo.c: Likewise.
15883 * grub-core/lib/minilzo/minilzo.h: Likewise.
15884 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15885 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15886 grub-core/lib/minilzo/minilzo.c to common.
15887 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15888 cflags in cppflags.
15889 * grub-core/Makefile.core.def (btrfs): Likewise.
15890 * grub-core/Makefile.core.def (lzopio): New module.
15891 (adler32): Likewise.
15892 * grub-core/fs/btrfs.c: Include minilzo.h.
15893 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15894 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15895 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15896 (grub_btrfs_lzo_decompress): New function.
15897 (grub_btrfs_extent_read): Add support for LZO compression type.
15898 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15899 (GRUB_USHRT_MAX): Likewise.
15900 (GRUB_UINT_MAX): Likewise.
15901 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15902 (UINT_MAX): Likewise.
15903 (CHAR_BIT): Likewise.
15904 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15905 grub-core/lib/posix_wrap/limits.h
15906 (UCHAR_MAX): Likewise.
15907 * include/grub/file.h (grub_file_filter_id): New compression filter
15908 GRUB_FILE_FILTER_LZOPIO.
15909 * include/grub/file.h (grub_file_filter_id): Set
15910 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15911 * include/grub/types.h (grub_get_unaligned16): New function.
15912 (grub_get_unaligned32): Likewise.
15913 (grub_get_unaligned64): Likewise.
15914 * util/import_gcry.py (cryptolist): Add adler32.
15915
0eb8ffb1
VS
159162011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15919 in perspective decreases the complexity of build system and fixes
15920 compilation right now.
15921
ce79cc99 159222011-10-01 Ales Nesrsta <starous@volny.cz>
15923
15924 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15925 (fixed problem related to using UHCI with coreboot).
15926
8667a314
BC
159272011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15928
15929 * gentpl.py: Use Autogen macros so that the output template file
15930 (Makefile.tpl) size is reduced.
15931
fc5efcc0
MK
159322011-09-29 Mads Kiilerich <mads@kiilerich.com>
15933
15934 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15935 extra_dist.
15936
d1ab689d
ML
159372011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15938
15939 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15940 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15941
c05de032
ML
159422011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15943
15944 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15945 _fullpath.
15946
cca7ccd8
ML
159472011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15948
15949 Remove extra declaration of sleep for mingw32.
15950
15951 * util/misc.c (sleep) [__MINGW32__]: Removed.
15952 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15953
e0b0dc83
GS
159542011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15955
15956 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15957 type and packname.
15958 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15959 Resurrected.
15960 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15961 (grub_netbsd_btinfo_bootwedge): New struct.
15962 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15963 New function.
15964 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15965
91a1a164
TH
159662011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15967
15968 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15969 loader.
15970
2ded951e
AB
159712011-09-28 Andreas Born <futur.andy@googlemail.com>
15972
15973 Fix incorrect identifiers in bash-completion.
15974
15975 * util/bash-completion.d/grub-completion.bash.in
15976 (_grub_mkpasswd-pbkdf2): Rename to ...
15977 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15978 (_grub_script-check): Rename to ...
15979 (_grub_script_check): ... this. All users updated.
15980
69915030
VS
159812011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15982
15983 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15984 Return 0 if disk isn't biosdisk.
15985
20fd15f9
GS
159862011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15987
15988 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15989 on NetBSD.
15990 * Makefile.util.def (grub-fstest): Likewise.
15991
1a7d7db9
GS
159922011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15993
15994 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15995 Get sector size from disk label.
15996
2221ab6c
CW
159972011-09-05 Colin Watson <cjwatson@ubuntu.com>
15998
15999 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
16000 */README* as well as README*.
16001 Reported by: Axel Beckert.
16002
ca51c4a0
VS
160032011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16004
16005 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
16006 case of less than 256 MiB of RAM.
16007
ab80f326
VS
160082011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16009
16010 * grub-core/commands/wildcard.c (make_regex): Handle @.
16011
4155e697
VS
160122011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16013
16014 * util/grub-install.in: Move cryptodisk logic to appropriate place.
16015
ab178c08
SJ
160162011-08-21 Szymon Janc <szymon@janc.net.pl>
16017
16018 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
16019 AC_LANG_CONFTEST macros.
16020
7dc3c686
SJ
160212011-08-20 Szymon Janc <szymon@janc.net.pl>
16022
16023 Add grub-fstest option to uncompress data for commands.
16024
16025 * util/grub-fstest.c (uncompress): New var.
16026 (options): New option -u.
16027
fe8d4a7b
SJ
160282011-08-20 Szymon Janc <szymon@janc.net.pl>
16029
16030 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16031 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16032
a5219af1
SJ
160332011-08-20 Szymon Janc <szymon@janc.net.pl>
16034
16035 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16036 file type was not recognized correctly (not gzip or corrupted).
16037
f87abff5
VS
160382011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16039
16040 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16041 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16042
d94497ea
VS
160432011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16044
16045 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16046 loongson.
16047 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16048 video_radeon_fuloong2e.
16049 * grub-core/video/radeon_fuloong2e.c: New file.
16050 * include/grub/video.h (grub_video_id_t): Add new ID
16051 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16052
0d1fd011
VS
160532011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16054
16055 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16056 define.
16057 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16058 that PRID matches the detected subplatform and reset the subplatform
16059 if it doesn't.
16060
84beb0ee
VS
160612011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16062
16063 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16064
1227c133
VS
160652011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 Fix PCI iterating on functions >= 4.
16068
16069 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16070 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16071 Removed.
16072 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16073 (grub_pci_read): Fix bitmask.
16074 (grub_pci_read_word): Likewise.
16075 (grub_pci_read_byte): Likewise.
16076 (grub_pci_write): Likewise.
16077 (grub_pci_write_word): Likewise.
16078 (grub_pci_write_byte): Likewise.
16079
9594c689
VS
160802011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16081
16082 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16083 can still be specified in TARGET_CFLAGS)
16084
14a2562c
VS
160852011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16086
16087 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16088
16089 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16090 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16091 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16092 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16093 (FULOONG): Rename to ...
16094 (FULOONG2F): ... this. All users updated.
16095 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16096 (machtype_fuloong2f_str): ... this.
16097 (machtype_fuloong2e_str): New string.
16098 Check for machtype_fuloong2e_str.
16099 * grub-core/loader/mips/linux.c (loongson_machtypes)
16100 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16101 * grub-core/term/serial.c (loongson_defserial)
16102 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16103 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16104 loongson_defserial.
16105 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16106 Rename to ...
16107 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16108 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16109 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16110 to IMAGE_FULOONG2F_FLASH. All users updated.
16111 (image_targets): Rename images.
16112 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16113
b526cbb6
SJ
161142011-08-19 Szymon Janc <szymon@janc.net.pl>
16115
16116 Make enable of disk cache statistics code configurable.
16117
16118 * configure.ac: --enable-cache-stats added.
16119 * config.h.in (DISK_CACHE_STATS): New define.
16120 * grub-core/Makefile.core.def (cacheinfo): New command.
16121 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16122 * grub-core/commands/cacheinfo.c: New file.
16123 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16124 moved to cacheinfo.c.
16125 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16126 debug code.
16127 * include/grub/disk.h: Likewise.
16128
fb739ccd
SJ
161292011-08-19 Szymon Janc <szymon@janc.net.pl>
16130
16131 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16132 * grub-core/Makefile.am: Likewise.
16133
2bba8cfd
VS
161342011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16137 non-zero pull.
16138
43526629
VS
161392011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16140
16141 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16142 All users updated.
16143 (grub_jfs_lookup_symlink): Use correct starting inode.
16144
5c144cc8
VS
161452011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 * util/grub-setup.c (main): Add missing gcry initialisation.
16148
b1257f65
VS
161492011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 Don't accept text modes on EFI when booting Linux.
16152
16153 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16154 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16155
828bc390
ML
161562011-08-15 Mario Limonciello <mario_limonciello@dell.com>
161572011-08-15 Colin Watson <cjwatson@ubuntu.com>
16158
16159 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
16160 use of "/path/.." as in grub-install for EFI as well as handling
16161 symlinks correctly.
16162 Fixes Debian bug #637768.
16163
5f60ccac
CW
161642011-08-15 Colin Watson <cjwatson@ubuntu.com>
16165
16166 * util/grub-probe.c: Remove duplicate #include.
16167
6dc212f9
RM
161682011-08-10 Robert Millan <rmh@gnu.org>
16169
16170 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16171
16172 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16173 function.
16174 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16175 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16176
66816d85
RM
161772011-08-03 Robert Millan <rmh@gnu.org>
16178
16179 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16180 la_array as packed.
16181 Reported by: Zachary Bedell
16182
20168fca
CW
161832011-07-26 Colin Watson <cjwatson@ubuntu.com>
16184
16185 * configure.ac: The Loongson port requires grub-mkfont due to its
16186 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
16187 be built.
16188
303b6246
CW
161892011-07-26 Colin Watson <cjwatson@ubuntu.com>
16190
16191 * util/grub-install.in: Don't source grub-mkconfig_lib until after
16192 processing arguments (otherwise help2man fails when GRUB has not yet
16193 been installed).
16194
6795300e
VS
161952011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16196
41aa28ea
VS
16197 New script grub-mkstandalone.
16198
16199 * Makefile.util.def (grub-mkstandalone): New script.
16200 * docs/man/grub-mkstandalone.h2m: New file.
16201 * util/grub-mkstandalone.in: Likewise.
16202
162032011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 Support ATA disks with 4K sectors.
6795300e
VS
16206
16207 * include/grub/ata.h (grub_ata): New member log_sector_size.
16208 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16209 (grub_ata_identify): Read sector size.
16210 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16211
92227597
VS
162122011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 * util/grub-install.in: Don't use uhci outside of x86.
16215
c77069f5
VS
162162011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16217
16218 * util/grub-mkrescue.in: Add missing quotes.
16219
162202011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
16221
16222 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16223 dereference.
16224
583168a2
VS
162252011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16226
16227 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16228
6be1c01f
VS
162292011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16230
16231 * include/grub/video.h: add missing EXPORT_FUND on
16232 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16233
a1167439
VS
162342011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16235
16236 * include/grub/mips/kernel.h: Fix define conflict.
16237
bf66054f
VS
162382011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16241 all four ways.
16242
8fc4fa45
CW
162432011-07-21 Colin Watson <cjwatson@ubuntu.com>
16244
16245 Preferred resolution detection for VBE.
16246
16247 * grub-core/video/video.c (grub_video_edid_checksum): New function.
16248 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16249 the Flat Panel extension, in line with the X.org VESA driver.
16250 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16251 New function.
16252 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16253 (grub_vbe_bios_read_edid): Likewise.
16254 (grub_vbe_get_preferred_mode): Likewise.
16255 (grub_video_vbe_setup): When the mode is "auto", try to get the
16256 preferred mode from VBE, and use the largest mode that is no larger
16257 than the preferred mode (some BIOSes expose a preferred mode that is
16258 not in their mode list!). If this fails, fall back to 640x480 as a
16259 safe conservative choice.
16260 (grub_video_vbe_get_edid): New function.
16261 (grub_video_vbe_adapter): Add get_edid.
16262 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16263 (struct grub_video_adapter): Add get_edid.
16264 (grub_video_edid_checksum): Add prototype.
16265 (grub_video_edid_preferred_mode): Likewise.
16266 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16267 structure.
16268
16269 * grub-core/commands/videoinfo.c (print_edid): New function.
16270 (grub_cmd_videoinfo): Print EDID if available.
16271
16272 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16273 is more appropriate on a wider range of platforms than 640x480.
16274 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16275 documentation.
16276
ca5572a9
VS
162772011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16278
16279 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16280
e4bcf625
VS
162812011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16282
16283 * po/POTFILES.in: Regenerate.
16284
c4edd548
VS
162852011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16288 incorrect memory usage.
16289
16a2bab0
VS
162902011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * util/grub-install.in: Source grub-mkconfig_lib.
16293
2e418de6
VS
162942011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 Remove getroot.c from core on emu platform.
16297
16298 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16299 kern/emu/raid.c.
16300 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16301 useless.
16302 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16303 * util/getroot.c (get_win32_path): ... here.
16304 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16305 * util/getroot.c (fini_libzfs): ... here.
16306 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16307 * util/getroot.c (grub_get_libzfs_handle): ... here.
16308 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16309 Moved from here...
16310 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16311 * grub-core/kern/emu/misc.c
16312 (grub_make_system_path_relative_to_its_root): Moved from here...
16313 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16314 * grub-core/kern/emu/getroot.c: Moved from here ...
16315 * util/getroot.c: ... here. All users updated.
16316 * grub-core/kern/emu/raid.c: Moved from here ...
16317 * util/raid.c: ... here. All users updated.
16318
def9832a
VS
163192011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16320
16321 * po/POTFILES.in: Regenerate.
16322
cd8fe79a
VS
163232011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 Fix compilation on GNU/Linux.
16326
16327 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16328 Disable geli.
16329 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16330 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16331 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16332
a251b719
VS
163332011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
163342011-07-07 Michael Gorven <michael@gorven.za.net>
163352011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16336
16337 LUKS and GELI support.
16338
16339 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16340 grub-core/disk/luks.c, grub-core/disk/geli.c,
16341 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16342 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16343 grub-core/lib/arg.c.
16344 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16345 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16346 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16347 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16348 (grub-bin2h): Add libgcry.a.
16349 (grub-mkimage): Likewise.
16350 (grub-mkrelpath): Likewise.
16351 (grub-script-check): Likewise.
16352 (grub-editenv): Likewise.
16353 (grub-mkpasswd-pbkdf2): Likewise.
16354 (grub-pe2elf): Likewise.
16355 (grub-fstest): Likewise.
16356 (grub-mkfont): Likewise.
16357 (grub-mkdevicemap): Likewise.
16358 (grub-probe): Likewise.
16359 (grub-ofpath): Likewise.
16360 (grub-mklayout): Likewise.
16361 (example_unit_test): Likewise.
16362 (grub-menulst2cfg): Likewise.
16363 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16364 * grub-core/Makefile.core.def (cryptodisk): New module.
16365 (luks): Likewise.
16366 (geli): Likewise.
16367 * grub-core/disk/AFSplitter.c: New file.
16368 * grub-core/disk/cryptodisk.c: Likewise.
16369 * grub-core/disk/geli.c: Likewise.
16370 * grub-core/disk/luks.c: Likewise.
16371 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16372 grub_util_is_lvm.
16373 (grub_util_get_dm_abstraction): New function.
16374 (grub_util_follow_gpart_up): Likewise.
16375 (grub_util_get_geom_abstraction): Likewise.
16376 (grub_util_get_dev_abstraction): Use new functions.
16377 (grub_util_pull_device): Pull GELI and LUKS.
16378 (grub_util_get_grub_dev): Handle LUKS and GELI.
16379 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16380 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16381 (follow_geom_up): Removed.
16382 (grub_util_fd_seek): New function.
16383 (open_device): Use grub_util_fd_seek.
16384 (nread): Rename to ..
16385 (grub_util_fd_read): ... this. All users updated.
16386 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16387 (grub_crypto_cbc_decrypt): Likewise.
16388 (grub_crypto_hmac_write): Likewise.
16389 (grub_crypto_hmac_buffer): Likewise.
16390 (grub_password_get): Extend to util.
16391 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16392 New member modname.
16393 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16394 * include/grub/cryptodisk.h: New file.
16395 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16396 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16397 LUKS and GELI.
16398 (grub_util_follow_gpart_up): New proto.
16399 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16400 (grub_util_fd_read): Likewise.
16401 (grub_cryptodisk_cheat_mount): Likewise.
16402 (grub_util_cryptodisk_print_uuid): Likewise.
16403 (grub_util_get_fd_sectors): Likewise.
16404 * util/grub-fstest.c (mount_crypt): New var.
16405 (fstest): Mount crypto if requested.
16406 (options): New option -C.
16407 (argp_parser): Parse -C.
16408 (main): Init and fini gcry.
16409 * util/grub-install.in: Support cryptodisk install.
16410 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16411 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16412 cryptodisk.
16413 (prepare_grub_to_access_device): Likewise.
16414 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16415 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16416 (probe_cryptodisk_uuid): New function.
16417 (probe_abstraction): Likewise.
16418 (probe): Use new functions.
16419 * util/import_gcry.py: Create Makefile.utilgcry.def.
16420 Add modname member.
16421
9bfdcbbc
VS
164222011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16423
16424 Lazy device scanning.
16425
16426 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16427 (grub-setup): Remove util/raid.c.
16428 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16429 * grub-core/disk/lvm.c (scan_depth): New variable.
16430 (grub_lvm_iterate): Rescan if necessary.
16431 (find_lv): New function based on grub_lvm_open.
16432 (grub_lvm_open): Use find_lv. Rescan on error.
16433 (is_node_readable): New function.
16434 (is_lv_readable): Likewise.
16435 (grub_lvm_scan_device): Skip already found disks.
16436 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16437 Stop if searched device is found and readable.
16438 * grub-core/disk/raid.c (inscnt): New variable.
16439 (scan_depth): Likewise.
16440 (scan_devices): New function based on grub_raid_register. Abort if
16441 looked for device is found.
16442 (grub_raid_iterate): Rescan if needed.
16443 (find_array): NEw function based on -grub_raid_open.
16444 (grub_raid_open): Use find_array and rescan.
16445 (insert_array): Set became_readable_at.
16446 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16447 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16448 New function.
16449 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16450 (grub_util_pull_device): New function.
16451 (grub_util_get_grub_dev): Call grub_util_pull_device.
16452 * util/raid.c: Moved to ..
16453 * grub-core/kern/emu/raid.c: ... here.
16454 (grub_util_raid_getmembers): New parameter "bootable".
16455 All users updated. Support 1.x.
16456 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16457 All users updated.
16458 * include/grub/disk.h (grub_disk_pull_t): New enum.
16459 (grub_disk_dev): Change iterate prototype.
16460 All users updated.
16461 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16462 New proto.
16463 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16464 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16465 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16466 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16467 All users updated.
16468 * include/grub/util/raid.h: Removed.
16469
1c358e59
VS
164702011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16471
16472 * po/POTFILES.in: Regenerate.
16473
abee94ed
VS
164742011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16475
16476 Unify sparc init with other ieee1275.
16477
16478 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16479 instead of kern/sparc64/ieee1275/init.c.
16480 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16481 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16482 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16483 grub/machine/kernel.h.
16484 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16485 (grub_claim_heap) [__sparc__]: Use sparc version.
16486 (grub_machine_init): Moved args parsing to
16487 (grub_parse_cmdline): ...this.
16488 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16489 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16490 New definition.
16491 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16492
16493 Move BOOTP to separate file.
16494
16495 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16496 * grub-core/net/net.c: Move all BOOTP functions to
16497 * grub-core/net/bootp.c: ... here.
16498
16499 Use frame interface on PXE.
16500
16501 * grub-core/Makefile.core.def (pxecmd): Removed.
16502 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16503 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16504 * grub-core/i386/pc/pxe.c: Moved from here ...
16505 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16506 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16507 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16508
16509 EFI network support.
16510
16511 * grub-core/Makefile.core.def (efinet): New module.
16512 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16513 here...
16514 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16515 All users updated.
16516 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16517 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16518 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16519 * grub-core/net/drivers/efi/efinet.c: New file.
16520 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16521 (grub_efi_net_config): New extern var.
16522
16523 Various cleanups and bugfixes.
16524
16525 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16526 error.
16527 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16528 disk declared as partition.
16529 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16530 leak on failure.
16531 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16532 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16533 (grub_debug_zalloc): Likewise.
16534 (grub_debug_realloc): Likewise.
16535 (grub_debug_memalign): Likewise.
16536 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16537 Check that target is IPv4.
16538 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16539 local-mac-address as fallback.
16540 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16541 memory leak.
16542 * grub-core/net/ip.c (ipchksum): Rename to ...
16543 (grub_net_ip_chksum): ... this. All users updated.
16544 (grub_net_recv_ip_packets): Special handling for DHCP.
16545 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16546
16547 Unify prefix handling
16548
16549 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16550 (grub_machine_get_bootlocation): ... this.
16551 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16552 (grub_machine_get_bootlocation): ... this.
16553 (grub_prefix): New variable.
16554 (prefix): Removed.
16555 (root_dev): New variable.
16556 (dir): Likewise.
16557 (main): Use new variables.
16558 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16559 Revamped into ...
16560 (grub_machine_get_bootlocation): ... this.
16561 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16562 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16563 (grub_machine_get_bootlocation): ... this.
16564 (grub_machine_set_prefix): Removed.
16565 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16566 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16567 Revamped into ...
16568 (grub_machine_get_bootlocation): ... this.
16569 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16570 (grub_set_prefix_and_root): ... this. All users updated.
16571 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16572 Revamped into ...
16573 (grub_machine_get_bootlocation): ... this.
16574 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16575 (grub_machine_get_bootlocation): New proto.
16576 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16577
16578 Less intrusive and more reliable seek on network implementation.
16579
16580 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16581 (grub_file_seek): Don't call grub_file_net_seek.
16582 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16583 (grub_net_fs_read_real): .. this.
16584 (grub_net_seek_real): Use net->offset.
16585 (grub_net_fs_read): Seek if necessary.
16586
16587 Unify IEEE1275 netwotk config with the other platforms.
16588
16589 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16590 New variable.
16591 (grub_machine_get_bootlocation): Support network.
16592 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16593 Support type and device parsing.
16594 (grub_ieee1275_get_device_type): New function.
16595 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16596 into ...
16597 (grub_ieee1275_net_config_real): ... this.
16598 (grub_ofnet_probecards): Removed.
16599 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16600 * include/grub/ieee1275/ofnet.h: Removed.
16601 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16602 extern var.
16603 (grub_ieee1275_get_device_type): New function.
16604
16605 Unify network device closing across platforms and make more robust.
16606
16607 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16608 grub_grubnet_fini.
16609 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16610 already.
16611 * grub-core/net/net.c (grub_net_network_level_interface_register):
16612 Update num_ifaces.
16613 (grub_net_card_unregister): Close all interfaces.
16614 (receive_packets): Don't poll if no iterfaces are registered.
16615 Open if necessary.
16616 (grub_net_fini_hw): New function.
16617 (grub_net_restore_hw): Likewise.
16618 (fini_hnd): New variable.
16619 (GRUB_MOD_INIT): Register preboot hook.
16620 (GRUB_MOD_FINI): Run and unregister preboot hook.
16621
16622 Poll network cards when idle.
16623
16624 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16625 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16626 * grub-core/net/net.c (receive_packets): Save last poll time.
16627 (grub_net_poll_cards_idle_real): New function.
16628 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16629 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16630 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16631
16632 Rename ofnet interfaces.
16633
16634 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16635 (grub_ofnet_findcards): Use ofnet_%s names.
16636
16637 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16638
16639 Cleanup socket opening.
16640
16641 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16642 (grub_net_fs_close): Likewise.
16643 (grub_net_fs_read_real): Use eof member.
16644 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16645 (+grub_net_udp_close): New inline function.
16646
16647 * include/grub/net/tftp.h: Moved to the top of ...
16648 * grub-core/net/tftp.c: ... here.
16649 * include/grub/net/ip.h: Moved mostly to the top of ...
16650 * grub-core/net/ip.c: ... here.
16651 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16652 * grub-core/net/ethernet.c: ... here.
16653
16654 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16655
16656 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16657 FS name.
16658
16659 * include/grub/net/ip.h (ipv4_ini): Removed.
16660 (ipv4_fini): Likewise.
16661
16662 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16663 (grub_net_send_ip_packets): Likewise.
16664
cf1337aa
VS
166652011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16666
16667 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16668 grub_read_cmos prototype.
16669
93c06ff9
VS
166702011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16671
16672 VGA text support in qemu-mips
16673
16674 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16675 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16676 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16677 text.
16678 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16679 * grub-core/kern/vga_init.c: ... this.
16680 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16681 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16682 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16683 Adjust.
16684 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16685 GRUB_MACHINE_PCI_IO_BASE.
16686
748ccabe
VS
166872011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 MIPS qemu flash support.
16690
16691 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16692 magic.
16693 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16694 (grub_machine_init): Probe memory if its size isn't known.
16695 * util/grub-mkimage.c (image_targets): Add flash targets.
16696 (generate_image): Handle flash targets.
16697
d7345994
VS
166982011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16699
16700 MIPS qemu at_keyboard support.
16701
16702 * gentpl.py (videoinkernel): Add qemu-mips.
16703 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16704 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16705 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16706 modules.
16707 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16708 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16709 * grub-core/term/serial.c (grub_serial_register)
16710 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16711
a07a81b3
VS
167122011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16713
16714 CMOS support on sparc.
16715
16716 * gentpl.py (cmos): Add powerpc and sparc.
16717 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16718 powerpc and sparc.
16719 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16720 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16721 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16722 grub_set_datetime_cmos.
16723 * grub-core/lib/ieee1275/cmos.c: New file.
16724 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16725 (find_rtc): Set no_ieee1275_rtc on error.
16726 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16727 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16728 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16729 fail. Move value to argument. All users updated
16730 (grub_cmos_write): Likewise.
16731 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16732 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16733 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16734 grub_get_datetime_cmos and grub_set_datetime_cmos.
16735
77546584
GS
167362011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16737
16738 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16739 sourcing grub-mkconfig_lib.
16740 * util/update-grub_lib.in: Likewise.
16741 * util/grub.d/00_header.in: Likewise.
16742 * util/grub.d/10_hurd.in: Likewise.
16743 * util/grub.d/10_kfreebsd.in: Likewise.
16744 * util/grub.d/10_linux.in: Likewise.
16745 * util/grub.d/10_netbsd.in: Likewise.
16746 * util/grub.d/10_windows.in: Likewise.
16747 * util/grub.d/20_linux_xen.in: Likewise.
16748 * util/grub.d/30_os-prober.in: Likewise.
16749
54894791
CW
167502011-06-28 Colin Watson <cjwatson@ubuntu.com>
16751
16752 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16753 default_bg_color rather than black.
16754 (grub_gfxterm_fullscreen): Likewise.
16755 (grub_gfxterm_background_color_cmd): Save new background color in
16756 default_bg_color.
16757
8d5d8444
VS
167582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16761
5afeb5bd
VS
167622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16763
16764 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16765 mismerge.
16766
ba7df45e
VS
167672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16768
16769 Chainloading on coreboot support.
16770
16771 * grub-core/Makefile.core.def (chain): Add coreboot.
16772 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16773
d0b526b2
VS
167742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16775
16776 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16777 if it happens.
16778
5ff1d945
VS
167792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16780
16781 Implement time command.
16782
16783 * grub-core/Makefile.core.def (time): New module.
16784 * grub-core/commands/time.c: New file.
16785 * grub-core/script/parser.y: Remove "time" keyword.
16786 * grub-core/script/yylex.l: Likewise.
16787
5ebaad7e
VS
167882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16789
16790 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16791
bdea3798
VS
167922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16793
16794 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16795 when handling leftovers.
16796
b28c5655
VS
167972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16800 so that help2man doesn't fail.
16801
b6f945dc
VS
168022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16803
16804 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16805 type in pointers on sparc64.
16806 (get_card_packet): Likewise.
16807
f9b75e8a
CW
168082011-06-27 Colin Watson <cjwatson@ubuntu.com>
16809
16810 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16811 with `*'.
16812 (grub_cmd_videoinfo): Fetch current video mode.
16813
1e3d9b86
VS
168142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16815
16816 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16817 because of underlying system restrictions.
16818
efff4b1c
VS
168192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16820
16821 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16822 necessary.
16823
9fc9ce37
VS
168242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16825
16826 Coreboot video support.
16827
16828 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16829 (vbe): Likewise.
16830 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16831 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16832 here ...
16833 * grub-core/kern/i386/int.S: ... here.
16834 * grub-core/video/i386/pc/vbe.c: Updated includes.
16835 * grub-core/video/i386/pc/vga.c: Likewise.
16836 * include/grub/i386/coreboot/memory.h
16837 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16838 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16839 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16840 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16841 Disable interrupts.
16842 * include/grub/i386/pc/vga.h: Removed. All users updated.
16843
41bec7fe
VS
168442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16845
16846 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16847 definitions for dprintf.
16848 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16849
ca80309d
VS
168502011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16851
16852 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16853 prototype.
16854 (get_card_packet): Likewise.
16855
9e322ce8
YB
168562011-06-26 Yves Blusseau <blusseau@zetam.org>
16857
16858 Display the path of the file when file is not found
16859
16860 * grub-core/fs/fat.c: Display the filename when file is not found.
16861 * grub-core/fs/fshelp.c: Likewise.
16862 * grub-core/fs/hfs.c: Likewise.
16863 * grub-core/fs/jfs.c: Likewise.
16864 * grub-core/fs/minix.c: Likewise.
16865 * grub-core/fs/ufs.c: Likewise.
16866 * grub-core/fs/btrfs.c: Likewise.
16867 * grub-core/commands/i386/pc/play.c: Likewise.
16868
cbf597af
SJ
168692011-06-26 Szymon Janc <szymon@janc.net.pl>
16870
16871 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16872 pointer checks before calling grub_free().
16873 * grub-core/commands/wildcard.c (match_devices): Likewise.
16874 * grub-core/commands/wildcard.c (match_files): Likewise.
16875 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16876 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16877 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16878 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16879 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16880 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16881 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16882 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16883 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16884
6295b32f
P
168852011-06-25 Patrick <p55@mailinator.com>
16886
16887 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16888
77c0840b
VS
168892011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16890
16891 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16892 (grub_pxe_send): Likewise.
16893 (GRUB_MOD_INIT): Fix types.
16894
40ea05de
SJ
168952011-06-24 Szymon Janc <szymon@janc.net.pl>
16896
16897 * grub-core/io/xzio.c: Fix code style issues
16898
90162423
MRA
168992011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
169002011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
16901
16902 Network infrastructure.
16903 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16904
16905 * include/grub/net/arp.h: New file.
90162423
MRA
16906 * include/grub/net/device.h: Likewise.
16907 * include/grub/net/ethernet.h: Likewise.
16908 * include/grub/net/ip.h: Likewise.
16909 * include/grub/net/netbuff.h: Likewise.
16910 * include/grub/net/tftp.h: Likewise.
16911 * include/grub/net/udp.h: Likewise.
16912 * include/grub/ieee1275/ofnet.h: Likewise.
16913 * include/grub/emu/export.h: Likewise.
16914 * include/grub/net.h: Likewise.
16915 * grub-core/net/arp.c: Likewise.
16916 * grub-core/net/ethernet.c: Likewise.
16917 * grub-core/net/ip.c: Likewise.
16918 * grub-core/net/udp.c: Likewise.
16919 * grub-core/net/tftp.c: Likewise.
16920 * grub-core/net/netbuff.c: Likewise.
16921 * grub-core/net/net.c: Likewise.
16922 * grub-core/net/drivers/emu/emunet.c: Likewise.
16923 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16924 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16925 export.h.
16926 * grub-core/Makefile.core.def (net): New module.
16927 (tftp): Likewise.
16928 (ofnet): Likewise.
16929 (emunet): Likewise.
16930 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16931 network protocols.
16932 * grub-core/kern/device.c (grub_net_open) : New variable.
16933 (grub_device_open): Handle network device.
16934 (grub_device_close): Likewise.
16935 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16936 (grub_grubnet_fini): Likewise.
16937 (grub_file_seek): Seek in network device.
16938 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16939 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16940 network root.
16941 (grub_machine_fini): Call grub_grubnet_fini.
16942 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16943 network.
16944 (grub_ieee1275_get_aliasdevname): New function.
16945 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16946 Add unofficial Solaris network info.
16947 (grub_multiboot_make_mbi): Likewise.
16948 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16949 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16950 * include/grub/device.h (grub_fs): Removed.
16951 * include/grub/err.h (grub_err_t): Add network-related values.
16952 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16953 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16954 (grub_ieee1275_get_aliasdevname): New proto.
16955 * include/grub/net.h: Rewritten.
423a1849 16956
031f22a0
VS
169572011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16958
16959 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16960 names.
16961
4388ca72
VS
169622011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16963
16964 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16965 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16966 it truncates the output.
16967 Reported by: Ximin Luo.
16968
98e2f506
VS
169692011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16970
16971 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16972
2a5e94d8
VS
169732011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16974
16975 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16976 partmap before abstraction.
16977
535c1910
AK
169782011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16979
16980 * util/grub-mkconfig_lib.in: Add missing quotes.
16981
bc09e1a2
VS
169822011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16983
16984 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16985 old method if mountinfo would return /dev/root and /dev/root doesn't
16986 exist.
16987
290766fb
VS
169882011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16989
16990 ZFS zlib support
16991
16992 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16993 (decomp_table): Add zlib entries.
16994 (zio_read): USe 8 bits for compression function rather than 3.
16995 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16996
169972011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16998
16999 * grub-core/disk/ahci.c: Add missing license statements.
17000 * grub-core/fs/romfs.c: Likewise.
17001 * grub-core/lib/ia64/setjmp.S: Likewise.
17002 * grub-core/loader/i386/pc/freedos.c: Likewise.
17003 * grub-core/loader/ia64/efi/linux.c: Likewise.
17004 * grub-core/video/colors.c: Likewise.
17005 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
17006
5ab3f48a
VS
170072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17008
17009 AHCI support.
17010
17011 * grub-core/Makefile.core.def (ata_pthru): Removed.
17012 (ahci): New module.
17013 (pata): Likewise.
17014 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
17015 on unload.
17016 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
17017 readwrite.
17018 (grub_hdparm_do_check_powermode_cmd): Likewise.
17019 (grub_hdparm_do_smart_cmd): Likewise.
17020 (grub_hdparm_set_val_cmd): Likewise.
17021 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
17022 * grub-core/disk/ahci.c: New file.
17023 * grub-core/disk/ata.c: Factor out the low-level part into ...
17024 * grub-core/disk/pata.c: ... here.
17025 * grub-core/disk/ata_pthru.c: Contents moved to ...
17026 * grub-core/disk/pata.c: ... here.
17027 * grub-core/disk/scsi.c (grub_scsi_names): New array.
17028 (grub_scsi_iterate): Use grub_scsi_names.
17029 (grub_scsi_open): Likewise.
17030 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17031 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17032 (grub_ata_regs_t): New struct.
17033 (grub_disk_ata_pass_through_parms): Likewise.
17034 (grub_ata_device): Renamed to ...
17035 (grub_ata): ... this.
17036 (grub_ata_dev): New struct.
17037 Removed all low-level inline functions.
17038 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17039 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17040 iterate hooks and open. All users updated.
17041 * util/grub-install.in: Handle AHCI disk module.
17042
c31dc5f5
SJ
170432011-06-23 Szymon Janc <szymon@janc.net.pl>
17044
17045 Add support for DRI and RSTn markers in JPEG files.
17046
17047 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17048 (JPEG_MARKER_RST0): Likewise.
17049 (JPEG_MARKER_RST1): Likewise.
17050 (JPEG_MARKER_RST2): Likewise.
17051 (JPEG_MARKER_RST3): Likewise.
17052 (JPEG_MARKER_RST4): Likewise.
17053 (JPEG_MARKER_RST5): Likewise.
17054 (JPEG_MARKER_RST6): Likewise.
17055 (JPEG_MARKER_RST7): Likewise.
17056 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17057 (grub_jpeg_decode_dri): New function.
17058 (grub_jpeg_decode_sos): Move image data related part into
17059 grub_jpeg_decode_data function.
17060 (grub_jpeg_decode_data): New function.
17061 (grub_jpeg_reset): New function.
17062 (grub_jpeg_decode_jpeg): Handle new markers.
17063
fe12fd5b
VS
170642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17065
17066 * util/ieee1275/ofpath.c (check_sas): Close fd.
17067 (main): Free of_path.
17068 Reported by: David Volgyes <dvolgyes>.
17069
03147f46
VS
170702011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17071
17072 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17073 Reported by: David Volgyes <dvolgyes>.
17074
cad3237f
VS
170752011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17076
17077 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17078 file after stat.
17079 Reported by: David Volgyes <dvolgyes>.
17080
13548d26
VS
170812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17084
17085 Reported by: David Volgyes <dvolgyes>.
17086
e061a1b5
VS
170872011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17088
17089 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17090 Prevent memory leak.
17091
1abe47dc
VS
170922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17093
17094 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17095 (main): Close file.
e061a1b5 17096 Reported by: David Volgyes <dvolgyes>.
1abe47dc 17097
fbc62666
VS
170982011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17101 to continue if allocation is failed.
17102
17103 Reported by: David Volgyes <dvolgyes>.
17104
e98c83e9
DV
171052011-06-23 David Volgyes <dvolgyes>
17106
17107 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17108 dereference.
17109
a199a8cd
VS
171102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17111
17112 Fix spurious warning.
17113
17114 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17115 (acorn_partition_map_find): Use .bin member.
17116
e2d1dba0
VS
171172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17118
17119 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17120 /dev/root as a valid device.
17121
8a5d6919
JM
171222011-06-23 Jim Meyering <meyering@redhat.com>
17123
e2d1dba0
VS
17124 Avoid NULL deref in grub_device_open.
17125
8a5d6919
JM
17126 * grub-core/kern/device.c (grub_device_open): Don't dereference
17127 a NULL pointer upon failed grub_env_get.
17128
f7db6f4a
VS
171292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17130
17131 Support non-512B sectors and agglomerate reads.
17132
17133 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17134 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17135 (disk_io_guid): Removed.
17136 (make_devices): Locate solely by BlockIO.
17137 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17138 (grub_efidisk_read): Use read_blocks.
17139 (grub_efidisk_write): Use write_blocks.
17140 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17141 log_sector_size.
17142 (get_safe_sectors): Handle non-512B sectors.
17143 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17144 sectors.
17145 (grub_biosdisk_write): Handle non-512B sectors.
17146 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17147 (grub_scsi_read): Remove special non-512B block handling (now handled
17148 one level up).
17149 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17150 and do sanity checks.
17151 (grub_disk_adjust_range): Handle non-512B sectors.
17152 (transform_sector): New function.
17153 (grub_disk_read_small): Likewise.
17154 (grub_disk_read): Rewritten.
17155 (grub_disk_write): Handle non-512B sectors.
17156 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17157 log_sector_size.
17158 (open_device): Use log_sector_size.
17159 (grub_util_biosdisk_read): Likewise.
17160 (grub_util_biosdisk_write): Likewise.
17161 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
17162 non-512B sectors.
17163 (pc_partition_map_embed): Likewise.
17164 * include/grub/disk.h (grub_disk): New field log_sector_size.
17165 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
17166 (GRUB_DISK_CACHE_BITS): Increased to 6.
17167 * util/grub-fstest.c (fstest): New command testload.
17168 (argp_parser): Likewise.
17169
881ac815
RM
171702011-06-16 Robert Millan <rmh@gnu.org>
17171
17172 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17173 `ata' driver on kernel of FreeBSD 9.
17174
17175 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17176 (get_ataraid_disk_name): New functions.
17177 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17178 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17179 get_ataraid_disk_name() and get_ada_disk_name().
17180
1e9aef7d
CW
171812011-06-13 Colin Watson <cjwatson@ubuntu.com>
17182
17183 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17184 input format.
17185
351c7c8a
CW
171862011-05-29 Colin Watson <cjwatson@ubuntu.com>
17187
17188 * docs/grub.texi (Obtaining and Building GRUB): Substitute
17189 `ftp.gnu.org' for `alpha.gnu.org'.
17190
6b4e6430
CW
171912011-05-27 Colin Watson <cjwatson@ubuntu.com>
17192
17193 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
17194 partitions under /dev/disk/by-id/.
17195
c64db050
CW
171962011-05-27 Colin Watson <cjwatson@ubuntu.com>
17197
17198 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
17199 after ten consecutive open failures. Scanning all the way up to
17200 10000 is excessive and can cause serious performance problems in
17201 some configurations.
17202 Fixes Ubuntu bug #787461.
17203
245f4aba
VS
172042011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17205
17206 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17207 opening new one.
17208
f767c929
VS
172092011-05-21 Colin Watson <cjwatson@ubuntu.com>
172102011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17211
17212 Don't stat devices unless we have to.
17213
17214 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17215 dir == /dev/mapper.
17216 (grub_guess_root_device): Use already known os_dev if possible.
17217 * grub-core/kern/emu/hostdisk.c
17218 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17219 if device is known to be a dm one.
17220
f35fa3a6
CW
172212011-05-20 Colin Watson <cjwatson@ubuntu.com>
17222
17223 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17224 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17225 Reported by: Pawel Tecza.
17226
9a79fcf2
VS
172272011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17228
17229 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17230 (lsefisystab): Likewise.
17231 (lssal): Likewise.
17232 (lsefimmap): Likewise.
17233 (hdparm): Enable on qemu-mips.
17234 (setjmp): Add ia64 nodist.
17235 (serial): Simplify tags.
17236
63e3eea9
CW
172372011-05-18 Colin Watson <cjwatson@ubuntu.com>
17238
17239 * Makefile.util.def (grub-ofpathname): Install manual page.
17240
09728256
CW
172412011-05-18 Colin Watson <cjwatson@ubuntu.com>
17242
17243 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17244
8b63a142
CW
172452011-05-18 Colin Watson <cjwatson@ubuntu.com>
17246
17247 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
17248
e775d8ed
VS
172492011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17250
17251 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17252 into dprintf.
17253
bf947d36
VS
172542011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17255
17256 Use full 64-bit division.
17257
17258 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17259 (grub_divmod64): ... this.
17260 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17261 version.
17262
b84f26c5
CW
172632011-05-18 Colin Watson <cjwatson@ubuntu.com>
17264
17265 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17266 `source'.
17267
5626056f
CW
172682011-05-18 Colin Watson <cjwatson@ubuntu.com>
17269
17270 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17271 to avoid accidents when debugging with 'sh -x'.
17272 * grub-core/gensyminfo.sh.in: Likewise.
17273 * tests/example_scripted_test.in: Likewise.
17274 * tests/grub_cmd_regexp.in: Likewise.
17275 * tests/grub_script_blanklines.in: Likewise.
17276 * tests/grub_script_dollar.in: Likewise.
17277 * tests/grub_script_expansion.in: Likewise.
17278 * tests/grub_script_final_semicolon.in: Likewise.
17279 * tests/partmap_test.in: Likewise.
17280 * tests/util/grub-shell-tester.in: Likewise.
17281 * tests/util/grub-shell.in: Likewise.
17282
e2965f4a
CW
172832011-05-18 Colin Watson <cjwatson@ubuntu.com>
17284
17285 Move gfxmenu color handling to video, so that gfxterm can use it
17286 too.
17287
17288 * grub-core/gfxmenu/named_colors.c: Move to ...
17289 * grub-core/video/colors.c: ... here. Rename
17290 grub_gui_get_named_color to grub_video_get_named_color.
17291 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17292 * grub-core/video/colors.c (my_isxdigit): ... here.
17293 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17294 Move to ...
17295 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17296 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17297 to ...
17298 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17299
17300 * include/grub/gui.h (grub_gui_color_t): Move to ...
17301 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17302 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17303 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17304 * include/grub/gui.h (grub_gui_map_color): Move to ...
17305 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17306 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17307 to ...
17308 * include/grub/video.h (grub_video_get_named_color): ... here.
17309 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17310 * include/grub/video.h (grub_video_parse_color): ... here.
17311
17312 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17313 video/colors.c.
17314 (gfxmenu): Remove gfxmenu/named_colors.c.
17315 (video) [videomodules]: Add video/colors.c.
17316
17317 Add a background_color command.
17318
17319 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17320 function.
17321 (GRUB_MOD_INIT): Register background_color command.
17322 (GRUB_MOD_FINI): Unregister background_color command.
17323 (redraw_screen_rect): Allow blend/replace of text layer to be
17324 controlled independently from whether there is a background bitmap.
17325 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17326 changing bitmap.
17327
1e4b4390
VS
173282011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17329
26618ff0
VS
17330 Patch BPB in ntldr and chainloader --bpb.
17331
1e4b4390
VS
17332 * grub-core/fs/fat.c: Include grub/fat.h.
17333 (grub_fat_bpb): Moved to ...
17334 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17335 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17336 grub/ntfs.h.
17337 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17338 Moved from here...
17339 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17340 here.
17341 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17342 New function.
17343 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17344 (GRUB_MOD_INIT): Show --bpb.
17345 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17346 * grub-core/normal/main.c (features): New variable.
17347 (GRUB_MOD_INIT): Set feature_* variables.
17348 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17349 proto.
17350 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17351
cf02731e
VS
173522011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17353
17354 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17355 for cleanness.
17356
e3a1073f
VS
173572011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17358
17359 FreeDOS direct loading support.
17360
17361 * docs/grub.texi (Supported OS): Add FreeDOS.
17362 * grub-core/Makefile.core.def (freedos): New module.
17363 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17364 variable.
17365 (grub_relocator16_boot): Handle %ebx.
17366 * grub-core/lib/i386/relocator16.S: Likewise.
17367 * grub-core/loader/i386/pc/freedos.c: New file.
17368
05caa461
VS
173692011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 Long Linux command line support.
17372
17373 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17374 (maximal_cmdline_size): New variable.
17375 (allocate_pages): Use maximal_cmdline_size.
17376 (grub_cmd_linux): Set and use maximal_cmdline_size.
17377 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17378 (allocate_pages): Use maximal_cmdline_size.
17379 (grub_cmd_linux): Set and use maximal_cmdline_size.
17380 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17381 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17382 and cmdline_size.
17383
a2491e23
VS
173842011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
173852011-05-18 Colin Watson <cjwatson@ubuntu.com>
17386
17387 Improve devmapper support
17388
17389 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17390 (grub_util_is_lvm): New function.
17391 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17392 than lvm if not dmraid.
17393 Handle mapped md nodes.
17394 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17395 (grub_util_device_is_mapped): ... this. Make always available. All users
17396 updated.
17397 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17398 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17399 dmraid nodes.
17400 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17401
6ad6223e
VS
174022011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17405
17406 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17407 * grub-core/modinfo.sh.in: New file.
17408 * grub-core/Makefile.core.def (modinfo.sh): New script.
17409 * util/grub-mknetdir.in: Use modinfo.sh.
17410 * util/grub-mkrescue.in: Likewise.
17411
543a8f6e
VS
174122011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17415 Fix potential usage of Elf32 instead of Elf64 when compiling on
17416 32-bit architecture. Add endianness macros while on it.
17417
4959e111
VS
174182011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17419
17420 Use mipsel- rather than mips- in directories involving mipsel ports to
17421 allow both endiannesses coexist.
17422
17423 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17424 mips. All conditions adjusted.
17425 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17426 variable.
17427 * util/grub-install.in: Adjust conditions to take renaming into account.
17428 * util/grub-mkimage.c (image_targets): Likewise. New target
17429 mips-qemu_mips-elf for bigendian mips.
17430
35341bbc
VS
174312011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 Avoid unnecessary copying on MIPS.
17434
17435 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17436 early if src == dest.
17437 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17438 compression is none.
17439
b772baed
VS
174402011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 Reduce memory footprint on SGI by putting modules before the kernel
17443 as opposed to after.
17444
17445 * grub-core/Makefile.core.def (kernel): Increase linking address.
17446 (none_decompress): Likewise.
17447 (xz_decompress): Likewise.
17448 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17449 address.
17450 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17451 layout change.
17452 (grub_arch_modules_addr): New function.
17453 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17454 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17455 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17456 here.
17457 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17458 (grub_total_modules_size): ... this. Make global.
17459 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17460 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17461 New definition.
17462 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17463 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17464 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17465 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17466 * util/grub-mkimage.c (image_target_desc): New flag
17467 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17468 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17469 (generate_image): Handle images with modules before kernel.
17470
566a1917
VS
174712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17472
17473 Prevent potential loss of memory map by overwrite on qemu-mips.
17474
17475 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17476 Save ram size in $s4.
17477 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17478 All users changed to grub_arch_memsize.
17479 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17480 Loongson.
17481 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17482 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17483 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17484 external variable.
17485
5d420cd9
CW
174862011-05-17 Colin Watson <cjwatson@ubuntu.com>
17487
17488 * .bzrignore: Remove grub-dumpbios.
17489
d064b830
CW
174902011-05-17 Colin Watson <cjwatson@ubuntu.com>
17491
17492 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17493 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17494 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17495 existing options which append).
17496 * docs/grub.texi (Simple configuration): Document new options.
17497 Reported by: Ian Jackson. Fixes Debian bug #617538.
17498
3ca2b466
CW
174992011-05-17 Colin Watson <cjwatson@ubuntu.com>
17500
17501 * util/grub-fstest.c (cmd_cat): New function.
17502 (fstest): Handle CMD_CAT.
17503 (options): Add cat.
17504 (argp_parser): Handle cat.
17505
24c9143a
CW
175062011-05-17 Colin Watson <cjwatson@ubuntu.com>
17507
17508 * Makefile.util.def (grub-bin2h): Don't install.
17509 * docs/man/grub-bin2h.h2m: Remove.
17510
90f7ac19
VS
175112011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17512
17513 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17514 place.
17515
8d4a5178
VS
175162011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17517
17518 Reenable qemu-mips port.
17519
17520 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17521 Fix small arc bug while on it.
17522 * gentpl.py: Handle qemu_mips.
17523 * grub-core/Makefile.am: Likewise.
17524 * grub-core/Makefile.core.def: Likewise.
17525 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17526 inappropriate includes.
17527 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17528 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17529 * grub-core/kern/main.c (grub_modules_get_end)
17530 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17531 * grub-core/kern/mips/qemu-mips: Moved to ..
17532 * grub-core/kern/mips/qemu_mips: ... this.
17533 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17534 (grub_machine_init): Call terminfo_init and serial_init.
17535 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17536 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17537 New variable.
17538 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17539 parameter passing.
17540 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17541 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17542 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17543 * include/grub/mips/qemu_mips/cmos.h: New file.
17544 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17545 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17546 Removed.
17547 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17548 Use correct mips-style address.
17549 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17550 (GRUB_TICKS_PER_SECOND): Removed.
17551 (grub_get_rtc): Likewise.
17552 (grub_cpu_idle): Likewise.
17553 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17554 New definition.
17555 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17556 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17557 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17558 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17559 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17560 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17561 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17562 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17563
400b9371
VS
175642011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17565
17566 SGI ARCS port.
17567
17568 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17569 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17570 platforms.
17571 * configure.ac: New target mips-arc.
17572 * gentpl.py: Likewise.
17573 * grub-core/Makefile.am: Likewise.
17574 * grub-core/Makefile.core.def: Likewise.
17575 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17576 (none_decompress): Likewise.
17577 (lsdev): New module.
17578 (datetime): Use lib/arc/datetime.c on ARC.
17579 (part_dvh): New module.
17580 * grub-core/commands/arc/lsdev.c: New file.
17581 * grub-core/disk/arc/arcdisk.c: Likewise.
17582 * grub-core/kern/mips/arc/init.c: Likewise.
17583 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17584 aligned addresses.
17585 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17586 support.
17587 (grub_arch_dl_relocate_symbols): Likewise.
17588 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17589 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17590 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17591 platforms.
17592 * grub-core/lib/arc/datetime.c: New file.
17593 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17594 pci.h on non-loongson.
17595 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17596 (grub_linux_boot): Set unused registers to 0.
17597 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17598 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17599 * grub-core/mmap/mips/uppermem.c: ...here.
17600 * grub-core/partmap/dvh.c: New file.
17601 * grub-core/term/arc/console.c: Likewise.
17602 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17603 (grub_terminfo_set_current): Add terminal "arc".
17604 (grub_terminfo_readkey): Support ARC sequences.
17605 * include/grub/arc/arc.h: New file.
17606 * include/grub/arc/console.h: Likewise.
17607 * include/grub/disk.h (grub_disk_dev_id): Add
17608 GRUB_DISK_DEVICE_ARCDISK_ID.
17609 * include/grub/mips/arc/kernel.h: New file.
17610 * include/grub/mips/arc/memory.h: Likewise.
17611 * include/grub/mips/arc/time.h: Likewise.
17612 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17613 * include/grub/mips/kernel.h (grub_halt): ... here.
17614 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17615 here...
17616 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17617 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17618 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17619 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17620 proto.
17621 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17622 from here ...
17623 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17624 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17625 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17626 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17627 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17628 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17629 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17630 (grub_phys_addr_t): Moved from here ...
17631 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17632 (grub_vtop): Moved from here ...
17633 * include/grub/mips/memory.h (grub_vtop): ... here.
17634 (grub_map_memory): Moved from here ...
17635 * include/grub/mips/memory.h (grub_map_memory): ... here.
17636 (grub_unmap_memory): Moved from here ...
17637 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17638 (grub_machine_mmap_iterate): Moved from here ...
17639 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17640 (grub_mmap_get_lower): Moved from here ...
17641 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17642 (grub_mmap_get_upper): Moved from here ...
17643 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17644 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17645 here ...
17646 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17647 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17648 here ...
17649 * include/grub/mips/time.h (grub_get_rtc): ... here.
17650 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17651 here ...
17652 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17653 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17654 here ...
17655 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17656 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17657 definition.
17658 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17659 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17660 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17661 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17662 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17663 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17664 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17665 (GRUB_MACHINE_LINK_ADDR): Likewise.
17666 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17667 to 6.
17668 * util/grub-install.in: Run dvhtool on ARC.
17669 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17670 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17671
c8ecc840
VS
176722011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17673
17674 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17675 blocks.
17676
153a4b55
VS
176772011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17678
17679 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17680 after enabling port.
17681
ff44d107
VS
176822011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17683
17684 Skip incorrect USB devices.
17685
17686 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17687 configcnt == 0.
17688 * include/grub/usb.h (grub_usb_err_t): New enum value
17689 GRUB_USB_ERR_BADDEVICE.
17690
638dbe4f
VS
176912011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17692
17693 Fuloong video init support.
17694
17695 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17696 well.
17697 (grub_vga_read_arx): New function.
17698 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17699 definition.
17700 (framebuffer): New members io, mmioptr and mmiobase.
17701 (read_sis_cmd): New function.
17702 (write_sis_cmd): Likewise.
17703 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17704 rather than 640x400.
17705 * grub-core/video/sis315_init.c: New file.
17706
c3fc520c
VS
177072011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17708
17709 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17710 non-loongson.
17711 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17712 to grub_dl_register_symbol.
17713
67b1e5c9
VS
177142011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17715
17716 Fix compilation errors.
17717
17718 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17719 potentially unused.
17720 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17721 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17722 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17723 to loongson machines.
17724
b756f75f
VS
177252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17726
17727 Several FS mtime support.
17728
17729 * grub-core/fs/affs.c (grub_affs_time): New struct.
17730 (grub_affs_file): New field mtime.
17731 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17732 type. Removed 'size'. New field 'di'. All users updated.
17733 (grub_affs_mount): Simplify checsum checking.
17734 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17735 (grub_affs_dir): Handle mtime.
17736 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17737 (grub_cpio_dir): Likewise.
17738 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17739 (grub_hfs_filerec): New field mtime.
17740 (grub_hfs_dir): Handle mtime.
17741 (grub_hfs_mtime): New function.
17742 (grub_hfs_fs): Register grub_hfs_mtime.
17743 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17744 (grub_iso9660_dir): New field mtime.
17745 (grub_fshelp_node): New field dirent.
17746 (iso9660_to_unixtime): New function.
17747 (iso9660_to_unixtime2): Likewise.
17748 (grub_iso9660_read_symlink): Use node->dirent.
17749 (grub_iso9660_iterate_dir): Likewise.
17750 (grub_iso9660_dir): Set mtime.
17751 (grub_iso9660_mtime): New function.
17752 (grub_iso9660_fs): Register grub_iso9660_mtime.
17753 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17754 (grub_jfs_inode): New fields atime, ctime and mtime.
17755 (grub_jfs_dir): Set mtime.
17756 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17757 * grub-core/fs/ntfs.c (list_file): Set mtime.
17758 (grub_ntfs_dir): Likewise.
17759 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17760 (grub_reiserfs_iterate_dir): Set mtime.
17761 (grub_reiserfs_dir): Likewise.
17762 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17763 (grub_fshelp_node): Likewise.
17764 (grub_sfs_iterate_dir): Set mtime.
17765 (grub_sfs_dir): Likewise.
17766 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17767 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17768 (grub_xfs_inode): New fields atime, mtime, ctime.
17769 (grub_xfs_dir): Set mtime.
17770 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17771 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17772 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17773
17774 Support UDF symlinks.
17775
17776 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17777 (grub_ufs_read_symlink): New function. All users updated.
17778
17779 Check amiga partmap checksum.
17780
17781 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17782 (grub_amiga_partition): Likewise.
17783 (amiga_partition_map_checksum): New function.
17784 (amiga_partition_map_iterate): Check checksum.
17785
5470225d
VS
177862011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17787
17788 ROMFS support.
17789
17790 * Makefile.util.def (libgrubmods.a): Add romfs.
17791 * grub-core/Makefile.core.def (romfs): New module.
17792 * grub-core/fs/romfs.c: New file.
17793
d4680a35
VS
177942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17795
17796 Squashfs v4 support.
17797
17798 * Makefile.util.def (libgrubmods.a): Add squash4.
17799 * grub-core/Makefile.core.def (squash4): New module.
17800 * grub-core/fs/squash4.c: New file.
17801 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17802 disk_input_start, disk_input.
17803 (get_byte): Handle disk_input.
17804 (grub_zlib_disk_read): New function.
17805 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17806
bcb18e74
FZ
178072011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
178082011-05-15 Feiran Zheng <famcool@gmail.com>
17809
17810 * Makefile.util.def (libgrubmods.a): Add minix3.
17811 * grub-core/Makefile.core.def (minix3): New module.
17812 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17813 (GRUB_MINIX_BSIZE): Removed.
17814 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17815 (grub_minix_ino_t): New type.
17816 (grub_minix_le_to_cpu_ino): New macro.
17817 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17818 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17819 (grub_minix_data): New field block_size.
17820 (grub_minix_read_file): Handle 64-bit correctly.
17821 * grub-core/fs/minix3.c: New file.
17822
32297d5f
TG
178232011-05-15 Tristan Gingold <gingold@free.fr>
178242011-05-15 Robert Millan <rmh.grub@aybabtu.com>
178252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17826
17827 IA64 support.
17828
17829 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17830 * configure.ac: Add ia64-efi target.
17831 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17832 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17833 * gentpl.py: Add ia64_efi platform.
17834 Rename x86_efi to efi and Add ia64-efi. All users updated.
17835 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17836 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17837 Remove kern/generic/rtc_get_time_ms.c on EFI.
17838 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17839 kern/ia64/dl_helper.c on ia64-efi.
17840 Add kern/emu/cache.c on emu.
17841 (linux): Use on loader/ia64/efi/linux.c on ia64.
17842 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17843 whether symbol is a function.
17844 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17845 (grub_symbol): New field 'isfunc'.
17846 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17847 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17848 (grub_dl_load_segments): Place all sections into the same region.
17849 [__ia64__]: Create trampolines and got.
17850 [GRUB_MACHINE_EMU]: Call mprotect.
17851 (grub_dl_resolve_symbols): Resolve symbol type as well.
17852 [__ia64__]: Create function descriptors.
17853 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17854 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17855 (grub_get_rtc): New function.
17856 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17857 * grub-core/kern/emu/cache.S: Renamed to ...
17858 * grub-core/kern/emu/cache_s.S: ... this.
17859 [__ia64__]: Add a nop.
17860 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17861 [__ia64__]: New function.
17862 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17863 * grub-core/kern/ia64/dl.c: New file.
17864 * grub-core/kern/ia64/dl_helper.c: Likewise.
17865 * grub-core/kern/ia64/efi/init.c: New file.
17866 * grub-core/kern/ia64/efi/startup.S: Likewise.
17867 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17868 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17869 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17870 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17871 * grub-core/loader/ia64/efi/linux.c: New file.
17872 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17873 (GRUB_MOD_DEP): Likewise.
17874 (grub_dl) [__ia64__]: New fields got and tramp.
17875 (grub_dl): New field 'base'.
17876 (grub_dl_register_symbol): New argument isfunc. All users updated.
17877 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17878 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17879 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17880 (grub_ia64_dl_get_tramp_got_size): New proto.
17881 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17882 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17883 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17884 * include/grub/efi/api.h: Skip call wrappers on ia64.
17885 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17886 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17887 * include/grub/elf.h (ELF_ST_INFO): New definition.
17888 * include/grub/ia64/efi/kernel.h: New file.
17889 * include/grub/ia64/efi/memory.h: Likewise.
17890 * include/grub/ia64/efi/time.h: Likewise.
17891 * include/grub/ia64/kernel.h: Likewise.
17892 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17893 * include/grub/ia64/time.h: New file.
17894 * include/grub/ia64/types.h: Likewise.
17895 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17896 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17897 New protos.
17898 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17899 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17900 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17901 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17902 All users updated.
17903 (EFI64_HEADER_SIZE): New definition. All users updated.
17904 (image_targets): Add ia64-efi.
17905 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17906 jumpers_addr. All users updated.
17907 Create function descriptors.
17908 (count_funcs): New function.
17909 (unaligned_uint32): New struct.
17910 (MASK20): New definition.
17911 (MASK19): Likewise.
17912 (MASKF21): Likewise.
17913 (add_value_to_slot_20b): New function.
17914 (add_value_to_slot_21_real): Likewise.
17915 (add_value_to_slot_21): Likewise.
17916 (ia64_kernel_trampoline): New struct.
17917 (nopm): New variable.
17918 (jump): Likewise.
17919 (make_trampoline): New function.
17920 (relocate_addresses): Handle ia64.
17921 (make_reloc_section): Likewise.
17922 (load_image): Likewise.
17923
983b414d
VS
179242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17925
17926 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17927 warning. Move variables before code while on it.
17928
5d063cdc
VS
179292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17930
17931 Fuloong support.
17932
17933 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17934 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17935 * grub-core/boot/mips/loongson/fuloong.S: New file.
17936 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17937 Explicitly init CS5536.
17938 [FULOONG]: Don't use serial until CS5536 is available.
17939 Set GPIO based on dumps.
17940 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17941 [FULOONG]: Handle GPIO and memory controller differences.
17942 Parse machine type in $a2.
17943 * grub-core/boot/mips/startup_raw.S: Determine and save the
17944 architecture.
17945 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17946 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17947 init on architecture type.
17948 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17949 SIS315E. Don't init at_keyboard on fuloong.
17950 (grub_halt): Support Fuloong.
17951 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17952 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17953 (loongson_machtypes): New array.
17954 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17955 type.
17956 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17957 config. All users updated. Handle CS5536 serial.
17958 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17959 default port on machine type. Register serial as inactive.
17960 * grub-core/video/sis315pro.c: New file.
17961 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17962 definition.
17963 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17964 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17965 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17966 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17967 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17968 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17969 to ...
17970 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17971 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17972 definition.
17973 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17974 (grub_arch_machine): New extern var.
17975 * include/grub/mips/loongson/serial.h
17976 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17977 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17978 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17979 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17980 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17981 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17982 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17983 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17984 * include/grub/term.h (grub_term_register_input_inactive): New inline
17985 function.
17986 (grub_term_register_output_inactive): Likewise.
17987 * include/grub/video.h (grub_video_driver_id): New value
17988 GRUB_VIDEO_DRIVER_SIS315PRO.
17989 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17990 New field "names". All users updated.
17991 New field value IMAGE_FULOONG_FLASH.
17992 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17993
6ada82d1
JU
179942011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17995
17996 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17997 and add some clarification.
17998
90c571a4
VS
179992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
18002 platforms if kernel is compressed.
18003
de04eecf
VS
180042011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18005
18006 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
18007 unused modules since currently referrence counter isn't reliable and
18008 there isn't much memory to recover there anyway.
18009
57688121
VS
180102011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18011
18012 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
18013 rather than resetting it to allow modules to reference themselves
18014 in init.
18015
3d2c7e35
VS
180162011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18017
18018 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
18019 counter on dependencies since grub_dl_unref already handles this.
18020
b25db218
VS
180212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
18024 on error if not already done.
18025
25a45338
VS
180262011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18027
18028 Fix few potential memory misusage.
18029
18030 * grub-core/font/font.c (load_font_index): Don't free char_index to
18031 avoid double free.
b25db218
VS
18032 (grub_font_load): Zero-fill font at alloc for safety.
18033 Close file on error.
18034 (free_font): Free bmp_idx.
25a45338 18035
0cac83df
VS
180362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18037
18038 * docs/grub.texi (Installation): Fix several outdated claims.
18039
2217a143
VS
180402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18041
18042 Handle module_license on windows.
18043
18044 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18045 sections shifted.
18046 (insert_string): Make argument const char * instead of char *.
18047 (write_section_data): Handle long section names.
18048 Handle module_license.
18049
d4de6b01
VS
180502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18051
18052 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18053 handle class-free menuentries.
18054 (grub_normal_add_menu_entry): Add a check to be sure.
18055
4c2a3b43
VS
180562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18059 PgUp and PgDown.
18060
85c6210f
VS
180612011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18062
18063 * configure.ac: Bump version to 1.99.
18064
36084912
VS
180652011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18066
18067 Give ATA device a bit more time on first try in order to allow disks
18068 to spin up.
18069
18070 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18071 if dev->present is 1. Reset dev->present on failure.
18072 (grub_ata_device_initialize): Set dev->present to 1.
18073 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18074 (grub_ata_device): New member 'present'.
18075
bda0e219
VS
180762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18077
18078 * util/grub-mkimage.c (generate_image): Update hash.
18079
19e1c41b
VS
180802011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18081
18082 Flush caches on DMA memory.
18083
18084 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18085 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18086 (grub_dma_free): Likewise.
18087 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18088
91bbcc0c
VS
180892011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18090
18091 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18092 to avoid asm treating ld and sd as macros.
18093
60ddfad3
VS
180942011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18095
18096 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18097 decompressor.
18098
a298aa04
VS
180992011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18100
18101 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18102 grub_decompress_core since later would fail if grub_decompress_core
18103 is too far.
18104
9b44feca
VS
181052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18108 R_MIPS_JALR since it's used by newer compiler.
18109
56dbe7b4
VS
181102011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18111
18112 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18113
52856af2
VS
181142011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18117 file_path to 0 for surety.
18118 (grub_chainloader_boot): Set exit_data to NULL.
18119 Unset the loader once done.
18120 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18121
9c9bfc6d
VS
181222011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18123
18124 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18125 unknown key into a dprintf.
18126
dd94a3df
VS
181272011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18128
18129 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18130 on first non-existant partition.
18131
fa68d99c
VS
181322011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18133
18134 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18135 openning fails.
18136 Reported by: Mark Korenberg.
18137
157effb7
VS
181382011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18139
18140 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18141 overflow.
18142
ea75312f
VS
181432011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18144
18145 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18146 before closing to ensure that it will be readable by grub-setup.
18147
072b5d31
VS
181482011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18149
18150 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18151 (devpath_1): Use MAKE_PIWG_PATH.
18152 (devpath_2): Likewise.
18153 (devpath_3): Likewise.
18154 (devpath_4): Likewise.
18155 (devpath_5): Likewise.
18156 (devpath_6): Likewise.
18157
18158 The appleldr.mod was checked that to be binary identical to previous
18159 version.
18160
7fae0051
Z
181612011-05-05 Zach <mikezackles>
18162
18163 Support 2010 Macbooks.
18164
18165 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
18166 (devs): Add devpath_6.
18167
7c515bee
VS
181682011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18169
18170 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18171 /dev/random. /dev/urandom is good enough for our purposes (salting).
18172
ed660bd8
VS
181732011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18174
18175 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18176
ee5614b7
VS
181772011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18180 hexadecimal.
18181
664889a6
VS
181822011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18183
18184 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18185 and not 0 on failure.
18186
bd405bbc
CW
181872011-05-03 Colin Watson <cjwatson@ubuntu.com>
18188
18189 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
18190 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
18191 disk; otherwise grub_fs_probe will not fall back to the next
18192 filesystem.
18193 (grub_pxefs_open): Likewise, for consistency.
18194 Reported and tested by: Ezekiel Grave.
18195
4ebff753
CW
181962011-05-03 Colin Watson <cjwatson@ubuntu.com>
18197
18198 * tests/partmap_test.in: Don't hardcode path to parted.
18199 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
18200
8f942553
CW
182012011-05-01 Colin Watson <cjwatson@ubuntu.com>
18202
18203 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18204 of `ls' to find out which devices are available.
18205
3c62402d
VS
182062011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18207
18208 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18209 than source address for efi mmap buffer.
18210
723f63f2
VS
182112011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18212
18213 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18214 wrong action on non-detecting the magic.
18215
68797f92
VS
182162011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18217
18218 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18219 already supplied by another part of the module (fixes compilation on
18220 FreeBSD).
18221
6be8715d
VS
182222011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18225 match the one used by mdadm.
18226
e91dba5b
CW
182272011-04-21 Colin Watson <cjwatson@ubuntu.com>
18228
18229 * po/README: Add instructions for creating po/LINGUAS.
18230
c85140b3
CW
182312011-04-21 Colin Watson <cjwatson@ubuntu.com>
18232
18233 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18234 #551428.
18235
18236 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18237 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18238 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18239 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18240 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18241 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18242 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18243 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18244 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18245 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18246 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
18247 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
18248 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18249 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18250 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18251 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18252 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18253 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18254 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18255 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18256 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18257 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18258
92051871
CW
182592011-04-21 Colin Watson <cjwatson@ubuntu.com>
18260
18261 * grub-core/kern/emu/getroot.c
18262 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18263 test that was incorrectly reintroduced in r3214.
18264 Reported by: Ian Dall. Fixes Savannah bug #33133.
18265
b13f79a4
CW
182662011-04-21 Colin Watson <cjwatson@ubuntu.com>
18267
18268 Fix stack pointer handling in 16-bit relocator.
18269
18270 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18271 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18272 Fixes Ubuntu bug #683904.
18273
9b710a88
VS
182742011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18275
18276 * configure.ac: Bump version to 1.99~rc2.
18277
d97e7b59
VS
182782011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18279
18280 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18281 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18282 * grub-core/lib/x86_64/setjmp.S: Likewise.
18283 * grub-core/lib/mips/setjmp.S: Likewise.
18284 * grub-core/lib/powerpc/setjmp.S: Likewise.
18285 * grub-core/lib/sparc64/setjmp.S: Likewise.
18286
0624551c
VS
182872011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18288
18289 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18290 * grub-core/lib/efi/datetime.c: Likewise.
18291
e8f28d4c
VS
182922011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18293
18294 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18295 New function.
18296 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18297 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18298 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18299
bba79a15
VS
183002011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18301
18302 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18303 bitmap.
18304 (grub_gfxterm_term_init): Likewise.
18305
abc474ef
VS
183062011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18307
18308 Take into account the decorations the computing menu entry width.
18309
18310 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18311 (grub_gfxmenu_create_box): Register get_border_width.
18312 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18313 if available.
18314 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18315 get_border_width.
18316
e74b3947
EP
183172011-04-18 Endres Puschner <code@e7p.de>
18318
18319 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18320 Don't skip first class.
18321
34faa595
VS
183222011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18323
18324 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18325 chunks.
18326 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18327
93a777e3
VS
183282011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18329
18330 Complete 64-bit division support.
18331
18332 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18333 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18334 * include/grub/misc.h (grub_divmod64): Rename to ...
18335 (grub_divmod64_full): ... this.
18336 (grub_divmod64): New inline function.
18337
a5102d94
VS
183382011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18339
18340 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18341
f3fb7b36
VS
183422011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18343
18344 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18345 performing the necessary test.
18346
9ac718b0
VS
183472011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18348
18349 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18350 (kfreebsd.elf): Likewise.
18351 (pc-chainloader.elf): Likewise.
18352 (ntldr.elf): Likewise.
18353
50d2cc5a
VS
183542011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 Identify RAID by its UUID rather than (guessed) name.
18357
18358 * grub-core/disk/raid.c (ascii2hex): New function.
18359 (grub_raid_open): Accept mduuid/%s specification.
18360 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18361 (get_mdadm_uuid): ... this.
18362 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18363
e03f7bea
VS
183642011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18365
18366 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18367 to negative size.
18368
e74c3112
CW
183692011-04-13 Colin Watson <cjwatson@ubuntu.com>
18370
18371 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18372 btrfs subvolume.
18373 * util/grub.d/20_linux_xen.in: Likewise.
18374
78fa584f
CW
183752011-04-13 Colin Watson <cjwatson@ubuntu.com>
18376
18377 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18378 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18379
18380 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18381 Build a list of relevant visible mounts using the mnt_id and
18382 parent_mnt_id fields, and then scan that list at the end.
18383
9d5f8162
CW
183842011-04-12 Colin Watson <cjwatson@ubuntu.com>
18385
18386 * docs/grub.texi (normal): New section.
18387 (normal_exit): New section.
18388 (Embedded configuration): Add reference to normal.
18389 (GRUB only offers a rescue shell): Likewise.
18390 * docs/grub-dev.texi (Error Handling): Fix typo.
18391
09a9d66f
CW
183922011-04-12 Colin Watson <cjwatson@ubuntu.com>
18393
18394 * NEWS: Drop obsolete entry about probe-only btrfs support.
18395
0c676933
CW
183962011-04-12 Colin Watson <cjwatson@ubuntu.com>
18397
18398 * util/import_gcry.py: Fix typo.
18399
ec9f5e0d
VS
184002011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18401
18402 * NEWS: Add btrfs support.
18403
fe6b2cba
VS
184042011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
184052011-04-11 Colin Watson <cjwatson@ubuntu.com>
18406
18407 BtrFS support. Written by me (Vladimir) with important bugfixes and
18408 even more important testing by Colin.
18409
18410 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18411 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18412 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18413 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18414 mem_input_off and mem_input. All users updated to accept in-RAM input.
18415 (gzio_seek): New function.
18416 (test_zlib_header): Likewise.
18417 (grub_gzio_read): Likewise.
18418 (grub_zlib_decompress): Likewise.
18419 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18420 Accept partial and non-virtual mounts.
18421 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18422 avoid receiving /dev/dm-X as device.
18423 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18424 Handle bind and partial mounts.
18425 * grub-core/lib/crc.c: New file.
18426 * include/grub/deflate.h: Likewise.
18427 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18428 proto.
18429 * include/grub/lib/crc.h: New file.
18430
e745cf0c
VS
184312011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18432
18433 Implement automatic module license checking according to new GNU
18434 guidelines.
18435
18436 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18437 (grub_dl_load_core): Use grub_dl_check_license.
18438 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18439 (GRUB_MOD_LICENSE): Likewise.
18440 (GRUB_MOD_DUAL_LICENSE): Likewise.
18441 All modules updated.
18442
2a9bc016
CW
184432011-04-11 Colin Watson <cjwatson@ubuntu.com>
18444
18445 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18446 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18447 loaders.
18448 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18449
8a3bc88e
VS
184502011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18451
18452 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18453
af869a4a
VS
184542011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18455
18456 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18457 failed.
18458
9ee8d94f
VS
184592011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18460
18461 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18462 parenthesis in the middle of the filename.
18463
b01abe3e
VS
184642011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18465
18466 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18467 rather than trying to put initrd way too high.
18468 Reported by: Ryan Lortie <desrt@desrt.ca>
18469
335bda1e
VS
184702011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18471
18472 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18473 improperly removed string.
18474
5ca1a64d
VS
184752011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18476
18477 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18478 is_disk.
18479 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18480 (open_device) Likewise.
18481 (grub_util_biosdisk_close): Likewise.
d8ce9995 18482 Reported by: Mark Korenberg.
5ca1a64d 18483
cbac5b1e
AK
184842011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18485
18486 * util/grub-mkconfig_lib.in: Add missing quotes.
18487
088cdb65
CW
184882011-04-10 Colin Watson <cjwatson@ubuntu.com>
18489
18490 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18491 is NULL.
18492
8b8a81fa
VS
184932011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18494
18495 Dynamically count the number of lines for the lower banner.
18496
18497 * grub-core/normal/menu_entry.c (per_term_screen): New member
18498 num_entries.
18499 (print_down): Use num_entries.
18500 (update_screen): Likewise.
18501 (grub_menu_entry_run): Set num_entries.
18502 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18503 num_entries.
18504 (grub_print_message_indented): Move real part to ...
18505 (grub_print_message_indented_real): ... here. Additional argument
18506 dry_run.
18507 (draw_border): Additional argument num_entries.
18508 (print_message): Additional argument dry_run.
18509 (print_entries): Receive menu viewer data.
18510 (grub_menu_init_page): New argment num_entries.
18511 (menu_text_set_chosen_entry): Use num_entries.
18512 (grub_menu_try_text): Likewise.
18513 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18514 All users updated.
18515 (grub_ucs4_count_lines): New function.
18516 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18517 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18518 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18519 (grub_term_border_height): Likewise.
18520 (grub_term_num_entries): Likewise.
18521
277f955b
VS
185222011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18523
18524 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18525 Remove now unused string.
18526
536ce85a
CW
185272011-04-09 Colin Watson <cjwatson@ubuntu.com>
18528
18529 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18530 build system.
18531 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18532
18533 (Comment): Fix typo.
18534 (Getting started): General copy-editing.
18535 (Typical Development Experience): Likewise.
18536 (Error Handling): Likewise.
18537 (Video API): Likewise.
18538
2cf09e32
CW
185392011-04-09 Colin Watson <cjwatson@ubuntu.com>
18540
18541 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18542 throughout.
18543
1ec652f4
VS
185442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18545
18546 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18547 directory.
18548
2c583728
CW
185492011-04-08 Colin Watson <cjwatson@ubuntu.com>
18550
18551 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18552 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18553 "development".
18554
d7a565e9
VS
185552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18556
18557 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18558 grub_strcpy since the lines aren't necessarily 0-terminated.
18559
7c2e4909
VS
185602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18563 root on legacy.
18564
34c09785
VS
185652011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18566
18567 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18568 (GRUB_MOD_INIT): DEVICE isn't optional.
18569
6a6f8058
VS
185702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18571
18572 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18573 word on new line if it's too long anyway. Fixes a hang.
18574
2e335e90
VS
185752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18576
18577 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18578 const.
18579 * util/grub-setup.c (main): Reuse md device name if available.
18580 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18581 not GRUB name as argument.
18582 Based on patch by: Florian Wagner <fwagner>.
18583
10a7a867
VS
185842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18585
18586 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18587 Place mbi on low memory for better compatibility.
18588
7a3d6cd9
VS
185892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18590
18591 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18592
18dd6b47
VS
185932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
185942011-04-08 Colin Watson <cjwatson@ubuntu.com>
18595
18596 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18597 * conf/Makefile.common: Likewise.
18dd6b47 18598
3c0e3f14
VS
185992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18600
f7148863
VS
18601 * grub-core/normal/menu.c: Add missing include.
18602
186032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18604
18605 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18606
6d1fa41f
MZ
186072011-04-08 Martin Zuther <mzuther@mzuther.de>
18608
18609 * util/grub-mkconfig.in: Ignore emacsen backup.
18610
478182a8
VS
186112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18612
18613 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18614 on open.
18615 (grub_util_biosdisk_close): Likewise.
18616
72a89a54
VS
186172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18618
18619 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18620 const attribute and use grub_isdigit.
18621
b5ebecfa
A
186222011-04-06 Andrey <dev_null@ukr.net>
18623
18624 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18625 gcc warning.
18626
7755f66e
VS
186272011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18628
18629 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18630 useful grub_dprintf's.
18631
461121ff
VS
186322011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18633
18634 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18635
2a961775
VS
186362011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18637
18638 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18639
adf594cc
VS
186402011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 Output errors if theme loading failed.
18643
18644 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18645 grub_gfxterm_fullscreen on error paths to ...
18646 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18647 theme loading error.
18648
665900a3
VS
186492011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18650
18651 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18652 space for older compilers.
18653 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18654
a562b479
VS
186552011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18656
18657 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18658 and report them as not RAID members since they are useless for GRUB.
18659 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18660
850e9373
VS
186612011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18662
18663 Increase LVM implementation robustness in order not to crash on
18664 configurations like pvmove. Previously code assumed that in some places
18665 only lvs or only pvs are used whereas it seems that they are used
18666 interchangeably.
18667
18668 * grub-core/disk/lvm.c (read_node): New function.
18669 (read_lv): Use read_node.
18670 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18671 Match volumes only at the end when all lvs are found. Take both
18672 pvs (first) and lvs (second) into account.
18673 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18674 mirror_* into node_*. All users updated.
18675 (grub_lvm_stripe): Merge this ...
18676 (grub_lvm_mirror): ... and this ...
18677 (grub_lvm_node): ... into this. All users updated.
18678
6f332153
VS
186792011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18682 of function to allow further scanning for LVMs.
18683
829ea451
VS
186842011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18685
18686 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18687 on failed seek as it breaks open fd reusage.
18688
09ceb9a5
VS
186892011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18690
18691 * util/grub-install.in: Add a recommendation to use --recheck before
18692 reporting bugs.
18693
67e11623
VS
186942011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18695
18696 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18697 are obtained.
18698
caee5efd
VS
186992011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18700
18701 GRUB developper manual based on existing Internals section and
18702 contributions by the various authors with active copyright assignment.
18703
18704 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18705 * docs/font_char_metrics.png: New file.
18706 * docs/font_char_metrics.txt: Likewise.
18707 * docs/grub-dev.texi: Likewise.
18708 * docs/grub.texi (Internals): Move from here ...
18709 * docs/grub-dev.texi: ... here.
18710
2cccc747
CW
187112011-04-01 Colin Watson <cjwatson@ubuntu.com>
18712
18713 Store the loopback device as data on loopback grub_disk structures,
18714 rather than the file it points to. This fixes use of freed memory
18715 if an existing loopback device is replaced.
18716
18717 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18718 disk->data, not dev->file.
18719 (grub_loopback_read): Adjust file assignment to match.
18720 Fixes Ubuntu bug #742967.
18721
186ae367
CW
187222011-04-01 Colin Watson <cjwatson@ubuntu.com>
18723
18724 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18725 when replacing an existing device.
18726
cfed2ad0
VS
187272011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18728
18729 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18730 memory corruptions.
18731
18732 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18733 unsigned.
18734 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18735 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18736 (grub_jfs_read_inode): Likewise.
18737 (grub_jfs_opendir): Likewise. Remove now useless casts.
18738 (grub_jfs_getent): Likewise.
18739 Make ino a grub_uint32_t rather than int.
18740 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18741 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18742 division and module with bit operations.
18743 (grub_jfs_find_file): Make ino a grub_uint32_t.
18744 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18745
05d2ed32
CW
187462011-04-01 Colin Watson <cjwatson@ubuntu.com>
18747
18748 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18749 warning. (This was in fact always initialised before use, but GCC
18750 wasn't smart enough to prove that.)
18751 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18752
91dc6073
VS
187532011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18756 stack alignment.
18757 (efi_wrap_1): Likewise.
18758 (efi_wrap_2): Likewise.
18759 (efi_wrap_3): Likewise.
18760 (efi_wrap_4): Likewise.
18761 (efi_wrap_5): Likewise.
18762 (efi_wrap_6): Likewise.
18763 (efi_wrap_10): Likewise.
18764 Based on information by: Red Hat/Peter Jones.
18765
a8afc1d1
CW
187662011-03-31 Colin Watson <cjwatson@ubuntu.com>
18767
18768 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18769 set-but-not-used variable.
18770
a826cc7d
CW
187712011-03-31 Colin Watson <cjwatson@ubuntu.com>
18772
18773 * docs/grub.texi (Simple configuration): Be more explicit about
18774 GRUB_DEFAULT, and add an example.
18775 Reported by: Leslie Rhorer.
18776
875b67ba
CW
187772011-03-30 Colin Watson <cjwatson@ubuntu.com>
18778
18779 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18780 shell".
18781
fd7cd914
AS
187822011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18783
18784 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18785 * util/grub.d/20_linux_xen.in: Likewise.
18786
090b1b6a
VS
187872011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18788
18789 * util/grub.d/10_linux.in: Try alternative config filenames where
18790 we parse config file.
18791 * util/grub.d/20_linux_xen.in: Likewise.
18792
baad885c
AS
187932011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18794
18795 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18796 * util/grub.d/20_linux_xen.in: Likewise.
18797
241e41f5
VS
187982011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18799
18800 * grub-core/disk/raid.c (insert_array): Add few potentially
18801 useful grub_util_info.
18802 (grub_raid_register): Likewise.
18803
56445fb2
VS
188042011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18805
18806 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18807 Preserve partition number in mdadm code path.
18808
c871b1c6
VS
188092011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18810
18811 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18812 few potentially useful grub_util_info.
18813
5e631b4f
CW
188142011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18815
18816 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18817
2d5d0333
CW
188182011-03-30 Colin Watson <cjwatson@ubuntu.com>
18819
18820 * docs/grub.texi (default): Use @example rather than nested
18821 itemized lists to avoid breaking gendocs.
18822
3d7ed04e
CW
188232011-03-30 Colin Watson <cjwatson@ubuntu.com>
18824
18825 * docs/grub.texi (Future): Update.
18826
abf04200 188272011-03-30 Colin Watson <cjwatson@ubuntu.com>
18828
18829 * docs/grub.texi (Environment): New chapter.
18830 (Changes from GRUB Legacy): Link to "Environment block" section for
18831 details of limitations.
18832 (Simple configuration): Likewise. Link to documentation of gfxmode
18833 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18834 respectively.
18835 (Shell-like scripting): Note that normal variables are stored in the
18836 environment.
18837 (gettext): Link to documentation of lang and locale_dir.
18838 (list_env): New section.
18839 (load_env): New section.
18840 (save_env): New section.
18841
18842 (Reporting bugs): Fix typo.
18843
e1ad0edd
VS
188442011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18847 the example.
18848
5d803174
VS
188492011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18850
18851 * grub-core/term/at_keyboard.c (set_scancodes)
18852 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18853
2a2da1d0
CW
188542011-03-30 Colin Watson <cjwatson@ubuntu.com>
18855
18856 * docs/grub.texi (Menu-specific commands): Remove some semantics
18857 that were true in GRUB Legacy but not in GRUB 2.
18858 (submenu): New section.
18859 (false): New section.
18860 (read): New section.
18861 (true): New section.
18862
a7527639
CW
188632011-03-30 Colin Watson <cjwatson@ubuntu.com>
18864
18865 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18866
188672011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18868
18869 * docs/grub.texi (Simple configuration): Explain some of the
18870 current limitations of grub-mkconfig.
8a748df2 18871 Reported by: Leslie Rhorer.
e30af029 18872
fc858482
VS
188732011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18874
18875 Old macs search for boot.efi rather than for bootia32.efi.
18876
18877 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18878 * util/grub-mkrescue.in: Likewise.
18879 Suggested by: Peter Jones.
18880
e1eb511d
VS
188812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18882
18883 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18884
70e75364
VS
188852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18886
18887 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18888 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18889 (grub_lvm_mirror): New struct.
18890 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18891 (grub_lvm_iterate): Iterate only visible volumes.
18892 (grub_lvm_read): Factor out to ..
18893 (read_lv): ... this. Support mirrors.
18894 (grub_lvm_read): New wrapper function.
18895 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18896 stripped or mirrored.
18897
fc18f6a3
VS
188982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18899
18900 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18901
5c650f4c
CW
189022011-03-29 Colin Watson <cjwatson@ubuntu.com>
18903
18904 * docs/grub.texi (loopback): New section.
18905
61d7156b
CW
189062011-03-29 Colin Watson <cjwatson@ubuntu.com>
18907
18908 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18909 removed -p option.
18910
994b8264
CW
189112011-03-29 Colin Watson <cjwatson@ubuntu.com>
18912
18913 * docs/grub.texi (BIOS installation): New section, partly based on
18914 previous text in other sections.
18915 (Installing GRUB using grub-install): Replace BIOS discussion with a
18916 cross-reference.
18917 (Images): Likewise.
18918
9e4d19e0
VS
189192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18920
18921 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18922 [HAVE_DIOCGDINFO]: Add safety checks.
18923
a307c0b2
VS
189242011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18925
18926 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18927 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18928
b4db4f39
CW
189292011-03-29 Colin Watson <cjwatson@ubuntu.com>
18930
18931 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18932 real_sb->size is zero (e.g. RAID-0), get the disk size from
18933 real_sb->data_size instead.
18934 Fixes Ubuntu bug #743136.
18935
35e5f84c
VS
189362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18937
18938 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18939 printf clauses for printing size and start.
18940
d2e29d81
VS
189412011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18944 Reported and tested by: Timothy Nikkel.
18945
ed5587af
VS
189462011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18949 (dirty_region_add_real): ... this.
18950 (dirty_region_add): Don't discard margin refresh when performing
18951 scheduled repaint.
18952
a1dc717c
VS
189532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18954
18955 * grub-core/lib/relocator.c (allocate_regstart)
18956 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18957 terminals are capabple of malloc-free operation.
18958 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18959 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18960
9f3677d3
VS
189612011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18962
18963 * util/grub-setup.c: Copy the partition table zone if floppy support
18964 is disabled, even if no partition table is found.
18965
18966 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18967 during POST if an invalid partition table is contained in the PBR
18968 of the active partition when GRUB is installed to a partition.
18969
24148725
CW
189702011-03-28 Colin Watson <cjwatson@debian.org>
18971
18972 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18973 comment.
18974
f329eda7
CW
189752011-03-28 Colin Watson <cjwatson@debian.org>
18976
18977 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18978 to be specific about what kind of RAID device we're scanning for.
18979
c482ad98
SG
189802011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18981
18982 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18983 return freed string.
18984
5ee04984
VS
189852011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18986
18987 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18988
f4727da9
VS
189892011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18990
18991 Use libgeom on FreeBSD to detect partitions.
18992
18993 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18994 (grub-mkrelpath): Likewise.
18995 (grub-script-check): Likewise.
18996 (grub-editenv): Likewise.
18997 (grub-mkpasswd-pbkdf2): Likewise.
18998 (grub-fstest): Likewise.
18999 (grub-mkfont): Likewise.
19000 (grub-mkdevicemap): Likewise.
19001 (grub-probe): Likewise.
19002 (grub-setup): Likewise.
19003 (grub-ofpathname): Likewise.
19004 (grub-mklayout): Likewise.
19005 (example_unit_test): Likewise.
19006 (grub-menulst2cfg): Likewise.
19007 * grub-core/Makefile.core.def (grub-emu): Likewise.
19008 (grub-emu-lite): Likewise.
19009 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
19010 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
19011 define HAVE_DIOCGDINFO.
19012 (follow_geom_up) [FreeBSD]: New function.
19013 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
19014 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
19015 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
19016 unconditionally of HAVE_DIOCGDINFO.
19017
82fe6c75
VS
190182011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 Fix FreeBSD compilation problem.
19021
19022 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
19023 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
19024
4c6c9431
CW
190252011-03-24 Colin Watson <cjwatson@ubuntu.com>
19026
19027 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
19028 Switch back to page zero before loading a kernel, since some kernel
19029 drivers expect that.
19030 Thanks to: Felix Kuehling.
19031
c7064d94
VS
190322011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19033
19034 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19035 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19036 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19037
3f71cded
VS
190382011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19039
19040 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19041 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19042
ef6de21a
VS
190432011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19044
19045 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19046 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19047 malloc is disabled.
19048
8bc66a2c
VS
190492011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19052 for modules headers when counting the needed allocation size.
19053
5657722c
VS
190542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19055
19056 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19057 if no ASCII character is found to prevent crash.
19058
41a85f55
AK
190592011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19060
19061 * grub-core/video/bitmap.c (match_extension): Ignore case.
19062
59e1e5f1
VS
190632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19064
19065 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19066
bd4d051a
VS
190672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19068
19069 * grub-core/script/parser.y: Declare "time" as valid argument.
19070
bae7fcc1
PJ
190712011-03-23 Peter Jones <pjones@redhat.com>
19072
19073 Fix incorrect assert failure reporting.
19074
19075 * grub-core/tests/example_functional_test.c (example_test): Add
19076 a failure comment.
19077 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19078 (failure_start): ...this. Check that malloc succeeded.
19079 Don't call xvasprintf. Return failure struct.
19080 (failure_append_vtext): New function.
19081 (failure_append_text): Likewise.
19082 (add_failure): Likewise.
19083 (grub_test_assert_helper): Likewise.
19084 * include/grub/test.h (grub_test_assert_helper): New declaration.
19085 (grub_test_assert): Macro rewritten.
19086
537dc9be
VS
190872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19088
19089 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19090
fa3e01bf
VS
190912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19094
b1d28404
VS
190952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19096
19097 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19098 into GRUB-style one.
19099
2e3e2e09
VS
191002011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19101
19102 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19103 error and not grub_errno.
19104 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19105
ed57e557
VS
191062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19107
19108 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19109 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19110
d1611f01
VS
191112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19112
19113 * grub-core/efiemu/i386/pc/cfgtables.c
19114 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19115 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19116 (grub_xnu_unlock): Likewise.
19117 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19118
7d4e39d6
VS
191192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19120
19121 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19122 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19123 * grub-core/commands/hashsum.c (aliases): Likewise.
19124 * grub-core/commands/setpci.c (pci_registers): Likewise.
19125 * grub-core/disk/usbms.c (attach_hook): Likewise.
19126 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19127 (zio_checksum_table): Likewise.
19128 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19129 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19130 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19131 * grub-core/lib/relocator.c (leftovers): Likewise.
19132 (extra_blocks): Likewise.
19133 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19134 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19135 (modules_last): Likewise.
19136 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19137 (devices): Likewise.
19138 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19139 (modules_last): Likewise.
19140 * grub-core/normal/auth.c (users): Likewise.
19141 * grub-core/normal/context.c (initial_menu): Likewise.
19142 (current_menu): Likewise.
19143 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19144 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19145 (grub_serial_terminfo_input_template): Likewise.
19146 (grub_serial_terminfo_output_template): Likewise.
19147 (grub_serial_terminfo_input): Likewise.
19148 (grub_serial_terminfo_output): Likewise.
19149 (registered): Likewise.
19150 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19151
40fc4659
VS
191522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19153
19154 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19155 grub_video_mode_type_t.
19156 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19157 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
19158 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
19159
2da48d28
VS
191602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19161
19162 * util/grub-install.in: Correct the x86-64 name as x86_64.
19163
9b43bf39
CW
191642011-03-11 Colin Watson <cjwatson@ubuntu.com>
19165
19166 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
19167 initial chunk read from the kernel always includes GRUB's multiboot
19168 header, which is now outside the first sector.
19169
be1a7ce0
CW
191702011-03-09 Colin Watson <cjwatson@ubuntu.com>
19171
19172 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19173 cached mmap_size, so that this works correctly when called multiple
19174 times.
19175 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19176
83a3c48d
CW
191772011-03-09 Colin Watson <cjwatson@ubuntu.com>
19178
19179 * docs/grub.texi (Simple configuration): Tidy up formatting.
19180
57d75699
SJ
191812011-03-07 Szymon Janc <szymon@janc.net.pl>
19182
19183 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19184 Set-but-not-used variable removed.
19185
028501a0
VS
191862011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19187
19188 Workaround yet another IEEE1275 bug.
19189
19190 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
19191 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
19192 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
19193 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
19194 is set.
19195 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19196 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
19197
d998657d
VS
191982011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19201 error.
19202
fee7cdd4
CW
192032011-02-11 Colin Watson <cjwatson@ubuntu.com>
19204
19205 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19206 empty, since in that case we can only generate either nothing or a
19207 syntactically invalid configuration file.
19208 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19209
97286eb5
CW
192102011-02-09 Colin Watson <cjwatson@ubuntu.com>
19211
19212 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19213 (Making a GRUB bootable CD-ROM): Likewise.
19214 (Invoking grub-mkrescue): New section.
19215 Reported by: Yann Dirson. Fixes Debian bug #612585.
19216
22b28eb3
CW
192172011-02-09 Colin Watson <cjwatson@ubuntu.com>
19218
19219 * util/grub-install.in: Remove unnecessary brackets from tr
19220 arguments.
19221 * util/grub.d/10_hurd.in: Likewise.
19222 * util/grub.d/10_kfreebsd.in: Likewise.
19223 * util/grub.d/10_linux.in: Likewise.
19224 * util/grub.d/20_linux_xen.in: Likewise.
19225 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19226
7e735e43
CW
192272011-02-08 Colin Watson <cjwatson@ubuntu.com>
19228
19229 * include/grub/file.h (not_easly_seekable): Rename to ...
19230 (not_easily_seekable): ... this. Update all users.
19231
800f1881
CW
192322011-01-28 Colin Watson <cjwatson@ubuntu.com>
19233
19234 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19235 grub-mkrescue.
19236
3281d3d6
VS
192372011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19238
19239 * util/grub-mkimage.c (generate_image): Refuse to create the images
19240 bigger than the actual flash (512K) in Loongson machines. 512K is also
19241 the biggest chip supported by them.
19242
3533413c
VS
192432011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19244
19245 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19246
73ae4f4f
VS
192472011-01-22 Anthony DeRobertis <anthony@derobert.net>
19248
19249 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19250 super_offset field.
19251
37f4f608
VS
192522011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19253
19254 * util/grub-install.in: Ignore install device on platforms
19255 where it doesn't make sense. Always use UUIDs except on pc, efi and
19256 sparc64.
19257 Reported by: Daniel Kahn Gillmor.
19258
03a4ccb5
VS
192592011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19260
19261 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19262
ffc8f4d8
VS
192632011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19266 (iterate_real): Don't rely on partition being non-NULL.
19267
80f23be7
VS
192682011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19269
19270 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19271 supported platforms. Put a compile time assert for this rather than
19272 generate a warning with 32-bit shift.
19273
5d4f4dd5
VS
192742011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19275
19276 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19277 logical expression more readable.
19278
e489601a
VS
192792011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19280
19281 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19282 even if some elements have a name.
19283 Reported by: Alexander GQ Gerasiov.
19284
96e0a6ea
CW
192852011-01-22 Colin Watson <cjwatson@ubuntu.com>
19286
19287 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19288 path unreadable if `grub-probe -t abstraction' fails, for example if
19289 memberlist fails on an LVM volume group.
19290 Reported by: Darius Jahandarie.
19291
81431e2b
CW
192922011-01-22 Colin Watson <cjwatson@ubuntu.com>
19293
19294 * docs/grub.texi (Simple configuration): Document
19295 GRUB_PRELOAD_MODULES.
19296
5e79d66a
CW
192972011-01-17 Colin Watson <cjwatson@ubuntu.com>
19298
19299 * .bzrignore: Remove nonexistent grub-pbkdf2.
19300
646ada34
VS
193012011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19302
19303 * configure.ac: Bump version to 1.99~rc1.
19304
04360337
VS
193052011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19306
19307 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19308 for safety.
19309
46c9db88
VS
193102011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19311
19312 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19313 module.
19314
193152011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
19316
19317 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19318
4fbf1852
VS
193192011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19320
19321 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19322 diskdevid.
19323
f1632d4d
VS
193242011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19325
19326 Fix compilation on cygwin.
19327
19328 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19329 -R .drectve on cygwin.
19330 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19331 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19332 (COND_CYGWIN): New condition.
19333 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19334 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19335 not @TARGET_OBJ2ELF@.
19336 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19337 type to determine whether aux is to be used.
19338
0b5e127b
VS
193392011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19340
19341 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19342 realpath'ed device string.
19343 Handle floppy (somewhat).
19344 Issue error in unknown case rather than garbage.
19345 Reported by: Axel Beckert.
19346
173b71e9
VS
193472011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19348
19349 * util/grub.d/00_header.in (load_video): Handle the case when no video
19350 drivers available.
19351 Thanks to: Axel Beckert.
19352
f8f479db
VS
193532011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19354
19355 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19356 variable. Fixes problem on big endian platforms.
19357
8fc0a245
VS
193582011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19359
19360 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19361 It doesn't work well there.
19362
b8494fbe
VS
193632011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19364
19365 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19366 warning.
19367 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19368 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19369 counter.
19370
b44a558c
VS
193712011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19372
19373 Use alias->path rather than buggy "canon".
19374
19375 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19376 (ofdisk_hash_add): New argument curcan. All users updated.
19377
51fa856c
CW
193782011-01-11 Colin Watson <cjwatson@ubuntu.com>
19379
19380 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19381
9da068a5
VS
193822011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19383
19384 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19385 loadmask before doing any calculations. Use correct type for offset.
19386 (grub_linux_load64): Likewise.
19387
86205c94
CW
193882011-01-11 Colin Watson <cjwatson@ubuntu.com>
19389
19390 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19391 with NULL.
19392 (console_grub_equivalences_unshift): Likewise.
19393 Reported by: Daniel Dehennin.
19394
4531a206
VS
193952011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19396
19397 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19398 (set_env_limn_ro): Likewise.
19399 (GRUB_MOD_INIT): Likewise.
19400 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19401 ARRAY_SIZE while on it.
19402 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19403 * grub-core/normal/context.c (grub_env_export): Move from here ...
19404 * grub-core/kern/env.c (grub_env_export): ... here.
19405 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19406 prefix.
19407 * grub-core/kern/main.c (grub_main): Export root and prefix.
19408 * include/grub/env.h (grub_env_export): Export.
19409 Reported by: Seth Goldberg.
19410
45146057
VS
194112011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19414 Take into account space used by ELF sections and multiboot palette.
19415 Reported by: Grégoire Sutre.
19416
f093110b
VS
194172011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19418
19419 * BUGS: New file.
19420
3395fe52
VS
194212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19422
19423 Pass more appropriate video id to Linux.
19424
19425 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19426 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19427 fill have_vga.
19428 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19429 shift params->lfb_size.
19430 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19431
c2fa6cbb
VS
194322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19433
19434 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19435
b3ff6ff0
VS
194362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19437
19438 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19439 separator and pass bootpath/devid even if only one of them is available.
19440 Reported by: Seth Goldberg.
19441
ae67942e
VS
194422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19445 implementations bug on them.
19446
19447 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19448 memory.
19449 (filter_memory_map): Likewise.
19450
d570097a
VS
194512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19452
19453 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19454 Reported by: nebuchadnezzar.
19455
a508e776
VS
194562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19457
19458 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19459 Reported by: nebuchadnezzar.
19460
dcb883b1
VS
194612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19462
19463 Submenu default support.
19464
19465 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19466 auto_boot. All users updated.
19467 Declared static.
19468 Handle chosen and default with submenus.
19469 (grub_menu_execute_with_fallback): Declared static.
19470 Don't notify failure if autobooted. Upper level does it.
19471 (menuentry_eq): New function.
19472 (get_entry_number): Use menuentry_eq.
19473 (show_menu): New parameter "autobooted". All users updated.
19474 (grub_show_menu): Likewise.
19475 * include/grub/normal.h (grub_show_menu): Likewise.
19476 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19477 (grub_menu_execute_with_fallback): Likewise.
19478
6fef99b4
VS
194792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19480
19481 * util/grub-mklayout.c (usage): Update help text.
19482
47a77af5
VS
194832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19484
19485 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19486
ce6bb3ee
VS
194872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19488
19489 * util/grub-menulst2cfg.c (main): Trim the line.
19490
db87be2a
VS
194912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19492
19493 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19494 (grub_machine_init): Don't check amount of low memory as reportedly
19495 INT 12h can be broken and if low memory is too low we wouldn't have
19496 gotten into grub_machine_init anyway.
19497
c49849cc
VS
194982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19499
19500 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19501 (grub_machine_mmap_iterate): Take low memory into account
19502
b1969b30
VS
195032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19504
19505 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19506 badfs.
19507 Reported by: TiCPU.
19508
cf0eaf13
VS
195092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19510
19511 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19512 members errors.
19513
1f060f39
GS
195142011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19515
19516 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19517 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19518
a21e5672
GS
195192011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19520
19521 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19522 openbsd and netbsd types being in part_bsd module.
19523
c88172fa
VS
195242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19527 (_FILE_OFFSET_BITS): Likewise.
19528 Reported by: Seth Goldberg.
19529
53798c4b
GS
195302011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19531
19532 * configure.ac: Check for libdevmapper header.
19533
e7121b69
VS
195342011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19537 avoid aliasing.
19538 (fzap_lookup): Likewise.
19539 (dnode_get): Likewise.
19540 (make_mdn): Likewise.
19541 (zfs_mount): Likewise.
19542 (fzap_iterate): Use temporary pointer to avoid aliasing.
19543 (grub_zfs_read): Likewise.
19544 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19545 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19546 pointers to avoid aliasing.
19547 (grub_cmd_xnu_kernel64): Likewise.
19548 (grub_xnu_load_driver): Likewise.
19549
fc836af9
VS
195502011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19553 aliasing warning.
19554 (grub_cmd_terminal_output): Likewise.
19555 Reported and tested by: Grégoire Sutre.
19556
f9f37648
VS
195572011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19558
19559 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19560 warning.
19561 Reported and tested by: Grégoire Sutre.
19562
ec1dfd63
VS
195632011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19564
19565 * configure.ac: Do CPU substitution even if it's specified explicitly.
19566 Reported and tested by: Alain Greppin.
19567
9462775a
VS
195682011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19569
19570 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19571 Reported and tested by: Alain Greppin.
19572
0fd48e35
VS
195732011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 Satisfy some bison versions need for inttypes.h.
19576
19577 * grub-core/lib/posix_wrap/inttypes.h: New file.
19578 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19579 (int16_t): Likewise.
19580 (int32_t): Likewise.
19581 (int64_t): Likewise.
19582 Reported and tested by: Alain Greppin.
19583
43f1bc83
VS
195842011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19585
19586 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19587 Silence spurious warning.
19588 Reported and tested by: Alain Greppin.
19589
64d1f041
SJ
195902011-01-07 Szymon Janc <szymon@janc.net.pl>
19591
19592 * docs/grub.texi (Support automatic decompression): Update with xz
19593 decompression support.
19594
25953e10
SJ
195952011-01-07 Szymon Janc <szymon@janc.net.pl>
19596
19597 Improve loaders' kernel command line handling.
19598
19599 * grub-core/lib/cmdline.c: New file.
19600 * include/grub/lib/cmdline.h: Likewise.
19601 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19602 grub_create_loader_cmdline to create kernel command line.
19603 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19604 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19605 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19606 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19607 (linux): Add lib/cmdline.c on common.
19608
e72d259f
VS
196092011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19612 inopos might be unaligned.
19613
c0cf26da
VS
196142011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19615
19616 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19617 endian transformations.
19618 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19619 Based on report by: Doug Nazar.
19620
0ca09e6c
DN
196212011-01-07 Doug Nazar <nazard.michi@gmail.com>
19622
19623 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19624 array->members[i].start_sector.
19625 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19626
014b6806
VS
196272011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19628
19629 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19630 Reported and tested by: Grégoire Sutre.
19631
415502c2
CW
196322011-01-06 Colin Watson <cjwatson@ubuntu.com>
19633
19634 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19635 avoid causing test failures by clearing the screen.
19636
71b6a2b7
CW
196372011-01-06 Colin Watson <cjwatson@ubuntu.com>
19638
19639 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19640 Fix prefix check to handle the case where dir ends with a slash
19641 (most significantly, "/" itself).
19642 Reported by: Michael Vogt.
19643
b3f8d28a
VS
196442011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19645
19646 Run terminfo_cls on initing terminfo output to clear the screen and
19647 move the cursor to (0,0).
19648
19649 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19650 Call grub_terminfo_output_init.
19651 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19652 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19653 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19654
4c3e4f37
VS
196552011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19656
19657 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19658 only when needed.
19659
488f71f1
VS
196602011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19661
19662 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19663 CTRL.
19664
18a38098
VS
196652011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19666
19667 The E820 type 5 is BADRAM, not EXEC_CODE.
19668
19669 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19670 (GRUB_E820_BADRAM): New define.
19671 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19672 into reserved. Propagate BADRAM.
19673 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19674 (GRUB_E820_BADRAM): New define.
19675
9eae2084
VS
196762011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19677
19678 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19679 Ignore the memory post-4G.
19680 (grub_relocator_firmware_alloc_region): Additional debug statement.
19681
ebc71d28
VS
196822011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19683
19684 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19685 names.
19686 Reported by: David Pravec.
19687
446fa400
VS
196882011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19689
19690 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19691 BIOSes.
19692
a0159f37
VS
196932011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19694
19695 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19696 Prevent overflow.
19697 (grub_reed_solomon_recover): Likewise.
19698
e5146ca1
VS
196992011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19700
19701 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19702
197032011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19704
19705 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19706 variable.
19707
5b1bdf12
CW
197082011-01-04 Colin Watson <cjwatson@ubuntu.com>
19709
19710 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19711 descriptions of extract_legacy_entries_source and
19712 extract_legacy_entries_configfile.
19713 Reported by: Seung Soo, Ha.
19714
99d925aa
CW
197152011-01-03 Colin Watson <cjwatson@ubuntu.com>
19716
19717 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19718 on devices that do not implement function 0.
19719
4af0504b
DV
197202011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19721
19722 * grub-core/fs/hfsplus.c: Make parent unsigned.
19723 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19724 overflows.
19725 (grub_hfsplus_cmp_extkey): Likewise
19726
469ee10a
VS
197272011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19728
19729 * util/grub-install.in: Correctly use bootloader_id and not
19730 GRUB_DISTRIBUTOR on efibootmgr line.
19731
323a8e9c
VS
197322011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19733
19734 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19735
1b394975
IC
197362010-12-31 Ian Campbell <ijc@hellion.org.uk>
19737
19738 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19739 Xen and reorder menu item wording to make it clearer that this entry
19740 will launch Xen. Print separate messages when loading Xen and
19741 Linux.
19742
275bff5f
VS
197432010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19744
19745 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19746 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19747 loop in case of incorrect amiga partmap.
19748
307806cb
VS
197492010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19750
19751 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19752 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19753 Reported by:EHeM.
19754
b12b923e
VS
197552010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19756
19757 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19758 spurious warning.
19759 Reported by: crocket
19760
14b48a19
VS
197612010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19762
19763 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19764 Preload EFIemu.
19765 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19766
693db2df
VS
197672010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19768
19769 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19770 is loaded
19771 (grub_cmd_xnu_kextdir): Likewise.
19772 (grub_cmd_xnu_splash): Likewise.
19773
c7638645
VS
197742010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19775
19776 Avoid using Reed-Solomon with 0 redundancy.
19777
19778 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19779 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19780 or 0 redundancy.
19781 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19782 (grub_reed_solomon_recover): Likewise.
19783
25dd4780
VS
197842010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19785
19786 Don't use disk subsystem in freebsd_boot.
19787
19788 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19789 (freebsd_biosdev): Likewise.
19790 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19791 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19792
0b2db943
VS
197932010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19794
19795 Handling of files of unknown size is currently limited. They can't be
19796 used e.g. for initrd or modules. Moreover gzip handling of not
19797 easily seekable files is buggy. Disable unknown file size for now. May
19798 be inefficient but works.
19799
19800 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19801 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19802
5c408d0f
MP
198032010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19804
19805 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19806 floppy probe.
19807
190a011a
JD
198082010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19809
19810 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19811
022d01b8
SL
198122010-12-25 Shea Levy <shlevy>
19813
19814 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19815
c4855fdc
VS
198162010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19819 Windows Server 2008.
19820 Reported by: Devin Giddings.
19821
0354b867
VS
198222010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19823
19824 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19825 writing an error message because of async power management.
19826 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19827 (grub_reboot): Likewise.
19828
ab66c69f
JU
198292010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19830
19831 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19832 keep unit tests from failing when they shouldn't.
19833
1426ef35
CW
198342010-12-21 Colin Watson <cjwatson@ubuntu.com>
19835
19836 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19837 previous patch increased the size of the RS code by 20 bytes (at
19838 least with gcc-4.4), so increase this by 20 bytes to match.
19839 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19840
20641b6b
CW
198412010-12-21 Colin Watson <cjwatson@ubuntu.com>
19842
19843 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19844 scratch area. Make sure to initialise chosen in standalone mode as
19845 well as non-standalone.
19846 Reported by: Robert Hooker and Andy Whitcroft.
19847 Tested by: Andy Whitcroft.
19848
d060ad60
CW
198492010-12-21 Colin Watson <cjwatson@ubuntu.com>
19850
19851 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19852 constructing a new unescaped string and passing it to grub_xputs in
19853 one go, rather than passing characters to grub_printf one at a time.
19854
b889cfad
CW
198552010-12-21 Colin Watson <cjwatson@ubuntu.com>
19856
19857 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19858 initialising utf16.
19859
4e01b6c8
CW
198602010-12-21 Colin Watson <cjwatson@ubuntu.com>
19861
19862 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19863 comment. Add an extra layer of quotation, requiring the output of
19864 this function to be used in a printf format string.
19865 (gettext_printf): New function.
19866 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19867 Extract translatable strings from here-documents and use a temporary
19868 variable instead, so that xgettext can find them.
19869 * util/grub.d/10_kfreebsd.in: Likewise.
19870 * util/grub.d/10_linux.in: Likewise.
19871 * util/grub.d/20_linux_xen.in: Likewise.
19872
19873 * po/grub.d.sed: New file.
19874 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19875 arguments. Set c-format flags on all strings extracted from
19876 util/grub.d/ (xgettext refuses to include these itself for strings
19877 it extracted from a shell file, but these really are c-format).
19878
5318fe98
VS
198792010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19880
19881 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19882 Avoid next pointing to nowhere.
19883
6c85b743
VS
198842010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19887 rather than assuming than rootblock is exactly in the middle.
19888 (grub_affs_label): Likewise.
19889
a2a08a35
VS
198902010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19891
19892 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19893 reserved_first_sector to 0.
19894 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19895 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19896 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19897
7059d1ec
VS
198982010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 Fix handling of UTF-16 UDF labels.
19901
19902 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19903 (read_string): .. here.
19904 (grub_udf_label): Use read_string.
19905
30aff4cb
BC
199062010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19907
19908 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19909 editor under argument scope.
19910 Reported by: Jordan Uggla
19911
5cf86f4b
VS
199122010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19913
19914 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19915
32570200
CW
199162010-12-18 Colin Watson <cjwatson@ubuntu.com>
19917
19918 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19919 line, and other keys scroll an entire page (previous handling was
19920 for \r and \n to scroll a page and other keys to scroll two lines).
19921
e1dffcf2
VS
199222010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19923
19924 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19925 Set ptrdest to correct get_physical_target_address rather than
19926 incorrect get_virtual_current_address.
19927
b04298cf 199282010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19929
19930 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19931 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19932
5367ecd3
CW
199332010-12-10 Colin Watson <cjwatson@ubuntu.com>
19934
19935 * .bzrignore: Ignore grub-core/rs_decoder.S.
19936
1fb430f8
CW
199372010-12-10 Colin Watson <cjwatson@ubuntu.com>
19938
19939 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19940 .mo/.mo.gz opening sequence to ...
19941 (grub_mofile_open_lang): ... here.
19942 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19943 * util/grub.d/00_header.in (grub_lang): Include country part of
19944 locale.
19945 Reported by: Mario Limonciello.
19946
a94a6671
RM
199472010-12-09 Robert Millan <rmh@gnu.org>
19948
19949 * NEWS: Document addition of ZFS support.
19950
24b7938b
CW
199512010-12-04 Colin Watson <cjwatson@ubuntu.com>
19952
19953 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19954 rather than `/ 2', as the latter requires -Wa,--divide which would
19955 require bumping our minimum binutils version.
19956
bddc3ef6
BC
199572010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19958
19959 * util/grub-script-check.c (main): Print script line number on
19960 error.
19961
bf78d5b2
RM
199622010-12-01 Robert Millan <rmh@gnu.org>
19963
19964 * grub-core/fs/zfs/zfs.c: New file.
19965 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19966 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19967 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19968 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19969
19970 * include/grub/zfs/dmu.h: Likewise.
19971 * include/grub/zfs/dmu_objset.h: Likewise.
19972 * include/grub/zfs/dnode.h: Likewise.
19973 * include/grub/zfs/dsl_dataset.h: Likewise.
19974 * include/grub/zfs/dsl_dir.h: Likewise.
19975 * include/grub/zfs/sa_impl.h: Likewise.
19976 * include/grub/zfs/spa.h: Likewise.
19977 * include/grub/zfs/uberblock_impl.h: Likewise.
19978 * include/grub/zfs/vdev_impl.h: Likewise.
19979 * include/grub/zfs/zap_impl.h: Likewise.
19980 * include/grub/zfs/zap_leaf.h: Likewise.
19981 * include/grub/zfs/zfs.h: Likewise.
19982 * include/grub/zfs/zfs_acl.h: Likewise.
19983 * include/grub/zfs/zfs_znode.h: Likewise.
19984 * include/grub/zfs/zil.h: Likewise.
19985 * include/grub/zfs/zio.h: Likewise.
19986 * include/grub/zfs/zio_checksum.h: Likewise.
19987
19988 * Makefile.util.def: Build ZFS into libgrubmods.
19989 * grub-core/Makefile.core.def: Build zfs.mod.
19990
3f0f3831
SJ
199912010-11-30 Szymon Janc <szymon@janc.net.pl>
19992
19993 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19994 variable.
19995 * grub-core/commands/wildcard.c (match_files): Likewise.
19996
3a4253b2
RM
199972010-11-30 Robert Millan <rmh@gnu.org>
19998
19999 * grub-core/loader/i386/bsd.c
20000 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
20001 whether kernel is loaded using grub_loader_is_loaded(), rather
20002 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
20003 certain error conditions.
20004
8c317b27
RM
200052010-11-30 Robert Millan <rmh@gnu.org>
20006
c5c9cd3e
RM
20007 * grub-core/commands/echo.c: Include `<grub/term.h>'.
20008 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 20009
49d3ab46
VS
200102010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20011
20012 Avoid using tricks for initialising endian variables.
20013
20014 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
20015 Make const.
20016 (GRUB_MOD_INIT): Don't byte-swap.
20017 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20018 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
20019 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
20020 (grub_swap_bytes32_compile_time): Likewise.
20021 (grub_cpu_to_le32_compile_time): Likewise.
20022 (grub_cpu_to_le16_compile_time): Likewise.
20023
f420a804
VS
200242010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20025
20026 * util/grub-setup.c (setup): Stop recommending --force. People who
20027 understand the dangers of blocklists are able to find this option
20028 anyway and the ones who don't shouldn't use it anyway.
20029
4e7db17b
RM
200302010-11-26 Robert Millan <rmh@gnu.org>
20031
20032 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20033 Update all users.
20034
9be57a0d
CW
200352010-11-26 Colin Watson <cjwatson@ubuntu.com>
20036
20037 Fix LVM-on-RAID probing.
20038
20039 * util/grub-probe.c (probe): Remember which disk was detected as
20040 RAID (perhaps an LVM physical volume). Use that disk's raidname
20041 rather than that of the top-level disk.
20042
2c7859b3 200432010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 20044
d7647bb6
BC
20045 Fix cmdline argument quotes for setparams command of menuentry
20046 definitions.
7e623b0d
BC
20047
20048 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20049 quotes for arguments.
f866fe80 20050 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 20051 grub_strchrsub function instead.
f866fe80 20052
7955bea0 20053 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 20054
74f72a64
CW
200552010-11-24 Colin Watson <cjwatson@ubuntu.com>
20056
20057 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20058 effort by skipping "." and ".." entries up-front.
20059 Suggested by: Michael Lazarev.
20060
5a407278
CW
200612010-11-24 Colin Watson <cjwatson@ubuntu.com>
20062
20063 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20064 ldflags to ldadd, to fix link line ordering.
20065 (none_decompress): Likewise.
20066
3030d8ec
CW
200672010-11-24 Colin Watson <cjwatson@ubuntu.com>
20068
20069 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20070 platforms.
20071 (grub-emu-lite): Remove kern/emu/cache.S.
20072
b7fbac12
CW
200732010-11-23 Colin Watson <cjwatson@ubuntu.com>
20074
20075 * util/deviceiter.c (compare_devices): If the by-id link for a
20076 device couldn't be resolved, fall back to sorting by the by-id link
20077 rather than segfaulting.
20078 Reported and tested by: Daniel Mierswa.
20079
5225f328
CW
200802010-11-23 Colin Watson <cjwatson@ubuntu.com>
20081
20082 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20083 ldflags, to fix link line ordering.
20084
038b3ce8
CW
200852010-11-23 Colin Watson <cjwatson@ubuntu.com>
20086
20087 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20088 linkers are picky about this.
20089
bf16e98e
CW
200902010-11-23 Colin Watson <cjwatson@ubuntu.com>
20091
20092 * grub-core/Makefile.am (command.lst): Adjust sed expression
20093 ordering so that extended and priority commands aren't treated as
20094 ordinary commands.
20095
7242bab6
CW
200962010-11-23 Colin Watson <cjwatson@ubuntu.com>
20097
20098 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20099 Remove byte-swapping function calls, which are not valid in
20100 structure initialisers.
20101 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20102 non-const.
20103 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20104 grub_gpt_partition_type_bios_boot.
20105
14e8b279
CW
201062010-11-22 Colin Watson <cjwatson@ubuntu.com>
20107
20108 Fix test program build on GNU/kFreeBSD.
20109
20110 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20111 $(LIBNVPAIR)' library dependencies.
20112
e6f63338 201132010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
20114
20115 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20116
cf8ffc38
CW
201172010-11-22 Colin Watson <cjwatson@ubuntu.com>
20118
20119 * util/grub-install.in: Remove excessive quoting that broke
20120 installations to RAID devices.
20121
7f8b0fd7
VS
201222010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20123
20124 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20125 bootloader version instead of 0.
20126
dfd240b1
VS
201272010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20128
20129 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20130 warning.
20131
7b61e609
VS
201322010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20135 retrieve the metadat sector if size isn't known.
20136 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20137
9dfe92d0
RM
201382010-11-18 Robert Millan <rmh@gnu.org>
20139
20140 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20141 with grub_memcmp().
20142
41cc919e
VS
201432010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20144
20145 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20146 arrow.
20147 Reported by: Jordan Uggla.
20148
1afcc914
VS
201492010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20150
20151 Make better UTF compliant.
20152
20153 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20154 sequences as incorrect.
20155 (grub_is_valid_utf8): Likewise.
20156 (grub_utf8_to_ucs4): Likewise.
20157 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
20158 (grub_ucs4_to_utf8_alloc): Likewise.
20159 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
20160
f1808884
VS
201612010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20162
20163 Make legacy_source behave like source.
20164
20165 * grub-core/commands/legacycfg.c (legacy_file): Don't call
20166 grub_show_menu.
20167 (grub_cmd_legacy_source): Call grub_show_menu if needed.
20168
24ec575b
CW
201692010-11-16 Colin Watson <cjwatson@debian.org>
20170
20171 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20172 (-Wunused implies -Wunused-parameter, but not vice versa).
20173
72b7c7aa
CW
201742010-11-16 Colin Watson <cjwatson@ubuntu.com>
20175
20176 * configure.ac: Make error messages less confusing by testing for
20177 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20178 accepted, but produces a diagnostic if something else is wrong).
20179
e98937aa
VS
201802010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20181
20182 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20183 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20184 (now unused).
20185 (grub_keyboard_controller_init)
20186 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
20187 read the initial state since controller isn't inited yet.
20188
f6bbabc3
VS
201892010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20190
20191 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
20192 allocate_regbeg may need to create new chunk header.
20193
22e7dbb2
VS
201942010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20195
20196 Fix quoting in legacy parser.
20197
20198 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20199 single quotes.
20200 (grub_legacy_parse): Likewise.
20201 Reported by: Jordan Uggla.
20202 Tested by: Jordan Uggla.
20203
03f80960
VS
202042010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20205
20206 Don't add -lgcc on i386 and x86_64.
20207
20208 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20209 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20210 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20211
779dc15b
VS
202122010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20213
20214 * configure.ac: Add -Wno-trampolines when supported.
20215
d20a3b37
MV
202162010-11-14 Modestas Vainius <modax@debian.org>
20217
20218 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20219 fakeraid.
20220
e5360933
GC
202212010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20222
20223 Add generic logical block size support for UDF.
20224
20225 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20226 (GRUB_UDF_BLKSZ): Removed.
20227 (struct grub_udf_data): New field "lbshift" to hold the logical block
20228 size of the file system in log2 format. All users updated.
20229 (sblocklist): Change type to unsigned.
20230 (grub_udf_mount): Change type of "sblklist" to unsigned.
20231 Move AVDP search before VRS recognition, because the latter requires
20232 knowledge of the logical block size, which is detected during the
20233 former.
20234 Detect and validate logical block size during AVDP search, adding
20235 support for block sizes 512, 1024 and 4096.
20236 Make VRS recognition independent of block size.
20237
cb0229c5
GC
202382010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20239
20240 Properly handle deleted files on UDF.
20241
20242 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20243 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20244 set.
20245
406858a8
GC
202462010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20247
20248 Support reading files larger than 2 GiB.
20249
20250 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20251 "offset" to grub_off_t.
20252 (grub_udf_read_file): Likewise for parameter "pos".
20253
130da6a7
VS
202542010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20255
20256 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20257 unavailable.
20258 (Simple configuration): Refer to Changes from GRUB Legacy about
20259 save_env availability.
20260
65e93f6b
VS
202612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20262
20263 * util/grub-install.in: Ignore empty partition table detection
20264 instead of trying to include part_ module.
20265
1fd08bf1
VS
202662010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20267
20268 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20269 LVM on RAID support.
20270
de1a024f
VS
202712010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20272
20273 Properly define WORDS_BIGENDIAN in wrapped environments.
20274
20275 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20276 definition.
20277 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20278
20279 Reported by: Manoel Rebelo Abranches.
20280 Tested by: Manoel Rebelo Abranches.
20281
bc5dd0b9
VS
202822010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20283
20284 * util/grub-mkconfig.in: Fix quoting.
20285
58c184be
VS
202862010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20287
20288 Support big ext2 files.
20289
20290 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20291 (grub_ext2_read_block): Support triple indirect blocks.
20292 (grub_ext2_read_file): Use 64-bit types and read size_high.
20293 (grub_ext2_open): Read size_high.
20294 Reported by: Ximin Luo.
20295 Tested by: Manoel Rebelo Abranches.
20296
5f0c02b3
VS
202972010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20298
20299 * util/grub-install.in: Handle filenames containing spaces.
20300 Reported by: Jordan Uggla.
20301 Tested by: Jordan Uggla.
20302
4417aae6
VS
203032010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20304
20305 * util/grub-mkconfig.in (grub_script_check): New variable.
20306 Use grub_script_check instead of grub-script-check.
20307 Reported by: Barry Jackson.
20308
7625a68e
VS
203092010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20310
20311 * docs/grub.texi (menu): Correct the order.
20312 Reported by: D. Hugh Redelmeier.
20313
10001ac5
VS
203142010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20315
20316 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20317 jump.
20318
9c4cf53b
MRA
203192010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20320
10001ac5
VS
20321 * include/grub/elfload.h (grub_elf32_size): New parameter.
20322 All users updated.
9c4cf53b
MRA
20323 Return maximum segments alignment.
20324 (grub_elf64_size): Likewise.
20325 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20326 Return maximum segments alignment.
20327 (grub_elf64_size): Likewise.
20328 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
20329 (grub_linux_claimmap_iterate): New function. Uses the
20330 "available" property in the "memory" node for memory allocation
20331 for kernel in the PowerPC loader.
9c4cf53b
MRA
20332 (grub_linux_load32): Correctly find linux entry point offset.
20333 (grub_linux_load64): Likewise.
20334
d2bf06bf
RM
203352010-11-07 Robert Millan <rmh@gnu.org>
20336
20337 On mips-yeeloong, build with -march=loongson2f when this flag is
20338 available (GCC >= 4.4).
20339 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20340 `-march=mips3'.
20341 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20342 or otherwise add -march=mips3.
20343
898c99a2
BC
203442010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20345
87220a68
BC
20346 Suppress shell expansion on echo '*' and echo "*" like cases.
20347 Reported by: Jordan Uggla.
898c99a2
BC
20348
20349 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20350 string arguments before shell expansion.
20351 * tests/grub_cmd_echo.in: New testcases.
20352
4f9b406a
RM
203532010-11-07 Robert Millan <rmh@gnu.org>
20354
20355 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20356 transition.
20357
80c6d25e
VS
203582010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20359
20360 * grub-core/kern/emu/hostdisk.c
20361 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20362
4a1a0153
VS
203632010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20364
20365 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20366 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20367 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20368
34706ddc
VS
203692010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20372
6972dea9
VS
203732010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20374
20375 * util/grub-install.in: Replace useless recomendation to pass
20376 --modules with a recomendation to report a bug.
20377
9c693bd6
VS
203782010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20379
20380 Properly register serial terminfo.
20381 Reported by: Jordan Uggla
20382
20383 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20384 const.
20385 (grub_serial_terminfo_output_template): Likewise.
20386 (grub_cmd_serial): Register "serial" with terminfo.
20387 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20388 grub_serial_terminfo_output.
20389
6c9e4c0c
RM
203902010-11-05 Robert Millan <rmh@gnu.org>
20391
20392 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20393 needed).
20394
b9b3839f
RM
203952010-11-05 Robert Millan <rmh@gnu.org>
20396
20397 On Yeeloong, pass machine type information to Linux.
20398
20399 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20400 (LOONGSON_MACHTYPE): New macro, set to
20401 "machtype=lemote-yeeloong-2f-8.9inches".
20402 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20403 additional argument to Linux.
20404
1a3aaff4
RM
204052010-11-04 Robert Millan <rmh@gnu.org>
20406
20407 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20408 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20409 (its SATA disks are detected as slaveless IDE master drives on
20410 kFreeBSD).
20411 Reported by Carsten Aulbert.
20412
a75f4f62
CW
204132010-11-02 Colin Watson <cjwatson@ubuntu.com>
20414
20415 * util/bin2h.c (main): Fix spelling error in generated output.
20416
33b4b0c6
GS
204172010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20418
20419 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20420
2b36fbf4
VS
204212010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20422
20423 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20424 vga= option is supplied.
20425
74aaf558
VS
204262010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20427
20428 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20429 * util/grub.d/10_kfreebsd.in: Likewise.
20430 * util/grub.d/10_linux.in: Likewise.
20431 * util/grub.d/20_linux_xen.in: Likewise.
20432
6428dec3
VS
204332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20434
20435 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20436 argument as an argument to no-argument option.
20437
f8729d98
VS
204382010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20439
20440 * util/grub.d/10_linux.in: Add missing load_video with explicit
20441 GRUB_GFXPAYLOAD_LINUX.
20442
89d68fa6
VS
204432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20444
20445 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20446
3a1197cd
VS
204472010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20448
20449 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20450 elements with invlid index.
20451 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20452 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20453 members.
20454 * include/grub/raid.h (grub_raid_member): New struct.
20455 (grub_raid_array): Transform devices and start_sector into usage of
20456 grub_raid_member. All users updated
20457 (allocated_devs): New member.
20458
71574288
VS
204592010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20460
20461 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20462 is modified
20463
8d40ec65
BC
204642010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20465
20466 NetBSD build fix for getline function conflict from gnulib.
20467
20468 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20469 components that depend on gnulib headers.
20470 (libgrubmods.a): Renamed from earlier libgrub.a.
20471 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20472
95b9257e
VS
204732010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20474
20475 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20476 install rather than creating a broken install.
20477
26c53dc6
VS
204782010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20479
20480 * util/grub-setup.c (argp): Remove misleading example of installing to
20481 a partition.
20482
4171b3c5
VS
204832010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20484
20485 * util/grub-setup.c (setup): Clarify the error message.
20486
18568d18
VS
204872010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20488
20489 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20490
4f6a2e21
VS
204912010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20492
20493 * grub-core/kern/emu/misc.c
20494 (grub_make_system_path_relative_to_its_root)
20495 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20496
204972010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20498
20499 * grub-core/kern/emu/misc.c
20500 (grub_make_system_path_relative_to_its_root): Revert r2882.
20501
e138c458
VS
205022010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20503
20504 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20505 useless field head. All users updated.
20506 (free_subchunk): Correct handling of IN_REGION subchunk.
20507
0cbcdf0e
CW
205082010-10-22 Colin Watson <cjwatson@ubuntu.com>
20509
20510 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20511 (Supported kernels): Likewise.
20512
b65ea155
GS
205132010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20514
20515 Make mktemp invocations portable.
20516
20517 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20518 exit if mktemp fails.
20519 * tests/grub_script_blockarg.in: Likewise.
20520 * tests/partmap_test.in: Likewise.
20521 * tests/util/grub-shell-tester.in: Likewise.
20522 * tests/util/grub-shell.in: Likewise.
20523 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20524 * Makefile.am: Likewise, and chain shell commands with `&&'
20525 instead of ';'.
20526 * util/grub-mkrescue.in: Use the same explicit template as above, and
20527 exit if mktemp fails.
20528
05f43cdd
BC
205292010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20530
20531 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20532 Linux kernel, reported by Dennis Schridde.
20533
800e6a9b
SJ
205342010-10-17 Szymon Janc <szymon@janc.net.pl>
20535
20536 * grub-core/normal/auth.c (grub_auth_check_authentication):
20537 Set-but-not-used variable removed.
20538
d82df574
VS
205392010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20540
20541 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20542 32-bit linux protocol.
20543
7bced458
VS
205442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20545
20546 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20547 cursor shape for sanity.
20548
5b027690
VS
205492010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20550
20551 * docs/grub.texi (Installation): Document buggy BIOS install.
20552
ba5f65cf
VS
205532010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20554
20555 * docs/grub.texi (Installation): Indent.
20556
fdf2ec9c
VS
205572010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20558
20559 * util/grub-setup.c (setup): New parameter allow_floppy.
20560 (arguments): New member allow_floppy.
20561 (argp_parser): Handle --allow-floppy.
20562 (main): Pass allow_floppy.
20563 * util/grub-install.in: New option --allow-floppy passed though to
20564 grub-setup.
20565
861dfd4c
VS
205662010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20567
20568 * util/grub-install.in: Handle partitionless disks.
20569
f77a8c24
VS
205702010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20571
20572 * util/grub-setup.c (setup): Don't clean blocklists before readability
20573 verfification.
20574
27d9ee32
VS
205752010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20576
20577 * docs/grub.texi (Installation): Document embedding zone. Remove
20578 obsolete grub-install example.
20579
6bdda8f8
SJ
205802010-10-16 Szymon Janc <szymon@janc.net.pl>
20581
20582 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20583 Set-but-not-used variable ifdef'ed.
20584 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20585 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20586 variable removed.
20587 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20588 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20589 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20590 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20591 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20592 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20593 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20594 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20595 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20596 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20597 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20598 Likewise.
20599
e19b016b
VS
206002010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20601
20602 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20603 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20604 enum value.
20605
6c8d3002
VS
206062010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20607
20608 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20609 synonym to _S5_. Needed for some DSDTs.
20610
c32b51c9
VS
206112010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20612
20613 Userspace ACPI parser debugging.
20614
20615 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20616 headers and add relevant defines. Don't include standard headers.
20617 (main) [GRUB_DSDT_TEST]: New function.
20618 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20619 Don't declare functions.
20620
fbfbeb39
VS
206212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20622
20623 Remove dead grub_efi_mm_fini.
20624
20625 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20626 (ALLOCATED_PAGES_SIZE): Likewise.
20627 (MAX_ALLOCATED_PAGES): Likewise.
20628 (allocated_pages): Likewise.
20629 (grub_efi_allocate_pages): Don't record allocated pages.
20630 (grub_efi_free_pages): Likewise.
20631 (grub_efi_mm_init): Likewise.
20632 (grub_efi_mm_fini): Removed.
20633
65f7ed7c
VS
206342010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20635
20636 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20637 (grub_efi_mm_init): Take into account the memory map size increase.
20638
24977b44
VS
206392010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20640
20641 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20642 (serial_hw_put): Wait based on real time rather than port reads. Don't
20643 roken ports.
20644 * include/grub/serial.h (grub_serial_port): New field broken.
20645
1eb01cd2
RM
206462010-10-16 Robert Millan <rmh@gnu.org>
20647
20648 * grub-core/kern/emu/misc.c
20649 (grub_make_system_path_relative_to_its_root): Fix premature return
20650 when processing non-root ZFS filesystems.
5f8b440b 20651 Reported by Sergio Talens-Oliag.
1eb01cd2 20652
2d5fed60
RM
206532010-10-15 Robert Millan <rmh@gnu.org>
20654
20655 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20656 guarantee compressed ones are processed first.
20657
d0f4c1ea
VS
206582010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20659
20660 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20661 grub_efiemu_autocore.
20662
d87c681f
VS
206632010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20664
20665 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20666 rather than 0x1b.
20667 (grub_console_getkey): Use correct jae opcode rather than ja.
20668
219b3564
RM
206692010-10-12 Robert Millan <rmh@gnu.org>
20670
20671 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20672 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20673 variable. All references updated.
20674
20675 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20676
20c6bb7e
VS
206772010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20678
20679 Correctly distinguish mdraid flavours.
20680
20681 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20682 (insert_array): New argument raid.
20683 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20684 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20685 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20686
74baff84
VS
206872010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20688
20689 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20690 handling of special keys.
20691
3ef068df 206922010-10-02 Aleš Nesrsta <starous@volny.cz>
20693
c7980ad9
VS
20694 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20695 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20696
a9455194 206972010-10-02 Aleš Nesrsta <starous@volny.cz>
20698
c7980ad9
VS
20699 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20700 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20701 users updated.
a9455194 20702 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20703 Use right endpoint when querying descriptor.
a9455194 20704
441cfe65
VS
207052010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20706
20707 Clear out 0x80 color bit on EFI.
20708 Tested by: decoder
20709 Reported by: decoder and meta tech.
20710
20711 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20712 (grub_console_setcolorstate): Clear out 0x80 bit.
20713 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20714 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20715 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20716
bf26bcc4
VS
207172010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20718
20719 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20720 Set to "auto".
20721
6e3c515d
VS
207222010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20723
20724 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20725 mo_file after freeing.
20726
e6d983ba
VS
207272010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20728
20729 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20730
74ccb5b5
VS
207312010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20732
20733 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20734 flags.
20735
17821956
VS
207362010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20737
20738 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20739 usage.
20740
ee74fa48
VS
207412010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20742
20743 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20744
20745 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20746 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20747 and terminfo.h when needed.
20748 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20749 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20750 (terminfo): Enable only on terminfokernel.
20751 (extcmd): Likewise.
20752 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20753 * include/grub/lib/arg.h: Likewise.
20754 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20755 incorrect usage of ->.
20756
aa438e68
VS
207572010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20758
20759 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20760 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20761
57994012
VS
207622010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20763
20764 Fix coreboot compilation.
20765
20766 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20767 Take VBE info into account even if only text is supported.
20768 (fill_vbe_info): Take into account the case when only VGA text
20769 is supported.
20770 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20771 on coreboot, multiboot and qemu.
20772
2a406611
VS
207732010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20774
20775 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20776 debug messages.
20777 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20778
d33613fc
VS
207792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20780
20781 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20782 parameters.
20783
44a1b432
VS
207842010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20785
20786 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20787 if they were BSD-style.
20788
edde54e6
VS
207892010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20790
20791 * grub-core/boot/i386/pc/lnxboot.S: Replace
20792 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20793 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20794
b65830fa
VS
207952010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20796
20797 Write embedding zone using Reed-Solomon.
20798
20799 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20800 * grub-core/Makefile.am (rs_decoder.S): New target.
20801 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20802 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20803 (multiboot): Move to RS part.
20804 (post_reed_solomon): New label.
20805 (grub_boot_drive): Move to non-RS part since it's modified in memory
20806 on boot.
20807 Include rs_decoder.S.
20808 * grub-core/lib/reed_solomon.c: New file.
20809 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20810 New definition.
20811 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20812 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20813 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20814 * include/grub/partition.h (grub_partition_map): Change prototype of
20815 embed to allow returning additional sectors.
20816 * include/grub/reed_solomon.h: New file.
20817 * util/grub-setup.c (setup): Handle Reed-Solomon.
20818
0b4b227f
CW
208192010-09-28 Colin Watson <cjwatson@ubuntu.com>
20820
20821 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20822 i386 and x86-64 definedness tests.
20823
f772623b
YB
208242010-09-27 Yves Blusseau <blusseau@zetam.org>
20825
20826 Fix generation of kernel_syms.lst
20827
20828 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20829 ASM_PREFIX
20830
8e57a6ca
RM
208312010-09-26 Robert Millan <rmh@gnu.org>
20832
20833 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20834
20835 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20836 the pool is an array of devices, iterate through it and return the
20837 first device that passes a stat() test (instead of blindly returning
20838 the first one).
20839
f9130836
RM
208402010-09-26 Robert Millan <rmh@gnu.org>
20841
20842 Build fixes for GNU/kFreeBSD.
20843
20844 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20845 to programs that require ZFS conversion.
20846 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20847 kernels that don't have FLOPPY_MAJOR.
20848
96510faf
BC
208492010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20850
20851 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20852
449333eb
BC
208532010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20854
20855 Fix grub-emu build.
20856
20857 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20858 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20859 mdraid09 and mdraid1x.
20860
e1fd1939
CW
208612010-09-24 Colin Watson <cjwatson@ubuntu.com>
20862
20863 Re-enable grub-extras.
20864
20865 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20866 avoid confusing Automake. Run autogen only twice, once for the top
20867 level and once for grub-core. Add Makefile.util.def and
20868 Makefile.core.def from extra modules to the appropriate autogen
20869 invocations. If Makefile.common exists in an extra module, include
20870 it in both Makefile.util.am and grub-core/Makefile.core.am;
20871 similarly, include any Makefile.util.common file in Makefile.util.am
20872 and any Makefile.core.common file in grub-core/Makefile.core.am.
20873 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20874 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20875 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20876 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20877
20878 * gentpl.py (gvar_add): Turn GVARS into a set.
20879 (global_variable_initializers): Sort global variables on output.
20880 (vars_init): New function.
20881 (first_time): Likewise.
20882 (library): Ensure that non-global variable initialisations are
20883 emitted before the first time we emit code for a library block.
20884 Append to variables rather than setting them. Only emit
20885 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20886 each conditional path.
20887 (program): installdir() emits an Autogen macro, so must be passed to
20888 var_add rather than gvar_add.
20889 (data): Likewise.
20890 (script): Likewise.
20891 (rules): New function, centralising handling for different target
20892 types. Set up Guile association lists for first_time and vars_init,
20893 and send most output to a diversion so that variable initialisations
20894 can be emitted first.
20895 (module_rules): Use new rules function.
20896 (kernel_rules): Likewise.
20897 (image_rules): Likewise.
20898 (library_rules): Likewise.
20899 (program_rules): Likewise.
20900 (script_rules): Likewise.
20901 (data_rules): Likewise.
20902
20903 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20904
20905 * .bzrignore: Add contrib and grub-core/contrib. Remove
20906 grub-core/Makefile.gcry.am.
20907
1d12cf29
YB
209082010-09-24 Yves Blusseau <blusseau@zetam.org>
20909
20910 * grub-core/lib/LzFind.c: Add missing include.
20911 * grub-core/lib/LzmaEnc.c: Likewise.
20912 * grub-core/script/lexer.c: Likewise.
20913 * grub-core/script/yylex.l: Likewise.
20914 * util/grub-macho2img.c: Likewise.
20915 * util/grub-menulst2cfg.c: Likewise.
20916 * util/grub-mklayout.c: Likewise.
20917 * util/grub-mkpasswd-pbkdf2.c
20918 * util/grub-mkrelpath.c: Likewise.
20919 * util/resolve.c: Likewise.
20920
dd363028
BC
209212010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20922
20923 * Makefile.util.def (example_unit_test): Add
20924 grub-core/gnulib/libgnu.a.
20925
f5a109e2
GS
209262010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20927
20928 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20929
6d0fa83c
VS
209302010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20931
20932 Support xz compression on yeeloong.
20933
20934 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20935 * configure.ac: Check for LZMA.
20936 * grub-core/Makefile.core.def (xz_decompress): New target.
20937 (none_decompress): Likewise.
20938 * grub-core/boot/decompressor/minilib.c: New file.
20939 * grub-core/boot/decompressor/none.c: Likewise.
20940 * grub-core/boot/decompressor/xz.c: Likewise.
20941 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20942 * grub-core/kern/mips/cache_flush.S: Likewise.
20943 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20944 * grub-core/kern/mips/startup.S: Move first stage to ...
20945 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20946 nomacro.
20947 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20948 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20949 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20950 Allocate statically.
20951 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20952 Allocate statically or use scratch. Don't check CRC32.
20953 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20954 Allocate statically. Don't check CRC32.
20955 * include/grub/decompressor.h: New file.
20956 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20957 Removed.
20958 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20959 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20960 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20961 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20962 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20963 * util/grub-mkimage.c (grub_compression_t): New type.
20964 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20965 (image_target_desc): New field default_compression.
20966 (image_targets): Adjust yeeloong targets.
20967 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20968 (compress_kernel): New parameter comp.
20969 (generate_image): Likewise. Handle new compression case.
20970 (options): New option --compression
20971 (help): Likewise.
20972 (main): Handle new option.
20973
1b655af6
GS
209742010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20975
20976 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20977
8f03f0b5
CW
209782010-09-22 Colin Watson <cjwatson@ubuntu.com>
20979
20980 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20981 typo in __i386__ conditional.
20982
7835dfd3
VS
209832010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20984
20985 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20986 include.
20987
e255597e
VS
209882010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20989
6d0fa83c 20990 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20991
20992 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20993 new tags as supported.
20994 (acpiv2_size): New function.
20995 (grub_multiboot_get_mbi_size): Take new tags into account.
20996 (grub_multiboot_make_mbi): Add new tags.
20997 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20998
6cc14051 209992010-09-21 Aleš Nesrsta <starous@volny.cz>
21000
21001 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
21002 Added missing configuration of USB device.
21003
df7769d8
CW
210042010-09-21 Colin Watson <cjwatson@ubuntu.com>
21005
21006 * grub-core/normal/menu_entry.c (run): Make sure we always return
21007 a value.
21008
b031012d
CW
210092010-09-21 Colin Watson <cjwatson@ubuntu.com>
21010
21011 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
21012 NumberOfPages is UINT64 according to the UEFI specification, not
21013 UINTN. Fix printf format.
21014
174de8f3
CW
210152010-09-21 Colin Watson <cjwatson@ubuntu.com>
21016
21017 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
21018 `err' to grub_usb_err_t.
21019 Reported and tested by: KESHAV P.R.
21020
d7dbe923
CW
210212010-09-21 Colin Watson <cjwatson@ubuntu.com>
21022
21023 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
21024 tpart non-const, so that we can assign to it. (Since this is a
21025 typedef, the constness refers to the pointer rather than what it
21026 points to.)
21027
8d5e2af3
CW
210282010-09-21 Colin Watson <cjwatson@ubuntu.com>
21029
21030 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21031 $(top_srcdir)/grub-core/gnulib as well as
21032 $(top_builddir)/grub-core/gnulib.
21033 Reported by: KESHAV P.R.
21034
5c527783
CW
210352010-09-21 Colin Watson <cjwatson@ubuntu.com>
21036
21037 * util/grub-install.in: Fix the bootloader ID option to be
21038 consistently --bootloader-id, not --bootloader_id.
21039 Reported by: KESHAV P.R.
21040
d309a16e
CW
210412010-09-21 Colin Watson <cjwatson@ubuntu.com>
21042
21043 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21044 check hash checksum." consistently translatable.
21045
b830cd16
YB
210462010-09-21 Yves Blusseau <blusseau@zetam.org>
21047
21048 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21049 $(top_builddir).
21050
c4fe27a8
CW
210512010-09-21 Colin Watson <cjwatson@ubuntu.com>
21052
21053 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21054 (GRUB_MOD_INIT): Register sha1sum command.
21055 (GRUB_MOD_FINI): Unregister sha1sum command.
21056
a4c1d277
YB
210572010-09-21 Yves Blusseau <blusseau@zetam.org>
21058
21059 Keep boot and grub directory names in sync with utils scripts
21060
21061 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21062 * config.h.in: Add previous macros.
21063 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21064 * util/grub-install.in: Use $bootdir and $grubdir variables.
21065
4eff79d2
CW
210662010-09-21 Colin Watson <cjwatson@ubuntu.com>
21067
21068 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21069 convert partition names to disk names if the new `convert' parameter
21070 is set.
21071 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21072 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21073 disk in its own right. This can happen with Xen disk images.
21074
934d7e44
YB
210752010-09-21 Yves Blusseau <blusseau@zetam.org>
21076
21077 * util/grub-editenv.c: Update strings to avoid warnings when generating
21078 grub.pot file.
21079 * util/grub-setup.c: Likewise.
934d7e44 21080
df3367cc
VS
210812010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21082
21083 * configure.ac: Change version to 1.99~beta0.
21084
77a94e98
VS
210852010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21086
21087 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21088 Add BADRAM.
21089 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21090 Likewise.
21091 * include/multiboot.h: Resynced with specification.
21092 * include/multiboot2.h: Likewise.
21093
269004c1
CW
210942010-09-21 Colin Watson <cjwatson@ubuntu.com>
21095
21096 Fix po directory handling.
21097
21098 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21099 * grub-core/gnulib/Makefile.am: Import gettext module.
21100 * m4/gnulib-cache.m4: Likewise.
21101 * m4/gnulib-comp.m4: Likewise.
21102 * m4/gettext.m4: New file, from gnulib.
21103 * m4/glibc2.m4: Likewise.
21104 * m4/iconv.m4: Likewise.
21105 * m4/intdiv0.m4: Likewise.
21106 * m4/intl.m4: Likewise.
21107 * m4/intldir.m4: Likewise.
21108 * m4/intlmacosx.m4: Likewise.
21109 * m4/intmax.m4: Likewise.
21110 * m4/inttypes-pri.m4: Likewise.
21111 * m4/lcmessage.m4: Likewise.
21112 * m4/lib-ld.m4: Likewise.
21113 * m4/lib-link.m4: Likewise.
21114 * m4/lib-prefix.m4: Likewise.
21115 * m4/lock.m4: Likewise.
21116 * m4/nls.m4: Likewise.
21117 * m4/po.m4: Likewise.
21118 * m4/printf-posix.m4: Likewise.
21119 * m4/progtest.m4: Likewise.
21120 * m4/threadlib.m4: Likewise.
21121 * m4/uintmax_t.m4: Likewise.
21122 * m4/visibility.m4: Likewise.
21123 * po/Makefile.am: Remove.
21124 * po/Makefile.in.in: New file, from gettext.
21125 ($(DOMAIN).pot-update): Support POTFILES-shell.
21126 * po/Makevars: New file.
21127 * po/POTFILES-shell: Rename to ...
21128 * po/POTFILES-shell.in: ... this. Update.
21129 * po/POTFILES: Rename to ...
21130 * po/POTFILES.in: ... this. Update.
21131 * po/Rules-quot: New file, from gettext.
21132 * po/boldquot.sed: Likewise.
21133 * po/en@boldquot.header: Likewise.
21134 * po/en@quot.header: Likewise.
21135 * po/insert-header.sin: Likewise.
21136 * po/quot.sed: Likewise.
21137 * po/remove-potcdate.sin: Likewise.
21138
3e0fa5d0
VS
211392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21140
21141 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21142
ade9bd66
VS
211432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21144
21145 * util/grub.d/20_linux_xen.in: Use submenus.
21146
fc55cc4c
VS
211472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21148
21149 Support submenus.
21150
21151 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21152 parameter submenu. All users updated.
21153 * grub-core/normal/main.c (free_menu): Rename to ...
21154 (grub_normal_free_menu): ... this. Made global.
21155 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21156 if requested.
21157 * grub-core/normal/menu_entry.c (screen): New field submenu.
21158 (make_screen): Set submenu.
21159 (run): Open new context if requested.
21160 * include/grub/menu.h (grub_menu_entry): New field submenu.
21161 * include/grub/normal.h (grub_normal_free_menu): New proto.
21162
600cedf7
VS
211632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21164
21165 Menu entries extractor.
21166
21167 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
21168 variants.
21169 (GRUB_MOD_INIT): Register new variants.
21170 (GRUB_MOD_FINI): Unregister new variants.
21171 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21172 into grub_cmd_legacy_source.
21173 (grub_cmd_legacy_source): Implement extractor variants.
21174 (GRUB_MOD_INIT): Register new variants.
21175 (GRUB_MOD_FINI): Unregister new variants.
21176 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21177 as an extractor.
21178 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21179 search as an extractor.
21180 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21181 test as an extractor.
21182 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21183 as an extractor.
21184 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21185 (grub_env_new_context): New function.
21186 (grub_env_context_open): Likewise.
21187 (grub_env_extractor_open): Likewise.
21188 (grub_env_extractor_close): Likewise.
21189 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21190 grub_extractor_level.
21191 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
21192 * include/grub/env.h (grub_env_extractor_open): New proto.
21193 (grub_env_extractor_close): Likewise.
21194 * include/grub/normal.h (grub_extractor_level): New external variable.
21195
7bda3a87
VS
211962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21197
21198 Make cutmem accept a region specification.
21199 Suggested by: Samuel Thibault
21200
21201 * grub-core/mmap/mmap.c (parsemem): New function.
21202 (grub_cmd_cutmem): Handle new arguments.
21203
2ea57f88
VS
212042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21205
21206 New command cutmem.
21207
21208 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21209 (GRUB_MOD_INIT): Register new command.
21210 (GRUB_MOD_FINI): Unregister new command.
21211
74342e31
VS
212122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21213
21214 Support some annoying BSD and Minix subpartitions.
21215
21216 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21217 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21218 Properly handle concatenation.
21219 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21220 * grub-core/normal/completion.c (iterate_partition): Likewise.
21221 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21222 contain partition. All users updated.
21223 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21224 struct.
21225 (grub_openbsdlabel_partition_map): Likewise.
21226 (bsdlabel_partition_map_iterate): Rename to ..
21227 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21228 (bsdlabel_partition_map_iterate): New function.
21229 (netopenbsdlabel_partition_map_iterate): Likewise.
21230 (netbsdlabel_partition_map_iterate): Likewise.
21231 (openbsdlabel_partition_map_iterate): Likewise.
21232 (GRUB_MOD_INIT): Register new partmaps.
21233 (GRUB_MOD_FINI): Unregister new partmaps.
21234 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21235 (grub_partition_msdos_iterate): ... this. All users updated.
21236 Don't support embedding other than in a minix partition.
21237 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21238 proto.
21239 * include/grub/partition.h (grub_partition): New field msdostype.
21240 * util/grub-install.in: Handle openbsd and netbsd types being in
21241 part_bsd module.
21242
1e8d555b
VS
212432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21244
21245 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21246
21247 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
21248 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21249 (mdraid09): ... this.
21250 (mdraid1x): New module.
21251 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21252 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21253
899d8af4
VS
212542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21255
21256 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21257 vsprintf.
21258
40901acd
CW
212592010-09-20 Colin Watson <cjwatson@ubuntu.com>
21260
21261 * grub-core/commands/efi/lsefimmap.c: Correct header.
21262 * NEWS: Update.
21263
dfe3b247
CW
212642010-09-20 Colin Watson <cjwatson@ubuntu.com>
21265
21266 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21267 as printf format strings; the translations might contain '%' which
21268 could cause a crash.
21269 (main): Likewise.
21270 * util/grub-fstest.c (argp_parser): Likewise.
21271 * util/grub-setup.c (argp_parser): Likewise.
21272 (main): Likewise.
21273
3286a4b4
VS
212742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21275
21276 Use argp in grub-fstest.
21277
21278 * util/grub-fstest.c: Don't include getopt.h.
21279 Include argp.h.
21280 (root): New variable.
21281 (args_count): Likewise.
21282 (nparm): Likewise.
21283 (num_disks): Likewise.
21284 (images): Likewise.
21285 (cmd): Likewise.
21286 (debug_str): Likewise.
21287 (args): Likewise.
21288 (options): Transformed to argp.
21289 (usage): Removed.
21290 (main): Split argument parsing into ...
21291 (argp_parser): ... this. Changed to argp format.
21292 (argp): New variable.
21293 (main): Use argp_parse.
21294
3dccbe4b
TG
212952010-09-20 Tristan Gingold <gingold@free.fr>
212962010-09-20 Robert Millan <rmh.grub@aybabtu.com>
212972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21298
21299 * grub-core/commands/efi/lsefimmap.c: New file.
21300 * grub-core/Makefile.core.def (lsefimmap): New module.
21301 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21302
38c259a7
VS
213032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21304
21305 Pause the execution (10s max) if any errors are displayed so the user
21306 has a chance to see them.
21307
21308 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21309 (grub_print_error): Increment grub_err_printed_errors.
21310 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21311 execution if any errors were displayed.
21312 (show_menu): Remove old code for pause.
21313 * grub-core/normal/menu_entry.c (run): Likewise.
21314 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21315 users updated.
21316 (grub_normal_get_char_counter): Likewise.
21317 * include/grub/err.h (grub_err_printed_errors): New external variable.
21318 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21319
f218b09c
VS
213202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21321
21322 Support multiboot VBE info.
21323
21324 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21325 Take VBE info into account.
21326 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21327 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21328 Call fill_vbe_info when appropriate.
21329 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21330 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21331 as supported.
21332 (grub_multiboot_get_mbi_size): Take new tags into account.
21333 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21334 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21335 Call fill_vbe_tag when appropriate.
21336 (grub_multiboot_make_mbi): Properly align tags.
21337 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21338 function.
21339 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21340 proto.
21341 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21342
a9cc5438
VS
213432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21344
21345 Suport manual terminal geometry specification.
21346
21347 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21348 Save state in grub_ofconsole_terminfo_output.
21349 (grub_ofconsole_term): Use grub_terminfo_getwh.
21350 (grub_ofconsole_getwh): Removed.
21351 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21352 (grub_serial_term): Use grub_terminfo_getwh.
21353 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21354 (options): New struct.
21355 (OPTION_*): New enum.
21356 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21357 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21358 width and height.
21359 (grub_terminfo_getwh): New proto.
21360 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21361
1a8fed20
VS
213622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21363
21364 Handle legacy "terminal" command.
21365
21366 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21367 and FLAG_TERMINAL.
21368 (legacy_commands): Add terminal and title.
21369 (grub_legacy_parse): Handle terminal. Simplify title handling.
21370
41e9c57d
VS
213712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21372
21373 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21374 parameters overflow.
21375
61c874c5
CW
213762010-09-20 Colin Watson <cjwatson@ubuntu.com>
21377
21378 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21379 widthspec.h.
21380
21381 * docs/grub.texi (Shell-like scripting): Document `!'.
21382 (Network): Simplify using new i386-pc-pxe format. Mention
21383 grub-mknetdir.
21384
21385 * NEWS: Update.
21386
943682b4
CW
213872010-09-20 Colin Watson <cjwatson@ubuntu.com>
21388
21389 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21390 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21391 when needed.
21392
6d3d698d
CW
213932010-09-20 Colin Watson <cjwatson@ubuntu.com>
21394
21395 * grub-core/commands/efi/lsefisystab.c: Correct header.
21396 * grub-core/commands/efi/lssal.c: Likewise.
21397 * grub-core/commands/testload.c: Likewise.
21398
c982589f
CW
213992010-09-20 Colin Watson <cjwatson@ubuntu.com>
21400
21401 * util/grub-mkrescue.in: Add explicit root argument to --set to
21402 prevent the UUID being interpreted as an argument to --set (matches
21403 previous change to prepare_grub_to_access_device).
21404
a63c31b6
CW
214052010-09-20 Colin Watson <cjwatson@ubuntu.com>
21406
21407 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21408 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21409 the verbosity of later #ifs.
21410 (find_partition_start): Define this function on FreeBSD too.
21411 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21412 function.
21413 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21414 on FreeBSD.
21415
6439b8ee
YB
214162010-09-20 Yves Blusseau <blusseau@zetam.org>
21417
21418 * util/grub-editenv.c: Use argp instead of getopt.
21419
c5930ec8
YB
214202010-09-20 Yves Blusseau <blusseau@zetam.org>
21421
21422 * util/grub-setup.c: Use argp instead of getopt.
21423
15c69261
YB
214242010-09-20 Yves Blusseau <blusseau@zetam.org>
21425
21426 Use gnulib-tool to create gnulib source files.
21427
21428 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21429 grub-core/gnulib directories
21430 * .bzignore: Add **/.deps and autogenerated gnulib files
21431 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21432 of gnulib macros, add grub-core/gnulib/Makefile
21433 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21434 include m4 directory to aclocal.
21435 * Makefile.util.def: Remove direct compilation of gnulib source files
21436 and use the new grub-core/gnulib/libgnu.a.
21437 * build-aux/config.rpath: move config.rpath from top directory to
21438 build-aux
21439 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21440 in gnulib headers
21441 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21442 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21443 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21444 header.
21445 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21446 string.
21447
e511c9f5
YB
214482010-09-20 Yves Blusseau <blusseau@zetam.org>
21449
21450 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21451 grub-core/genmod.sh and grub-core/gensyminfo.sh
21452
c2dede05
BC
214532010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21454
21455 Add a test for echo command options.
21456
21457 * tests/grub_cmd_echo.in: New test.
21458 * Makefile.util.def: Rules for new test.
21459
c55f5018
SJ
214602010-09-20 Szymon Janc <szymon@janc.net.pl>
21461
21462 Remove crc.mod and move crc command to hashsum.mod.
21463 Remove lib/crc.c - users updated to use gcrypt implementation.
21464
21465 * grub-core/commands/crc.c: Removed.
21466 * grub-core/Makefile.core.def (crc): Module removed.
21467 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21468 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21469 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21470 * grub-core/lib/crc.c: Removed.
21471 * include/grub/lib/crc.h: Removed.
21472 * Makefile.util.def (crc): Remove lib/crc.c
21473 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21474 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21475 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21476 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21477 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21478 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21479
e0337366
VS
214802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21481
21482 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21483
742f9232
VS
214842010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21485
21486 Split config.h for util and core.
21487
21488 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21489 (ADDR32): Likewise.
21490 (DATA32): Likewise.
21491 (BSS_START_SYMBOL): Likewise.
21492 (END_SYMBOL): Likewise.
21493 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21494 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21495 * config.h.in: New file.
21496 * configure.ac: Use config-util.h as config define file.
21497 Rename MACHINE into GRUB_MACHINE. All users updated.
21498 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21499 updated.
21500 (NESTED_FUNC_ATTR): Likewise.
21501 Substitue new variables.
21502 (COND_HAVE_ASM_USCORE): New conditional.
21503 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21504 (kernel_syms.lst): Use ASM_PREFIX.
21505 * grub-core/kern/emu/console.c: Include config-util.h.
21506 * grub-core/kern/emu/misc.c: Likewise.
21507 * grub-core/kern/emu/mm.c: Likewise.
21508 * include/grub/emu/misc.h: Likewise.
21509 * include/grub/libgcc.h: Likewise.
21510
39feb0e8
VS
215112010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21512
21513 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21514 constants usage.
21515 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21516 Fix GRUB_TERM_KEY_* constants usage.
21517 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21518
9af6dac3
VS
215192010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21520
21521 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21522 print pointer.
21523 * grub-core/bus/usb/uhci.c: Remove empty define.
21524 (grub_uhci_check_transfer): Add missing cast.
21525 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21526 print pointer.
21527 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21528 PRIuGRUB_SIZE.
21529 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21530
d6d94820
VS
215312010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21532
21533 * grub-core/Makefile.core.def (legacycfg): Add
21534 lib/i386/pc/vesa_modes_table.c on emu.
21535
3572f2b6
BC
215362010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21537
21538 Reduce number of temporary files generated by build system.
21539
21540 * grub-core/gencmdlist.sh: Removed.
21541 * grub-core/genfslist.sh: Removed.
21542 * grub-core/genhandlerlist.sh: Removed.
21543 * grub-core/genmodsrc.sh: Removed.
21544 * grub-core/genpartmaplist.sh: Removed.
21545 * grub-core/genparttoollist.sh: Removed.
21546 * grub-core/gentermiinallist.sh: Removed.
21547 * grub-core/genvideolist.sh: Removed.
21548
21549 * grub-core/genmod.sh.in: New file.
21550 * grub-core/gensyminfo.sh.in: New file.
21551
21552 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21553 * conf/Makefile.extra-dist: Update with new files.
21554 * gentpl.py: Remove rules related to unnecessary temporary files.
21555 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21556 and und-* files.
21557 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21558 genmod.sh scripts.
21559 * grub-core/bus/usb/uhci.c: Remove empty #define.
21560 * grub-core/genmoddep.awk: Updated with new syminfo format.
21561 * util/bash-completion.d/Makefile.am: Add config.log to
21562 CLEANFILES.
21563
c836b030
YB
215642010-09-19 Yves Blusseau <blusseau@zetam.org>
21565
21566 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21567
2f4e8053
BC
215682010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21569
21570 * util/grub-mkconfig.in: Check the config script for syntax errors
21571 before saving.
21572
75831c34
CW
215732010-09-19 Colin Watson <cjwatson@ubuntu.com>
215742010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21575
21576 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21577 platforms.
21578 * util/grub-install.in: Add EFI and IEEE1275 support.
21579 * util/i386/efi/grub-install.in: Removed.
21580 * util/ieee1275/grub-install.in: Likewise.
21581
eaf41b25
VS
215822010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21583
21584 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21585 (grub_cmd_cmosclean): Likewise.
21586 (GRUB_MOD_INIT): Register command cmosclean.
21587 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21588 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21589
1a9130dd
CPE
215902010-09-18 Carles Pina i Estany <carles@pina.cat>
215912010-09-18 Aleš Nesrsta <starous@volny.cz>
215922010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21593
21594 Add keyboard layouts support.
21595
21596 * Makefile.util.def (grub-mklayout): New file.
21597 (grub-kbdcomp): New script.
21598 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21599 Add keyboard_layouts.h.
21600 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21601 commands/boot.c on yeeloong.
21602 (keylayouts): New module.
21603 * grub-core/bus/usb/ohci.c
21604 * grub-core/bus/usb/uhci.c
21605 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21606 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21607 (attach_root_port): Likewise.
21608 (poll_nonroot_hub): Likewise.
21609 (grub_usb_poll_devices): Likewise.
21610 (detach_device): Close transfer.
21611 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21612 function.
21613 (grub_usb_bulk_setup_readwrite): Likewise.
21614 (grub_usb_bulk_finish_readwrite): Likewise.
21615 * grub-core/commands/keylayouts.c: New file.
21616 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21617 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21618 aliases.
21619 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21620 support scancode 2.
21621 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21622 * include/grub/keyboard_layouts.h: New file.
21623 * util/grub-mklayout.c: New file.
21624 * util/grub-kbdcomp.in: Likewise.
21625
a1d84a5e
VS
216262010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21627
21628 Unify memory types.
21629
21630 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21631 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21632 types.
21633 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21634 (grub_upper_mem): Likewise.
21635 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21636 * include/grub/memory.h (grub_memory_type_t): New enum.
21637 All users updated.
21638
9696382e
VS
216392010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21640
21641 * grub-core/Makefile.core.def (lsapm): New module.
21642 * grub-core/commands/i386/pc/lsapm.c: New file.
21643 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21644 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21645 Likewise.
21646 * include/grub/i386/pc/apm.h: New file.
21647 * include/multiboot.h (multiboot_apm_info): New struct.
21648
216492010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21650
21651 GRUB-legacy configuration file support.
21652
21653 * Makefile.util.def (grub-menulst2cfg): New util.
21654 * docs/man/grub-menulst2cfg.h2m: New file.
21655 * grub-core/Makefile.core.def (legacycfg): New module.
21656 * grub-core/commands/legacycfg.c: New file.
21657 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21658 (grub_normal_add_menu_entry): ... this.
21659 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21660 (grub_normal_set_password): ...this.
21661 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21662 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21663 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21664 * grub-core/lib/legacy_parse.c: New file.
21665 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21666 * include/grub/i386/pc/vesa_modes_table.h: New file.
21667 * include/grub/legacy_parse.h: Likewise.
21668 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21669 * util/grub-menulst2cfg.c: New file.
21670
bf8d1338
CW
216712010-09-17 Colin Watson <cjwatson@ubuntu.com>
21672
21673 * grub-core/kern/emu/hostdisk.c
21674 (convert_system_partition_to_system_disk): Initialise node.
21675
9c0bad2e
CW
216762010-09-17 Colin Watson <cjwatson@ubuntu.com>
21677
21678 * grub-core/kern/emu/hostdisk.c
21679 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21680 leak.
21681 Reported and based on patch by: Modestas Vainius.
21682
a939d135
CW
216832010-09-17 Colin Watson <cjwatson@ubuntu.com>
21684
21685 Fix DM-RAID probing with recent versions of device-mapper udev
21686 rules.
21687
21688 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21689 canonicalise device paths under /dev/mapper/.
21690 (convert_system_partition_to_system_disk): Compare the
21691 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21692 path, since device nodes under /dev/mapper/ are often symlinks.
21693
0f7ee3c9
YB
216942010-09-17 Yves Blusseau <blusseau@zetam.org>
21695
21696 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21697
10854d0d
YB
216982010-09-16 Yves Blusseau <blusseau@zetam.org>
21699
21700 * configure.ac: Avoid some annoying error messages if freetype-config
21701 program is not found.
21702
108538d8
CW
217032010-09-16 Colin Watson <cjwatson@ubuntu.com>
21704
21705 Support RAID on virtio devices, and others.
21706
21707 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21708 Rename to ...
21709 [__MINGW32__] (grub_find_device): ... this.
21710 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21711 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21712 reasonable default if dir is NULL.
21713 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21714 ...
21715 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21716 (grub_guess_root_device): Update callers.
21717 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21718
21719 * util/raid.c (grub_util_getdiskname): Remove.
21720 (grub_util_raid_getmembers): Use grub_find_device rather than
21721 grub_util_getdiskname.
21722
e5bfc130
CW
217232010-09-16 Colin Watson <cjwatson@ubuntu.com>
21724
21725 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21726 needing to be compiled with serial support.
21727 (ls): Indicate that multiple files are accepted.
21728 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21729 indicate that multiple files are accepted.
21730
be458ae2
CW
217312010-09-16 Colin Watson <cjwatson@ubuntu.com>
21732
21733 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21734 libgrub_a_init.c, and util/bash-completion.d/grub.
21735
cb731b5e
VS
217362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21737
21738 * util/grub-setup.c (setup): Fix incorrect container semantics.
21739
35139e8a
VS
217402010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21741
21742 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21743 misusage.
21744 Reported by: J. Nick Terry
21745
e50fca4a
VS
217462010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21747
21748 Move embedding routines to partmap sources files.
21749
21750 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21751 [GRUB_UTIL]: New variable.
21752 (gpt_partition_map_iterate): Set part.parent.
21753 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21754 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21755 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21756 New function.
21757 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21758 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21759 (grub_partition_map) [GRUB_UTIL]: New field embed.
21760 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21761 (setup): Use ->embed.
21762
f00478b7
VS
217632010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21764
21765 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21766 function.
21767 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21768 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21769
2b94e3ff
YB
217702010-09-15 Yves Blusseau <blusseau@zetam.org>
21771
21772 Add function to get completions from usage.
21773
21774 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21775 completions from usage. Use LC_ALL=C to get options properly.
21776
2e04a006
VS
217772010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21778
21779 * grub-core/gnulib/basename-lgpl.c: Imported.
21780 * grub-core/gnulib/basename.c: Likewise.
21781 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21782 * grub-core/gnulib/dirname.c: Likewise.
21783 * grub-core/gnulib/dirname.h: Likewise.
21784 * grub-core/gnulib/stripslash.c: Likewise.
21785
5dcdf93a
VS
217862010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21787
21788 * grub-core/gnulib/error.c: Resynced.
21789 * grub-core/gnulib/getopt.c: Likewise.
21790 * grub-core/gnulib/getopt_int.h: Likewise.
21791 * grub-core/gnulib/regex.h: Likewise.
21792 * grub-core/gnulib/regex_internal.c: Likewise.
21793 * grub-core/gnulib/regex_internal.h: Likewise.
21794
014f47b7
SJ
217952010-09-15 Szymon Janc <szymon@janc.net.pl>
21796
21797 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21798 CRC calculations and validity checks.
21799 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21800 calculations.
21801
dd521a4a
SJ
218022010-09-15 Szymon Janc <szymon@janc.net.pl>
21803
21804 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21805
79c4eeb9
VS
218062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21807
21808 Fix incorrect echo options handling.
21809 Reported by: Yves Blusseau.
21810
21811 * include/grub/command.h (grub_command_flags_t): New flags
21812 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21813 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21814 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21815
ed80f7d5
VS
218162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21817
21818 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21819 users updated.
21820 (GRUB_COMMAND_FLAG_MENU): Likewise.
21821 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21822 (GRUB_COMMAND_FLAG_TITLE): Removed.
21823 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21824 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21825 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21826 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21827 (grub_command_flags_t): New enum. All users updated.
21828
5fe7620a
SG
218292010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21830
21831 Fix solaris compilation.
21832
21833 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21834 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21835 (grub-emu-list): Likewise.
21836
545b752f
VS
218372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21838
21839 Remove deprecated root command.
21840
21841 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21842 updated.
21843
6c1a338c
VS
218442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21845
21846 * util/i386/pc/grub-setup.c: Merge this ...
21847 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21848 * util/grub-setup.c: ... into this.
21849 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21850 New struct.
21851
218522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21853
21854 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21855 possible.
21856
d2ea4551
VS
218572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21858
21859 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21860 allocate p.
21861
3c3b5040
VS
218622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21863
21864 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21865 explicit root argument to set to prevent UUID to be interpreted as
21866 argument to set.
21867
b71c3fae
VS
218682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21869
21870 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21871
275433e6
VS
218722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21873
21874 Don't export grub_gate_a20.
21875
21876 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21877 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21878 to ...
21879 (grub_gate_a20): ... this. All users updated.
21880 * include/grub/i386/pc/init.h: Removed. All users updated.
21881
a5dbb1f1
VS
218822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21883
21884 Create euro.pf2 which supports most European languages.
21885
21886 * Makefile.am (grubdata_DATA): Add euro.pf2.
21887 (euro.pf2): New target.
21888 (CLEANFILES): Add euro.pf2.
21889
62a747cb
VS
218902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21891
21892 * configure.ac: Disable emu-usb by default to prevent inadvertent
21893 device takeover.
21894
608e43b1
VS
218952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21896
21897 Disable usbserial on grub-emu since our libusb code isn't good enough
21898 yet.
21899
21900 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21901 (usbserial_pl2303): Likewise.
21902 (usbserial_ftdi): Likewise.
21903
94564f81
VS
219042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21905
21906 * include/grub/disk.h (grub_disk): Remove has_partitions.
21907 All users updated.
21908 * disk/loopback.c (grub_loopback): Remove has_partitions.
21909 All users updated.
21910 (options): Remove partitions. All users updated.
21911 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21912 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21913 actual partition table is found.
21914
3352800b
VS
219152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21916
21917 Remove readability checks (too many false negatives).
21918
21919 * util/grub-install.in: Remove readability checks.
21920 * util/grub-mkconfig.in: Likewise.
21921 * util/grub.d/10_hurd.in: Likewise.
21922 * util/grub.d/10_kfreebsd.in: Likewise.
21923 * util/grub.d/10_linux.in: Likewise.
21924 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21925 way.
21926
2419f17a
VS
219272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21928
21929 Enable acpi shutdown on all ACPI platforms.
21930
21931 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21932 on coreboo, multiboot and EFI.
21933 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21934 (grub_acpi_halt): Likewise.
21935 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21936 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21937 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21938 * grub-core/lib/i386/halt.c (grub_halt)
21939 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21940
0575c7c3
VS
219412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21942
21943 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21944 context.
21945
54ac3cd1
VS
219462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21947
21948 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21949 * grub-core/video/efi_uga.c: Likewise.
21950
b2a30ac5
VS
219512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21952
21953 Filter devaliases and never open same device twice.
21954
21955 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21956 (last_ihandle): Likewise.
21957 (ofdisk_hash_ent): New member shortest.
21958 (ofdisk_hash_add): Add canonical path too.
21959 (scan): New function.
21960 (grub_ofdisk_iterate): Iterate over hashed entries.
21961 (compute_dev_path): Don't add :0.
21962 (grub_ofdisk_open): Don't really open the disk.
21963 (grub_ofdisk_close): Avoid closing unrelated disk.
21964 (grub_ofdisk_read): Implement reopen logic.
21965 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21966 New function.
21967 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21968 New proto.
21969
fb53b340
VS
219702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21971
21972 Fix sparc64.
21973
21974 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21975 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21976 right address. Add sparc64_ieee1275_ldflags.
21977 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21978 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21979 to grub_host_to_target_addr
21980 (load_image): Likewise.
21981
f452b040
VS
219822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21983
21984 * grub-core/normal/completion.c (complete_file): Handle device
21985 containing slash.
21986 Fix based on patch by Doug Nazar.
21987
9b5b2541
VS
219882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21989
21990 grub-mknetdir script.
21991
21992 * Makefile.util.def (grub-mknetdir): New module.
21993 * tests/util/grub-shell.in: Support boot=net
21994 * util/grub-mknetdir.in: New file.
21995
9d2be652
VS
219962010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21997
21998 videoinfo on non-vbe.
21999
22000 * grub-core/Makefile.core.def (vbeinfo): Removed.
22001 (vbetest): Removed.
22002 (videoinfo): New module.
22003 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
22004 * grub-core/commands/i386/pc/vbetest.c: Removed.
22005 * grub-core/commands/videoinfo.c: New file.
22006 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
22007 specification.
22008 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
22009 as vbetest.
22010 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
22011 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
22012 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
22013 mode_number. New parameter mode. All users updated.
22014 (grub_video_gop_iterate): New function.
22015 (grub_video_efi_gop): New member iterate.
22016 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
22017 (grub_vbe_set_video_mode): Remove setting useless fields.
22018 (vbe2videoinfo): New function.
22019 (grub_video_vbe_iterate): Likewise.
22020 (grub_video_vbe_setup): Use vbe2videoinfo.
22021 (grub_video_vbe_print_adapter_specific_info): New function.
22022 (grub_video_vbe_adapter): New fields iterate and
22023 print_adapter_specific_info.
22024 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
22025 All users updated.
22026 (grub_video_mode_info): New field mode_number.
22027 (grub_video_adapter): New fields iterate and
22028 print_adapter_specific_info.
22029
179503f5
TG
220302010-09-13 Tristan Gingold <gingold@free.fr>
220312010-09-13 Robert Millan <rmh.grub@aybabtu.com>
220322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22033
22034 * grub-core/commands/efi/lsefisystab.c: New file.
22035 * grub-core/commands/efi/lssal.c: Likewise.
22036 * grub-core/Makefile.core.def (lsacpi): New module.
22037 (lsefisystab): Likewise.
22038 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22039 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22040 (grub_efi_sal_system_table): New struct.
22041 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22042 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22043 (grub_efi_sal_system_table_platform_features): Likewise.
22044 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22045 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22046 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22047 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22048
cf9827de
VS
220492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22050
22051 Support explicit user claim that a device is BIOS-visible.
22052
22053 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22054 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22055 * grub-core/kern/emu/hostdisk.c
22056 (convert_system_partition_to_system_disk): Support mdX.
22057 (find_system_device): New parameter add. All users updated.
22058 (grub_util_biosdisk_is_present): New function.
22059 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22060 proto.
22061
53f0eb1f
VS
220622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22063
22064 Search hints support.
22065
22066 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22067 All users updated.
22068
b23ffd70
YB
220692010-09-13 Yves Blusseau <blusseau@zetam.org>
22070
22071 Bash completion script for util commands
22072
22073 * Makefile.am: Add util/bash-completion.d directory
22074 * configure.ac: Likewise.
22075 * util/bash-completion.d/Makefile.am: New file.
22076 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22077
d547dc28
VS
220782010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22079
22080 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22081 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22082 Reported by: Yves Blusseau.
22083
2fc8ccb9
VS
220842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22085
22086 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22087 partition size and offset.
22088
d8a84076
VS
220892010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22090
22091 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22092
84fb3b3d
VS
220932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22094
22095 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22096
768ec2e2
VS
220972010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22098
22099 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22100 (grub_xvasprintf): Likewise.
22101
4870900f
VS
221022010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22103
22104 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22105
faca6bec
VS
221062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22107
22108 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22109 args ending with NULL.
22110
221112010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
22112
22113 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22114 pointer.
22115
3c70f225
SJ
221162010-09-11 Szymon Janc <szymon@janc.net.pl>
22117
22118 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22119
4df7996d
VS
221202010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22121
22122 Shutdown using ACPI.
22123
22124 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22125 * grub-core/commands/acpihalt.c: New file.
22126 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22127 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22128 (grub_acpi_halt): New proto.
22129 (GRUB_ACPI_SLP_EN): New const.
22130 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22131 (GRUB_ACPI_OPCODE_*): New enum.
22132 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22133
126b4c32
TG
221342010-09-11 Tristan Gingold <gingold@free.fr>
221352010-09-11 Robert Millan <rmh.grub@aybabtu.com>
221362010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22137
22138 * commands/lsacpi.c: New file.
22139 * grub-core/Makefile.core.def (lsacpi): New module.
22140 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22141 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22142 (grub_acpi_madt_entry_header): New struct.
22143 (grub_acpi_madt): Likewise.
22144 (grub_acpi_madt_entry_interrupt_override): Likewise.
22145 (grub_acpi_madt_entry_sapic): Likewise.
22146 (grub_acpi_madt_entry_lsapic): Likewise.
22147 (grub_acpi_madt_entry_platform_int_source): Likewise.
22148 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22149 (PRIuGRUB_UINT32_T): Likewise.
22150 (PRIxGRUB_UINT64_T): Likewise.
22151
1aa4fe88
VS
221522010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22153
22154 Implement loading palette on ieee1275_fb.
22155
22156 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22157 (have_setcolors): Likewise.
22158 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
22159 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
22160 (grub_video_ieee1275_set_palette): Implement.
22161
25761e13
VS
221622010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
221632010-09-11 Colin Watson <cjwatson@ubuntu.com>
22164
22165 * util/grub-install.in (grub_partition): New variable.
22166 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
22167 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
22168 Fixes a bug reported by Yves Blusseau.
22169
050abaea
VS
221702010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22171
22172 Fix emu on mipsel.
22173
22174 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22175 =grub_cpu_flush_cache on all mips and not only yeeloong.
22176 * configure.ac (COND_mips): New conditional.
22177 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22178 platforms.
22179 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22180 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22181 [GRUB_LINKER_HAVE_INIT]: New function.
22182 (grub_emu_post_init): Likewise.
22183 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22184 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22185 * include/grub/cache.h (_mips): Include mips/cache.h.
22186 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
22187 LVM and RAID prototypes.
22188 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
22189 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
22190 function.
22191
5ed7d816
CW
221922010-09-10 Colin Watson <cjwatson@ubuntu.com>
22193
22194 * util/grub-install.in: Don't try to verify core.img until after
22195 running grub-mkimage to create it.
22196
90367e04
RM
221972010-09-10 Robert Millan <rmh@gnu.org>
22198
22199 * util/grub.d/10_hurd.in: Add misc readability checks.
22200 * util/grub.d/10_kfreebsd.in: Likewise.
22201 * util/grub.d/10_linux.in: Likewise.
22202
c452fa66
CW
222032010-09-10 Colin Watson <cjwatson@ubuntu.com>
22204
22205 * util/grub-install.in: ${imgext} won't be defined here until the
22206 install branch is merged. For the meantime, only verify core.img on
22207 i386-pc and sparc64-ieee1275 platforms.
22208
c38fe9f4
RM
222092010-09-10 Robert Millan <rmh@gnu.org>
22210
22211 Solaris support in grub_find_zpool_from_dir(). Thanks
22212 Seth Goldberg for referring to getextmntent() facility.
22213
22214 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22215 `sys/mkdev.h'.
22216 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22217 `<sys/mnttab.h>'.
22218 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22219 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22220 method for finding zpool name.
22221
905f7773
CW
222222010-09-10 Colin Watson <cjwatson@ubuntu.com>
22223
22224 grub-fstest needs the host and hostfs modules while other utilities
22225 actively require those modules to be absent, so grub-fstest needs
22226 its own initialisation and finalisation code.
22227
22228 * Makefile.am (grub_fstest.pp): New target.
22229 (grub_fstest_init.lst): Likewise.
22230 (grub_fstest_init.c): Likewise.
22231 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22232
fb90b546
RM
222332010-09-10 Robert Millan <rmh@gnu.org>
22234
22235 * configure.ac: Check for `struct statfs.f_fstypename' and
22236 `struct statfs.f_mntfromname'.
22237
22238 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22239 kFreeBSD-specific code.
22240
66d4bea5
RM
222412010-09-10 Robert Millan <rmh@gnu.org>
22242
22243 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22244 on ZFS. Now non-main filesystems are supported as / too.
22245
b6a690ee
CW
222462010-09-09 Colin Watson <cjwatson@ubuntu.com>
22247
22248 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22249 and grub-core/disk/host.c to ...
22250 (grub-fstest): ... here. Having the host disk implementation
22251 present confuses grub-probe and other utility programs.
22252
22253 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22254 when writing to a file, not when writing to stdout.
22255
8901b00c 222562010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22257
22258 * tests/partmap_test.in: New test for partitions.
22259 * Makefile.util.def: Rules for new test.
22260
7bf45fdd
RM
222612010-09-09 Robert Millan <rmh@gnu.org>
22262
22263 * util/grub-probe.c (probe): Fix a pair of unhandled error
22264 conditions.
22265
4dfbc574
RM
222662010-09-09 Robert Millan <rmh@gnu.org>
22267
22268 Basic Btrfs support (detection and UUID).
22269
22270 * grub-core/fs/btrfs.c: New file.
22271 * Makefile.util.def (library): Register btrfs.c.
22272 * grub-core/Makefile.core.def: Likewise.
22273
6b8e78ae
RM
222742010-09-08 Robert Millan <rmh@gnu.org>
22275
22276 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22277 with (optional) parameters to specify device and relative path.
22278 * util/grub-install.in: Use is_path_readable_by_grub() to
22279 verify readability of a few critical files.
22280 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22281 verify readability of grub.cfg.new.
22282
27f21a8b
VS
222832010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22284
22285 Split minix.mod into minix.mod and minix2.mod.
22286
22287 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22288 * grub-core/Makefile.core.def (minix2): New module.
22289 * grub-core/fs/minix.c: Use definitions instead of runtime version
22290 checking.
22291 * grub-core/fs/minix2.c: New file.
22292
c0e53ea5
YB
222932010-09-08 Yves Blusseau <blusseau@zetam.org>
22294
22295 Add new --boot-directory option to replace --root-directory
22296
22297 * util/grub-install.in: Add new --boot-directory option
22298 * util/grub-reboot.in: Likewise.
22299 * util/grub-set-default.in: Likewise.
22300
b9fe6ea2
YB
223012010-09-08 Yves Blusseau <blusseau@zetam.org>
22302
22303 * util/grub-mkconfig.in: Use new variable.
22304
d87aedff
YB
223052010-09-08 Yves Blusseau <blusseau@zetam.org>
22306
22307 * configure.ac: Define some useful variables.
22308
e55e8495
VS
223092010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22310
22311 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22312 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22313 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22314 Use terminfo and don't use cursor-on/cursor-off unless it's known
22315 to work.
22316 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22317 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22318
6fa6d675
CW
223192010-09-08 Colin Watson <cjwatson@ubuntu.com>
22320
22321 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22322 starts with "(,", fill the drive containing the loaded image in
22323 between those two characters, but expect that a full partition
22324 specification including partition map names will follow.
22325
92f2aef0
RM
223262010-09-08 Robert Millan <rmh@gnu.org>
22327
22328 * configure.ac: Remove `--enable-grub-fstest' option.
22329 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22330
22331 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22332 `grub-fstest' instead of `grub-probe' for readability verification.
22333 * util/grub-probe.c (probe): Remove readability verification kludge.
22334
99fd620d
RM
223352010-09-08 Robert Millan <rmh@gnu.org>
22336
22337 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22338 initializing `GRUB_FS'.
22339
058e30ac 223402010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22341
22342 Not command (!) support to GRUB script.
22343
22344 * tests/grub_script_not.in: New test.
22345 * Makefile.util.def: Rules for new test.
22346
22347 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22348 ! command as a special case.
22349 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22350
b61d05ed 223512010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22352
058e30ac 22353 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22354 grub_free.
b61d05ed 22355
4d69c786 223562010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22357
22358 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22359
aa3119c4 223602010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22361
22362 * docs/grub.texi (Shell-like scripting): Documentation for break,
22363 continue, shift and return commands.
22364
db0f7e3d
VS
223652010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22366
22367 Rename CD-ROM to cd on BIOS.
22368
22369 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22370 "cd".
22371 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22372
88b87c93
VS
223732010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22374
22375 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22376 * util/grub-probe.c (main): Likewise.
22377 * util/i386/pc/grub-setup.c (main): Likewise.
22378 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22379 Reported and debugged by: alexxy
22380
294f324d
VS
223812010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22382
22383 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22384 diagnostic info.
22385
d7ee3441
JS
223862010-09-05 Jo Shields <directhex@apebox.org>
22387
22388 * util/grub.d/30_os-prober.in: Add missing classes.
22389
d7e06c1f
VS
223902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22391
22392 * docs/grub.texi (Theme file format): Document new position format.
22393
fc157e53
VS
223942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22395
22396 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22397 a table. Use @code instead of @verbatim.
22398
506e9a1c
CB
223992010-09-05 Colin D Bennett <colin@gibibit.com>
22400
22401 Gfxmenu documentation.
22402
22403 * docs/grub.texi (Theme file format): New chapter.
22404
f0aff67c
SJ
224052010-09-05 Szymon Janc <szymon@janc.net.pl>
22406
22407 * grub-core/Makefile.core.def (xzio): New module.
22408 * grub-core/io/xzio.c: New file.
22409 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22410 * grub-core/lib/xzembed/xz_config.h: Likewise.
22411 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22412 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22413 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22414 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22415 * grub-core/lib/xzembed/xz_private.h: Likewise.
22416 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22417 * include/grub/file.h (grub_file_filter_id): New compression filter
22418 GRUB_FILE_FILTER_XZIO.
22419
82a85062
VS
224202010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22421
22422 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22423 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22424 size.
22425
3579415d
VS
224262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22427
22428 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22429 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22430
5124ae6d
VS
224312010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22432
22433 Uncompressed checksum support.
22434
22435 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22436 (check_list): New parameter uncompress.
22437 (grub_cmd_hashsum): Handle --uncompress.
22438
9aadb3d1
VS
224392010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22440
22441 Reintroduce testload.
22442
22443 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22444 from here ...
22445 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22446 (GRUB_MOD_INIT): New function.
22447 (GRUB_MOD_FINI): Likewise.
22448 * grub-core/Makefile.core.def (testload): New module.
22449
a17792c3
SJ
224502010-09-05 Szymon Janc <szymon@janc.net.pl>
22451
22452 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22453 (uint8_t): New type.
22454 (uint16_t): Likewise.
22455 (uint32_t): Likewise.
22456 (uint64_t): Likewise.
22457
b81e40a3
SJ
224582010-09-05 Szymon Janc <szymon@janc.net.pl>
22459
22460 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22461
fc2ef117
VS
224622010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22463
22464 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22465 Made static.
22466 (grub_gzfile_open): Removed. All users updated.
22467 (GRUB_MOD_INIT): New function.
22468 (GRUB_MOD_FINI): Likewise.
22469 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22470 (grub_file_filters_enabled): Likewise.
22471 (grub_file_open): Handle filters.
22472 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22473 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22474 * include/grub/file.h (grub_file_filter_id_t): New type.
22475 (grub_file_filter_t): Likewise.
22476 (grub_file_filters_all): New extern variable.
22477 (grub_file_filters_enabled): Likewise.
22478 (grub_file_filter_register): New inline function.
22479 (grub_file_filter_unregister): Likewise.
22480 (grub_file_filter_disable): Likewise.
22481 (grub_file_filter_disable_compression): Likewise.
22482 * include/grub/gzio.h: Removed.
22483
35ee15e0
BC
224842010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22485
22486 Filename expansion support for wildcards in GRUB script.
22487
22488 * tests/grub_script_expansion.in: New test.
22489 * Makefile.util.def: Rule for new test.
22490
22491 * grub-core/commands/wildcard.c: New file, implements filename
22492 expansion support for GRUB script.
22493 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22494 * grub-core/script/argv.c: Cosmetic changes.
22495 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22496 Refactored to perform wildcard expansion on arguments.
22497 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22498 struct.
22499
22500 * tests/util/grub-shell.in: Fix quoting for read input.
22501
5f0c4aca
BC
225022010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22503
22504 Support for updating environment variables with matched substrings
22505 of regexp.
22506
22507 * tests/grub_cmd_regexp.in: New test.
22508 * Makefile.util.def: Rule for new test.
22509
22510 * grub-core/commands/regexp.c: New option -s to update environment
22511 variables with regexp matches.
22512
3759a35f
SJ
225132010-09-04 Szymon Janc <szymon@janc.net.pl>
22514
22515 * include/grub/file.h (grub_file): New member not_easly_seekable.
22516 (grub_file_seekable): New inline function.
22517 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22518 easily seekable.
22519 (grub_gzio_open): Set not_easly_seekable.
22520 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22521 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22522
ed8c6dec
BC
225232010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22524
22525 Support for options to appear multiple times on cmdline.
22526
22527 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22528 * grub-core/commands/extcmd.c: Support for repeatable option.
22529 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22530 repeatable option support.
22531
22532 Refactor menuentry into a regular command.
22533
22534 * grub-core/commands/menuentry.c: New file, menuentry command
22535 implementation.
22536 * grub-core/Makefile.core.def: Rule update for normal.mod.
22537 * grub-core/normal/main.c: Moved menuentry creation to
22538 grub-core/commands/menuentry.c.
22539 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22540 (grub_menu_execute_entry_real): Removed.
22541 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22542 function.
22543 (grub_script_execute_menuentry): Removed.
22544 * grub-core/script/parser.y (menuentry): Removed.
22545 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22546 * grub-core/script/yylex.l (menuentry): Removed.
22547 * include/grub/menu.h (grub_menu_init): New prototype.
22548 (grub_menu_fini): New prototype.
22549 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22550 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22551 (grub_script_execute_sourcecode): New prototype.
22552
dacd0cf0
BC
225532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22554
22555 "return" command for GRUB script functions.
22556
22557 * tests/grub_script_return.in: New test.
22558 * Makefile.util.def: Rules for new test.
22559
22560 * grub-core/script/execute.c (grub_script_return): New function.
22561 * grub-core/script/main.c: Register/unregister return commaond.
22562 * include/grub/script_sh.h (grub_script_return): New prototype.
22563
52e72f9d
BC
225642010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22565
22566 "setparams" command to update positional parameters.
22567
22568 * tests/grub_script_setparams.in: New test.
22569 * Makefile.util.def: Rules for new test.
22570
22571 * grub-core/script/argv.c (grub_script_argv_make): New function.
22572 * grub-core/script/execute.c (replace_scope): New function.
22573 (grub_script_setparams): New function.
22574 * grub-core/script/lexer.c: Remove unused variables.
22575 * grub-core/script/main.c: Register/unregister setparams command.
22576 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22577 (grub_script_setparams): New prototype.
22578
25b60c91
BC
225792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22580
22581 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22582 grub_free order.
22583
37e7bf68
BC
225842010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22585
22586 Support for passing block of commands as an argument to extcmds.
22587
22588 * Makefile.util.def: Rules for new test.
22589 * tests/grub_script_blockarg.in: New test.
22590 * grub-core/tests/test_blockarg.c: New file, block argument
22591 command used in the test.
22592
22593 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22594 (grub_register_extcmd_prio): New function prototype.
22595 (grub_extcmd_dispatcher): New function prototype.
22596 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22597 type.
22598 * include/grub/script_sh.h (struct grub_script): New members
22599 `children', `next_siblings' and `refcnt' for block arguments and
22600 reference counting.
22601 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22602 (grub_script_arg): New member `script' for block argument.
22603 (grub_script_argv): New member `script' for block argument.
22604 (grub_parser_param): New member `scripts' for block argument.
22605 (grub_script_mem_free): New extern function prototype.
22606 (grub_script_ref): New function prototype.
22607 (grub_script_unref): New function prototype.
22608
22609 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22610 extcmd form to support block arguments.
22611 * grub-core/script/argv.c: Block arguments support.
22612 * grub-core/script/execute.c: Likewise.
22613 * grub-core/script/lexer.c: Likewise.
22614 * grub-core/script/main.c: Likewise.
22615 * grub-core/script/script.c: Likewise.
22616 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22617 non-terminals.
22618
22619 * grub-core/commands/acpi.c: Update extcmd implementations with
22620 grub_extcmd_context_t.
22621 * grub-core/commands/cat.c: Likewise.
22622 * grub-core/commands/echo.c: Likewise.
22623 * grub-core/commands/extcmd.c: Likewise.
22624 * grub-core/commands/hashsum.c: Likewise.
22625 * grub-core/commands/hdparm.c: Likewise.
22626 * grub-core/commands/help.c: Likewise.
22627 * grub-core/commands/hexdump.c: Likewise.
22628 * grub-core/commands/i386/cpuid.c: Likewise.
22629 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22630 * grub-core/commands/i386/pc/halt.c: Likewise.
22631 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22632 * grub-core/commands/iorw.c: Likewise.
22633 * grub-core/commands/keystatus.c: Likewise.
22634 * grub-core/commands/loadenv.c: Likewise.
22635 * grub-core/commands/ls.c: Likewise.
22636 * grub-core/commands/lspci.c: Likewise.
22637 * grub-core/commands/memrw.c: Likewise.
22638 * grub-core/commands/probe.c: Likewise.
22639 * grub-core/commands/search_wrap.c: Likewise.
22640 * grub-core/commands/setpci.c: Likewise.
22641 * grub-core/commands/sleep.c: Likewise.
22642 * grub-core/disk/loopback.c: Likewise.
22643 * grub-core/hello/hello.c: Likewise.
22644 * grub-core/loader/i386/bsd.c: Likewise.
22645 * grub-core/loader/xnu.c: Likewise.
22646 * grub-core/term/gfxterm.c: Likewise.
22647 * grub-core/term/serial.c: Likewise.
22648 * grub-core/tests/lib/functional_test.c: Likewise.
22649
888d1500
BC
226502010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22651
22652 Multi-line quoted strings support.
22653
22654 * grub-core/script/lexer.c (append_newline): Removed.
22655 (grub_script_lexer_yywrap): Refactored.
22656 (grub_script_lexer_init): Refactored.
22657 * grub-core/script/yylex.l (yywrap): New function.
22658 (grub_lexer_resplit): New function.
22659 (grub_lexer_unput): New function.
22660 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22661 and resplit.
22662 * tests/grub_script_echo1.in: Added few more testcases.
22663
dda060dd
VS
226642010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22665
22666 * grub-core/kern/misc.c: Don't add abort alias in utils.
22667 Reported by: echoline.
22668
6556eba9
BC
226692010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22670
22671 Add missing files into "make dist" tarball for other platforms.
22672
22673 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22674 * conf/Makefile.common (dist_noinst_DATA): New variable.
22675 * conf/Makefile.extra-dist: Added missing make dist files.
22676 * grub-core/Makefile.core.def: Likewise.
22677
c8e7bf5f
VS
226782010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22679
22680 Compress grub_prefix.
22681
22682 * grub-core/boot/i386/pc/lnxboot.S: Use
22683 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22684 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22685 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22686 GRUB_MACHINE_PREFIX_END. All users updated.
22687 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22688 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22689 + 0x40.
22690 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22691 * util/grub-mkimage.c (image_target_desc): Change data_end to
22692 prefix_end. All users updated.
22693
a7c00cdb
VS
226942010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22695
22696 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22697 value.
22698 (grub_openbsd_boot): Likewise.
22699 (grub_netbsd_boot): Likewise.
22700 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22701 (grub_xnu_boot): Likewise.
22702
9f915872
VS
227032010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22704
22705 * configure.ac: Clean LIBS variable after tests.
22706
efa1bee7
CW
227072010-09-02 Colin Watson <cjwatson@ubuntu.com>
22708
22709 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22710
61d720e5
VS
227112010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22712
22713 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22714 echo if libdevmapper will be used.
22715
ef8e0ec8
IT
227162010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22717
22718 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22719 constant for the same file.
22720
03e261d8
VS
227212010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22722
22723 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22724
c2a4eba6
CW
227252010-09-02 Colin Watson <cjwatson@ubuntu.com>
22726
22727 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22728 grub-core/*.pp.
22729
9056cbf3
CW
227302010-09-02 Colin Watson <cjwatson@ubuntu.com>
22731
22732 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22733 required by the boot protocol.
22734
22735 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22736 ebp and edi members.
22737 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22738 state.ebp and state.edi.
22739 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22740 %ebp and %edi according to grub_relocator32_ebp and
22741 grub_relocator32_edi respectively.
22742 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22743 and state.edi.
22744
529cc99a
VS
227452010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22746
22747 Add i386-pc-pxe image target.
22748
22749 * util/grub-mkimage.c (image_target_desc): New enum value
22750 IMAGE_I386_PC_PXE.
22751 (image_targets): New target i386-pc-pxe.
22752 (generate_image): Handle i386-pc-pxe image.
22753
9a093920
VS
227542010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22755
22756 Fix grub_pxe_scan.
22757
22758 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22759 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22760 All users updated.
22761 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22762 (grub_pxe_pxenv): Correct type.
22763
f9cefc4e
CW
227642010-09-01 Colin Watson <cjwatson@ubuntu.com>
22765
22766 * NEWS: Document most of the important changes since 1.98.
22767
4066f57f
CW
227682010-09-01 Colin Watson <cjwatson@ubuntu.com>
22769
22770 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22771 generated manual page) a little.
22772
da2891f9
CW
227732010-09-01 Colin Watson <cjwatson@ubuntu.com>
22774
22775 * docs/grub.texi: Add myself as an author.
22776
ad717fae
VS
227772010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22778
22779 * Makefile.util.def (libgrub.a): Add missing sunpc.
22780 Reported by: Seth Goldberg.
22781
eefe8abd
VS
227822010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22783
22784 Interrupt wrapping and code simplifications.
22785
9494ef9a
VS
22786 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22787 x86_noieee1275 which are functionaly equivalent in this case.
22788 (grub-install): Make source on each platform explicit. Enable on
22789 all noemu.
22790 * gentpl.py (x86_efi_pc): Removed group.
22791 (x86_noefi): Likewise.
22792 (i386_noefi): Likewise.
22793 (x86_noieee1275): Likewise.
22794 (i386_noieee1275): Likewise.
22795 (i386_noefi_noieee1275): Likewise.
22796 (i386_pc_qemu_coreboot): Likewise.
22797 (i386_coreboot_multiboot): Likewise.
22798 (i386_pc_coreboot_multiboot_qemu): Likewise.
22799 (x86_noefi_mips): Likewise.
22800 (noieee1275): Likewise.
22801 (ieee1275_mips): Likewise.
22802 (noemu_noieee1275): Likewise.
22803 (cmos): New group.
22804 (usb): Likewise.
22805 (videoinkernel): Likewise.
22806 (videomodules): Likewise.
eefe8abd 22807 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22808 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22809 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22810 include/grub/loader.h, include/grub/msdos_partition.h,
22811 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22812 include/grub/machine/console.h, include/grub/machine/vga.h,
22813 include/grub/machine/vbe.h, include/grub/machine/init.h,
22814 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22815 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22816 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22817 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22818 * grub-core/Makefile.core.def (kernel): Explicit the source for
22819 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22820 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22821 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22822 Use videoinkernel tag.
22823 (usb): Enable on all usb.
22824 (usbserial_common): Likewise.
22825 (usbserial_pl2303): Likewise.
22826 (usbserial_ftdi): Likewise.
22827 (uhci): Enable on all x86.
22828 (ohci): Enable on all pci.
22829 (cmostest): Enable on all CMOS.
22830 (acpi): Include commands/acpi.c on all platforms.
22831 (halt): Add relevant lib/*/halt.c.
22832 (hdparm): Enable on all pci.
22833 (lspci): Likewise.
22834 (usbtest): Enable on all usb.
22835 (ata): Enable on all pci.
22836 (ata_pthru): Likewise.
22837 (usbms): Enable on all usb.
22838 (usb_keyboard): Likewise.
22839 (font): Use tag videomodules.
22840 (bufio): Likewise.
22841 (datetime): Use tag cmos. Enable on all noemu.
22842 (mmap): Use tags common and x86.
22843 (gfxterm): Use tag videomodules.
22844 (bitmap): Likewise.
22845 (bitmap_scale): Likewise.
22846 (video_fb): Likewise.
22847 (video): Likewise.
22848 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22849 adjust padding accordingly. All users updated.
22850 (grub_ohci_transaction): Fix bad format specification.
22851 (GRUB_MOD_INIT): Add asserts for struct size.
22852 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22853 (grub_alloc_td): Likewise.
22854 (grub_free_queue): Likewise.
22855 (grub_uhci_transfer): Likewise.
22856 (grub_uhci_transaction): Fix bad format specification.
22857 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22858 (grub_usb_bulk_readwrite): Likewise.
22859 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22860 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22861 Made static.
22862 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22863 Made static.
22864 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22865 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22866 Transformed into C.
22867 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22868 Moved from here ...
22869 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22870 ... here. Transformed into C. Made static.
22871 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22872 Moved from here ...
22873 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22874 ... here. Transformed into C. Made static.
22875 * grub-core/kern/i386/pc/startup.S
22876 (grub_biosdisk_check_int13_extensions): Moved from here ...
22877 * grub-core/disk/i386/pc/biosdisk.c
22878 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22879 Made static.
22880 * grub-core/kern/i386/pc/startup.S
22881 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22882 * grub-core/disk/i386/pc/biosdisk.c
22883 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22884 Transformed into C. Made static.
22885 * grub-core/kern/i386/pc/startup.S
22886 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22887 * grub-core/disk/i386/pc/biosdisk.c
22888 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22889 Transformed into C. Made static.
22890 * grub-core/kern/i386/pc/startup.S
22891 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22892 * grub-core/disk/i386/pc/biosdisk.c
22893 (grub_biosdisk_get_diskinfo_standard): ... here.
22894 Transformed into C. Made static.
22895 * grub-core/kern/i386/pc/startup.S
22896 (grub_biosdisk_get_num_floppies): Moved from here ...
22897 * grub-core/disk/i386/pc/biosdisk.c
22898 (grub_biosdisk_get_num_floppies): ... here.
22899 Transformed into C. Made static.
22900 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22901 New function.
22902 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22903 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22904 Transformed into C. Made static.
22905 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22906 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22907 Transformed into C. Made static.
22908 * grub-core/kern/i386/ieee1275/init.c: Removed.
22909 * grub-core/kern/i386/misc.S: Likewise.
22910 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22911 Splitted from here ...
22912 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22913 Transformed into C. Made static. All users updated.
22914 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22915 Transformed into C. Made static. All users updated.
22916 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22917 Moved from here...
22918 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22919 Transformed into C. Made static. All users updated.
22920 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22921 Moved from here...
22922 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22923 Transformed into C. Made static. All users updated.
22924 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22925 Removed (replaced by C version).
22926 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22927 Moved from here...
22928 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22929 Transformed into C. Made static.
22930 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22931 Moved from here...
22932 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22933 ... here. Transformed into C.
22934 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22935 Moved from here...
22936 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22937 ... here. Transformed into C.
22938 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22939 Moved from here...
22940 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22941 ... here. Transformed into C. Made static.
22942 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22943 Moved from here...
22944 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22945 ... here. Transformed into C.
21ed554b
VS
22946 * grub-core/kern/i386/pc/startup.S
22947 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22948 * grub-core/video/i386/pc/vbe.c
22949 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22950 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22951 Moved from here...
22952 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22953 ... here. Transformed into C.
22954 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22955 Moved from here...
22956 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22957 ... here. Transformed into C.
22958 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22959 Moved from here...
22960 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22961 ... here. Transformed into C.
22962 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22963 Moved from here...
22964 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22965 ... here. Transformed into C.
22966 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22967 Moved from here...
22968 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22969 ... here. Transformed into C. Made static.
22970 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22971 Moved from here...
22972 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22973 ... here. Transformed into C. Made static.
22974 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22975 Moved from here...
22976 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22977 ... here. Transformed into C. Made static.
22978 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22979 pxe_rm_entry as third argument.
22980 (grub_bios_interrupt): New function.
22981 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22982 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22983 of calling grub_stop.
22984 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22985 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22986 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22987 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22988 * grub-core/lib/i386/halt.c: Moved from here ...
22989 * grub-core/lib/i386/halt.c: ... here.
22990 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22991 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22992 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22993 grub_stop_floppy.
22994 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22995 * include/grub/i386/coreboot/init.h: Removed.
22996 * include/grub/i386/multiboot/init.h: Likewise.
22997 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22998 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22999 * include/grub/i386/pc/int.h: New file.
23000 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
23001 (grub_pxe_scan): Removed.
23002 (grub_pxe_call): Update prototype.
23003 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
23004 prototypes.
23005 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
23006 * include/grub/i386/qemu/init.h: Removed.
23007 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
23008 noreturn.
23009 (grub_halt): Likewise.
23010 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
23011 (grub_reboot): Likewise.
23012 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
23013 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
23014 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
23015
215dd471
RM
230162010-08-30 Robert Millan <rmh@gnu.org>
23017
23018 * NEWS: Document addition of ZFS support in `grub-install' and
23019 `grub-mkconfig'.
23020
ebd65b82
BC
230212010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
23022
23023 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
23024 dprintf output.
23025
11721d19
VS
230262010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23027
23028 Remove leftover embedding of font objects.
23029
23030 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23031 * util/grub-install.in (font): Removed.
23032 * util/grub-mkimage.c (generate_image): Remove font support. All users
23033 updated.
23034
37837d4e
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
b4c1aae0
VS
230442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23045
23046 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 23047 Reported by: Ian Turner
b4c1aae0 23048
8920a08d
VS
230492010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23050
23051 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23052 timeout to avoid indefinite boot stalling.
23053
f21db033
VS
230542010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23055
23056 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23057 (grub_env_write_color_highlight): Likewise.
23058
9a9de209
VS
230592010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23060
23061 * grub-core/normal/term.c (print_more): Return to normal and not
23062 to standard state after printing "---MORE---".
23063
3dca01d7
VS
230642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23065
23066 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23067 Mask out the bit 0x80 since it has other meaning that specifiing color.
23068
0b986c40
VS
230692010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23070
23071 New relocator. Allows for more kernel support and more straightforward
23072 loader writing.
23073
23074 * Makefile.am (BOOTTARGET): New variable.
23075 (QEMU32): Likewise.
23076 (linux.init.x86_64): New target.
23077 (linux.init.i386): Likewise.
23078 (multiboot.elf): Likewise.
23079 (kfreebsd.elf): Likewise.
23080 (kfreebsd.aout): Likewise.
23081 (pc-chainloader.elf): Likewise.
23082 (pc-chainloader.bin): Likewise.
23083 (ntldr.elf): Likewise.
23084 (ntldr.bin): Likewise.
23085 (multiboot2.elf): Likewise.
23086 (kfreebsd.init.x86_64): Likewise.
23087 (kfreebsd.init.i386): Likewise.
23088 (knetbsd.init.i386): Likewise.
23089 (kopenbsd.init.i386): Likewise.
23090 (knetbsd.init.x86_64): Likewise.
23091 (kopenbsd.init.x86_64): Likewise.
23092 (linux-initramfs.i386): Likewise.
23093 (linux-initramfs.x86_64): Likewise.
23094 (kfreebsd-mfsroot.i386.img): Likewise.
23095 (knetbsd.image.i386): Likewise.
23096 (kopenbsd.image.i386): Likewise.
23097 (kopenbsd.image.x86_64): Likewise.
23098 (knetbsd.miniroot-image.i386.img): Likewise.
23099 (kfreebsd-mfsroot.x86_64.img): Likewise.
23100 (knetbsd.image.x86_64): Likewise.
23101 (knetbsd.miniroot-image.x86_64.img): Likewise.
23102 (kfreebsd-mfsroot.i386.gz): Likewise.
23103 (bootcheck-kfreebsd-i386): Likewise.
23104 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23105 (bootcheck-kfreebsd-x86_64): Likewise.
23106 (knetbsd.miniroot-image.i386.gz): Likewise.
23107 (bootcheck-knetbsd-i386): Likewise.
23108 (bootcheck-kopenbsd-i386): Likewise.
23109 (bootcheck-kopenbsd-x86_64): Likewise.
23110 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23111 (bootcheck-knetbsd-x86_64): Likewise.
23112 (bootcheck-linux-i386): Likewise.
23113 (bootcheck-linux-x86_64): Likewise.
23114 (bootcheck-linux16-i386): Likewise.
23115 (bootcheck-linux16-x86_64): Likewise.
23116 (bootcheck-multiboot): Likewise.
23117 (bootcheck-multiboot2): Likewise.
23118 (bootcheck-kfreebsd-aout): Likewise.
23119 (bootcheck-pc-chainloader): Likewise.
23120 (bootcheck-ntldr): Likewise.
23121 (CLEANFILES): Add new targets.
23122 (BOOTCHECKS): New variable.
23123 (.PHONY): Add bootchecks.
23124 (SUCCESSFUL_BOOT_STRING): New variable.
23125 (BOOTCHECK_TIMEOUT): Likewise.
23126 (bootcheck): New target
23127 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23128 * configure.ac: Correct efiemu excuse.
23129 * docs/grub.texi (Supported kernels): New chapter.
23130 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23131 include/grub/mm_private.h. Simplify inclusion of
23132 include/grub/boot.h, include/grub/loader.h
23133 and include/grub/msdos_partition.h
23134 (KERNEL_HEADER_FILES) [i386_coreboot]:
23135 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23136 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23137 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23138 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23139 include/grub/machine/loader.h.
23140 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23141 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23142 extra_dist.
23143 (pci.mod): Enable on i386-multiboot.
23144 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23145 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23146 i386-qemu.
23147 (relocator.mod): Rewritten.
23148 (aout.mod): Enable on all x86.
23149 (bsd.mod): Likewise.
23150 (ntldr.mod): New module.
23151 (linux.mod): Use loader/i386/linux.c on all x86.
23152 (xnu.mod): Enable on all x86.
23153 (vga_text.mod): disable on EFI and QEMU.
23154 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23155 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23156 * grub-core/efiemu/loadcore.c: Likewise.
23157 * grub-core/efiemu/main.c: Likewise.
23158 (grub_efiemu_exit_boot_services): Removed.
23159 (grub_efiemu_finish_boot_services): Likewise.
23160 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
23161 function.
23162 * grub-core/efiemu/i386/nocfgtables.c: New file.
23163 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
23164 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
23165 (grub_efi_finish_boot_services): Moved from here ...
23166 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
23167 Fille finish memory map and related data.
23168 (finish_mmap_buf): New variable.
23169 (grub_efi_uintn_t finish_mmap_size): Likewise.
23170 (grub_efi_uintn_t finish_key): Likewise.
23171 (grub_efi_uintn_t finish_desc_size): Likewise.
23172 (grub_efi_uint32_t finish_desc_version): Likewise.
23173 (grub_efi_is_finished): Likewise.
23174 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23175 finished.
23176 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23177 (grub_elf64_phdr_iterate): Likewise.
23178 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23179 (grub_os_area_size): Likewise.
23180 (grub_machine_init): Don't reserve os area.
23181 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23182 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23183 * grub-core/kern/i386/loader.S: Removed.
23184 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23185 (grub_os_area_size): Likewise.
23186 (grub_machine_init): Don't reserve os area.
23187 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
23188 Don't call grub_dl_unload_all.
23189 Don't include loader.S.
23190 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
23191 Declare the memory after _end as available.
23192 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 23193 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 23194 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
23195 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
23196 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
23197 * include/grub/mm_private.h (grub_mm_header): ... here.
23198 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
23199 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
23200 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23201 (grub_mm_region): ..here. Removed addr. Added pre_size.
23202 All users updated.
23203 * grub-core/kern/mm.c (base): Renamed to ...
23204 (grub_mm_base): ... this. Made global.
23205 (grub_real_malloc): Alloc from end of region.
23206 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23207 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23208 * grub-core/kern/powerpc/cache_flush.S: ... here.
23209 * grub-core/lib/efi/relocator.c: New file.
23210 * grub-core/lib/i386/relocator.c: Rewritten.
23211 * grub-core/lib/i386/relocator16.S: New file.
23212 * grub-core/lib/i386/relocator32.S: Likewise.
23213 * grub-core/lib/i386/relocator64.S: Likewise.
23214 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23215 * grub-core/lib/i386/relocator_common.S: New file.
23216 * grub-core/lib/ieee1275/relocator.c: Likewise.
23217 * grub-core/lib/mips/relocator.c: Rewritten.
23218 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23219 stylistic adjustments.
23220 * grub-core/lib/powerpc/relocator.c: New file.
23221 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23222 * grub-core/lib/relocator.c: Rewritten.
23223 * grub-core/lib/x86_64/relocator_asm.S: New file.
23224 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23225 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23226 (bsd_tag): New struct.
23227 (tags): New variable.
23228 (tags_last): Likewise.
23229 (netbsd_module): New struct.
23230 (netbsd_mods): New variable.
23231 (netbsd_mods_last): Likewise.
23232 (openbsd_opts): New parameter "serial".
23233 (OPENBSD_SERIAL_ARG): New definition.
23234 (netbsd_opts): New parameter "serial".
23235 (NETBSD_SERIAL_ARG): New definition.
23236 (grub_freebsd_add_meta): Reorganised into ...
23237 (grub_bsd_add_meta): ...this. All users updated.
23238 (grub_freebsd_add_mmap): Reorganised into ...
23239 (generate_e820_mmap): ...this...
23240 (grub_bsd_add_mmap): ...and this. All users updated.
23241 (grub_freebsd_list_modules): Use tags.
23242 (grub_netbsd_add_meta_module): New function.
23243 (grub_netbsd_list_modules): Likewise.
23244 (grub_freebsd_boot): Use relocator and finish EFI.
23245 (grub_openbsd_boot): Likewise.
23246 (grub_netbsd_setup_video): New function.
23247 (grub_netbsd_add_modules): Likewise.
23248 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23249 and finish EFI.
23250 (grub_bsd_unload): Unload tags.
23251 (grub_bsd_load_aout): Use relocator.
23252 (grub_bsd_elf32_size_hook): New function.
23253 (grub_bsd_elf32_hook): Use relocator.
23254 (grub_bsd_elf64_size_hook): New function.
23255 (grub_bsd_elf64_hook): Use relocator.
23256 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23257 (grub_bsd_load): Zero-out openbsd_ramdisk.
23258 (grub_bsd_load): Use relocator.
23259 (grub_cmd_openbsd): Support serial.
23260 (grub_cmd_netbsd): Support modules.
23261 (grub_cmd_freebsd_module): Use relocator.
23262 (grub_netbsd_module_load): New function.
23263 (grub_cmd_netbsd_module): Likewise.
23264 (grub_cmd_openbsd_ramdisk): Likewise.
23265 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23266 kopenbsd_ramdisk.
23267 (GRUB_MOD_FINI): Unregister new commands.
23268 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23269 (grub_freebsd_load_elfmodule_obj): Use relocator.
23270 (grub_freebsd_load_elfmodule): Likewise.
23271 (grub_freebsd_load_elf_meta): Likewise.
23272 (grub_netbsd_load_elf_meta): New function.
23273 (grub_openbsd_find_ramdisk): Likewise.
23274 * grub-core/loader/i386/bsd_helper.S: Removed.
23275 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23276 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23277 * grub-core/loader/i386/efi/linux.c: Likewise.
23278 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23279 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23280 (DEFAULT_VIDEO_MODE): Likewise.
23281 (real_mode_target): New variable.
23282 (prot_mode_target): Likewise.
23283 (initrd_mem_target): Likewise.
23284 (relocator): Likewise.
23285 (efi_mmap_buf): Likewise.
23286 (efi_mmap_size): Likewise.
23287 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23288 (free_pages): Use relocator.
23289 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23290 (grub_linux_setup_video): Return error.
23291 (grub_linux_trampoline_start): Removed.
23292 (grub_linux_trampoline_end): Likewise.
23293 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23294 andd video parameters depending on firmware.
23295 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23296 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23297 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23298 (grub_cmd_initrd): Use relocator.
23299 * grub-core/loader/i386/linux_trampoline.S: Removed.
23300 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23301 (elf_sec_entsize): Likewise.
23302 (elf_sec_shstrndx): Likewise.
23303 (elf_sections): Likewise.
23304 (grub_multiboot_load): Use relocator.
23305 (grub_multiboot_get_mbi_size): Account for sections.
23306 (grub_multiboot_make_mbi): Use relocator and support sections.
23307 (grub_multiboot_add_elfsyms): New function.
23308 (grub_multiboot_free_mbi): Free sections.
23309 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23310 (grub_linux_real_target): Likewise.
23311 (grub_linux_real_chunk): Likewise.
23312 (grub_linux16_prot_size): Likewise.
23313 (grub_linux16_boot): Use relocator.
23314 (grub_linux_unload): Unload relocator.
23315 (grub_cmd_linux): Use relocator.
23316 (grub_cmd_initrd): Likewise.
23317 * grub-core/loader/i386/pc/ntldr.c: New file.
23318 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23319 Don't try to guess CPU frequency.
23320 (grub_xnu_set_video): Stretch bitmap.
23321 (grub_xnu_boot): Use relocator.
23322 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23323 (grub_linux_unload): Free relocator.
23324 (grub_linux_load32): Use relocator.
23325 (grub_linux_load64): Likewise.
23326 (grub_cmd_initrd): Likewise.
23327 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23328 (grub_multiboot_unload): Unload relocator.
23329 (grub_cmd_multiboot): Use relocator.
23330 (grub_cmd_module): Likewise.
23331 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23332 Use relocator and support sections.
23333 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23334 (elf_sec_entsize): Likewise.
23335 (elf_sec_shstrndx): Likewise.
23336 (elf_sections): Likewise.
23337 (grub_multiboot_load): Use relocator.
23338 (grub_multiboot_get_mbi_size): Account for sections.
23339 (grub_multiboot_make_mbi): Use relocator and support sections.
23340 (grub_multiboot_add_elfsyms): New function.
23341 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23342 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23343 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23344 Prototype changed. All users updated.
23345 (grub_xnu_align_heap): Simplified.
23346 (grub_xnu_writetree_toheap): Likewise.
23347 (grub_xnu_unload): Unload relocator.
23348 (grub_cmd_xnu_kernel): Use relocator.
23349 (grub_cmd_xnu_kernel64): Likewise.
23350 (grub_xnu_register_memory): Simplified.
23351 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23352 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23353 EFI is finished.
23354 (grub_console_checkkey): Likewise.
23355 (grub_console_getkey): Likewise.
23356 (grub_console_getwh): Likewise.
23357 (grub_console_getxy): Likewise.
23358 (grub_console_gotoxy): Likewise.
23359 (grub_console_cls): Likewise.
23360 (grub_console_setcolorstate): Likewise.
23361 (grub_console_setcursor): Likewise.
23362 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23363 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23364 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23365 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23366 * grub-core/tests/boot/kernel-8086.S: Likewise.
23367 * grub-core/tests/boot/kernel-i386.S: Likewise.
23368 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23369 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23370 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23371 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23372 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23373 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23374 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23375 * grub-core/tests/boot/linux.cfg: Likewise.
23376 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23377 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23378 * grub-core/tests/boot/linux16.cfg: Likewise.
23379 * grub-core/tests/boot/multiboot.cfg: Likewise.
23380 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23381 * grub-core/tests/boot/ntldr.cfg: Likewise.
23382 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23383 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23384 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23385 New definition.
23386 * include/grub/dl.h (grub_dl_unload_all): Removed.
23387 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23388 (grub_efi_finish_boot_services): Change prototype.
23389 (grub_efi_is_finished): New variable.
23390 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23391 Changed prototype.
23392 (grub_efiemu_finish_boot_services): Removed.
23393 (grub_machine_efiemu_init_tables): New prototype.
23394 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23395 (grub_elf64_phdr_iterate): Likewise.
23396 * include/grub/i386/bsd.h: Include relocator.h.
23397 (freebsd_tag_header): New struct.
23398 (grub_openbsd_bios_mmap): Removed.
23399 (grub_unix_real_boot): Removed.
23400 (grub_freebsd_load_elfmodule32): Changed prototype.
23401 (grub_freebsd_load_elfmodule_obj64): Likewise.
23402 (grub_freebsd_load_elf_meta32): Likewise.
23403 (grub_freebsd_load_elf_meta64): Likewise.
23404 (grub_freebsd_add_meta): Removed.
23405 (grub_netbsd_load_elf_meta32): New prototype.
23406 (grub_netbsd_load_elf_meta64): Likewise.
23407 (grub_bsd_add_meta): Likewise.
23408 (grub_openbsd_ramdisk_descriptor): New struct.
23409 (grub_openbsd_find_ramdisk32): New prototype.
23410 (grub_openbsd_find_ramdisk64): Likewise.
23411 * include/grub/i386/coreboot/loader.h: Removed.
23412 * include/grub/i386/efi/loader.h: Likewise.
23413 * include/grub/i386/ieee1275/loader.h: Likewise.
23414 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23415 to grub_uint32_t.
23416 * include/grub/i386/loader.h: Removed.
23417 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23418 value.
23419 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23420 (grub_phys_addr_t): New type.
23421 (grub_vtop): New inline function.
23422 (grub_map_memory): Likewise.
23423 (grub_unmap_memory): Likewise.
23424 * include/grub/i386/multiboot/loader.h: Removed.
23425 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23426 (NETBSD_BTINFO_CONSOLE): New definition.
23427 (NETBSD_BTINFO_SYMTAB): Likewise.
23428 (NETBSD_BTINFO_MODULES): Likewise.
23429 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23430 (grub_netbsd_bootinfo): New struct.
23431 (grub_netbsd_btinfo_common): Use explicit bitsize.
23432 (grub_netbsd_btinfo_mmap_entry): Removed.
23433 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23434 (grub_netbsd_btinfo_bootdisk): New struct.
23435 (grub_netbsd_btinfo_symtab): Likewise.
23436 (grub_netbsd_btinfo_serial): Likewise.
23437 (grub_netbsd_btinfo_modules): Likewise.
23438 (grub_netbsd_btinfo_framebuf): Likewise.
23439 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23440 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23441 Likewise.
23442 (grub_openbsd_bootargs): Use explicit bitsize.
23443 (grub_openbsd_bootarg_console): New struct.
23444 (GRUB_OPENBSD_COM_MAJOR): New definition.
23445 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23446 * include/grub/i386/pc/efiemu.h: Removed.
23447 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23448 * include/grub/i386/qemu/loader.h: Removed.
23449 * include/grub/i386/relocator.h: Rewritten.
23450 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23451 * include/grub/mips/memory.h: New file.
23452 * include/grub/mips/multiboot.h: Rewritten.
23453 * include/grub/mips/relocator.h: Rewritten.
23454 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23455 (grub_vtop): New function.
23456 (grub_map_memory): Likewise.
23457 (grub_unmap_memory): Likewise.
23458 * include/grub/misc.h (ALIGN_DOWN): New definition.
23459 * include/grub/mm.h (grub_mm_check_real): New proto.
23460 (GRUB_MM_CHECK): New definition.
23461 * include/grub/mm_private.h: New file.
23462 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23463 (grub_multiboot_get_mbi_size): Removed.
23464 (grub_multiboot_make_mbi): Change prottype.
23465 (grub_multiboot_set_accepts_video): New proto.
23466 (grub_multiboot_add_elfsyms): Likewise.
23467 (grub_multiboot_payload_eip): New variable.
23468 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23469 New prototype.
23470 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23471 New definition.
23472 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23473 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23474 * include/grub/powerpc/ieee1275/loader.h: Removed.
23475 * include/grub/powerpc/memory.h: New file.
23476 * include/grub/powerpc/relocator.h: Likewise.
23477 * include/grub/relocator.h: Likewise.
23478 * include/grub/relocator_private.h: Likewise.
23479 * include/grub/sparc64/ieee1275/loader.h: Removed.
23480 * include/grub/x86_64/memory.h: New file.
23481 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23482 (grub_xnu_heap_malloc): Likewise.
23483 (grub_xnu_heap_real_start): Removed.
23484 (grub_xnu_heap_start): Likewise.
23485 (grub_xnu_relocator): New variable.
23486 (grub_xnu_heap_target_start): Likewise.
23487 * tests/util/grub-shell.in: Support non-pc.
23488 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23489
5303b85d
VS
234902010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23491
23492 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23493 on malloc error.
23494 (grub_bidi_logical_to_visual): Check that malloc succeded.
23495 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23496 puts.
23497 (grub_xputs_normal): Likewise.
23498
d768d159
VS
234992010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23500
23501 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23502 extra_dist.
23503
235042010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23505
23506 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23507
5bf84df4
VS
235082010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23509
23510 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23511
3626810e
VS
235122010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23513
23514 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23515 dprintf.
23516
a7363f53
BC
235172010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23518
23519 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23520
902f75f6
VS
235212010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23522
23523 * grub-core/normal/term.c (print_more): Fix a memory leak.
23524 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23525 (grub_xputs_normal): Likewise.
23526
3c707967
VS
235272010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23528
23529 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23530 the begining of the string
23531
2053cc07
VS
235322010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23533
23534 * grub-core/script/script.c (grub_script_parse): Free parsed on
23535 failure.
23536
46422ebf
VS
235372010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23538
23539 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23540 on failure.
23541
9e0fa3f6
VS
235422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23543
23544 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23545 return.
23546
3393cf16
VS
235472010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23548
23549 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23550 (scroll_up): Fix a memory leak.
23551
b17540cb
VS
235522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23553
23554 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23555 errors.
23556
67140446
VS
235572010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23558
23559 Handle USB pendrives exposed as floppies.
23560
23561 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23562 floppy.
23563 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23564 Check for partitions on all devices.
23565
e35e46fc
VS
235662010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23567
23568 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23569 (readkey): Likewise.
23570
d24c6190
BC
235712010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23572
23573 Multiple variable names support to "export" command.
23574
23575 * normal/context.c (grub_cmd_export): "export" command supports
23576 multiple variable names.
23577
04ddcc6a
ST
235782010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23579
23580 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23581 --target=drive output to Mach device name.
23582
0c8b61d8
BC
235832010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23584
23585 New Automake based build system for GRUB.
23586
23587 * ABOUT-NLS: New file.
23588 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23589 in Makefile.util.def file.
23590 * Makefile.util.def: New file. Autogen build definitions file for
23591 GRUB host utils.
23592 * conf/Makefile.common: New file. Common variables for GRUB host
23593 utils and target modules.
23594 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23595 * docs/Makefile.am: New file. Automake file for docs.
23596 * gentpl.py: New file. Python script to generate Autogen
23597 template.
23598 * grub-core/Makefile.am: New file. GRUB target modules' rules
23599 that doesn't fit in Makefile.core.def file.
23600 * grub-core/Makefile.core.def: New file. Autogen build
23601 definitions file for GRUB target modules.
23602 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23603 specific setjmp.S file.
23604 * po/Makefile.am: New file.
23605
23606 * .bzrignore: New ignores.
23607 * INSTALL: New requirements, without Ruby.
23608 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23609 * autogen.sh: Updated to invoke autogen as necessary.
23610 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23611 and defines for Automake conditionals.
23612 * geninit.sh: Refactoring.
23613
23614 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23615 necessary.
23616 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23617 New prototype.
23618
23619 * include/grub/test.h: Fix functional test modules' naming.
23620 * grub-core/tests/example_functional_test.c: Fix test module name.
23621
23622 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23623 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23624 * util/grub-editenv.c: Likewise.
23625 * util/grub-fstest.c: Likewise.
23626 * util/grub-mkdevicemap.c: Likewise.
23627 * util/grub-mkfont.c: Likewise.
23628 * util/grub-mkimage.c: Likewise.
23629 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23630 * util/grub-probe.c: Likewise.
23631 * util/grub-script-check.c: Likewise.
23632 * util/i386/pc/grub-setup.c: Likewise.
23633 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23634
23635 * tests/util/grub-shell.in: Fix override directory path.
23636 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23637 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23638
23639 * util/lvm.c: Update #includes.
23640 * util/raid.c: Likewise.
23641 * util/resolve.c: Likewise.
23642 * grub-core/bus/emu/pci.c: Likewise.
23643 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23644 * grub-core/lib/posix_wrap/string.h: Likewise.
23645 * grub-core/kern/emu/main.c: Likewise.
23646
23647 * grub-core/gensymlist.sh: New file. Script for generating kernel
23648 symbols file.
23649 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23650
23651 * grub-core/gentrigtables.c: Fix unused variable warnings.
23652
23653 * Makefile.in: Removed.
23654 * conf/any-emu.rmk: Removed.
23655 * conf/common.rmk: Removed.
23656 * conf/i386-coreboot.rmk: Removed.
23657 * conf/i386-efi.rmk: Removed.
23658 * conf/i386-ieee1275.rmk: Removed.
23659 * conf/i386-multiboot.rmk: Removed.
23660 * conf/i386-pc.rmk: Removed.
23661 * conf/i386-qemu.rmk: Removed.
23662 * conf/i386.rmk: Removed.
23663 * conf/mips-yeeloong.rmk: Removed.
23664 * conf/mips.rmk: Removed.
23665 * conf/powerpc-ieee1275.rmk: Removed.
23666 * conf/sparc64-ieee1275.rmk: Removed.
23667 * conf/tests.rmk: Removed.
23668 * conf/x86-efi.rmk: Removed.
23669 * conf/x86_64-efi.rmk: Removed.
23670 * gendistlist.sh: Removed.
23671 * geninitheader.sh: Removed.
23672 * genkernsyms.sh.in: Removed.
23673 * genmk.rb: Removed.
23674 * gensymlist.sh.in: Removed.
23675 * mkinstalldirs: Removed.
23676 * boot: Moved ...
23677 * grub-core/boot: ... to here.
23678 * bus: Moved ...
23679 * grub-core/bus: ... to here.
23680 * commands: Moved ...
23681 * grub-core/commands: ... to here.
23682 * disk: Moved ...
23683 * grub-core/disk: ... to here.
23684 * efiemu: Moved ...
23685 * grub-core/efiemu: ... to here.
23686 * font: Moved ...
23687 * grub-core/font: ... to here.
23688 * fs: Moved ...
23689 * grub-core/fs: ... to here.
23690 * gencmdlist.sh: Moved ...
23691 * grub-core/gencmdlist.sh: ... to here.
23692 * genemuinit.sh: Moved ...
23693 * grub-core/genemuinit.sh: ... to here.
23694 * genemuinitheader.sh: Moved ...
23695 * grub-core/genemuinitheader.sh: ... to here.
23696 * genfslist.sh: Moved ...
23697 * grub-core/genfslist.sh: ... to here.
23698 * genhandlerlist.sh: Moved ...
23699 * grub-core/genhandlerlist.sh: ... to here.
23700 * genmoddep.awk: Moved ...
23701 * grub-core/genmoddep.awk: ... to here.
23702 * genmodsrc.sh: Moved ...
23703 * grub-core/genmodsrc.sh: ... to here.
23704 * genpartmaplist.sh: Moved ...
23705 * grub-core/genpartmaplist.sh: ... to here.
23706 * genparttoollist.sh: Moved ...
23707 * grub-core/genparttoollist.sh: ... to here.
23708 * genterminallist.sh: Moved ...
23709 * grub-core/genterminallist.sh: ... to here.
23710 * gentrigtables.c: Moved ...
23711 * grub-core/gentrigtables.c: ... to here.
23712 * genvideolist.sh: Moved ...
23713 * grub-core/genvideolist.sh: ... to here.
23714 * gettext: Moved ...
23715 * grub-core/gettext: ... to here.
23716 * gfxmenu: Moved ...
23717 * grub-core/gfxmenu: ... to here.
23718 * gnulib: Moved ...
23719 * grub-core/gnulib: ... to here.
23720 * hello: Moved ...
23721 * grub-core/hello: ... to here.
23722 * hook: Moved ...
23723 * grub-core/hook: ... to here.
23724 * io: Moved ...
23725 * grub-core/io: ... to here.
23726 * kern: Moved ...
23727 * grub-core/kern: ... to here.
23728 * lib: Moved ...
23729 * grub-core/lib: ... to here.
23730 * loader: Moved ...
23731 * grub-core/loader: ... to here.
23732 * mmap: Moved ...
23733 * grub-core/mmap: ... to here.
23734 * normal: Moved ...
23735 * grub-core/normal: ... to here.
23736 * partmap: Moved ...
23737 * grub-core/partmap: ... to here.
23738 * parttool: Moved ...
23739 * grub-core/parttool: ... to here.
23740 * script: Moved ...
23741 * grub-core/script: ... to here.
23742 * term: Moved ...
23743 * grub-core/term: ... to here
23744 * tests/example_functional_test.c: Moved ...
23745 * grub-core/tests/example_functional_test.c: ... to here.
23746 * tests/lib/functional_test.c: Moved ...
23747 * grub-core/tests/lib/functional_test.c: ... to here.
23748 * tests/lib/test.c: Moved ...
23749 * grub-core/tests/lib/test.c: ... to here.
23750 * video: Moved ...
23751 * grub-core/video: ... to here.
23752
645586e6
BC
237532010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23754
23755 Replace --enable-grub-emu-modules with grub-emu-lite.
23756
23757 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23758 cache.S.
23759
23760 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23761 * kern/emu/full.c: New file. For grub-emu specific initialization.
23762 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23763 * kern/emu/main.c: Call initialization function grub_emu_init.
23764
23765 * Makefile.in: Include grub-emu-lite in install.
23766 * commands/parttool.c: Use grub_no_autoload to differentiate
23767 between grub-emu and grub-emu-lite.
23768 * include/grub/misc.h: New variable grub_no_autoload.
23769
23770 * conf/any-emu.rmk: New rules for grub-emu-lite.
23771 * configure.ac: Remove --enable-grub-emu-modules.
23772 * genmk.rb: Cleanup unnecessary rules.
23773 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23774
23775 * normal/main.c: Don't load list files on grub-emu-lite.
23776 * util/misc.c (grub_arch_sync_caches): Removed.
23777
f86a4030
CW
237782010-08-23 Colin Watson <cjwatson@ubuntu.com>
23779
23780 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23781 grub-mkimage rather than grub-mkelfimage.
23782 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23783
06776944
VS
237842010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23785
23786 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23787 a key after CapsLock or NumLock. It's just a qemu bug.
23788
df262419
VS
237892010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23790
23791 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23792 needed by libusb wrapper.
23793
b40ea81b
ST
237942010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23795
23796 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23797
dee50575
VS
237982010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23799
23800 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23801 --nounzip is passed.
23802
fb1d7b79
VS
238032010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23804
23805 USB hotunplugging and USB serial support.
23806
23807 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23808 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23809 (grub_uhci_transfer): Respect timeout and set *actual.
23810 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23811 non-standard length.
23812 (grub_usb_device_attach): Autoload modules.
23813 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23814 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23815 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23816 users updated.
23817 (grub_usb_add_hub): Fill nports and children.
23818 (attach_root_port): Receive hub instead of controller.
23819 All users updated. Fill hub->devices.
23820 (grub_usb_root_hub): Allocate hub->devices.
23821 (detach_device): New function.
23822 (poll_nonroot_hub): Fill children and detach devices.
23823 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23824 actual arguments. All users updated.
23825 (grub_usb_bulk_read_extended): New function.
23826 * bus/usb/serial/common.c: New file.
23827 * bus/usb/serial/ftdi.c: Likewise.
23828 * bus/usb/serial/pl2303.c: Likewise.
23829 * commands/terminal.c (handle_command): Support wildcard.
23830 * commands/usbtest.c: Output "Unknown" instead of empty string.
23831 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23832 (usbserial_common_mod_SOURCES): New variable.
23833 (usbserial_common_mod_CFLAGS): Likewise.
23834 (usbserial_common_mod_LDFLAGS): Likewise.
23835 (pkglib_MODULES): Add usbserial_pl2303.mod.
23836 (usbserial_pl2303_mod_SOURCES): New variable.
23837 (usbserial_pl2303_mod_CFLAGS): Likewise.
23838 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23839 (pkglib_MODULES): Add usbserial_ftdi.mod.
23840 (usbserial_ftdi_mod_SOURCES): New variable.
23841 (usbserial_ftdi_mod_CFLAGS): Likewise.
23842 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23843 (pkglib_MODULES): Add serial.mod.
23844 (serial_mod_SOURCES): New variable.
23845 (serial_mod_CFLAGS): Likewise.
23846 (serial_mod_LDFLAGS): Likewise.
23847 * conf/i386-pc.rmk: Likewise.
23848 * conf/mips-yeeloong.rmk: Likewise.
23849 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23850 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23851 * disk/usbms.c (first_available_slot): New variable.
23852 (grub_usbms_attach): Don't reuse free slots due to potential cache
23853 problems.
23854 * include/grub/serial.h: Moved to ..
23855 * include/grub/ns8250.h: ...this.
23856 * include/grub/serial.h: New file.
23857 * include/grub/term.h (grub_term_poll_usb): New variable.
23858 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23859 readkey. All users updated.
23860 (grub_terminfo_output_state): Pass term to put.
23861 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23862 (grub_usb_controller_dev): Add timeout and actual arguments to
23863 transfer. All users updated.
23864 (grub_usb_interface): New field detach_data.
23865 (grub_usb_device): New fields children and nports.
23866 (grub_usb_ep_type_t): New type.
23867 (grub_usb_get_ep_type): New function.
23868 (grub_usb_bulk_read_extended): Likewise.
23869 * include/grub/usbdesc.h (grub_usb_desc): New type.
23870 * include/grub/usbserial.h: New file.
23871 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23872 * kern/term.c (grub_term_poll_usb): New variable.
23873 (grub_getkey): Call grub_term_poll_usb if set.
23874 (grub_checkkey): Likewise.
23875 (grub_getkeystatus): Likewise.
23876 * term/serial.c: Moved controller-specific parts to ...
23877 * term/ns8250.c: ... here.
23878 * term/serial.c: Mostly rewritten.
23879 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23880 according to spec.
23881
21a313de
RM
238822010-08-20 Robert Millan <rmh@gnu.org>
23883
23884 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23885 a separate module and maybe other interesting combinations.
23886
23887 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23888 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23889 (kfreebsd_entry): Add generic filesystem module load routine.
23890 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23891
63c734a6
CW
238922010-08-20 Colin Watson <cjwatson@ubuntu.com>
23893
23894 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23895 "numcenter" (I misunderstood the purpose of this entry).
23896 * docs/grub.texi (sendkey): Likewise.
23897
c4d16542
CW
238982010-08-20 Colin Watson <cjwatson@ubuntu.com>
23899
23900 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23901 status flag options; simply omitting the option is equivalent and
23902 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23903 (keysym_table): Rename "num5numlock" to "numlock".
23904 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23905 can uniformly say that only the last of multiple `sendkey'
23906 invocations has any effect.
23907 * docs/grub.texi (sendkey): New section.
23908
93541d66
CW
239092010-08-19 Colin Watson <cjwatson@ubuntu.com>
23910
23911 * commands/i386/pc/sendkey.c (options): Fix three typos.
23912
b4ece5e1
VS
239132010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23914
23915 Implement sendkey support.
23916
23917 * commands/i386/pc/sendkey.c: New file.
23918 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23919 (sendkey_mod_SOURCES): New variable.
23920 (sendkey_mod_CFLAGS): Likewise.
23921 (sendkey_mod_LDFLAGS): Likewise.
23922
51f1f5af
CW
239232010-08-18 Colin Watson <cjwatson@ubuntu.com>
23924
23925 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23926 fix warnings from Autoconf.
23927
9da94e05
CW
239282010-08-18 Colin Watson <cjwatson@ubuntu.com>
23929
23930 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23931 to avoid false positives with some assemblers that output things
23932 like "someprefix_func" as part of their output.
23933
729a0f2e
RM
239342010-08-15 Robert Millan <rmh@gnu.org>
23935
23936 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23937 errors.
23938 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23939 grub_get_libzfs_handle() errors.
23940
f3710e08
RM
239412010-08-14 Robert Millan <rmh@gnu.org>
23942
23943 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23944 filesystem is not ZFS.
23945
7a3c13de
BC
239462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23947
23948 Fix for misspelled color names defaulting to black/black (bug
23949 reported by Doug Nazar)
23950
23951 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23952 status to prototype.
23953 * normal/color.c (grub_parse_color_name_pair): Return failure
23954 status.
23955 (grub_env_write_color_normal): Ignore bad color names.
23956 (grub_env_write_color_highlight): Likewise.
23957 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23958
ab8ba50d
BC
239592010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23960
23961 "shift" command support to GRUB script.
23962
23963 * include/grub/script_sh.h (grub_script_shift): New prototype.
23964 * script/execute.c (grub_script_shift): New function.
23965 * script/main.c (grub_script_init): Register shift command.
23966 (grub_script_fini): Unregister shift command.
23967 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23968
23969 * tests/grub_script_shift.in: New testcase.
23970 * conf/tests.rmk: Rules for new testcase.
23971
4d61999e
BC
239722010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23973
23974 "continue" command support to GRUB script.
23975
23976 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23977 (grub_script_break): Continue support.
23978 * script/main.c (grub_script_init): Register continue command.
23979 (grub_script_fini): Unregister continue command.
23980
23981 * tests/grub_script_continue.in: New testcase.
23982 * conf/tests.rmk: Rules for new testcase.
23983
4df51e00
BC
239842010-08-12 BVK Chaitanya <bvk@dbook>
23985
23986 "break" command support to GRUB script.
23987
23988 * conf/common.rmk: Rule updates to grub-script-check.
23989 * include/grub/misc.h (grub_min): New function.
23990 * include/grub/script_sh.h (grub_script_init): New prototype.
23991 (grub_script_fini): New prototype.
23992 (grub_script_break): New prototype.
23993 * script/main.c (grub_script_init): New function.
23994 (grub_script_fini): New function.
23995 * script/execute.c (grub_script_break): New function.
23996 * normal/main.c: Calls to grub_script_{init,fini}.
23997 * util/grub-script-check.c (grub_script_break): New function.
23998
23999 * tests/grub_script_break.in: New testcase.
24000 * conf/tests.rmk: Rules for new test case.
24001
f12c8420
BC
240022010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24003
24004 Function parameters support to GRUB script.
24005
24006 * script/yylex.l (VARIABLE): Regular expression update.
24007 * script/function.c (grub_script_function_call): Moved ...
24008 * script/execute.c (grub_script_function_call): ... to here.
24009 (grub_script_execute_arglist_to_argv): Removed.
24010 (grub_script_arglist_to_argv): New function.
24011 * script/argv.c: New file.
24012 (grub_script_argv_free): New function.
24013 (grub_script_argv_next): Likewise.
24014 (grub_script_argv_append): Likewise.
24015 (grub_script_argv_split_append): Likewise.
24016 * include/grub/script_sh.h (grub_script_argv): New struct.
24017 (grub_script_argv_free): New function.
24018 (grub_script_argv_next): Likewise.
24019 (grub_script_argv_append): Likewise.
24020 (grub_script_argv_split_append): Likewise.
24021
24022 * conf/common.rmk (normal.mod): New source script/argv.c.
24023
24024 * tests/grub_script_echo1.in: More tests.
24025 * tests/grub_script_vars1.in: Likewise.
24026 * tests/grub_script_functions.in: New test case.
24027 * conf/tests.rmk: Rules for new testcase.
24028
8022b748
BC
240292010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24030
24031 Remove grub_script_cmdblock struct.
24032
24033 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24034 * script/parser.y: Likewise.
24035 * script/execute.c: Rename cmdblock suffix to cmdlist.
24036 * script/script.c: Likewise.
24037 * util/grub-script-check.c: Likewise.
24038
79a6ba61
YB
240392010-08-11 Yves Blusseau <blusseau@zetam.org>
24040
24041 * .bzrignore: add grub-macho2img
24042
d04b9414
VS
240432010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24044
24045 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24046
f947ab49
VS
240472010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24048
24049 Remove the dump of sm712 initialisation sequence.
24050
24051 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24052 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24053 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24054 (GRUB_VGA_CR_*): Added many registers.
24055 (GRUB_VGA_SR_*): Likewise.
24056 (GRUB_VGA_GR_*): Likewise.
24057 (grub_vga_write_arx): New function.
24058 (grub_video_hw_config): New struct.
24059 (grub_vga_set_geometry): New function.
24060 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24061 GRUB_PCI_CLASS_SUBCLASS_VGA.
24062 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24063 * video/sm712.c (grub_sm712_write_reg): New function
24064 (grub_sm712_read_reg): Likewise.
24065 (grub_sm712_sr_write): Likewise.
24066 (grub_sm712_gr_write): Likewise.
24067 (grub_sm712_cr_write): Likewise.
24068 (grub_sm712_write_arx): Likewise.
24069 (grub_sm712_cr_shadow_write): Likewise.
24070 (grub_sm712_write_dda_lookup): Likewise.
24071 (grub_video_sm712_setup): Initialise the video rather then
24072 blindly replay the dump.
24073 (main) [TEST]: Add a routine to be able to compile as standalone for
24074 tests.
24075 * video/sm712_init.c (sm712_init): Removed.
24076 (sm712_sr_seq1): New array.
24077 (sm712_sr_seq2): Likewise.
24078
f0206638
VS
240792010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24080
24081 * include/grub/vga.h: Add missing grub/pci.h include.
24082
2764da3b
YB
240832010-08-10 Yves Blusseau <blusseau@zetam.org>
24084
24085 * util/grub-macho2img.c (main): fix typo
24086
cf0c775e
VS
240872010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24088
24089 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24090 (grub_vga_gr_read): Likewise.
24091 (grub_vga_cr_write): Likewise.
24092 (grub_vga_cr_read): Likewise.
24093 (grub_vga_sr_write): Likewise.
24094 (grub_vga_sr_read): Likewise.
24095 (grub_vga_palette_read): Likewise.
24096 (grub_vga_palette_write): Likewise.
24097 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24098 (grub_sm712_sr_read): New function.
24099 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24100 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24101
07f360e9
RM
241022010-08-09 Robert Millan <rmh@gnu.org>
24103
24104 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24105 out unused variables on non-ZFS build.
24106
346c2072
RM
241072010-08-08 Robert Millan <rmh@gnu.org>
24108
24109 Fix path generation for sub-filesystems in ZFS.
24110
24111 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24112 missing slash.
24113
71175420
RM
241142010-08-08 Robert Millan <rmh@gnu.org>
24115
24116 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24117
0d8286f3
RM
241182010-08-08 Robert Millan <rmh@gnu.org>
24119
24120 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24121 exist, issue a proper error message (rely on `ls' for translated
24122 strings).
24123
55dd2924
RM
241242010-08-08 Robert Millan <rmh@gnu.org>
24125
24126 Fix grub-probe invocation.
24127
24128 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24129
d3dd9e80
RM
241302010-08-04 Robert Millan <rmh@gnu.org>
24131
24132 * configure.ac: Remove checks for getfsstat() and getmntany().
24133 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24134 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24135 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24136 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24137 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24138 function.
24139 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24140 via find_mount_point_from_dir() and getfsstat() / getmntany().
24141
0de22aa9
RM
241422010-08-04 Robert Millan <rmh@gnu.org>
24143
24144 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24145 (grub_find_zpool_from_mount_point): Merge into ...
24146 (grub_find_zpool_from_dir): ... this.
24147 * kern/emu/misc.c: Likewise.
24148
24149 * kern/emu/misc.c
24150 (grub_make_system_path_relative_to_its_root): Replace
24151 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24152 with grub_find_zpool_from_dir().
24153 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24154
62858144
RM
241552010-08-04 Robert Millan <rmh@gnu.org>
24156
24157 Support OpenSolaris in ZFS device resolution.
24158
24159 * configure.ac: Check for getmntany().
24160 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
24161 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
24162 support.
24163
9dd6fd50
RM
241642010-08-03 Robert Millan <rmh@gnu.org>
24165
24166 Fix grub-emu build.
24167
24168 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
24169 * include/grub/emu/misc.h: ... here.
24170
24171 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24172 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24173
24174 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24175 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24176 (grub_get_libzfs_handle): Move to ...
24177 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24178 (grub_get_libzfs_handle): ... here.
24179
c9f7ff97
BC
241802010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24181
24182 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24183 as command name case.
24184
a870a783
CW
241852010-08-02 Colin Watson <cjwatson@ubuntu.com>
24186
24187 * disk/raid.c (insert_array): Select unique numbers for named arrays
24188 as well, for use as keys in the disk cache.
24189
c7db243b
RM
241902010-08-01 Robert Millan <rmh@gnu.org>
24191
24192 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
24193 kFreeBSD device name, except on ZFS where the filesystem label is
24194 used.
24195 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
24196 `/boot/zfs/zpool.cache'.
24197 Set mountfrom kernel variable using ${kfreebsd_device}.
24198
f7abdefb
RM
241992010-08-01 Robert Millan <rmh@gnu.org>
24200
24201 Make it even harder to use uninitialized `libzfs_handle' (and
24202 make the interface a bit simpler).
24203
24204 * include/grub/util/misc.h (grub_util_init_libzfs)
24205 (libzfs_handle): Remove.
24206 (grub_get_libzfs_handle): New prototype.
24207
24208 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24209 attribute.
24210 (grub_util_init_libzfs): Remove.
24211 (grub_get_libzfs_handle): New function.
24212
24213 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24214 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24215 accessing `libzfs_handle' directly.
24216
c882acc0
RM
242172010-08-01 Robert Millan <rmh@gnu.org>
24218
24219 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24220 (grub_find_zpool_from_mount_point): New function prototypes.
24221
24222 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24223 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24224
24225 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24226 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24227 `static' attribute.
24228
24229 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24230 finding zpool from mount point into ...
24231 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24232
24233 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24234 requested path is part of a ZFS pool, use
24235 grub_find_zpool_from_mount_point() to detect its filesystem name,
24236 and generate a path with `/fsname@path' syntax.
24237
8bfe31d8
CW
242382010-08-01 Colin Watson <cjwatson@ubuntu.com>
24239
24240 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24241 (void) rather than () so that this is a proper prototype.
24242
553df63d
VS
242432010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24244
24245 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24246
8687cf07
VS
242472010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24248
24249 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24250 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24251
ea9be8ea
CW
242522010-08-01 Colin Watson <cjwatson@ubuntu.com>
24253
24254 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24255
6eea041a
CW
242562010-08-01 Colin Watson <cjwatson@ubuntu.com>
24257
24258 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24259
2cfb45df
CW
242602010-08-01 Colin Watson <cjwatson@ubuntu.com>
24261
24262 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24263 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24264 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24265 disable gfxpayload.
24266 (Shell-like scripting): Add real content.
24267 (Serial terminal): Suggest `terminal_input serial; terminal_output
24268 serial' rather than putting the two commands on separate lines,
24269 since console input will be inoperative after the first command.
24270 (menuentry): Document --class, --users, and --hotkey options.
24271 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24272 Vladimir Serbinenko).
24273
7decd202
VS
242742010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
242752010-08-01 Colin Watson <cjwatson@ubuntu.com>
24276
24277 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24278
c882acc0
RM
242792010-08-01 Robert Millan <rmh@gnu.org>
24280
24281 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24282 (grub_find_zpool_from_mount_point): New function prototypes.
24283
24284 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24285 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24286
24287 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24288 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24289 `static' attribute.
24290
24291 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24292 finding zpool from mount point into ...
24293 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24294
24295 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24296 requested path is part of a ZFS pool, use
24297 grub_find_zpool_from_mount_point() to detect its filesystem name,
24298 and generate a path with `/fsname@path' syntax.
24299
deb0caa3
RM
243002010-08-01 Robert Millan <rmh@gnu.org>
24301
24302 Prevent accidental use of uninitialized libzfs_handle.
24303
24304 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24305 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24306 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24307
ce04ef47
CW
243082010-08-01 Colin Watson <cjwatson@ubuntu.com>
24309
24310 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24311 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24312
ebf53056
RM
243132010-08-01 Robert Millan <rmh@gnu.org>
24314
24315 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 24316
3710bb6b
RM
243172010-07-31 Robert Millan <rmh@gnu.org>
24318
24319 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24320
8072efeb
RM
243212010-07-31 Robert Millan <rmh@gnu.org>
24322
24323 * kern/emu/misc.c: Add missing license header.
24324
3169f4c7
RM
243252010-07-31 Robert Millan <rmh@gnu.org>
24326
24327 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24328
24329 * include/grub/util/libnvpair.h: Include `<config.h>'.
24330 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24331 declaring libnvpair prototypes ourselves.
24332 * include/grub/util/libzfs.h: Include `<config.h>'.
24333 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24334 declaring libzfs prototypes ourselves.
24335
24336 (libzfs_handle): Moved to ...
24337 * include/grub/util/misc.h (libzfs_handle): ... here.
24338 Include `<grub/util/libzfs.h>'.
24339
c9a00aee
RM
243402010-07-30 Robert Millan <rmh@gnu.org>
24341
24342 * include/grub/emu/misc.h: Add missing license header.
24343
a184f9c8
RM
243442010-07-30 Robert Millan <rmh@gnu.org>
24345
24346 Enable `grub-probe -t device' resolution on ZFS.
24347
24348 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24349 * include/grub/util/libnvpair.h: New file.
24350 * include/grub/util/libzfs.h: New file.
24351
24352 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24353 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24354 `<grub/util/libnvpair.h>'.
24355 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24356
24357 (find_mount_point_from_dir): New static function.
24358 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24359 function.
24360 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24361 find_root_device_from_libzfs() before ressorting to find_root_device().
24362
24363 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24364 prototype.
24365 * util/misc.c: Include `<grub/util/libzfs.h>'.
24366 (grub_util_init_libzfs): New function.
24367 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24368 [HAVE_LIBZFS] (fini_libzfs): New static function.
24369 (grub_util_init_libzfs): New function.
24370 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24371
f7790cdd
RM
243722010-07-30 Robert Millan <rmh@gnu.org>
24373
24374 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24375 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24376 `warn_unused_result' attribute.
24377 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24378 (grub_xasprintf, grub_xvasprintf): Likewise.
24379 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24380
0806b63c
RM
243812010-07-29 Robert Millan <rmh@gnu.org>
24382
24383 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24384 (probe): Handle `PRINT_FS_LABEL'.
24385 (main): Handle `-t fs_label'.
24386
9f841f5c
RM
243872010-07-29 Robert Millan <rmh@gnu.org>
24388
24389 * configure.ac: Remove grub-mkisofs checks.
24390
46371121
VS
243912010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24392
24393 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24394 Reported by: Lennart Sorensen.
24395
243962010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24397
24398 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24399 prior to terminal_input/terminal_output separation. It's been over 1.5
24400 years and those versions weren't widely deployed.
24401
a9600892
CW
244022010-07-22 Colin Watson <cjwatson@ubuntu.com>
24403
24404 * disk/raid.c (insert_array): Don't count named arrays when looking
24405 for unused array numbers.
697e053c 24406 Reported and tested by: Michael Guntsche.
a9600892 24407
c03507df
CW
244082010-07-20 Colin Watson <cjwatson@ubuntu.com>
24409
24410 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24411 implementation of this so that grub-emu links again, with a note
24412 that this should support hotplugging in the future.
24413
b26f1c11
CW
244142010-07-20 Colin Watson <cjwatson@ubuntu.com>
24415
24416 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24417
efc9d7f1
CW
244182010-07-20 Colin Watson <cjwatson@ubuntu.com>
24419
24420 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24421 handle on failure.
24422 (grub_loopback_close): Remove empty function.
24423 (grub_loopback_dev): Remove close method.
24424
dd8ff5c9
CW
244252010-07-20 Colin Watson <cjwatson@ubuntu.com>
24426
24427 Disable EFI cursor when the EFI console becomes inactive.
24428
24429 * term/efi/console.c (grub_efi_console_init): New function.
24430 (grub_efi_console_fini): New function.
24431 (grub_console_term_output): Register init and fini methods.
24432
5e3bec67
VS
244332010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24434
24435 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24436 sh script.
24437
afaec079
VS
244382010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24439
24440 * disk/loopback.c (grub_loopback): Replace filename with file.
24441 (delete_loopback): Handle new semantics.
24442 (grub_cmd_loopback): Likewise.
24443 (grub_loopback_iterate): Likewise.
24444 (grub_loopback_close): Likewise.
24445
a6a11f3c
VS
244462010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24447
24448 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24449 with -p "".
24450 Reported by: Tito Keitel.
24451
64a638b0
VS
244522010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24453
24454 * docs/grub.texi (Naming convention): Document new naming convention.
24455
ab8ba957
VS
244562010-07-20 Vadim Solomin <vadic052@gmail.com>
244572010-07-20 Colin Watson <cjwatson@ubuntu.com>
24458
24459 Generate device.map in something closer to the old ordering.
24460
24461 * util/deviceiter.c (struct device): New declaration.
24462 (compare_file_names): Rename to ...
24463 (compare_devices): ... this. Sort by kernel name in preference to
24464 the stable by-id name, but keep the latter as a fallback comparison.
24465 Update header comment.
24466 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24467 of `struct device' rather than of plain file names.
24468
a29d6a4b
TF
244692010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24470
24471 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24472 on i386.
24473
39d824e8
VS
244742010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24475
24476 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24477 hardcoding size.
24478 (setv1table): Likewise.
24479
f058276b
FZ
244802010-07-20 Colin Watson <cjwatson@ubuntu.com>
24481
24482 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24483 removing the homehost if present.
24484 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24485 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24486 removing the homehost if present.
24487 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24488 if possible.
24489 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24490
24491 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24492 parameter. Set its pointer target to 0.
24493 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24494 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24495 `data_offset' value from the superblock for 1.x metadata.
24496 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24497 data on the device.
24498 (insert_array): Record the start sector of data on the device.
24499 (grub_raid_register): Pass start_sector parameters to
24500 grub_raid_list->detect and insert_array.
24501 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24502 member.
24503 (struct grub_raid): Add start_sector parameter to `detect'.
24504
24505 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24506 __attribute__ ((packed)), leaving a comment.
24507 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24508 (grub_mdraid_detect_09): ... here and ...
24509 (grub_mdraid_detect_1x): ... here.
24510
245112010-07-20 Peter Henn <peter.henn@web.de>
24512
24513 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24514 chunk size and disk size, which are already given as sector counts
24515 as distinct from the 0.90 units. Fetch the correct device number
24516 from the role table instead of using the table index.
24517
245182010-07-20 Felix Zielcke <fzielcke@z-51.de>
24519
24520 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24521 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24522 (WriteMostly1): New macro.
24523 Set array->name to NULL for metadata format 0.90. Add support for
24524 metadata 1.x. Fix some comments.
24525 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24526 few comments.
24527 * util/getroot.c (grub_util_get_grub_dev): Add support for
24528 /dev/md/name style devices.
24529
4b761da9
CW
245302010-07-20 Colin Watson <cjwatson@ubuntu.com>
24531
24532 * .bzrignore: Ignore 20_linux_xen.
24533
5771289a
CW
245342010-07-17 Colin Watson <cjwatson@ubuntu.com>
24535
24536 * util/import_unicode.py: Remove unnecessary imports.
24537
5dab68df
AN
245382010-07-17 Aleš Nesrsta <starous@volny.cz>
24539
24540 Hotplugging and USB hub support.
24541
24542 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24543 (grub_ohci): Likewise.
24544 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24545 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24546 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24547 (GRUB_OHCI_CTRL_EDS): Likewise.
24548 (GRUB_OHCI_BULK_EDS): Likewise.
24549 (GRUB_OHCI_TDS): Likewise.
24550 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24551 (grub_ohci_ed_phys2virt): New function.
24552 (grub_ohci_virt_to_phys): Likewise.
24553 (grub_ohci_td_phys2virt): Likewise.
24554 (grub_ohci_td_virt2phys): Likewise.
24555 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24556 attachment.
24557 (grub_ohci_find_ed): New function.
24558 (grub_ohci_alloc_td): Likewise.
24559 (grub_ohci_free_td): Likewise.
24560 (grub_ohci_free_tds): Likewise.
24561 (grub_ohci_transfer): Use previously allocated memory.
24562 (grub_ohci_portstatus): Reset status changed bit.
24563 (grub_ohci_detect_dev): Supply status changed.
24564 (grub_ohci_fini_hw): Free memory.
24565 (grub_ohci_restore_hw): Reallocate memory.
24566 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24567 Reset status change.
24568 (grub_uhci_detect_dev): Supply status_change.
24569 * bus/usb/usb.c (attach_hooks): New var.
24570 (grub_usb_device_attach): New function.
24571 (grub_usb_register_attach_hook_class): Likewise.
24572 (grub_usb_unregister_attach_hook_class): Likewise.
24573 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24574 (grub_usb_add_hub): Reset connection changed bit.
24575 (attach_root_port): New function.
24576 (grub_usb_root_hub): Likewise.
24577 (poll_nonroot_hub): Likewise.
24578 (grub_usb_poll_devices): Likewise.
24579 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24580 * disk/usbms.c (grub_usbms_open): Use device hooks.
24581 (grub_usbms_iterate) :Poll devices.
24582 (grub_usbms_finddevs): Split into ...
24583 (grub_usbms_attach): ... this ...
24584 (grub_usbms_attach): ... and this.
24585 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24586 in detect_dev.
24587 (grub_usb_interface): New fields attached and detach_hook.
24588 (grub_usb_attach_hook_class): New type.
24589 (grub_usb_attach_desc): New struct.
24590 (grub_usb_register_attach_hook_class): New function.
24591 (grub_usb_unregister_attach_hook_class): Likewise.
24592 (grub_usb_poll_devices): Likewise.
24593 (grub_usb_device_attach): Likewise.
24594 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24595 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24596
3222efaf
VS
245972010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24598
24599 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24600 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24601 delta determination style. Works with most NetBSD partitions too.
24602
139b714a
VS
246032010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24604
24605 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24606 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24607
986aad56
VS
246082010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24609
24610 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24611
99be513c
AB
246122010-07-14 Anton Blanchard <anton@samba.org>
24613
24614 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24615 ET_DYN files.
24616
18075f62
GS
246172010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24618
24619 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24620
8d9a5b15
GS
246212010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24622
24623 * kern/partition.c (grub_partition_check_containment): New function to
24624 check that a partition is physically contained in a parent. Since
24625 offsets are relative (and non-negative), this reduces to checking that
24626 the partition ends before its parent.
24627 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24628 (grub_partition_iterate): Likewise.
24629 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24630 comments.
24631 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24632 partitions that start before their parent, and add debug printfs.
24633
19563c25
CW
246342010-07-13 Colin Watson <cjwatson@ubuntu.com>
24635
24636 * Makefile.in (.SUFFIX): Spell correctly, as ...
24637 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24638 bare module name without `.mod', e.g. `test') tried to invoke a
24639 Modula-2 compiler.
24640
1a1f1e67
CW
246412010-07-13 Colin Watson <cjwatson@ubuntu.com>
24642
24643 * README: Point to the Info manual.
24644
811b0dca
JS
246452010-07-13 Jiro SEKIBA <jir@unicus.jp>
24646
24647 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24648 2nd superblock position from partition size.
24649
e4f4eafc
CW
246502010-07-10 Colin Watson <cjwatson@ubuntu.com>
24651
24652 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24653 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24654 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24655 outputs.
24656
4274c30f
VS
246572010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24658
24659 Restructure SCSI .id handling.
24660 Reported and tested by: Aleš Nesrsta.
24661
24662 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24663 (grub_atapi_dev): Changed .name to "ata". New field .id.
24664 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24665 (grub_usbms_dev): New field .id.
24666 * disk/scsi.c (grub_scsi_iterate): Generate name.
24667 (grub_scsi_open): Parse name.
24668 * include/grub/scsi.h (grub_make_scsi_id): New function.
24669 (grub_scsi_dev): Change iterate and open to number instead of naming
24670 busses. All users updated.
24671 (grub_scsi): Remove name. Add .bus.
24672
5bc24388
VS
246732010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24674
24675 * commands/help.c (grub_cmd_help): Fix a typo.
24676
249975ba
VS
246772010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24678
24679 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24680 Reported and tested by: Colin Watson.
24681
3eaac1a1
VS
246822010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24683
24684 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24685 in this context.
24686
becce1b1
VS
246872010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24688
24689 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24690
f7bf0918
CW
246912010-07-07 Colin Watson <cjwatson@ubuntu.com>
24692
24693 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24694 indentation.
24695
0b0f9620
CW
246962010-07-06 Colin Watson <cjwatson@ubuntu.com>
24697
24698 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24699 and disk/raid6_recover.c.
24700 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24701 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24702
1e545469
CW
247032010-07-06 Colin Watson <cjwatson@ubuntu.com>
24704
24705 * term/gfxterm.c (repaint_schedulded): Rename to ...
24706 (repaint_scheduled): ... this. Update all callers.
24707 (repaint_was_schedulded): Rename to ...
24708 (repaint_was_scheduled): ... this. Update all callers.
24709
5357687a
CW
247102010-07-06 Colin Watson <cjwatson@ubuntu.com>
24711
24712 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24713 which we expect to be handled by upper layers.
24714
29d7e783
BC
247152010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24716
24717 * bus/usb/usbhub.c: #include time.h header.
24718
37582066
CW
247192010-07-06 Colin Watson <cjwatson@ubuntu.com>
24720
24721 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24722 entry_name also for entries without stat blocks (e.g. ".."); fixes
24723 corruption of the first entry in a directory.
24724
c8c06953
CW
247252010-07-06 Colin Watson <cjwatson@ubuntu.com>
24726
24727 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24728 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24729 doesn't work otherwise.
24730
e75056f1
CW
247312010-07-05 Colin Watson <cjwatson@ubuntu.com>
24732
24733 * docs/grub.texi (Features): Update list of supported file systems.
24734 (GNU/Linux): Update for GRUB 2.
24735 (Serial terminal): Remove mention of --disable-serial, which was a
24736 GRUB Legacy configure option. Update instructions to use
24737 `terminal_input' and `terminal_output' rather than `terminal'.
24738 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24739 configuration' and `Installing GRUB using grub-install'.
24740 (Menu entry editor): Update for GRUB 2.
24741 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24742 Document new -a, -u, and -v options.
24743 (initrd): New section.
24744 (initrd16): New section.
24745 (linux): New section.
24746 (linux16): New section.
24747 (search): The `var' argument to `--set' is optional.
24748 (GRUB only offers a rescue shell): Go into a little more detail on
24749 drive ordering.
24750
5cf69151
CW
247512010-07-05 Colin Watson <cjwatson@ubuntu.com>
24752
24753 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24754
e3f90044
CW
247552010-07-05 Colin Watson <cjwatson@ubuntu.com>
24756
24757 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24758 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24759
38d8f4f3
CW
247602010-07-05 Colin Watson <cjwatson@ubuntu.com>
24761
24762 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24763 install_prefix, in line with install_dos_part and install_bsd_part.
24764 Add new prefix variable, which is copied to install_prefix after
24765 comparing core.img in memory with the one read from disk in the
24766 no-embedding case, and use that rather than overwriting
24767 install_prefix immediately when installing to a partition.
24768 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24769 Bicakci.
24770
57ebd41e
GS
247712010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24772
24773 * configure.ac: Avoid == in test command, it's not portable.
24774 * util/grub.d/30_os-prober.in: Likewise.
24775
cb7f64b2
CW
247762010-07-04 Colin Watson <cjwatson@ubuntu.com>
24777
24778 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24779
6b654bb0
GS
247802010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24781
24782 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24783 multiple (top-level) partmaps.
24784
72a2026d
VS
247852010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24786
24787 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24788 Reported by: Tino Keitel.
72a2026d 24789
df3eb88f
VS
247902010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24791
24792 Bidi and diacritics support.
24793
24794 * Makefile.in (widthspec.bin): New target.
24795 (widthspec.h): Likewise.
24796 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24797 * autogen.sh: Generate unidata.c.
24798 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24799 * commands/ls.c (grub_ls_list_devices): Likewise.
24800 (grub_ls_list_files): Likewise.
24801 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24802 (grub_mini_cmd_lsmod): Likewise.
24803 * commands/read.c: Likewise.
24804 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24805 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24806 * lib/arg.c (grub_arg_show_help): Likewise.
24807 * lib/crypto.c (grub_password_get): Likewise.
24808 * normal/auth.c (grub_username_get): Likewise.
24809 * normal/misc.c (grub_normal_print_device_info): Likewise.
24810 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24811 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24812 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24813 (normal/charset.c_DEPENDENCIES): New variable.
24814 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24815 (pkglib_MODULES): Remove charset.mod.
24816 (charset_mod_SOURCES): Removed.
24817 (charset_mod_CFLAGS): Likewise.
24818 (charset_mod_LDFLAGS): Likewise.
24819 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24820 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24821 and term/tparm.c.
24822 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24823 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24824 (kernel_img_HEADERS): Add terminfo.h.
24825 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24826 Fill ->font. Reverse ascii bitmaps.
24827 (grub_font_get_xheight): New function.
24828 * font/font.c (grub_font_get_string_width): Moved from here ...
24829 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24830 * font/font.c (grub_font_draw_string): Moved from here ...
24831 * gfxmenu/font.c (grub_font_draw_string): ... here.
24832 * font/font.c (grub_font_dup_glyph): New function.
24833 (grub_font_blit_glyph): Likewise.
24834 (grub_font_blit_glyph_mirror): Likewise.
24835 (blit_comb): Likewise.
24836 (grub_font_construct_dry_run): Likewise.
24837 (grub_font_get_constructed_device_width): Likewise.
24838 (grub_font_construct_glyph): Likewise.
24839 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24840 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24841 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24842 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24843 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24844 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24845 (grub_font_get_xheight): New proto.
24846 (grub_font_get_constructed_device_width): Likewise.
24847 (grub_font_construct_glyph): Likewise.
24848 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24849 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24850 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24851 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24852 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24853 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24854 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24855 (grub_console_getcharwidth): Likewise.
24856 * include/grub/misc.h (grub_xputs): New proto.
24857 (grub_puts): Inlined.
24858 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24859 (grub_normal_get_line_counter): Removed.
24860 (grub_install_newline_hook): Likewise.
24861 (grub_normal_get_char_counter): New proto.
24862 (grub_normal_reset_more): Likewise.
24863 (grub_xputs_normal): Likewise.
24864 * include/grub/powerpc/ieee1275/console.h: Removed.
24865 * include/grub/sparc64/ieee1275/console.h: Likewise.
24866 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24867 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24868 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24869 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24870 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24871 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24872 (grub_term_input): Pass reference to self. All users updated.
24873 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24874 Pass reference to self. New fields normal_color, highlight_color and
24875 data. All users updated.
24876 (grub_putchar): Removed.
24877 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24878 (grub_unicode_estimate_width): New function.
24879 (grub_term_getcharwidth): Add defaults.
24880 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24881 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24882 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24883 (grub_cls): Remove EXPORT_FUNC.
24884 (grub_setcolorstate): Inline.
24885 (grub_newline_hook): Removed.
24886 * include/grub/terminfo.h: Rewritten. All users updated.
24887 * include/grub/unicode.h: New file.
24888 * include/grub/video.h (grub_video_signed_rect): New type.
24889 * kern/emu/console.c (grub_console_highlight_color): Removed.
24890 (grub_console_normal_color): Likewise.
24891 (grub_console_standard_color): Made static.
24892 (grub_ncurses_putchar): Remove mapping.
24893 (grub_ncurses_getcharwidth): Removed.
24894 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24895 (grub_ncurses_setcolor): Removed.
24896 (grub_ncurses_getcolor): Likewise.
24897 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24898 (grub_console_putchar): ... this.
24899 (grub_console_putchar): Handle argument difference.
24900 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24901 console_init_early and console_init_lately.
24902 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24903 * kern/misc.c (grub_puts): Removed.
24904 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24905 (grub_vsnprintf_real): Remove str = NULL support.
24906 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24907 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24908 * kern/term.c (grub_putcode): Renamed to ...
24909 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24910 (grub_putchar): Removed.
24911 (grub_xputs_dumb): New function.
24912 (grub_xputs): New variable.
24913 * lib/charset.c: Move from here ...
24914 * normal/charset.c: ... to here.
24915 (grub_ucs4_to_utf8): New function.
24916 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24917 (join_types): New variable.
24918 (unpack_join): New function.
24919 (bidi_types): New variable.
24920 (unpack_bidi): New function.
24921 (get_bidi_type): Likewise.
24922 (get_join_type): Likewise.
24923 (is_mirrored): Likewise.
24924 (grub_unicode_get_comb_type): Likewise.
24925 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24926 (is_type_after): Likewise.
24927 (grub_unicode_aglomerate_comb): Likewise.
24928 (bidi_line_wrap): Likewise.
24929 (grub_bidi_line_logical_to_visual): Likewise.
24930 (grub_bidi_logical_to_visual): Likewise.
24931 (grub_unicode_mirror_code): Likewise.
24932 (grub_unicode_shape_code): Likewise.
24933 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24934 Don't use grub_putchar.
24935 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24936 (grub_normal_reader_init): Likewise.
24937 (grub_xputs_saved): New variable.
24938 (GRUB_MOD_INIT): Set grub_xputs.
24939 (GRUB_MOD_FINI): Restore grub_xputs.
24940 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24941 (menu_init): Avoid printing gfxmenu error.
24942 (show_menu): Use grub_normal_get_char_counter.
24943 * normal/menu_entry.c (update_screen): Fix out-of-array.
24944 (complete): Avoid NULL dereferencing.
24945 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24946 * normal/menu_text.c (print_spaces): Removed.
24947 (grub_print_ucs4): Likewise.
24948 (grub_print_message_indented): Use grub_print_ucs4.
24949 (print_message): Use grub_putcode.
24950 (print_entry): Hanlde diacritics.
24951 * normal/term.c (term_state): New type.
24952 (grub_more_lines): Removed.
24953 (term_states): New variable.
24954 (grub_normal_line_counter): Renamed to ..
24955 (grub_normal_char_counter): ...this. All users updated.
24956 (grub_normal_get_line_counter): Renamed to ...
24957 (grub_normal_get_char_counter): ... this.
24958 (grub_normal_reset_more): New function.
24959 (process_newline): Removed.
24960 (print_more): New function.
24961 (grub_install_newline_hook): Removed.
24962 (map_code): New function.
24963 (grub_puts_terminal): Use grub_print_ucs4.
24964 (putglyph): New function.
24965 (putcode_real): Likewise.
24966 (grub_putcode): Use putcode_real.
24967 (get_maxwidth): New function.
24968 (get_startwidth): Likewise.
24969 (print_ucs4_terminal): Likewise.
24970 (find_term_state): Likewise.
24971 (put_glyphs_terminal): Likewise.
24972 (print_backlog): Likewise.
24973 (print_ucs4_real): Likewise.
24974 (grub_print_ucs4): Likewise.
24975 (grub_xputs_normal): Likewise.
24976 * term/efi/console.c (grub_console_putchar): Output diacritics.
24977 (grub_console_getcharwidth): Removed.
24978 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24979 * term/gfxterm.c (clear_char): Free chars.
24980 (scroll_up): Avoid leaking memory.
24981 (grub_gfxterm_putchar): Support diacritics.
24982 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24983 * term/i386/pc/console.c (grub_console_term_output): Declare as
24984 GRUB_TERM_CODE_TYPE_VGA.
24985 * term/i386/pc/vga.c (grub_vga_term): Declare as
24986 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24987 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24988 GRUB_TERM_CODE_TYPE_VGA.
24989 * term/i386/vga_common.c (map_char): Removed.
24990 (grub_console_putchar): Likewise.
24991 (grub_console_getcharwidth): Likewise.
24992 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24993 (colors): Reordered to match terminfo.
24994 (grub_ofconsole_normal_color): Removed.
24995 (grub_ofconsole_writeesc): Likewise.
24996 (grub_ofconsole_highlight_color): Likewise.
24997 (grub_ofconsole_getcharwidth): Likewise.
24998 (grub_ofconsole_setcolorstate): Likewise.
24999 (grub_ofconsole_setcolor): Likewise.
25000 (grub_ofconsole_getcolor): Likewise.
25001 (grub_ofconsole_readkey): Renamed to ...
25002 (readkey): ... this. Remove escape sequence handling. Return -1 on no
25003 key.
25004 (grub_ofconsole_checkkey): Removed.
25005 (grub_ofconsole_getkey): Likewise.
25006 (grub_ofconsole_getxy): Likewise.
25007 (grub_ofconsole_gotoxy): Likewise.
25008 (grub_ofconsole_cls): Likewise.
25009 (grub_ofconsole_refresh): Likewise.
25010 (grub_ofconsole_terminfo_input): New struct.
25011 (grub_ofconsole_terminfo_output): Likewise.
25012 (grub_ofconsole_term_input): Use terminfo.
25013 (grub_ofconsole_term_output): Likewise.
25014 (grub_console_init): Split into ...
25015 (grub_console_init_early): ...this and ...
25016 (grub_console_init_lately): ...this. Use terminfo.
25017 (grub_ofconsole_putchar): Renamed to ...
25018 (put): ... this. Remove mapping.
25019 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25020 * term/serial.c: Simplify using terminfo.
25021 (xpos): Removed.
25022 (ypos): Likewise.
25023 (keep_track): Likewise.
25024 (registered): Likewise.
25025 (input_buf): Likewise.
25026 (npending): Likewise.
25027 (serial_translate_key_sequence): Likewise.
25028 (fill_input_buf): Likewise.
25029 (grub_serial_checkkey): Likewise.
25030 (grub_serial_getkey): Likewise.
25031 (grub_serial_getxy): Likewise.
25032 (grub_serial_gotoxy): Likewise.
25033 (grub_serial_putchar): Likewise.
25034 (grub_serial_cls): Likewise.
25035 (grub_serial_setcolorstate): Likewise.
25036 (grub_serial_setcursor): Likewise.
25037 (serial_hw_init): Use serial_hw_fetch.
25038 (grub_serial_terminfo_input): New variable.
25039 (grub_serial_terminfo_output): Likewise.
25040 (grub_serial_term_input): Use terminfo.
25041 (grub_serial_term_output): Likewise.
25042 * term/terminfo.c (putstr): Use put.
25043 (grub_terminfo_all_free): New function
25044 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25045 (grub_terminfo_output_register): New function.
25046 (grub_terminfo_output_unregister): Likewise.
25047 (grub_terminfo_getxy): Likewise.
25048 (grub_terminfo_readkey): Likewise.
25049 (grub_terminfo_checkkey): Likewise.
25050 (grub_terminfo_getkey): Likewise.
25051 (grub_terminfo_input_init): Likewise.
25052 (print_terminfo): Likewise.
25053 (grub_cmd_terminfo): Handle encoding.
25054 (grub_terminfo_gotoxy): Track position.
25055 (grub_terminfo_cls): Likewise.
25056 (grub_terminfo_putchar): Likewise.
25057 (grub_terminfo_setcolorstate): Handle colors
25058 (grub_terminfo_cursor_on): This ...
25059 (grub_terminfo_cursor_off): ... and this merged into ...
25060 (grub_terminfo_setcursor): ... this.
25061 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25062 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25063 * unicode/BidiMirroring.txt: Likewise.
25064 * unicode/UnicodeData.txt: Likewise.
25065 * unicode/COPYING: Likewise.
25066 * util/grub-editenv.c (grub_putchar): Removed.
25067 (grub_xputs_real): New function.
25068 (grub_xputs): New variable.
25069 * util/grub-fstest.c (grub_putchar): Removed.
25070 (grub_xputs_real): New function.
25071 (grub_xputs): New variable.
25072 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25073 (grub_xputs_real): New function.
25074 (grub_xputs): New variable.
25075 * util/grub-probe.c (grub_putchar): Removed.
25076 (grub_xputs_real): New function.
25077 (grub_xputs): New variable.
25078 * util/grub-script-check.c (grub_putchar): Removed.
25079 (grub_xputs_real): New function.
25080 (grub_xputs): New variable.
25081 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25082 (grub_xputs_real): New function.
25083 (grub_xputs): New variable.
25084 * util/import_unicode.py: New file.
25085 * util/grub-mkfont.c (ft_errmsgs): New array.
25086 (grub_glyph_info): Make bitmap a pointer.
25087 (file_formats): New type WIDTH_SPEC.
25088 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25089 (options): Add width-spec.
25090 (help): Likewise.
25091 (add_char): Renamed to ...
25092 (add_glyph): ... this.
25093 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25094 (glyph_replace): New type.
25095 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25096 (add_char): New function.
25097 (add_subst): Likewise.
25098 (process_cursive): Likewise.
25099 (add_font): Handle GSUB.
25100 (write_font_width_spec): New function.
25101 (main): Sort glyphs.
25102 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25103 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25104 * kern/term.c (grub_cls): Moved from here...
25105 * normal/term.c (grub_cls): ... here.
25106
50f0bcda
CW
251072010-07-02 Colin Watson <cjwatson@ubuntu.com>
25108
25109 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25110 suitable for using within the format argument of printf when
25111 converting grub_size_t.
25112 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25113 "x" to convert grub_size_t arguments.
25114
40372103
VS
251152010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25116
25117 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25118 too long captions.
25119 (list_get_minimal_size): Take selection box into account.
25120
942a10c7
VS
251212010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25122
25123 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25124 NULL font.
25125
2bdb2892
CW
251262010-07-02 Colin Watson <cjwatson@ubuntu.com>
25127
25128 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25129 devices when iterating over /dev/disk/by-id; they will be handled
25130 later if appropriate, which they aren't always (e.g. LVM).
25131
e03ed6c1
CW
251322010-07-02 Colin Watson <cjwatson@ubuntu.com>
25133
25134 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25135 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25136 fails.
25137 (grub_halt): Likewise.
25138 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25139 reset-all fails.
25140 (grub_halt): Don't return, even if all of shut-down, power-off, and
25141 poweroff fail.
25142
47695765
CW
251432010-07-02 Colin Watson <cjwatson@ubuntu.com>
25144
25145 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25146 arguments, not three.
25147
507736c8
CW
251482010-07-02 Colin Watson <cjwatson@ubuntu.com>
25149
25150 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25151 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25152 LVM-on-RAID is handled correctly.
25153
e3c8cd37
CW
251542010-07-02 Colin Watson <cjwatson@ubuntu.com>
25155
25156 * docs/grub.texi (Changes from GRUB Legacy): New section.
25157 (Future): Fix typo.
25158
8d4a2fec
CW
251592010-07-02 Colin Watson <cjwatson@ubuntu.com>
25160
25161 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
25162 grub.d/README accidentally ends up executable for one reason or
25163 another. Ignore it.
25164
1c4827be
VS
251652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25166
25167 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
25168 (gpt_partition_map_iterate): Support non-512B sectors.
25169
d9a0c941
VS
251702010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25171
25172 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25173 Tested by: Seth Goldberg.
25174
48f27e87
VS
251752010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25176
25177 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25178 Properly align mbi.
25179 Reported by: Seth Goldberg.
25180
b0c4f956
VS
251812010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25182
25183 * util/grub-mkrescue.in: Avoid module duplication.
25184
105a2e8c
SF
251852010-07-01 Sean Finney <seanius@seanius.net>
25186
25187 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
25188
5944958c
SF
251892010-07-01 Sean Finney <seanius@seanius.net>
25190
25191 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
25192
251932010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25194
25195 * disk/lvm.c (grub_lvm_checkvalue): New function.
25196 (grub_lvm_check_flag): Likewise.
25197
b79889ba
RM
251982010-07-01 Robert Millan <rmh@gnu.org>
25199
25200 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25201 Support 'p' as partition separator on kernel of FreeBSD (used
25202 with GPT labels).
25203 (grub_util_biosdisk_get_grub_dev): Likewise.
25204
ec1d04f1
VS
252052010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25206
25207 Yeeloong firmware port.
25208
25209 * boot/mips/yeeloong/fwstart.S: New file.
25210 * bus/cs5536.c (gpiodump): New const.
25211 (set_io_space): New function.
25212 (set_iod): Likewise.
25213 (set_p2d): Likewise.
25214 (grub_cs5536_init_geode): Likewise.
25215 * commands/mips/yeeloong/lsspd.c: New file.
25216 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25217 (serial_mod_SOURCES): New variable.
25218 (serial_mod_CFLAGS): Likewise.
25219 (serial_mod_LDFLAGS): Likewise.
25220 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25221 term/terminfo.c and term/tparm.c.
25222 (pkglib_IMAGES): Add fwstart.img.
25223 (fwstart_img_SOURCES): New variable.
25224 (fwstart_img_CFLAGS): Likewise.
25225 (fwstart_img_ASFLAGS): Likewise.
25226 (fwstart_img_LDFLAGS): Likewise.
25227 (fwstart_img_FORMAT): Likewise.
25228 (pkglib_MODULES): Add lsspd.mod.
25229 (lsspd_mod_SOURCES): New variable.
25230 (lsspd_mod_CFLAGS): Likewise.
25231 (lsspd_mod_LDFLAGS): Likewise.
25232 (pkglib_MODULES): Add halt.mod.
25233 (halt_mod_SOURCES): New variable.
25234 (halt_mod_CFLAGS): Likewise.
25235 (halt_mod_LDFLAGS): Likewise.
25236 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25237 (serial_mod_SOURCES): Removed.
25238 (serial_mod_CFLAGS): Likewise.
25239 (serial_mod_LDFLAGS): Likewise.
25240 * disk/ata.c (check_device): New function.
25241 (grub_ata_device_initialize): Use check_device.
25242 (grub_ata_iterate): Recheck devices.
25243 (grub_ata_open): Likewise.
25244 (grub_atapi_iterate): Likewise.
25245 (grub_atapi_open): Likewise.
25246 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
25247 (GRUB_ATA_CH1_PORT1): Likewise.
25248 (GRUB_ATA_CH0_PORT2): Likewise.
25249 (GRUB_ATA_CH1_PORT2): Likewise.
25250 * include/grub/mips/loongson.h: New file.
25251 * include/grub/mips/yeeloong/ec.h: Likewise.
25252 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25253 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25254 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25255 * include/grub/misc.h (grub_halt): Declare as noreturn.
25256 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25257 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25258 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25259 (UART_ENABLE_DTRRTS): Likewise.
25260 (UART_ENABLE_MODEM): Removed.
25261 (UART_ENABLE_OUT2): New const.
25262 * include/grub/term.h (grub_term_register_input_active): New function.
25263 (grub_term_register_output_active): Likewise.
25264 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25265 argument.
25266 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25267 (init_pci): New function.
25268 (grub_machine_init): Execute platform init when firmware. Init serial.
25269 (grub_halt): Implement.
25270 (grub_exit): Likewise.
25271 (grub_reboot): Likewise.
25272 * term/serial.c (serial_hw_init): Update macros.
25273 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25274 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25275 (image_targets): New target mipsel-yeeloong-flash.
25276 (generate_image): Support IMAGE_YEELOONG_FLASH.
25277 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25278 (grub_video_sm712_setup): Init card.
25279 (grub_video_sm712_set_palette): Removed.
25280 * video/sm712_init.c: New file.
25281
ff4a70d2
CW
252822010-06-30 Colin Watson <cjwatson@ubuntu.com>
25283
25284 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25285 PATH when running help2man and then run it on the unadorned
25286 executable names, rather than passing $(builddir)/* paths to
25287 help2man. This avoids the build directory ending up in generated
25288 manual pages.
25289
1246efeb
CW
252902010-06-29 Colin Watson <cjwatson@ubuntu.com>
25291
25292 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25293 to avoid accidents when debugging with 'sh -x'.
25294 * util/grub-mkrescue.in: Likewise.
25295 * util/grub.d/00_header.in: Likewise.
25296 * util/grub.d/10_hurd.in: Likewise.
25297 * util/grub.d/10_kfreebsd.in: Likewise.
25298 * util/grub.d/10_linux.in: Likewise.
25299 * util/grub.d/10_netbsd.in: Likewise.
25300 * util/grub.d/10_windows.in: Likewise.
25301 * util/grub.d/20_linux_xen.in: Likewise.
25302 * util/grub.d/30_os-prober.in: Likewise.
25303 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25304
1ba9b889
CW
253052010-06-29 Colin Watson <cjwatson@ubuntu.com>
25306
25307 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25308 last character in the buffer.
25309 Reported by: Vladimir Serbinenko.
25310
dccaf99d
RM
253112010-06-29 Robert Millan <rmh@gnu.org>
25312
25313 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25314 (Command-line and menu entry commands): Document `badram' command.
25315
d500ed12
RM
253162010-06-28 Robert Millan <rmh@gnu.org>
25317
25318 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25319 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25320 command using ${GRUB_BADRAM} as parameter.
25321
20bc84a6
CW
253222010-06-28 Colin Watson <cjwatson@ubuntu.com>
25323
25324 * docs/grub.texi (Device map): New section.
25325 (Themes): New section (stub).
25326 * Makefile.in (docs/grub.info): The info documentation now builds
25327 without errors. Make sure it stays that way.
25328
4045dee1
VS
253292010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25330
25331 Use normal parser for menu entries.
25332 Reported by: Thomas Frauendorfer
25333
25334 * include/grub/parser.h (grub_parser_execute): Don't export.
25335 * normal/menu.c (grub_menu_execute_entry_real): New function.
25336 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25337
bca58c7b
CW
253382010-06-28 Colin Watson <cjwatson@ubuntu.com>
25339
25340 * docs/grub.texi (Embedded configuration): New section (replacing
25341 old "Preset Menu" stub).
25342 (Images): New section.
25343 (configfile): Note that any menu entries defined in `file' are shown
25344 immediately.
25345
dec53e63
JT
253462010-06-28 Josh Triplett <josh@joshtriplett.org>
25347
25348 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25349
c06e40f7
CW
253502010-06-28 Colin Watson <cjwatson@ubuntu.com>
25351
25352 * util/grub-install.in: Add --debug-image= option.
25353
cb88052b
CW
253542010-06-28 Colin Watson <cjwatson@ubuntu.com>
25355
25356 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25357 possible on Linux.
25358
25359 * util/deviceiter.c (check_device): Rename to ...
25360 (check_device_readable_unique): ... this. Update all callers.
25361 Maintain and check a list of which devices (by canonicalized name)
25362 have already been seen.
25363 (clear_seen_devices): New function.
25364 (compare_file_names) [__linux__]: New function.
25365 (grub_util_iterate_devices): Clear the list of seen devices on exit
25366 and (just in case) on entry.
25367 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25368 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25369 seen-devices list, superseded by general code in check_device.
25370
bbe34652
CW
253712010-06-28 Colin Watson <cjwatson@ubuntu.com>
25372
25373 * commands/cat.c (options): New variable.
25374 (grub_cmd_cat): Parse options. If the --dos option is given, print
25375 DOS-style "\r\n" line endings as simple newlines (Debian bug
25376 #586358).
25377 (GRUB_MOD_INIT): Use extcmd.
25378 (GRUB_MOD_FINI): Likewise.
25379 * docs/grub.texi (cat): Document --dos.
25380
412e09f3
VS
253812010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25382
25383 XEN with Linux grub-mkconfig support.
25384
25385 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25386 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25387 GRUB_CMDLINE_XEN_DEFAULT.
25388 * util/grub.d/20_linux_xen.in: New file.
25389
53f3ef38 253902010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
25391
25392 Initialise VGA video on qemu ourselves.
25393
25394 * boot/i386/qemu/boot.S: Don't call 0xc000.
25395 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25396 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25397 (kernel_img_HEADERS): Add pci.h.
25398 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25399 * configure.ac: Force unifont on qemu and yeeloong.
25400 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25401 (grub_vga_palette_write): Use correct register.
25402 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25403 Call grub_qemu_init_cirrus.
25404 * kern/i386/qemu/init.c: New file.
25405 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25406
25407 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25408
c75be4fb
PR
254092010-06-26 Pavel Roskin <proski@gnu.org>
25410
25411 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25412 13.
25413
d8034603
CW
254142010-06-26 Colin Watson <cjwatson@ubuntu.com>
25415
25416 * docs/grub.texi (Simple configuration): Explain that
25417 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25418 set to `true' to disable their respective recovery entries, not
25419 merely set.
25420
3fa06487
CW
254212010-06-26 Colin Watson <cjwatson@ubuntu.com>
25422
25423 Make the `source' command slightly faster.
25424
25425 * normal/main.c (grub_normal_execute): Don't re-read list files when
25426 nested.
25427
e9b29642
CW
254282010-06-23 Colin Watson <cjwatson@ubuntu.com>
25429
25430 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25431 field position and mask size to red fields from mode_info, not
25432 green.
25433 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25434 Remove redundant tag->common.framebuffer_type assignment.
25435 Reported by: Seth Goldberg.
25436
e726542f
CW
254372010-06-23 Colin Watson <cjwatson@ubuntu.com>
25438
25439 Sync up other versions of the Linux loader with Robert Millan's
25440 change of 2010-01-09, "Make loader output a bit more user-friendly".
25441
25442 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25443 grub_dprintf().
25444 (grub_cmd_linux): Likewise.
25445 (grub_cmd_initrd): Likewise.
25446 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25447 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25448
d6e98a17
CW
254492010-06-21 Colin Watson <cjwatson@ubuntu.com>
25450
25451 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25452 larger than MEMORY_MAP_SIZE.
25453
14d3f08e
BC
254542010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25455
25456 Fix parallel build.
25457
25458 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25459 dependency.
25460 * script/parser.y: #include grub_script.tab.h header.
25461
4f9613a3
VS
254622010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25463
25464 Support >3GiB and <16MiB RAM in i386-qemu.
25465
25466 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25467 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25468 (grub_lower_mem): Removed.
25469 (grub_upper_mem): Likewise.
25470 (mem_size): Made static.
25471 (above_4g): New variable.
25472 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25473 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25474 support.
25475
05e51879
VS
254762010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25477
25478 Cirrus 5446 and Bochs video cards support.
25479
25480 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25481 video_bochs.mod
25482 (video_cirrus_mod_SOURCES): New variable.
25483 (video_cirrus_mod_CFLAGS): Likewise.
25484 (video_cirrus_mod_LDFLAGS): Likewise.
25485 (video_bochs_mod_SOURCES): Likewise.
25486 (video_bochs_mod_CFLAGS): Likewise.
25487 (video_bochs_mod_LDFLAGS): Likewise.
25488 * include/grub/vga.h: New file.
25489 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25490 (grub_video_fb_set_page_t): New type.
25491 (grub_video_fb_setup): New prototype.
25492 (grub_video_fb_swap_buffers): Likewise.
25493 (grub_video_fb_get_info_and_fini): Likewise.
25494 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25495 (CRTC_DATA_PORT): Likewise.
25496 (CRTC_CURSOR): Likewise.
25497 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25498 (CRTC_CURSOR_ADDR_LOW): Likewise.
25499 (CRTC_CURSOR_DISABLE): Likewise.
25500 (update_cursor): Use grub_vga_cr_write.
25501 (grub_vga_text_setcursor): Likewise.
25502 * video/bochs.c: New file.
25503 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25504 (palette): Likewise.
25505 (palette_size): Likewise.
25506 (framebuffer): New variable.
25507 (grub_video_fb_init): Use 'framebuffer'.
25508 (grub_video_fb_fini): Likewise.
25509 (grub_video_fb_get_info): Likewise.
25510 (grub_video_fb_get_palette): Likewise.
25511 (grub_video_fb_set_palette): Likewise.
25512 (grub_video_fb_set_viewport): Likewise.
25513 (grub_video_fb_get_viewport): Likewise.
25514 (grub_video_fb_map_color): Likewise.
25515 (grub_video_fb_map_rgb): Likewise.
25516 (grub_video_fb_map_rgba): Likewise.
25517 (grub_video_fb_unmap_color): Likewise.
25518 (grub_video_fb_unmap_color_int): Likewise.
25519 (grub_video_fb_fill_rect): Likewise.
25520 (grub_video_fb_blit_bitmap): Likewise.
25521 (grub_video_fb_blit_render_target): Likewise.
25522 (grub_video_fb_scroll): Likewise.
25523 (grub_video_fb_create_render_target): Likewise.
25524 (grub_video_fb_doublebuf_blit_init): Likewise.
25525 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25526 (doublebuf_pageflipping_update_screen): New function.
25527 (doublebuf_pageflipping_init): Likewise.
25528 (grub_video_fb_setup): Likewise.
25529 (grub_video_fb_swap_buffers): Likewise.
25530 (grub_video_fb_get_info_and_fini): Likewise.
25531 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25532 All users updated.
25533 (doublebuf_pageflipping_commit): Restructured into ...
25534 (doublebuf_pageflipping_set_page): ... this.
25535 (doublebuf_pageflipping_update_screen): Removed.
25536 (doublebuf_pageflipping_init): Likewise.
25537 (double_buffering_init): Likewise.
25538 (grub_video_vbe_setup): Use grub_video_fb_setup.
25539 (grub_video_vbe_swap_buffers): Removed.
25540 (grub_video_vbe_set_active_render_target): Likewise.
25541 (grub_video_vbe_get_active_render_target): Likewise.
25542 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25543 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25544 grub_video_fb_set_active_render_target and
25545 grub_video_fb_get_active_render_target.
25546 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25547 (SEQUENCER_DATA_PORT): Likewise.
25548 (MAP_MASK_REGISTER): Likewise.
25549 (CRTC_ADDR_PORT): Likewise.
25550 (CRTC_DATA_PORT): Likewise.
25551 (START_ADDR_HIGH_REGISTER): Likewise.
25552 (START_ADDR_LOW_REGISTER): Likewise.
25553 (GRAPHICS_ADDR_PORT): Likewise.
25554 (GRAPHICS_DATA_PORT): Likewise.
25555 (READ_MAP_REGISTER): Likewise.
25556 (INPUT_STATUS1_REGISTER): Likewise.
25557 (INPUT_STATUS1_VERTR_BIT): Likewise.
25558 (get_map_mask): Use grub_vga_sr_read.
25559 (set_map_mask): Use grub_vga_sr_write.
25560 (set_read_map): Use grub_vga_gr_write.
25561 (set_start_address): Use grub_vga_cr_write.
25562 * video/sm712.c (framebuffer): Remove leftover fields.
25563
4321c64a
CW
255642010-06-20 Colin Watson <cjwatson@ubuntu.com>
25565
25566 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25567 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25568 instead. Replace the gfxterm backend check with a check that
25569 ${GRUB_PREFIX}/video.lst is non-empty.
25570 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25571 again.
25572 (load_video): New generated function. Call it before loading
25573 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25574 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25575 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25576 * docs/grub.texi (Simple configuration): Document
25577 GRUB_VIDEO_BACKEND.
25578
255792010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25580
25581 Use video functions in linux and xnu loaders.
25582
25583 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25584 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25585 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25586 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25587 loader/i386/pc/linux.c.
25588 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25589 (find_line_len): Removed.
25590 (find_framebuf): Likewise.
25591 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25592 * loader/i386/efi/xnu.c: Removed.
25593 * loader/i386/pc/xnu.c: Moved from here...
25594 * loader/i386/xnu.c: ...here.
25595
25596 Enable priorities in video drivers.
25597
25598 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25599 (grub_video_adapter): New field prio.
25600 (grub_video_register): Respect prio when inserting.
25601 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25602 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25603 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25604 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25605 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25606 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25607 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25608
25609 Fix SDL driver ID.
25610
25611 * include/grub/video.h (grub_video_driver_id_t): New value
25612 GRUB_VIDEO_DRIVER_SDL.
25613 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25614
7d24e434
CW
256152010-06-17 Colin Watson <cjwatson@ubuntu.com>
25616
25617 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25618 argument to printf.
25619 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25620
c88a83f6
CW
256212010-06-17 Colin Watson <cjwatson@ubuntu.com>
25622
25623 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25624 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25625
094dfb69
CW
256262010-06-17 Colin Watson <cjwatson@ubuntu.com>
25627
25628 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25629 directly, and recommend grub-install instead.
25630 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25631
2164da6b
CW
256322010-06-17 Colin Watson <cjwatson@ubuntu.com>
25633
25634 Fix i386-pc prefix handling with nested partitions (Debian bug
25635 #585068). Note that the case where the core image is booted using
25636 multiboot and relocated from its original location still requires
25637 more work.
25638
25639 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25640 with "(,", fill the boot drive in between those two characters, but
25641 expect that a full partition specification including partition map
25642 names will follow.
25643 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25644 specified, write a prefix without the drive name but including a
25645 full partition specification.
25646
044e2e60
CW
256472010-06-16 Colin Watson <cjwatson@ubuntu.com>
25648
25649 * util/grub-mkconfig.in: Ignore non-option arguments, for
25650 compatibility with older versions (before 2010-06-12) which did the
25651 same. In particular, this makes it easier to ship an update-grub
25652 wrapper which is compatible with that used with GRUB Legacy (Debian
25653 bug #586056).
25654
5591324f
GS
256552010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25656
25657 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25658 for manual page generation.
25659
662e24d5
GS
256602010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25661
25662 * po/POTFILES: Remove leftover commands/handler.c.
25663
8d70754e
CW
256642010-06-14 Colin Watson <cjwatson@ubuntu.com>
25665
25666 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25667 left this script non-functional.
25668
41160e2e
CW
256692010-06-14 Colin Watson <cjwatson@ubuntu.com>
25670
25671 * docs/man/grub-emu.h2m: New file.
25672
b5309cc1
CW
256732010-06-13 Colin Watson <cjwatson@ubuntu.com>
25674
25675 * docs/grub.texi (Commands): Document reduced command set in rescue
25676 mode.
25677 (cpuid): New section.
25678
fcb2d090
GS
256792010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25680
25681 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25682 new partition naming style.
25683 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25684
96e5c556
BC
256852010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25686
25687 Add "-o grub.iso" like cmdline options support.
25688
25689 * util/grub-install.in: Improve cmdline option parsing.
25690 * util/grub-mkconfig.in: Likewise.
25691 * util/grub-mkrescue.in: Likewise.
25692 * util/grub-reboot.in: Likewise.
25693 * util/grub-set-default.in: Likewise.
25694 * util/i386/efi/grub-install.in: Likewise.
25695 * util/ieee1275/grub-install.in: Likewise.
25696 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25697
c16be99b
CW
256982010-06-12 Colin Watson <cjwatson@ubuntu.com>
25699
25700 * .bzrignore: Ignore 41_custom.
25701
ce08a9fb
TS
257022010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25703
25704 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25705
7beac90c
CW
257062010-06-12 Colin Watson <cjwatson@ubuntu.com>
25707
25708 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25709 prototype declarations.
25710
25711 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25712 generating fs, partmap, and video lists.
25713 * include/grub/fs.h (grub_fs_register): Omit prototype if
25714 GRUB_LST_GENERATOR is defined.
25715 * include/grub/partition.h (grub_partition_map_register): Likewise.
25716 * include/grub/video.h (grub_video_register): Likewise.
25717
1c8f0f8d
JM
257182010-06-12 Javier Martín <lordhabbit@gmail.com>
25719
25720 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25721
a6085973
TS
257222010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25723
25724 * util/grub-mkrescue.in: Support --xorriso argument.
25725
25c56d29
VS
257262010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25727
25728 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25729 Suggested by: Thomas Schmitt.
25730
e03e4b24
VS
257312010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25732
25733 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25734 Suggested by: Thomas Schmitt.
25735
57711df6
VS
257362010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25737
25738 custom.cfg support.
25739
25740 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25741 * util/grub.d/41_custom.in: New file.
25742
ee62c427
CW
257432010-06-12 Colin Watson <cjwatson@ubuntu.com>
25744
25745 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25746 been merged back into normal.
25747
283af07a
CW
257482010-06-11 Colin Watson <cjwatson@ubuntu.com>
25749
25750 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25751 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25752
56a0d956
CW
257532010-06-11 Colin Watson <cjwatson@ubuntu.com>
25754
25755 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25756 when generating manual pages.
25757 * docs/man/grub-bin2h.h2m: New file.
25758 * docs/man/grub-editenv.h2m: New file.
25759 * docs/man/grub-fstest.h2m: New file.
25760 * docs/man/grub-install.h2m: New file.
25761 * docs/man/grub-macho2img.h2m: New file.
25762 * docs/man/grub-mkconfig.h2m: New file.
25763 * docs/man/grub-mkdevicemap.h2m: New file.
25764 * docs/man/grub-mkfont.h2m: New file.
25765 * docs/man/grub-mkimage.h2m: New file.
25766 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25767 * docs/man/grub-mkrelpath.h2m: New file.
25768 * docs/man/grub-mkrescue.h2m: New file.
25769 * docs/man/grub-ofpathname.h2m: New file.
25770 * docs/man/grub-pe2elf.h2m: New file.
25771 * docs/man/grub-probe.h2m: New file.
25772 * docs/man/grub-reboot.h2m: New file.
25773 * docs/man/grub-script-check.h2m: New file.
25774 * docs/man/grub-set-default.h2m: New file.
25775 * docs/man/grub-setup.h2m: New file.
25776
3a37e322
VS
257772010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25778
25779 Use FOR_* macros instead of *_iterate whenever possible.
25780
25781 * commands/handler.c: Removed.
25782 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25783 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25784 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25785 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25786 (grub_probe_SOURCES): Remove kern/parser.c.
25787 (util/grub-script-check.c_DEPENDENCIES): Removed.
25788 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25789 and grub_script_check_init.c.
25790 (grub_script_check_init.lst): Removed.
25791 (grub_script_check_init.h): Likewise.
25792 (grub_script_check_init.c): Likewise.
25793 (pkglib_MODULES): Remove handler.mod and sh.mod.
25794 (handler_mod_SOURCES): Removed.
25795 (handler_mod_CFLAGS): Likewise.
25796 (handler_mod_LDFLAGS): Likewise.
25797 (normal_mod_SOURCES): Remove normal/handler.c.
25798 Add script/main.c, script/script.c, script/execute.c,
25799 script/function.c, script/lexer.c, grub_script.tab.c
25800 and grub_script.yy.c.
25801 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25802 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25803 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25804 (grub_setup_SOURCES): Remove kern/parser.c.
25805 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25806 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25807 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25808 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25809 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25810 (grub_setup_SOURCES): Remove kern/parser.c.
25811 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25812 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25813 * include/grub/command.h (grub_command_iterate): Removed.
25814 (FOR_COMMANDS): New macro.
25815 * include/grub/dl.h (grub_dl): New member next.
25816 (grub_dl_iterate): Removed.
25817 (grub_dl_head): New variable declaration.
25818 (FOR_DL_MODULES): New macro.
25819 * include/grub/fs.h: Include list.h.
25820 (grub_fs): Make next first element.
25821 (grub_fs_list): New variable declaration.
25822 (grub_fs_register): Make inline.
25823 (grub_fs_unregister): Likewise.
25824 (grub_fs_iterate): Removed.
25825 (FOR_FILESYSTEMS): New macro.
25826 * include/grub/handler.h: Removed.
25827 * include/grub/list.h (grub_list_hook_t): Removed.
25828 (grub_list_test_t): Likewise.
25829 (grub_list_pop): Likewise.
25830 (grub_list_iterate): Likewise.
25831 (grub_list_insert): Likewise.
25832 (FOR_LIST_ELEMENTS): New macro.
25833 * include/grub/parser.h (grub_parser_class): Removed.
25834 (grub_parser_register): Likewise.
25835 (grub_parser_unregister): Likewise.
25836 (grub_parser_get_current): Likewise.
25837 (grub_parser_set_current): Likewise.
25838 (grub_register_rescue_parser): Likewise.
25839 (grub_rescue_parse_line): New function.
25840 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25841 * include/grub/script_sh.h (grub_script_function_list): New variable
25842 declaration.
25843 (FOR_SCRIPT_FUNCTIONS): New macro.
25844 (grub_script_function_iterate): Removed.
25845 (grub_normal_parse_line): New prototype.
25846 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25847 (FOR_DISABLED_TERM_INPUTS): Likewise.
25848 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25849 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25850 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25851 element.
25852 (grub_video_register): Inline.
25853 (grub_video_unregister): Likewise.
25854 (grub_video_adapter_list): New variable declaration.
25855 (grub_video_iterate): Removed.
25856 (FOR_VIDEO_ADAPTERS): New macro.
25857 * kern/dl.c (grub_dl_list): Removed. All users updated.
25858 (grub_dl_iterate): Removed.
25859 * kern/fs.c (grub_fs_list): Make global.
25860 (grub_fs_register): Removed.
25861 (grub_fs_unregister): Likewise.
25862 (grub_fs_iterate): Likewise.
25863 * kern/handler.c: Removed.
25864 * kern/list.c (grub_list_pop): Removed.
25865 (grub_list_iterate): Likewise.
25866 (grub_list_insert): Likewise.
25867 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25868 (grub_prio_list_insert): Don't use grub_list_insert.
25869 * kern/main.c (grub_register_rescue_parser): Don't call
25870 grub_register_rescue_parser.
25871 * kern/parser.c (grub_parser_class): Removed.
25872 (grub_parser_execute): Use grub_rescue_parse_line.
25873 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25874 (grub_rescue_parser): Removed.
25875 (grub_register_rescue_parser): Likewise.
25876 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25877 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25878 (grub_auth_check_authentication): Likewise.
25879 * normal/completion.c (iterate_command): Removed.
25880 (grub_normal_do_completion): Use FOR_COMMANDS.
25881 * normal/handler.c: Removed.
25882 * normal/main.c (read_config_file): Remove parser changing.
25883 (grub_normal_execute): Don't call read_handler_list.
25884 (grub_normal_read_line_real): Statically allocate prompt.
25885 (grub_cmdline_run): Use grub_normal_parse_line.
25886 (GRUB_MOD_FINI): Don't call free_handler_list.
25887 * normal/menu_entry.c (run): Likewise.
25888 * script/function.c (grub_script_function_list): Make global.
25889 (grub_script_function_iterate): Removed.
25890 * script/main.c (grub_normal_parse_line): Make global.
25891 (grub_sh_parser): Removed.
25892 (GRUB_MOD_INIT): Likewise.
25893 (GRUB_MOD_FINI): Likewise.
25894 * tests/lib/functional_test.c (grub_functional_test): Use
25895 FOR_LIST_ELEMENTS.
25896 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25897 (grub_test_run): Use FOR_LIST_ELEMENTS.
25898 * tests/lib/unit_test.c (main): Likewise.
25899 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25900 grub_list_pop.
25901 * util/grub-fstest.c (grub_term_input_class): Removed.
25902 (grub_term_output_class): Likewise.
25903 * util/grub-probe.c: Likewise.
25904 * util/i386/pc/grub-setup.c: Likewise.
25905 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25906 * util/grub-script-check.c (main): Don't call grub_init_all and
25907 grub_fini_all.
25908 * video/video.c (grub_video_adapter_list): Make global.
25909 (grub_video_register): Removed.
25910 (grub_video_unregister): Likewise.
25911 (grub_video_iterate): Likewise.
25912
6289c3a7
VS
259132010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25914
25915 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25916 reported by Henrique Ferreiro.
25917
91460247
RM
259182010-06-09 Robert Millan <rmh@gnu.org>
25919
25920 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25921 ones, when both are available.
25922
0ea7c4f9
GS
259232010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25924
25925 Make --version uniform and avoid hard-coded program name.
25926
25927 * util/grub-mkimage.c (main): Use `program_name' instead of
25928 hard-coded string.
25929 * util/i386/pc/grub-setup.c (main): Likewise.
25930 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25931 * util/grub-install.in: Save the basename of $0 in $self, and use the
25932 latter in informational messages. Use the same format for --version
25933 as the binary programs.
25934 * util/grub-mkconfig.in: Likewise.
25935 * util/grub-mkrescue.in: Likewise.
25936 * util/grub-reboot.in: Likewise.
25937 * util/grub-set-default.in: Likewise.
25938 * util/i386/efi/grub-install.in: Likewise.
25939 * util/ieee1275/grub-install.in: Likewise.
25940 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25941
e8a6f3b6
GS
259422010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25943
25944 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25945 embedding area. Use <= instead of == when checking for non-emptiness.
25946
f4d095d7
GS
259472010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25948
25949 * configure.ac: Add `.' to the directories searched for unifont.
25950
50e532ca
CW
259512010-06-08 Colin Watson <cjwatson@ubuntu.com>
25952
25953 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25954 grub_script.yy.h.
25955
d39f3dec
CW
259562010-06-08 Colin Watson <cjwatson@ubuntu.com>
25957
25958 * docs/grub.texi (History): Expand to cover GRUB 2.
25959 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25960 commands, not `terminal'.
25961 (serial): Likewise.
25962 (terminal_input): New section.
25963 (terminal_output): New section.
25964 (uppermem): New section (stub).
25965 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25966
6ef0ddb4
CW
259672010-06-08 Colin Watson <cjwatson@ubuntu.com>
25968
25969 * docs/grub.texi (Security): Menu entries are unrestricted by
25970 default, not restricted to superusers as I had previously thought.
25971 Reword to account for this.
25972
e0f4c438
CW
259732010-06-07 Colin Watson <cjwatson@ubuntu.com>
25974
25975 * kern/emu/misc.c (device_mapper_null_log): New function.
25976 (grub_device_mapper_supported): New function.
25977 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25978 prototype.
25979 * kern/emu/hostdisk.c (find_partition_start): Check whether
25980 device-mapper is supported before trying to use it.
25981 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25982
da908200
CW
259832010-06-07 Colin Watson <cjwatson@ubuntu.com>
25984
25985 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25986 (File name syntax): Likewise.
25987 (help): --all is no longer supported in GRUB 2. Be more precise
25988 about pattern matching.
25989
fb55c3ac
CW
259902010-06-07 Colin Watson <cjwatson@ubuntu.com>
25991
25992 * normal/completion.c (grub_normal_do_completion): When completing
25993 arguments to "set" and the current word contains an equals sign,
25994 skip to after the equals sign before starting completion.
25995
258c2573
CW
259962010-06-07 Colin Watson <cjwatson@ubuntu.com>
25997
25998 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25999
ee75515e
CW
260002010-06-07 Colin Watson <cjwatson@ubuntu.com>
26001
26002 * docs/grub.texi (Network): New section.
26003 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
26004 `(nd)' as in GRUB Legacy.
26005 (pxe_unload): New section.
26006
a6a700aa
CW
260072010-06-07 Colin Watson <cjwatson@ubuntu.com>
26008
26009 * docs/grub.texi (Troubleshooting): `echo' is not usually available
26010 in the rescue shell, so recommend using `set' instead. Thanks,
26011 Jordan Uggla.
26012
4003dd38
CW
260132010-06-07 Colin Watson <cjwatson@ubuntu.com>
26014
26015 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
26016 (password): New section.
26017 (password_pbkdf2): New section.
26018 (search): New section.
26019 (Security): New section.
26020 (Troubleshooting): New section, currently very incomplete.
26021 (Invoking grub-mkpasswd-pbkdf2): New section.
26022 (Internals): New section, currently very incomplete.
26023
e1cbcc40
CW
260242010-06-07 Colin Watson <cjwatson@ubuntu.com>
26025
26026 * util/grub.d/00_header.in: Add some more quoting (of
26027 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
26028 work again.
26029 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26030
db8fa1ad
CW
260312010-06-07 Colin Watson <cjwatson@ubuntu.com>
26032
26033 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26034 to `count', fixing variable shadowing that broke the -c option.
26035
260362010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
26037
26038 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26039 in case they contain spaces.
26040
f28a9212
CW
260412010-06-04 Colin Watson <cjwatson@ubuntu.com>
26042
26043 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26044 "part_" to partmap module names, in line with grub-install.
26045 Reported by: Jindřich Makovička (Debian bug #584426).
26046
9cdfe32f
CW
260472010-06-04 Colin Watson <cjwatson@ubuntu.com>
26048
26049 * util/grub-mkimage.c: Make target-related error messages slightly
26050 more helpful; -O talks about "format". Explicitly point to the use
26051 of -O if no target is specified.
26052 Reported by: Didier Raboud (Debian bug #584415).
26053
795b593a
CW
260542010-06-03 Colin Watson <cjwatson@ubuntu.com>
26055
26056 * INSTALL: Document several build requirements for optional features
26057 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26058
9d9b5833
GS
260592010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26060
26061 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26062 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26063 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26064
0819fec8
CW
260652010-06-02 Colin Watson <cjwatson@ubuntu.com>
26066
26067 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26068 Thanks to Jordan Uggla for spotting this.
26069
49396b4f
VS
260702010-06-02 Aleš Nesrsta <starous@volny.cz>
26071
26072 Finally make USB usable.
26073
26074 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26075 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26076 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26077 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26078 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26079 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26080 (GRUB_OHCI_FSMPS): Likewise.
26081 (GRUB_OHCI_PERIODIC_START): Likewise.
26082 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26083 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26084 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26085 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26086 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26087 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26088 (grub_ohci_transaction): Likewise.
26089 (grub_ohci_transfer): Improve condition detection algorithms.
26090 Handle toggle property. Program the transactions correctly.
26091 Improve error handling. Various important fixups.
26092 (grub_ohci_portstatus): Put register writes in right order.
26093 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26094 (grub_uhci_transfer): Don't show "failed" message on success.
26095 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26096 array.
26097 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26098 determine its size.
26099 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26100 before initialization is completed. Use IN direction for empty
26101 transfers. Use last_trans and compute toggle.
26102 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26103 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26104 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26105 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26106 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26107 (grub_usb_device): Increase toggle to 256.
26108 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26109 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26110 GRUB_USBMS_SUBCLASS_SFF8070.
26111 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26112 (grub_scsi_inquiry): New member page and alloc_length.
26113 (grub_scsi_request_sense): New structure.
26114 (grub_scsi_request_sense_data): Likewise.
26115 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26116 control.
26117 * disk/scsi.c (grub_scsi_request_sense): New function.
26118 (grub_scsi_test_unit_ready): Likewise.
26119 (grub_scsi_inquiry): Fill new fields.
26120 (grub_scsi_read_capacity): Likewise.
26121 (grub_scsi_read10): Add request sense at the end.
26122 (grub_scsi_read12): Likewise.
26123 (grub_scsi_write10): Likewise.
26124 (grub_scsi_write12): Likewise.
26125 (grub_scsi_open): Add Test Unit Ready.
26126 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26127 Support additional subclasses. Con't clear halt yet. Activate the
26128 proper config. Calculate LUNs correctly.
26129 (grub_usbms_transfer): Various important fixups.
26130
261312010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26132
26133 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26134 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26135 (grub_ohci_fini_hw): New function.
26136 (grub_ohci_restore_hw): Likewise.
26137 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26138 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26139 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26140
261412010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26142
26143 Dedicated DMA allocations.
26144
26145 * bus/pci.c (grub_memalign_dma32): New function
26146 (grub_dma_free): Likewise.
26147 (grub_dma_get_virt): Likewise.
26148 (grub_dma_get_phys): Likewise.
26149 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26150 (grub_ohci_pci_iter): Use dma32_alloc.
26151 (grub_ohci_transfer): Likewise.
26152 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26153 (grub_usb_bulk_readwrite): Likewise.
26154 * include/grub/pci.h: Add declarations.
26155
261562010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26157
26158 CS5536 support.
26159
26160 * bus/cs5536.c: New file.
26161 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
26162 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
26163 (cs5536_mod_SOURCES): New variable.
26164 (cs5536_mod_CFLAGS): Likewise.
26165 (cs5536_mod_LDFLAGS): Likewise.
26166 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
26167 machine/pci.h.
26168 (kernel_img_SOURCES): Add bus/cs5536.c.
26169 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26170 usb_keyboard.mod.
26171 (usb_mod_SOURCES): New variable.
26172 (usb_mod_CFLAGS): New variable.
26173 (usb_mod_LDFLAGS): New variable.
26174 (usbtest_mod_SOURCES): New variable.
26175 (usbtest_mod_CFLAGS): New variable.
26176 (usbtest_mod_LDFLAGS): New variable.
26177 (ohci_mod_SOURCES): New variable.
26178 (ohci_mod_CFLAGS): New variable.
26179 (ohci_mod_LDFLAGS): New variable.
26180 (usbms_mod_SOURCES): New variable.
26181 (usbms_mod_CFLAGS): New variable.
26182 (usbms_mod_LDFLAGS): New variable.
26183 (usb_keyboard_mod_SOURCES): New variable.
26184 (usb_keyboard_mod_CFLAGS): New variable.
26185 (usb_keyboard_mod_LDFLAGS): New variable.
26186 * include/grub/smbus.h: New file.
26187 * include/grub/cs5536.h: New file.
26188
0b35b2a9
CW
261892010-06-02 Colin Watson <cjwatson@ubuntu.com>
26190
26191 * util/grub.d/00_header.in: Add safety check to make sure that
26192 ${locale_dir} exists before trying to probe it.
26193
ca0afd5b
CW
261942010-06-02 Colin Watson <cjwatson@ubuntu.com>
26195
26196 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
26197 per the GNU Coding Standards; this is now too obscure to be worth
26198 documenting.
26199 (QNX): Likewise.
26200 (chainloader): Remove cross-reference to `SCO UnixWare'.
26201
1c41aa78
CW
262022010-06-02 Colin Watson <cjwatson@ubuntu.com>
26203
26204 * docs/grub.texi (Chain-loading): New section.
26205 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26206 adjusted for GRUB 2.
26207 (SCO UnixWare): Likewise.
26208 (QNX): Likewise.
26209 (chainloader): Add reference to `Block list syntax'.
26210 (drivemap): New section.
26211 (parttool): New section.
26212
bb8ea0f5
CW
262132010-06-02 Colin Watson <cjwatson@ubuntu.com>
26214
26215 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26216 the grub shell'.
26217 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26218 (Installing GRUB using grub-install): Remove reference to the grub
26219 shell; mention `grub-mkimage' and `grub-setup' instead.
26220 (Invoking grub-install): Likewise.
26221 (Interface): Add reference to `Menu entry editor'.
26222 (serial): Remove `--device' option.
26223
288dd6ed
CW
262242010-06-02 Colin Watson <cjwatson@ubuntu.com>
26225
26226 * docs/grub.texi (Configuration): New section, documenting
26227 configuration file generation using grub-mkconfig. I've left a slot
26228 for documenting the full shell scripting format but have not yet
26229 started on writing that up.
26230 (Invoking grub-mkconfig): New section.
26231
34c9f0e9
CW
262322010-06-02 Colin Watson <cjwatson@ubuntu.com>
26233
26234 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26235 (GNU GRUB manual): Likewise.
26236 (General commands): Update description of `terminfo' for GRUB 2.
26237
9121567e
CW
262382010-06-02 Colin Watson <cjwatson@ubuntu.com>
26239
26240 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26241 (GRUB_MOD_INIT): Fix capitalisation.
26242 * docs/grub.texi (Command-line and menu entry commands): Document
26243 gettext and gptsync commands.
26244
ab631611
CW
262452010-06-02 Colin Watson <cjwatson@ubuntu.com>
26246
26247 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
26248 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26249
bde4a9ac
CW
262502010-06-01 Colin Watson <cjwatson@ubuntu.com>
26251
26252 Add btrfs probing support, currently only in the single-device case.
26253
26254 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26255 function.
26256 (grub_guess_root_device): Call find_root_device_from_mountinfo
26257 before looking in /dev.
26258
b1d17e10
VS
262592010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26260
26261 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26262 GRUB_DISK_SIZE_UNKNOWN.
26263 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26264
dfbfe004
JS
262652010-05-31 Jiro SEKIBA <jir@unicus.jp>
26266
26267 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26268 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26269 corrupted or not synced properly.
26270
c2ffc8e9
VS
262712010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26272
26273 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26274 Reported by: Seth Goldberg.
26275
56293166
VS
262762010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26277
26278 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26279 addition of dest.
26280 Reported by: Seth Goldberg.
26281
7620e7de
VS
262822010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26283
26284 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26285 Reported by: Seth Goldberg.
26286
c837af3f
VS
262872010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26288
26289 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26290 64-bit address as signed on MIPS.
26291
c7c75cf4
CW
262922010-05-28 Colin Watson <cjwatson@ubuntu.com>
26293
26294 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26295 to the empty string.
26296
fa4b8490
BC
262972010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26298
26299 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26300
26301 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26302 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26303 * kern/misc.c (__enable_execute_stack): Disable on
26304 GRUB_MACHINE_EMU.
26305
a33075b9
CW
263062010-05-28 Colin Watson <cjwatson@ubuntu.com>
26307
26308 Make grub-probe work with symbolic links under /dev/mapper as well
26309 as with real block devices. The Linux world seems to be (at best)
26310 in transition here, and GRUB shouldn't get caught in the middle.
26311
26312 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26313 /dev/mapper.
26314
d8708134
CW
263152010-05-27 Colin Watson <cjwatson@ubuntu.com>
26316
26317 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26318 input files (in which case exit zero).
26319
db2102a0
CW
263202010-05-27 Colin Watson <cjwatson@ubuntu.com>
26321
26322 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26323 return NULL for various reasons even if it has a maximum-length
26324 buffer: for example, there might be a symlink loop, or the path
26325 might exceed PATH_MAX. If this happens, return NULL.
26326
5fdba519
RM
263272010-05-27 Robert Millan <rmh@gnu.org>
26328
26329 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26330 partmap module to handle cross-partmap setups.
26331 Reported by Orestes Mas. Gràcies!
26332
d1d368e4
CW
263332010-05-27 Colin Watson <cjwatson@ubuntu.com>
26334
26335 * util/grub-mkrescue.in: Initialise override_dir rather than
26336 assuming that it's unset or empty in the environment.
26337
95ac3c73
GS
263382010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26339
26340 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26341 variable index into p_index to suppress a warning with -Wshadow.
26342
7d8c0213
BC
263432010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26344
26345 * INSTALL: Added flex >= 2.5.35 requirement.
26346
db4d5813
VS
263472010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26348
26349 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26350
f24f4300
VS
263512010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26352
26353 cmostest support.
26354
26355 * commands/i386/cmostest.c: New file.
26356 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26357 (cmostest_mod_SOURCES): New variable.
26358 (cmostest_mod_CFLAGS): Likewise.
26359 (cmostest_mod_LDFLAGS): Likewise.
26360 * conf/i386-pc.rmk: Likewise.
26361 * docs/grub.texi (Vendor power-on keys): New section.
26362 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26363 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26364 and GRUB_BUTTON_CMOS_ADDRESS.
26365 * util/grub.d/00_header.in: Handle powering-on by separate button.
26366
ad603f61
VS
263672010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26368
26369 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26370 Removed drawing_scrollbar argument. All users updated
26371 Fixes #29792.
26372 Reported by Jo Shields
26373
3ecb080a
VS
263742010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26375
26376 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26377 buffer since gfxterm handles double repaint.
26378
5f2316c1
VS
263792010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26380
26381 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26382 * term/gfxterm.c (real_scroll): Likewise.
26383
9a25f885
VS
263842010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26385
26386 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26387 before calling BIOS.
26388
39fbb79a
VS
263892010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26390
26391 * include/grub/i18n.h: Always enable grub_gettext.
26392
228cfa97
VS
263932010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26394
26395 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26396 partition naming style.
26397
21717c8f
CW
263982010-05-21 Colin Watson <cjwatson@ubuntu.com>
26399
26400 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26401 not the first option.
26402
c0f48e65
CW
264032010-05-20 Colin Watson <cjwatson@ubuntu.com>
26404
26405 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26406
96779aec
CW
264072010-05-20 Colin Watson <cjwatson@ubuntu.com>
26408
26409 * util/misc.c: Move inclusion of <limits.h> to ...
26410 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26411
fa9d256e
GS
264122010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26413
26414 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26415 Fix merge error in NetBSD code.
26416 (find_partition_start) [__NetBSD__]: Likewise.
26417
123b7a85
BC
264182010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26419
26420 Fix grub-mkrescue usage unit testing.
26421
26422 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26423
74276c0d
CF
264242010-05-18 Christian Franke <franke@computer.org>
26425
26426 * util/grub.d/10_windows.in: Use path names instead of
26427 drive letters to prevent warning from Cygwin 1.7.
26428 Add drivemap command to menuentry if needed.
26429
c4f7b523
ST
264302010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26431
26432 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26433 gnumach and gnumach.gz.
26434
95b97950
VS
264352010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26436
26437 * include/grub/i18n.h (gettext): Inline instead of using #define.
26438 (grub_gettext): Likewise.
26439 (_): Likewise.
26440
01b8d2d7
VS
264412010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26442
26443 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26444 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26445 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26446 (main): Add a slash after pkglibdirroot.
26447
654e1d1e
VS
264482010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26449
26450 * util/grub-install.in: Add missing "in" keyword.
26451
26966aeb
VS
264522010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26453
26454 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26455 Reported by: Seth Goldberg.
26456
75006747
VS
264572010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26458
26459 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26460
74cbf5bd
CW
264612010-05-18 Colin Watson <cjwatson@ubuntu.com>
26462
26463 * configure.ac: Check for Linux device-mapper support.
26464
26465 * util/hostdisk.c (device_is_mapped): New function.
26466 (find_partition_start): New function, partly broken out from
26467 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26468 device-mapper support added.
26469 (linux_find_partition): Use find_partition_start.
26470 (convert_system_partition_to_system_disk): Add `st' argument.
26471 Support Linux /dev/mapper/* devices if device-mapper support is
26472 available; only DM-RAID devices are understood at present.
26473 (find_system_device): Add `st' argument. Pass it to
26474 convert_system_partition_to_system_disk.
26475 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26476 find_system_device and convert_system_partition_to_system_disk. Use
26477 find_partition_start.
26478
26479 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26480 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26481 * util/deviceiter.c [__linux__]: Define MINOR.
26482 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26483 * util/mkdevicemap.c (grub_putchar): New function.
26484 (grub_getkey): New function.
26485 (grub_refresh): New function.
26486 (main): Set debug=all if -v -v is used.
26487
355b51e9
CW
264882010-05-18 Colin Watson <cjwatson@ubuntu.com>
26489
26490 Fix build with non-GNU libcs.
26491
26492 * util/misc.c (canonicalize_file_name): Move to ...
26493 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26494 grub_make_system_path_relative_to_its_root.
26495
7fb5c25f
CW
264962010-05-18 Colin Watson <cjwatson@ubuntu.com>
26497
26498 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26499 we handle finding grub-mkimage. Default to finding grub-mkimage in
26500 ${bindir} with program_transform_name applied, and provide a
26501 --grub-mkimage option to override this.
26502
1d3293d6
VS
265032010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26504
26505 Remove grub-mkisofs.
26506
26507 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26508 (grub_mkisofs_SOURCES): Removed.
26509 (grub_mkisofs_CFLAGS): Removed.
26510 * util/mkisofs/defaults.h: Removed.
26511 * util/mkisofs/eltorito.c: Likewise.
26512 * util/mkisofs/exclude.h: Likewise.
26513 * util/mkisofs/hash.c: Likewise.
26514 * util/mkisofs/include/: Likewise.
26515 * util/mkisofs/include/fctldefs.h: Likewise.
26516 * util/mkisofs/include/mconfig.h: Likewise.
26517 * util/mkisofs/include/prototyp.h: Likewise.
26518 * util/mkisofs/include/statdefs.h: Likewise.
26519 * util/mkisofs/iso9660.h: Likewise.
26520 * util/mkisofs/joliet.c: Likewise.
26521 * util/mkisofs/match.c: Likewise.
26522 * util/mkisofs/match.h: Likewise.
26523 * util/mkisofs/mkisofs.c: Likewise.
26524 * util/mkisofs/mkisofs.h: Likewise.
26525 * util/mkisofs/msdos_partition.h: Likewise.
26526 * util/mkisofs/multi.c: Likewise.
26527 * util/mkisofs/name.c: Likewise.
26528 * util/mkisofs/rock.c: Likewise.
26529 * util/mkisofs/tree.c: Likewise.
26530 * util/mkisofs/write.c: Likewise.
26531
5dde9afe
VS
265322010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26533
26534 Unify grub-mkimage accross platforms.
26535
26536 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26537 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26538 (grub_mkelfimage_SOURCES): Removed.
26539 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26540 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26541 (bin_UTILITIES): Add grub-mkimage.
26542 (grub_mkimage_SOURCES): New variable.
26543 (kernel_img_HEADERS): Remove machine/kernel.h.
26544 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26545 (pkglib_PROGRAMS): Add kernel.img.
26546 (kernel_img_HEADERS): Add machine/kernel.h.
26547 (kernel_img_FORMAT): Removed.
26548 (bin_UTILITIES): Remove grub-mkimage.
26549 (grub_mkimage_SOURCES): Removed.
26550 (grub_mkimage_CFLAGS): Likewise.
26551 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26552 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26553 (pkglib_PROGRAMS): Add kernel.img.
26554 (bin_UTILITIES): Remove grub-mkimage.
26555 (grub_mkimage_SOURCES): Removed.
26556 (grub_mkimage_CFLAGS): Likewise.
26557 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26558 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26559 (pkglib_PROGRAMS): Add kernel.img.
26560 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26561 (pkglib_PROGRAMS): Add kernel.img.
26562 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26563 (grub_mkimage_SOURCES): Removed.
26564 (grub_mkimage_CFLAGS): Likewise.
26565 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26566 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26567 (pkglib_PROGRAMS): Add kernel.img.
26568 (bin_UTILITIES): Remove grub-mkimage.
26569 (grub_mkimage_SOURCES): Removed.
26570 (grub_mkimage_CFLAGS): Likewise.
26571 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26572 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26573 (grub_mkimage_SOURCES): Removed.
26574 (grub_mkimage_CFLAGS): Likewise.
26575 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26576 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26577 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26578 (grub_pe32_optional_header): ... this.
26579 (grub_pe64_optional_header): ... and this. All users updated.
26580 (GRUB_PE32_PE32_MAGIC): Split into ..
26581 (GRUB_PE32_PE32_MAGIC): .. this.
26582 (GRUB_PE32_PE64_MAGIC): .. and this.
26583 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26584 * include/grub/elf.h (PT_GNU_STACK): New definition.
26585 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26586 * include/grub/i386/efi/kernel.h: Likewise.
26587 * include/grub/i386/kernel.h: Likewise.
26588 * include/grub/i386/pc/kernel.h: Likewise.
26589 * include/grub/i386/qemu/boot.h: Likewise.
26590 * include/grub/mips/kernel.h: Likewise.
26591 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26592 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26593 * include/grub/powerpc/kernel.h: Likewise.
26594 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26595 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26596 * include/grub/sparc64/kernel.h: Likewise.
26597 * include/grub/x86_64/efi/kernel.h: Likewise.
26598 * include/grub/x86_64/kernel.h: Likewise.
26599 * include/grub/offsets.h: New file.
26600 * include/grub/kernel.h (grub_module_info): Split into ...
26601 (grub_module_info32): ... this.
26602 (grub_module_info64): ... and this.
26603 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26604 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26605 (grub_boot_blocklist): Moved from here ...
26606 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26607 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26608 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26609 * include/grub/types.h (grub_target_to_host16): Removed.
26610 (grub_target_to_host32): Likewise.
26611 (grub_target_to_host64): Likewise.
26612 (grub_host_to_target16): Likewise.
26613 (grub_host_to_target32): Likewise.
26614 (grub_host_to_target64): Likewise.
26615 (grub_host_to_target_addr): Likewise.
26616
26617 Support grub-mkrescue for efi, coreboot and qemu.
26618
26619 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26620 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26621 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26622 * util/grub-mkrawimage.c: Moved from here ...
26623 * util/grub-mkimage.c: ... here. All users updated.
26624 (ALIGN_ADDR): Use image_target.
26625 (TARGET_NO_FIELD): New const.
26626 (image_target_desc): New type.
26627 (image_targets): New array.
26628 (grub_target_to_host64): Use image_target.
26629 (grub_target_to_host32): Likewise.
26630 (grub_target_to_host16): Likewise.
26631 (grub_host_to_target64): Likewise.
26632 (grub_host_to_target32): Likewise.
26633 (grub_host_to_target16): Likewise.
26634 (grub_host_to_target_addr): Likewise.
26635 (generate_image): Handle multiimage.
26636 (main): Require -O parameter. All users updated.
26637 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26638 util/efi/grub-mkimage.c
26639 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26640 New option --rom-directory.
26641 Use xorriso.
26642 * util/i386/efi/grub-mkimage.c: Removed.
26643 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26644 (grub_target_to_host32): Likewise.
26645 (grub_target_to_host64): Likewise.
26646 (grub_host_to_target16): Likewise.
26647 (grub_host_to_target32): Likewise.
26648 (grub_host_to_target64): Likewise.
26649 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26650 (grub_target_to_host32): Likewise.
26651 (grub_target_to_host64): Likewise.
26652 (grub_host_to_target16): Likewise.
26653 (grub_host_to_target32): Likewise.
26654 (grub_host_to_target64): Likewise.
26655
f4fc97d0
BC
266562010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26657
26658 Source tree is reorganized for emu build.
26659
26660 * include/grub/util/console.h: Move from here...
26661 * include/grub/emu/console.h: ...to here.
26662 * include/grub/util/getroot.h: Move from here...
26663 * include/grub/emu/getroot.h: ...to here.
26664 * include/grub/util/hostdisk.h: Move from here...
26665 * include/grub/emu/hostdisk.h: ...to here.
26666 * util/console.c: Move from here...
26667 * kern/emu/console.c: ...to here.
26668 * util/getroot.c: Move from here...
26669 * kern/emu/getroot.c: ...to here.
26670 * util/grub-emu.c: Move from here...
26671 * kern/emu/main.c: ...to here.
26672 * util/hostdisk.c: Move from here...
26673 * kern/emu/hostdisk.c: ...to here.
26674 * util/hostfs.c: Move from here...
26675 * kern/emu/hostfs.c: ...to here.
26676 * util/mm.c: Move from here...
26677 * kern/emu/mm.c: ...to here.
26678 * util/pci.c: Move from here...
26679 * bus/emu/pci.c: ...to here.
26680 * util/sdl.c: Move from here...
26681 * video/emu/sdl.c: ...to here.
26682 * util/time.c: Move from here...
26683 * kern/emu/time.c: ...to here.
26684 * util/usb.c: Move from here...
26685 * bus/usb/emu/usb.c: ...to here.
26686
26687 * include/grub/emu/misc.h: New header for grub-emu functions.
26688 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26689
26690 * conf/any-emu.rmk: Rule updates for above renames.
26691 * conf/common.rmk: Likewise.
26692 * conf/i386-pc.rmk: Likewise.
26693 * conf/i386-qemu.rmk: Likewise.
26694 * conf/mips.rmk: Likewise.
26695 * conf/sparc64-ieee1275.rmk: Likewise.
26696 * conf/x86-efi.rmk: Likewise.
26697
26698 * disk/lvm.h: #include updates for above renames.
26699 * util/grub-mkrelpath.c: Likewise.
26700 * util/grub-probe.c: Likewise.
26701 * util/i386/pc/grub-setup.c: Likewise.
26702 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26703 * kern/emu/console.c: Likewise.
26704 * kern/emu/getroot.c: Likewise.
26705 * kern/emu/hostdisk.c: Likewise.
26706 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26707
26708 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26709 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26710 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26711 * util/misc.c: Remove grub-emu functions.
26712
cced9145
VS
267132010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26714
26715 Fix gfxmenu crash.
26716 Reported by: Thorsten Grützmacher.
26717
26718 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26719 timeout hook.
26720 (circprog_set_property): Register and unregister timeout hook.
26721 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26722 (label_destroy): Free template. and unregister hook.
26723 (label_set_state): New function.
26724 (label_set_property): Handle templates and hooks.
26725 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26726 timeout hook.
26727 (progress_bar_set_property): Register and unregister timeout hook.
26728 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26729 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26730 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26731 (update_timeout_visit): Removed.
26732 (update_timeouts): New function.
26733 (redraw_timeouts): Likewise.
26734 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26735 (grub_gfxmenu_clear_timeout): Likewise.
26736 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26737 (grub_gfxmenu_timeout_notify): Likewise.
26738 (grub_gfxmenu_timeout_notifications): New external variable.
26739 (grub_gfxmenu_timeout_register): New function.
26740 (grub_gfxmenu_timeout_unregister): Likewise.
26741
c6e5caab
VS
267422010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26743
26744 Transform (broken) vga terminal into (working) vga video driver.
26745
26746 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26747 video/i386/pc/vga.c.
26748 * include/grub/video.h (grub_video_driver_id):
26749 Add GRUB_VIDEO_DRIVER_VGA.
26750 * term/i386/pc/vga.c: Renamed to ...
26751 * video/i386/pc/vga.c: ...this
26752 (DEBUG_VGA): Removed.
26753 (CHAR_WIDTH): Likewise.
26754 (CHAR_HEIGHT): Likewise.
26755 (TEXT_WIDTH): Likewise.
26756 (TEXT_HEIGHT): Likewise.
26757 (DEFAULT_FG_COLOR): Likewise.
26758 (DEFAULT_BG_COLOR): Likewise.
26759 (colored_char): Likewise.
26760 (xpos): Likewise.
26761 (ypos): Likewise.
26762 (cursor_state): Likewise.
26763 (fg_color): Likewise.
26764 (bg_color): Likewise.
26765 (text_buf): Likewise.
26766 (page): Likewise.
26767 (font): Likewise.
26768 (framebuffer): New variable.
26769 (set_read_map): Disabled.
26770 (setup): New variable.
26771 (is_target): Likewise.
26772 (grub_vga_mod_init): Likewise.
26773 (grub_vga_mod_fini): Likewise.
26774 (check_vga_mem): Likewise.
26775 (write_char): Likewise.
26776 (write_cursor): Likewise.
26777 (scroll_up): Likewise.
26778 (grub_vga_putchar): Likewise.
26779 (grub_vga_getcharwidth): Likewise.
26780 (grub_vga_getwh): Likewise.
26781 (grub_vga_getxy): Likewise.
26782 (grub_vga_gotoxy): Likewise.
26783 (grub_vga_cls): Likewise.
26784 (grub_vga_setcolorstate): Likewise.
26785 (grub_vga_setcursor): Likewise.
26786 (grub_video_vga_init): New function.
26787 (grub_video_vga_setup): Likewise.
26788 (grub_video_vga_fini): Likewise.
26789 (update_target): Likewise.
26790 (grub_video_vga_blit_bitmap): Likewise.
26791 (grub_video_vga_blit_render_target): Likewise.
26792 (grub_video_vga_set_active_render_target): Likewise.
26793 (grub_video_vga_get_active_render_target): Likewise.
26794 (grub_video_vga_swap_buffers): Likewise.
26795 (grub_video_vga_set_palette): Likewise.
26796 (grub_video_vga_get_info_and_fini): Likewise.
26797 (grub_vga_term): Removed.
26798 (grub_video_vga_adapter): New variable.
26799 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26800 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26801
2bf61a98
VS
268022010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26803
26804 * video/readers/jpeg.c: Indented.
26805
09ddcd11
VS
268062010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26807
26808 Various jpeg cleanups.
26809
26810 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26811 (grub_jpeg_decode_quan_table): Use sizeof.
26812 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26813
e5507505
PH
268142010-05-05 Peter Hurley <No e-mail available> (tiny change)
26815
26816 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26817 tables. Ignore non-last ac bit.
26818 (grub_jpeg_decode_quan_table): Likewise.
26819
7e720a9b
VS
268202010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26821
26822 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26823 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26824 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26825 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26826 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26827 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26828
a7fc080b
VS
268292010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26830
26831 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26832 error.
26833
2bf6012d
VS
268342010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26835
26836 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26837
265d68cd
VS
268382010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26839
26840 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26841 condition.
26842
268432010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26844
26845 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26846 part.
26847
265d68cd 268482010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26849
26850 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26851 pointers.
26852
265d68cd 268532010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26854
26855 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26856
d1b61374
CF
268572010-05-01 Christian Franke <franke@computer.org>
26858
26859 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26860 Remove broken Cygwin path conversion.
26861 * util/misc.c: [__CYGWIN__] Add include and define.
26862 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26863 for Cygwin 1.7.
26864 (make_system_path_relative_to_its_root): Simplify loop, replace early
26865 return by break.
26866 [__CYGWIN__] Add conversion to win32 path.
26867 Include "/" case in trailing slash removal.
26868
3558c6e9
VS
268692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26870
26871 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26872 Reported by: Seth Goldberg
26873
f5f3ff93
VS
268742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26875
26876 * commands/help.c (grub_cmd_help): Fix a typo.
26877 Reported by: Seth Goldberg
26878
d8b5cd40
VS
268792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26880
26881 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26882 name and add N_.
26883 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26884 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26885 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26886 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26887 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26888 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26889 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26890 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26891 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26892 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26893 * normal/context.c (GRUB_MOD_INIT): Likewise.
26894 * normal/main.c (GRUB_MOD_INIT): Likewise.
26895 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26896 * term/serial.c (GRUB_MOD_INIT): Likewise.
26897 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26898
88c14915
VS
268992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26900
26901 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26902 extra == 0.
26903
165134bc
VS
269042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26905
26906 * commands/iorw.c: New file.
26907 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26908 (iorw_mod_SOURCES): New variable.
26909 (iorw_mod_CFLAGS): Likewise.
26910 (iorw_mod_LDFLAGS): Likewise.
26911
c5ac9b32
VS
269122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26913
26914 Hotkey support
26915
26916 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26917 * normal/main.c (hotkey_aliases): New variable.
26918 (grub_normal_add_menu_entry): Parse "--hotkey".
26919 * normal/menu_text.c (run_menu): Handle hotkeys.
26920
ce60689c
VS
269212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26922
26923 * kern/i386/coreboot/init.c (grub_machine_init): Call
26924 grub_machine_mmap_init on qemu.
26925
0359d006
VS
269262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26927
26928 * boot/i386/qemu/boot.S: Add a missing .code16.
26929
7819a456
VS
269302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26931
26932 Use LBIO on coreboot.
26933
26934 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26935 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26936 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26937 New declaration.
26938 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26939 grub_machine_mmap_init on coreboot.
26940 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26941 GRUB_LINUXBIOS_MEMBER_LINK.
26942 (grub_machine_mmap_iterate): Fix declaration.
26943 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26944
7210dca9
VS
269452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26946
26947 Split coreboot and multiboot ports.
26948
26949 * conf/i386-multiboot.rmk: New file.
26950 * configure.ac: Add multiboot port.
26951 * include/grub/i386/multiboot/boot.h: New file.
26952 * include/grub/i386/multiboot/console.h: Likewise.
26953 * include/grub/i386/multiboot/init.h: Likewise.
26954 * include/grub/i386/multiboot/kernel.h: Likewise.
26955 * include/grub/i386/multiboot/loader.h: Likewise.
26956 * include/grub/i386/multiboot/memory.h: Likewise.
26957 * include/grub/i386/multiboot/serial.h: Likewise.
26958 * include/grub/i386/multiboot/time.h: Likewise.
26959 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26960 * loader/multiboot.c: Likewise.
26961 * loader/multiboot_mbi2.c: Likewise.
26962 * util/grub-mkrescue.in: Generate multiboot rescue.
26963
6f8aaf68
VS
269642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26965
3080f7a7
VS
26966 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26967
269682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26969
26970 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26971
26972 * commands/terminal.c (abstract_terminal): New struct.
26973 (handle_command): New function. Based on grub_cmd_terminal_input.
26974 (grub_cmd_terminal_input): Use handle_command.
26975 (grub_cmd_terminal_output): Use handle_command.
26976
a8ebb841
BC
269772010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26978
26979 Fix comment handling.
26980
26981 * tests/grub_script_comments.in: New testcase.
26982 * conf/tests.rmk: Rules for new testcase.
26983 * script/yylex.l: Updated flex rules.
26984
bb06ba08
ST
269852010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26986
26987 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26988 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26989 if argc is 1.
bb06ba08 26990
cc9d2425
VS
269912010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26992
26993 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26994 autogen issues.
26995
460d8402
CF
269962010-04-26 Christian Franke <franke@computer.org>
26997
26998 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26999 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
27000 (grub_get_prefix): Remove function.
27001 * util/grub-emu.c (main): Replace grub_get_prefix () call by
27002 make_system_path_relative_to_its_root ().
27003 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
27004
553c01f9
CF
270052010-04-24 Christian Franke <franke@computer.org>
27006
27007 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
27008 (kernel_img_LDFLAGS): Remove -static-libgcc.
27009
2aec1692
CF
270102010-04-24 Christian Franke <franke@computer.org>
27011
27012 * configure.ac: Do not CHECK_BSS_START_SYMBOL
27013 and CHECK_END_SYMBOL if grub-emu is built.
27014 Unset TARGET_OBJ2ELF if grub-emu is built
27015 without module support.
27016
f67dc308
JS
270172010-04-24 Jiro SEKIBA <jir@unicus.jp>
27018
27019 Nilfs2 support.
27020
27021 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
27022 (grub_fstest_SOURCES): Likewise.
27023 (pkglib_MODULES): Add nilfs2.mod.
27024 (nilfs2_mod_SOURCES): New variable.
27025 (nilfs2_mod_CFLAGS): Likewise.
27026 (nilfs2_mod_LDFLAGS): Likewise.
27027 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27028 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27029 * fs/nilfs2.c: New file.
27030
4ba8d354
VS
270312010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27032
27033 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27034 is not supported.
27035
0d2c20c6
GS
270362010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27037
27038 Add grub-mkconfig support for NetBSD.
27039
27040 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27041 * util/grub-mkconfig.in: export new NetBSD specific variables.
27042 * po/POTFILES-shell: added 10_netbsd.in.
27043 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27044
bc4a2d83
BC
270452010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27046
27047 Fix emu build with grub-emu-pci and grub-emu-modules.
27048
27049 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27050 functions.
27051 * include/grub/libpciaccess.h: New file.
27052 * conf/any-emu.rmk: Update kernel headers for emu build.
27053
f48c87aa
VS
270542010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27055
27056 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27057
18959385
VS
270582010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27059
27060 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27061
0037de3f
VS
270622010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27063
27064 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27065 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27066 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27067 util/ieee1275/ofpath.c.
27068 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27069 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27070 * include/grub/sparc64/ieee1275/boot.h
27071 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27072 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27073 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27074 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27075 const char *.
27076 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27077 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27078 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27079 install.
27080
38e55e90
GS
270812010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27082
27083 * util/grub-mkconfig.in: Corrected two == equality tests.
27084 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27085 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27086 expect a number appended to it.
27087 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27088 expects a number appended to it.
27089
a9e6ff28
VS
270902010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27091
27092 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27093
0b830b8f
VS
270942010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27095
27096 * util/hostdisk.c (make_device_name): Change to new partition naming.
27097
0973daeb
VS
270982010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27099
27100 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27101
460d8402 271022010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
27103
27104 * Makefile.in: Add missing localedir setting.
27105
0b456309
CW
271062010-04-14 Colin Watson <cjwatson@ubuntu.com>
27107
27108 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27109 mistake in r2156. Noticed by Anthony Fok.
27110
27111 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27112 @localedir@.
27113 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27114
08f46d62
BC
271152010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27116
27117 Fix a spurious, uninitialized variable warning.
27118
27119 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27120 Initialize variable, shdr.
27121 (grub_freebsd_load_elfmodule): Likewise.
27122 (grub_freebsd_load_elf_meta): Likewise.
27123
8c4a72d4
BC
271242010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27125
27126 Fix for escaped dollar in double quoted strings.
27127
27128 * script/yylex.l: Updated flex rules.
27129 * conf/tests.rmk: Rule for new testcase.
27130 * tests/grub_script_dollar.in: New testcase.
27131
ce44826e
CPE
271322010-04-13 Carles Pina i Estany <carles@pina.cat>
271332010-04-13 Colin Watson <cjwatson@ubuntu.com>
27134
27135 Enclose all translated strings in grub.cfg in single quotes, and
27136 escape them appropriately (Ubuntu bug #552921).
27137
27138 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27139 * util/grub.d/10_hurd.in: Use it.
27140 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27141 * util/grub.d/10_linux.in (linux_entry): Likewise.
27142
4b0cd8f8
VS
271432010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27144
27145 Fix cygwin compilation.
27146
27147 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27148 * include/grub/misc.h (__register_frame_info)
27149 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27150 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27151 * kern/misc.c (__register_frame_info)
27152 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27153 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27154
01fcf061
VS
271552010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27156
27157 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
27158
5d04b11e
VS
271592010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27160
27161 Unify libgcc processing.
27162
27163 * Makefile.in (kernel_img_LDFLAGS): New variable.
27164 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
27165 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
27166 overwriting.
27167 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
27168 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
27169 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27170 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27171 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27172 overwriting. Remove -lgcc and -static-libgcc
27173 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27174 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27175 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27176 (kernel_img_LDFLAGS): Append instead of overwriting.
27177 Remove -lgcc and -static-libgcc
27178 * conf/sparc64-ieee1275.rmk: Likewise.
27179 * include/grub/powerpc/libgcc.h: Move to ...
27180 * include/grub/libgcc.h: .. this.
27181 * include/grub/libgcc.h: Don't export most of the function on x86.
27182 (__bswapsi2): New export.
27183 (__bswapdi2): Likewise.
27184 * include/grub/mips/libgcc.h: Removed.
27185 * include/grub/sparc64/libgcc.h: Likewise.
27186
b7f3ac29
VS
271872010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27188
27189 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
27190 disk_info_msg (conflicts with gettexting into languages with cases).
27191
2c7031b1
GS
271922010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
27193
27194 Add grub-probe support for NetBSD.
27195
27196 * util/getroot.c (find_root_device): Convert block device to
27197 character device on NetBSD.
27198 * util/probe.c (probe): Require character device on NetBSD.
27199 * util/hostdisk.c: NetBSD specific headers.
27200 (configure_device_driver): new function to tune device driver
27201 parameters (currently only for NetBSD floppy driver).
27202 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27203 via disklabel ioctl).
27204 (open_device): call configure_device_driver on NetBSD.
27205 (convert_system_partition_to_system_disk): NetBSD specific code.
27206 (device_is_wholedisk): Likewise.
27207 (grub_util_biosdisk_get_grub_dev): Likewise.
27208 (make_device_name): Fixed a typo in bsd_part_str.
27209 * configure.ac: check for opendisk() and getrawpartition() on
27210 NetBSD and set LIBUTIL.
27211 * Makefile.in: add LIBUTIL to LIBS.
27212
f516290c
BC
272132010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27214
27215 Documentation fix.
27216
27217 * util/grub-script-check.c: Better help message.
27218
d8dcc0df
BC
272192010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27220
27221 Fix FreeBSD build.
27222
27223 * configure.ac: Flex version check.
27224 * conf/common.rmk: Add -Wno-error to sh.mod.
27225 * script/yylex.l: Remove all #pragma.
27226
6734334a
VS
272272010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27228
27229 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27230 prototype.
27231 Reported by: Seth Goldberg.
27232
daea6abd
VS
272332010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27234
27235 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27236 Rename "module" to "module2".
27237 Reported by: Seth Goldberg.
27238
f2fd9d2b
VS
272392010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27240
27241 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27242 EXPORT_FUNC.
27243 Reported by: Seth Goldberg.
27244
be124579
VS
272452010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27246
27247 * lib/posix_wrap/locale.h: Add missing file.
27248 Reported by: Seth Goldberg.
27249
ef5da797
VS
272502010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27251
27252 grub-emu module load support.
27253
27254 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27255 NO_DYNAMIC_MODULES switched to this.
27256 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27257 (CFLAGS): Likewise.
27258 * conf/any-emu.rmk: Generate symlist.
27259 (kernel_img_HEADERS): Add util/datetime.h.
27260 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27261 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27262 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27263 kern/$(target_cpu)/cache.S.
27264 * configure.ac (grub-emu-modules): New option.
27265 * genmk.rb: Handle multiple source lists.
27266 * include/grub/sdl.h: New file.
27267 * include/grub/libusb.h: Likewise.
27268 * util/grub-emu.c (main): Hanle (host) root.
27269 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27270 GRUB_ERR_UNKNOWN_DEVICE.
27271 * util/misc.c: Move mm functions to ...
27272 * util/mm.c: ... here. All users updated.
27273
47822096
VS
272742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27275
27276 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27277 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27278 missing files.
27279 (maintainer-clean): Remove libgcrypt-grub.
27280
5d7e7445
VS
272812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27282
27283 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27284
25f4e252
EC
272852010-04-09 EFI Coder <eficoder@hotmail.com>
27286
27287 * normal/menu_text.c (print_message): Clean up the message and show
27288 the Fn information when on EFI
27289 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27290
027de555
VS
272912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27292
27293 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27294 All users updated.
27295 * normal/crypto.c (read_crypto_list): Likewise.
27296 * normal/dyncmd.c (read_command_list): Likewise.
27297 * normal/term.c (read_terminal_list): Likewise.
27298 * normal/main.c (read_lists): Use explicit prefix.
27299 (read_lists_hook): Use read_lists.
27300 (grub_normal_execute): Likewise.
27301
47779711
VS
273022010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27303
27304 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27305 Reported by: Thomas Schmitt.
27306 Add -no-emul-boot to grub-mkisofs parameters.
27307
1118c32e
VS
273082010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27309
27310 * font/font.c: Indented.
27311
7d652447
BC
273122010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27313
27314 Elif support to GRUB script (by Deepak Vankadaru).
27315
27316 * tests/grub_script_if.in: New testcase.
27317 * conf/tests.rmk: Rule for new testcase.
27318 * script/parser.y: Grammar rules for elif.
27319
34bb22df
BC
273202010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27321
27322 While and until loops support to GRUB script.
27323
27324 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27325 (grub_script_create_cmdwhile): New function prototype.
27326 (grub_script_execute_cmdwhile): New function prototype.
27327 * script/execute.c (grub_script_execute_cmdwhile): New function.
27328 * script/parser.y (command): New commands.
27329 (whilecmd): New grammar rule.
27330 (untilcmd): New grammar rule.
27331 * script/script.c (grub_script_create_cmdwhile): New function.
27332 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27333 function.
27334
27335 * tests/grub_script_while1.in: New testcase.
27336 * conf/tests.rmk: Rule for new testcase.
27337
e215d8e0
VS
273382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27339
27340 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27341 as *.jpg.
27342
d7c43ba1
MV
273432010-04-09 Mario Vazquez <mariovazq@gmail.com>
27344
27345 GRUB_BACKGROUND support.
27346
27347 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27348 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27349
d64795c0
VS
273502010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27351
27352 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27353 Idea by: Mario Vazquez
d64795c0
VS
27354
27355 * util/grub.d/00_header.in: Load pf2 and image modules.
27356
f267f83a
VS
273572010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27358
27359 grub-mkconfig multiple terminal support.
27360
27361 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27362 * util/grub.d/00_header.in: Likewise.
27363
b7841ceb
VS
273642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27365
27366 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27367 we use cd $(srcdir).
27368
df60998c
CW
273692010-04-08 Colin Watson <cjwatson@ubuntu.com>
27370
27371 * util/grub.d/10_linux.in: Only use the first word of
27372 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27373 spaces in GRUB_DISTRIBUTOR.
27374 * util/grub.d/10_kfreebsd.in: Likewise.
27375 * util/grub.d/10_hurd.in: Likewise.
27376
fa09c82e
BC
273772010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27378
14e18ae3 27379 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
27380
27381 * tests/util/grub-shell.in: Remove -serial stdio option.
27382
daf892b3
BC
273832010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27384
27385 POSIX header file wrappers.
27386
27387 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27388 equivalents.
27389 * lib/posix_wrap/ctype.h: Likewise.
27390 * lib/posix_wrap/errno.h: Likewise.
27391 * lib/posix_wrap/langinfo.h: Likewise.
27392 * lib/posix_wrap/limits.h: Likewise.
27393 * lib/posix_wrap/localcharset.h: Likewise.
27394 * lib/posix_wrap/stdint.h: Likewise.
27395 * lib/posix_wrap/stdio.h: Likewise.
27396 * lib/posix_wrap/stdlib.h: Likewise.
27397 * lib/posix_wrap/string.h: Likewise.
27398 * lib/posix_wrap/sys/types.h: Likewise.
27399 * lib/posix_wrap/unistd.h: Likewise.
27400 * lib/posix_wrap/wchar.h: Likewise.
27401 * lib/posix_wrap/wctype.h: Likewise.
27402 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27403 (grub_script.yy.h): Likewise.
27404 * script/yylex.l: Remove POSIX emulation #defines.
27405 * Makefile.in (POSIX_CFLAGS): New variable.
27406 (GNULIB_UTIL_CFLAGS): Likewise.
27407
27408 Regexp support.
27409
27410 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27411 (regexp_mod_SOURCES): New variable.
27412 (regexp_mod_CFLAGS): Likewise.
27413 (regexp_mod_LDFLAGS): Likewise.
27414 * commands/regexp.c: New file.
27415 * gnulib/regcomp.c: New file. Imported from gnulib.
27416 * gnulib/regex.c: Likewise.
27417 * gnulib/regex_internal.c: Likewise.
27418 * gnulib/regex_internal.h: Likewise.
27419 * gnulib/regexec.c: Likewise.
27420 * gnulib/regex.h: Likewise.
27421
974ac4f7
VS
274222010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27423
27424 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27425 unsupported video mode types.
27426
2622c3ff
VS
274272010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27428
27429 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27430
064cb524
VS
274312010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27432
27433 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27434 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27435
a8c3b552
VS
274362010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27437
27438 Remove unused grub_vga_get_font.
27439
27440 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27441 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27442
187bbe3d
GS
274432010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27444
27445 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27446 * include/grub/misc.h: Likewise.
27447
b9396631
GS
274482010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27449
27450 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27451 for which failure is fatal.
27452
50479feb
GS
274532010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27454
27455 * util/grub-install.in: Use mkdir -p to create grub directory.
27456 * util/i386/efi/grub-install.in: Likewise.
27457 * util/ieee1275/grub-install.in: Likewise.
27458
b1654fdf
GS
274592010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27460
27461 * Makefile.in (LEX): new variable.
27462
bd5a6415
GS
274632010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27464
27465 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27466 `=' and added double quotes on operands of this equality test.
27467
3db3a82b
VS
274682010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27469
27470 * Makefile.in (uninstall): Remove a leftover debug echo.
27471 Reported by: Grégoire Sutre
27472
38023412
VS
274732010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27474
27475 MIPS multiboot2 support.
27476
27477 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27478 (multiboot2_mod_SOURCES): New variable.
27479 (multiboot2_mod_CFLAGS): Likewise.
27480 (multiboot2_mod_LDFLAGS): Likewise.
27481 (multiboot2_mod_ASFLAGS): Likewise.
27482 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27483 definition.
27484 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27485 (MULTIBOOT_MBI_REGISTER): Likewise.
27486 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27487 (MULTIBOOT_ELF32_MACHINE): Likewise.
27488 (MULTIBOOT_ELF64_MACHINE): Likewise.
27489 * include/grub/mips/multiboot.h: New file.
27490 * include/grub/video.h (grub_video_driver_id): New type
27491 GRUB_VIDEO_DRIVER_SM712.
27492 (grub_video_get_info_and_fini): Export.
27493 (grub_video_get_palette): Likewise.
27494 (grub_video_get_driver_id): Likewise.
27495 * include/multiboot2.h: Resynced with spec.
27496 * loader/i386/multiboot.c: Moved from here ...
27497 * loader/multiboot.c: ... here. All users updated.
27498 (grub_multiboot_boot): Use platform-specific macros.
27499 * loader/i386/multiboot_elfxx.c: Moved from here ...
27500 * loader/multiboot_elfxx.c: ... here. All users updated.
27501 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27502 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27503 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27504
47674667
VS
275052010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27506
27507 Import gnulib argp module.
27508
27509 * gnulib/argp-ba.c: New file.
27510 * gnulib/argp-eexst.c: Likewise.
27511 * gnulib/argp-fmtstream.c: Likewise.
27512 * gnulib/argp-fmtstream.h: Likewise.
27513 * gnulib/argp-fs-xinl.c: Likewise.
27514 * gnulib/argp-help.c: Likewise.
27515 * gnulib/argp-namefrob.h: Likewise.
27516 * gnulib/argp-parse.c: Likewise.
27517 * gnulib/argp-pin.c: Likewise.
27518 * gnulib/argp-pv.c: Likewise.
27519 * gnulib/argp-pvh.c: Likewise.
27520 * gnulib/argp-version-etc.c: Likewise.
27521 * gnulib/argp-version-etc.h: Likewise.
27522 * gnulib/argp-xinl.c: Likewise.
27523 * gnulib/argp.h: Likewise.
27524
495442ed
VS
275252010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27526
27527 * kern/device.c (grub_device_iterate): Clear errors after failed
27528 opening device.
27529
f9fd65df
VS
275302010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27531
27532 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27533 returned by firmware.
27534
af09641e
VS
275352010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27536
27537 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27538 compilation on coreboot and qemu
27539
016883a5
VS
275402010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27541
27542 * include/multiboot2.h: Resync with spec.
27543
f97e1f7d
VS
275442010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27545
27546 Multiboot2 tag support
27547
27548 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27549 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27550 Remove loader/multiboot_loader.c.
27551 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27552 (grub_multiboot2_real_boot): Likewise.
27553 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27554 (grub_get_multiboot_mmap_count): New proto.
27555 (grub_fill_multiboot_mmap): Likewise.
27556 (grub_multiboot_set_video_mode): Likewise.
27557 (grub_multiboot_set_console): Likewise.
27558 (grub_multiboot_load): Likewise.
27559 (grub_multiboot_load_elf): Likewise.
27560 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27561 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27562 * include/multiboot.h: Resynced with specification.
27563 * include/multiboot2.h: Resynced with specification.
27564 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27565 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27566 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27567 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27568 users updated.
27569 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27570 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27571 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27572 Removed.
27573 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27574 Moved from here...
27575 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27576 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27577 Moved from here...
27578 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27579 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27580 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27581 All users updated.
27582 * loader/i386/multiboot_mbi2.c: New file.
27583
3506b90b
VS
275842010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27585
27586 Resync with gnulib.
27587
27588 * Makefile.in (GNULIB_CFLAGS): New variable.
27589 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27590 (grub_script_check_CFLAGS): New variable.
27591 * gnulib/alloca.h: Resync with gnulib.
27592 * gnulib/error.c: Likewise.
27593 * gnulib/error.h: Likewise.
27594 * gnulib/fnmatch.c: Likewise.
27595 * gnulib/fnmatch_loop.c: Likewise.
27596 * gnulib/getdelim.c: Likewise.
27597 * gnulib/getline.c: Likewise.
27598 * gnulib/getopt.c: Likewise.
27599 * gnulib/getopt1.c: Likewise.
27600 * gnulib/getopt_int.h: Likewise.
27601 * gnulib/gettext.h: Likewise.
27602 * gnulib/progname.c: Likewise.
27603 * gnulib/progname.h: Likewise.
27604
394a3120
GS
276052010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27606
27607 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27608 which is the case with --disabled-nls.
27609
27610 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27611 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27612 * util/misc.c: Likewise.
27613 * util/mkisofs/mkisofs.c: Likewise.
27614 * util/mkisofs/mkisofs.h: Likewise.
27615
969d1c78
VS
276162010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27617
27618 Simplify Apple CC support.
27619
27620 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27621 Add 0 byte at the end not to have a symbol with empty target.
27622 * mmap/i386/pc/mmap_helper.S: Likewise.
27623 * genmk.rb: Ignore errors 2030 and 2050.
27624 * kern/i386/pc/startup.S: Use LOCAL when possible.
27625
8d2977bb
BC
276262010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27627
27628 Testcase and the fix for final semicolon on cmdline.
27629
27630 * tests/grub_script_final_semicolon.in: New testcase.
27631 * conf/tests.rmk: Rules for the new testcase.
27632 * script/parser.y: Grammar fix.
27633
a7bd6915
BC
276342010-03-26 BVK Chaitanya <bvk@localhost>
27635
27636 Blank lines testcase for GRUB script.
27637
27638 * tests/grub_script_blanklines.in: New testcase.
27639 * conf/tests.rmk: Rules for the new testcase.
27640
e4ff6628
VS
276412010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27642
27643 Don't use __FILE__.
27644
27645 * genmk.rb: Add -DGRUB_FILE to all C targets.
27646 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27647 * include/grub/list.h: Likewise.
27648 * include/grub/misc.h: Likewise.
27649 * include/grub/mm.h: Likewise.
27650 * include/grub/test.h: Likewise.
27651 * kern/mm.c: Likewise.
27652 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27653
6a5cf6b6
VS
276542010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27655
27656 Sunpc partitions support.
27657
27658 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27659 (grub_fstest_SOURCES): Likewise.
27660 (pkglib_MODULES): Add part_sunpc.mod.
27661 (part_sunpc_mod_SOURCES): New variable.
27662 (part_sunpc_mod_CFLAGS): Likewise.
27663 (part_sunpc_mod_LDFLAGS): Likewise.
27664 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27665 * partmap/sunpc.c: New file.
27666
746d9045
BC
276672010-03-26 BVK Chaitanya <bvk@localhost>
27668
27669 For loop support to GRUB script.
27670
27671 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27672 (grub_script_create_cmdfor): New function prototype.
27673 (grub_script_execute_cmdfor): New function prototype.
27674 * script/execute.c (grub_script_execute_cmdfor): New function.
27675 * script/parser.y (command): New for command.
27676 (forcmd): New grammar rule.
27677 * script/script.c (grub_script_create_cmdfor): New function.
27678 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27679 function.
27680 * tests/grub_script_for1.in: New testcase.
27681 * conf/tests.rmk: Rules for new testcase.
27682
18486b18
VS
276832010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27684
27685 Nested partitions
27686
27687 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27688 'partition' is NULL, grub_partition_get_start already does that.
27689 * commands/loadenv.c (check_blocklists): Likewise.
27690 (write_blocklists): Likewise.
27691 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27692 (grub_fstest_SOURCES): Likewise.
27693 (pkglib_MODULES): Add part_bsd.mod.
27694 (part_bsd_mod_SOURCES): New variable.
27695 (part_bsd_mod_CFLAGS): Likewise.
27696 (part_bsd_mod_LDFLAGS): Likewise.
27697 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27698 (grub_emu_SOURCES): Likewise.
27699 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27700 * include/grub/bsdlabel.h: New file.
27701 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27702 'get_name'.
27703 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27704 (grub_partition_map_list): New variable.
27705 (grub_partition_map_register): Inline.
27706 (grub_partition_map_unregister): Likewise.
27707 (FOR_PARTITION_MAPS): New macro.
27708 (grub_partition_map_iterate): Removed.
27709 (grub_partition_get_start): Handle nested partitions.
27710 * include/grub/msdos_partition.h: Remove bsd-related entries.
27711 (grub_pc_partition): Remove.
27712 * kern/disk.c (grub_disk_close): Free partition data.
27713 (grub_disk_adjust_range): Handle nested partitions.
27714 * kern/partition.c (grub_partition_map_probe): New function.
27715 (grub_partition_probe): Parse name to number, handle subpartitions.
27716 (get_partmap): New function.
27717 (grub_partition_iterate): Handle subpartitions.
27718 (grub_partition_get_name): Likewise.
27719 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27720 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27721 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27722 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27723 Set 'number'.
27724 (acorn_partition_map_probe): Remove.
27725 (acorn_partition_map_get_name): Likewise.
27726 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27727 Set 'number'.
27728 Set 'index' to 0 since there can be only one partition entry per sector.
27729 (amiga_partition_map_probe): Remove.
27730 (amiga_partition_map_get_name): Likewise.
27731 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27732 Set 'number'.
27733 Set 'offset' and 'index' to real positions of partitions.
27734 (apple_partition_map_probe): Remove.
27735 (apple_partition_map_get_name): Likewise.
27736 * partmap/bsdlabel.c: New file.
27737 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27738 Set 'number'.
27739 Allocate 'data' so it can be correctly freed.
27740 Set 'index' to offset inside sector.
27741 (gpt_partition_map_probe): Remove.
27742 (gpt_partition_map_get_name): Likewise.
27743 * partmap/msdos.c (grub_partition_parse): Remove.
27744 (pc_partition_map_iterate): Don't force raw access.
27745 Set 'number'.
27746 Make 'ext_offset' a local variable.
27747 (pc_partition_map_probe): Remove.
27748 (pc_partition_map_get_name): Remove.
27749 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27750 Set 'number'.
27751 (sun_partition_map_probe): Remove.
27752 (sun_partition_map_get_name): Likewise.
27753 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27754 (grub_pcpart_type): Likewise.
27755 * util/hostdisk.c (open_device): Handle new numbering scheme.
27756 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27757 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27758 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27759 * util/grub-install.in: Insert all subpartition modules.
27760 * util/ieee1275/grub-install.in: Likewise.
27761
a3940f88
AG
277622010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27763
27764 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27765 grammar.
27766
21b99926 277672010-03-24 Colin Watson <cjwatson@ubuntu.com>
27768
27769 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27770
bed1d352
CW
277712010-03-21 Colin Watson <cjwatson@ubuntu.com>
27772
27773 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27774 match where 'make install' puts them.
27775 * util/i386/efi/grub-install.in: Likewise.
27776
c9f58427
CW
277772010-03-19 Colin Watson <cjwatson@ubuntu.com>
27778
27779 * .bzrignore: Add gentrigtables, grub-script-check,
27780 grub_script_check_init.c, grub_script_check_init.h, and
27781 trigtables.c.
27782
f84afb27
VS
277832010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27784
27785 * kern/parser.c: Indented.
27786
ed0e3d30
VS
277872010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27788
27789 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27790
0ea81d98
VS
277912010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27792
27793 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27794 alpha_mask_size == 0 case.
27795
0cdc2a09
BC
277962010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27797
27798 GRUB shell lexer and parser improvements.
27799
27800 * conf/any-emu.rmk: Build rule updates.
27801 * conf/common.rmk: Likewise.
27802 * conf/i386-coreboot.rmk: Likewise.
27803 * conf/i386-efi.rmk: Likewise.
27804 * conf/i386-ieee1275.rmk: Likewise.
27805 * conf/i386-pc.rmk: Likewise.
27806 * conf/powerpc-ieee1275.rmk: Likewise.
27807 * conf/x86_64-efi.rmk: Likewise.
27808
27809 * configure.ac: Configure check for flex.
27810
27811 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27812 types.
27813 (grub_lexer_param): Struct member updates.
27814 (grub_parser_param): Likewise.
27815 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27816 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27817 (grub_script_lexer_init): Prototype update.
27818 (grub_script_lexer_record_start): Likewise.
27819 (grub_script_lexer_record_stop): Likewise.
27820 (grub_script_lexer_yywrap): New function prototype.
27821 (grub_script_lexer_fini): Likewise.
27822 (grub_script_execute_argument_to_string): Removed by...
27823 (grub_script_execute_argument_to_argv): ...better version.
27824
27825 * script/execute.c (ROUND_UPTO): New macro.
27826 (grub_script_execute_cmdline): Out of memory fixes.
27827 (grub_script_execute_menuentry): Likewise.
27828 (grub_script_execute_argument_to_string): Removed. Update all
27829 users by...
27830 (grub_script_execute_argument_to_argv): ...better version.
27831 * script/function.c (grub_script_function_create): Use
27832 grub_script_execute_argument_to_argv instead of
27833 grub_script_execute_argument_to_string.
27834
27835 * script/lexer.c (check_varstate): Removed.
27836 (check_textstate): Removed.
27837 (grub_script_lexer_record_start): Likewise.
27838 (grub_script_lexer_record_stop): Likewise.
27839 (recordchar): Replaced with...
27840 (grub_script_lexer_record): ...new function.
27841 (nextchar): Removed.
27842 (grub_script_lexer_init): Rewritten.
27843 (grub_script_yylex): Rewritten.
27844 (append_newline): New function.
27845 (grub_script_lexer_yywrap): New function.
27846 (grub_script_lexer_fini): New function.
27847 (grub_script_yyerror): Sets error flag.
27848
27849 * script/yylex.l: New file.
27850 (grub_lexer_yyfree): Wrapper for flex yyffre.
27851 (grub_lexer_yyalloc): Likewise.
27852 (grub_lexer_yyrealloc): Likewise.
27853 * script/parser.y: Refactored.
27854
27855 * script/script.c (grub_script_arg_add): Out of memory fixes.
27856 (grub_script_add_arglist): Likewise.
27857 (grub_script_create_cmdline): Likewise.
27858 (grub_script_create_cmdmenu): Likewise.
27859 (grub_script_add_cmd): Likewise.
27860 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27861 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27862 unnecessary code.
27863
27864 * tests/grub_script_echo1.in: New testcase.
27865 * tests/grub_script_vars1.in: New testcase.
27866 * tests/grub_script_echo_keywords.in: New testcase.
27867
1d63a066
VS
278682010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27869
27870 Remove some redundancy in build system.
27871
27872 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27873 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27874 (TARGET_LDFLAGS): Add -nostdlib.
27875 (TARGET_IMG_LDFLAGS): Likewise.
27876 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27877 anything since mmap isn't available.
27878 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27879 Add util/time.c.
27880 (pkglib_MODULES): Remove reboot.mod.
27881 (reboot_mod_SOURCES): Removed.
27882 (reboot_mod_CFLAGS): Likewise.
27883 (reboot_mod_LDFLAGS): Likewise.
27884 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27885 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27886 (DEFSYMFILES): Add kernel_syms.lst.
27887 (kernel_img_HEADERS): Add common headers.
27888 (symlist.c): New target.
27889 (kernel_syms.lst): Likewise.
27890 (pkglib_MODULES): Add memdisk.mod.
27891 (memdisk_mod_SOURCES): New variable.
27892 (memdisk_mod_CFLAGS): Likewise.
27893 (memdisk_mod_LDFLAGS): Likewise.
27894 (pkglib_MODULES): Add reboot.mod.
27895 (reboot_mod_SOURCES): New variable.
27896 (reboot_mod_CFLAGS): Likewise.
27897 (reboot_mod_LDFLAGS): Likewise.
27898 (pkglib_MODULES): Add date.mod.
27899 (date_mod_SOURCES): New variable.
27900 (date_mod_CFLAGS): Likewise.
27901 (date_mod_LDFLAGS): Likewise.
27902 (pkglib_MODULES): Add datehook.mod.
27903 (datehook_mod_SOURCES): New variable.
27904 (datehook_mod_CFLAGS): Likewise.
27905 (datehook_mod_LDFLAGS): Likewise.
27906 (pkglib_MODULES): Add lsmmap.mod.
27907 (lsmmap_mod_SOURCES): New variable.
27908 (lsmmap_mod_CFLAGS): Likewise.
27909 (lsmmap_mod_LDFLAGS): Likewise.
27910 (pkglib_MODULES): Add boot.mod.
27911 (boot_mod_SOURCES): New variable.
27912 (boot_mod_CFLAGS): Likewise.
27913 (boot_mod_LDFLAGS): Likewise.
27914 * conf/i386-coreboot.rmk: Removed redundant parts.
27915 * conf/i386-ieee1275.rmk: Likewise.
27916 * conf/i386-pc.rmk: Likewise.
27917 * conf/mips-yeeloong.rmk: Likewise.
27918 * conf/mips.rmk: Likewise.
27919 * conf/powerpc-ieee1275.rmk: Likewise.
27920 * conf/sparc64-ieee1275.rmk: Likewise.
27921 * conf/x86_64-efi.rmk: Likewise.
27922 * conf/i386-coreboot.rmk: Moved qemu parts ..
27923 * conf/i386-qemu.rmk: ... here
27924 * conf/i386-efi.rmk: Moved common parts to...
27925 * conf/x86-efi.rmk: ... here.
27926 * conf/i386.rmk: Added modules common to all x86 variants.
27927 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27928 * disk/memdisk.c: Remove grub/machine/kernel.h.
27929 * gensymlist.sh.in: Include symbol.h.
27930 * hook/datehook.c: Correct module name.
27931 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27932 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27933 * include/grub/i386/efi/serial.h: New file.
27934 * include/grub/x86_64/efi/serial.h: Likewise.
27935 * util/time.c: Likewise.
27936 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27937
463ac55f
CK
279382010-03-14 Colin King <colin.king@ubuntu.com>
279392010-03-14 Colin Watson <cjwatson@ubuntu.com>
27940
27941 Shrink the pre-partition-table part of boot.img by eight bytes.
27942
27943 * boot/i386/pc/boot.S (ERR): New macro.
27944 (chs_mode): Use ERR.
27945 (geometry_error): Likewise.
27946 (hd_probe_error): Remove. This is only used once, so we wrwite
27947 it inline instead.
27948 (read_error): Instead of printing read_error_string, just set up
27949 %si and fall through to ...
27950 (error_message): ... this new function, also used by ERR.
27951
08e46ede
CW
279522010-03-14 Colin Watson <cjwatson@ubuntu.com>
27953
27954 Speed up consecutive hostdisk operations on the same device.
27955
27956 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27957 (grub_util_biosdisk_open): Initialise disk->data.
27958 (struct linux_partition_cache): New structure.
27959 (linux_find_partition): Cache partition start positions; these are
27960 expensive to compute on every read and write.
27961 (open_device): Cache open file descriptor in disk->data, so that we
27962 don't have to reopen it and flush the buffer cache for consecutive
27963 operations on the same device.
27964 (grub_util_biosdisk_close): New function.
27965 (grub_util_biosdisk_dev): Set `close' member.
27966
27967 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27968 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27969 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27970 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27971 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27972
4a6d2d06
VS
279732010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27974
27975 Compile parts of grub-emu as modules.
27976
27977 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27978 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27979 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27980 (all-local): Add $(GRUB_EMU).
27981 (install-local): Install $(GRUB_EMU).
27982 (uninstall): Uninstall $(GRUB_EMU).
27983 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27984 * kern/dl.c: Likewise.
27985 * commands/sleep.c: Not include machine/time.h.
27986 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27987 (COMMON_CFLAGS): Likewise.
27988 (sbin_UTILITIES): Remove grub-emu.
27989 (grub_emu_SOURCES): Removed.
27990 (kernel_img_RELOCATABLE): New variable.
27991 (pkglib_PROGRAMS): Add kernel.img.
27992 (kernel_img_SOURCES): New variable
27993 (kernel_img_CFLAGS): Likewise.
27994 (kernel_img_LDFLAGS): Likewise.
27995 (TARGET_NO_STRIP): Likewise.
27996 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27997 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27998 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27999 (grub-emu): New target.
28000 (GRUB_EMU): New variable.
28001 * configure.ac: Whitelist -emu as possible x86_64 architecture.
28002 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
28003 * loader/xnu.c: Likewise.
28004 * include/grub/pci.h: Likewise.
28005 * genemuinit.sh: New file.
28006 * genemuinitheader.sh: Likewise.
28007 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
28008 Support TARGET_NO_DYNAMIC_MODULES.
28009 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
28010 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
28011 * disk/loopback.c: Likewise.
28012 * font/font_cmd.c: Likewise.
28013 * partmap/acorn.c: Likewise.
28014 * partmap/amiga.c: Likewise.
28015 * partmap/apple.c: Likewise.
28016 * partmap/gpt.c: Likewise.
28017 * partmap/msdos.c: Likewise.
28018 * partmap/sun.c: Likewise.
28019 * parttool/msdospart.c: Likewise.
28020 * term/gfxterm.c: Likewise.
28021 * video/bitmap.c: Likewise.
28022 * video/readers/jpeg.c: Likewise.
28023 * video/readers/png.c: Likewise.
28024 * video/readers/tga.c: Likewise.
28025 * video/video.c: Likewise.
28026 * util/grub-emu.c (read_command_list): Removed.
28027 (main): Don't call util_init_nls.
28028 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28029 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28030
91fdd2ed
VS
280312010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28032
28033 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28034 date.mod, datehook.mod.
28035 (datetime_mod_SOURCES): New variable.
28036 (datetime_mod_CFLAGS): Likewise.
28037 (datetime_mod_LDFLAGS): Likewise.
28038 (date_mod_SOURCES): Likewise.
28039 (date_mod_CFLAGS): Likewise.
28040 (date_mod_LDFLAGS): Likewise.
28041 (datehook_mod_SOURCES): Likewise.
28042 (datehook_mod_CFLAGS): Likewise.
28043 (datehook_mod_LDFLAGS): Likewise.
28044 * conf/sparc64-ieee1275.rmk: Likewise.
28045 * lib/ieee1275/datetime.c: New file.
28046
873ccae6
VS
280472010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28048
28049 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28050 (ieee1275_fb_mod_SOURCES): New variable.
28051 (ieee1275_fb_mod_CFLAGS): Likewise.
28052 (ieee1275_fb_mod_LDFLAGS): Likewise.
28053 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28054 New proto.
28055 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28056 (HEAP_MAX_ADDR): Likewise.
28057 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28058 type.
28059 Correct stop condition.
28060 (grub_ieee1275_devices_iterate): New function.
28061 * video/ieee1275.c: New file.
28062
601c97c0
VS
280632010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28064
28065 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28066
28067 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28068 as scratch.
28069 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28070 SCRATCH_PAD_DISKBOOT as scratch.
28071 (bootit): Pass Openfirmware pointer in %o4.
28072 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28073 of 0x200000.
28074 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28075 with util/grub-mkrawimage.c.
28076 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28077 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28078 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28079 (grub_aout_load) [GRUB_UTIL]: Likewise.
28080 * include/grub/kernel.h (grub_modules_get_end): New proto.
28081 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28082 (SCRATCH_PAD_BOOT): New definition.
28083 (SCRATCH_PAD_DISKBOOT): Likewise.
28084 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28085 * include/grub/sparc64/ieee1275/ieee1275.h
28086 (grub_ieee1275_original_stack): New variable
28087 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28088 New definition
28089 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28090 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28091 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28092 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28093 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28094 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28095 (grub_platform_image_format_t): New type.
28096 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28097 * kern/main.c (grub_modules_get_end)
28098 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28099 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28100 (codestart): Switch stacks.
28101 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28102 variable.
28103 (grub_heap_init): Use grub_modules_get_end.
28104 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28105 stack.
28106 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28107 (main): Likewise.
28108 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28109
d68b491e
TG
281102010-03-14 Thorsten Glaser <tg@mirbsd.org>
28111
28112 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28113
4e02ed50
MK
281142010-03-08 Matt Kraai <kraai@ftbfs.org>
28115
28116 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28117 bug #559005).
28118
1f15fc1e
VS
281192010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28120
28121 * genmoddep.awk: Output all missing symbols and not only first.
28122
fce5d8ff
VS
281232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28124
28125 * NEWS: Put the date of 1.98 release.
28126
d1e8a02f
VS
281272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28128
28129 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28130 ft2build.h.
28131
696fd607
VS
281322010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28133
28134 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28135 completition in the middle of string.
28136
33e2e6f3
VS
281372010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28138
28139 * util/grub-mkrescue.in: Use mktemp with explicit template.
28140
b1f6d291
VS
281412010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28142
28143 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28144
2ac227c7
VS
281452010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28146
28147 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28148 right pointer.
28149
8f9a632b
VS
281502010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28151
28152 Fix FreeBSD compilation.
28153
28154 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28155 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28156
60b03859
VS
281572010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28158
28159 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
28160
48a5a769
VS
281612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28162
28163 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
28164
3ab4bd77
VS
281652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28166
28167 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28168
d116e0d8
RM
281692010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28170
28171 Support relative image path in theme file.
28172
28173 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28174 (image_set_property): Handle theme_dir and relative path.
28175
c7ef54aa
VS
281762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28177
28178 * configure.ac: Alias amd64 to x86_64.
28179
fcee14ed
VS
281802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28181
28182 * NEWS: mention multiboot on EFI.
28183
d0780363
VS
281842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28185
28186 * kern/main.c (grub_load_modules): Handle errors from init functions of
28187 embeded modules.
28188
41168ea4
VS
281892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28190
28191 * normal/autofs.c (autoload_fs_module): Handle errors.
28192
b54d93ac
VS
281932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28194
28195 Disable linux.mod on qemu-mips since it's not functional and leads
28196 to compilation failure.
28197
28198 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
28199 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
28200 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28201 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28202 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28203 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28204 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28205 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28206 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28207 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28208 Reported by: BVK Chaitanya
28209
fc8345da
JU
282102010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28211
28212 * INSTALL: Add gettext as a dependency and add qemu to a new section
28213 "Prerequisites for make-check".
28214
4760f979
CF
282152010-03-04 Christian Franke <franke@computer.org>
28216
28217 * util/grub-pe2elf.c: Add missing include "progname.h".
28218
f209b5b2
VS
282192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28220
28221 * normal/crypto.c (read_crypto_list): Fix a typo.
28222 Reported by: Seth Goldberg.
28223
b4b7be98
VS
282242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28225
28226 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 28227 Reported by: Seth Goldberg.
b4b7be98 28228
c0ee0385
VS
282292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28230
28231 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28232 ascii.bitmaps.
28233
a8efbf64
VS
282342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28235
28236 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 28237 Reported by: Seth Goldberg.
a8efbf64 28238
08dcd913
VS
282392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28240
28241 * util/i386/efi/grub-install.in: Copy gettext files.
28242
c4d0b332
VS
282432010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28244
28245 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28246
c6f2fe52
VS
282472010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28248
28249 Wait for user entry basing on presence of output rather than on errors.
28250
28251 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28252 (grub_install_newline_hook): Likewise.
28253 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28254 * normal/menu.c (show_menu): Check line_counter to determine presence
28255 of output.
28256 * normal/term.c (grub_normal_line_counter): New variable.
28257 (grub_normal_get_line_counter): New function.
28258 (grub_install_newline_hook): Likewise.
28259
5382b1e4
VS
282602010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28261
28262 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28263
5519963b
VS
282642010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28265
28266 * configure.ac: Update version to 1.98.
28267
72b28631
VS
282682010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28269
28270 * util/grub.d/10_linux.in (linux_entry): Don't default to
28271 gfxpayload=keep if Linux doesn't support video handover.
28272
c140a180
VS
282732010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28274
28275 Don't compile video modules on yeeloong since video subsystem is part
28276 of kernel.
28277
28278 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28279 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28280 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28281 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28282 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28283 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28284 * include/grub/bitmap_scale.h: Likewise.
28285 * include/grub/bufio.h: Likewise.
28286 * include/grub/font.h: Likewise.
28287 * include/grub/gfxterm.h: Likewise.
28288 * include/grub/video.h: Likewise.
28289 * include/grub/vbe.h: Don't include video_fb.h.
28290 * video/i386/pc/vbe.c: Include video_fb.h.
28291 * commands/i386/pc/vbetest.c: Include video.h.
28292
a0ca21c2
CW
282932010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28294
28295 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28296 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28297 default entry if GRUB_SAVEDEFAULT=true. This allows using
28298 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28299 saving a new default on every boot.
28300
4a8a763c
VS
283012010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28302
28303 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28304 * normal/term.c (read_terminal_list): Likewise.
28305 * normal/main.c (grub_normal_init_page): Likewise.
28306 (grub_normal_read_line_real): Likewise.
28307
607ffde2
VS
283082010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28309
28310 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28311 memory leak.
28312 Reported by: Seth Goldberg.
28313
2b8fa975
CW
283142010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28315
28316 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28317 duplicate declaration of `start'.
28318
618307dd
VS
283192010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28320
28321 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28322 filename.
28323 Reported by: Georgy Buranov
28324
7dd05b96 283252010-02-20 Carles Pina i Estany <carles@pina.cat>
28326
28327 * util/grub-mkrawimage.c (usage): Change string formatting to
28328 improve gettext.
28329
d1484a42
MRA
283302010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28331
28332 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28333 backspace keys.
28334
42b1d186
VS
283352010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28336
28337 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28338 Reported by: Michael Suchanek.
28339
283402010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28341
28342 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28343 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28344
d9f31a41
VS
283452010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28346
28347 Remove any reference to non-free fonts.
28348
28349 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28350 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28351 uses non-free components.
28352 * font/font.c (grub_font_get_name): Remove example name.
28353 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28354 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28355 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28356 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28357
2793c71e
GB
283582010-02-16 Georgy Buranov <gburanov@gmail.com>
28359
28360 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28361
402e3779
VS
283622010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28363
28364 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28365 Double divisor.
28366 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28367 features.
28368 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28369
0dd1e0dd
VS
283702010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28371
28372 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28373
6fa7cfce
ST
283742010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28375
28376 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28377 * docs/grub.texi (Command-line and menu entry commands): Document play
28378 command.
28379
37c8483b
ST
283802010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28381
28382 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28383 parse arguments as inline tempo and notes. Move code for playing notes
28384 to...
28385 (play): ... new function.
28386
14da0fb7
ST
283872010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28388
28389 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28390 grub_uint16_t instead of short.
28391 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28392 disk from little endian to cpu endianness.
28393
04459e70
ST
283942010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28395
28396 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28397 GRUB_TICKS_PER_SECOND instead of 120.
28398
a0876943
VS
283992010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28400
28401 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28402 escape sequence after \e.
28403
e29f95dc
VS
284042010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28405
28406 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28407 non-ASCII characters.
28408
d27859b2
VS
284092010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28410
28411 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28412 set root in single quotes to prevent \, from being unescaped.
28413
bc028f2f
VS
284142010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28415
28416 Prevent unknown commands from stopping menuentry execution.
28417
28418 * script/execute.c (grub_script_execute_cmdline): Print error after
28419 unknown command.
28420
095f5f82
VS
284212010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28422
28423 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28424 Reported by: Pavel Pisa.
28425
8c717950
VS
284262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28427
28428 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28429
904935c3
VS
284302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28431
28432 Merge grub_ieee1275_map_physical into grub_map and rename to
28433 grub_ieee1275_map
28434
28435 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28436 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28437 Remove.
28438 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28439 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28440 necessary.
28441 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28442
5b59a4e3
VS
284432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28444
28445 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28446 opening and not after.
28447
69e137e8
VS
284482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28449
28450 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28451 constants.
28452
2c0fcc36
VS
284532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28454
28455 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28456 (alloc_phys): Use ALIGN_UP instead of align_addr.
28457
8c6052ce
VS
284582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28459
28460 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28461
17cec782
VS
284622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28463
28464 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28465
e0128bbd
VS
284662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28467
28468 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28469 verbose dprintf.
28470
ca62070b
VS
284712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28472
28473 Fix over-4GiB seek on sparc64.
28474
28475 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28476 Replace pos_i and pos_lo with pos. All users updated.
28477 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28478 New constant.
28479 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28480 Likewise.
28481 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28482 and pos_lo.
28483
bdca2607
VS
284842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28485
28486 * util/grub-mkrawimage.c (main): Call set_program_name.
28487
da278c4d
VS
284882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28489
28490 Properly align 64-bit targets.
28491
28492 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28493 (generate_image): Use ALIGN_ADDR.
28494
b274d734
VS
284952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28496
28497 Properly create cross-endian images.
28498
28499 * include/grub/types.h (grub_host_to_target_addr): New macro
28500 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28501
82da2062
VS
285022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28503
28504 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28505
7cae4377
VS
285062010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28507
28508 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28509
28510 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28511 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28512 (grub_linux_boot): Divide by 64K when on VESA.
28513
65a533e7
VS
285142010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28515
28516 Support GRUB_GFXPAYLOAD_LINUX.
28517
28518 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28519 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28520
dd01d397
VS
285212010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28522
28523 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28524 to show messages instead of discarding them.
28525 Process errors after executing command and not before. Keep old method
28526 too as precaution.
28527
660960d6
VS
285282010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28529
28530 * configure.ac: Check for ft2build.h.
28531
62509f04
VS
285322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28533
28534 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28535
473df63d
VS
285362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28537
28538 * genkernsyms.sh.in: Use TARGET_CC.
28539
c98d2a13
CW
285402010-02-07 Colin Watson <cjwatson@ubuntu.com>
28541
28542 * NEWS: Update.
28543
6e14234c
VS
285442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28545
28546 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28547 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28548 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28549
b255e9cf
YB
285502010-02-07 Yves Blusseau <blusseau@zetam.org>
28551
6e14234c 28552 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28553
98e6959d
VS
285542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28555
28556 Fix warnings in grub-emu when compiling with maximum warning options.
28557
28558 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28559 (grub_arch_modules_addr): Return 0 and not NULL.
28560 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28561 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28562 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28563 of disk to dsk to avoid shadowing.
74e4934e
VS
28564 (find_free_slot): Fix prototype.
28565 * util/getroot.c (grub_util_is_dmraid): Make static.
28566 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28567 Add missing prototype.
28568 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28569
74e31b5c
VS
285702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28571
28572 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28573 appropriately.
28574
6b2ad14b
VS
285752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28576
28577 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28578 code out.
28579
8f891adc
VS
285802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28581
28582 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28583 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28584 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28585 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28586 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28587 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28588
74b45184
VS
285892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28590
28591 * include/grub/err.h (grub_err_printf): Don't export.
28592
a4bced77
VS
285932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28594
28595 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28596
007d0695
VS
285972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28598
28599 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28600 * kern/misc.c (grub_gettext_dummy): Make static.
28601
b6c0d9c2
VS
286022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28603
28604 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28605 by non-valid ones.
28606 * kern/term.c (grub_putchar): Likewise.
28607
f51a90d0
VS
286082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28609
28610 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28611 buggy hook call and memory leak.
28612
6846cec5
VS
286132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28614
28615 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28616
468d69fe
VS
286172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28618
28619 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28620
51906b8c
VS
286212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28622
28623 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28624 modevar.
28625 Return grub_errno on allocation error.
28626
09706ce5
VS
286272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28628
28629 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28630
911df80c
YB
286312010-02-06 Yves Blusseau <blusseau@zetam.org>
28632
28633 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28634 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28635
3746a6bc
VS
286362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28637
28638 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28639 non-pxe disk.
28640 (grub_pxefs_open): Likewise.
28641
09706ce5
VS
286422010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28643
28644 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28645 * util/grub.d/10_kfreebsd.in: Likewise.
28646 * util/grub.d/10_linux.in: Likewise.
28647
7cc192d9
VS
286482010-02-06 Colin D Bennett <colin@gibibit.com>
28649
28650 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28651 (gfxmenu_mod_SOURCES): New variable.
28652 (gfxmenu_mod_CFLAGS): Likewise.
28653 (gfxmenu_mod_LDFLAGS): Likewise.
28654 * include/grub/term.h (grub_term_set_current_output): Declare
28655 argument as const.
28656 * docs/gfxmenu-theme-example.txt: New file.
28657 * gfxmenu/gfxmenu.c: Likewise.
28658 * gfxmenu/gui_box.c: Likewise.
28659 * gfxmenu/gui_canvas.c: Likewise.
28660 * gfxmenu/gui_circular_progress.c: Likewise.
28661 * gfxmenu/gui_image.c: Likewise.
28662 * gfxmenu/gui_label.c: Likewise.
28663 * gfxmenu/gui_list.c: Likewise.
28664 * gfxmenu/gui_progress_bar.c: Likewise.
28665 * gfxmenu/gui_string_util.c: Likewise.
28666 * gfxmenu/gui_util.c: Likewise.
28667 * gfxmenu/icon_manager.c: Likewise.
28668 * gfxmenu/model.c: Likewise.
28669 * gfxmenu/named_colors.c: Likewise.
28670 * gfxmenu/theme_loader.c: Likewise.
28671 * gfxmenu/view.c: Likewise.
28672 * gfxmenu/widget-box.c: Likewise.
28673 * include/grub/gfxmenu_model.h: Likewise.
28674 * include/grub/gfxmenu_view.h: Likewise.
28675 * include/grub/gfxwidgets.h: Likewise.
28676 * include/grub/gui.h: Likewise.
28677 * include/grub/gui_string_util.h: Likewise.
28678 * include/grub/icon_manager.h: Likewise.
28679
286802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28681
28682 Agglomerate scrolling in gfxterm.
28683
28684 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28685 (grub_virtual_screen_setup): Initialise 'total_screen'.
28686 (write_char): Split to ...
28687 (paint_char): ... this ...
28688 (write_char): ... and this.
28689 (paint_char): Handle delayed scrolling.
28690 (draw_cursor): Likewise.
28691 (scroll_up): Split to ...
28692 (real_scroll): ... this ...
28693 (scroll_up): ... and this.
28694 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28695 characters.
28696 (grub_gfxterm_refresh): Call real_scroll.
28697
286982010-02-06 Colin D Bennett <colin@gibibit.com>
28699
28700 * include/grub/misc.h (grub_iscntrl): New inline function.
28701 (grub_isalnum): Likewise.
28702 (grub_strtol): Likewise.
28703
287042010-02-06 Colin D Bennett <colin@gibibit.com>
28705
28706 * normal/menu_text.c (get_entry_number): Move from here ...
28707 * normal/menu.c (get_entry_number): ... moved here.
28708 * include/grub/menu.h (grub_menu_get_default_entry_index):
28709 New prototype.
28710 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28711 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28712 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28713 (grub_menu_viewer_should_return): Likewise.
28714 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28715 * normal/menu_text.c (run_menu): Enable menu switching.
28716 * normal/menu_viewer.c (should_return): New variable.
28717 (menu_viewer_changed): Likewise.
28718 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28719 (grub_menu_viewer_should_return): New function.
28720 (menuviewer_write_hook): Likewise.
28721 (grub_menu_viewer_init): Likewise.
28722
287232010-02-06 Colin D Bennet <colin@gibibit.com>
287242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28725
28726 Support for gfxterm in a window.
28727
28728 * include/grub/gfxterm.h: New file.
28729 * include/grub/video.h (struct grub_video_rect): New declaration.
28730 (grub_video_rect_t): Likewise.
28731 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28732 (refcount): New variable.
28733 (render_target): Likewise.
28734 (window): Likewise.
28735 (repaint_callback): Likewise.
28736 (grub_virtual_screen_setup): Use 'render_target'.
28737 (init_window): New function.
28738 (grub_gfxterm_init_window): Likewise.
28739 (grub_gfxterm_init): Check reference counter.
28740 Use init_window.
28741 (destroy_window): New function.
28742 (grub_gfxterm_destroy_window): Likewise.
28743 (grub_gfxterm_fini): Check reference counter.
28744 Use destroy_window.
28745 (redraw_screen_rect): Restore viewport.
28746 Use 'render_target' and 'window'.
28747 Call 'repaint_callback'.
28748 (write_char): Use 'render_target'.
28749 (draw_cursor): Likewise.
28750 (scroll_up): Restore viewport.
28751 Use 'render_target' and 'window'.
28752 Call 'repaint_callback'.
28753 (grub_gfxterm_cls): Likewise.
28754 (grub_gfxterm_refresh): Use 'window'.
28755 (grub_gfxterm_set_repaint_callback): New function.
28756 (grub_gfxterm_background_image_cmd): Use 'window'.
28757 (grub_gfxterm_get_term): New function.
28758 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28759
287602010-02-06 Colin D Bennett <colin@gibibit.com>
28761
28762 Bitmap scaling support.
28763
28764 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28765 (bitmap_scale_mod_SOURCES): New variable.
28766 (bitmap_scale_mod_CFLAGS): Likewise.
28767 (bitmap_scale_mod_LDFLAGS): Likewise.
28768 * include/grub/bitmap_scale.h: New file.
28769 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28770 (background_image_cmd_options): New variable.
28771 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28772 (cmd): Rename and change type to ...
28773 (background_image_cmd_handle): ... this. All users updated.
28774 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28775 * video/bitmap_scale.c: New file.
28776
287772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28778
28779 SDL support.
28780
28781 * Makefile.in (LIBSDL): New variable.
28782 (enable_grub_emu_sdl): Likewise.
28783 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28784 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28785 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28786 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28787 * util/sdl.c: New file.
28788
287892010-02-06 Colin D Bennett <colin@gibibit.com>
287902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28791
28792 Double buffering support.
28793
28794 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28795 * include/grub/video.h: Update comment.
28796 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28797 New type.
28798 (grub_video_fb_doublebuf_blit_init): New prototype.
28799 * term/gfxterm.c (scroll_up): Support double buffering.
28800 (grub_gfxterm_refresh): Likewise.
28801 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28802 (grub_video_fb_doublebuf_blit_init): Likewise.
28803 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28804 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28805 'displayed_page', 'render_page' and 'update_screen'.
28806 (grub_video_vbe_fini): Free offscreen buffer.
28807 (doublebuf_pageflipping_commit): New function.
28808 (doublebuf_pageflipping_update_screen): Likewise.
28809 (doublebuf_pageflipping_init): Likewise.
28810 (double_buffering_init): Likewise.
28811 (grub_video_vbe_setup): Enable doublebuffering.
28812 (grub_video_vbe_swap_buffers): Implement.
28813 (grub_video_vbe_set_active_render_target): Handle double buffering.
28814 (grub_video_vbe_get_active_render_target): Likewise.
28815 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28816 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28817 (grub_video_vbe_enable_double_buffering): Likewise.
28818 (grub_video_vbe_swap_buffers): Use update_screen.
28819 (grub_video_set_mode): Use double buffering.
28820
288212010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28822
28823 * maintainance/gentrigtables.py: Remove.
28824 * lib/trig.c: Likewise.
28825
28826 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28827
28828 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28829 `trigtables.c'.
28830 (trigtables.c): New rule.
28831 (gentrigtables): Likewise.
28832 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28833
288342010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28835
28836 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28837 integer constants.
28838
288392010-02-06 Colin D Bennet <colin@gibibit.com>
28840
28841 Trigonometry support.
28842
28843 * include/grub/trig.h: New file.
28844 * lib/trig.c: Likewise.
28845 * maintainance/gentrigtables.py: Likewise.
28846 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28847 (trig_mod_SOURCES): New variable.
28848 (trig_mod_CFLAGS): Likewise.
28849 (trig_mod_LDFLAGS): Likewise.
28850
5562834e
VS
288512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28852
28853 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28854 disk devices.
28855
4f8528fc
VS
288562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28857
28858 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28859 error.
28860
2b4068e9
VS
288612010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28862
28863 * util/hostdisk.c (open_device): Don't use partition device when reading
28864 before the partition.
28865 (grub_util_biosdisk_read): Don't read from partition and before the
28866 partition in single operation.
28867 (grub_util_biosdisk_write): Don't write to partition and before the
28868 partition in single operation.
28869
399f6e4d
TL
288702010-02-03 Torsten Landschoff <torsten@debian.org>
28871
28872 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28873 last sectors.
28874
996649b0
VS
288752010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28876
28877 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28878 CDROM reads.
28879 (grub_biosdisk_write): Refuse to write to CDROM.
28880
3b205d4d
VS
288812010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28882
28883 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28884
61e89d9d
VS
288852010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28886
28887 * font/font.c (find_glyph): Check that bmp_idx is available before
28888 using it.
28889 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28890 with (font == NULL).
28891
bf7fcba2
CS
288922010-01-28 Christian Schmitt <chris@ilovelinux.de>
28893
28894 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28895
f45d2663
BC
288962010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28897
28898 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28899 * util/grub-script-check.c (getline): Fix empty lines case.
28900
ec1444e6
RM
289012010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28902
28903 * Makefile.in (check): Exit with fail status when one of the tests
28904 fails.
28905 * tests/example_functional_test.c (example_test): Fix reversed assert.
28906 * tests/example_unit_test.c (example_test): Likewise.
28907
2e1cb9bb
CW
289082010-01-28 Colin Watson <cjwatson@ubuntu.com>
28909
28910 * util/grub.d/10_linux.in: This script does not use any of the
28911 contents of gettext.sh, only the external command `gettext', so stop
28912 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28913 the same prefix as GRUB.)
28914 * util/grub.d/10_kfreebsd.in: Likewise.
28915
63533ab0
VS
289162010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28917
28918 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28919 of the line.
28920
989e1f93
VS
289212010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28922
28923 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28924 last sectors.
28925
e709ebe2
VS
289262010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28927
28928 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28929 having a 4KiB and not 32KiB buffer size.
28930
27dea7ed
RM
289312010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28932
28933 * util/hostfs.c: Include `<errno.h>'.
28934 (grub_hostfs_read): Handle errors from fseeko() and fread().
28935
67667b9c
RM
289362010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28937
28938 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28939 loop when using read hooks on files whose size isn't sector-aligned.
28940
c294d9d8
RM
289412010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28942
28943 Remove unused parameter.
28944
28945 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28946 (grub_iso9660_open): Remove initialization of `data->length'.
28947
af75a9f1
RM
289482010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28949
28950 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28951 memleak conditions.
28952
254e2ce5 289532010-01-27 Carles Pina i Estany <carles@pina.cat>
28954
28955 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28956 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28957
b510928c 289582010-01-26 Carles Pina i Estany <carles@pina.cat>
28959
28960 * util/bin2h.c (usage): Fix warning (space after backslash).
28961
aa2f9dd2 289622010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28963
28964 * font/font.c: Include `grub/fontformat.h.
28965 Remove font file format constants.
28966 (grub_font_load): Use the new macros.
28967 * include/grub/fontformat.h: New file.
28968 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28969 (write_font_pf2): Use the new macros.
28970
94e7e712
RM
289712010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28972
28973 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28974 does.
28975
3973a59a
RM
289762010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28977
28978 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28979
28980 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28981 (_start): Macroify `0x7F'.
28982
28983 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28984 (make_install_device): Use "(pxe)" as fallback prefix when booting
28985 via PXE.
28986
42e0cba3
GS
289872010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28988
28989 * configure.ac: Reset LIBS after check for libgcc symbols.
28990
847effd8
CW
289912010-01-25 Colin Watson <cjwatson@ubuntu.com>
28992
28993 * util/hostdisk.c (open_device): Add trailing newline to debug
28994 message.
28995
ea4a7e35
GS
289962010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28997
28998 * configure.ac: Check for `limits.h'.
28999 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
29000
67951a53
RM
290012010-01-24 Robert Millan <rmh.grub@aybabtu.com>
29002
29003 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
29004 capitalize error strings.
29005
c273d4ce
ST
290062010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
29007
29008 * util/grub.d/10_hurd.in: Add a recovery mode.
29009
69be5b74
VS
290102010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
29011
29012 * configure.ac: Check for libgcc symbols with -nostdlib.
29013
fc9e5810
BC
290142010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
29015
29016 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
29017
4b358c0a
VS
290182010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29019
29020 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
29021 stack since heap may be unavailable at that point.
29022 (grub_ofconsole_gotoxy): Likewise.
29023
454fcd1c
VS
290242010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29025
29026 * configure.ac: Check for _restgpr_14_x.
29027 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
29028 and _savegpr_* prototypes.
29029
566863ca
RM
290302010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29031
29032 Use generic grub_reboot() for i386-efi.
29033
29034 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29035 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29036 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29037
bf86e59a
VS
290382010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29039
29040 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29041 presence of "prefix" variable as it breaks when normal.mod is
29042 embedded.
29043
d645e0f8
VS
290442010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29045
29046 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29047 stack since heap is unavailable at that point.
29048
f9ab2e25
VS
290492010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29050
29051 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29052 (grub_freebsd_bootinfo): Rewritten.
29053 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29054
01fc7054
VS
290552010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29056
29057 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29058
caab4fd6
RM
290592010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29060
29061 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29062 domain now.
29063
67eb1427
FZ
290642010-01-20 Felix Zielcke <fzielcke@z-51.de>
29065
29066 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29067 around for handling "/" to the correct fix. Fix a memory leak. Use
29068 xstrdup instead of strdup.
29069
a9ed4ff3
VS
290702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29071
29072 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29073
290742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
29075
29076 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29077
29078 * font/font.c (struct grub_font): New member 'bmp_idx'.
29079 (font_init): Initialise 'bmp_idx'.
29080 (load_font_index): Fill 'bmp_idx'.
29081 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29082
48209f4f
VS
290832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29084
29085 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29086 unnecessary calls.
29087
9f0a4bb7
VS
290882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29089
29090 Move context handling out of the kernel.
29091
29092 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29093 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29094 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29095 * conf/i386-efi.rmk: Likewise.
29096 * conf/i386-ieee1275.rmk: Likewise.
29097 * conf/i386-pc.rmk: Likewise.
29098 * conf/powerpc-ieee1275.rmk: Likewise.
29099 * conf/sparc64-ieee1275.rmk: Likewise.
29100 * conf/x86_64-efi.rmk: Likewise.
29101 * include/grub/env.h: Include grub/menu.h.
29102 (grub_env_var_type): Removed.
29103 (grub_env_var): Replaced field 'type' with 'global'.
29104 (grub_env_find): New prototype.
29105 (grub_env_context_open): Remove EXPORT_FUNC.
29106 (grub_env_context_close): Likewise.
29107 (grub_env_export): Likewise.
29108 (grub_env_set_data_slot): Removed.
29109 (grub_env_get_data_slot): Likewise.
29110 (grub_env_unset_data_slot): Likewise.
29111 (grub_env_unset_menu): New prototype.
29112 (grub_env_set_menu): Likewise.
29113 (grub_env_get_menu): Likewise.
29114 * include/grub/env_private.h: New file.
29115 * include/grub/normal.h (grub_context_init): New prototype.
29116 (grub_context_fini): Likewise.
29117 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29118 * normal/context.c (grub_cmd_export): ... to here.
29119 * kern/env.c: Include env_private.h.
29120 (HASHSZ): Moved to include/grub/env_private.h.
29121 (grub_env_context): Likewise.
29122 (grub_env_sorted_var): Likewise.
29123 (current_context): Renamed from this ...
29124 (grub_current_context): ...to this. 'static' removed. All users updated.
29125 (grub_env_find): Removed 'static'.
29126 (grub_env_context_open): Moved to normal/context.c.
29127 (grub_env_context_close): Likewise.
29128 (grub_env_export): Likewise.
29129 (mangle_data_slot_name): Removed.
29130 (grub_env_set_data_slot): Likewise.
29131 (grub_env_get_data_slot): Likewise.
29132 (grub_env_unset_data_slot): Likewise.
29133 * kern/main.c (grub_set_root_dev): Don't export root.
29134 It will be done later.
29135 (grub_main): Don't export prefix.
29136 It will be done later.
29137 * normal/context.c: New file.
29138 * normal/main.c (free_menu): Use grub_env_unset_menu.
29139 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29140 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29141 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29142 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29143
8dd35b8c
VS
291442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29145
29146 setpci support.
29147
29148 * commands/setpci.c: New file.
29149 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29150 (setpci_mod_SOURCES): New variable.
29151 (setpci_mod_CFLAGS): Likewise.
29152 (setpci_mod_LDFLAGS): Likewise.
29153
449193d5
VS
291542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29155
29156 Byte-addressable PCI configuration space.
29157
29158 * bus/pci.c (grub_pci_make_address): Use byte address instead of
29159 dword address.
29160 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
29161 GRUB_PCI_REG_CACHELINE.
29162 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
29163 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
29164 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
29165 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
29166 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
29167 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
29168 grub_pci_make_address.
29169 (lock_rom_area): Likewise.
29170 * commands/lspci.c (grub_lspci_iter): Use macroses
29171 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29172 of grub_pci_make_address.
29173 * disk/ata.c (grub_ata_pciinit): Likewise.
29174 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29175 (GRUB_PCI_REG_VENDOR): Likewise.
29176 (GRUB_PCI_REG_DEVICE): Likewise.
29177 (GRUB_PCI_REG_COMMAND): Likewise.
29178 (GRUB_PCI_REG_STATUS): Likewise.
29179 (GRUB_PCI_REG_REVISION): Likewise.
29180 (GRUB_PCI_REG_CLASS): Likewise.
29181 (GRUB_PCI_REG_CACHELINE): Likewise.
29182 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29183 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29184 (GRUB_PCI_REG_BIST): Likewise.
29185 (GRUB_PCI_REG_ADDRESSES): Likewise.
29186 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29187 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29188 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29189 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29190 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29191 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29192 (GRUB_PCI_REG_CIS_POINTER): Likewise.
29193 (GRUB_PCI_REG_SUBVENDOR): Likewise.
29194 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
29195 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
29196 (GRUB_PCI_REG_CAP_POINTER): Likewise.
29197 (GRUB_PCI_REG_IRQ_LINE): Likewise.
29198 (GRUB_PCI_REG_IRQ_PIN): Likewise.
29199 (GRUB_PCI_REG_MIN_GNT): Likewise.
29200 (GRUB_PCI_REG_MAX_LAT): Likewise.
29201 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29202 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29203 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 29204 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
29205 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29206 space.
29207
96d73208
RM
292082010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29209
29210 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29211 can be reliably determined to be supported.
29212
d4484482
RM
292132010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29214
29215 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29216 that VESA is supported.
29217 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29218 supported.
29219
00308ecf
VS
292202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29221
29222 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29223
f66924a4
RM
292242010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29225
29226 * util/misc.c (make_system_path_relative_to_its_root): Work around
29227 special-casing of "/", as previous incarnation of this routine did.
29228
cbca0ada
VS
292292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29230
29231 Fix any-emu compilation.
29232
29233 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29234 * grub_bin2h_SOURCES: New variable.
29235
34a66d99
RM
292362010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29237
29238 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29239
94fabf58
RM
292402010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29241
29242 * util/grub.d/00_header.in: Fix handling of locale_dir.
29243
02cf98ca
VS
292442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29245
29246 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
29247 as possible unifont location (Gentoo).
29248 Reported by: Alexander Brüning
29249
327dbcd7
VS
292502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29251
29252 Don't try to generate lists for kernel.img.
29253
29254 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29255 (pkglib_MODULES): Remove kernel.img.
29256 (kernel_img_EXPORTS): Removed.
29257 (kernel_img_RELOCATABLE): New variable.
29258 * conf/x86_64-efi.rmk: Likewise.
29259 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29260
ca467290
VS
292612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29262
29263 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29264 grub_xasprintf or grub_snprintf.
29265 (grub_vsprintf): Likewise.
29266 (grub_snprintf): New proto.
29267 (grub_vsnprintf): Likewise.
29268 (grub_xasprintf): Likewise.
29269 (grub_xvasprintf): Likewise.
29270 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29271 (grub_sprintf): Removed.
29272 (grub_vsnprintf): New function.
29273 (grub_snprintf): Likewise.
29274 (grub_xvasprintf): Likewise.
29275 (grub_xasprintf): Likewise.
29276 (grub_vsprintf): Renamed to ...
29277 (grub_vsnprintf_real): ...this. New argument max_len.
29278
aca655fd
BC
292792010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29280
29281 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29282 fix grub-script-check warning.
29283
7ee92c32
VS
292842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29285
29286 * include/grub/font.h (grub_font_load): Fix prototype.
29287
f80927ca
VS
292882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29289
29290 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29291
119c50ea
VS
292922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29293
29294 * include/grub/x86_64/at_keyboard.h: New file.
29295
47d5f3c1
VS
292962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29297
29298 * loader/mips/linux.c: Include missing grub/i18n.h.
29299
55ff5266
RM
293002009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29301
29302 * normal/menu.c (notify_execution_failure): Clarify error message.
29303
c893cc87
RM
293042009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29305
29306 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29307 return value (and revert all return statements). Update users.
29308
917dd370
CW
293092010-01-20 Dan Merillat <debian@dan.merillat.org>
29310
29311 * kern/device.c (grub_device_iterate): Allocate new part_ent
29312 structure based on sizeof (*p) rather than sizeof (p->next), to
29313 account for structure padding.
29314
29315 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29316 disk is NULL, which might happen for LVM physical volumes with no
29317 LVM signature.
29318
d4a4ee57
RM
293192009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29320
29321 * loader/mips/linux.c (grub_cmd_initrd)
29322 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29323
293242009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29325
29326 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29327 (grub_video_video_init, grub_video_bitmap_init)
29328 (grub_font_manager_init, grub_term_gfxterm_init)
29329 (grub_at_keyboard_init): New extern declarations.
29330 (grub_machine_init): Initialize gfxterm and at_keyboard.
29331
29332 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29333
29334 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29335 `gfxterm.mod' into core image.
29336
29337 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29338 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29339 (kernel_img_FORMAT): Copy to ...
29340
29341 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29342 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29343 (kernel_img_FORMAT): ... here, and ...
29344
29345 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29346 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29347 (kernel_img_FORMAT): ... here.
29348
29349 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29350 and input (at_keyboard) terminals in kernel.
29351 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29352
29353 (pkglib_MODULES): Remove `pci.mod'.
29354 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29355 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29356 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29357 (at_keyboard_mod_LDFLAGS): Remove variables.
29358
293592010-01-11 Felix Zielcke <fzielcke@z-51.de>
29360
29361 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29362
293632009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29364
29365 * include/grub/mips/libgcc.h: Only export symbols for functions
29366 that libgcc provides.
29367
293682009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29369
29370 MIPS support.
29371
29372 * bus/bonito.c: New file.
29373 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29374 GRUB_PCI_NUM_DEVICES.
29375 * term/i386/pc/serial.c: Move to ...
29376 * term/serial.c: ... here. All users updated.
29377 * util/i386/pc/grub-mkimage.c: Move to ...
29378 * util/grub-mkrawimage.c: ... here. All users updated.
29379 * term/i386/pc/at_keyboard.c: Move to ...
29380 * term/at_keyboard.c: ... here. All users updated.
29381 * conf/mips-qemu-mips.rmk: New file.
29382 * conf/mips-yeeloong.rmk: Likewise.
29383 * conf/mips.rmk: Likewise.
29384 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29385 mipsel-qemu-mips.
29386 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29387 to port addresses.
29388 (grub_ata_pciinit): Support CS5536.
29389 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29390 * font/font_cmd.c (loadfont_command): Open file before passing it to
29391 grub_font_load.
29392 (pseudo_file_read): New function.
29393 (pseudo_file_close): Likewise.
29394 (pseudo_fs): New structure.
29395 (load_font_module): New function.
29396 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29397 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29398 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29399 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29400 * include/grub/i386/at_keyboard.h: Split into ...
29401 * include/grub/at_keyboard.h: ... this ...
29402 * include/grub/i386/at_keyboard.h: ... and this.
29403 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29404 New prototype.
29405 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29406 updated.
29407 (grub_elf64_size): Likewise.
29408 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29409 filename.
29410 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29411 * include/grub/i386/coreboot/serial.h: Rewritten.
29412 * include/grub/i386/ieee1275/serial.h: Include
29413 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29414 * include/grub/i386/pc/serial.h: Moved from here ...
29415 * include/grub/serial.h: ... to here. All users updated.
29416 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29417 (GRUB_PCI_NUM_BUS): Likewise.
29418 (GRUB_PCI_NUM_DEVICES): Likewise.
29419 (grub_pci_device_map_range): Add missing volatile keyword.
29420 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29421 * include/grub/mips/at_keyboard.h: New file.
29422 * include/grub/mips/cache.h: Likewise.
29423 * include/grub/mips/io.h: Likewise.
29424 * include/grub/mips/kernel.h: Likewise.
29425 * include/grub/mips/libgcc.h: Likewise.
29426 * include/grub/mips/pci.h: Likewise.
29427 * include/grub/mips/qemu-mips/boot.h: Likewise.
29428 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29429 * include/grub/mips/qemu-mips/loader.h: Likewise.
29430 * include/grub/mips/qemu-mips/memory.h: Likewise.
29431 * include/grub/mips/qemu-mips/serial.h: Likewise.
29432 * include/grub/mips/qemu-mips/time.h: Likewise.
29433 * include/grub/mips/relocator.h: Likewise.
29434 * include/grub/mips/time.h: Likewise.
29435 * include/grub/mips/types.h: Likewise.
29436 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29437 * include/grub/mips/yeeloong/boot.h: Likewise.
29438 * include/grub/mips/yeeloong/kernel.h: Likewise.
29439 * include/grub/mips/yeeloong/loader.h: Likewise.
29440 * include/grub/mips/yeeloong/memory.h: Likewise.
29441 * include/grub/mips/yeeloong/pci.h: Likewise.
29442 * include/grub/mips/yeeloong/serial.h: Likewise.
29443 * include/grub/mips/yeeloong/time.h: Likewise.
29444 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29445 * kern/elf.c (grub_elf32_size): New parameter. All users
29446 updated.
29447 (grub_elf64_size): Likewise.
29448 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29449 Load modules before saying "Welcome to GRUB!".
29450 Call grub_refresh after saying "Welcome to GRUB!".
29451 * kern/mips/cache.S: New file.
29452 * kern/mips/cache_flush.S: Likewise.
29453 * kern/mips/dl.c: Likewise.
29454 * kern/mips/init.c: Likewise.
29455 * kern/mips/qemu-mips/init.c: Likewise.
29456 * kern/mips/startup.S: Likewise.
29457 * kern/mips/yeeloong/init.c: Likewise.
29458 * kern/term.c (grub_putcode): Handle NULL terminal.
29459 (grub_getcharwidth): Likewise.
29460 (grub_getkey): Likewise.
29461 (grub_checkkey): Likewise.
29462 (grub_getkeystatus): Likewise.
29463 (grub_getxy): Likewise.
29464 (grub_getwh): Likewise.
29465 (grub_gotoxy): Likewise.
29466 (grub_cls): Likewise.
29467 (grub_setcolorstate): Likewise.
29468 (grub_setcolor): Likewise.
29469 (grub_getcolor): Likewise.
29470 (grub_refresh): Likewise.
29471 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29472 (write_jump): Add hatch nop.
29473 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29474 * lib/mips/setjmp.S: New file.
29475 * loader/mips/linux.c: Likewise.
29476 * term/i386/pc/at_keyboard.c: Move from here ...
29477 * term/at_keyboard.c: ... to here.
29478 * term/i386/pc/serial.c: Moved from here ...
29479 * term/serial.c: ... to here. All users updated.
29480 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29481 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29482 (serial_translate_key_sequence): Avoid deadlock.
29483 (grub_serial_getkey): Handle backspace.
29484 (grub_serial_putchar): Fix newline handling.
29485 * util/i386/pc/grub-mkimage.c: Move from here ...
29486 * util/grub-mkrawimage.c: ... to here. All users updated.
29487 (generate_image): New parameters 'font_path' and 'format'.
29488 Support embedding font.
29489 Use grub_host_to_target* instead of grub_cpu_to_le*.
29490 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29491 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29492 (options): New option "--font".
29493 (usage): Likewise.
29494 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29495 (main): Handle "--font".
29496 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29497 (grub_virtual_screen_setup): Set bg_color_display.
29498 (redraw_screen_rect): Use bg_color_display instead of incorrect
29499 bg_color.
29500 (grub_gfxterm_cls): Likewise.
29501 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29502 Support embedding config file.
29503 (add_segments): Likewise.
29504 (options): New option "--config".
29505 (main): Handle "--config".
29506 * video/sm712.c: New file.
29507
25c2b5b3
RM
295082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29509
29510 Fix parallel builds.
29511
29512 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29513 font.c depend on ascii.h).
29514
295152010-01-12 Carles Pina i Estany <carles@pina.cat>
29516
29517 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29518
295192010-01-11 Carles Pina i Estany <carles@pina.cat>
29520
29521 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29522 By default: disabled.
29523 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29524 parameter.
29525
295262010-01-10 Carles Pina i Estany <carles@pina.cat>
29527
29528 * font/font.c: Update copyright years.
29529 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29530
295312010-01-10 Carles Pina i Estany <carles@pina.cat>
29532
29533 * font/font.c: Include `ascii.h'.
29534 (ASCII_BITMAP_SIZE): New macro.
29535 (ascii_font_glyph): Define.
29536 (ascii_glyph_lookup): New function.
29537 (grub_font_get_string_width): Change comment. If glyph not found, use
29538 ascii_glyph_lookup.
29539 (grub_font_get_glyph_with_fallback): If glyph not available returns
29540 ascii_glyph_lookup.
29541 * util/grub-mkfont.c (file_formats): New enum.
29542 (options): Add `ascii-bitmaps' new option.
29543 (usage): Add `asii-bitmaps' new option.
29544 (write_font_ascii_bitmap): New function.
29545 (write_font): Rename to ...
29546 (write_font_p2): ... this. Remove print_glyphs call.
29547 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29548 used. Call print_glyphs.
29549 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29550
295512010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29552
29553 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29554 (grub_bin2h_SOURCES): New variable.
29555 * util/bin2h.c: New file.
29556
915fc1b8
VS
295572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29558
29559 * include/multiboot.h: Resynced with spec.
29560 * include/multiboot2.h: Likewise.
29561 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29562 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29563
9444b678
RM
295642010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29565
29566 * include/grub/term.h (grub_term_register_input,
29567 grub_term_register_output): Check return of terminal init()
29568 routines, and abort if errors are raised.
29569
29570 * commands/terminal.c: Update copyright year.
29571
cba98e8d
RM
295722010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29573
29574 * commands/terminal.c (grub_cmd_terminal_input)
29575 (grub_cmd_terminal_output): Check return of terminal init()
29576 routines, and abort if errors are raised.
29577
6f7db5d6
VS
295782010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29579
29580 * include/grub/i386/bsd.h: Fix include pathes.
29581
262bff8d
VS
295822010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29583
29584 Add missing *BSD copyright headers.
29585
29586 * include/grub/aout.h: Add BSD licence.
29587 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29588 * include/grub/i386/freebsd_linker.h: ... here,
29589 * include/grub/i386/freebsd_reboot.h: ... here,
29590 * include/grub/i386/netbsd_bootinfo.h: ... here,
29591 * include/grub/i386/netbsd_reboot.h: ... here,
29592 * include/grub/i386/openbsd_bootarg.h: ... here,
29593 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29594 licence to each file.
29595
b2cab848
RM
295962010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29597
29598 * acinclude.m4: Remove `nop' assembly instruction; it's not
29599 implemented by all architectures.
29600
2cb6be4b
RM
296012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29602
29603 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29604 ELILO. This is no longer necessary.
29605
a2eaee15
BC
296062010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29607
29608 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29609
29610 * util/grub-script-check.c: grub-script-check tool.
29611 * conf/common.rmk: Make rules for grub-script-check.
29612
88d17012
RM
296132010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29614
29615 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29616 spotting it back in 2008. Shame on me for forgetting he did.
29617
29618 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29619
8040619d
RM
296202010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29621
29622 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29623 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29624 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29625 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29626 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29627 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29628
a0c2a0f6
RM
296292010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29630
29631 * include/grub/test.h: Add license header.
29632 * tests/example_functional_test.c: Likewise.
29633 * tests/example_unit_test.c: Likewise.
29634 * tests/lib/functional_test.c: Likewise.
29635 * tests/lib/test.c: Likewise.
29636 * tests/lib/unit_test.c: Likewise.
29637
b0b13907
VS
296382010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29639
29640 Use flag-based instead of hook-based video mode selection and "auto"
29641 keyword.
29642
29643 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29644 (grub_video_set_mode): Changed prototype. All users updated.
29645 (grub_video_check_mode_flag): New inline function.
29646 * video/video.c (parse_modespec): New function.
29647 (grub_video_set_mode): Parse flags and keywords.
29648
ea379330 296492010-01-17 Carles Pina i Estany <carles@pina.cat>
29650
29651 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29652 fprintf call.
29653
e15c215e
FZ
296542010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29655
29656 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29657
409ae1c9 296582010-01-16 Carles Pina i Estany <carles@pina.cat>
29659
29660 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29661 string.
29662 * util/grub-emu.c (usage): Likewise.
29663 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29664 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29665 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29666 * util/i386/pc/grub-setup.c (usage): Likewise.
29667
70a14d3d 296682010-01-16 Carles Pina i Estany <carles@pina.cat>
29669
29670 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29671 the message.
29672 (grub_util_info): Likewise.
29673 (grub_util_error): Likewise.
29674 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29675 and/or new lines in `grub_util_warna', `grub_util_info',
29676 `grub_util_error' calls.
29677 * util/getroot.c: Likewise.
29678 * util/grub-editenv.c: Likewise.
29679 * util/grub-emu.c: Likewise.
29680 * util/grub-fstest.c: Likewise.
29681 * util/grub-mkdevicemap.c: Likewise.
29682 * util/grub-mkfont.c: Likewise.
29683 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29684 * util/grub-mkrelpath.c: Likewise.
29685 * util/grub-pe2elf.c: Likewise.
29686 * util/grub-probe.c: Likewise.
29687 * util/hostdisk.c: Likewise.
29688 * util/i386/efi/grub-mkimage.c: Likewise.
29689 * util/i386/pc/grub-mkimage.c: Likewise.
29690 * util/i386/pc/grub-setup.c: Likewise.
29691 * util/ieee1275/ofpath.c: Likewise.
29692 * util/mkisofs/eltorito.c: Likewise.
29693 * util/mkisofs/rock.c: Likewise.
29694 * util/mkisofs/write.c: Likewise.
29695 * util/raid.c: Likewise.
29696 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29697 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29698
a0b766fc
VS
296992010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29700
29701 Enable multiboot on non-pc.
29702
29703 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29704 multiboot.mod and multiboot2.mod to ...
29705 * conf/i386.rmk (pkglib_MODULES): ... here.
29706 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29707 Moved to ...
29708 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29709 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29710 Moved to ...
29711 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29712 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29713 Moved to ...
29714 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29715 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29716 Moved to ...
29717 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29718 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29719 relocator.mod.
29720 (ata_mod_SOURCES): Removed.
29721 (ata_mod_CFLAGS): Likewise.
29722 (ata_mod_LDFLAGS): Likewise.
29723 (relocator_mod_SOURCES): Removed.
29724 (relocator_mod_CFLAGS): Likewise.
29725 (relocator_mod_ASFLAGS): Likewise.
29726 (relocator_mod_LDFLAGS): Likewise.
29727 Include i386.mk.
29728 * include/grub/x86_64/multiboot.h: New file.
29729 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29730 Terminate EFI.
29731
884ade56
VS
297322010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29733
29734 Video multiboot support.
29735
29736 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29737 New prototype.
29738 * include/multiboot.h: Resynced with multiboot specification.
29739 * include/multiboot2.h: Likewise.
29740 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29741 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29742 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29743 (HAS_VGA_TEXT): Likewise.
29744 (accepts_video): New variable.
29745 (grub_multiboot_set_accepts_video): New function.
29746 (grub_multiboot_get_mbi_size): Account for video structures.
29747 (set_video_mode): New function.
29748 (retrieve_video_parameters): Likewise.
29749 (grub_multiboot_make_mbi): Fill video fields.
29750
0d90e8a6
VS
297512010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29752
29753 Video driver ids.
29754
29755 * include/grub/video.h (grub_video_driver_id): New type.
29756 (grub_video_adapter): New member 'id'. All users updated.
29757 (grub_video_get_driver_id): New proto.
29758 * video/video.c (grub_video_get_driver_id): New function.
29759
5c71db1b 297602010-01-14 Carles Pina i Estany <carles@pina.cat>
29761
29762 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29763 `var=val'.
29764
cca15b52 297652010-01-14 Carles Pina i Estany <carles@pina.cat>
29766
29767 * normal/cmdline.c (print_completion): Gettextizze.
29768
c586fbb2 297692001-01-14 Carles Pina i Estany <carles@pina.cat>
29770
29771 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29772
ba2f6848 297732010-01-14 Carles Pina i Estany <carles@pina.cat>
29774
29775 * gettext/gettext.c (grub_gettext_translate): Push and pop
29776 grub_errno.
29777 (grub_gettext_delete_list): Change comment style.
29778 * kern/err.c (grub_error): Gettextizze.
29779 (grub_fatal): Gettextizze.
29780
0a46429a
RM
297812010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29782
29783 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29784 (grub_linux16_real_boot): ... this.
29785 * kern/i386/loader.S: Likewise.
29786 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29787 (grub_linux16_boot): New function. Switches to text mode and calls
29788 grub_linux16_real_boot().
29789
29790 * loader/i386/bsd.c: Include `<grub/video.h>'.
29791 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29792 text mode before calling grub_unix_real_boot().
29793
29794 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29795 (grub_multiboot_boot): Switch to text mode before calling
29796 grub_relocator32_boot().
29797
29798 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29799 (grub_chainloader_boot): Switch to text mode before calling
29800 grub_chainloader_real_boot().
29801
d6f93a66
RM
298022010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
298032010-01-05 Colin Watson <cjwatson@ubuntu.com>
29804
29805 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29806 non-empty value.
29807
298082010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
298092010-01-05 Colin Watson <cjwatson@ubuntu.com>
29810
29811 * util/grub.d/00_header.in: Define a "savedefault" function for use
29812 in menu entries.
29813 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29814
298152010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
298162010-01-05 Colin Watson <cjwatson@ubuntu.com>
29817
29818 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29819 saved_entry if boot_once is unset.
29820 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29821 previous saved entry (i.e. grub-reboot).
29822
298232009-12-08 Colin Watson <cjwatson@ubuntu.com>
29824
29825 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29826
298272009-12-08 Colin Watson <cjwatson@ubuntu.com>
29828
29829 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29830 `var=val'.
29831 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29832
298332009-12-08 Colin Watson <cjwatson@ubuntu.com>
29834
29835 * util/grub-reboot.in: Fix --version output.
29836 * util/grub-set-default.in: Likewise.
29837
298382009-12-08 Colin Watson <cjwatson@ubuntu.com>
29839
29840 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29841 blocks.
29842
298432009-12-08 Colin Watson <cjwatson@ubuntu.com>
29844
29845 * util/grub.d/00_header.in: Quote the value assigned to `default',
29846 in case it contains spaces.
29847
298482009-12-08 Colin Watson <cjwatson@ubuntu.com>
29849
29850 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29851 `save_default_entry' call from the macosx case to the linux case.
29852
298532009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
298542009-10-25 Colin Watson <cjwatson@ubuntu.com>
29855
29856 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29857 in `chosen' environment variable.
29858 * normal/menu_text.c (get_entry_number): Check if the variable
29859 matches the title of a menu entry.
29860 (run_menu): Pass menu to get_entry_number.
29861
29862 * util/grub-reboot.in: New file.
29863 * util/grub-set-default.in: New file.
29864 * conf/common.rmk (grub-reboot): New utility.
29865 (grub-set-default): New utility.
29866
29867 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29868 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29869 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29870 move it to `saved_entry' for the next boot. Load environment on
29871 initialisation.
29872 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29873 * util/grub.d/10_hurd.in: Likewise.
29874 * util/grub.d/10_linux.in (linux_entry): Likewise.
29875 * util/grub.d/10_windows.in: Likewise.
29876 * util/grub.d/30_os-prober.in: Likewise.
29877
29878 * util/grub-install.in: Create environment block.
29879 * util/i386/efi/grub-install.in: Likewise.
29880 * util/ieee1275/grub-install.in: Likewise.
29881 * util/sparc64/ieee1275/grub-install.in: Likewise.
29882
0934d184
BC
298832010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29884
29885 Unit testing framework for GRUB.
29886
29887 * Makefile.in: Test framework build rules for 'make check'.
29888 * conf/tests.rmk: Build rules for individual tests and framework.
29889
29890 * include/grub/test.h: Header file for whitebox tests.
29891 * tests/lib/functional_test.c: Framework support for whitebox
29892 functional tests.
29893 * tests/lib/test.c: Common whitebox testing code for unit and
29894 functional tests.
29895 * tests/lib/unit_test.c: Framework support for whitebox unit
29896 tests.
29897
29898 * tests/util/grub-shell-tester.in: Support utility for grub-script
29899 tests.
29900 * tests/util/grub-shell.in: Utility to execute grub-script
29901 commands in a Qemu instance.
29902
29903 * tests/example_functional_test.c: Example whitebox functional
29904 test.
29905 * tests/example_grub_script_test.in: Example grub-script test.
29906 * tests/example_scripted_test.in: Example scripted test.
29907 * tests/example_unit_test.c: Example whitebox unit test.
29908
9c4ffeeb
VS
299092010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29910
29911 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29912 Add loader/i386/multiboot_mbi.c.
29913 (multiboot2_mod_SOURCES): Likewise.
29914 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29915 (multiboot2_mod_SOURCES): Likewise.
29916 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29917 (grub_multiboot_make_mbi): Likewise.
29918 (grub_multiboot_free_mbi): Likewise.
29919 (grub_multiboot_init_mbi): Likewise.
29920 (grub_multiboot_add_module): Likewise.
29921 (grub_multiboot_set_bootdev): Likewise.
29922 * loader/i386/multiboot.c (mbi): Removed.
29923 (mbi_dest): Likewise.
29924 (alloc_mbi): New variable.
29925 (grub_multiboot_payload_size): Removed. All users updated.
29926 (grub_multiboot_pure_size): New variable.
29927 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29928 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29929 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29930 (grub_fill_multiboot_mmap): Likewise.
29931 (grub_multiboot_get_bootdev): Likewise.
29932 (grub_multiboot): Use multiboot_mbi functions.
29933 * loader/i386/multiboot_mbi.c: New file.
29934
17383dfe
VS
299352010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29936
29937 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29938 it would result in module crash.
29939
c1f28820
VS
299402010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29941
29942 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29943 (grub_ofconsole_getwh): Split to ...
29944 (grub_ofconsole_getwh): ... this.
29945 (grub_ofconsole_dimensions): ...and this.
29946 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29947
58655a16
RM
299482010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29949
29950 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29951
10891398
VS
299522010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29953
29954 * loader/i386/pc/multiboot2.c: Removed stalled file.
29955
0b8a223c
VS
299562010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29957
29958 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29959 Reported by: Grégoire Sutre
29960
92ab12b0
RM
299612010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29962
29963 * util/misc.c (canonicalize_file_name): New function.
29964 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29965 instead of realpath().
29966
a788afb6
CW
299672010-01-11 Colin Watson <cjwatson@ubuntu.com>
29968
29969 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29970 and make it clearer that it's optional. Based on confusion
29971 witnessed on IRC.
29972
ffa8e3d2
VS
299732010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29974
29975 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29976 in premature implicit newline.
29977
e9060a9d
VS
299782010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29979
29980 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29981 which resulted in garbled command line at the end of screen.
29982
f0d0c0b7
RM
299832010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29984
29985 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29986 initialization with similar approach as with other Linux loaders.
29987
0e60bae7
RM
299882010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29989
29990 Fix i386-ieee1275 build.
29991
29992 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29993 and grub_term_height() for video_{width,height} initialization.
29994
299952010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29996
29997 Fix grub-emu build.
29998
29999 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
30000
cdb3f378
RM
300012010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
300022010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30003
30004 Support for multiple terminals.
30005
30006 * Makefile.in (pkglib_DATA): terminal.lst.
30007 (terminal.lst): New target.
30008 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
30009 (GRUB_MOD_INIT(handler)): Likewise.
30010 (GRUB_MOD_FINI(handler)): Likewise.
30011 * commands/help.c (grub_cmd_help): Handle multiple terminals.
30012 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
30013 * commands/sleep.c (do_print): Use grub_term_restore_pos.
30014 (grub_cmd_sleep): Use grub_term_save_pos.
30015 * commands/terminal.c: New file.
30016 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
30017 commands/terminal.c and lib/charset.c.
30018 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
30019 (pkglib_MODULES): Add terminal.mod.
30020 (terminal_mod_SOURCES): New variable.
30021 (terminal_mod_CFLAGS): Likewise.
30022 (terminal_mod_LDFLAGS): Likewise.
30023 * genhandlerlist.sh: Don't handle terminals.
30024 * genmk.rb: Generate terminal-*.lst.
30025 * genterminallist.sh: New file.
30026 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
30027 (grub_is_valid_utf8): Likewise.
30028 (grub_utf8_to_ucs4_alloc): Likewise.
30029 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30030 (grub_menu_register_viewer): Changed argument.
30031 (grub_menu_try_text): New proto.
30032 (grub_gfxmenu_try_hook): New declaration.
30033 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30034 (grub_menu_init_page): Additional argument term.
30035 (grub_normal_init_page): Likewise.
30036 (grub_cmdline_get): Arguments simplified.
30037 (grub_utf8_to_ucs4_alloc): Removed.
30038 (grub_print_ucs4): Additional argument term.
30039 (grub_getstringwidth): Likewise.
30040 (grub_print_message_indented): Likewise.
30041 (grub_menu_text_register_instances): New proto.
30042 (grub_show_menu): Likewise.
30043 (read_terminal_list): Likewise.
30044 (grub_set_more): Likewise.
30045 * include/grub/parser.h: Include handler.h.
30046 * include/grub/reader.h: Rewritten.
30047 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30048 (GRUB_TERM_WIDTH): Changed to function.
30049 (GRUB_TERM_HEIGHT): Likewise.
30050 (GRUB_TERM_BORDER_WIDTH): Likewise.
30051 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30052 (GRUB_TERM_NUM_ENTRIES): Likewise.
30053 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30054 (GRUB_TERM_CURSOR_X): Likewise.
30055 (grub_term_input_class): Likewise.
30056 (grub_term_output_class): Likewise.
30057 (grub_term_outputs_disabled): New declaration.
30058 (grub_term_inputs_disabled): Likewise.
30059 (grub_term_outputs): Likewise.
30060 (grub_term_inputs): Likewise.
30061 (grub_term_register_input): Rewritten.
30062 (grub_term_register_output): Likewise.
30063 (grub_term_unregister_input): Likewise.
30064 (grub_term_unregister_output): Likewise.
30065 (FOR_ACTIVE_TERM_INPUTS): New macro.
30066 (FOR_DISABLED_TERM_INPUTS): Likewise.
30067 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30068 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30069 * include/grub/terminfo.h: Add oterm argument to all protypes.
30070 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30071 Use grub_rescue_run.
30072 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30073 All users updated.
30074 * kern/reader.c: Removed. All users updated.
30075 * kern/rescue_reader.c (grub_rescue_init): Removed.
30076 (grub_rescue_reader): Likewise.
30077 (grub_register_rescue_reader): Likewise.
30078 (grub_rescue_run): New function based on kern/reader.c.
30079 * kern/term.c: Adapted for multiterm.
30080 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30081 (grub_is_valid_utf8): Likewise.
30082 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30083 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30084 right terminal.
30085 * loader/i386/linux.c (grub_linux_boot): Likewise.
30086 * normal/auth.c (grub_username_get): New function.
30087 (grub_auth_check_authentication): Use grub_username_get.
30088 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30089 * normal/color.c: Adapt for multiterm.
30090 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30091 (grub_normal_init_page): Additional argument term.
30092 (read_lists): Call read_terminal_lists.
30093 (grub_enter_normal_mode): Call grub_cmdline_run.
30094 Handle grub_normal_exit_level.
30095 (grub_cmd_normal): Make reentrant.
30096 (grub_cmd_normal_exit): New function.
30097 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30098 * normal/menu.c: Adapt for multiterm.
30099 * normal/menu_entry.c: Likewise.
30100 * normal/menu_text.c: Likewise.
30101 * normal/menu_viewer.c: Removed. All users updated.
30102 * normal/term.c: New file.
30103 * util/console.c: Change order of includes to workaround a bug in
30104 ncurses headers.
30105 * term/terminfo.c: New argument oterm on all exported functions.
30106 All users updated.
30107 * util/grub-editenv.c (grub_term_input_class): Removed.
30108 (grub_term_output_class): Likewise.
30109
1a064917
RM
301102010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30111
30112 Make loader output a bit more user-friendly.
30113
30114 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30115 is being loaded. Likewise for the Hurd.
30116
30117 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30118 that kernel of FreeBSD ${version} is being loaded.
30119
30120 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30121 grub_dprintf().
30122 (grub_cmd_initrd): Likewise.
30123 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30124 that Linux ${version} is being loaded. Likewise for initrd.
30125
5ce0a83a 301262010-01-09 Carles Pina i Estany <carles@pina.cat>
30127
30128 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30129
809bbfeb 301302010-01-08 Carles Pina i Estany <carles@pina.cat>
30131
30132 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30133 (GRUB_MOD_INIT): Gettextizze.
30134 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30135 (GRUB_MOD_INIT): Gettextizze.
30136 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30137 (grub_cmd_linux): Capitalise Linux.
30138 (GRUB_MOD_INIT): Gettextizze.
30139 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30140 (grub_cmd_linux): Capitalise Linux.
30141 (GRUB_MOD_INIT): Gettextizze.
30142 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30143 (grub_cmd_linux): Capitalise Linux.
30144 (GRUB_MOD_INIT): Gettextizze.
30145 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30146 (GRUB_MOD_INIT): Gettextizze.
30147 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30148 (grub_cmd_linux): Capitalise Linux.
30149 (GRUB_MOD_INIT): Gettextizze.
30150 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30151 (grub_cpu_xnu_init): Gettextizze.
30152 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30153 (GRUB_MOD_INIT): Gettextizze.
30154 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30155 (GRUB_MOD_INIT): Gettextizze.
30156 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30157 (grub_linux_load64): Capitalise Linux.
30158 (GRUB_MOD_INIT): Gettextizze.
30159 * loader/xnu.c: Include `<grub/i18n.h>'.
30160 (GRUB_MOD_INIT): Gettextizze.
30161 * po/POTFILES: Add `loader/efi/appleloader.c',
30162 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
30163 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
30164 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
30165 `loader/i386/xnu.c', `loader/multiboot_loader.c',
30166 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
30167 and `loader/xnu.c'.
30168
b394b2ca
RM
301692010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30170
30171 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30172
301732010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
30174
30175 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30176 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30177 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30178
bc8b32b3
RM
301792010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30180
30181 Reset Multiboot 2 support. New loader implements the draft in
30182 /branches/multiboot2 and shares as much code as possible with the
30183 production Multiboot 1 implementation.
30184
30185 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30186 * loader/multiboot2.c: Likewise.
30187 * loader/i386/multiboot_helper.S: Likewise.
30188 * include/multiboot2.h: Replace with latest version from the draft
30189 in /branches/multiboot2.
30190
30191 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
30192 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
30193 and `loader/multiboot2.c'.
30194 (pkglib_MODULES): Add `multiboot2.mod'.
30195 (multiboot2_mod_SOURCES): New variable.
30196 (multiboot2_mod_LDFLAGS): Likewise.
30197 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
30198
30199 * conf/i386-pc.rmk: Likewise.
30200
30201 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30202 (multiboot_mod_SOURCES): Remove variable.
30203 (multiboot_mod_LDFLAGS): Likewise.
30204 (multiboot_mod_CFLAGS): Likewise.
30205
30206 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30207 `<multiboot2.h>' instead of `<multiboot.h>'.
30208 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30209 (MULTIBOOT_HEADER_MAGIC): New macros.
30210
30211 * loader/multiboot_loader.c (module_version_status): Remove variable.
30212 (find_multi_boot2_header): Remove function.
30213 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30214 logic. Always check for the Multiboot version we're compiling for.
30215 (grub_cmd_module_loader): Likewise.
30216 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30217 command instead of `multiboot'.
30218
5d2c52b8
RM
302192010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30220
30221 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30222 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30223 all users.
30224
53108d92
RM
302252010-01-07 Robert Millan <rmh.grub@aybabtu.com>
302262010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30227
30228 Fix breakage introduced with previous commit.
30229
30230 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30231 commands.
30232 * normal/handler.c (read_handler_list): Revert part of previous commit
30233 affecting this file.
30234 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30235 (grub_normal_execute): ... here.
30236
e2e936b2
RM
302372010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30238
30239 Merge prefix-redefinition-fix branch.
30240
30241 * normal/autofs.c (read_fs_list): Make function capable of being
30242 run multiple times, gracefuly replacing the previous data
30243 structures.
30244 * normal/dyncmd.c (read_command_list): Likewise.
30245 * normal/handler.c (read_handler_list): Likewise.
30246 * normal/main.c (read_lists): New function. Calls all the
30247 list reading functions.
30248 (grub_normal_execute): Use read_lists() instead of calling all
30249 list reading functions explicitly. Register read_lists() as a
30250 variable hook attached to ${prefix}.
30251
607a3701
VS
302522010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30253
30254 Merge crypto branch.
30255
30256 * Makefile.in (pkglib_DATA): Add crypto.lst.
30257 (crypto.lst): New target.
30258 * commands/hashsum.c: New file.
30259 * commands/password.c (check_password): Use grub_crypto_memcmp.
30260 * commands/password_pbkdf2.c: New file.
30261 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30262 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30263 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30264 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30265 -I$(srcdir)/lib/libgcrypt_wrap.
30266 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30267 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30268 password_pbkdf2.mod.
30269 (crypto_mod_SOURCES): New variable.
30270 (crypto_mod_CFLAGS): Likewise.
30271 (crypto_mod_LDFLAGS): Likewise.
30272 (hashsum_mod_SOURCES): New variable.
30273 (hashsum_mod_CFLAGS): Likewise.
30274 (hashsum_mod_LDFLAGS): Likewise.
30275 (pbkdf2_mod_SOURCES): New variable.
30276 (pbkdf2_mod_CFLAGS): Likewise.
30277 (pbkdf2_mod_LDFLAGS): Likewise.
30278 (password_pbkdf2_mod_SOURCES): New variable.
30279 (password_pbkdf2_mod_CFLAGS): Likewise.
30280 (password_pbkdf2_mod_LDFLAGS): Likewise.
30281 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30282 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30283 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30284 Include conf/gcry.rmk.
30285 * include/grub/auth.h: Rewritten.
30286 * include/grub/crypto.h: New file.
30287 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30288 * include/grub/normal.h (read_crypto_list): New prototype.
30289 * lib/crypto.c: New file.
30290 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30291 * lib/pbkdf2.c: Likewise.
30292 * normal/auth.c (grub_auth_strcmp): Removed.
30293 (grub_iswordseparator): Likewise.
30294 (grub_auth_strword): Likewise.
30295 (is_authenticated): Use grub_strword.
30296 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30297 and grub_strword. Pass entered password to authentication callback.
30298 * normal/crypto.c: New file.
30299 * normal/main.c: Call read_crypto_list.
30300 * util/grub-mkpasswd-pbkdf2.c: New file.
30301 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30302
42841caa
VS
303032010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30304
30305 Fix descent and ascent calculation.
30306
30307 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30308 (options): New option "asce".
30309 (usage): Likewise.
30310 (add_char): Ignore invalid glyphs for descent calculation.
30311 Calculate ascent from actual content.
30312 (print_glyphs): Use 'asce'.
30313 (write_font): Likewise. Allow ascent override.
30314 (main): Handle "asce" option.
30315
e7730de7 303162010-01-06 Carles Pina i Estany <carles@pina.cat>
30317
30318 * kern/err.c: Include `<grub/i18n.h>'.
30319 (grub_print_error): Add full stop. Gettextizze.
30320 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30321 (grub_bsd_load_elf): Capitalise ELF.
30322 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30323 (grub_cmd_freebsd_module): Likewise.
30324 (grub_cmd_freebsd_module_elf): Likewise.
30325 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30326
40e3a41f 303272010-01-06 Carles Pina i Estany <carles@pina.cat>
30328
30329 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30330 * commands/search_file.c (HELP_MESSAGE): New macro.
30331 * commands/search_label.c (HELP_MESSAGE): Likewise.
30332 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30333 * po/POTFILES: Add `commands/search_file.c',
30334 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30335 `commands/search.c'.
30336
83507e68
RM
303372010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30338
30339 * config.rpath: Update from Gnulib.
30340
465c787b
YB
303412010-01-05 Yves Blusseau <blusseau@zetam.org>
30342
30343 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30344
6581dd3a
YB
303452010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30346
30347 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30348
3bff18c5
CW
303492010-01-05 Colin Watson <cjwatson@ubuntu.com>
30350
30351 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30352 arguments to fread so that we get a return value in bytes, rather
30353 than something that will normally be rounded down to 0.
30354 Adjust error handling to avoid producing garbage when size_t is not
30355 the same size as long long.
30356
a1368118
CW
303572010-01-05 Colin Watson <cjwatson@ubuntu.com>
30358
30359 * util/mkisofs/write.c (padblock_write): Check return value of
30360 fread.
30361
7c302978
RM
303622010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30363
30364 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30365 floppy images now.
30366
30367 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30368
e33ace06
RM
303692010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30370
30371 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30372 instead of manual alignment.
30373 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30374 verbose). Avoid attempts to read past end of the device
30375 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30376 but GRUB_DISK_CACHE_SIZE may exceed that).
30377
4b856776
RM
303782010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30379
30380 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30381 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30382 it to upper layer.
30383
52c2d97f
VS
303842010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30385
30386 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30387 New constant.
30388 (grub_efi_piwg_device_path): New structure
30389 (grub_efi_piwg_device_path_t): New type.
30390 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30391 (devpath_1): Transform to a structure. All users updated.
30392 (devpath_2): Likewise.
30393 (devpath_3): Likewise.
30394 (devpath_4): Likewise.
30395 (devpath_5): Likewise.
30396
98ff6a54
VS
303972010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30398
30399 * loader/efi/appleloader.c: Restored. Update all users.
30400
3a73dcb6
RM
304012010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30402
30403 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30404
30405 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30406 (struct boot_blocklist): Move from here ...
30407 * include/grub/i386/pc/boot.h [ASM_FILE]
30408 (struct grub_boot_blocklist): ... to here. Update all users.
30409 (setup): Only initialize `start' member of `first_block'
30410 structure. Add assert() calls to verify the other members.
30411
30412 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30413 (generate_image): Fix broken blocklist length initialization.
30414 Add assert() call to verify blocklist `segment' field.
30415
ab0eeb0c
RM
304162010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30417
30418 * loader/efi/appleloader.c: Remove. Update all users.
30419
58bc8bd5
RM
304202010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30421
30422 * boot/i386/pc/boot.S: Update copyright year.
30423 * boot/i386/pc/cdboot.S: Likewise.
30424 * boot/i386/pc/diskboot.S: Likewise.
30425 * boot/i386/pc/lnxboot.S: Likewise.
30426 * boot/i386/pc/pxeboot.S: Likewise.
30427 * bus/pci.c: Likewise.
30428 * commands/cmp.c: Likewise.
30429 * commands/help.c: Likewise.
30430 * commands/hexdump.c: Likewise.
30431 * commands/i386/pc/halt.c: Likewise.
30432 * commands/i386/pc/play.c: Likewise.
30433 * commands/i386/pc/vbeinfo.c: Likewise.
30434 * commands/ls.c: Likewise.
30435 * commands/test.c: Likewise.
30436 * disk/dmraid_nvidia.c: Likewise.
30437 * disk/i386/pc/biosdisk.c: Likewise.
30438 * disk/ieee1275/nand.c: Likewise.
30439 * disk/ieee1275/ofdisk.c: Likewise.
30440 * disk/lvm.c: Likewise.
30441 * disk/raid.c: Likewise.
30442 * disk/raid6_recover.c: Likewise.
30443 * disk/scsi.c: Likewise.
30444 * fs/affs.c: Likewise.
30445 * fs/cpio.c: Likewise.
30446 * fs/ext2.c: Likewise.
30447 * fs/hfs.c: Likewise.
30448 * fs/iso9660.c: Likewise.
30449 * fs/ntfs.c: Likewise.
30450 * fs/sfs.c: Likewise.
30451 * fs/udf.c: Likewise.
30452 * fs/ufs.c: Likewise.
30453 * fs/xfs.c: Likewise.
30454 * gencmdlist.sh: Likewise.
30455 * genmk.rb: Likewise.
30456 * include/grub/disk.h: Likewise.
30457 * include/grub/efi/api.h: Likewise.
30458 * include/grub/efi/efi.h: Likewise.
30459 * include/grub/efi/pe32.h: Likewise.
30460 * include/grub/elf.h: Likewise.
30461 * include/grub/fs.h: Likewise.
30462 * include/grub/i386/at_keyboard.h: Likewise.
30463 * include/grub/i386/pc/memory.h: Likewise.
30464 * include/grub/i386/pc/vbe.h: Likewise.
30465 * include/grub/i386/pci.h: Likewise.
30466 * include/grub/i386/tsc.h: Likewise.
30467 * include/grub/ieee1275/ieee1275.h: Likewise.
30468 * include/grub/ntfs.h: Likewise.
30469 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30470 * include/grub/sparc64/libgcc.h: Likewise.
30471 * include/grub/symbol.h: Likewise.
30472 * include/grub/types.h: Likewise.
30473 * include/multiboot2.h: Likewise.
30474 * io/gzio.c: Likewise.
30475 * kern/device.c: Likewise.
30476 * kern/disk.c: Likewise.
30477 * kern/efi/efi.c: Likewise.
30478 * kern/efi/mm.c: Likewise.
30479 * kern/elf.c: Likewise.
30480 * kern/file.c: Likewise.
30481 * kern/i386/dl.c: Likewise.
30482 * kern/i386/pc/init.c: Likewise.
30483 * kern/i386/pc/startup.S: Likewise.
30484 * kern/ieee1275/ieee1275.c: Likewise.
30485 * kern/ieee1275/init.c: Likewise.
30486 * kern/main.c: Likewise.
30487 * kern/mm.c: Likewise.
30488 * kern/powerpc/dl.c: Likewise.
30489 * kern/sparc64/dl.c: Likewise.
30490 * kern/x86_64/dl.c: Likewise.
30491 * lib/hexdump.c: Likewise.
30492 * loader/efi/appleloader.c: Likewise.
30493 * loader/i386/ieee1275/linux.c: Likewise.
30494 * loader/i386/pc/chainloader.c: Likewise.
30495 * loader/i386/pc/linux.c: Likewise.
30496 * loader/i386/pc/multiboot2.c: Likewise.
30497 * loader/ieee1275/multiboot2.c: Likewise.
30498 * loader/multiboot2.c: Likewise.
30499 * loader/multiboot_loader.c: Likewise.
30500 * loader/powerpc/ieee1275/linux.c: Likewise.
30501 * normal/completion.c: Likewise.
30502 * normal/menu_entry.c: Likewise.
30503 * partmap/apple.c: Likewise.
30504 * util/grub.d/10_hurd.in: Likewise.
30505 * util/hostfs.c: Likewise.
30506 * video/readers/png.c: Likewise.
30507
e2d70b5c
CW
305082010-01-03 Colin Watson <cjwatson@ubuntu.com>
30509
30510 * include/grub/misc.h (GNUC_PREREQ): New macro.
30511 (ATTRIBUTE_ERROR): New macro.
30512 * include/grub/list.h (grub_bad_type_cast_real): Use
30513 ATTRIBUTE_ERROR.
30514
a173283f 305152010-01-03 Carles Pina i Estany <carles@pina.cat>
30516
30517 * normal/menu_text.c (print_message): Change messages.
30518
7fa7ff74 305192010-01-03 Carles Pina i Estany <carles@pina.cat>
30520
30521 * normal/menu_entry.c (store_completion): Gettextizze.
30522
136d24f6 305232010-01-03 Carles Pina i Estany <carles@pina.cat>
30524
30525 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30526
f936862e 305272010-01-03 Carles Pina i Estany <carles@pina.cat>
30528
30529 * po/POTFILES: Sort correctly.
30530
29c44ad1 305312010-01-03 Carles Pina i Estany <carles@pina.cat>
30532
30533 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30534 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30535 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30536 full stop.
30537 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30538 summary. Gettextizze the strings.
30539 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30540 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30541 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30542 full stop.
30543 (GRUB_MOD_INIT): Remove command name from summary.
30544 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30545 summary.
30546 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30547 * term/i386/pc/serial.c (options): Add full stops.
30548 (GRUB_MOD_INIT): Remove command name from the summary.
30549
77a79592 305502010-01-03 Carles Pina i Estany <carles@pina.cat>
30551
30552 * commands/acpi.c: Gettextizze help strings and/or options. Include
30553 `grub/i18n.h' if needed.
30554 * commands/blocklist.c: Likewise.
30555 * commands/boot.c: Likewise.
30556 * commands/cat.c: Likewise.
30557 * commands/cmp.c: Likewise.
30558 * commands/configfile.c: Likewise.
30559 * commands/crc.c: Likewise.
30560 * commands/date.c: Likewise.
30561 * commands/echo.c: Likewise.
30562 * commands/efi/fixvideo.c: Likewise.
30563 * commands/efi/loadbios.c: Likewise.
30564 * commands/gptsync.c: Likewise.
30565 * commands/halt.c: Likewise.
30566 * commands/handler.c: Likewise.
30567 * commands/hdparm.c: Likewise.
30568 * commands/hexdump.c: Likewise.
30569 * commands/i386/cpuid.c: Likewise.
30570 * commands/i386/pc/drivemap.c: Likewise.
30571 * commands/i386/pc/halt.c: Likewise.
30572 * commands/i386/pc/pxecmd.c: Likewise.
30573 * commands/i386/pc/vbeinfo.c: Likewise.
30574 * commands/i386/pc/vbetest.c: Likewise.
30575 * commands/ieee1275/suspend.c: Likewise.
30576 * commands/keystatus.c: Likewise.
30577 * commands/loadenv.c: Likewise.
30578 * commands/ls.c: Likewise.
30579 * commands/lsmmap.c: Likewise.
30580 * commands/lspci.c: Likewise.
30581 * commands/memrw.c: Likewise.
30582 * commands/minicmd.c: Likewise.
30583 * commands/parttool.c: Likewise.
30584 * commands/password.c: Likewise.
30585 * commands/probe.c: Likewise.
30586 * commands/read.c: Likewise.
30587 * commands/reboot.c: Likewise.
30588 * commands/search.c: Likewise.
30589 * commands/sleep.c: Likewise.
30590 * commands/test.c: Likewise.
30591 * commands/true.c: Likewise.
30592 * commands/usbtest.c: Likewise.
30593 * commands/videotest.c: Likewise.
30594 * commands/xnu_uuid.c: Likewise.
30595 * disk/loopback.c: Likewise.
30596 * hello/hello.c: Likewise.
30597 * loader/i386/bsd.c: Likewise.
30598 * term/i386/pc/serial.c: Likewise.
30599 * po/POTFILES: Add new files.
30600
da8d5c53
CW
306012010-01-02 Colin Watson <cjwatson@ubuntu.com>
30602
30603 * term/i386/pc/at_keyboard.c
30604 (keyboard_controller_wait_untill_ready): Rename to ...
30605 (keyboard_controller_wait_until_ready): ... this. Update all users.
30606
33937904 306072010-01-01 Carles Pina i Estany <carles@pina.cat>
30608
30609 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30610 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30611 string using string width.
30612 * normal/menu_text.c (grub_print_message_indented): Use
30613 grub_print_spaces and not print_spaces.
30614 (print_timeout): Likewise.
30615 (print_spaces): Move to...
30616 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30617
3fd3b8d8
RM
306182010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30619
30620 Import from Gnulib.
30621
30622 * gnulib/getdelim.c: New file.
30623 * gnulib/getline.c: Likewise.
30624
33433555
VS
306252009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30626
30627 * include/grub/list.h (grub_assert_fail): Removed.
30628 (grub_bad_type_cast_real): New function.
30629 (grub_bad_type_cast): New macro.
30630 (GRUB_AS_LIST): Use grub_bad_type_cast.
30631 (GRUB_AS_LIST_P): Likewise.
e44721e8 30632 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30633 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30634 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30635 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30636 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30637
f5a51306
VS
306382009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30639
30640 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30641 Fix syntax error.
30642
90d1e879
RM
306432009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30644
30645 * configure.ac: Check for TARGET_CFLAGS initialization before we
30646 initialize it ourselves (sigh).
30647 Move a few modifications to TARGET_CFLAGS to be unconditional
30648 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30649 eh_frame)
30650
30651 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30652 * term/i386/pc/at_keyboard.c
30653 (keyboard_controller_wait_untill_ready): Likewise.
30654 (keyboard_controller_led): Rename `led_status' paramter to avoid
30655 name conflict.
30656
465b5a81 306572009-12-28 Carles Pina i Estany <carles@pina.cat>
30658
30659 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30660 quotes.
30661
c181849b
VS
306622009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30663
30664 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30665
9c8739a4
VS
306662009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30667
30668 * normal/menu_text.c (grub_print_message_indented): Prevent
30669 past-the-end-of-array dereference.
30670
3e74249c
VS
306712009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30672
30673 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30674 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30675
64fd18ed 306762009-12-27 Carles Pina i Estany <carles@pina.cat>
30677
30678 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30679 * normal/main.c (grub_normal_read_line): Remove a space from the
30680 default prompt.
30681
714af9b9 306822009-12-27 Carles Pina i Estany <carles@pina.cat>
30683
30684 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30685 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30686 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30687 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30688 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30689 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30690 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30691
82f3e412 306922009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30693
30694 * video/readers/jpeg.c (cmd): Declare.
30695 (grub_cmd_jpegtest): Use `grub_command_t' type.
30696 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30697 Assign to `cmd'.
30698 (GRUB_MOD_FINI): Use `cmd' to unregister.
30699 * video/readers/png.c (cmd): Declare.
30700 (grub_cmd_pngtest): Use `grub_command_t' type.
30701 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30702 Assign to `cmd'.
30703 (GRUB_MOD_FINI): Use `cmd' to unregister.
30704 * video/readers/tga.c (cmd): Declare.
30705 (grub_cmd_tgatest): Use `grub_command_t' type.
30706 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30707 Assign to `cmd'.
30708 (GRUB_MOD_FINI): Use `cmd' to unregister.
30709
82f3e412 307102009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30711
30712 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30713 stops.
30714 * kern/corecmd.c (grub_register_core_commands): Likewise.
30715 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30716 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30717 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30718 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30719 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30720 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30721 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30722 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30723 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30724 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30725 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30726 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30727 * normal/handler.c (insert_handler): Likewise.
30728 * normal/main.c (GRUB_MOD_INIT): Likewise.
30729 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30730
fdcdbb66 307312009-12-26 Carles Pina i Estany <carles@pina.cat>
30732
30733 * commands/help.c (grub_cmd_help): Print the command name before the
30734 summary.
30735 (GRUB_MOD_INIT): Remove command name from the summary.
30736 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30737 string as summary.
fdcdbb66 30738 * lib/arg.c (find_long): Print the command name before the summary.
30739 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30740 summary.
30741 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30742 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30743 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30744 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30745 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30746 * commands/date.c (GRUB_MOD_INIT): Likewise.
30747 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30748 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30749 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30750 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30751 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30752 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30753 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30754 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30755 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30756 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30757 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30758 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30759 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30760 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30761 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30762 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30763 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30764 * commands/password.c (GRUB_MOD_INIT): Likewise.
30765 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30766 * commands/read.c (GRUB_MOD_INIT): Likewise.
30767 * commands/search.c (GRUB_MOD_INIT): Likewise.
30768 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30769 * commands/test.c (GRUB_MOD_INIT): Likewise.
30770 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30771 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30772 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30773 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30774 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30775 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30776 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30777 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30778 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30779 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30780 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30781 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30782 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30783 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30784
9c288be2
VS
307852009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30786
30787 Use search command for preliminar UUID search.
30788
30789 * commands/search.c: Split into ...
30790 * commands/search_wrap.c: ...this
30791 * commands/search.c: ...and this.
30792 * commands/search_file.c: New file.
30793 * commands/search_label.c: New file.
30794 * commands/search_uuid.c: New file.
30795 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30796 Add commands/search_wrap.c, commands/search_file.c,
30797 commands/search_label.c and commands/search_uuid.c.
30798 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30799 (search_mod_SOURCES): Set to commands/search_wrap.c.
30800 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30801 search_label.mod.
30802 (search_fs_file_mod_SOURCES): New variable.
30803 (search_fs_file_mod_CFLAGS): Likewise.
30804 (search_fs_file_mod_LDFLAGS): Likewise.
30805 (search_label_mod_SOURCES): Likewise.
30806 (search_label_mod_CFLAGS): Likewise.
30807 (search_label_mod_LDFLAGS): Likewise.
30808 (search_fs_uuid_mod_SOURCES): New variable.
30809 (search_fs_uuid_mod_CFLAGS): Likewise.
30810 (search_fs_uuid_mod_LDFLAGS): Likewise.
30811 (fs_file_mod_SOURCES): Removed.
30812 (fs_file_mod_CFLAGS): Likewise.
30813 (fs_file_mod_LDFLAGS): Likewise.
30814 (fs_uuid_mod_SOURCES): Removed.
30815 (fs_uuid_mod_CFLAGS): Likewise.
30816 (fs_uuid_mod_LDFLAGS): Likewise.
30817 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30818 Set to util/grub-install.in.
30819 * disk/fs_file.c: Removed.
30820 * disk/fs_uuid.c: Likewise.
30821 * include/grub/search.h: New file.
30822 * util/grub-install.in: Handle sparc64.
30823 Create and use load.cfg.
30824 * util/sparc64/ieee1275/grub-install.in: Removed.
30825
db943399
VS
308262009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30827
30828 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30829 Ignore return status if CF is cleared.
30830 (grub_biosdisk_get_diskinfo_standard): Likewise.
30831
3fdae612
RM
308322009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30833
30834 * term/i386/pc/at_keyboard.c
30835 (keyboard_controller_wait_untill_ready): New function.
30836 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30837 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30838 for keyboard polling, rather than duplicate the same loop. This
30839 saves a few bytes in code size.
30840
7ebaa2b4
VS
308412009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30842
30843 Support for (pxe[:server[:gateway]]) syntax and
30844 use environment variable for PXE.
30845
30846 * commands/i386/pc/pxecmd.c (options): Removed.
30847 (print_ip): Removed.
30848 (grub_cmd_pxe): Removed
30849 (grub_cmd_pxe_unload): New function.
30850 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30851 (grub_pxe_your_ip): Made static.
30852 (grub_pxe_default_server_ip): Likewise.
30853 (grub_pxe_default_gateway_ip): Likewise.
30854 (grub_pxe_blksize): Likewise.
30855 (parse_ip): New function.
30856 (grub_pxe_open): Support server and gateway specification.
30857 (grub_pxe_close): Free disk->data.
30858 (grub_pxefs_open): Use disk->data.
30859 (grub_pxefs_read): Likewise.
30860 (grub_env_write_readonly): New function.
30861 (set_mac_env): Likewise.
30862 (set_env_limn_ro): Likewise.
30863 (parse_dhcp_vendor): Likewise.
30864 (grub_pxe_detect): Set the environment variables.
30865 (set_ip_env): New function.
30866 (write_ip_env): Likewise.
30867 (grub_env_write_pxe_default_server): Likewise.
30868 (grub_env_write_pxe_default_gateway): Likewise.
30869 (grub_env_write_pxe_blocksize): Likewise.
30870 (GRUB_MOD_INIT(pxe)): Set environment variables.
30871 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30872 (grub_pxe_mac_addr_t): ... this. All users updated.
30873 (grub_pxe_your_ip): Removed.
30874 (grub_pxe_server_ip): Likewise.
30875 (grub_pxe_gateway_ip): Likewise.
30876 (grub_pxe_blksize): Likewise.
30877
ec5f98ab 308782009-12-25 Carles Pina i Estany <carles@pina.cat>
30879
30880 * commands/help.c: Include `<grub/i18n.h>'.
30881 (grub_cmd_help): Gettextizze.
30882 (GRUB_MOD_INIT): Likewise.
30883 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30884 (GRUB_MOD_INIT): Gettextizze.
30885 * commands/search.c: Include `<grub/i18n.h>'.
30886 (options): Gettextizze.
30887 (GRUB_MOD_INIT): Gettextizze.
30888 * lib/arg.c: Include `<grub/i18n.h>'.
30889 (help_options): Gettextizze.
30890 (find_long): Likewise.
30891 (grub_arg_show_help): Likewise.
30892 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30893 (read_command_list): Gettextizze.
30894 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 30895 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 30896
22815526
RM
308972009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30898
30899 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30900 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30901 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30902 (led_status): New variable.
30903 (keyboard_controller_led): New function.
30904 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30905 update led status for caps lock, num lock and scroll lock.
30906
0ad46fd7
FZ
309072009-12-25 Felix Zielcke <fzielcke@z-51.de>
30908
30909 * util/hostdisk.c (open_device): Fix a comment.
30910
d0e158c2
RM
309112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30912
30913 * util/grub-install.in (host_os): New variable.
30914 * util/i386/efi/grub-install.in (host_os): Likewise.
30915
401c0ad6
RM
309162009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30917
30918 * util/mkisofs/write.c (padblock_write): Abort when given an
30919 excedingly large embed image, instead of silently truncating it.
30920
d14d3370
RM
309212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30922
30923 * include/multiboot.h: Indentation fixes.
30924
eeed10b4
RM
309252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30926
30927 * include/multiboot.h (struct multiboot_aout_symbol_table)
30928 (struct multiboot_elf_section_header_table): New structure
30929 declarations (stolen from GRUB Legacy).
30930 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30931 table information.
30932
30933 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30934 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30935 type aliases.
30936
681c70ab
RM
309372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30938
30939 * include/multiboot.h: Make comments src2texi-friendly.
30940
e4d47d8d
RM
309412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30942
30943 For consistency with [multiboot]/docs/boot.S.
30944
30945 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30946 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30947 (MULTIBOOT_MAGIC2): Rename from this ...
30948 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30949
a0b70bda
RM
309502009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30951
30952 * include/multiboot.h: Remove `<grub/types.h>'.
30953 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30954 types. Update all users.
30955
61ba42be 309562009-12-25 Carles Pina i Estany <carles@pina.cat>
30957
30958 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30959 `couldn't' and `can not' by `cannot'.
30960 * commands/i386/pc/drivemap.c: Likewise.
30961 * disk/ata.c: Likewise.
30962 * disk/ieee1275/nand.c: Likewise.
30963 * fs/affs.c: Likewise.
30964 * fs/fat.c: Likewise.
30965 * fs/hfs.c: Likewise.
30966 * fs/hfsplus.c: Likewise.
30967 * fs/iso9660.c: Likewise.
30968 * fs/jfs.c: Likewise.
30969 * fs/minix.c: Likewise.
30970 * fs/reiserfs.c: Likewise.
30971 * fs/sfs.c: Likewise.
30972 * fs/udf.c: Likewise.
30973 * fs/ufs.c: Likewise.
30974 * fs/xfs.c: Likewise.
30975 * loader/powerpc/ieee1275/linux.c: Likewise.
30976 * loader/sparc64/ieee1275/linux.c: Likewise.
30977 * util/grub-probe.c: Likewise.
30978 * util/misc.c: Likewise.
30979
7fd0baee 309802009-12-24 Carles Pina i Estany <carles@pina.cat>
30981
30982 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30983 grub_errno calls.
30984 * commands/acpi.c: Likewise.
30985 * commands/blocklist.c: Likewise.
30986 * commands/efi/loadbios.c: Likewise.
30987 * commands/i386/pc/drivemap.c: Likewise.
30988 * commands/loadenv.c: Likewise.
30989 * commands/memrw.c: Likewise.
30990 * commands/password.c: Likewise.
30991 * commands/videotest.c: Likewise.
30992 * disk/ata.c: Likewise.
30993 * disk/ata_pthru.c: Likewise.
30994 * disk/dmraid_nvidia.c: Likewise.
30995 * disk/ieee1275/nand.c: Likewise.
30996 * disk/ieee1275/ofdisk.c: Likewise.
30997 * disk/loopback.c: Likewise.
30998 * disk/lvm.c: Likewise.
30999 * disk/mdraid_linux.c: Likewise.
31000 * disk/raid.c: Likewise.
31001 * disk/raid6_recover.c: Likewise.
31002 * disk/scsi.c: Likewise.
31003 * efiemu/main.c: Likewise.
31004 * efiemu/mm.c: Likewise.
31005 * efiemu/pnvram.c: Likewise.
31006 * efiemu/symbols.c: Likewise.
31007 * font/font.c: Likewise.
31008 * fs/cpio.c: Likewise.
31009 * fs/hfsplus.c: Likewise.
31010 * fs/iso9660.c: Likewise.
31011 * fs/jfs.c: Likewise.
31012 * fs/minix.c: Likewise.
31013 * fs/ntfs.c: Likewise.
31014 * fs/ntfscomp.c: Likewise.
31015 * fs/reiserfs.c: Likewise.
31016 * fs/ufs.c: Likewise.
31017 * fs/xfs.c: Likewise.
31018 * gettext/gettext.c: Likewise.
31019 * include/grub/auth.h: Likewise.
31020 * kern/elf.c: Likewise.
31021 * kern/file.c: Likewise.
31022 * kern/ieee1275/init.c: Likewise.
31023 * kern/ieee1275/mmap.c: Likewise.
31024 * kern/ieee1275/openfw.c: Likewise.
31025 * kern/powerpc/dl.c: Likewise.
31026 * kern/sparc64/dl.c: Likewise.
31027 * lib/arg.c: Likewise.
31028 * loader/i386/bsd.c: Likewise.
31029 * loader/i386/bsdXX.c: Likewise.
31030 * loader/i386/efi/linux.c: Likewise.
31031 * loader/i386/efi/xnu.c: Likewise.
31032 * loader/i386/ieee1275/linux.c: Likewise.
31033 * loader/i386/linux.c: Likewise.
31034 * loader/i386/multiboot.c: Likewise.
31035 * loader/i386/pc/linux.c: Likewise.
31036 * loader/i386/pc/multiboot2.c: Likewise.
31037 * loader/i386/xnu.c: Likewise.
31038 * loader/ieee1275/multiboot2.c: Likewise.
31039 * loader/macho.c: Likewise.
31040 * loader/machoXX.c: Likewise.
31041 * loader/multiboot2.c: Likewise.
31042 * loader/multiboot_loader.c: Likewise.
31043 * loader/powerpc/ieee1275/linux.c: Likewise.
31044 * loader/sparc64/ieee1275/linux.c: Likewise.
31045 * loader/xnu.c: Likewise.
31046 * loader/xnu_resume.c: Likewise.
31047 * mmap/i386/pc/mmap.c: Likewise.
31048 * normal/menu_viewer.c: Likewise.
31049 * partmap/acorn.c: Likewise.
31050 * partmap/amiga.c: Likewise.
31051 * partmap/apple.c: Likewise.
31052 * script/lexer.c: Likewise.
31053 * term/gfxterm.c: Likewise.
31054 * term/i386/pc/serial.c: Likewise.
31055 * term/i386/pc/vga.c: Likewise.
31056 * term/ieee1275/ofconsole.c: Likewise.
31057 * term/terminfo.c: Likewise.
31058 * video/bitmap.c: Likewise.
31059 * video/efi_gop.c: Likewise.
31060 * video/efi_uga.c: Likewise.
31061 * video/fb/video_fb.c: Likewise.
31062 * video/i386/pc/vbe.c: Likewise.
31063 * video/readers/tga.c: Likewise.
31064 * video/video.c: Likewise.
31065
0ad46fd7 310662009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
31067
31068 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31069 * commands/lspci.c: Likewise.
31070 * commands/probe.c: Likewise.
31071 * commands/xnu_uuid.c: Likewise.
31072 * conf/i386-coreboot.rmk: Likewise.
31073 * conf/i386-efi.rmk: Likewise.
31074 * conf/i386-ieee1275.rmk: Likewise.
31075 * conf/i386-pc.rmk: Likewise.
31076 * conf/powerpc-ieee1275.rmk: Likewise.
31077 * conf/sparc64-ieee1275.rmk: Likewise.
31078 * conf/x86_64-efi.rmk: Likewise.
31079 * fs/i386/pc/pxe.c: Likewise.
31080 * gettext/gettext.c: Likewise.
31081 * include/grub/efi/graphics_output.h: Likewise.
31082 * include/grub/i386/pc/memory.h: Likewise.
31083 * kern/env.c: Likewise.
31084 * kern/i386/qemu/startup.S: Likewise.
31085 * lib/i386/pc/biosnum.c: Likewise.
31086 * lib/i386/relocator.c: Likewise.
31087 * lib/i386/relocator_asm.S: Likewise.
31088 * lib/relocator.c: Likewise.
31089 * loader/i386/bsd.c: Likewise.
31090 * loader/i386/multiboot.c: Likewise.
31091 * loader/i386/pc/chainloader.c: Likewise.
31092 * loader/i386/xnu.c: Likewise.
31093 * loader/xnu.c: Likewise.
31094 * normal/main.c: Likewise.
31095 * normal/menu_text.c: Likewise.
31096 * util/getroot.c: Likewise.
31097 * util/grub-mkconfig_lib.in: Likewise.
31098 * util/grub.d/00_header.in: Likewise.
31099 * util/i386/pc/grub-mkimage.c: Likewise.
31100 * util/mkisofs/eltorito.c: Likewise.
31101 * util/mkisofs/exclude.h: Likewise.
31102 * util/mkisofs/hash.c: Likewise.
31103 * util/mkisofs/iso9660.h: Likewise.
31104 * util/mkisofs/joliet.c: Likewise.
31105 * util/mkisofs/mkisofs.c: Likewise.
31106 * util/mkisofs/mkisofs.h: Likewise.
31107 * util/mkisofs/multi.c: Likewise.
31108 * util/mkisofs/name.c: Likewise.
31109 * util/mkisofs/rock.c: Likewise.
31110 * util/mkisofs/tree.c: Likewise.
31111 * util/mkisofs/write.c: Likewise.
31112 * video/efi_gop.c: Likewise.
31113
009ec743
VS
311142009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31115
31116 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31117 size counting.
31118
0ad46fd7 311192009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
31120
31121 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31122 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31123
d3d30ea0
VS
311242009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31125
31126 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31127 (GRUB_MOD_INIT(memrw)): Update help line.
31128
a34f5c70
VS
311292009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31130
31131 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31132 Use grub_extcmd_t. All users updated.
31133 (options): New variable.
31134 (grub_cmd_read): Restructure for readability. Support "-v" option.
31135 (grub_cmd_write): Restructure for readability.
31136
0ad46fd7 311372009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
31138
31139 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31140
0ad46fd7 311412009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
31142
31143 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31144 with the actual contents of the correspondending make variable.
31145 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31146 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31147 specifying `*.lst' and `efiemu??.o'
31148
0ad46fd7 311492009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
31150
31151 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31152 after function name.
31153 Noticed by Rene Engelhard <rene@debian.org>.
31154
dc77a799
VS
311552009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31156
31157 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
31158 (options): New variable.
31159 (iospace): Likewise.
31160 (grub_lspci_iter): List IO spaces if "-i" was given.
31161 (grub_cmd_lspci): Parse options.
31162 (GRUB_MOD_INIT(lspci)): Use extcmd.
31163 (GRUB_MOD_FINI(lspci)): Likewise.
31164
0ad46fd7 311652009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
31166
31167 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
31168 `function' keyword.
31169 Patch by Tony Mancill <tmancill@debian.org>.
31170
b5d5993b
VS
311712009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31172
31173 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31174 (grub_uhci_portstatus): Likewise.
31175 (grub_uhci_portstatus): Add necessary delay.
11d18281 31176 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 31177
941903f2 311782009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 31179
941903f2 31180 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31181 (GRUB_MOD_INIT): Likewise.
31182 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 31183 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31184 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 31185 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31186 (enable_rom_area): Likewise.
31187 (GRUB_MOD_INIT): Likewise.
31188 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31189 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
31190 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31191 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
31192 * commands/hexdump.c (options): Likewise.
31193 * commands/i386/cpuid.c (options): Likewise.
31194 (GRUB_MOD_INIT): Likewise.
31195 * commands/i386/pc/drivemap.c (options): Likewise.
31196 (GRUB_MOD_INIT): Likewise.
31197 * commands/i386/pc/halt (options): Likewise.
31198 (GRUB_MOD_INIT): Likewise.
31199 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31200 * commands/i386/pc/pxecmd.c (options): Likewise.
31201 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31202 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31203 * commands/keystatus.c (options): Likewise.
31204 (GRUB_MOD_INIT): Likewise.
31205 * commands/loadenv.c (options): Likewise.
31206 * commands/ls.c (options): Likewise.
31207 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31208 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31209 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31210 * commands/parttool.c (helpmsg): Likewise.
31211 * commands/probe.c (options): Likewise.
31212 * commands/read.c (GRUB_MOD_INIT): Likewise.
31213 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31214 * commands/search.c (options): Likewise.
31215 * commands/sleep.c (options): Likewise.
31216 * commands/test.c (GRUB_MOD_INIT): Likewise.
31217 * commands/true.c (GRUB_MOD_INIT): Likewise.
31218 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31219 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31220 * lib/arg.c (help_options): Likewise.
e9bbb4e7 31221 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31222 `$(XGETTEXT)'.
98a50553 31223 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 31224
0ad46fd7 312252009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 31226
ef3c2c3a 31227 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
31228 instead of specifying them explicit.
31229
7922f68b
RM
312302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31231
31232 * NEWS: Add grub-probe support for GNU/Hurd.
31233
537ce47f
RM
312342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31235
31236 * NEWS: gettext was added after 1.97.
31237
9b214e3a
RM
312382009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31239
31240 * util/mkisofs/msdos_partition.h: New file (based on
31241 include/grub/msdos_partition.h).
31242 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31243 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31244 (ld_options, main): Recognize --protective-msdos-label.
31245 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31246 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
31247 (padblock_write): If `use_protective_msdos_label' is set, patch a
31248 protective DOS-style label in the output image.
31249
31250 * util/grub-mkrescue.in: Use --protective-msdos-label.
31251
e9309813
RM
312522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31253
31254 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31255 boot.
31256
0ae56929
RM
312572009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31258
31259 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31260 variables.
31261 (ld_options, main): Recognize `--embedded-boot'.
31262 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31263 declarations.
31264 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31265 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31266 (padblock_write): Likewise. Rewrite to support embedded boot image.
31267
31268 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31269 for BIOS-based disk boot instead of only ElTorito.
31270
b15937b1
RM
312712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31272
31273 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31274 build (not needed for bootstrap).
31275
52cc3ce0
RM
312762009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31277
31278 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31279 from i386-pc build (not needed for bootstrap).
31280 Rewrite a pair of strings.
31281
36f5ff04
RM
312822009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31283
31284 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31285
973c6c85 312862009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
31287
31288 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31289
05d21547
AB
312902009-12-21 Andreas Born <futur.andy@googlemail.com>
31291
31292 * kern/env.c (grub_env_context_open): Mark exported variable for
31293 reexport.
31294
0175d51f
AB
312952009-12-21 Andreas Born <futur.andy@googlemail.com>
31296
31297 * kern/env.c (grub_env_export): Create nonexistent variables before
31298 exporting.
31299
7f39d92f 313002009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 31301
7f39d92f 31302 * include/grub/auth.h: Include `<grub/i18n.h>'.
31303 (GRUB_GET_PASSWORD): Gettextizze string.
31304 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31305 menu_text.c.
31306 (grub_utf8_to_ucs4_alloc): Fix indentation.
31307 (grub_print_ucs4): Likewise.
31308 (grub_getstringwidth): Likewise.
31309 (print_message_indented): New declaration.
31310 * normal/auth.c: Include `<grub/i18n.h>'.
31311 (grub_auth_check_authentication): Gettexttize string.
31312 * normal/cmdline.c: Include `<grub/i18n.h>'.
31313 (grub_cmdline_get): Gettextizze.
31314 * normal/color.c: Include `<grub/i18n.h>'.
31315 (grub_parse_color_name_pair): Gettexttize strings.
31316 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31317 string (use `print_message_indented').
31318 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31319 `include/grub/normal.h'.
31320 (print_message_indented): Renamed to ...
31321 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31322 used in normal/main.c).
31323 (print_message): Use `grub_print_message_indented' instead of
31324 `print_message_indented'.
31325 (print_timeout): Likewise.
31326 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31327 (grub_normal_print_device_info): Gettexttize strings.
31328 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31329
3041d898
VS
313302009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31331
31332 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31333 of arguments. Return number of tokens and not arguments. All users
31334 updated.
31335
de15bf8e
VS
313362009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31337
31338 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31339 non-MSDOS paritions.
31340
e0a6ca52
VS
313412009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31342
31343 * include/grub/types.h (UNUSED): Removed since it conflicts with
31344 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31345 Reported by Grégoire Sutre.
31346
b99518d1 313472009-12-19 Carles Pina i Estany <carles@pina.cat>
31348
31349 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31350 (grub_print_ucs4_alloc): Likewise.
31351 (grub_getstringwidth): Likewise.
31352 * normal/main.c (grub_normal_init_page): Gettextize version string.
31353 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31354 (getstringwidth): Renamed to ...
31355 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31356 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31357 (grub_print_ucs4): Remove `static' qualifer (now used in
31358 normal/main.c).
31359 * po/POTFILES: Add normal/main.c.
31360
bfd5e52b 313612009-12-19 Carles Pina i Estany <carles@pina.cat>
31362
31363 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31364 (print_message_indented): Add `margin_left' and `margin_right'
31365 parameters.
31366 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31367 strings.
31368 (print_timeout): Use `print_message_indented' to print the message.
31369 Deletes `second_stage' parameter.
31370 (run_menu): Update `print_timeout' calls.
31371
5a1ad2b9
VS
313722009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31373
31374 Fix console palette on OpenFirmware.
31375
31376 * term/ieee1275/ofconsole.c (MAX): Removed.
31377 (colors): Redone based on VGA palette.
31378 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31379 colors are supported.
31380 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31381
b045f00a
VS
313822009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31383
31384 Fix potential EfiEmu double prepare.
31385
31386 * efiemu/main.c (prepared): New variable
31387 (grub_efiemu_unload): Set prepare to '0'.
31388 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31389
31390 set_virtual_address_map support.
31391
31392 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31393 prototype.
31394 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31395 prototype.
31396 (grub_efiemu_crc32): Likewise.
31397 (grub_efiemu_crc64): Likewise.
31398 (grub_efiemu_set_virtual_address_map): Likewise.
31399 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31400 New definition.
31401 (grub_autoefi_set_virtual_address_map): Likewise.
31402 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31403 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31404 Restructure flow to accomodate it.
31405 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31406 (grub_efiemu_crc): Recompute CRC32.
31407 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31408 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31409 * efiemu/symbols.c (relocated_handle): New variable.
31410 (grub_efiemu_free_syms): Free relocated_handle.
31411 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31412 (grub_efiemu_write_sym_markers): New function.
31413 (grub_efiemu_set_virtual_address_map): Likewise.
31414
31415 Newer XNU parameters.
31416
31417 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31418 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31419 (grub_xnu_fill_devicetree): New prototype.
31420 (grub_xnu_heap_real_start): New variable.
31421 * loader/xnu.c (get_name_ptr): New function.
31422 (grub_xnu_load_driver): Fill namelen and name.
31423
31424 64-bit xnu support.
31425
31426 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31427 and 'loader/macho64.c'.
31428 * conf/i386-pc.rmk: Likewise.
31429 * conf/x86_64-efi.rmk: Likewise.
31430 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31431 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31432 * include/grub/macho.h (grub_macho_segment64): New structure.
31433 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31434 (grub_macho_size32): ... to this.
31435 (grub_macho32_get_entry_point): Renamed from ...
31436 (grub_macho_get_entry_point32): ... to this.
31437 (grub_macho_contains_macho64): New prototype.
31438 (grub_macho_size64): Likewise.
31439 (grub_macho_get_entry_point64): Likewise.
31440 (grub_macho32_load): Renamed from ...
31441 (grub_macho_load32): ... to this.
31442 (grub_macho32_filesize): Renamed from ...
31443 (grub_macho_filesize32): ... to this.
31444 (grub_macho32_readfile): Renamed from ...
31445 (grub_macho_readfile32): ... to this.
31446 (grub_macho_filesize64): New prototype.
31447 (grub_macho_readfile64): Likewise.
31448 (grub_macho_parse32): Likewise.
31449 (grub_macho_parse64): Likewise.
31450 * loader/macho.c: Split into ...
31451 * loader/machoXX.c: ... and this. Replace 32 with XX.
31452 * loader/macho32.c: New file.
31453 * loader/macho64.c: Likewise.
31454 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31455 (grub_cmd_xnu_kernel): Make 32-bit only.
31456 (grub_cmd_xnu_kernel64): New function.
31457 (grub_xnu_load_driver): Support Mach-O 64.
31458 (grub_cmd_xnu_mkext): Likewise.
31459 * util/grub.d/30_os-prober.in (osx_entry): New function.
31460 Generate entries for 64-bit boot too.
31461
31462 Eliminate ad-hoc tree format in XNU and EfiEmu.
31463
31464 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31465 * efiemu/pnvram.c: Rewritten to use environment variables.
31466 All users updated.
31467
31468 Inline utf16_to_utf8.
31469
31470 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31471 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31472 All users updated.
31473 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31474
31475 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31476 * commands/usbtest.c (grub_usb_get_string): ... move here.
31477 (usb_print_str): Fix error handling.
31478 * include/grub/usb.h (grub_usb_get_string): Remove.
31479
31480 UTF-8 to UTF-16 transformation.
31481
31482 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31483 (charset_mod_SOURCES): New variable.
31484 (charset_mod_CFLAGS): Likewise.
31485 (charset_mod_LDFLAGS): Likewise.
31486 * include/grub/utf.h: New file.
31487 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31488
31489 Support for device properties.
31490
31491 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31492 (grub_xnu_devprop_device_header): Likewise.
31493 (grub_xnu_devprop_device_descriptor): Likewise.
31494 (grub_xnu_devprop_add_device): New prototype.
31495 (grub_xnu_devprop_remove_device): Likewise.
31496 (grub_xnu_devprop_remove_property): Likewise.
31497 (grub_xnu_devprop_add_property_utf8): Likewise.
31498 (grub_xnu_devprop_add_property_utf16): Likewise.
31499 (grub_cpu_xnu_init): Likewise.
31500 (grub_cpu_xnu_fini): Likewise.
31501 (grub_cpu_xnu_unload): Likewise.
31502 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31503 (property_descriptor): Likewise.
31504 (devices): New variable.
31505 (grub_xnu_devprop_remove_property): New function.
31506 (grub_xnu_devprop_add_device): Likewise.
31507 (grub_xnu_devprop_remove_device): Likewise.
31508 (grub_xnu_devprop_add_property): Likewise.
31509 (grub_xnu_devprop_add_property_utf8): Likewise.
31510 (grub_xnu_devprop_add_property_utf16): Likewise.
31511 (hextoval): Likewise.
31512 (grub_cpu_xnu_fill_devprop): Likewise.
31513 (grub_cmd_devprop_load): Likewise.
31514 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31515 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31516 (cmd_devprop_load): New variable.
31517 (grub_cpu_xnu_init): New function.
31518 (grub_cpu_xnu_fini): Likewise.
31519 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31520 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31521 (grub_cmd_xnu_devtree): Likewise.
31522 (hextoval): New function.
31523 (unescape): Likewise.
31524 (grub_xnu_fill_devicetree): Likewise.
31525
31526 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31527 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31528
0945f181
VS
315292009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31530
31531 Workaround for broken ATI VBE.
31532
31533 * video/i386/pc/vbe.c (last_set_mode): New variable.
31534 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31535 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31536 (grub_video_vbe_setup): Don't check for reserved flag.
31537
0ad46fd7 315382009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31539
31540 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31541 the `find' command.
31542
c179ebe4
VS
315432009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31544
31545 UUID support for HFS.
31546
31547 * fs/hfs.c (grub_hfs_uuid): New function.
31548 (grub_hfs_fs): New value .uuid.
31549 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31550
0ad46fd7 315512009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31552
31553 Fix a segfault with parsing unknown long options.
31554
31555 * util/grub-mkrelpath.c (options): Zero terminate it.
31556
c4a3e41a
CPE
315572009-12-13 Carles Pina i Estany <carles@pina.cat>
31558
31559 * include/grub/misc.h (grub_puts): New declaration.
31560 (grub_puts_): Likewise.
a22008a6 31561 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31562 (grub_puts_): Likewise.
31563
2e8a7602
RM
315642009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31565
31566 * util/grub-probe.c (probe): Improve error message.
31567
b50b77b9
RM
315682009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31569
31570 * loader/i386/multiboot_elfxx.c
31571 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31572 initialization.
31573
315742009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31575
31576 Relocator framework
31577
31578 * loader/i386/xnu_helper.S: Removed. All users updated.
31579 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31580 (relocator_mod_SOURCES): New variable.
31581 (relocator_mod_CFLAGS): Likewise.
31582 (relocator_mod_LDFLAGS): Likewise.
31583 (relocator_mod_ASFLAGS): Likewise.
31584 * conf/x86_64.rmk: Likewise.
31585 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31586 (grub_multiboot_payload_entry_offset): Likewise.
31587 (grub_multiboot_forward_relocator): Likewise.
31588 (grub_multiboot_forward_relocator_end): Likewise.
31589 (grub_multiboot_backward_relocator): Likewise.
31590 (grub_multiboot_backward_relocator_end): Likewise.
31591 (grub_multiboot_payload_eip): New variable.
31592 (grub_multiboot_payload_orig): Likewise.
31593 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31594 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31595 * include/grub/i386/memory.h
31596 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31597 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31598 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31599 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31600 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31601 * include/grub/i386/relocator.h: New file.
31602 * include/grub/x86_64/relocator.h: Likewise.
31603 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31604 (XNU_RELOCATOR): New macro.
31605 (grub_xnu_launcher_start): Remove.
31606 (grub_xnu_launcher_end): Likewise.
31607 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31608 (grub_xnu_heap_real_start): Remove.
31609 (grub_xnu_heap_start): Change to void *. All users updated.
31610 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31611 * lib/i386/relocator.c: New file.
31612 * lib/i386/relocator_asm.S: Likewise.
31613 * lib/i386/relocator_backward.S: Likewise.
31614 * lib/mips/relocator.c: Likewise.
31615 * lib/mips/relocator_asm.S: Likewise.
31616 * lib/relocator.c: Likewise.
31617 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31618 (entry): Removed.
31619 (playground): Likewise.
31620 (grub_multiboot_payload_orig): New variable.
31621 (grub_multiboot_payload_dest): Likewise.
31622 (grub_multiboot_payload_size): Likewise.
31623 (grub_multiboot_payload_eip): Likewise.
31624 (grub_multiboot_payload_esp): Likewise.
31625 (grub_multiboot_boot): Use grub_relocator32_boot.
31626 (grub_multiboot_unload): Free relocators.
31627 (grub_multiboot): Setup stack. Use relocators.
31628 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31629 (grub_multiboot_load_elfXX): Use relocators.
31630 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31631 (grub_multiboot_payload_size): Likewise.
31632 (grub_multiboot_payload_dest): Likewise.
31633 (grub_multiboot_payload_entry_offset): Likewise.
31634 (grub_multiboot_forward_relocator): Likewise.
31635 (grub_multiboot_backward_relocator): Likewise.
31636 (grub_multiboot_real_boot): Likewise.
31637 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31638 (grub_xnu_entry_point): Likewise.
31639 (grub_xnu_arg1): Likewise.
31640 (grub_xnu_stack): Likewise.
31641 (grub_xnu_launch): Removed.
31642 (grub_xnu_boot_resume): New function.
31643 (grub_xnu_boot): Use relocators.
31644 * loader/i386/xnu_helper.S: Removed.
31645 * loader/xnu.c (grub_xnu_heap_start): New variable.
31646 (grub_xnu_heap_size): Likewise.
31647 (grub_xnu_heap_malloc): Use relocators.
31648 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31649
29eb90c6
VS
316502009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31651
31652 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31653 anything.
31654
31027430
CPE
316552009-12-13 Carles Pina i Estany <carles@pina.cat>
31656
31657 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31658 GRUB_ERR_NONE before calling grub_env_set.
31659
dc0c71d9
RM
316602009-12-12 Robert Millan <rmh@aybabtu.com>
31661
31662 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31663 * genmk.rb (video): New variable.
31664 (CLEANFILES, VIDEOFILES): Add #{video}.
31665 (#{video}): New target rule.
31666 * genvideolist.sh: New file.
31667 * Makefile.in (pkglib_DATA): Add video.lst.
31668 (video.lst): New target rule.
31669 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31670 `video.lst'.
31671 * util/grub.d/30_os-prober.in: Replace `vbe' with
31672 ${GRUB_VIDEO_BACKEND}.
31673
2a4bfcf0
RM
316742009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31675
31676 * THANKS: Add David Miller.
31677
2a3aa4d5
RM
316782009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31679
31680 libpciaccess support.
31681
31682 * Makefile.in (LIBPCIACCESS): New variable.
31683 (enable_grub_emu_pci): Likewise.
31684 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31685 util/pci.c and commands/lspci.c.
31686 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31687 * configure.ac (grub-emu-pci): New option.
31688 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31689 (grub_pci_device_unmap_range): Likewise.
31690 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31691 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31692 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31693 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31694 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31695 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31696 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31697 * include/grub/pciutils.h: New file.
31698 * util/pci.c: Likewise.
31699
0ad46fd7 317002009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31701
31702 * util/misc.c: Don't include <errno.h> twice.
31703
0ad46fd7 317042009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31705
31706 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31707 name in an error message.
31708 (grub_biosdisk_rw): Likewise.
31709
2e59983c
VS
317102009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31711
31712 Eliminate NTFS 4Gib barrier.
31713
31714 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31715 (read_run_data): Likewise.
31716 (grub_ntfs_read_run_list): Likewise.
31717 (grub_ntfs_read_block): Likewise.
31718 (grub_ntfs_iterate_dir): Likewise.
31719 (read_mft): Likewise.
31720 (read_data): Likewise.
31721 Use COM_LOG_LEN.
31722 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31723 to avoid 64-bit division
31724 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31725 (grub_ntfs_rlst): Use grub_disk_addr_t.
31726
71ee178a
VS
317272009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31728
31729 Eliminate grub-fstest 4Gib barrier.
31730
31731 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31732 (read_file): Fix error reporting.
31733
2520d4b8
VS
317342009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31735
31736 Eliminate hexdump 4Gib barrier.
31737
31738 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31739 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31740
e1f27065
VS
317412009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31742
31743 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31744 Fixes amarsh bug.
31745
1a0f7f45
RM
317462009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31747
31748 Remove miscellaneous files in distclean target.
31749
31750 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31751
c631d9fb
CW
317522009-12-09 Colin Watson <cjwatson@ubuntu.com>
31753
31754 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31755 if they're already set. This resolves the conflict between my
31756 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31757 fixing the --grub-probe option again.
31758 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31759 change on 2009-10-06, so that we now once again source
31760 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31761
7c7b6106
RM
317622009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31763
31764 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31765 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31766 `util/devicemap.c'.
31767
e3069ec1
CPE
317682009-12-08 Carles Pina i Estany <carles@pina.cat>
31769
31770 * include/grub/misc.h (grub_printf_): New declaration.
31771 * kern/misc.c (grub_printf_): New definition.
31772 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31773 instead of `grub_printf' and `_'.
31774 * normal/menu_entry.c (store_completion): Likewise.
31775 (run): Likewise.
31776 (grub_menu_entry_run): Likewise.
31777 * normal/menu_text.c (grub_wait_after_message): Likewise.
31778 (notify_booting): Likewise.
31779 (notify_fallback): Likewise.
31780 (notify_execution_failure): Likewise.
31781
d6ceebf1
CW
317822009-12-07 Colin Watson <cjwatson@ubuntu.com>
31783
31784 * configure.ac: Check for vasprintf.
31785 * util/misc.c (asprintf): Move allocation from here ...
31786 (vasprintf): ... to here. New function.
31787 (xasprintf): New function.
31788 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31789 prototypes.
31790 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31791 * util/grub-mkfont.c (write_font): Likewise.
31792 * util/grub-probe.c (probe): Likewise.
31793 * util/hostdisk.c (make_device_name): Likewise.
31794
de6daa8b
DM
317952009-12-06 David S. Miller <davem@sunset.davemloft.net>
31796
31797 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31798 anything even prefixed with 'cdrom' as a cdrom.
31799
0ad46fd7 318002009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31801
31802 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31803 mount points.
31804
98d3dc02
CPE
318052009-12-05 Carles Pina i Estany <carles@pina.cat>
31806
31807 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31808 grub_gettext_msg_list.
31809 (grub_gettext_gettranslation_from_position): Return const char *
31810 and not char *.
a2c1332b 31811 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31812 returns from the list if existing there.
31813 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31814 (grub_gettext_delete_list): Delete the list.
31815 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31816 lang environment variable is changed.
31817 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31818
b283f108
VS
318192009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31820
31821 Rename kernel.mod to kernel.img.
31822
31823 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31824 (kernel_mod_EXPORTS): Rename to ...
31825 (kernel_img_EXPORTS): ... this.
31826 (kernel_mod_SOURCES): Rename to ...
31827 (kernel_img_SOURCES): ... this.
31828 (kernel_mod_HEADERS): Rename to ...
31829 (kernel_img_HEADERS): ... this. All users updated.
31830 (kernel_mod_CFLAGS): Rename to ...
31831 (kernel_img_CFLAGS): ... this.
31832 (kernel_mod_ASFLAGS): Rename to ...
31833 (kernel_img_ASFLAGS): ... this.
31834 (kernel_mod_LDFLAGS): Rename to ...
31835 (kernel_img_LDFLAGS): ... this.
31836 * conf/x86_64-efi.rmk: Likewise.
31837 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31838 (read_kernel_image): ... this. All users updated.
31839 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31840
69055f8a
CPE
318412009-12-05 Carles Pina i Estany <carles@pina.cat>
31842
31843 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31844 (print_spaces): New function.
31845 (grub_print_ucs4): New function.
31846 (getstringwidth): New function.
31847 (print_message_indented): New function.
31848 (print_message): Gettexttize strings using print_message_indented.
31849 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31850 width.
31851 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31852 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31853 Gettextize.
31854 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31855 string.
31856 (run): Likewise.
31857 (grub_menu_entry_run): Likewise.
31858 * PO/POTFILES: Add normal/menu_entry.c.
31859
f616f51c
VS
318602009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31861
31862 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31863
57bbe3be
CPE
318642009-12-05 Carles Pina i Estany <carles@pina.cat>
31865
31866 * util/grub-install.in: Install gettext .mo files.
31867 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31868
013d67a1
CPE
318692009-12-05 Carles Pina i Estany <carles@pina.cat>
31870
31871 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31872 grub_dprintf.
31873
fb954db0
RM
318742009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31875
31876 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31877 non-firmware-dependant one in realmode.S takes precedence.
31878
6b8474f8
RM
318792009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31880
31881 * commands/halt.c: Replace misc arch-specific headers with
31882 `<grub/misc.h>'.
31883 * commands/reboot.c: Likewise.
31884 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31885 `<grub/misc.h>'.
31886 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31887 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31888 (kernel_img_SOURCES): ... to here.
31889
31890 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31891 * include/grub/i386/pc/init.h: Likewise.
31892 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31893 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31894
31895 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31896
31897 * include/grub/i386/halt.h: Remove.
31898 * include/grub/i386/reboot.h: Likewise.
31899
31900 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31901
4b2e6ca2
DM
319022009-12-03 David S. Miller <davem@sunset.davemloft.net>
31903
31904 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31905 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31906 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31907 "progname.h"
31908 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31909 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31910 (usage): Add missing comma in printf.
31911
5239348f
RM
319122009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31913
31914 Use the same reboot approach on i386 coreboot and qemu as we do on
31915 BIOS.
31916
31917 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31918 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31919 * kern/i386/reboot.c: Remove.
31920 * include/grub/i386/reboot.h (grub_reboot): Export function.
31921 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31922 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31923 0xf000:0xfff0 instead of 0xffff:0x0000.
31924 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31925 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31926
ef34cbd4
RM
319272009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31928
31929 Fix $srcdir != $objdir build.
31930
31931 * Makefile.in (po/%.po): Rewrite as ...
31932 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31933
dc9837ea
ST
319342009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31935
31936 Fix GNU/Hurd grub-install crash.
31937 * util/grub-probe.c (probe): Try to access `path' only when it is not
31938 NULL.
31939
2f857f98
VS
319402009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31941
31942 Correct module naming.
31943
31944 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31945 (GRUB_MOD_INIT(efi_uga)): ... to this
31946 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31947 (GRUB_MOD_FINI(efi_uga)): ... to this
31948 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31949 (GRUB_MOD_INIT(efi_gop)): ... to this
31950 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31951 (GRUB_MOD_FINI(efi_gop)): ... to this
31952
c5448046
RM
319532009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31954
31955 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31956 translatable.
31957 (usage): Translate `arg' strings using gettext().
31958 Thanks to Jordi Mallach for the suggestion.
31959
c85184ad
VS
319602009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31961
31962 GOP support. Based on patch from Bean
31963 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31964
31965 * video/efi_gop.c: New file.
31966 * include/grub/efi/graphics_output.h: Likewise.
31967 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31968 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31969 variables.
31970 * conf/x86_64-efi.rmk: Likewise.
31971
8a4c48d8
VS
319722009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31973
31974 Rename efi_fb to efi_uga.
31975
31976 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31977 'efi_uga.mod'.
31978 (efi_fb_mod_SOURCES): Rename this ...
31979 (efi_uga_mod_SOURCES): ... to this.
31980 (efi_fb_mod_CFLAGS): Rename this ...
31981 (efi_uga_mod_CFLAGS): ... to this.
31982 (efi_fb_mod_LDFLAGS): Rename this ...
31983 (efi_uga_mod_LDFLAGS): ... to this.
31984 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31985 'efi_uga.mod'.
31986 (efi_fb_mod_SOURCES): Rename this ...
31987 (efi_uga_mod_SOURCES): ... to this.
31988 (efi_fb_mod_CFLAGS): Rename this ...
31989 (efi_uga_mod_CFLAGS): ... to this.
31990 (efi_fb_mod_LDFLAGS): Rename this ...
31991 (efi_uga_mod_LDFLAGS): ... to this.
31992 * video/efi_fb.c: Move this ...
31993 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31994
fb6c1a7b
RM
319952009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31996
31997 * po/README: New file. Explain our PO file workflow.
31998
3bc7896c
RM
319992009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32000
32001 * po/ChangeLog: Remove. Move relevant entries back to ...
32002 * ChangeLog: ... here.
32003 * po/ca.po: Remove (now handled by TLP).
32004 * po/id.po: Likewise.
32005 * po/zh_CN.po: Likewise.
32006 * Makefile.in (LINGUAS): Initialize in a way that supports
32007 empty set.
32008
9ed4841d
RM
320092009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32010
32011 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
32012 reliing on po/LINGUAS.
32013 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
32014 (po/%.po): ... this.
32015
0ad46fd7 320162009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
32017
32018 * util/i386/efi/grub-mkimage.c: Include "progname.h".
32019 (main): Use `program_name' instead of nonexistent `progname'.
32020
e30dd392
FZ
320212009-11-26 Felix Zielcke <fzielcke@z-51.de>
32022
32023 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32024 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
32025
7656de4f
RM
320262009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32027
32028 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32029 commit.
32030 * conf/i386-efi.rmk: Likewise.
32031 * conf/i386-ieee1275.rmk: Likewise.
32032 * conf/powerpc-ieee1275.rmk: Likewise.
32033 * conf/sparc64-ieee1275.rmk: Likewise.
32034 * conf/x86_64-efi.rmk: Likewise.
32035
db77c4d4
FZ
320362009-11-26 Felix Zielcke <fzielcke@z-51.de>
32037
32038 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32039
a755bb04
FZ
320402009-11-26 Felix Zielcke <fzielcke@z-51.de>
32041
32042 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32043
8a4c07fd
RM
320442009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32045
32046 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32047 (grub_mkdevicemap_SOURCES): New variable.
32048 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32049 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32050 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32051 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32052 (grub_mkdevicemap_SOURCES): Remove.
32053 * conf/i386-efi.rmk: Likewise.
32054 * conf/i386-ieee1275.rmk: Likewise.
32055 * conf/i386-pc.rmk: Likewise.
32056 * conf/powerpc-ieee1275.rmk: Likewise.
32057 * conf/sparc64-ieee1275.rmk: Likewise.
32058 * conf/x86_64-efi.rmk: Likewise.
32059 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32060 (usage): Fix strings to use `program_name'.
32061 (main): Initialize gettext.
32062 * util/grub-editenv.c: Likewise.
32063 * util/grub-emu.c: Likewise.
32064 * util/grub-fstest.c: Likewise.
32065 * util/grub-mkdevicemap.c: Likewise.
32066 * util/grub-mkfont.c: Likewise.
32067 * util/grub-mkrelpath.c: Likewise.
32068 * util/grub-pe2elf.c: Likewise.
32069 * util/grub-probe.c: Likewise.
32070 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32071 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32072 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32073
32074 * util/misc.c: Include `"progname.h"'.
32075 (progname): Remove variable.
32076 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32077
6f61ed55
FZ
320782009-11-25 Felix Zielcke <fzielcke@z-51.de>
32079
32080 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32081 printf and print a newline after the menuentry header line.
32082 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32083
f022876b
FZ
320842009-11-25 Felix Zielcke <fzielcke@z-51.de>
32085
32086 autoconf >= 2.60 support $(localedir).
32087
32088 * INSTALL: Note that autoconf 2.60 is required.
32089 * configure.ac (AC_PREREQ): Bump to 2.60.
32090 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32091 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32092
6717926e
YB
320932009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32094
32095 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32096 aclocal is run.
32097
08806a54
RM
320982009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32099
32100 * normal/main.c (grub_normal_read_line): Fix off-by-one
32101 buffer overflow.
32102
13b33fba
RM
321032009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32104
32105 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32106 "parser.grub" in grub_command_execute() call.
32107
4a8572e9
CPE
321082009-11-24 Carles Pina i Estany <carles@pina.cat>
32109
32110 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32111 * conf/i386-efi.rmk: Likewise.
32112 * conf/i386-ieee1275.rmk: Likewise.
32113 * conf/i386-pc.rmk: Likewise.
32114 * conf/powerpc-ieee1275.rmk: Likewise.
32115 * conf/sparc64-ieee1275.rmk: Likewise.
32116 * conf/x86_64-efi.rmk: Likewise.
32117 * gettext/gettex.c: Include <grub/i18n.h>.
32118 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32119 here ...
32120 * include/grub/i18n.h: ... to here
32121 * include/grub/i18n.h: ... to here.
32122 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 32123 (grub_gettext_dummy): Move above user.
4a8572e9 32124
bee48093
FZ
321252009-11-24 Felix Zielcke <fzielcke@z-51.de>
32126
32127 * util/Makefile.in (install-local): Convert a `for' into a normal
32128 shell expansion.
32129
a031e91c
RM
321302009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32131
32132 * autogen.sh: Add automake call.
32133 * config.guess: Remove.
32134 * config.sub: Likewise.
32135 * install-sh: Likewise.
32136
26bec39d
FZ
321372009-11-24 Felix Zielcke <fzielcke@z-51.de>
32138
32139 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32140
8e2532fd
FZ
321412009-11-24 Felix Zielcke <fzielcke@z-51.de>
32142
32143 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32144 function to a normal shell `for'.
32145
fefa1b7d
FZ
321462009-11-24 Felix Zielcke <fzielcke@z-51.de>
32147
32148 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32149
4501250b
FZ
321502009-11-24 Felix Zielcke <fzielcke@z-51.de>
32151
32152 * util/grub-mkrelpath.c: New file.
32153 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32154 (grub_mkrelpath_SOURCES): New variable.
32155 * include/grub/util/misc.h: New function prototype.
32156 * util/misc.c (make_system_path_relative_to_its_root): New function.
32157
32158 * util/grub-mkconfig_lib.in (bindir): New variable.
32159 (grub_mkrelpath): Likewise.
32160 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
32161
32162 * util/probe.c (probe): Make the file path relative to its root.
32163 Change a info message to use the GRUB path. Enable again the
32164 check if we can read the file with GRUB facilities.
32165
32166 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
32167 to its root.
32168
11d9778b
FZ
321692009-11-24 Felix Zielcke <fzielcke@z-51.de>
32170
32171 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32172 platform.
32173
4465287d
FZ
321742009-11-24 Felix Zielcke <fzielcke@z-51.de>
32175
32176 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32177 strncmp().
32178
62b47f22
FZ
321792009-11-24 Felix Zielcke <fzielcke@z-51.de>
32180
32181 * util/getroot.c (grub_util_is_dmraid): New function.
32182 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32183 devices as normal ones, not as LVM.
32184
1eafb9b9 321852009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
32186
32187 * conf/common.rmk: Add grub-gettext_lib target and updates
32188 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
32189 LDFLAGS.
32190 * gettext/gettext.c: New file. (Reads mo files).
32191 * include/grub/file.h (grub_file_pread): New prototype.
32192 * include/grub/i18n.h (_): New prototype.
32193 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
32194 prototypes.
32195 * kern/misc.c (grub_gettext_dummy): New function.
32196 * normal/menu_text.c: Include <grub/i18n.h>.
32197 * normal/menu_text.c (print_timeout): Gettexttize string.
32198 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
32199 * po/POTFILES: Add `normal/menu_text.c'.
32200 * po/ca.po: Add new translations.
c3ea6bd4
CPE
32201 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32202 gettext module and defines locale_dir and lang in grub.cfg.
32203 * NEWS: Add gettext support.
32204
0fdb2568
RM
322052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32206
32207 * util/hostdisk.c: Include `<grub/i18n.h>'.
32208 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32209 (make_device_name): Rewrite using asprintf.
32210 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32211 (find_system_device): If a device is not found, generate one just
32212 by reusing the OS path name.
32213 (read_device_map): Make it permissible for device.map not to exist.
32214
f515aa62
RM
322152009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32216
32217 * script/sh/execute.c: Move from here ...
32218 * script/execute.c: ... to here. Update all users.
32219 * script/sh/function.c: Move from here ...
32220 * script/function.c: ... to here. Update all users.
32221 * script/sh/lexer.c: Move from here ...
32222 * script/lexer.c: ... to here. Update all users.
32223 * script/sh/main.c: Move from here ...
32224 * script/main.c: ... to here. Update all users.
32225 * script/sh/parser.y: Move from here ...
32226 * script/parser.y: ... to here. Update all users.
32227 * script/sh/script.c: Move from here ...
32228 * script/script.c: ... to here. Update all users.
32229
f84b481b
RM
322302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32231
32232 * configure.ac: Detect all `emu' platforms. Define
32233 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32234 --enable-grub-emu logic. Disable include/grub/machine
32235 symlink on `emu' platforms.
32236
32237 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32238 * gensymlist.sh.in: Likewise.
32239
32240 * include/grub/i386/coreboot/machine.h: Remove file.
32241 * include/grub/i386/efi/machine.h: Likewise.
32242 * include/grub/i386/ieee1275/machine.h: Likewise.
32243 * include/grub/i386/pc/machine.h: Likewise.
32244 * include/grub/i386/qemu/machine.h: Likewise.
32245 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32246 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32247 * include/grub/x86_64/efi/machine.h: Likewise.
32248
32249 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32250 * commands/halt.c: Likewise.
32251 * commands/reboot.c: Likewise.
32252 * include/grub/autoefi.h: Likewise.
32253 * include/grub/i386/at_keyboard.h: Likewise.
32254 * include/grub/i386/kernel.h: Likewise.
32255 * include/grub/i386/loader.h: Likewise.
32256 * include/grub/i386/pc/memory.h: Likewise.
32257 * kern/dl.c: Likewise.
32258 * kern/i386/coreboot/init.c: Likewise.
32259 * loader/i386/bsd.c: Likewise.
32260 * loader/i386/linux.c: Likewise.
32261 * loader/multiboot_loader.c: Likewise.
32262 * term/i386/pc/serial.c: Likewise.
32263 * term/usb_keyboard.c: Likewise.
32264
32265 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32266 `<grub/machine/machine.h>'
32267 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32268 * util/misc.c: Remove `<grub/machine/machine.h>' and
32269 `<grub/machine/time.h>'.
32270
32271 * Makefile.in (enable_grub_emu): Remove variable.
32272 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32273
32274 * conf/any-emu.rmk: New file.
32275 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32276 (grub_emu_init.c): Move from here ...
32277 * conf/any-emu.rmk: ... to here.
32278
32279 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32280 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32281 * conf/any-emu.rmk: ... to here.
32282
4efeab03
RM
322832009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32284
32285 * include/grub/parser.h (grub_parser_register): Document need
32286 of `name' parameter.
32287 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32288 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32289 "sh" to "grub".
32290
ea1dd8bf
RM
322912009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32292
32293 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32294 `$(XGETTEXT)'.
32295 * include/grub/i18n.h (N_): New macro.
32296 * util/mkisofs/mkisofs.h: Likewise.
32297 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32298 around N_().
32299 (usage): Use gettext() to translate help strings when printing them.
32300
0c140626
RM
323012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32302
32303 Based on patch from Bean
32304 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32305
32306 * video/efi_fb.c: New file.
32307 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32308 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32309 variables.
32310 * conf/x86_64-efi.rmk: Likewise.
32311
87d58298
RM
323122009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32313
32314 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32315 * util/i386/pc/grub-setup.c: Likewise.
32316
994cc3a3
ST
323172009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32318
32319 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32320 <hurd/fs.h>
32321 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32322 file_get_storage_info to implement grub_guess_root_device.
32323
26a61d6a
FZ
323242009-11-21 Felix Zielcke <fzielcke@z-51.de>
32325
32326 * Makefile.in (target): Use make's builtin $(shell) function
32327 instead of calling directly $(SHELL) to create the locale directories,
32328 inside the $(foreach) function.
32329
74ff1dd5
FZ
323302009-11-21 Felix Zielcke <fzielcke@z-51.de>
32331
32332 * util/grub-mkrescue.in: Print an error and usage if output option
32333 has not been given.
32334
0b787d0e
FZ
323352009-11-21 Felix Zielcke <fzielcke@z-51.de>
32336
32337 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32338 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32339 root and /boot are on different devices.
32340
1164b270
RM
323412009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32342
32343 Fix build for srcdir != objdir.
32344
32345 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32346 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32347 $(srcdir).
32348 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32349 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32350 reference for input.
32351
13774a2f
RM
323522009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32353
32354 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32355 or hardlinking it). Remove -J option, Joliet is not compatible with
32356 multiple source directories.
32357
efda854e
RM
323582009-11-21 Carles Pina i Estany <carles@pina.cat>
323592009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32360
32361 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32362 (process_input_dir): New function. Process an arbitrary input
32363 directory.
32364 Misc adjustments to support both "override mode" and system-wide mode.
32365
6c09890c
FZ
323662009-11-20 Felix Zielcke <fzielcke@z-51.de>
32367
32368 * configure.ac (UNIFONT_BDF): Rename to ...
32369 (FONT_SOURCE): ... this. Update all users.
32370
a797824f
FZ
323712009-11-20 Felix Zielcke <fzielcke@z-51.de>
32372
32373 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32374 to the list of unifont files to look for.
32375
cd4f42b0
RM
323762009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32377
32378 Patch from Joe Auricchio <jauricchio@gmail.com>
32379 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32380 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32381 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32382
393c783d
FZ
323832009-11-19 Felix Zielcke <fzielcke@z-51.de>
32384
32385 * Makefile.in (install-local): Add a missing backslash.
32386
b2f1e327
FZ
323872009-11-19 Felix Zielcke <fzielcke@z-51.de>
32388
32389 * include/grub/x86_64/io.h: New file.
32390
f577f7a0
RM
323912009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32392
32393 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32394 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32395 Include `"progname.h"'.
32396 (main): Initialize gettext.
32397 * util/i386/pc/grub-setup.c: Gettexttize.
32398 * util/i386/pc/grub-mkimage.c: Likewise.
32399
32400 * Makefile.in (po/*.po): Redefine as ...
32401 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32402
3bc7896c
RM
32403 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32404
c37943b6
RM
324052009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32406
32407 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32408 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32409 (program_name): Remove.
32410 (main): Initialize gettext support.
6323f705
RM
32411 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32412 Include `<libintl.h>'.
32413 (_): New macro.
c37943b6
RM
32414
32415 * util/mkisofs/eltorito.c: Gettexttize.
32416 * util/mkisofs/joliet.c: Likewise.
32417 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
32418 * util/mkisofs/multi.c: Likewise.
32419 * util/mkisofs/rock.c: Likewise.
32420 * util/mkisofs/tree.c: Likewise.
32421 * util/mkisofs/write.c: Likewise.
32422
3bc7896c
RM
32423 * po/POTFILES: Update with new files.
32424
5ce77c6e
RM
324252009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32426
32427 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32428 * util/mkisofs/iso9660.h: Likewise.
32429 * util/mkisofs/joliet.c: Likewise.
32430 * util/mkisofs/mkisofs.c: Likewise.
32431 * util/mkisofs/mkisofs.h: Likewise.
32432 * util/mkisofs/rock.c: Likewise.
32433 * util/mkisofs/tree.c: Likewise.
32434 * util/mkisofs/write.c: Likewise.
32435
32436 * util/mkisofs/eltorito.c (rcsid): Remove.
32437 * util/mkisofs/hash.c: Likewise.
32438 * util/mkisofs/joliet.c: Likewise.
32439 * util/mkisofs/name.c: Likewise.
32440 * util/mkisofs/rock.c: Likewise.
32441 * util/mkisofs/tree.c: Likewise.
32442 * util/mkisofs/write.c: Likewise.
32443
1dabbc77
RM
324442009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32445
32446 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32447 instead of static allocation.
32448 * util/mkisofs/match.h: Likewise.
32449
633877cb
RM
324502009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32451
3bc7896c
RM
32452 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32453 and `util/grub.d/10_linux.in'.
633877cb
RM
32454 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32455 translatable Shell files.
32456
af1c0c85
RM
324572009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32458
32459 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32460
769ae37b
RM
324612009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32462
32463 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 32464 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
32465 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32466 Add gettext initialization.
32467 (kfreebsd_entry): Make menuentry output translatable.
32468
324692009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32470
32471 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32472 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32473 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32474 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32475 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 32476 * po/LINGUAS: New file.
769ae37b
RM
32477
324782009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32479
32480 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32481 other things).
32482 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32483 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32484 bindtextdomain() calls for gettext initialization.
32485
324862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32487
32488 * gnulib/progname.c: New file (imported from Gnulib).
32489 * gnulib/progname.h: Likewise.
32490 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32491 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32492 (usage): Replace `progname' with `program_name'.
32493 (main): Use set_program_name() for program name initialization.
32494
324952009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32496
32497 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32498 from here ...
32499 * Makefile.in (CPPFLAGS): ... to here.
32500
325012009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32502
32503 * aclocal.m4: Move from here ...
32504 * acinclude.m4: ... to here.
32505 * autogen.sh: Add call to `aclocal'.
32506 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32507
325082009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32509
32510 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32511 (LINGUAS): New variable.
32512 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32513 (install-local): Install MO files.
32514 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32515 * include/grub/i18n.h: New file.
3bc7896c
RM
32516 * po/POTFILES: New file.
32517 * po/ca.po: New file.
769ae37b
RM
32518 * util/grub.d/10_linux.in (bindir): New variable.
32519 Add gettext initialization.
32520 (linux_entry): Make menuentry output translatable.
32521 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32522 (usage): Make --help output translatable.
32523 (main): Initialize gettext.
32524
02c0a6ad
RM
325252009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32526
32527 * import_gcry.py: New file (written by Vladimir with minor
32528 adjustments).
32529 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32530 ciphers.
32531 * INSTALL: Document that Python is required for bootstrap.
32532
325332009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32534
32535 Import ciphers from libgcrypt 1.4.4.
32536
32537 * lib/libgcrypt/cipher/ChangeLog
32538 * lib/libgcrypt/cipher/ac.c
32539 * lib/libgcrypt/cipher/arcfour.c
32540 * lib/libgcrypt/cipher/bithelp.h
32541 * lib/libgcrypt/cipher/blowfish.c
32542 * lib/libgcrypt/cipher/camellia-glue.c
32543 * lib/libgcrypt/cipher/camellia.c
32544 * lib/libgcrypt/cipher/camellia.h
32545 * lib/libgcrypt/cipher/cast5.c
32546 * lib/libgcrypt/cipher/cipher.c
32547 * lib/libgcrypt/cipher/crc.c
32548 * lib/libgcrypt/cipher/des.c
32549 * lib/libgcrypt/cipher/dsa.c
32550 * lib/libgcrypt/cipher/ecc.c
32551 * lib/libgcrypt/cipher/elgamal.c
32552 * lib/libgcrypt/cipher/hash-common.c
32553 * lib/libgcrypt/cipher/hash-common.h
32554 * lib/libgcrypt/cipher/hmac-tests.c
32555 * lib/libgcrypt/cipher/md.c
32556 * lib/libgcrypt/cipher/md4.c
32557 * lib/libgcrypt/cipher/md5.c
32558 * lib/libgcrypt/cipher/primegen.c
32559 * lib/libgcrypt/cipher/pubkey.c
32560 * lib/libgcrypt/cipher/rfc2268.c
32561 * lib/libgcrypt/cipher/rijndael-tables.h
32562 * lib/libgcrypt/cipher/rijndael.c
32563 * lib/libgcrypt/cipher/rmd.h
32564 * lib/libgcrypt/cipher/rmd160.c
32565 * lib/libgcrypt/cipher/rsa.c
32566 * lib/libgcrypt/cipher/seed.c
32567 * lib/libgcrypt/cipher/serpent.c
32568 * lib/libgcrypt/cipher/sha1.c
32569 * lib/libgcrypt/cipher/sha256.c
32570 * lib/libgcrypt/cipher/sha512.c
32571 * lib/libgcrypt/cipher/tiger.c
32572 * lib/libgcrypt/cipher/twofish.c
32573 * lib/libgcrypt/cipher/whirlpool.c
32574
af2f93ac
RM
325752009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32576
32577 Fix build for systems without error().
32578
32579 * gnulib/error.c: New file (imported from Gnulib).
32580 * gnulib/error.h: Likewise.
32581 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32582 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32583 (this variable is now used by error()).
32584
73fb3dd5
FZ
325852009-11-16 Felix Zielcke <fzielcke@z-51.de>
32586
814f5e96
FZ
32587 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32588 instead of relying that char is signed.
73fb3dd5 32589
a691ca33
VS
325902009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32591
32592 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32593 blocksize different from specified.
32594 (grub_pxefs_read): Likewise.
32595
2af8f0f4
FZ
325962009-11-16 Felix Zielcke <fzielcke@z-51.de>
32597
32598 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32599
32600 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32601 (grub_ata_readwrite): Likewise. Update 2 format strings.
32602 (grub_atapi_read): Likewise.
32603
32604 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32605 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32606 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32607 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32608 (ata_mod_LDFLAGS): Move from here ...
32609 * conf/i386.rmk: ... to here ...
32610 * conf/x86_64-efi.rmk: ... and here.
32611 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32612 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32613
83bdecaf
RM
326142009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32615
32616 Relicense multiboot.h, with RMS' blessing.
32617
32618 * include/multiboot.h: Change to X11 license.
32619
fd6fd3d7
RM
326202009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32621
32622 Support --version in grub-mkisofs.
32623
32624 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32625 (OPTION_VERSION): New macro.
32626 (ld_options): Recognize --version.
32627 (usage): Move `program_name' from here ...
32628 (program_name): ... to here. Add `static' qualifier.
32629 (main): Recognize `OPTION_VERSION'.
32630
16a88c49
FZ
326312009-11-15 Felix Zielcke <fzielcke@z-51.de>
32632
32633 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32634 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32635
a4158476
RM
326362009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32637
32638 Fix help2man generation for mkisofs.
32639
32640 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32641 (usage): Send output to stdout (rather than stderr).
32642
fc2208b0
RM
326432009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32644
32645 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32646 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32647 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32648 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32649 (bin_SCRIPTS): Add `grub-mkfloppy'.
32650 (grub_mkfloppy_SOURCES): New variable.
32651
32652 * util/grub-mkrescue.in: New file.
32653 * util/i386/pc/grub-mkfloppy.in: New file.
32654
32655 * util/i386/coreboot/grub-mkrescue.in: Remove.
32656 * util/i386/pc/grub-mkrescue.in: Remove.
32657
8d0edf4a
RM
326582009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32659
32660 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32661 from here ...
32662 * include/multiboot.h (struct multiboot_header): ... to here. Update
32663 all users.
32664 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32665 from here ...
32666 * include/multiboot.h (struct multiboot_info): ... to here. Update
32667 all users.
32668 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32669 from here ...
32670 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32671 Update all users.
32672 * include/grub/multiboot.h (struct grub_mod_list): Move
32673 from here ...
32674 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32675 Update all users.
32676
a73f5969
RM
326772009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32678
32679 * include/multiboot2.h (multiboot_word): Rename from this ...
32680 (multiboot2_word): ... to this. Update all users.
32681 (multiboot_header): Rename from this ...
32682 (multiboot2_header): ... to this. Update all users.
32683 (multiboot_tag_header): Rename from this ...
32684 (multiboot2_tag_header): ... to this. Update all users.
32685 (multiboot_tag_start): Rename from this ...
32686 (multiboot2_tag_start): ... to this. Update all users.
32687 (multiboot_tag_name): Rename from this ...
32688 (multiboot2_tag_name): ... to this. Update all users.
32689 (multiboot_tag_module): Rename from this ...
32690 (multiboot2_tag_module): ... to this. Update all users.
32691 (multiboot_tag_memory): Rename from this ...
32692 (multiboot2_tag_memory): ... to this. Update all users.
32693 (multiboot_tag_unused): Rename from this ...
32694 (multiboot2_tag_unused): ... to this. Update all users.
32695 (multiboot_tag_end): Rename from this ...
32696 (multiboot2_tag_end): ... to this. Update all users.
32697
1c8927f0
RM
326982009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32699
32700 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32701 this platform we should support Multiboot1 first.
32702
32703 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32704 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32705 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32706
6e1e0d89
RM
327072009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32708
32709 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32710 of write calls (converting them to fwrite() if they aren't already).
32711 (get_torito_desc): Likewise.
32712 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32713
7f2b34d8
RM
327142009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32715
32716 * util/i386/pc/grub-install.in: Move from here ...
32717 * util/grub-install.in: ... to here. Update all users.
32718
c0ef3311
CW
327192009-11-11 Colin Watson <cjwatson@ubuntu.com>
32720
32721 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32722
e1f240ff
RM
327232009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32724
32725 Support for El Torito without floppy emulation.
32726
32727 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32728 (init_boot_catalog): Improve error handling.
32729 (get_torito_desc): Don't use floppy emulation unless requested by
32730 user. Patch boot information table when requested via
32731 `-boot-info-table'.
32732 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32733 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32734 (use_boot_info_table): New variables.
32735 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32736 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32737 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32738 `--eltorito-emul-floppy'.
32739 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32740 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32741 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32742 (use_boot_info_table, get_731): New prototypes.
32743 * util/mkisofs/write.c (get_731): New function.
32744
af7d4de5
FZ
327452009-11-11 Felix Zielcke <fzielcke@z-51.de>
32746
32747 Fix the generation of the man page.
32748
32749 * util/pc/i386/grub-install.in: Source
32750 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32751
2c55dbc0
RM
327522009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32753
32754 Large file support for grub-mkisofs.
32755
32756 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32757 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32758 (session_start): Upgrade type to `uint64_t'. Update all users.
32759 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32760 (struct directory_entry): Upgrade type of `starting_block' and
32761 `size' to `uint64_t'. Update all users.
32762 (struct deferred): Remove unused structure.
32763 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32764 Update all users.
32765 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32766 file is larger than `UINT32_MAX'.
32767 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32768 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32769 return value.
32770 (struct deferred_write): Upgrade type of `extent' and `size' to
32771 `uint64_t'. Update all users.
32772 (last_extent_written): Upgrade type to `uint64_t'. Update all
32773 users.
32774 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32775 Update all users. Upgrade type of `remain' to `int64_t' and
32776 `use' to `size_t'. Use error() to handle fread() errors.
32777 (write_files): Rely on write_one_file() rather than calling
32778 xfwrite() directly.
32779
6a9cead5
FZ
327802009-11-09 Felix Zielcke <fzielcke@z-51.de>
32781
32782 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32783
4825d790
RM
327842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32785
32786 * util/mkisofs/fnmatch.c: Remove.
32787 * util/mkisofs/getopt1.c: Likewise.
32788 * util/mkisofs/getopt.c: Likewise.
32789 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32790 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32791 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32792 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32793 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32794
32795 * configure.ac: Detect `mingw32msvc' host_os.
32796 Check for lstat(), getuid() and getgid().
32797
32798 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32799 instances of `u_char' with `uint8_t'.
32800
32801 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32802 [!HAVE_GETUID] (getuid): New function (stub).
32803 [!HAVE_GETGID] (getgid): Likewise.
32804 [!HAVE_LSTAT] (lstat): Likewise.
32805 [!S_IROTH] (S_IROTH): New macro (dummy).
32806 [!S_IRGRP] (S_IRGRP): Likewise.
32807
84b860d8
RM
328082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32809
32810 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32811 conditional expression).
32812
66e9b712
RM
328132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32814
32815 Import from Gnulib.
32816
32817 * gnulib/fnmatch.c: New file.
32818 * gnulib/fnmatch.h: Likewise.
32819 * gnulib/fnmatch_loop.c: Likewise.
32820 * gnulib/getopt.c: Likewise.
32821 * gnulib/getopt.h: Likewise.
32822 * gnulib/getopt1.c: Likewise.
32823 * gnulib/getopt_int.h: Likewise.
32824 * gnulib/gettext.h: Likewise.
32825
34f4a5b0
RM
328262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32827
32828 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32829 * normal/handler.c (read_handler_list): Likewise.
32830
ac451143
RM
328312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32832
32833 Misc cleanup.
32834
32835 * kern/command.c (grub_register_command_prio): Use
32836 grub_zalloc() instead of explicitly zeroing data.
32837 * kern/list.c: Include `<grub/mm.h>'.
32838 (grub_named_list_find): Replace `0' with `NULL'.
32839 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32840 (fs_module_list): Change type to `grub_named_list_t'. Update all
32841 users.
32842 * normal/dyncmd.c (read_command_list): Add space between function
32843 call and parenthesis.
32844 * normal/handler.c (read_handler_list): Likewise.
32845
4089b167
RM
328462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32847
32848 * normal/auth.c (punishment_delay): Moved from here ...
32849 (grub_auth_strcmp): ... to here (inside function).
32850
325f5037
RM
328512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32852
32853 * include/grub/list.h (struct grub_named_list): Remove `const'
32854 qualifier from `name'.
32855 (struct grub_prio_list): Likewise.
32856
7aea29a3
RM
328572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32858
32859 * normal/auth.c: Include `<grub/time.h>'.
32860 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32861
3fd6f044
RM
328622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32863
32864 * normal/auth.c (punishment_delay): New variable.
32865 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32866 (grub_auth_check_authentication): Punish failed login attempts with
32867 an incremental (2^N) delay.
32868
a4cd68e4
RM
328692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32870
32871 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32872 path with $(srcdir).
32873
7ad12f43
VS
328742009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32875
32876 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32877
c1129f03
RM
328782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32879
32880 * util/i386/coreboot/grub-mkrescue.in: New file.
32881 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32882 variables.
32883
32884 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32885 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32886 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32887 requirements.
32888 * util/mkisofs/defaults.h: New file.
32889 * util/mkisofs/eltorito.c: Likewise.
32890 * util/mkisofs/exclude.h: Likewise.
32891 * util/mkisofs/fnmatch.c: Likewise.
32892 * util/mkisofs/getopt.c: Likewise.
32893 * util/mkisofs/getopt1.c: Likewise.
32894 * util/mkisofs/hash.c: Likewise.
32895 * util/mkisofs/include/fctldefs.h: Likewise.
32896 * util/mkisofs/include/mconfig.h: Likewise.
32897 * util/mkisofs/include/prototyp.h: Likewise.
32898 * util/mkisofs/include/statdefs.h: Likewise.
32899 * util/mkisofs/iso9660.h: Likewise.
32900 * util/mkisofs/joliet.c: Likewise.
32901 * util/mkisofs/match.c: Likewise.
32902 * util/mkisofs/match.h: Likewise.
32903 * util/mkisofs/mkisofs.c: Likewise.
32904 * util/mkisofs/mkisofs.h: Likewise.
32905 * util/mkisofs/multi.c: Likewise.
32906 * util/mkisofs/name.c: Likewise.
32907 * util/mkisofs/rock.c: Likewise.
32908 * util/mkisofs/tree.c: Likewise.
32909 * util/mkisofs/write.c: Likewise.
32910
ec8bb77d
VS
329112009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32912
32913 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32914 being insecure.
32915
3716b12c
RM
329162009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32917
32918 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32919 `grub-mkimage' (and use $0 when possible).
32920
b97b7b91
RM
329212009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32922
32923 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32924 error message for excessively large memory map.
32925
04114812
RM
329262009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32927
32928 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32929 executable bit.
32930
e4eb2373
RM
329312009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32932
32933 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32934 message for coreboot users.
32935
c926e1d5 329362009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32937
32938 Fix build with GNU gold.
32939
32940 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32941 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32942 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32943 link addresses.
32944 * aclocal.m4: Likewise.
32945
86e5b1db 329462009-11-04 Felix Zielcke <fzielcke@z-51.de>
32947
32948 * configure.ac (AC_PREREQ): Bump to 2.59d.
32949 * INSTALL: Make it more clear when Autoconf and Ruby are
32950 needed and when to run `./autogen.sh'.
32951
246cd78f 329522009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32953
32954 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32955 OSes.
32956
4f9dfb37 329572009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32958
32959 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32960
b82bd5e1 329612009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32962
32963 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32964 giving it to GNU Mach.
32965
ff1a9bca 329662009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32967
32968 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32969 GNU partition number to get internal GRUB partition number.
32970
61697d9c 329712009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32972
32973 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32974 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32975
a50569e1 329762009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32977
32978 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32979 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32980 case.
32981
5b153867 329822009-11-01 Felix Zielcke <fzielcke@z-51.de>
32983
32984 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32985
d9e2cd70 329862009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32987
32988 Fix build problem.
32989
32990 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32991 `-isystem=$(srcdir)/include'.
32992
805111a4 329932009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32994
32995 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32996 checked (grub-install doesn't currently rely on it).
32997
fa6e945f 329982009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32999
33000 Revert SVN r2660.
33001
33002 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
33003 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33004 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
33005 * conf/i386-ieee1275.rmk: Likewise.
33006 * conf/i386-pc.rmk: Likewise.
33007 * conf/powerpc-ieee1275.rmk: Likewise.
33008 * conf/sparc64-ieee1275.rmk: Likewise.
33009 * conf/x86_64-efi.rmk: Likewise.
33010
cee15086 330112009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33012
33013 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
33014
95b9239e 330152009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33016
33017 * include/grub/misc.h: Stop checking for APPLE_CC.
33018
2ed19dfd 330192009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33020
33021 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
33022 doesn't cause an infinite call loop.
33023
fdcdde19 330242009-10-28 Felix Zielcke <fzielcke@z-51.de>
33025
33026 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
33027 strings.
33028
cefabfe1 330292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33030
33031 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33032 variable.
33033 * Makefile.in: Likewise.
33034
ed96ab6d 330352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33036
33037 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33038
0579b753 330392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33040
33041 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33042
478df409 330432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33044
33045 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33046
083d1679 330472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33048
33049 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33050 from here ...
33051 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33052
5947ae32 330532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33054
33055 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33056 in $(MAKEINFO) invocation. This makes it clear in output that
33057 errors are being ignored.
33058
94180ff6 330592009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33060
33061 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33062 from here ...
33063 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33064 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33065 * conf/i386-ieee1275.rmk: Likewise.
33066 * conf/i386-pc.rmk: Likewise.
33067 * conf/powerpc-ieee1275.rmk: Likewise.
33068 * conf/sparc64-ieee1275.rmk: Likewise.
33069 * conf/x86_64-efi.rmk: Likewise.
33070
9031b03a 330712009-10-26 Colin Watson <cjwatson@ubuntu.com>
33072
33073 * util/grub-editenv.c (main): If only a command is given, use
33074 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33075 (usage): FILENAME is now optional and has a default.
33076
e4f6809b 330772009-10-26 Colin Watson <cjwatson@ubuntu.com>
33078
33079 Improve grub-mkconfig performance when there are several menu
33080 entries on a single filesystem.
33081
33082 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33083 prepare_grub_to_access_device.
33084 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33085 * util/grub.d/30_os-prober.in: Likewise.
33086
67937d4d 330872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33088
33089 * util/grub.d/10_freebsd.in: Remove.
33090 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33091 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33092
ee3756cc 330932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33094
5c35048e 33095 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 33096
4dea1c6f 330972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33098
33099 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33100 grub_util_error() call.
33101
042484d7 331022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33103
33104 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33105 `reserved_first_sector' member.
33106 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33107 `reserved_first_sector' to 1.
33108 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33109 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33110 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33111 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33112 filesystems which begin at first sector.
33113 (options): New option --skip-fs-probe.
33114 (main): Handle --skip-fs-probe and pass it to setup().
33115
d64448a7 331162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33117
33118 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33119 (memset): Fix function prototype.
33120
508d42ec 331212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
331222009-10-25 Vasily Averin <vvs@parallels.com>
33123
33124 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33125 `dirent.direntlen == 0'.
33126
b240e30c 331272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33128
33129 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33130 `cpio'.
33131 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33132
346e7fbe 331332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33134
33135 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33136 `__trampoline_setup' and `__ucmpdi2'.
33137 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33138 that libgcc provides.
33139
cdb308b0 331402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33141
33142 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33143 * include/grub/sparc64/libgcc.h (memset): Likewise.
33144 * include/grub/misc.h (memset, memcmp): New function prototypes.
33145
fb26abc2 331462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33147
33148 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33149 `cpio'.
33150 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33151
f6693890 331522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33153
33154 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33155 * docs/grub.cfg: Compensate for recent change in multiboot
33156 loader (since 2009-08-14 it won't pass filename to payload).
33157 * util/grub.d/10_hurd.in: Likewise.
33158
0933cdc0 331592009-10-21 Felix Zielcke <fzielcke@z-51.de>
33160
33161 * config.guess: Update to latest version from config git
33162 repository.
33163 * config.sub: Likewise.
33164
3b2fe8c2 331652009-10-20 Robert Millan <rmh.grub@aybabtu.com>
33166
33167 Fix build on sparc64.
33168
33169 * configure.ac: Perform checks for libgcc symbols before
33170 adding `-nostdlib' to LDFLAGS.
33171
46695a62 331722009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33173
33174 Let user specify OpenBSD root device.
33175
33176 * loader/i386/bsd.c (openbsd_root): New variable.
33177 (openbsd_opts): New option 'root'.
33178 (OPENBSD_ROOT_ARG): New macro.
33179 (grub_openbsd_boot): Use 'openbsd_root'.
33180 (grub_cmd_openbsd): Fill 'openbsd_root'.
33181
d2b6b7fc 331822009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33183
33184 * NEWS: Misc adjustments.
33185
421bd7ac 331862009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33187
33188 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
33189
f1d29d87 331902009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33191
33192 * configure.ac: Bump version to 1.97.
33193
6f3cd880 331942009-10-16 Colin Watson <cjwatson@ubuntu.com>
33195
33196 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
33197 -mno-3dnow on x86 architectures. Some toolchains enable these
33198 features by default, but they rely on registers that aren't enabled
33199 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
33200
035f7122 332012009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33202
33203 Make entry text a bit more readable.
33204
33205 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33206
44998e58 332072009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33208
33209 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33210
cd2851b3 332112009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33212
33213 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33214 operations.
33215
c6f3b249 332162009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33217
33218 * configure.ac: Add missing dollar.
33219
6b5886ba 332202009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33221
33222 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33223
33224 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33225 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33226 exports.
33227 * include/grub/sparc64/libgcc.h: Likewise. Use
33228 preprocessor conditionals.
33229
e9d66f6d 332302009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33231
33232 * conf/common.rmk (grub-dumpbios): Remove rule.
33233 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33234 * util/grub-dumpbios.in: Remove file.
33235
9155bc17 332362009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33237
33238 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33239 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33240
33241 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33242 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33243 users.
33244
33245 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33246 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
33247 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
33248 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33249 users.
33250
bf7f7a18 332512009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33252
33253 * term/tparm.c: Switch to GPLv3.
33254
86564c26 332552009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33256
33257 * include/grub/i386/cpuid.h: Add header protection.
33258
5c936493 332592009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33260
33261 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33262
33263 * include/grub/i386/cpuid.h: New file.
33264 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33265 (has_longmode): Rename to ...
33266 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33267 `static' attribute.
33268 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33269 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33270 on a CPU that doesn't implement AMD64 instruction set.
33271
186e7cf2 332722009-10-06 Colin Watson <cjwatson@ubuntu.com>
33273
33274 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33275 that version.texi is rebuilt on version number changes.
33276
83b65c4a 332772009-10-06 Colin Watson <cjwatson@ubuntu.com>
33278
33279 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33280 Fixes bug #27602.
33281
d244281c 332822009-10-06 Colin Watson <cjwatson@ubuntu.com>
33283
33284 * util/i386/pc/grub-install.in: Source
33285 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33286 that the --grub-probe option will work.
33287 * util/sparc64/ieee1275/grub-install.in: Likewise.
33288
da25306d 332892009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33290
33291 * configure.ac: Bump version to 1.97~beta4.
33292
e8ee83c0 332932009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33294
33295 Resync grub-mkdevicemap in x86_64-efi.
33296
33297 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33298 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33299 `util/devicemap.c'.
33300
50dcabcf 333012009-10-01 Colin Watson <cjwatson@ubuntu.com>
33302
33303 * util/grub-editenv.c (create_envblk_file): Write new block with a
33304 .new suffix and then rename it into place, to ensure atomic
33305 creation.
33306
0e51c3a7 333072009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33308
33309 Do not automatically install headers.
33310
33311 * Makefile.in (include_DATA): Remove. Update all users.
33312
31299a95 333132009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33314
33315 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33316 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33317
33318 * util/osdetect.lua: Remove.
33319 * script/lua/lauxlib.c: Likewise.
33320 * script/lua/ldebug.c: Likewise.
33321 * script/lua/grub_main.c: Likewise.
33322 * script/lua/lauxlib.h: Likewise.
33323 * script/lua/ldebug.h: Likewise.
33324 * script/lua/ltablib.c: Likewise.
33325 * script/lua/liolib.c: Likewise.
33326 * script/lua/lstrlib.c: Likewise.
33327 * script/lua/lualib.h: Likewise.
33328 * script/lua/ldo.c: Likewise.
33329 * script/lua/ldump.c: Likewise.
33330 * script/lua/ldo.h: Likewise.
33331 * script/lua/loslib.c: Likewise.
33332 * script/lua/lundump.c: Likewise.
33333 * script/lua/grub_lib.c: Likewise.
33334 * script/lua/ldblib.c: Likewise.
33335 * script/lua/lundump.h: Likewise.
33336 * script/lua/lmem.c: Likewise.
33337 * script/lua/grub_lib.h: Likewise.
33338 * script/lua/lmathlib.c: Likewise.
33339 * script/lua/lstate.c: Likewise.
33340 * script/lua/ltm.c: Likewise.
33341 * script/lua/lvm.c: Likewise.
33342 * script/lua/lmem.h: Likewise.
33343 * script/lua/lstate.h: Likewise.
33344 * script/lua/ltm.h: Likewise.
33345 * script/lua/ltable.c: Likewise.
33346 * script/lua/lvm.h: Likewise.
33347 * script/lua/llex.c: Likewise.
33348 * script/lua/lgc.c: Likewise.
33349 * script/lua/grub_lua.h: Likewise.
33350 * script/lua/loadlib.c: Likewise.
33351 * script/lua/lfunc.c: Likewise.
33352 * script/lua/lopcodes.c: Likewise.
33353 * script/lua/lparser.c: Likewise.
33354 * script/lua/ltable.h: Likewise.
33355 * script/lua/llex.h: Likewise.
33356 * script/lua/lgc.h: Likewise.
33357 * script/lua/lfunc.h: Likewise.
33358 * script/lua/lbaselib.c: Likewise.
33359 * script/lua/lopcodes.h: Likewise.
33360 * script/lua/lparser.h: Likewise.
33361 * script/lua/lzio.c: Likewise.
33362 * script/lua/linit.c: Likewise.
33363 * script/lua/lobject.c: Likewise.
33364 * script/lua/llimits.h: Likewise.
33365 * script/lua/lstring.c: Likewise.
33366 * script/lua/lzio.h: Likewise.
33367 * script/lua/lapi.c: Likewise.
33368 * script/lua/lcode.c: Likewise.
33369 * script/lua/lua.h: Likewise.
33370 * script/lua/lobject.h: Likewise.
33371 * script/lua/lstring.h: Likewise.
33372 * script/lua/lapi.h: Likewise.
33373 * script/lua/lcode.h: Likewise.
33374 * script/lua/luaconf.h: Likewise.
33375
cb8a2c38 333762009-09-26 Colin Watson <cjwatson@ubuntu.com>
33377
33378 * docs/grub.texi (Command-line and menu entry commands): Document
33379 date and echo commands.
33380
6b9b6276 333812009-09-24 Pavel Roskin <proski@gnu.org>
33382
33383 * include/grub/kernel.h (struct grub_module_header): Remove
33384 `grub_module_header_types'. Make `type' unsigned. Make `size'
33385 32-bit on all platforms.
33386 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33387 8-bit field. Use grub_host_to_target32() for `size'.
33388 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33389 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33390 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33391
4e5a02a7 333922009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33393
33394 Fix "lost keypress" bug in at_keyboard.
33395
33396 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33397 Checks for readyness of input buffer (without flushing it).
33398 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33399 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33400
c6dcedf6 334012009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33402
33403 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33404 size check within GRUB_MACHINE_PCBIOS section.
33405
74c958b1 334062009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33407
33408 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33409 return value.
33410 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33411 KEYBOARD_ISREADY check.
33412 (grub_at_keyboard_checkkey): Rename to ...
33413 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33414 Remove gratuitous cast.
33415
ff420223 334162009-09-23 Colin Watson <cjwatson@ubuntu.com>
33417
33418 * configure.ac: Call AC_PROG_MKDIR_P.
33419 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33420 version.texi in $(builddir) rather than $(srcdir).
33421 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33422 to makeinfo's @include search path.
33423
d96875df 334242009-09-23 Felix Zielcke <fzielcke@z-51.de>
33425
33426 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33427
9b3f8365 334282009-09-23 Felix Zielcke <fzielcke@z-51.de>
33429
33430 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33431 for `*.dpkg-new'.
33432
c44c90db 334332009-09-21 Colin Watson <cjwatson@ubuntu.com>
33434
33435 Build info documentation. Some code borrowed from Automake.
33436
33437 * configure.ac: Check for makeinfo.
33438 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33439 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33440 docs/version.texi.
33441 (MOSTLYCLEANFILES): Add vti.tmp.
33442 (docs/version.texi, docs/stamp-vti): Update automatically.
33443 (docs/grub.info): Build info documentation. Use --force and ignore
33444 errors for now.
33445 (all-local): Add $(INFOS).
33446 (install-local): Install info files.
33447 (uninstall): Uninstall info files.
33448 * docs/version.texi: Remove from revision control. This file is
33449 automatically generated on build now.
33450 * gendistlist.sh: Add `*.info'.
33451
e0b37bb5 334522009-09-21 Felix Zielcke <fzielcke@z-51.de>
33453
33454 * kern/term.c: Fix indentation.
33455
5a78865b 334562009-09-21 Felix Zielcke <fzielcke@z-51.de>
33457
33458 * util/hostdisk.c: Fix a comment.
33459
dace7e8a 334602009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33461
33462 Fix regression introduced in r2539.
33463
33464 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33465 to 0xA1.
33466
a83d079b 334672009-09-19 Colin Watson <cjwatson@ubuntu.com>
33468
33469 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 33470 os-prober. Under normal operation, it does not print anything to
33471 stderr; if it does, we need to debug it, and throwing away stderr
33472 makes that excessively difficult.
a83d079b 33473
be94a509 334742009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33475
33476 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33477
63f745e8 334782009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33479
33480 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33481 AC_LANG_PROGRAM from autoconf.
33482 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33483 prototypes (fixes warning).
33484
33485 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33486 `--disable-werror' was used.
33487
bbb2a70f 334882009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33489
33490 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33491 uninitialized `lastaddr'.
33492
77c24f1d 334932009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33494
0f0b8c87 33495 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33496
07197f23 334972009-09-14 Colin Watson <cjwatson@ubuntu.com>
33498
33499 * commands/test.c (get_fileinfo): Return immediately if
33500 grub_fs_probe fails.
33501
dabf1798 335022009-09-14 José Martínez <xosemp@gmail.com>
33503
33504 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33505
d52109a7 335062009-09-14 Colin Watson <cjwatson@ubuntu.com>
33507
33508 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33509 output.
33510
56532179 335112009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33512
33513 * configure.ac: Remove --enable-grub-pe2elf. Only build
33514 grub-pe2elf when needed by the build system itself.
33515 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33516
8ef070f5 335172009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33518
33519 * configure.ac: Bump version to 1.97~beta3.
33520 * docs/version.texi: Likewise.
33521
61229557 335222009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33523
33524 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33525 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33526 from here ...
33527 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33528 (grub_linux_setup_video): ... to here (with some adjustments).
33529
5c9f8d84 335302009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33531
33532 Fix memory corruption issue (spotted by Colin Watson).
33533
33534 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33535 causing returned size to be stored in an incorrect memory location.
33536 Fix use of uninitialized value when storing the returned size.
33537
e8f5d6e9 335382009-09-12 Yves Blusseau <blusseau@zetam.org>
33539
33540 Change clean rules to properly remove files
33541
33542 * genmk.rb: add new clean rules
33543 * Makefile.in (clean): add the new targets
33544 (mostlyclean): likewise
33545
cda2a409 335462009-09-11 Colin Watson <cjwatson@ubuntu.com>
33547
33548 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33549 to grub_uint64_t.
33550 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33551 non-resident files.
33552
86695375 335532009-09-11 Colin Watson <cjwatson@ubuntu.com>
33554
33555 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33556 part of bug #27349.
33557
8aa1541a 335582009-09-10 Felix Zielcke <fzielcke@z-51.de>
33559
33560 * util/grub-mkconfig.in: Make the created config mode 400 and
33561 print a warning if it fails.
33562
48d9bb0a 335632009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33564
33565 * util/grub.d/40_custom.in: Ask user to type custom entries below
33566 comment, rather than below 'exec tail' line.
33567
3b0521be 335682009-09-10 Colin Watson <cjwatson@ubuntu.com>
33569
33570 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33571 visible in grub.cfg.
33572
50051d55 335732009-09-10 Colin Watson <cjwatson@ubuntu.com>
33574
33575 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33576 file.
33577
c0d34387 335782009-09-10 Felix Zielcke <fzielcke@z-51.de>
33579
33580 * docs/grub.cfg: Add an example menu entry for memtest86+.
33581
80a608f3 335822009-09-09 Felix Zielcke <fzielcke@z-51.de>
33583
a2094832 33584 * config.guess: Update to latest version from config git.
80a608f3 33585 * config.sub: Likewise.
33586
99423078 335872009-09-08 Colin Watson <cjwatson@ubuntu.com>
33588
33589 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33590 unknown-command case. Fixes bug #27320.
33591
44454e4c 335922009-09-08 Felix Zielcke <fzielcke@z-51.de>
33593
33594 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33595 `help' if the command exists.
33596
e30d87ad 335972009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33598
33599 * INSTALL: Require GCC 4.1.3 or later.
33600
9a86f1ec 336012009-09-06 Yves Blusseau <blusseau@zetam.org>
33602
33603 * Makefile.in (RMKFILES): add i386-qemu.rmk
33604 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33605 $(srcdir)/stamp-h.in
33606
7f26d466 336072009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33608
33609 * util/grub-probe.c (probe): Comment out buggy codepath, which
33610 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33611 should be re-enabled after 1.97.
33612
3a613259 336132009-09-05 Felix Zielcke <fzielcke@z-51.de>
33614
33615 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33616 find searches for.
33617
197f76c7 336182009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33619
33620 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33621 unnecessary calls to grub_error.
33622
70ba68ce 336232009-09-04 Colin Watson <cjwatson@ubuntu.com>
33624
33625 * NEWS: Mention `keystatus' and Unicode fonts.
33626
4ff0d7a4 336272009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33628
33629 * configure.ac: Bump version to 1.97~beta2.
33630 * docs/version.texi: Likewise.
33631
77c55a87 336322009-09-03 Colin Watson <cjwatson@ubuntu.com>
33633
33634 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33635 containing unwind information in some cases where it previously did
33636 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33637 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33638 discussion.
33639
f79572cd 336402009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33641
33642 Embedding loadenv module into grub-emu
33643
33644 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33645 commands/loadenv.c
33646 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33647 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33648 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33649 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33650 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33651 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33652
93a81088 336532009-09-03 Magnus Granberg <zorry@ume.nu>
33654
33655 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33656 include -fPIE in the default specs.
33657 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33658 to TARGET_CFLAGS.
33659
160034b2 336602009-09-03 Felix Zielcke <fzielcke@z-51.de>
33661
33662 * INSTALL: Note that GNU Bison 2.3 or later is required.
33663
087c07c4 336642009-09-03 Colin Watson <cjwatson@ubuntu.com>
33665
33666 * kern/i386/pc/startup.S: Fix typo.
33667
cbf978c0 336682009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33669
33670 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33671 according to GCS.
33672
336732009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33674
33675 * docs/grub.texi (Naming convention): Describe one-based partition
33676 numbering.
33677 (Device syntax): Likewise.
33678 (File name syntax): Likewise.
33679 (Block list syntax): Likewise.
33680 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33681 menu.lst.
33682 (File name syntax): Likewise.
33683 (Command-line and menu entry commands): Document acpi, blocklist,
33684 crc, export, insmod, keystatus, ls, set, and unset commands.
33685
f3e8cdfd 336862009-09-02 Colin Watson <cjwatson@ubuntu.com>
33687
33688 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33689 to avoid implying that only one of --shift, --ctrl, or --alt may be
33690 used.
33691
c0bc232b 336922009-09-02 Colin Watson <cjwatson@ubuntu.com>
33693
33694 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33695 rather than comparing against S_IFREG, which will almost never work.
33696
aa0f752d 336972009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33698
33699 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33700 (write_blocklists): Likewise.
33701
ecb3166a 337022009-09-01 Colin Watson <cjwatson@ubuntu.com>
33703
33704 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33705 argument to grub_printf.
33706
c403a125 337072009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33708
33709 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33710 non GNU test.
31aba781 33711
b5e7312c 337122009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33713
33714 * kern/file.c (grub_file_read): Spelling fix
33715
fe00f472 337162009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33717
33718 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33719 loading of headers in some cases.
33720
cc55302e 337212009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33722
33723 * configure.ac: Bump version to 1.97~beta1.
33724 * docs/version.texi: Likewise.
33725
5c90cdd2 337262009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33727
33728 * include/grub/i386/xnu.h: Add license header.
33729 include grub/err.h explicitly.
33730
c90edae4 337312009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33732
33733 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33734 to `ufs' in the vfs.root.mountfrom kernel parameter.
33735
d8888b5c 337362009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33737
33738 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33739
33740 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33741 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33742
33743 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33744 `ARRAY_SIZE' macro.
33745
6f07b921 337462009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33747
33748 * kern/file.c (grub_file_read): Check offset.
33749 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33750 * fs/jfs.c (grub_jfs_read_file): Likewise.
33751 * fs/ntfs.c (grub_ntfs_read): Likewise.
33752 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33753 * fs/minix.c (grub_minix_read_file): Correct offset check.
33754 * fs/ufs.c (grub_ufs_read_file): Likewise.
33755
b4f34077 337562009-08-28 Colin Watson <cjwatson@ubuntu.com>
33757
33758 * term/i386/pc/console.c (bios_data_area): Cast
33759 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33760
e7c69859 337612009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33762
33763 1-bit optimised blitters.
33764
33765 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33766 prototype.
33767 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33768 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33769 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33770 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33771 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33772 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33773 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33774 function.
33775 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33776 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33777 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33778 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33779 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33780 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33781 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33782 when possible.
33783 * video/video.c (grub_video_get_blit_format): Return
33784 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33785
a57da43f 337862009-08-28 Colin Watson <cjwatson@ubuntu.com>
33787
33788 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33789 the first argument to grub_printf.
33790
4cbe67e5 337912009-08-28 Colin Watson <cjwatson@ubuntu.com>
337922009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33793
33794 Add `getkeystatus' terminal method. Add a new `keystatus' command
33795 to query it.
33796
33797 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33798 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33799 modifier key bitmasks.
33800 (struct grub_term_input): Add `getkeystatus' member.
33801 (grub_getkeystatus): Add prototype.
33802 * kern/term.c (grub_getkeystatus): New function.
33803
33804 * include/grub/i386/pc/memory.h
33805 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33806 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33807 Data Area layout.
33808 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33809 (grub_console_term_input): Set `getkeystatus' member.
33810 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33811 constants.
33812 (grub_usb_keyboard_getreport): Likewise.
33813 (grub_usb_keyboard_checkkey): Likewise.
33814 (grub_usb_keyboard_getkeystatus): New function.
33815 (grub_usb_keyboard_term): Set `getkeystatus' member.
33816
33817 * commands/keystatus.c: New file.
33818 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33819 (keystatus_mod_SOURCES): New variable.
33820 (keystatus_mod_CFLAGS): Likewise.
33821 (keystatus_mod_LDFLAGS): Likewise.
33822 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33823 commands/keystatus.c.
33824 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33825 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33826 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33828 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33829 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33830
6e2a9085 338312009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33832
33833 Split befs.mod and afs.mod into *_be.mod and *.mod
33834
33835 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33836 (grub_fstest_SOURCES): Likewise.
33837 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33838 (afs_be_mod_SOURCES): New variable.
33839 (afs_be_mod_CFLAGS): Likewise.
33840 (afs_be_mod_LDFLAGS): Likewise.
33841 (befs_be_mod_SOURCES): Likewise.
33842 (befs_be_mod_CFLAGS): Likewise.
33843 (befs_be_mod_LDFLAGS): Likewise.
33844 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33845 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33846 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33847 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33848 (grub_emu_SOURCES): Likewise.
33849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33850 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33851 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33852 * fs/afs_be.c: New file.
33853 * fs/befs_be.c: New file.
33854 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33855 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33856 (U16): Replaced with ...
33857 (grub_afs_to_cpu16): ...this. All users updated.
33858 (U32): Replaced with ...
33859 (grub_afs_to_cpu32): ...this. All users updated.
33860 (U64): Replaced with ...
33861 (grub_afs_to_cpu64): ...this. All users updated.
33862 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33863 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33864 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33865 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33866 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33867 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33868 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33869 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33870 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33871 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33872 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33873
32a71655 338742009-08-26 Bean <bean123ch@gmail.com>
33875
33876 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33877 64-bit number.
33878 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33879 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33880 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33881
552bf6c5 338822009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33883
33884 NetBSD memory map support.
33885
33886 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33887 (grub_netbsd_btinfo_mmap_header): New structure.
33888 (grub_netbsd_btinfo_mmap_entry): Likewise.
33889 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33890
1ae2078c 338912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33892
33893 Enable bsd.mod on coreboot.
33894
33895 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33896 (bsd_mod_SOURCES): New variable.
33897 (bsd_mod_CFLAGS): Likewise.
33898 (bsd_mod_LDFLAGS): Likewise.
33899 (bsd_mod_ASFLAGS): Likewise.
33900 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33901 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33902
beefc598 339032009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33904
33905 Cleanup NetBSD root support.
33906
33907 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33908 grub_bsd_get_device.
33909 Fix typo.
33910
3b76e68b 339112009-08-25 Felix Zielcke <fzielcke@z-51.de>
33912
33913 * util/grub.d/00_header.in: Move check for the video backend of
33914 gfxterm from here ...
33915 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33916 a suitable video backend.
33917
aea664ea 339182009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33919
33920 Fix breakage in grub-setup.
33921
33922 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33923 "msdos_partition_map".
33924
ff747d50 339252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33926
33927 Fix breakage in normal/auth.c.
33928
33929 * normal/auth.c (grub_iswordseparator): New function.
33930
e7e1f93f 339312009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33932
33933 Authentication support.
33934
33935 * commands/password.c: New file.
33936 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33937 (password_mod_SOURCES): New variable.
33938 (password_mod_CFLAGS): Likewise.
33939 (password_mod_LDFLAGS): Likewise.
33940 (normal_mod_SOURCES): Add normal/auth.c.
33941 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33942 normal/auth.c.
33943 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33944 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33945 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33946 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33947 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33948 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33949 * include/grub/auth.h: New file.
33950 * include/grub/err.h (grub_err_t): New enum value
33951 GRUB_ERR_ACCESS_DENIED.
33952 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33953 'users'.
33954 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33955 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33956 users updated.
33957 * normal/auth.c: New file.
33958 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33959 (grub_cmdline_run): Don't allow to go to command line without
33960 authentication.
33961 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33962 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33963 menuentry without superuser rights.
33964 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33965 user isn't a superuser.
33966
70f1161d 339672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33968
33969 Save space by inlining misc.c functions.
33970
33971 * kern/misc.c (grub_iswordseparator): Made static.
33972 * kern/misc.c (grub_strcat): Moved from here ...
33973 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33974 * kern/misc.c (grub_strncat): Moved from here ...
33975 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33976 * kern/misc.c (grub_strcasecmp): Moved from here ...
33977 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33978 * kern/misc.c (grub_strncasecmp): Moved from here ...
33979 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33980 * kern/misc.c (grub_isalpha): Moved from here ...
33981 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33982 * kern/misc.c (grub_isdigit): Moved from here ...
33983 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33984 * kern/misc.c (grub_isgraph): Moved from here ...
33985 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33986 * kern/misc.c (grub_tolower): Moved from here ...
33987 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33988
48e40bff 339892009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33990
33991 * script/sh/function.c (grub_script_function_find): Cut error message
33992 not to flood terminal.
33993 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33994 limit.
33995 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33996
c385bfc3 339972009-08-24 Colin Watson <cjwatson@ubuntu.com>
33998
33999 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
34000 `report' grub_uint8_t *.
34001 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
34002 Use a 50-millisecond timeout rather than just repeating
34003 grub_usb_keyboard_getreport 50 times.
34004 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
34005
2d21e3e8 340062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34007
34008 Rename *_partition_map to part_*
34009
34010 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
34011 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
34012 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
34013 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
34014 All users updated.
34015 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
34016 All users updated.
34017 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
34018 * util/grub-probe.c (probe_partmap): Don't transform partition name
34019 to get module name.
34020
dd103c4e 340212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34022
34023 Fix OpenBSD and NetBSD support.
34024
34025 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
34026 memory address conflict.
34027 (OPENBSD_MMAP_ACPI): New definition.
34028 (OPENBSD_MMAP_NVS): Likewise.
34029 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34030 and OPENBSD_MMAP_NVS.
34031 Add memory map terminator
34032 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 34033 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 34034
16c84d74 340352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34036
34037 Let user specify NetBSD root device.
34038
34039 * loader/i386/bsd.c (netbsd_root): New variable.
34040 (netbsd_opts): New option 'root'.
34041 (NETBSD_ROOT_ARG): New macro.
34042 (grub_netbsd_boot): Use 'netbsd_root'.
34043 (grub_bsd_unload): Free 'netbsd_root'.
34044 (grub_cmd_netbsd): Fill 'netbsd_root'.
34045
adb29902 340462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34047
34048 Support for 64-bit NetBSD.
34049
34050 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34051 point when booting non-FreeBSD.
34052
f5ae9f74 340532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34054
34055 Support --no-smp and --no-acpi for NetBSD.
34056
34057 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34058 (NETBSD_AB_NOACPI): Likewise.
34059 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34060 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34061
de74f136 340622009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34063
34064 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34065 errors.
34066 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34067 errors. Call grub_error when needed.
34068
e9a925da 340692009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34070
34071 * commands/search.c (search_fs): Try searching without autoload first.
34072 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34073 filesystem module explicitly for faster booting.
34074
5174302b 340752009-08-23 Colin Watson <cjwatson@ubuntu.com>
34076
34077 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34078
c8c80635 340792009-08-23 Colin Watson <cjwatson@ubuntu.com>
34080
34081 * util/grub.d/30_os-prober.in: Disable os-prober if
34082 `GRUB_DISABLE_OS_PROBER' was set to true.
34083
71acf5e5 340842009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34085
34086 * partmap/pc.c: Rename to ...
34087 * partmap/msdos.c: ... this. Update all users.
34088 (grub_pc_partition_map): Rename to ...
34089 (grub_msdos_partition_map): ... this. Update all users.
34090
34091 * parttool/pcpart.c: Rename to ...
34092 * parttool/msdospart.c: ... this. Update all users.
34093
34094 * include/grub/pc_partition.h: Rename to ...
34095 * include/grub/msdos_partition.h: ... this. Update all users.
34096 (grub_pc_partition_bsd_entry): Rename to ...
34097 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34098 (grub_pc_partition_disk_label): Rename to ...
34099 (grub_msdos_partition_disk_label): ... this. Update all users.
34100 (grub_pc_partition_entry): Rename to ...
34101 (grub_msdos_partition_entry): ... this. Update all users.
34102 (grub_pc_partition_mbr): Rename to ...
34103 (grub_msdos_partition_mbr): ... this. Update all users.
34104 (grub_pc_partition): Rename to ...
34105 (grub_msdos_partition): ... this. Update all users.
34106 (grub_pc_partition_is_empty): Rename to ...
34107 (grub_msdos_partition_is_empty): ... this. Update all users.
34108 (grub_pc_partition_is_extended): Rename to ...
34109 (grub_msdos_partition_is_extended): ... this. Update all users.
34110 (grub_pc_partition_is_bsd): Rename to ...
34111 (grub_msdos_partition_is_bsd): ... this. Update all users.
34112
34113 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34114 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34115 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34116 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34117 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34118 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34119 (gpt_mod_LDFLAGS): Rename to ...
34120 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34121 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34122 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34123 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34124 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34125 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34126 (part_gpt_mod_LDFLAGS): ... this.
34127 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34128 `pcpart.mod' to `msdospart.mod'.
34129 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34130 to ...
34131 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34132 (msdospart_mod_LDFLAGS): ... this.
34133
c11fded5 341342009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34135
34136 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34137 (openbsd_opts): Likewise.
34138 (netbsd_opts): Likewise.
34139 (freebsd_flags): Added 0 terminator.
34140 (openbsd_flags): Likewise.
34141 (netbsd_flags): Likewise.
34142 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34143 (grub_cmd_freebsd): Transformed into extended command.
34144 (grub_cmd_openbsd): Likewise.
34145 (grub_cmd_netbsd): Likewise.
34146 (cmd_freebsd): Changed type to grub_extcmd_t.
34147 (cmd_openbsd): Likewise.
34148 (cmd_netbsd): Likewise.
34149 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34150 grub_cmd_openbsd as extended commands.
34151 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34152 cmd_netbsd and cmd_openbsd
34153
11d1c769 341542009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34155
34156 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34157
7a9094e5 341582009-08-21 Pavel Roskin <proski@gnu.org>
34159
5496c37e 34160 * Makefile.in (install-local): When checking if a file is in the
34161 build directory, use "test -e" to detect symlinks.
34162
7a9094e5 34163 * Makefile.in (install-local): Remove all files in
34164 $(DESTDIR)$(pkglibdir) before installing new files there.
34165
e53cea11 341662009-08-18 Felix Zielcke <fzielcke@z-51.de>
34167
34168 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
34169 grub-mkelfimage.
34170
9aced544 341712009-08-18 Felix Zielcke <fzielcke@z-51.de>
34172
34173 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34174 explicitly specified by the user.
34175
b7da6bab 341762009-08-18 Pavel Roskin <proski@gnu.org>
34177
34178 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34179 grub_uint8_t pointer for data.
34180 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34181 Likewise.
34182 * video/fb/fbutil.c: Remove unnecessary casts.
34183
19f1b335 341842009-08-17 Michal Suchanek <hramrach@centrum.cz>
34185
34186 VBE cleanup.
34187
34188 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
34189 (grub_vbe_set_video_mode): Save active mode info
34190 only after setting the mode.
34191 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
34192 second argument.
34193
2f467aa9 341942009-08-17 Michal Suchanek <hramrach@centrum.cz>
34195
34196 Rename variables for clarity.
34197
34198 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
34199 (active_vbe_mode_info): ... this. All users updated.
34200 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34201 All users updated.
34202 (initial_mode): Rename to ...
34203 (initial_vbe_mode): ... this. All users updated.
34204 (mode_in_use): Rename to ..
34205 (vbe_mode_in_use): ... this. All users updated.
34206 (mode_list): Rename to ..
34207 (vbe_mode_list): ... this. All users updated.
34208 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34209 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34210 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34211 'mode_list_size' to 'vbe_mode_list_size'.
34212 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34213 'best_mode_info' to 'best_vbe_mode_info' and
34214 'best_mode' to 'best_vbe_mode'
34215
6025fcd7 342162009-08-17 Michal Suchanek <hramrach@centrum.cz>
34217
34218 Remove duplicate grub_video_fb_get_video_ptr.
34219
34220 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34221 (grub_video_fb_get_video_ptr): ... this.
34222 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34223 * video/fb/fbutil.c: Add comment about addressing.
34224 (get_data_ptr): Rename to ...
34225 (grub_video_fb_get_video_ptr): ... this. All users updated.
34226 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34227
cc8c6faf 342282009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34229
34230 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34231 grub_dprintf() that was just added.
34232
08aa61f0 342332009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34234
34235 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34236 (DEFAULT_VIDEO_MODE): Remove macros.
34237 (grub_linux_boot): Remove assumption that Linux has FB support,
34238 and use "text" as default video mode.
34239
7cef4f75 342402009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34241
34242 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34243 grub_dprintf.
34244 * fs/fat.c (grub_fat_read_data): Likewise.
34245
e1f39873 342462009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34247
34248 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34249 payload.
34250 (grub_module): Likewise.
34251
c166d79e 342522009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34253
34254 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34255 mbi->cmdline but free playground.
34256
c60cee8e 342572009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34258
34259 Handle group offset on UFS1.
34260
34261 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34262 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34263
c0d8b5d4 342642009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34265
34266 Split ufs.mod into ufs1.mod and ufs2.mod.
34267
34268 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34269 (grub_fstest_SOURCES): Likewise.
34270 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34271 (ufs_mod_SOURCES): Remove.
34272 (ufs_mod_CFLAGS): Likewise.
34273 (ufs_mod_LDFLAGS): Likewise.
34274 (ufs1_mod_SOURCES): New variable.
34275 (ufs1_mod_CFLAGS): Likewise.
34276 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 34277 (ufs2_mod_SOURCES): New variable.
34278 (ufs2_mod_CFLAGS): Likewise.
34279 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 34280 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34281 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34282 Likewise.
34283 (grub_emu_SOURCES): Likewise.
34284 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34285 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34286 (grub_setup_SOURCES): Likewise.
34287 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34288 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34289 (grub_setup_SOURCES): Likewise.
34290 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34291 Likewise.
34292 * fs/ufs2.c: New file.
34293 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34294
d3539132 342952009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34296
34297 Framebuffer split.
34298
34299 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34300 subsystem at the end.
34301 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34302 (video_fb_mod_SOURCES): New variable.
34303 (video_fb_mod_CFLAGS): Likewise.
34304 (video_fb_mod_LDFLAGS): Likewise.
34305 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34306 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34307 * video/i386/pc/vbeblit.c: Moved from here ...
34308 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34309 * video/i386/pc/vbefill.c: Moved from here ...
34310 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34311 * video/i386/pc/vbeutil.c: Moved from here ...
34312 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34313 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34314 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34315 * include/grub/i386/pc/vbefill.h: Moved from here ...
34316 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34317 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34318 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34319 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34320 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34321 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34322 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34323 (grub_video_adapter): Added 'get_info_and_fini'.
34324 (grub_video_get_info_and_fini): New prototype.
34325 (grub_video_set_mode): make modestring const char *.
34326 * loader/i386/linux.c (grub_linux_setup_video): Use
34327 grub_video_get_info_and_fini.
34328 (grub_linux_boot): Move modesetting just before booting.
34329 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34330 grub_video_get_info_and_fini.
34331 * video/i386/pc/vbe.c: Moved framebuffer part ...
34332 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34333 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34334 grub_video_fbstd_colors and grub_video_fb_set_palette.
34335 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34336 grub_video_fb_init.
34337 (grub_video_vbe_fini): Use grub_video_fb_fini.
34338 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34339 render_target and use grub_video_fb_set_active_render_target and
34340 grub_video_fb_set_palette.
34341 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34342 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34343 (grub_video_vbe_adapter): Use framebuffer.
34344 * video/video.c (grub_video_get_info_and_fini): New function.
34345 (grub_video_set_mode): Make modestring const char *.
34346 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34347 values are already initialised.
34348
d404ee56 343492009-08-14 Pavel Roskin <proski@gnu.org>
34350
34351 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34352 ABS and APPLE_CC.
34353 * boot/i386/pc/diskboot.S: Likewise.
34354 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34355 sectors allow compilation on MacOSX.
34356 * conf/i386-pc.rmk: Enable unconditional compilation of
34357 lnxboot.img.
34358
9a10df16 343592009-08-13 Colin Watson <cjwatson@ubuntu.com>
34360
34361 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34362 * util/grub.d/00_header.in: Enter interruptible sleep if
34363 GRUB_HIDDEN_TIMEOUT is set.
34364
be3c9ca7 343652009-08-13 Yves Blusseau <blusseau@zetam.org>
34366
34367 * include/grub/symbol.h: Add the LOCAL macro.
34368 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34369 starting with "L_".
34370
1f9e557e 343712009-08-13 Pavel Roskin <proski@gnu.org>
34372
9ca62843 34373 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34374 any modern compilers we support.
34375
1f9e557e 34376 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34377 Use local labels starting with "L_" so that Apple assembler
34378 knows they are local.
34379
81623db6 343802009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34381
34382 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34383 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34384 (bsd_kernel_types): ... this enum.
34385
34386 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34387 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34388 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34389
34390 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34391 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34392 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34393 messages.
34394
f5d35e7a 343952009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34396
34397 * util/grub-dumpdevtree: Moved from here ...
34398 * util/i386/efi/grub-dumpdevtree: ... to here.
34399 (hexify): New function. Converts a string to its hex version.
34400 Generate hex versions of "efi" and "device-properties" by calling
34401 hexify() on the ASCII strings rather than by hardcoding numbers.
34402
d1e1d527 344032009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34404
34405 * fs/jfs.c: Update copyright year.
34406
1ebbe064 344072009-08-08 Felix Zielcke <fzielcke@z-51.de>
34408
34409 * util/grub.d/00_header.in: Fix a comment.
34410 * util/grub.d/10_linux.in: Likewise.
34411 * util/grub.d/10_windows.in: Likewise.
34412 * util/grub.d/10_hurd.in: Likewise.
34413
a78c8d24 344142009-08-08 Felix Zielcke <fzielcke@z-51.de>
34415
34416 * util/grub-mkconfig.in: Allow the user to specify the used font
34417 with GRUB_FONT.
34418
29a6b9e8 344192009-08-08 Pavel Roskin <proski@gnu.org>
34420
b5f16cc4 34421 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34422 available, xfs.mod needs it now.
34423
2f5cb827 34424 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34425 the "g" modifier in sed when the intention is to strip something
34426 once. This fixes comparison of kernels with multiple dashes.
34427
29a6b9e8 34428 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34429 on it. Add missing space before closing bracket. Fix
34430 misleading formatting.
34431
892a3d98 344322009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34433
34434 * docs/grub.texi: Major overhaul. Remove all sections that are
34435 specific to GRUB Legacy, or mostly composed of Legacy-specific
34436 information.
34437
ed94253f 344382009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34439
34440 * docs/version.texi: New file. Provides version information for
34441 grub.texi.
34442
126d6628 344432009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34444
34445 * docs/grub.texi: Update CVS information to SVN.
34446 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34447
998b5aa9 344482009-08-07 Felix Zielcke <fzielcke@z-51.de>
34449
34450 * util/grub-mkconfig.in: Remove a wrong `fi'.
34451
818e094a 344522009-08-07 Felix Zielcke <fzielcke@z-51.de>
34453
34454 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34455 (grub_jfs_uuid): New function.
34456 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34457
b969c52f 344582009-08-07 Felix Zielcke <fzielcke@z-51.de>
34459
34460 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34461 of it to ...
34462 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34463 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34464
7a4894cc 344652009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34466
34467 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34468 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34469 Update all users.
34470
34471 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34472 not just "vmlinu[zx]".
34473 Moved from here ...
34474 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34475 all users.
34476
34477 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34478 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34479 all users.
34480
4e2171f8 344812009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34482
34483 * util/grub.d/10_freebsd.in: Use an absolute device path for
34484 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34485
6dcfcb32 344862009-08-06 Felix Zielcke <fzielcke@z-51.de>
34487
34488 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34489 handling of multiple abstraction modules.
34490
f56a8756 344912009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34492
34493 Fix a bug resulting in black screen when loading Linux using a
34494 packed video mode.
34495
34496 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34497 function.
34498
34499 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34500 (grub_vbe_bios_getset_dac_palette_width): New function.
34501 (grub_vbe_bios_get_dac_palette_width)
34502 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34503 grub_vbe_bios_getset_dac_palette_width()).
34504
34505 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34506 check for return status.
34507 (grub_vbe_get_video_mode_info): When getting information for a packed
34508 mode (<= 8 bpp), obtain DAC palette width using
34509 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34510 {red,green,blue}_mark_size.
34511
222671b2 345122009-08-04 Felix Zielcke <fzielcke@z-51.de>
34513
ecb1a6d9 34514 * commands/search.c (options): Fix help output to match actual code.
222671b2 34515
f84114f5 345162009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34517
34518 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34519 of homegrown code.
34520
bd288a20 345212009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34522
34523 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34524 on XFS or ReiserFS.
34525
8aab5e25 345262009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34527
34528 Support Apple partition map with sector size different from 512 bytes.
34529
34530 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34531 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34532 and 'apart.partmap_size'.
34533
6ad6258a 345342009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
345352009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34536
34537 Fix cpuid command.
34538
34539 * commands/i386/cpuid.c (options): New variable.
34540 (grub_cmd_cpuid): Return real error.
34541 (GRUB_MOD_INIT(cpuid)): Declare options.
34542
67459bc6 345432009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34544
34545 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34546 valid.
34547
fbc6ab54 345482009-07-31 Bean <bean123ch@gmail.com>
34549
34550 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34551 log2_inode.
34552 (grub_fshelp_node): Move inode field to the end.
34553 (grub_xfs_data): Remove inode field.
34554 (grub_xfs_inode_block): Calculate inode size using sblock.
34555 (grub_xfs_inode_offset): Likewise.
34556 (grub_xfs_read_inode): Calculate inode size using sblock.
34557 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34558 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34559 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34560 to match inode size.
34561 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34562 not accessible when data is null.
34563 (grub_xfs_open): Likewise.
34564
f45d6cfc 345652009-07-31 Bean <bean123ch@gmail.com>
34566
34567 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34568 Don't change pv->disk if it's already set.
34569
34570 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34571 (grub_raid_register): ... here.
34572 (grub_raid_rescan): Removed.
34573
34574 * include/grub/raid.h (grub_raid_rescan): Removed.
34575
34576 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34577 (fstest): Replace grub_raid_rescan with module fini function followed
34578 by init function.
34579
34580 * util/grub-probe.c: Add include file <grub/raid.h>.
34581 (probe_raid_level): New function.
34582 (probe): Detect abstraction by walking the disk device, support two
34583 level of abstraction (LVM on RAID) when detecting partition map.
34584
24443b5a 345852009-07-31 Pavel Roskin <proski@gnu.org>
34586
34587 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34588 to grub_zalloc(), it was erroneous.
34589 Reported by Bean <bean123ch@gmail.com>
34590
a275d9e7 345912009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34592
34593 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34594 embedding zone, not only the first one.
a275d9e7 34595
56c5a47f 345962009-07-29 Joe Auricchio <jauricchio@gmail.com>
34597
34598 * term/gfxterm.c (clear_char): New function.
34599 (grub_virtual_screen_setup): Use clear_char.
34600 (scroll_up): Likewise.
34601 (grub_virtual_screen_cls): Likewise.
34602
67bb323a 346032009-07-29 Felix Zielcke <fzielcke@z-51.de>
34604
34605 * util/deviceiter.c (get_acceleraid_disk_name): New static
34606 function.
34607 (grub_util_iterate_devices): Handle Accelraid devices.
34608 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34609
388a7c75 346102009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34611
34612 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34613 separator for the suggested gfxpayload string (';' collides with the
34614 parser and needs escaping).
34615
3bb7abcf 346162009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34617
34618 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34619 Clear direction flag before jumping to OS.
34620 (grub_multiboot2_real_boot): Likewise.
34621
2ddd36d7 346222009-07-28 Felix Zielcke <fzielcke@z-51.de>
34623
34624 * util/i386/pc/grub-install: Fix parsing of --disk-module
34625 option.
34626
c521b62b 346272009-07-28 Felix Zielcke <fzielcke@z-51.de>
34628
34629 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34630 when embedding.
34631
880e0a0c 346322009-07-26 Felix Zielcke <fzielcke@z-51.de>
34633
34634 * util/grub-mkconfig.in (package_version): New variable.
34635 Use it do display the version.
34636
2366e356 346372009-07-25 Felix Zielcke <fzielcke@z-51.de>
34638
34639 * kern/file.c (grub_file_open): Revert to previous check with
34640 grub_errno.
34641
7ad8c80e 346422009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34643
34644 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34645 from help line. It's out of sync with code.
34646
72b9658b 346472009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34648
34649 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34650 entries on failed boot.
34651
77435277 346522009-07-25 Felix Zielcke <fzielcke@z-51.de>
34653
34654 * kern/file.c (grub_file_open): Fix an error check.
34655
fcaa8b21 346562009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34657
35d16c74 34658 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34659 partition map couldn't be identified.
fcaa8b21 34660
48904cd1 346612009-07-23 Pavel Roskin <proski@gnu.org>
34662
ef3c317f 34663 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34664 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34665 case of little endian words becomes just an optimization.
34666 Respect const modifier.
ad8ea1f4 34667 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34668
48904cd1 34669 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34670 to avoid loss of upper bits if align is unsigned and shorter
34671 than addr.
34672
260c9a89 346732009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34674
34675 UUID support for UFS
34676
34677 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34678 (grub_ufs_uuid): New function.
34679 (grub_ufs_fs): add .uuid
34680
f76ce889 346812009-07-21 Pavel Roskin <proski@gnu.org>
34682
34683 * kern/dl.c (grub_dl_check_header): Make static.
34684
6a6cbcaf 346852009-07-21 Felix Zielcke <fzielcke@z-51.de>
34686
34687 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34688 add drivemap for Vista. It breaks Windows 7.
34689
cffcddb2 346902009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34691
34692 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34693 128 bytes
34694
1ef44b80 346952009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34696
34697 Add BFS support
34698
34699 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34700 (grub_fstest_SOURCES): Likewise.
34701 (pkglib_MODULES): Add befs.mod.
34702 (befs_mod_SOURCES): New variable.
34703 (befs_mod_CFLAGS): Likewise.
34704 (befs_mod_LDFLAGS): Likewise.
34705 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34706 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34707 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34708 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34709 (grub_setup_SOURCES): Likewise.
34710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34711 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34712 (grub_setup_SOURCES): Likewise.
34713 * fs/befs.c: New file.
34714 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34715 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34716 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34717 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34718 (B_KEY_INDEX_ALIGN): New declaration.
34719 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34720 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34721 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34722 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34723 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34724 (grub_afs_mount) [MODE_BFS]: Likewise.
34725 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34726 (grub_afs_fs): Use GRUB_AFS_FSNAME
34727 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34728 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34729 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34730 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34731
4f253044 347322009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34733
34734 * util/getroot.c (find_root_device): Add support for MacOSX.
34735 * util/hostdisk.c: Likewise.
34736
57a55913 347372009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34738
34739 * font/font.c (find_glyph): Check whether a font is present to avoid
34740 segmentation fault.
75421ca9 34741
347422009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34743
34744 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34745
e98cd0c2 347462009-07-20 Pavel Roskin <proski@gnu.org>
34747
34748 * configure.ac: Trim excessively wordy excuses.
34749
1d2d169a 347502009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34751
34752 Add symlink, mtime and label support to AtheFS.
34753
34754 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34755 (grub_afs_iterate_dir): Handle symlinks.
34756 (grub_afs_open): Use grub_afs_read_symlink.
34757 (grub_afs_dir): Likewise.
34758 Pass mtime.
34759 (grub_afs_label): New function.
34760 (grub_afs_fs): Add grub_afs_label.
34761 (grub_afs_read_symlink): New function.
34762
186f3189 347632009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34764
34765 Fix AtheFS support.
34766
34767 * fs/afs.c: Fix comments style.
34768 (grub_afs_blockrun): Declare as packed.
34769 (grub_afs_datastream): Likewise.
34770 (grub_afs_bnode): Likewise.
34771 (grub_afs_btree): Likewise.
34772 (grub_afs_sblock): Likewise.
34773 Declare `name' as char.
34774 (grub_afs_inode): Declare as packed.
34775 Change void *vnode to grub_uint32_t unused.
34776 (grub_afs_iterate_dir): Check that key_size is positive.
34777 (grub_afs_mount): Don't read superblock twice.
75421ca9 34778 (grub_afs_dir): Don't free node in case of error,
186f3189 34779 grub_fshelp_find_file already handles this.
34780 (grub_afs_open): Likewise.
34781
5680109e 347822009-07-19 Pavel Roskin <proski@gnu.org>
34783
34784 * Makefile.in: Remove LIBLZO and enable_lzo.
34785 * conf/i386-pc.rmk: Remove lzo support.
34786 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34787 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34788 support.
34789 * kern/i386/pc/lzo1x.S: Remove.
34790 * kern/i386/pc/startup.S: Remove lzo support.
34791 * util/i386/pc/grub-mkimage.c: Likewise.
34792
ac70fa32 347932009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34794
34795 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34796 * fs/xfs.c (grub_xfs_dir): Likewise.
34797 * fs/afs.c (grub_afs_dir): Likewise.
34798 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34799 (grub_iso9660_open): Likewise.
34800 * fs/jfs.c (grub_jfs_open): Likewise.
34801 * fs/ext2.c (grub_ext2_dir): Likewise.
34802 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34803 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34804
eab58da2 348052009-07-16 Pavel Roskin <proski@gnu.org>
34806
d2838156 34807 * configure.ac: Never add "-c" to CFLAGS.
34808
55c70904 34809 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34810
43e6200c 34811 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34812 grub_cv_cc_efiemu should be used.
34813
ce7a733d 34814 * configure.ac: Typo fixes.
34815
eab58da2 34816 * kern/mm.c (grub_zalloc): New function.
34817 (grub_debug_zalloc): Likewise.
34818 * include/grub/mm.h: Declare grub_zalloc() and
34819 grub_debug_zalloc().
34820 * util/misc.c (grub_zalloc): New function.
34821 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34822 instead of grub_malloc(), remove unneeded initializations.
34823 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34824 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34825 * commands/parttool.c (grub_cmd_parttool): Likewise.
34826 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34827 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34828 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34829 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34830 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34831 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34832 (grub_cmd_efiemu_pnvram): Likewise.
34833 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34834 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34835 (grub_iso9660_iterate_dir): Likewise.
34836 * fs/jfs.c (grub_jfs_opendir): Likewise.
34837 * fs/ntfs.c (list_file): Likewise.
34838 (grub_ntfs_mount): Likewise.
34839 * kern/disk.c (grub_disk_open): Likewise.
34840 * kern/dl.c (grub_dl_load_core): Likewise.
34841 * kern/elf.c (grub_elf_file): Likewise.
34842 * kern/env.c (grub_env_context_open): Likewise.
34843 (grub_env_set): Likewise.
34844 (grub_env_set_data_slot): Likewise.
34845 * kern/file.c (grub_file_open): Likewise.
34846 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34847 * loader/i386/multiboot.c (grub_module): Likewise.
34848 * loader/xnu.c (grub_xnu_create_key): Likewise.
34849 (grub_xnu_create_value): Likewise.
34850 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34851 (read_config_file): Likewise.
34852 * normal/menu_entry.c (make_screen): Likewise.
34853 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34854 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34855 * script/sh/script.c (grub_script_parse): Likewise.
34856 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34857 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34858 * video/readers/png.c (grub_png_output_byte): Likewise.
34859 (grub_video_reader_png): Likewise.
34860
830afef7 348612009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34862
34863 Enable all targets that can be built by default
34864
830afef7 34865 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34866 grub-mkfont and grub-fstest if they can be built
34867
ee293aee 348682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34869
34870 Fix hang and segmentation fault in grub-emu-usb
34871
34872 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34873 * util/usb.c (grub_libusb_devices): likewise
34874 (grub_libusb_init): rename to ...
34875 (GRUB_MOD_INIT (libusb)):...this
34876 (grub_libusb_fini): rename to ..
34877 (GRUB_MOD_FINI (libusb)):...this
34878 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34879 * include/grub/disk.h (grub_raid_init): removed, it's useless
34880 (grub_raid_fini): likewise
34881 (grub_lvm_init): likewise
34882 (grub_lvm_fini): likewise
34883 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34884 by grub_init_all
34885
94414221 348862009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34887
34888 Fix libusb
34889
34890 * Makefile.in (LIBUSB): new macro
34891 * genmk.rb (Utility/print_tail): new method
34892 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34893 (top level): call util.print_tail at the end.
34894
59ade63d 348952009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34896
34897 Make FreeBSD accept zpool.cache
34898
34899 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34900 type is /boot/zfs/zpool.cache
34901
a58da8c7 349022009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34903
34904 Fix 64-bit efiemu
34905
34906 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34907 correct wrong typedef
34908 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34909
20591577 349102009-07-15 Pavel Roskin <proski@gnu.org>
34911
560ca572 34912 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34913 * kern/disk.c (struct grub_disk_cache): Likewise.
34914
e8e8e4fd 34915 * commands/probe.c (options): Typo fix.
34916
fde24e10 34917 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34918 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34919 accordingly.
34920 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34921
379c54c1 34922 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34923 the end of "Error" to make the message more readable.
34924
7bd8f5bf 34925 * boot/i386/pc/boot.S (kernel_segment): Remove.
34926 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34927 for destination.
34928
40b132c5 34929 * boot/i386/pc/boot.S (boot_version): Remove.
34930 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34931 Remove.
34932
20591577 34933 * include/grub/i386/pc/boot.h: Sort all offsets.
34934 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34935 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34936 * boot/i386/pc/boot.S: Assert location of every offset listed in
34937 include/grub/i386/pc/boot.h.
34938
2df32b2c 349392009-07-13 Pavel Roskin <proski@gnu.org>
34940
44b5d879 34941 * include/grub/i386/coreboot/machine.h: Rename
34942 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34943 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34944 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34945
17dc3751 34946 * kern/dl.c: Force native word size to suppress warnings when
34947 compiling grub-emu.
34948
2df32b2c 34949 * kern/device.c (grub_device_iterate): Change struct part_ent to
34950 hold the name, not a pointer to it. Use one grub_malloc() per
34951 partition, not two. Free partition_name if grub_malloc() fails.
34952 Set ents to NULL only before grub_partition_iterate() is called.
34953
75c59f59 349542009-07-11 Bean <bean123ch@gmail.com>
34955
34956 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34957 childname.
34958
0ae1bf88 349592009-07-10 Bean <bean123ch@gmail.com>
349602009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34961
34962 * kern/ieee1275/openfw.c (grub_children_iterate)
34963 (grub_devalias_iterate): Fix size evaluation for property or path
34964 strings, which was broken since r2132.
34965
8279cade 349662009-07-07 Pavel Roskin <proski@gnu.org>
34967
7d8a52d3 34968 * commands/search.c (search_file): Merge into ...
34969 (search_fs): ... this. Accept search type as argument.
34970 (grub_cmd_search): Pass search type to search_fs().
34971
25f9a05a 34972 * include/grub/util/console.h: New file.
34973 * util/console.c: Use it instead of grub/machine/console.h.
34974 * util/grub-emu.c: Likewise.
34975
8279cade 34976 * lib/arg.c (find_long_option): Remove.
34977 (find_long): Add `len' argument, make `s' const char *.
34978 (grub_arg_parse): Parse long options in place, not in a
34979 temporary buffer.
34980
4a11b60f 349812009-07-06 Pavel Roskin <proski@gnu.org>
34982
99f68041 34983 * commands/search.c (search_fs): Fix potential NULL pointer
34984 dereference.
34985
4a11b60f 34986 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34987 function pointer.
34988
e110f4de 349892009-07-06 Daniel Mierswa <impulze@impulze.org>
34990
34991 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34992 comparison.
34993
46eeb6a2 349942009-07-05 Pavel Roskin <proski@gnu.org>
34995
bab74958 34996 * include/grub/i386/linux.h (struct linux_kernel_params):
34997 Restore padding3, it's still needed.
34998
46eeb6a2 34999 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
35000 FreeBSD.
35001 * util/osdetect.lua: Likewise.
35002
b4a1dc79 350032009-07-05 Bean <bean123ch@gmail.com>
35004
35005 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
35006
35007 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
35008 (grub_lua_getenv): Likewise.
35009 (grub_lua_setenv): Likewise.
35010 (save_errno): New function.
35011 (push_result): Likewise.
35012 (grub_lua_enum_device): Likewise.
35013 (grub_lua_enum_file): Likewise.
35014 (grub_lua_file_open): Likewise.
35015 (grub_lua_file_close): Likewise.
35016 (grub_lua_file_seek): Likewise.
35017 (grub_lua_file_read): Likewise.
35018 (grub_lua_file_getline): Likewise.
35019 (grub_lua_file_getsize): Likewise.
35020 (grub_lua_file_getpos): Likewise.
35021 (grub_lua_file_eof): Likewise.
35022 (grub_lua_file_exist): Likewise.
35023 (grub_lua_add_menu): Likewise.
35024
35025 * script/lua/grub_lua.h (isupper): New inline function.
35026 (islower): Likewise.
35027 (ispunct): Likewise.
35028 (isxdigit): Likewise.
35029 (strcspn): Change to normal function.
35030 (strpbkr): New function declaration.
35031 (memchr): Likewise.
35032
35033 * script/lua/grub_main.c (scan_str): New function.
35034 (strcspn): Likewise.
35035 (strpbrk): Likewise.
35036 (memchr): Likewise.
35037
35038 * script/lua/linit.c (lualibs): Enable the string library.
35039
35040 * util/osdetect.lua: New file.
35041
2da92295 350422009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35043
35044 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35045 `capabilities' member.
35046
b2582ec9 350472009-07-02 Pavel Roskin <proski@gnu.org>
35048
35049 * genparttoollist.sh: Add missing newline at the end.
35050
32622956 350512009-07-01 Pavel Roskin <proski@gnu.org>
35052
87a7339e 35053 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35054
d23af54e 35055 * util/hostdisk.c (open_device): Remove `const' from
35056 `sysctl_size', as sysctlbyname() can change it (in this case it
35057 doesn't actually happen).
35058
c94b18a9 35059 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35060 using signed long int constants.
35061
c6cd3ef0 35062 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35063 constant to avoid a warning on FreeBSD.
35064
0df63420 35065 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35066 where it's needed.
35067
999577f1 35068 * Makefile.in: Install include/grub/machine symlink.
35069
6f41557f 35070 * Makefile.in: When installing symlinks, use "cp -fR", which
35071 works on FreeBSD and MacOSX.
35072 From Yves Blusseau <cl7m42e02@sneakemail.com>
35073
c8d22988 35074 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35075 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35076
1b96e952 35077 * util/misc.c: Move grub_reboot() and grub_halt() ...
35078 * util/grub-emu.c: ... here. Make main_env static.
35079 * include/grub/util/misc.h: Remove main_env.
35080
2ef0084d 35081 * kern/mm.c: Use correct format to print size_t.
35082
32622956 35083 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35084 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35085 * kern/powerpc/dl.c: Likewise.
35086 * kern/sparc64/dl.c: Likewise.
35087 * kern/x86_64/dl.c: Likewise.
35088
3f7f0cd0 350892009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35090
35091 Fix grub-emu build on sparc64-ieee1275.
35092
75421ca9 35093 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 35094 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35095
211d06b5 350962009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35097
35098 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35099 (grub_reboot, grub_halt): New functions.
35100
35101 * util/i386/pc/misc.c: Delete. Update all users.
35102 * util/sparc64/ieee1275/misc.c: Likewise.
35103 * util/powerpc/ieee1275/misc.c: Likewise.
35104
aaf53e3c 351052009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35106
35107 * conf/i386.rmk (setjmp_mod_SOURCES)
35108 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35109 * conf/common.rmk (setjmp_mod_SOURCES)
35110 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35111 to use $(target_cpu).
35112 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35113 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35114 * conf/powerpc-ieee1275.rmk: Likewise.
35115 * conf/sparc64-ieee1275.rmk: Likewise.
35116
35117 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35118 $(target_cpu) for kern/$(target_cpu)/dl.c.
35119 * conf/i386-efi.rmk: Likewise.
35120 * conf/i386-ieee1275.rmk: Likewise.
35121 * conf/x86_64-efi.rmk: Likewise.
35122 * conf/i386-coreboot.rmk: Likewise.
35123 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35124 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35125 kern/$(target_cpu)/cache.S.
35126 * conf/sparc64-ieee1275.rmk: Likewise.
35127
a337130b 351282009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35129
35130 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35131 type to `grub_uint8_t', and adjust `padding9' accordingly.
35132
c6fe4d53 351332009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35134
b09db61d 35135 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35136
c6fe4d53 35137 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35138 assembly in final jump, using register constraints.
35139
b09db61d 35140 (grub_linux_boot): For text mode, initialize `have_vga' using
35141 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35142
35143 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35144 right before the final jump.
35145
35146 Set `video_mode' to 0x3.
35147
35148 Document initialization of `video_page', `video_mode' and
35149 `video_ega_bx'.
35150
28333ad0 351512009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35152
35153 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35154 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 35155 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 35156
02164e1b 351572009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35158
35159 Fix build on Debian / sparc.
35160
35161 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
35162
18b6c557 351632009-06-28 Pavel Roskin <proski@gnu.org>
35164
85f2aab6 35165 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
35166 fix a warning.
35167
18b6c557 35168 * util/grub.d/10_linux.in: Match SUSE style initrd names.
35169
ad760f81 351702009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35171
35172 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35173 `err'.
35174
87a4623b 351752009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35176
35177 Revert r2338.
35178
35179 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35180 file can't be opened. grub_file_open() is already supposed to set
75421ca9 35181 grub_errno / grub_errmsg appropriately.
87a4623b 35182 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35183
8231fb77 351842009-06-27 Pavel Roskin <proski@gnu.org>
351852009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35186
35187 * include/grub/dl.h: Include grub/elf.h.
35188 (struct grub_dl): Add symtab field.
35189 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
35190 GRUB_MODULES_MACHINE_READONLY.
35191 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
35192 of the header for read-only modules.
35193 (grub_dl_unload): Free mod->symtab for read-only modules.
35194 * kern/i386/dl.c: Use mod->symtab.
35195 * kern/powerpc/dl.c: Likewise.
35196 * kern/sparc64/dl.c: Likewise.
35197 * kern/x86_64/dl.c: Likewise.
35198
35199 * conf/i386-qemu.rmk: New file.
35200 * kern/i386/qemu/startup.S: Likewise.
35201 * kern/i386/qemu/mmap.c: Likewise.
35202 * boot/i386/qemu/boot.S: Likewise.
35203 * include/grub/i386/qemu/time.h: Likewise.
35204 * include/grub/i386/qemu/serial.h: Likewise.
35205 * include/grub/i386/qemu/kernel.h: Likewise.
35206 * include/grub/i386/qemu/console.h: Likewise.
35207 * include/grub/i386/qemu/boot.h: Likewise.
35208 * include/grub/i386/qemu/init.h: Likewise.
35209 * include/grub/i386/qemu/machine.h: Likewise.
35210 * include/grub/i386/qemu/loader.h: Likewise.
35211 * include/grub/i386/qemu/memory.h: Likewise.
35212
35213 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35214 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35215 [qemu] (pkglib_IMAGES): Add `boot.img'.
35216 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35217 [qemu] (boot_img_FORMAT): New variables.
35218 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35219 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35220 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35221 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35222 [qemu] (kernel_img_FORMAT): New variables.
35223
35224 * configure.ac: Recognise `i386-qemu'.
35225
35226 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35227 (for no compression).
35228 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35229 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35230 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35231 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35232 ifdefs).
35233
97fe384e 352342009-06-27 Pavel Roskin <proski@gnu.org>
35235
35236 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35237 read.
35238 * efiemu/prepare32.c: Likewise.
35239 * efiemu/prepare64.c: Likewise.
35240
c402ab17 352412009-06-26 Pavel Roskin <proski@gnu.org>
35242
35243 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35244 * include/grub/elf.h: Define symbols without "32" or "64" based
35245 on GRUB_TARGET_WORDSIZE.
35246 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
35247 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
35248 ELF definitions.
35249 * efiemu/loadcore64.c: Likewise.
35250 * loader/i386/bsd32.c: Likewise.
35251 * loader/i386/bsd64.c: Likewise.
35252 * kern/dl.c: Remove own ELF definitions.
35253 * util/i386/efi/grub-mkimage.c: Likewise.
35254
9bbdfd4d 352552009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35256
35257 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35258 segment 0x0 unconditionally, because the reference generated by
35259 GAS is an absolute address.
35260
a42ce6e9 352612009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35262
35263 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35264 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35265
c952cf92 352662009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35267
35268 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35269 indexes. Check for -f explicitly.
cc3752ad 35270 (search_file): Improve error message.
35271 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 35272
132a0a59 352732009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35274
35275 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35276 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35277
387a140c 352782009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35279
35280 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35281 * conf/i386-ieee1275.rmk: Likewise.
35282 * conf/i386-coreboot.rmk: Likewise.
35283
35284 * kern/i386/pc/startup.S (grub_stop): Remove function.
35285 * kern/i386/ieee1275/startup.S: Likewise.
35286 * kern/i386/coreboot/startup.S: Likewise.
35287 * kern/i386/misc.S (grub_stop): New function.
35288
41da9665 352892009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35290
35291 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35292 * kern/i386/realmode.S (real_to_prot): ... to here.
35293
bf337234 352942009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35295
35296 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35297 with `kernel.img'.
35298 (kernel_elf_SOURCES): Rename to ...
35299 (kernel_img_SOURCES): ... this.
35300 (kernel_elf_HEADERS): Rename to ...
35301 (kernel_img_HEADERS): ... this. Update all users.
35302 (kernel_elf_ASFLAGS): Rename to ...
35303 (kernel_img_ASFLAGS): ... this.
35304 (kernel_elf_CFLAGS): Rename to ...
35305 (kernel_img_CFLAGS): ... this.
35306 (kernel_elf_LDFLAGS): Rename to ...
35307 (kernel_img_LDFLAGS): ... this.
35308 * conf/i386-coreboot.rmk: Likewise.
35309 * conf/powerpc-ieee1275.rmk: Likewise.
35310
35311 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35312 with "kernel.img".
35313
f52196ff 353142009-06-21 Pavel Roskin <proski@gnu.org>
35315
c3cee413 35316 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35317 to match nested functions.
35318 * loader/sparc64/ieee1275/linux.c: Likewise.
35319
f52196ff 35320 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35321
58750afc 353222009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35323
35324 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35325 all i386 platforms.
35326
15355c7d 353272009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35328
35329 Fix asm file handling on ELF, and remove workarounds.
35330
35331 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 35332 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35333 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35334 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35335
3f3ec72b 353362009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35337
35338 Load BSD ELF modules
35339
35340 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35341 and loader/i386/bsd64.c
35342 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35343 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35344 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35345 (grub_freebsd_load_elfmodule32): New declaration
35346 (grub_freebsd_load_elfmoduleobj64): Likewise
35347 (grub_freebsd_load_elf_meta32): Likewise
35348 (grub_freebsd_load_elf_meta64): Likewise
35349 (grub_freebsd_add_meta): Likewise
35350 (grub_freebsd_add_meta_module): Likewise
35351 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35352 (grub_freebsd_add_meta_module): Likewise and move module-specific
35353 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35354 (grub_cmd_freebsd): Add elf-kernel specific parts
35355 based on grub_freebsd_add_meta_module
35356 (grub_cmd_freebsd_module): Add type parsing moved from
35357 grub_freebsd_add_meta_module
35358 (grub_cmd_freebsd_module_elf): New function
35359 (cmd_freebsd_module_elf): New variable
35360 (GRUB_MOD_INIT): Register freebsd_module_elf
35361 * loader/i386/bsd32.c: New file
35362 * loader/i386/bsd64.c: Likewise
35363 * loader/i386/bsdXX.c: Likewise
35364 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35365 (grub_elf64_load): Likewise
35366 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35367 All users updated
35368 (grub_elf64_load_hook_t): Likewise
35369
0db15301 353702009-06-21 Colin Watson <cjwatson@ubuntu.com>
35371
35372 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35373 variable.
35374 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35375 don't write a menu entry for recovery mode.
35376
546796c1 353772009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35378
35379 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35380 after it's no longer needed.
35381
cd7310d5 353822009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35383
35384 * include/grub/i386/loader.h (grub_linux_prot_size)
35385 (grub_linux_tmp_addr, grub_linux_real_addr)
35386 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35387 GRUB_MACHINE_PCBIOS.
35388 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35389 common grub_util_info() call to ...
35390 (generate_image): ... here.
35391 Fix use of uninitialized memory, comparison of signed with
35392 unsigned integers and memory leak.
35393 Remove bogus module address message.
35394
ab32d3b5 353952009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35396
35397 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35398 grub_raid_register
35399 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35400
024ef597 354012009-06-19 Pavel Roskin <proski@gnu.org>
35402
35403 * configure.ac: Remove stray AC_MSG_CHECKING.
35404
3ac72b51 354052009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35406
35407 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 35408
e14cd814 354092009-06-18 Pavel Roskin <proski@gnu.org>
35410
35411 * conf/common.rmk: Add fs_file.mod.
35412 * disk/fs_file.c: New file.
35413 * include/grub/disk.h (enum grub_disk_dev_id): Add
35414 GRUB_DISK_DEVICE_FILE_ID.
35415
26586d98 354162009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35417
35418 Fix build with Apple's toolchain. Part 2
35419
35420 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35421 a fake start
35422
26de2bcd 354232009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35424
35425 Fix build with Apple's toolchain. Part 1
35426
35427 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35428 for long calls
35429 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35430 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35431 Apple's toolchain
35432
09b3490b 354332009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35434
35435 Fix warnings
35436
35437 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35438 (decomp_block): initialize ch
35439 use grub_memcpy instead of memcpy
35440
c22a006a 354412009-06-17 Pavel Roskin <proski@gnu.org>
35442
d3638678 35443 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35444 version, use declarations needed to use vga_text as the startup
35445 console.
35446
c22a006a 35447 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35448 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35449 the kernel.
35450 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35451 and grub_at_keyboard_fini(), it's done on module load and
35452 unload.
35453
05b129e0 354542009-06-17 Felix Zielcke <fzielcke@z-51.de>
35455
35456 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35457 file can't be found.
35458 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35459
cf24ed9e 354602009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35461
35462 Fix newline handling
35463
35464 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 35465 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 35466 (grub_script_yylex): don't segfault on unterminated script
35467 newline terminates command and variable
35468
74aa8e4b 354692009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35470
35471 avoid double grub_adjust_range call. Bug reported by David Simner
35472
35473 * kern/disk.c (grub_disk_write): change to raw disk access before
35474 calling disk_read
35475
1bd265f3 354762009-06-17 Colin Watson <cjwatson@ubuntu.com>
35477
35478 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35479 spaces, for the benefit of help2man.
35480 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35481
a2d08c06 354822009-06-16 Pavel Roskin <proski@gnu.org>
35483
35484 * kern/i386/halt.c: Include grub/machine/init.h.
35485 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35486
b97bcb19 354872009-06-16 Felix Zielcke <fzielcke@z-51.de>
35488
35489 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35490 drivemap menuentry.
35491
0644f96c 354922009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35493
35494 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35495 `echo' command.
35496
3ef17a2e 354972009-06-16 Pavel Roskin <proski@gnu.org>
35498
35499 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35500 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35501 save %dx, we only need %dl and we never change it.
35502 * boot/i386/pc/cdboot.S: Don't set the root drive.
35503 * boot/i386/pc/pxeboot.S: Likewise.
35504 * include/grub/i386/pc/boot.h: Remove
35505 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35506 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35507 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35508 * kern/i386/pc/init.c (make_install_device): Remove references
35509 to grub_root_drive.
35510 * kern/i386/pc/startup.S: Likewise.
35511 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35512
693fe637 355132009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35514
35515 xnu_uuid command
35516
35517 * commands/xnu_uuid.c: new file
35518 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35519 (xnu_uuid_mod_SOURCES): new variable
35520 (xnu_uuid_mod_CFLAGS): likewise
35521 (xnu_uuid_mod_LDFLAGS): likewise
35522 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35523 * conf/i386-ieee1275.rmk: likewise
35524 * conf/i386-pc.rmk: likewise
35525 * conf/powerpc-ieee1275.rmk: likewise
35526 * conf/sparc64-ieee1275.rmk: likewise
35527 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35528
c9da87d0 355292009-06-16 Pavel Roskin <proski@gnu.org>
35530
35531 * configure.ac: Avoid '==' in test command, it's not portable.
35532
9c6f4596 355332009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35534
35535 Probe command
35536
35537 * commands/probe.c: new file
35538 * conf/common.rmk (pkglib_MODULES): add probe.mod
35539 (probe_mod_SOURCES): new variable
35540 (probe_mod_CFLAGS): likewise
35541 (probe_mod_LDFLAGS): likewise
35542 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35543 * conf/i386-ieee1275.rmk: likewise
35544 * conf/i386-pc.rmk: likewise
35545 * conf/powerpc-ieee1275.rmk: likewise
35546 * conf/sparc64-ieee1275.rmk: likewise
35547
70b7f9fd 355482009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35549
35550 Fix handling of string like \"hello\" and "a
35551 b"
35552
35553 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35554 (grub_script_yylex): fix parsing of quoting, escaping and newline
35555
71c79a6b 355562009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35557
dd74360c 35558 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35559 handling
dd74360c 35560
0644f96c 355612009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35562
35563 * util/grub-mkconfig.in: Fix parsing of --output option.
35564
e40893c3 355652009-06-12 Pavel Roskin <proski@gnu.org>
35566
35567 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35568 genmk.rb don't need to be generated or installed.
35569
3a1acfe2 355702009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35571
35572 * commands/i386/pc/drivemap_int13h.S: add more comments
35573
3a4575d4 355742009-06-11 Pavel Roskin <proski@gnu.org>
35575
0658e928 35576 * Makefile.in (uninstall): Uninstall manuals.
35577
ca0388f0 35578 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35579 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35580 and update-grub_lib in two places.
35581 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35582
e3b27c39 35583 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35584 a compiler warning.
35585
3a4575d4 35586 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35587 `entry_lo' to fix variable shadowing.
35588
af1f4f55 355892009-06-11 Christian Franke <franke@computer.org>
35590
35591 * kern/misc.c (__enable_execute_stack): Add missing return type
35592 to prevent gcc warning.
35593
5225e649 355942009-06-11 Felix Zielcke <fzielcke@z-51.de>
35595
35596 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35597
7d83bd47 355982009-06-11 Pavel Roskin <proski@gnu.org>
35599
c1cb63ba 35600 * Makefile.in: Don't rely on any scripts being executable.
35601 Always use $(SHELL) to run shell scripts.
35602
7d83bd47 35603 * configure.ac: Always define ___main if using -nostdlib. This
35604 fixes tests on Cygwin.
35605
948f48e7 356062009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35607
35608 UDF fix
35609
7d83bd47 35610 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35611 is in bytes and not in blocks
7d83bd47 35612
8ada9bc1 356132009-06-11 Pavel Roskin <proski@gnu.org>
35614
35615 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35616 warning.
35617
25ad2323 356182009-06-11 Felix Zielcke <fzielcke@z-51.de>
35619
35620 * util/grub.d/30_os-prober.in: Fix a comment. Source
35621 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35622 to set the root device. Place drivemap command in the generated
35623 chain entry.
35624
e65acb0c 356252009-06-11 Pavel Roskin <proski@gnu.org>
35626
35627 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35628 have long been resolved.
35629
f285fe2d 356302009-06-11 Colin Watson <cjwatson@ubuntu.com>
35631
bd47b0b5 35632 * util/grub.d/10_linux.in: Capitalise "Linux".
35633
f285fe2d 35634 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35635
a0c62e4e 356362009-06-11 Pavel Roskin <proski@gnu.org>
35637
b6783cb2 35638 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35639 fix a gcc warning and ensure that the function won't ever exit.
35640
dde032e8 35641 * kern/i386/ieee1275/init.c: Add missing prototype for
35642 grub_stop_floppy().
35643
22cd079d 35644 * loader/ieee1275/multiboot2.c [__i386__]: Include
35645 grub/cpu/multiboot.h.
35646
a0c62e4e 35647 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35648 casts to short - they are not portable and cause warnings. Fix
35649 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35650
63963d17 356512009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35652
35653 Drivemap fixes
35654
35655 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35656 new function
35657 (grub_get_root_biosnumber_saved): new variable
35658 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35659 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35660 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35661 %dx after the call if necessary
35662 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35663 (boot_mod_SOURCES): remove
35664 (boot_mod_CFLAGS): remove
35665 (boot_mod_LDFLAGS): remove
35666 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35667 (boot_mod_SOURCES): new variable
35668 (boot_mod_CFLAGS): likewise
35669 (boot_mod_LDFLAGS): likewise
35670 * conf/i386-efi.rmk: likewise
35671 * conf/i386-ieee1275.rmk: likewise
35672 * conf/i386-pc.rmk: likewise
35673 * conf/powerpc-ieee1275.rmk: likewise
35674 * conf/sparc64-ieee1275.rmk: likewise
35675 * conf/x86_64-efi.rmk: likewise
35676 * include/grub/i386/pc/biosnum.h: new file
35677 * lib/i386/pc/biosnum.c: likewise
35678 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35679 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35680 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35681
33abf7ae 356822009-06-10 Pavel Roskin <proski@gnu.org>
35683
5ac35b35 35684 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35685 Use separate variables. Read only the file size at the end, but
35686 not the checksum that we don't use.
35687
5c5215d5 35688 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35689 Adjust all callers.
35690
27d5fef7 35691 * kern/ieee1275/openfw.c: Remove libc includes.
35692 * kern/ieee1275/cmain.c: Likewise.
35693 * include/grub/ieee1275/ieee1275.h: Likewise.
35694
33abf7ae 35695 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35696 compiler warnings.
35697
19d50c2b 356982009-06-10 Felix Zielcke <fzielcke@z-51.de>
35699
35700 * Makefile.in: Remove all trailing whitespace.
35701 * conf/i386-pc.rmk: Likewise.
35702 * conf/powerpc-ieee1275.rmk: Likewise.
35703 * conf/sparc64-ieee1275.rmk: Likewise.
35704 * docs/grub.texi: Likewise.
35705 * docs/texinfo.tex: Likewise.
35706 * disk/fs_uuid.c: Likewise.
35707 * disk/lvm.c: Likewise.
35708 * disk/scsi.c: Likewise.
35709 * disk/ata.c: Likewise.
35710 * disk/ieee1275/ofdisk.c: Likewise.
35711 * disk/i386/pc/biosdisk.c: Likewise.
35712 * disk/host.c: Likewise.
35713 * disk/raid.c: Likewise.
35714 * disk/efi/efidisk.c: Likewise.
35715 * disk/usbms.c: Likewise.
35716 * disk/memdisk.c: Likewise.
35717 * disk/loopback.c: Likewise.
35718 * kern/powerpc/dl.c: Likewise.
35719 * kern/device.c: Likewise.
35720 * kern/dl.c: Likewise.
35721 * kern/sparc64/dl.c: Likewise.
35722 * kern/ieee1275/ieee1275.c: Likewise.
35723 * kern/term.c: Likewise.
35724 * kern/fs.c: Likewise.
35725 * kern/i386/dl.c: Likewise.
35726 * kern/i386/pc/startup.S: Likewise.
35727 * kern/i386/pc/init.c: Likewise.
35728 * kern/i386/pc/mmap.c: Likewise.
35729 * kern/i386/pc/lzo1x.S: Likewise.
35730 * kern/i386/ieee1275/init.c: Likewise.
35731 * kern/i386/realmode.S: Likewise.
35732 * kern/i386/tsc.c: Likewise.
35733 * kern/partition.c: Likewise.
35734 * kern/corecmd.c: Likewise.
35735 * kern/file.c: Likewise.
35736 * kern/efi/efi.c: Likewise.
35737 * kern/efi/init.c: Likewise.
35738 * kern/efi/mm.c: Likewise.
35739 * kern/main.c: Likewise.
35740 * kern/err.c: Likewise.
35741 * kern/env.c: Likewise.
35742 * kern/disk.c: Likewise.
35743 * kern/generic/millisleep.c: Likewise.
35744 * kern/generic/rtc_get_time_ms.c: Likewise.
35745 * kern/misc.c: Likewise.
35746 * kern/parser.c: Likewise.
35747 * genmk.rb: Likewise.
35748 * configure.ac: Likewise.
35749 * boot/i386/pc/diskboot.S: Likewise.
35750 * boot/i386/pc/pxeboot.S: Likewise.
35751 * boot/i386/pc/boot.S: Likewise.
35752 * boot/i386/pc/lnxboot.S: Likewise.
35753 * boot/i386/pc/cdboot.S: Likewise.
35754 * parttool/pcpart.c: Likewise.
35755 * video/readers/tga.c: Likewise.
35756 * video/video.c: Likewise.
35757 * video/bitmap.c: Likewise.
35758 * lib/envblk.c: Likewise.
35759 * lib/i386/setjmp.S: Likewise.
35760 * fs/xfs.c: Likewise.
35761 * fs/afs.c: Likewise.
35762 * fs/fat.c: Likewise.
35763 * fs/ntfs.c: Likewise.
35764 * fs/udf.c: Likewise.
35765 * fs/affs.c: Likewise.
35766 * fs/iso9660.c: Likewise.
35767 * fs/hfs.c: Likewise.
35768 * fs/fshelp.c: Likewise.
35769 * fs/ext2.c: Likewise.
35770 * fs/jfs.c: Likewise.
35771 * fs/reiserfs.c: Likewise.
35772 * fs/hfsplus.c: Likewise.
35773 * fs/minix.c: Likewise.
35774 * fs/cpio.c: Likewise.
35775 * fs/sfs.c: Likewise.
35776 * fs/ufs.c: Likewise.
35777 * efiemu/prepare.c: Likewise.
35778 * efiemu/loadcore_common.c: Likewise.
35779 * efiemu/runtime/efiemu.sh: Likewise.
35780 * efiemu/runtime/efiemu.S: Likewise.
35781 * efiemu/runtime/efiemu.c: Likewise.
35782 * efiemu/pnvram.c: Likewise.
35783 * efiemu/main.c: Likewise.
35784 * efiemu/i386/pc/cfgtables.c: Likewise.
35785 * efiemu/i386/loadcore64.c: Likewise.
35786 * efiemu/i386/loadcore32.c: Likewise.
35787 * efiemu/loadcore.c: Likewise.
35788 * efiemu/symbols.c: Likewise.
35789 * efiemu/mm.c: Likewise.
35790 * include/grub/autoefi.h: Likewise.
35791 * include/grub/datetime.h: Likewise.
35792 * include/grub/term.h: Likewise.
35793 * include/grub/hfs.h: Likewise.
35794 * include/grub/lvm.h: Likewise.
35795 * include/grub/i386/tsc.h: Likewise.
35796 * include/grub/i386/linux.h: Likewise.
35797 * include/grub/i386/xnu.h: Likewise.
35798 * include/grub/i386/efiemu.h: Likewise.
35799 * include/grub/i386/pc/biosdisk.h: Likewise.
35800 * include/grub/i386/pc/memory.h: Likewise.
35801 * include/grub/i386/pc/vbe.h: Likewise.
35802 * include/grub/parttool.h: Likewise.
35803 * include/grub/video.h: Likewise.
35804 * include/grub/memory.h: Likewise.
35805 * include/grub/fs.h: Likewise.
35806 * include/grub/partition.h: Likewise.
35807 * include/grub/xnu.h: Likewise.
35808 * include/grub/efi/api.h: Likewise.
35809 * include/grub/efi/pe32.h: Likewise.
35810 * include/grub/efi/memory.h: Likewise.
35811 * include/grub/multiboot.h: Likewise.
35812 * include/grub/usbdesc.h: Likewise.
35813 * include/grub/multiboot2.h: Likewise.
35814 * include/grub/acpi.h: Likewise.
35815 * include/grub/efiemu/efiemu.h: Likewise.
35816 * include/grub/disk.h: Likewise.
35817 * include/grub/ieee1275/ieee1275.h: Likewise.
35818 * include/grub/net.h: Likewise.
35819 * include/grub/machoload.h: Likewise.
35820 * include/grub/macho.h: Likewise.
35821 * include/multiboot.h: Likewise.
35822 * genmoddep.awk: Likewise.
35823 * normal/main.c: Likewise.
35824 * normal/menu_entry.c: Likewise.
35825 * normal/menu_viewer.c: Likewise.
35826 * normal/completion.c: Likewise.
35827 * normal/cmdline.c: Likewise.
35828 * normal/misc.c: Likewise.
35829 * normal/datetime.c: Likewise.
35830 * bus/usb/usbtrans.c: Likewise.
35831 * bus/usb/ohci.c: Likewise.
35832 * bus/usb/uhci.c: Likewise.
35833 * bus/usb/usb.c: Likewise.
35834 * mmap/efi/mmap.c: Likewise.
35835 * mmap/i386/pc/mmap_helper.S: Likewise.
35836 * mmap/i386/pc/mmap.c: Likewise.
35837 * mmap/i386/mmap.c: Likewise.
35838 * mmap/i386/uppermem.c: Likewise.
35839 * mmap/mmap.c: Likewise.
35840 * commands/acpi.c: Likewise.
35841 * commands/echo.c: Likewise.
35842 * commands/blocklist.c: Likewise.
35843 * commands/loadenv.c: Likewise.
35844 * commands/usbtest.c: Likewise.
35845 * commands/boot.c: Likewise.
35846 * commands/parttool.c: Likewise.
35847 * commands/search.c: Likewise.
35848 * commands/cat.c: Likewise.
35849 * commands/i386/pc/play.c: Likewise.
35850 * commands/i386/pc/drivemap.c: Likewise.
35851 * commands/i386/pc/vbeinfo.c: Likewise.
35852 * commands/i386/pc/acpi.c: Likewise.
35853 * commands/i386/pc/vbetest.c: Likewise.
35854 * commands/ls.c: Likewise.
35855 * commands/cmp.c: Likewise.
35856 * commands/test.c: Likewise.
35857 * commands/efi/acpi.c: Likewise.
35858 * commands/gptsync.c: Likewise.
35859 * commands/help.c: Likewise.
35860 * partmap/amiga.c: Likewise.
35861 * partmap/apple.c: Likewise.
35862 * partmap/acorn.c: Likewise.
35863 * partmap/pc.c: Likewise.
35864 * partmap/sun.c: Likewise.
35865 * partmap/gpt.c: Likewise.
35866 * script/sh/lexer.c: Likewise.
35867 * script/sh/function.c: Likewise.
35868 * font/font.c: Likewise.
35869 * font/font_cmd.c: Likewise.
35870 * loader/powerpc/ieee1275/linux.c: Likewise.
35871 * loader/efi/chainloader.c: Likewise.
35872 * loader/multiboot_loader.c: Likewise.
35873 * loader/macho.c: Likewise.
35874 * loader/i386/multiboot.c: Likewise.
35875 * loader/i386/linux.c: Likewise.
35876 * loader/i386/pc/linux.c: Likewise.
35877 * loader/i386/pc/multiboot2.c: Likewise.
35878 * loader/i386/pc/chainloader.c: Likewise.
35879 * loader/i386/pc/xnu.c: Likewise.
35880 * loader/i386/bsd_trampoline.S: Likewise.
35881 * loader/i386/efi/linux.c: Likewise.
35882 * loader/i386/multiboot_elfxx.c: Likewise.
35883 * loader/i386/bsd_helper.S: Likewise.
35884 * loader/i386/bsd.c: Likewise.
35885 * loader/i386/linux_trampoline.S: Likewise.
35886 * loader/i386/xnu_helper.S: Likewise.
35887 * loader/i386/xnu.c: Likewise.
35888 * loader/i386/bsd_pagetable.c: Likewise.
35889 * loader/i386/multiboot_helper.S: Likewise.
35890 * loader/xnu.c: Likewise.
35891 * loader/xnu_resume.c: Likewise.
35892 * io/gzio.c: Likewise.
35893 * term/efi/console.c: Likewise.
35894 * term/terminfo.c: Likewise.
35895 * term/ieee1275/ofconsole.c: Likewise.
35896 * term/i386/pc/serial.c: Likewise.
35897 * term/i386/pc/vesafb.c: Likewise.
35898 * term/i386/pc/vga.c: Likewise.
35899 * term/usb_keyboard.c: Likewise.
35900 * term/gfxterm.c: Likewise.
35901 * aclocal.m4: Likewise.
35902 * util/lvm.c: Likewise.
35903 * util/grub.d/30_os-prober.in: Likewise.
35904 * util/grub.d/10_hurd.in: Likewise.
35905 * util/console.c: Likewise.
35906 * util/grub-macho2img.c: Likewise.
35907 * util/grub-probe.c: Likewise.
35908 * util/hostfs.c: Likewise.
35909 * util/i386/pc/grub-mkimage.c: Likewise.
35910 * util/i386/pc/grub-setup.c: Likewise.
35911 * util/i386/efi/grub-mkimage.c: Likewise.
35912 * util/grub-mkconfig.in: Likewise.
35913 * util/raid.c: Likewise.
35914 * util/resolve.c: Likewise.
35915 * util/grub-mkdevicemap.c: Likewise.
35916 * util/grub-emu.c: Likewise.
35917 * util/getroot.c: Likewise.
35918 * util/hostdisk.c: Likewise.
35919 * util/usb.c: Likewise.
35920 * util/grub-editenv.c: Likewise.
35921 * util/misc.c: Likewise.
35922
d2d49665 359232009-06-10 Felix Zielcke <fzielcke@z-51.de>
35924
35925 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35926 `genparttoollist.sh'.
35927 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35928 Add `*.sh' to the list find searches for and change `mdate.sh'
35929 to `mdate-sh'.
35930
fe052e37 359312009-06-10 Pavel Roskin <proski@gnu.org>
35932
2763ac18 35933 * include/grub/multiboot2.h: Provide compatibility defines for
35934 multiboot2.h.
35935 * include/multiboot2.h: Include stdint.h only if needed, using
35936 angle brackets.
35937 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35938 grub/multiboot2.h.
35939 * loader/ieee1275/multiboot2.c: Likewise.
35940 * loader/multiboot2.c: Likewise.
35941 * loader/multiboot_loader.c: Likewise.
35942
437e6adc 35943 * configure.ac: Use -nostdlib when probing for the target. It
35944 should not be required to have libc for the target.
35945
06a6836c 35946 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35947 they fail without libc headers for the target.
35948 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35949 exports.
35950 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35951 preprocessor conditionals.
35952
fe052e37 35953 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35954 build system doesn't need to be aware of the tar.c internals.
35955
afd22553 359562009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35957
afd22553 35958 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35959
6b787c4f 359602009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35961
35962 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35963 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35964
359652009-06-09 Felix Zielcke <fzielcke@z-51.de>
35966
35967 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35968 aren't available if ata.mod gets used.
6b787c4f 35969
473d1e45 359702009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35971
473d1e45 35972 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35973 initialising controller.
473d1e45 35974 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35975
255a27d4 359762009-06-08 Felix Zielcke <fzielcke@z-51.de>
35977
35978 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35979 to choose between ata and biosdisk module on i386-pc.
35980
473d1e45 359812009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35982
d55842d8 35983 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35984 Subclass and Programming Interface fields in terms of the 3 byte
35985 Class Code register.
35986 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35987
fa5db0b1 35988 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35989 interface is OHCI. Add grub_dprintf for symmetry with
35990 bus/usb/uhci.c.
35991 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35992 interface is UHCI. Add interf variable for programming
35993 interface. Print interface with class/subclass.
35994
c0947beb 35995 * bus/usb/ohci.c: Set interf with correct field.
35996
69da8877 35997 * bus/usb/uhci.c: Remove unneeded doubled lines.
35998 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35999 Remove whitespace inside comment.
36000
9e172e30 360012009-06-08 Robert Millan <rmh.grub@aybabtu.com>
36002
36003 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
36004 as fallback an equivalent option without depth.
36005
de65ee2b 360062009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36007
36008 Not fail if unable to retrieve C/H/S on LBA disks
36009
473d1e45 36010 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 36011 if unable to retrieve C/H/S on LBA disks
36012
b57ea2c9 360132009-06-08 Pavel Roskin <proski@gnu.org>
36014
36015 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
36016 about aliasing.
36017
af361263 360182009-06-08 Felix Zielcke <fzielcke@z-51.de>
36019
36020 * Makefile.in (uninstall): Remove all $lib_DATA files.
36021
4c9ec6b3 360222009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36023
36024 Bugfix: install on partitionless device
36025
36026 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
36027 is a whole disk
36028
e76fc924 360292009-06-08 Felix Zielcke <fzielcke@z-51.de>
36030
36031 * Makefile.in (uninstall): Remove all $include_DATA files.
36032
ba5a0d05 360332009-06-08 Felix Zielcke <fzielcke@z-51.de>
36034
36035 * commands/true.c: New file. Implement the true and false commands.
36036 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36037 (true_mod_SOURCES): New variable.
36038 (true_mod_CFLAGS): Likewise.
36039 (true_mod_LDFLAGS): Likewise.
36040
c8048e32 360412009-06-05 Colin D Bennett <colin@gibibit.com>
36042
36043 Optimized font character lookup using binary search instead of linear
36044 search. Fonts now are required to have the character index ordered by
36045 code point.
36046
36047 * font/font.c (load_font_index): Verify that fonts have ordered
36048 character indices.
36049 (find_glyph): Use binary search instead of linear search to find a
36050 character in a font.
36051
408305be 360522009-06-05 Michael Scherer <misc@mandriva.org>
36053
36054 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36055 uses case sensitive btree.
36056 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36057 only for case insensitive filesystems.
36058
8ee1e0d9 360592009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36060
36061 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36062 * conf/common.rmk (search_mod_CFLAGS): likewise
36063
a9966eb1 360642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36065
473d1e45 36066 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 36067 compensate a compiler bug
36068
9e7100fb 360692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36070
473d1e45 36071 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 36072 instead of '\b'
473d1e45 36073
ede21d71 360742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36075
36076 Definitions for creating asm symbols with Apple's CC
36077
36078 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36079 [APPLE_CC] (VARIABLE): likewise
36080
9dbf7653 360812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36082
36083 Disable lnxboot.img when compiled
36084 with Apple's CC
36085
36086 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36087 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36088 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36089 [! APPLE_CC] (CODE_LENG): skip
36090 [! APPLE_CC] (setup_sects): likewise
36091 [! APPLE_CC]: skip filling
473d1e45 36092
e93cdc3d 360932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36094
36095 Address in trampolines based on 32-bit registers when compiled
36096 with Apple's CC
36097
473d1e45 36098 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 36099 for addresses
36100 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36101
6c688477 361022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36103
36104 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36105
36106 * kern/misc.c [APPLE_CC] (memcpy): new function
36107 [APPLE_CC] (memmove): likewise
36108 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 36109 (memcpy): define alias conditionally on !APPLE_CC
6c688477 36110 (memset): likewise
36111 (abort): likewise
36112 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36113 APPLE_CC are defined
36114 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36115 (grub_assert_fail): make prototype conditional
36116
e37ffc5c 361172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36118
36119 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36120
473d1e45 36121 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36122 grub-macho2img
e37ffc5c 36123 (CLEANFILES): add grub-macho2img
36124 (grub_macho2img_SOURCES): new variable
36125 * kern/i386/pc/startup.S (bss_start): new variable
36126 (bss_end): likewise
36127 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36128 * util/grub-macho2img.c: new file
36129
cf00df31 361302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36131
36132 Use objconv when compiling with Apple's CC
36133
36134 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36135 (efiemu64.o): likewise
36136 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36137 when compiling with Apple's CC
36138 (efiemu64_s.o): likewise
36139 * configure.ac: check for objconv when compiling with Apple's CC
36140 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 36141
d119a20c 361422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36143
36144 Define segment as well as section when compiling with
36145 Apple's CC
36146
36147 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36148 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36149 (efiemu_convert_pointer): likewise
36150 (efiemu_set_virtual_address_map): likewise
36151 (efiemu_convert_pointer): likewise
36152 (efiemu_getcrc32): likewise
36153 (init_crc32_table): likewise
36154 (reflect): likewise
36155 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36156 (GRUB_MOD_DEP): likewise
473d1e45 36157
c8600122 361582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36159
36160 Allow a compilation without -mcmodel=large
36161
36162 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
36163 when compiled without -mcmodel=large
473d1e45 36164 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 36165 without -mcmodel=large
473d1e45 36166 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 36167 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 36168
e8df1d4e 361692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36170
36171 Remove nested functions in efiemu core
36172
36173 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 36174
cc6c3ac1 361752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36176
36177 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36178
36179 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36180 temporary storage
473d1e45 36181 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36182 using Apple's CC
cc6c3ac1 36183 (grub_cpu_is_tsc_supported): likewise
36184 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 36185
3e325901 361862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36187
36188 Absolute addressing through constant with Apple's cc
36189
36190 * kern/i386/pc/startup.S: Define necessary constants
36191 and address through it when using ABS with Apple's CC
36192 * boot/i386/pc/diskboot.S: likewise
36193 * boot/i386/pc/boot.S: likewise
36194 * boot/i386/pc/lnxboot.S: likewise
36195 * boot/i386/pc/cdboot.S: likewise
36196 * mmap/i386/pc/mmap_helper.S: likewise
36197 * commands/i386/pc/drivemap_int13h.S: likewise
36198
2b167a72 361992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36200
36201 Check if compiler is apple cc
36202
36203 * Makefile.in (ASFLAGS): new variable
36204 (TARGET_ASFLAGS): likewise
36205 (TARGET_MODULE_FORMAT): likewise
36206 (TARGET_APPLE_CC): likewise
36207 (OBJCONV): likewise
36208 (TARGET_IMG_CFLAGS): likewise
36209 (TARGET_CPPFLAGS): add includedir
36210 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36211 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36212 Check for linker script only if compiler isn't Apple's CC
36213 (TARGET_MODULE_FORMAT): set
36214 (TARGET_APPLE_CC): likewise
36215 (TARGET_ASFLAGS): likewise
36216 (ASFLAGS): likewise
36217 Check for objcopy only if compiler isn't Apple's CC
36218 Check for BSS symbol only if compiler isn't Apple's CC
36219 * genmk.rb: adapt nm options if we use Apple's utils
36220 * aclocal.m4 (grub_apple_cc): new test
36221 (grub_apple_target_cc): likewise
473d1e45 36222
fb14123e 362232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36224
36225 Simplify sed expressions and improve awk
36226
36227 * Makefile.in (install-local): simplify sed expression
36228 * gencmdlist.sh: likewise
36229 * genmoddep.awk: avoid adding module as a dependency of itself
36230
5b889789 362312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36232
36233 Add missing start symbols
36234
36235 * boot/i386/pc/boot.S: add start
fb14123e 36236 * boot/i386/pc/pxeboot.S: likewise
473d1e45 36237
fd2bf2e3 362382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36239
36240 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 36241
36242 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 36243 (relocate_addresses): consider both r_addend and value at offset
36244 (make_mods_section): zerofill modinfo and header
36245 (convert_elf): write prefix here
473d1e45 36246
5389763d 362472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36248
36249 Use .asciz instead of .string
36250
36251 * i386/pc/diskboot.S: use .asciz instead of .string
36252 * i386/pc/boot.S: likewise
36253 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36254 (GRUB_MOD_NAME): likewise
473d1e45 36255
3eb5ed4e 362562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36257
36258 gfxpayload support
36259
36260 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36261 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36262 (grub_video_setup): remove
36263 (grub_video_set_mode): new prototype
36264 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36265 (vid_mode): remove
36266 (linux_vesafb_res): compile only on PCBIOS
36267 (grub_linux_boot): support gfxpayload
36268 * loader/i386/pc/xnu.c (video_hook): new function
36269 (grub_xnu_set_video): support gfxpayload
36270 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36271 (DEFAULT_VIDEO_HEIGHT): likewise
36272 (DEFAULT_VIDEO_FLAGS): likewise
36273 (DEFAULT_VIDEO_MODE): new definition
36274 (video_hook): new function
36275 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 36276 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 36277 loading xnu
36278 * video/video.c (grub_video_setup): removed
473d1e45 36279 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 36280 grub_video_setup
36281
4b0e1143 362822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36283
36284 Avoid calling biosdisk in drivemap
36285
36286 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36287 (revparse_biosdisk): likewise
36288 (list_mappings): derive name from id directly
36289 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 36290
fda6cb98 362912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36292
36293 Script fixes
36294
36295 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36296 (grub_lexer_param): add tokenonhold
36297 (grub_script_create_cmdline): remove cmdline. All callers updated
36298 (grub_script_function_create): make functionname
36299 grub_script_arg. All callers updated
36300 (grub_script_execute_argument_to_string): new prototype
36301 * kern/parser.c (state_transitions): reorder
36302 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 36303 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 36304 make global
36305 (grub_script_execute_cmdline): use new format
36306 * script/sh/function.c (grub_script_function_create): make functionname
36307 grub_script_arg. All callers updated
473d1e45 36308 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 36309 (grub_script_yylex): remove
36310 (grub_script_yylex2): renamed to ...
36311 (grub_script_yylex): ...renamed
36312 parse the expressions like a${b}c
36313 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36314 (GRUB_PARSER_TOKEN_VAR): remove
36315 (GRUB_PARSER_TOKEN_NAME): likewise
36316 ("if"): declare as typeless
36317 ("while"): likewise
36318 ("function"): likewise
36319 ("else"): likewise
36320 ("then"): likewise
36321 ("fi"): likewise
36322 (text): remove
36323 (argument): likewise
36324 (script): accept empty scripts and make exit on error
36325 (arguments): use GRUB_PARSER_TOKEN_ARG
36326 (function): likewise
36327 (command): move error handling to script
36328 (menuentry): move grub_script_lexer_ref before
473d1e45 36329 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 36330 argument. All callers updated
36331
f4448a07 363322009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36333
36334 Prevent GRUB from probing floppies during boot.
36335
36336 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36337 * commands/search.c (options): Add --no-floppy.
36338 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36339 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36340 --no-floppy when searching for UUIDs.
36341
2bf5885a 363422009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36343
36344 Simplify the code duplication in commands/search.c.
36345
36346 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36347 (search_fs): ... this. Update all users.
36348
f6fd460a 363492009-06-03 Felix Zielcke <fzielcke@z-51.de>
36350
36351 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36352
cbb3c83e 363532009-05-28 Pavel Roskin <proski@gnu.org>
36354
57788cfd 36355 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36356 Remove the original symlink explicitly.
36357
cbb3c83e 36358 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36359 just one slash. That's how grub_fshelp_find_file() does it.
36360
cd0d5e30 363612009-05-26 Pavel Roskin <proski@gnu.org>
36362
f0f8bbe2 36363 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36364 to `str'.
36365
cd0d5e30 36366 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36367 possibly unused.
36368
8c2cab51 363692009-05-25 Christian Franke <franke@computer.org>
36370
36371 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36372 register.
36373 (grub_atapi_identify): Add wait after drive select.
36374 (grub_ata_identify): Do more strict status register check before
36375 calling grub_atapi_identify (). Suppress error message if status
36376 register is 0x00 after command failure. Add status register
36377 check after PIO read to avoid bogus identify due to stuck DRQ.
36378 Thanks to Pavel Roskin for testing.
36379 (grub_device_initialize): Remove unsafe status register check.
36380 Thanks to 'phcoder' for problem report and patch.
36381 Prevent sign extension in debug message.
36382
230c0ad6 363832009-05-23 Colin D Bennett <colin@gibibit.com>
36384
36385 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36386 definition file, and functions defined in `normal/menu.c' have had
36387 their prototypes moved to `include/grub/menu.h' for consistency.
36388
36389 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36390 from normal.h.
36391 (grub_menu_get_entry): Likewise.
36392 (grub_menu_get_timeout): Likewise.
36393 (grub_menu_set_timeout): Likewise.
36394 (grub_menu_execute_entry): Likewise.
36395 (grub_menu_execute_with_fallback): Likewise.
36396 (grub_menu_entry_run): Likewise.
36397
36398 * include/grub/normal.h: Re-ordered and grouped function
36399 prototypes by file that the function is defined in.
36400 (grub_menu_execute_callback): Removed; moved to menu.h.
36401 (grub_menu_get_entry): Likewise.
36402 (grub_menu_get_timeout): Likewise.
36403 (grub_menu_set_timeout): Likewise.
36404 (grub_menu_execute_entry): Likewise.
36405 (grub_menu_execute_with_fallback): Likewise.
36406 (grub_menu_entry_run): Likewise.
36407 (grub_menu_addentry): Renamed from this ...
36408 (grub_normal_add_menu_entry): ... to this.
36409
36410 * normal/main.c (grub_menu_addentry): Renamed from this ...
36411 (grub_normal_add_menu_entry): ... to this.
36412
36413 * script/sh/execute.c (grub_script_execute_menuentry): Update
36414 reference to renamed grub_menu_addentry function.
36415
861f03a5 364162009-05-23 Felix Zielcke <fzielcke@z-51.de>
36417
36418 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36419
96b1619a 364202009-05-22 Pavel Roskin <proski@gnu.org>
36421
bf6a5fb2 36422 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36423 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36424 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36425 compiling for the i386 targets, but not for the utilities.
36426
96b1619a 36427 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36428 to grub_uint8_t.
36429 (grub_root_drive): Likewise.
36430 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36431 remove alignment.
36432 (grub_root_drive): Change size to byte.
36433 (grub_start_addr): Remove.
36434 (grub_end_addr): Likewise.
36435 (grub_apm_bios_info): Likewise.
36436
b729776b 364372009-05-21 Felix Zielcke <fzielcke@z-51.de>
36438
36439 * normal/i386: Remove.
36440 * normal/powerpc: Likewise.
36441 * normal/sparc64: Likewise.
36442 * normal/x86_64: Likewise.
36443
0a15ce80 364442009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36445
36446 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 36447 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 36448 * loader/i386/xnu_helper.S: Likewise
d6da58e6 36449
33db9015 364502009-05-18 Colin D Bennett <colin@gibibit.com>
36451
d6da58e6 36452 Display error messages when parsing a Lua statement fails.
36453 Previously, executing a syntactically invalid statement like
36454 ")foo" or "bar;" would silently fail.
33db9015 36455
36456 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 36457 (grub_lua_parse_line): Improved reporting of Lua parser and
36458 execution errors.
33db9015 36459
46422c89 364602009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36461
36462 Remove -Werror which causes build to fail on some systems
36463
36464 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36465 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36466 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 36467
22f53a96 364682009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36469
36470 trampoline for linux on 64-bit platform
36471
18f547ad 36472 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36473 loader/i386/efi/linux_trampoline.S
36474 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 36475 declaration
d6da58e6 36476 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36477 here
22f53a96 36478 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36479 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36480 trampoline
22f53a96 36481 (jumpvector): removed
36482 (grub_linux_trampoline_start): new declaration
36483 (grub_linux_trampoline_end): likewise
36484 (grub_linux_boot): use trampoline when on 64-bit platform
36485 * loader/i386/linux.c: likewise
36486
cb5a0f40 364872009-05-16 Pavel Roskin <proski@gnu.org>
36488
36489 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36490 const to avoid a warning.
36491 (grub_lua_setenv): Likewise.
36492 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36493 lmsg to fix a warning.
36494
334f2c28 364952009-05-16 Felix Zielcke <fzielcke@z-51.de>
36496
36497 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36498 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36499 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36500 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36501 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36502 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36503 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36504 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36505
59e5d3ec 365062009-05-16 Felix Zielcke <fzielcke@z-51.de>
36507
36508 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36509
9d87a1ba 365102009-05-16 Bean <bean123ch@gmail.com>
36511
36512 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36513 (lua_mod_SOURCES): New variable.
36514 (lua_mod_CFLAGS): Likewise.
36515 (lua_mod_LDFLAGS): Likewise.
36516
36517 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36518 (setjmp_mod_SOURCES): New variable.
36519 (setjmp_mod_CFLAGS): Likewise.
36520 (setjmp_LDFLAGS): Likewise.
36521
36522 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36523 (setjmp_mod_SOURCES): New variable.
36524 (setjmp_mod_CFLAGS): Likewise.
36525 (setjmp_LDFLAGS): Likewise.
36526
36527 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36528 (setjmp_mod_SOURCES): New variable.
36529 (setjmp_mod_CFLAGS): Likewise.
36530 (setjmp_LDFLAGS): Likewise.
36531
36532 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36533 (setjmp_mod_SOURCES): New variable.
36534 (setjmp_mod_CFLAGS): Likewise.
36535 (setjmp_LDFLAGS): Likewise.
36536
36537 * normal/i386/setjmp.S: Moved from here ...
36538 * lib/i386/setjmp.S: ... Moved here
36539 * normal/x86_64/setjmp.S: Moved from here ...
36540 * lib/x86_64/setjmp.S: ... Moved here
36541 * normal/powerpc/setjmp.S: Moved from here ...
36542 * lib/powerpc/setjmp.S: ... Moved here
36543 * normal/sparc64/setjmp.S: Moved from here ...
36544 * lib/sparc64/setjmp.S: ... Moved here
36545
36546 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36547 returns_twice in mingw.
36548
36549 * script/lua/grub_lib.c: New file.
36550 * script/lua/grub_lib.h: Likewise.
36551 * script/lua/grub_lua.h: Likewise.
36552 * script/lua/grub_main.c: Likewise.
36553 * script/lua/lapi.c: Likewise.
36554 * script/lua/lapi.h: Likewise.
36555 * script/lua/lauxlib.c: Likewise.
36556 * script/lua/lauxlib.h: Likewise.
36557 * script/lua/lbaselib.c: Likewise.
36558 * script/lua/lcode.c: Likewise.
36559 * script/lua/lcode.h: Likewise.
36560 * script/lua/ldblib.c: Likewise.
36561 * script/lua/ldebug.c: Likewise.
36562 * script/lua/ldebug.h: Likewise.
36563 * script/lua/ldo.c: Likewise.
36564 * script/lua/ldo.h: Likewise.
36565 * script/lua/ldump.c: Likewise.
36566 * script/lua/lfunc.c: Likewise.
36567 * script/lua/lfunc.h: Likewise.
36568 * script/lua/lgc.c: Likewise.
36569 * script/lua/lgc.h: Likewise.
36570 * script/lua/linit.c: Likewise.
36571 * script/lua/liolib.c: Likewise.
36572 * script/lua/llex.c: Likewise.
36573 * script/lua/llex.h: Likewise.
36574 * script/lua/llimits.h: Likewise.
36575 * script/lua/lmathlib.c: Likewise.
36576 * script/lua/lmem.c: Likewise.
36577 * script/lua/lmem.h: Likewise.
36578 * script/lua/loadlib.c: Likewise.
36579 * script/lua/lobject.c: Likewise.
36580 * script/lua/lobject.h: Likewise.
36581 * script/lua/lopcodes.c: Likewise.
36582 * script/lua/lopcodes.h: Likewise.
36583 * script/lua/loslib.c: Likewise.
36584 * script/lua/lparser.c: Likewise.
36585 * script/lua/lparser.h: Likewise.
36586 * script/lua/lstate.c: Likewise.
36587 * script/lua/lstate.h: Likewise.
36588 * script/lua/lstring.c: Likewise.
36589 * script/lua/lstring.h: Likewise.
36590 * script/lua/lstrlib.c: Likewise.
36591 * script/lua/ltable.c: Likewise.
36592 * script/lua/ltable.h: Likewise.
36593 * script/lua/ltablib.c: Likewise.
36594 * script/lua/ltm.c: Likewise.
36595 * script/lua/ltm.h: Likewise.
36596 * script/lua/lua.h: Likewise.
36597 * script/lua/luaconf.h: Likewise.
36598 * script/lua/lualib.h: Likewise.
36599 * script/lua/lundump.c: Likewise.
36600 * script/lua/lundump.h: Likewise.
36601 * script/lua/lvm.c: Likewise.
36602 * script/lua/lvm.h: Likewise.
36603 * script/lua/lzio.c: Likewise.
36604 * script/lua/lzio.h: Likewise.
36605
5e898c9d 366062009-05-16 Bean <bean123ch@gmail.com>
36607
36608 * include/grub/kernel.h (grub_module_header_types): Add type
36609 OBJ_TYPE_CONFIG.
36610
36611 * kern/main.c (grub_load_config): New function.
36612 (grub_main): Call grub_load_config to read boot config.
36613
36614 * grub-mkimage (generate_image): New parameter config_path.
36615 (options): New option --config.
36616 (main): Parse --config option, and pass it to generate_image.
36617
cf353a47 366182009-05-14 Christian Franke <franke@computer.org>
36619
36620 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36621 This fixes build on Cygwin.
36622
3834887f 366232009-05-14 Pavel Roskin <proski@gnu.org>
36624
36625 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36626 jump. This saves two bytes, so the typical case of 2 swapped
36627 drives would fit 32 bytes.
36628
8090fc01 366292009-05-13 Pavel Roskin <proski@gnu.org>
36630
ac963883 36631 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36632 grub_uint32_t to avoid a warning.
36633
8090fc01 36634 * loader/i386/linux.c (allocate_pages): When assigning
36635 real_mode_mem, cast through grub_size_t to fix a warning. The
36636 code already makes sure that the value would fit a pointer.
36637 (grub_linux_setup_video): Cast render_target->data to
36638 grub_size_t to fix a warning.
36639
18f547ad 366402009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36641
36642 * commands/i386/pc/drivemap.c: New file - implement drivemap
36643 command.
36644 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36645 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36646
6f6a8b28 366472009-05-13 Pavel Roskin <proski@gnu.org>
36648
36649 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36650 embedding_area_exists.
36651
15fbf4c4 366522009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36653
36654 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36655 it easier to understand / work with.
59978c8a 36656 Improve warning messages for cases where there's no embedding area,
36657 or when it is too small (or core.img too large).
15fbf4c4 36658
238e871f 366592009-05-13 Pavel Roskin <proski@gnu.org>
36660
0ab3a9a4 36661 * loader/i386/pc/multiboot2.c: Add necessary includes for
36662 grub_multiboot2_real_boot().
36663
a2c8c5f8 36664 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36665 PX record is always little-endian. We only need the lower 2
36666 bytes of the mode.
36667
faec96af 36668 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36669 facilitate code reuse.
36670 (grub_cpio_mount): Use "struct head", not a char buffer. This
36671 fixes a warning reported by gcc 4.4.
36672
238e871f 36673 * kernel/disk.c (grub_disk_read): Use void pointer for the
36674 buffer.
36675 (grub_disk_write): Use const void pointer for the buffer.
36676 Adjust all callers. Remove unnecessary casts.
36677
901d2f0c 366782009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36679
36680 * util/i386/pc/grub-install.in: Update copyright year.
36681
18f547ad 366822009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36683
36684 gptsync
36685
36686 * commands/gptsync.c: new file
36687 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36688 (gptsync_mod_SOURCES): new variable
36689 (gptsync_mod_CFLAGS): likewise
36690 (gptsync_mod_LDFLAGS): likewise
18f547ad 36691 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36692 new definition
36693 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36694 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36695 * conf/i386-ieee1275.rmk: likewise
36696 * conf/i386-pc.rmk: likewise
36697 * conf/powerpc-ieee1275.rmk: likewise
36698
b4ba690a 366992009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36700
36701 Fixed grub-emu
36702
36703 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36704 (grub_dl_ref): likewise
36705
317e1a44 367062009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36707
36708 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36709 split in two functions (one for msdos and one for gpt).
36710
041b8094 367112009-05-08 Pavel Roskin <proski@gnu.org>
36712
752473c2 36713 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36714 not modified.
36715
041b8094 36716 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36717 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36718 Initialize them with -1. Add sanity check for bad1. Eliminate
36719 nerr variable.
36720
172800ce 367212009-05-08 David S. Miller <davem@davemloft.net>
36722
36723 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36724
29aa5e81 367252009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36726
36727 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36728 existence.
29aa5e81 36729
96613b62 367302009-05-05 Felix Zielcke <fzielcke@z-51.de>
36731
36732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36733 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36734
eef73c8a 367352009-05-05 David S. Miller <davem@davemloft.net>
36736
36737 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36738
119494b5 367392009-05-05 Pavel Roskin <proski@gnu.org>
36740
36741 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36742 of grub_dl_ref() and grub_dl_unref().
36743 * commands/parttool.c: Remove preprocessor conditionals around
36744 grub_dl_ref() and grub_dl_unref().
36745 * fs/affs.c: Likewise.
36746 * fs/afs.c: Likewise.
36747 * fs/cpio.c: Likewise.
36748 * fs/ext2.c: Likewise.
36749 * fs/fat.c: Likewise.
36750 * fs/hfs.c: Likewise.
36751 * fs/hfsplus.c: Likewise.
36752 * fs/iso9660.c: Likewise.
36753 * fs/jfs.c: Likewise.
36754 * fs/minix.c: Likewise.
36755 * fs/ntfs.c: Likewise.
36756 * fs/reiserfs.c: Likewise.
36757 * fs/sfs.c: Likewise.
36758 * fs/udf.c: Likewise.
36759 * fs/ufs.c: Likewise.
36760 * fs/xfs.c: Likewise.
36761 * include/grub/dl.h: Likewise.
36762 * loader/xnu.c: Likewise.
36763
de5fd76e 367642009-05-04 Pavel Roskin <proski@gnu.org>
36765
36766 * commands/acpi.c: Remove unused variable my_mod.
36767 * partmap/amiga.c: Likewise.
36768 * partmap/apple.c: Likewise.
36769 * partmap/gpt.c: Likewise.
36770 * partmap/pc.c: Likewise.
36771 * partmap/sun.c: Likewise.
36772 * term/gfxterm.c: Likewise.
36773 * term/i386/pc/vesafb.c: Likewise.
36774 * term/i386/pc/vga.c: Likewise.
36775
983598ad 367762009-05-04 David S. Miller <davem@davemloft.net>
36777
36778 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36779 pointer args to grub_ieee1275_get_property().
36780
8aadec43 36781 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36782
9554b15e 36783 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36784 devices, and do not traverse down under controller nodes.
36785
67e23c90 36786 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36787 (grub_ofdisk_open): Use it to un-escape "," characters.
36788 * kern/disk.c (find_part_sep): New.
36789 (grub_disk_open): Use it to find the first non-escaped ','
36790 character in the disk name.
36791 * util/ieee1275/devicemap.c (escape_of_path): New.
36792 (grub_util_emit_devicemap_entry): Use it.
36793 * util/sparc64/ieee1275/grub-install.in: Update script to
36794 strip partition specifiers properly by not triggering on
36795 '\' escaped ',' characters.
36796
74bfdd2f 367972009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36798
36799 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36800 to 0x300.
36801 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36802 resolutions.
36803 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36804 on documentation from Wikipedia).
36805
4241d2b1 368062009-05-04 Pavel Roskin <proski@gnu.org>
36807
36808 * disk/ata.c: Spelling fixes.
36809 * disk/raid.c: Likewise.
36810 * disk/usbms.c: Likewise.
36811 * disk/dmraid_nvidia.c: Likewise.
36812 * kern/ieee1275/openfw.c: Likewise.
36813 * kern/ieee1275/init.c: Likewise.
36814 * kern/ieee1275/cmain.c: Likewise.
36815 * boot/i386/pc/cdboot.S: Likewise.
36816 * video/readers/png.c: Likewise.
36817 * video/i386/pc/vbe.c: Likewise.
36818 * fs/udf.c: Likewise.
36819 * fs/hfs.c: Likewise.
36820 * fs/reiserfs.c: Likewise.
36821 * efiemu/runtime/efiemu.c: Likewise.
36822 * efiemu/main.c: Likewise.
36823 * efiemu/mm.c: Likewise.
36824 * include/grub/elf.h: Likewise.
36825 * include/grub/xnu.h: Likewise.
36826 * include/grub/usbdesc.h: Likewise.
36827 * include/grub/usb.h: Likewise.
36828 * include/grub/script_sh.h: Likewise.
36829 * include/grub/lib/LzmaEnc.h: Likewise.
36830 * include/grub/efiemu/efiemu.h: Likewise.
36831 * include/grub/command.h: Likewise.
36832 * normal/menu.c: Likewise.
36833 * normal/main.c: Likewise.
36834 * normal/datetime.c: Likewise.
36835 * bus/usb/uhci.c: Likewise.
36836 * mmap/i386/uppermem.c: Likewise.
36837 * mmap/mmap.c: Likewise.
36838 * commands/acpi.c: Likewise.
36839 * commands/test.c: Likewise.
36840 * partmap/apple.c: Likewise.
36841 * font/font.c: Likewise.
36842 * loader/sparc64/ieee1275/linux.c: Likewise.
36843 * loader/macho.c: Likewise.
36844 * loader/i386/bsd_trampoline.S: Likewise.
36845 * loader/i386/bsd.c: Likewise.
36846 * loader/xnu.c: Likewise.
36847 * term/i386/pc/vesafb.c: Likewise.
36848 * term/usb_keyboard.c: Likewise.
36849 * util/resolve.c: Likewise.
36850 * util/getroot.c: Likewise.
36851
0cfc0083 368522009-05-04 Felix Zielcke <fzielcke@z-51.de>
36853
36854 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36855
7c1d00cd 368562009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36857
36858 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36859 build error.
36860
b01f0548 368612009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36862
36863 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36864 parameter only available on BIOS.
36865
ecc3eb22 368662009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36867
36868 Removed wrong semicolon in declaration
36869
36870 * grub/misc.h (grub_dprintf): remove semicolon
36871
112972a9 368722009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36873
36874 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36875 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36876 is done by grub_cmd_linux() now).
36877 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36878 restore video to text mode.
36879 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36880 indicates lack of "vga=" parameter. "vga=0" is mapped to
36881 `GRUB_LINUX_VID_MODE_NORMAL'.
36882
afd5c115 368832009-05-04 Felix Zielcke <fzielcke@z-51.de>
36884
36885 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36886 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36887 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 36888 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 36889 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36890 `grub_script.tab.c'.
36891
36892 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36893 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36894 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36895 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36896 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36897
faa517ce 36898 * Makefile.in: Remove duplicated 2008 in Copyright line.
36899
ae0c0bdc 369002009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36901
473d1e45 36902 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 36903 unconditionally.
36904 * include/grub/util/misc.h (grub_util_warn): New declaration.
36905
36906 * util/i386/pc/grub-install.in: Understand --force and pass it down
36907 to grub-setup.
36908
36909 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36910 down to setup().
36911 (setup): Improve error messages and add warnings when requested to
36912 install in odd layouts. Refuse to install using blocklists unless
36913 --force was set.
36914
18f547ad 369152009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 36916
36917 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36918
6d260daa 369192009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36920
36921 Updated copyright year
36922
36923 * fs/hfsplus.c: updated copyright year
18f547ad 36924
69f853f8 369252009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36926
36927 HFS+ UUID
36928
18f547ad 36929 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36930 in the space previously used by unused3
36931 (grub_hfsplus_uuid): new function
36932 (grub_hfsplus_fs): added uuid field
36933
4c402e73 369342009-05-03 Pavel Roskin <proski@gnu.org>
36935
36936 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36937 suppress warnings. It's no longer needed.
36938 * disk/host.c: Likewise.
36939 * disk/ata_pthru.c: Likewise.
36940 * disk/loopback.c: Likewise.
36941 * hook/datehook.c: Likewise.
36942 * parttool/pcpart.c: Likewise.
36943 * fs/i386/pc/pxe.c: Likewise.
36944 * fs/ntfscomp.c: Likewise.
36945 * efiemu/main.c: Likewise.
36946 * mmap/mmap.c: Likewise.
36947 * commands/crc.c: Likewise.
36948 * commands/hexdump.c: Likewise.
36949 * commands/hdparm.c: Likewise.
36950 * commands/acpi.c: Likewise.
36951 * commands/echo.c: Likewise.
36952 * commands/minicmd.c: Likewise.
36953 * commands/blocklist.c: Likewise.
36954 * commands/memrw.c: Likewise.
36955 * commands/loadenv.c: Likewise.
36956 * commands/usbtest.c: Likewise.
36957 * commands/lsmmap.c: Likewise.
36958 * commands/boot.c: Likewise.
36959 * commands/parttool.c: Likewise.
36960 * commands/configfile.c: Likewise.
36961 * commands/search.c: Likewise.
36962 * commands/ieee1275/suspend.c: Likewise.
36963 * commands/cat.c: Likewise.
36964 * commands/i386/pc/pxecmd.c: Likewise.
36965 * commands/i386/pc/play.c: Likewise.
36966 * commands/i386/pc/halt.c: Likewise.
36967 * commands/i386/pc/vbeinfo.c: Likewise.
36968 * commands/i386/pc/vbetest.c: Likewise.
36969 * commands/lspci.c: Likewise.
36970 * commands/date.c: Likewise.
36971 * commands/handler.c: Likewise.
36972 * commands/ls.c: Likewise.
36973 * commands/test.c: Likewise.
36974 * commands/cmp.c: Likewise.
36975 * commands/efi/loadbios.c: Likewise.
36976 * commands/efi/fixvideo.c: Likewise.
36977 * commands/halt.c: Likewise.
36978 * commands/help.c: Likewise.
36979 * commands/reboot.c: Likewise.
36980 * hello/hello.c: Likewise.
36981 * script/sh/main.c: Likewise.
36982 * loader/xnu.c: Likewise.
36983 * term/terminfo.c: Likewise.
36984 * term/i386/pc/serial.c: Likewise.
36985 * term/usb_keyboard.c: Likewise.
36986
515b5079 369872009-05-03 David S. Miller <davem@davemloft.net>
36988
36989 * normal/menu.c: Include grub/parser.h
36990
dfc31a22 369912009-05-03 Pavel Roskin <proski@gnu.org>
36992
2fee74f1 36993 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36994 not char*.
36995 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36996 Suggested by Javier Martín <lordhabbit@gmail.com>
36997
dfc31a22 36998 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36999 efiemu??.o doesn't exist.
37000 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
37001 copying.
37002
18f547ad 370032009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 37004
37005 FreeBSD 64-bit support
37006
18f547ad 37007 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 37008 and loader/i386/bsd_trampoline.S
37009 (bsd_mod_ASFLAGS): new variable
37010 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
37011 (FREEBSD_MODTYPE_KERNEL64): likewise
37012 (grub_bsd64_trampoline_start): likewise
37013 (grub_bsd64_trampoline_end): likewise
37014 (grub_bsd64_trampoline_selfjump): likewise
37015 (grub_bsd64_trampoline_gdt): likewise
37016 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
37017 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
37018 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
37019 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 37020 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 37021 of "attrib" member
37022 * loader/i386/bsd_pagetable.c: new file
37023 * loader/i386/bsd_trampoline.S: likewise
37024 * loader/i386/bsd.c (ALIGN_QWORD): new macro
37025 (ALIGN_VAR): likewise
37026 (entry_hi): new variable
37027 (kern_end_mdofs): likewise
37028 (is_64bit): likewise
37029 (grub_freebsd_add_meta): use ALIGN_VAR
37030 (grub_e820_mmap): new declaration
37031 (grub_freebsd_add_mmap): new function
37032 (grub_freebsd_add_meta_module): support 64 bit kernels
37033 (grub_freebsd_list_modules): use ALIGN_VAR
37034 (gdt_descriptor): new declaration
37035 (grub_freebsd_boot): support 64 bit kernels
37036 (grub_bsd_elf64_hook): new function
37037 (grub_bsd_load_elf): support elf64
37038
038c5720 370392009-05-03 Bean <bean123ch@gmail.com>
37040
37041 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37042 after we get the result of if statement.
37043
fc45fb58 370442009-05-03 Bean <bean123ch@gmail.com>
37045
37046 * Makefile.in (enable_efiemu): New variable.
37047
37048 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37049 set.
37050 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37051 path.
37052 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37053 path, add -mno-red-zone option.
37054 (efiemu64_s.o): Likewise.
37055 (efiemu64.o): Use macro $^ for source file.
37056
37057 * configure.ac (--enable-efiemu): New option.
37058
bbee0f2b 370592009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37060
37061 xnu support
37062
37063 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37064 (pkglib_MODULES): add xnu.mod
37065 (xnu_mod_SOURCES): new variable
37066 (xnu_mod_CFLAGS): likewise
37067 (xnu_mod_LDFLAGS): likewise
37068 (xnu_mod_ASFLAGS): likewise
37069 * conf/i386-pc.rmk: likewise
37070 * conf/x86_64-efi.rmk: likewise
7dd4a573 37071 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 37072 new declaration
37073 * include/grub/i386/macho.h: new file
37074 * include/grub/i386/xnu.h: likewise
37075 * include/grub/macho.h: likewise
37076 * include/grub/machoload.h: likewise
37077 * include/grub/x86_64/macho.h: likewise
37078 * include/grub/x86_64/xnu.h: likewise
37079 * include/grub/xnu.h: likewise
37080 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37081 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37082 * loader/i386/efi/xnu.c: new file
37083 * loader/i386/pc/xnu.c: likewise
37084 * loader/i386/xnu.c: likewise
37085 * loader/i386/xnu_helper.S: likewise
37086 * loader/macho.c: likewise
37087 * loader/xnu.c: likewise
37088 * loader/xnu_resume.c: likewise
37089 * util/grub-dumpdevtree: likewise
37090 * include/grub/i386/pit.h: include grub/err.h
37091 (grub_pit_wait): export
37092 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 37093
5caf964d 370942009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37095
37096 Efiemu
7dd4a573 37097
5caf964d 37098 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 37099 _linux_efi, linux_efi.
37100 new files in grub-emu
5caf964d 37101 new targets efiemu32.o and efiemu64.o
37102 * loader/linux_normal_efiemu.c: likewise
37103 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 37104 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 37105 files to copy
37106 * include/grub/autoefi.h: new file
7dd4a573 37107 * include/grub/i386/efiemu.h: likewise
5caf964d 37108 * include/grub/i386/pc/efiemu.h: likewise
37109 * include/grub/efi/api.h: add LL suffix when necessary
37110 new definitions relating to tables
37111 * include/grub/efiemu/efiemu.h: new file
37112 * include/grub/efiemu/runtime.h: likewise
37113 * efiemu/prepare.c: likewise
37114 * efiemu/loadcore_common.c: likewise
37115 * efiemu/loadcore64.c: likewise
37116 * efiemu/runtime/efiemu.sh: likewise
37117 * efiemu/runtime/efiemu.S: likewise
37118 * efiemu/runtime/efiemu.c: likewise
37119 * efiemu/runtime/config.h: likewise
37120 * efiemu/prepare32.c: likewise
37121 * efiemu/main.c: likewise
37122 * efiemu/modules/pnvram.c: likewise
37123 * efiemu/modules/i386: likewise
37124 * efiemu/modules/i386/pc: likewise
37125 * efiemu/modules/acpi.c: likewise
37126 * efiemu/i386/pc/cfgtables.c: likewise
37127 * efiemu/i386/loadcore64.c: likewise
37128 * efiemu/i386/loadcore32.c: likewise
37129 * efiemu/prepare64.c: likewise
37130 * efiemu/loadcore.c: likewise
37131 * efiemu/symbols.c: likewise
37132 * efiemu/mm.c: likewise
37133 * efiemu/loadcore32.c: likewise
7dd4a573 37134
371352009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 37136
37137 ACPI spoofing
37138
37139 * commands/acpi.c: new file
37140 * commands/i386/pc/acpi.c: likewise
37141 * commands/efi/acpi.c: likewise
37142 * include/grub/acpi.h: likewise
37143 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37144 (acpi_mod_SOURCES): new variable
37145 (acpi_mod_CFLAGS): likewise
37146 (acpi_mod_LDFLAGS): likewise
37147 * conf/i386-efi.rmk: likewise
37148 * conf/x86_64-efi.rmk: likewise
37149
7dd4a573 371502009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 37151
37152 Missing part from mmap patch
37153
37154 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37155 (grub_mmap_unregister)
37156 (grub_mmap_free_and_unregister): use grub_mmap_register
37157
7dd4a573 371582009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 37159
37160 Mmap services
37161
37162 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
37163 * loader/i386/linux.c (find_mmap_size): likewise
37164 (allocate_pages): likewise
37165 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
37166 (grub_fill_multiboot_mmap): likewise
37167 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
37168 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
37169 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37170 (OPENBSD_MMAP_RESERVED): likewise
37171 * include/grub/i386/pc/memory.h: include grub/memory.h
37172 (grub_lower_mem): removed
37173 (grub_upper_mem): likewise
37174 (GRUB_MACHINE_MEMORY_ACPI): new definition
37175 (GRUB_MACHINE_MEMORY_NVS): likewise
37176 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37177 (GRUB_MACHINE_MEMORY_HOLE): likewise
37178 (grub_machine_mmap_register): likewise
37179 (grub_machine_mmap_unregister): likewise
37180 (grub_machine_get_upper): likewise
37181 (grub_machine_get_lower): likewise
37182 (grub_machine_get_post64): likewise
37183 * include/grub/i386/efi/memory.h: new file
37184 * include/grub/x86_64/efi/memory.h: likewise
37185 * include/grub/efi/memory.h: likewise
37186 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
37187 (mmap_mod_SOURCES): new variable
37188 (mmap_mod_LDFLAGS): likewise
37189 (mmap_mod_ASFLAGS): likewise
37190 * conf/i386-coreboot.rmk: likewise
37191 * conf/i386-ieee1275.rmk: likewise
37192 * conf/i386-efi.rmk: likewise
37193 * conf/x86_64-efi.rmk: likewise
37194 * include/grub/types.h (UINT_TO_PTR): new macro
37195 (PTR_TO_UINT32): likewise
37196 (PTR_TO_UINT64): likewise
37197 * include/grub/memory.h: new file
37198 * mmap/i386/pc/mmap.c: likewise
37199 * mmap/i386/pc/mmap_helper.S: likewise
37200 * mmap/i386/uppermem.c: likewise
37201 * mmap/mmap.c: likewise
37202 * mmap/efi/mmap.c: likewise
7dd4a573 37203 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 37204 grub_upper_mem
37205 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37206 (grub_upper_mem): likewise
37207 (grub_machine_init): don't use grub_upper_mem,
37208 make grub_lower_mem local
37209 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37210 grub_mmap_iterate and grub_mmap_get_upper
37211 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37212
d558e6b5 372132009-05-02 Bean <bean123ch@gmail.com>
37214
37215 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37216 script/sh/parser.y.
37217 (pkglib_MODULES): Add normal.mod and sh.mod.
37218 (normal_SOURCES): New variable.
37219 (normal_mod_CFLAGS): Likewise.
37220 (normal_mod_LDFLAGS): Likewise.
37221 (sh_mod_SOURCES): Likewise.
37222 (sh_mod_CFLAGS): Likewise.
37223 (sh_mod_LDFLAGS): Likewise.
37224
37225 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37226 script/sh/lexer.c_DEPENDENCIES.
37227 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37228 kern/rescue_reader.c and kern/rescue_parser.c.
37229 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37230 (grub_emu_SOURCES): Change source files.
37231 (pkglib_MODULES): Remove normal.mod.
37232 (normal_SOURCES): Removed.
37233 (normal_mod_CFLAGS): Likewise.
37234 (normal_mod_LDFLAGS): Likewise.
37235 * conf/i386-coreboot.rmk: Likewise.
37236 * conf/i386-efi.rmk: Likewise.
37237 * conf/i386-ieee1276.rmk: Likewise.
37238 * conf/powerpc-ieee1275.rmk: Likewise.
37239 * conf/sparc64-ieee1275.rmk: Likewise.
37240 * conf/x86_64-efi.rmk: Likewise.
37241
37242 * include/grub/command.h (grub_command_execute): New inline function.
37243
37244 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37245
37246 * include/grub/normal.h: Remove <grub/setjmp.h>.
37247 (grub_fs_module_list): Moved to normal/autofs.c.
37248 (grub_exit_env): Removed.
37249 (grub_command_execute): Likewise.
37250 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37251 parameter script.
37252 (read_command_list): New function declaration.
37253 (read_fs_list): Likewise.
37254
37255 * include/parser.h: Include <grub/reader.h>.
37256 (grub_parser_split_cmdline): Change type of getline parameter.
37257 (grub_parser): New structure.
37258 (grub_parser_class): New variable.
37259 (grub_parser_execute): New function declaration.
37260 (grub_register_rescue_parser): Likewise.
37261 (grub_parser_register): New inline function.
37262 (grub_parser_unregister): Likewise.
37263 (grub_parser_get_current): Likewise.
37264 (grub_parser_set_current): Likewise.
37265
37266 * include/grub/reader.h: New file.
37267 * kern/reader.c: Likewise.
37268 * kern/rescue_parser.c: Likewise.
37269 * kern/rescue_reader.c: Likewise.
37270 * normal/autofs.c: Likewise.
37271 * normal/dyncmd.c: Likewise.
37272
37273 * include/grub/rescue.h: Removed.
37274 * normal/command.h: Likewise.
37275
37276 * include/grub/script.h: Moved to ...
37277 * include/grub/script_sh.h: ... Moved here.
37278 * normal/execute.c: Moved to ...
37279 * script/sh/execute.c: ... Moved here.
37280 * normal/function.c: Moved to ...
37281 * script/sh/function.c: ... Moved here.
37282 * normal/lexer.c: Moved to ...
37283 * script/sh/lexer.c: ... Moved here.
37284 * normal/parser.y: Moved to ...
37285 * script/sh/parser.y: ... Moved here.
37286 * normal/script.c: Moved to ...
37287 * script/sh/script.c: ... Moved here.
37288
37289 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37290 <grub/reader.h>.
37291 (grub_exit_env): Removed.
37292 (fs_module_list): Moved to normal/autofs.c.
37293 (grub_file_getline): Don't handle comment here.
37294 (free_menu): Skip removed field entry->commands.
37295 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37296 script parameter.
37297 (read_config_file): Removed nested parameter, change getline function.
37298 (grub_enter_normal_mode): Removed.
37299 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37300 (read_command_list): Likewise.
37301 (autoload_fs_module): Moved to normal/autofs.c.
37302 (read_fs_list): Likewise.
37303 (reader_nested): New variable.
37304 (grub_normal_execute): Run parser.sh to switch to sh parser.
37305 (grub_cmd_rescue): Removed.
37306 (cmd_normal): Removed.
37307 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37308 rescue command.
37309 (grub_cmdline_run): New function.
37310 (grub_normal_reader_init): Likewise.
37311 (grub_normal_read_line): Likewise.
37312 (grub_env_write_pager): Likewise.
37313 (cmdline): New variable.
37314 (grub_normal_reader): Likewise.
37315 (GRUB_MOD_INIT): Register normal reader and set as current, register
37316 pager hook, register normal command with grub_register_command_prio,
37317 so that it won't show up in command.lst.
37318 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37319 grub_fs_autoload_hook.
37320
37321 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37322 (grub_menu_execute_entry): Replace grub_script_execute with
37323 grub_parser_execute, change parameter to grub_command_execute.
37324
37325 * normal/menu_text.c: Remove <grub/script.h>.
37326
37327 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37328 and <grub/parser.h>.
37329 (run): Change editor_getline to use new parser interface. Change
37330 parameter to grub_command_execute.
37331
37332 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37333 <grub/reader.h> and <grub/parser.h>.
37334 (grub_load_normal_mode): Execute normal command.
37335 (grub_main): Call grub_register_core_commands,
37336 grub_register_rescue_parser and grub_register_rescue_reader, use
37337 grub_reader_loop to enter input loop.
37338
7dd4a573 37339 * kern/parser.c (grub_parser_split_cmdline): Change type of
37340 getline parameter.
d558e6b5 37341 (grub_parser_class): New variable.
37342 (grub_parser_execute): New function.
37343
37344 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37345 * loader/multiboot2.c: Likewise.
37346 * loader/sparc64/ieee1275/linux.c: Likewise.
37347
37348 * util/grub-emu.c (read_command_list): New dummy function.
37349
18db813d 373502009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37351
37352 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37353 count to 16 for CCISS and IDA.
37354
6c67de15 373552009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37356
37357 * normal/menu_text.c (grub_wait_after_message): Print a newline
37358 after waiting for user input.
37359
37360 * loader/i386/linux.c: Include `<grub/normal.h>'.
37361 (grub_cmd_linux): Improve the error message about `ask' mode, by
37362 waiting for user input so it's not missed (we can do this, since
37363 user requested interaction).
37364
d9dc87b0 373652009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37366
37367 Added missing lst to grub-mkrescue
37368
37369 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37370 and ${input_dir}/parttool.lst
37371
ac8a2baa 373722009-04-30 David S. Miller <davem@davemloft.net>
37373
ad22a610 37374 * util/hostdisk.c (device_is_wholedisk): New function.
37375 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37376 zero only if device_is_wholedisk() returns true.
37377
6966215d 37378 * util/hostdisk.c (convert_system_partition_to_system_disk):
37379 Handle virtual disk devices named /dev/vdiskX as found on sparc
37380 and powerpc.
37381
ac8a2baa 37382 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37383 lettered partition specifier is found, convert to numbered.
37384
979b4fb4 373852009-04-29 David S. Miller <davem@davemloft.net>
37386
e2bf39b2 37387 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37388 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37389
3c64e104 37390 * normal/command.c: Add missing newline at end of file.
37391
979b4fb4 37392 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37393 warnings.
37394 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37395 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37396 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37397 ihandles have a 32-bit type but need to be stored in a "void *".
37398
136d9f82 373992009-04-28 Pavel Roskin <proski@gnu.org>
37400
9459c306 37401 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37402 not disk. Adjust all dependencies.
2e08a26a 37403 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 37404 grub_disk_close().
37405
136d9f82 37406 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37407 parent's partition, don't copy it by reference, as it gets freed
37408 on close.
37409
7dd4a573 374102009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 37411
37412 Preboot hooks support
37413
37414 * commands/boot.c (struct grub_preboot_t): new declaration
37415 (preboots_head): new variable
37416 (preboots_tail): likewise
37417 (grub_loader_register_preboot_hook): new function
37418 (grub_loader_unregister_preboot_hook): likewise
37419 (grub_loader_set): launch preboot hooks
37420 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37421 (grub_loader_register_preboot_hook): new declaration
37422 (grub_loader_unregister_preboot_hook): likewise
37423
5af922b5 374242009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37425
37426 Warning fix
37427
7dd4a573 37428 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37429 calling grub_dprintf
37430
a5562c30 374312009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37432
37433 Bug and warning fixes
37434
7dd4a573 37435 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 37436 declaration
37437 * commands/test.c (test_parse): fixed bug with file tests and corrected
37438 declaration of find_file
37439
4006f85c 374402009-04-26 Pavel Roskin <proski@gnu.org>
37441
37442 * Makefile.in: Don't install empty manual pages if help2man is
37443 missing. Use help2man option for output, not shell redirection.
37444
5c77c3de 374452009-04-26 David S. Miller <davem@davemloft.net>
37446
37447 * util/grub-mkdevicemap.c (make_device_map): Add missing
37448 NESTED_FUNC_ATTR to process_device().
37449
033b10a8 374502009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37451
37452 Test command
37453
37454 * commands/test.c: rewritten to use bash-like test
37455
e4343593 374562009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37457
37458 Parttool autoloading and improvements
37459
7dd4a573 37460 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 37461 (parttool.lst): new target
37462 * genmk.rb: generate parttool-*
37463 (CLEANFILES): add #{parttool}
37464 (PARTTOOLFILES): new variable
37465 * genparttoollist.sh: new file
7dd4a573 37466 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 37467 (grub_pcpart_type): likewise
37468 * commands/parttool.c (helpmsg): new variable
37469 (grub_cmd_parttool): output help if not enough arguments are supplied
37470 autoload modules
37471 (GRUB_MOD_INIT(parttool)): use helpmsg
37472
0d312500 374732009-04-24 David S. Miller <davem@davemloft.net>
37474
7dd4a573 37475 Avoiding opening same device multiple times in device iterator.
0d312500 37476
37477 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37478 and use it to build a list of partitions in iterate_disk() and
0d312500 37479 iterate_partition().
37480
ac20caff 37481 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37482 on disk->data.
37483
0dcf7495 37484 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37485 grub_devalias_iterate() result instead of unconditional 0.
37486 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37487 Also, capture hook return value, either directly or via
37488 grub_children_iterate(), and propagate to caller.
37489 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37490 grub_children_iterate): Return value is now 'int' instead of
37491 'grub_err_t'.
37492 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37493 like a proper iterator, stopping when hooks return non-zero.
37494 (grub_devalias_iterate): Likewise.
37495
c8c08833 374962009-04-23 David S. Miller <davem@davemloft.net>
37497
37498 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37499
f01005a8 375002009-04-22 David S. Miller <davem@davemloft.net>
37501
37502 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37503 is larger than address_cells, use that value for address_cells too.
37504
4e8269da 37505 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37506 IEEE1275_MAX_PATH_LEN): Define.
37507 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37508 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37509 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37510 'devtype'. Explicitly NULL terminate devalias expansion.
37511
a1447506 37512 * util/sparc64/ieee1275/misc.c: New file.
37513 * util/sparc64/ieee1275/grub-setup.c: New file.
37514 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37515 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37516 * util/sparc64/ieee1275/grub-install.in: New file.
37517 * util/ieee1275/ofpath.c: New file.
37518 * util/ieee1275/devicemap.c: New file.
37519 * util/devicemap.c: New file.
37520 * util/deviceiter.c: New file.
37521 * kern/sparc64/ieee1275/init.c: New file.
37522 * include/grub/util/ofpath.h: New file.
37523 * include/grub/util/deviceiter.h: New file.
37524 * util/grub-mkdevicemap.c: Include deviceiter.h.
37525 Implement using grub_util_emit_devicemap_entry and
37526 grub_util_iterate_devices.
37527 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37528 util/devicemap.c into grub-mkdevicemap
37529 * conf/i386-efi.rmk: Likewise.
37530 * conf/i386-ieee1275.rmk: Likewise.
37531 * conf/i386-pc.rmk: Likewise.
37532 * conf/powerpc-ieee1275.rmk: Likewise.
37533 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37534 images and installation utilities. Build kernel as image
37535 instead of as elf binary. Use common rules as much as possible.
37536
7dd4a573 375372009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37538
37539 Correct GPT definition
37540
7dd4a573 37541 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37542 of "attrib" member
37543
c6c5219f 375442009-04-19 Felix Zielcke <fzielcke@z-51.de>
37545
37546 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37547
0552ff9f 375482009-04-19 David S. Miller <davem@davemloft.net>
37549
37550 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37551 (grub_rescue_cmd_linux): Rename to...
37552 (grub_cmd_linux): and fix prototype.
37553 (grub_rescue_cmd_initrd): Rename to...
37554 (grub_cmd_initrd): and fix prototype.
37555 (cmd_linux, cmd_initrd): New.
37556 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37557 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37558
d1a282fc 375592009-04-17 Pavel Roskin <proski@gnu.org>
37560
07c5039f 37561 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37562 format.
37563 (grub_ohci_transfer): Likewise.
37564
b012002d 37565 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37566
1bc09c35 37567 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37568 return without a value. Fix inconsistent indentation.
37569
e0ff9126 37570 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37571 match struct grub_fs.
37572
d1a282fc 37573 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37574 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37575 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37576 * commands/lspci.c (grub_lspci_iter): Likewise.
37577
a96df3f2 375782009-04-16 Bean <bean123ch@gmail.com>
37579
37580 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37581 value.
37582
41bb0fe9 375832009-04-15 Pavel Roskin <proski@gnu.org>
37584
37585 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37586 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37587 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37588 definitions.
37589
596c6970 375902009-04-15 Felix Zielcke <fzielcke@z-51.de>
37591
37592 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37593 that no multiple data or metadata areas are supported and `Unknown
596c6970 37594 metadata header'.
37595
7dd4a573 375962009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37597
37598 Move loader out of the kernel
37599
37600 * kern/loader.c: moved to ...
37601 * commands/boot.c: ... moved here
37602 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37603 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37604 * include/grub/kernel.h (grub_machine_fini): export
37605 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37606 (grub_loader_set): likewise
37607 (grub_loader_unset): likewise
37608 (grub_loader_boot): likewise
37609 * conf/common.rmk: new module boot.mod
37610 (pkglib_MODULES): add boot.mod
37611 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37612 (grub_emu_SOURCES): likewise
37613 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37614 (grub_emu_SOURCES): likewise
37615 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37616 (grub_emu_SOURCES): likewise
37617 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37618 (grub_emu_SOURCES): likewise
37619 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37620 (grub_emu_SOURCES): likewise
7dd4a573 37621 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37622 (grub_emu_SOURCES): likewise
0d5d5653 37623 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37624 (grub_emu_SOURCES): likewise
0d5d5653 37625
7dd4a573 376262009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37627
37628 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37629
5999d619 37630 * kern/misc.c (grub_itoa): Removed function
37631 (grub_ltoa): likewise
37632 (grub_vsprintf): use grub_lltoa
37633
7dd4a573 376342009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37635
37636 Restore grub-emu
37637
37638 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37639 * conf/i386-coreboot.rmk: likewise
37640 * conf/i386-ieee1275.rmk: likewise
37641 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37642
20318222 376432009-04-15 Felix Zielcke <fzielcke@z-51.de>
37644
37645 * INSTALL: Add that `./autogen.sh' needs to be run before
37646 `./configure.'.
37647
d05f0df3 376482009-04-14 Bean <bean123ch@gmail.com>
37649
37650 * Makefile.in (pkglib_DATA): Add handler.lst.
37651 (handler.lst): New rule.
37652
37653 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37654 * conf/i386-coreboot.rmk: Likewise.
37655 * conf/i386-ieee1275.rmk: Likewise.
37656 * conf/i386-efi.rmk: Likewise.
37657 * conf/x86_64-efi.rmk: Likewise.
37658 * conf/powerpc-ieee1275.rmk: Likewise.
37659 * conf/sparc64-ieee1275.rmk: Likewise.
37660
37661 * genhandlerlist.sh: New file.
37662
37663 * genmk.rb: Add rules to generate handler.lst.
37664
37665 * include/grub/normal.h (grub_file_getline): New function definition.
37666 (read_handler_list): Likewise.
37667 (free_handler_list): Likewise.
37668
37669 * include/grub/term.h (grub_term_register_input): Add name parameter
37670 for auto generation of handler.lst.
37671 (grub_term_register_output): Likewise.
37672
37673 * normal/handler.c: New file.
37674
37675 * normal/main.c (get_line): Renamed to grub_file_getline.
37676 (read_config_file): Use the newly renamed grub_file_getline.
37677 (read_command_list): Likewise.
37678 (read_fs_list): Likewise.
37679 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37680 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37681
37682 * term/efi/console.c (grub_console_init): Add name parameter for auto
37683 generation of handler.lst.
37684 * term/gfxterm.c: Likewise.
37685 * term/i386/pc/at_keyboard.c: Likewise.
37686 * term/i386/pc/console.c: Likewise.
37687 * term/i386/pc/serial.c: Likewise.
37688 * term/i386/pc/vesafb.c: Likewise.
37689 * term/i386/pc/vga.c: Likewise.
37690 * term/i386/pc/vga_text.c: Likewise.
37691 * term/ieee1275/ofconsole.c: Likewise.
37692 * term/usb_keyboard.c: Likewise.
37693
33c846be 376942009-04-14 Bean <bean123ch@gmail.com>
37695
37696 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37697 properly with null character.
37698
4484e01e 376992009-04-14 Felix Zielcke <fzielcke@z-51.de>
37700
37701 * configure: Remove.
37702 * config.h.in: Likewise.
f93d668e 37703 * stamp-h.in: Likewise.
4484e01e 37704 * DISTLIST: Likewise.
37705 * conf/common.mk: Likewise.
37706 * conf/i386-coreboot.mk: Likewise.
37707 * conf/i386-efi.mk: Likewise.
37708 * conf/i386-ieee1275.mk: Likewise.
37709 * conf/i386.mk: Likewise.
37710 * conf/i386-pc.mk: Likewise.
37711 * conf/powerpc-ieee1275.mk: Likewise.
37712 * conf/sparc64-ieee1275.mk: Likewise.
37713 * conf/x86_64-efi.mk: Likewise.
37714
37715 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37716 develop on GRUB.
37717
7dd4a573 377182009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37719 David S. Miller <davem@davemloft.net>
37720
37721 * util/hostdisk.c (make_device_name): Fix buffer length
37722 calculations.
37723
e25b5a8c 377242009-04-14 Felix Zielcke <fzielcke@z-51.de>
37725
37726 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37727 <sys/param.h> and <sys/sysctl.h>.
37728 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37729 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37730 opening the device and reset them afterwards.
37731
1f1f580c 377322009-04-13 Pavel Roskin <proski@gnu.org>
37733
37734 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37735 Reported by John Stanley <jpsinthemix@verizon.net>
37736
7ebc2d6b 377372009-04-13 Robert Millan <rmh@aybabtu.com>
37738
37739 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37740 that name for menuentries when appropriate.
7ebc2d6b 37741
d8ba3667 377422009-04-13 Felix Zielcke <fzielcke@z-51.de>
37743
37744 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37745
cba416eb 377462009-04-13 Robert Millan <rmh@aybabtu.com>
37747
37748 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37749 to Linux, simply abort telling the user it's no longer supported.
37750
a547a745 377512009-04-13 Felix Zielcke <fzielcke@z-51.de>
37752
37753 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37754 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37755 `freebsd_loadenv' only when devices.hints exist.
37756
232a769c 377572009-04-13 Pavel Roskin <proski@gnu.org>
37758
37759 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37760
c3012039 377612009-04-13 Felix Zielcke <fzielcke@z-51.de>
37762
37763 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37764 partition number.
37765 (grub_drive): Likewise.
37766
234022fe 377672009-04-13 David S. Miller <davem@davemloft.net>
37768
37769 * kern/sparc64/ieee1275/ieee1275.c: New file.
37770 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37771 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37772 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37773 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37774 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37775 grub_ieee1275_alloc_physmem): Declare new exported functions.
37776
d8e1836c 37777 * include/grub/sparc64/ieee1275/loader.h: New file.
37778 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37779 * include/grub/sparc64/kernel.h: Likewise.
37780 * loader/sparc64/ieee1275/linux.c: Likewise.
37781
96bd81ec 37782 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37783 (grub_fstest_SOURCES): Likewise.
37784
6a4737e5 37785 * util/hostdisk.c (make_device_name): Do not make any assumptions
37786 about the length of drive names.
37787
1d7a72fd 37788 * kern/dl.c (grub_dl_load_file): Close file immediately when
37789 we are done using it.
37790
56bc2471 377912009-04-12 David S. Miller <davem@davemloft.net>
37792
37793 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37794 values. Noticed by Pavel Roskin.
37795
df38d0bb 37796 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37797 target compiler.
7dd4a573 37798
e382e93a 37799 * genmk.rb: Add more flexible image type specification, also
37800 pass --strip-unneeded to objcopy.
37801 * conf/i386-pc.rmk: Use *_FORMAT.
37802 * conf/i386-pc.mk: Rebuilt.
37803
f5dbbca9 37804 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37805 (OFDISK_HASH_SZ): Define.
37806 (ofdisk_hash): New hash table.
37807 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37808 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37809 instead of device phandle which is not unique.
37810
91c88b12 37811 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37812 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37813 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37814 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37815 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37816 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37817 GRUB_KERNEL_MACHINE_DATA_END): Define.
37818 (grub_kernel_image_size, grub_total_module_size): Declare.
37819
5b5d4aa5 378202009-04-12 Pavel Roskin <proski@gnu.org>
37821
7dd4a573 37822 * configure.ac: Change the logic when we check for target tools.
37823 Do it when the target is specified and it's different from the
37824 specified value of the host.
5b5d4aa5 37825
c91e1793 378262009-04-11 Felix Zielcke <fzielcke@z-51.de>
37827
37828 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37829 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37830 GNU/kFreeBSD. Check if a device is a character device. Use
37831 DIOCGMEDIASIZE to get the size.
37832 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37833 support for GNU/kFreeBSD.
37834 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37835 is a character device instead of a block device. Add support for
37836 FreeBSD device names.
37837
37838 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37839 is a character device instead of a block device.
37840
37841 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37842 is a character device instead of a block device.
37843
b1ac8644 378442009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37845
37846 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37847 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37848 FreeBSD. Check if a device is a character device. Use
37849 DIOCGMEDIASIZE to get the size.
37850 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37851 support for FreeBSD.
37852 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37853 is a character device instead of a block device. Add support for
37854 FreeBSD device names.
37855
37856 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37857 a character device instead of a block device.
37858 (grub_util_check_char_device): New function.
37859
37860 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37861 a character device instead of a block device.
37862
37863 * include/grub/util/getroot.h (grub_util_check_char_device): New
37864 prototype.
37865
a3f7515a 378662009-04-11 David S. Miller <davem@davemloft.net>
37867
37868 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37869 static libgcc.
37870 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37871 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37872 function, if present.
37873 (__bswapdi2): Likewise.
37874
0d44993d 37875 * include/grub/sparc64/ieee1275/boot.h: New file.
37876 * boot/sparc64/ieee1275/boot.S: Likewise.
37877 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37878
ed3d2bc2 37879 * kern/misc.c (grub_ltoa): New function.
37880 (grub_vsprintf): Use it to format 'long' integers.
37881
d3bfb59c 378822009-04-10 David S. Miller <davem@davemloft.net>
37883
37884 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37885 slots are of type grub_ieee1275_cell_t.
37886 (grub_nand_read): Likewise.
37887 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37888 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37889 macros are used to compare values in arg/ret block of the call.
37890 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37891 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37892 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37893 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37894 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37895 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37896 grub_ieee1275_close, grub_ieee1275_set_property,
37897 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37898 grub_ieee1275_cell_t.
37899 * kern/ieee1275/openfw.c (grub_map): Likewise.
37900 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37901 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37902
450e2238 37903 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37904 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37905 (grub_devalias_iterate): Likewise.
37906
7dd4a573 379072009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 37908
37909 UFS improvements
37910
37911 * fs/ufs.c (INODE_NBLOCKS): new definition
37912 (struct grub_ufs_dirent): added fields for non-BSD dirents
37913 (grub_ufs_get_file_block): fixed double indirect handling
37914 (grub_ufs_lookup_symlink): use more robust way to determine whether
37915 symlink is inline
37916 (grub_ufs_find_file): support for non-BSD dirents
37917 (grub_ufs_dir): support for non-BSD dirents
37918
e7e6862a 379192009-04-10 Bean <bean123ch@gnail.com>
37920
37921 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37922 attribute, otherwise the size would be wrong for i386 platform.
37923
37924 * include/grub/pci.h (grub_pci_read_word): New inline function.
37925 (grub_pci_read_byte): Likewise.
37926 (grub_pci_write): Likewise.
37927 (grub_pci_write_word): Likewise.
37928 (grub_pci_write_byte): Likewise.
37929
37930 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37931
37932 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37933 (find_framebuf): Scan pci to locate the frame buffer address.
37934
37935 * commands/efi/fixvideo.c: New file.
37936
37937 * commands/efi/loadbios.c: Likewise.
37938
37939 * commands/memrw.c: Likewise.
37940
37941 * util/grub-dumpbios.in: Likewise.
37942
37943 * conf/common.rmk (grub-dumpbios): New utility.
37944 (pkglib_MODULES): New module memrw.mod.
37945 (memrw_mod_SOURCE): New macro.
37946 (memrw_mod_CFLAGS): Likewise.
37947 (memrw_mod_LDFLAGS): Likewise.
37948
7dd4a573 37949 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37950 fixvideo.mod.
37951 (loadbios_mod_SOURCE): New macro.
37952 (loadbios_mod_CFLAGS): Likewise.
37953 (loadbios_mod_LDFLAGS): Likewise.
37954 (fixvideo_mod_SOURCE): Likewise.
37955 (fixvideo_mod_CFLAGS): Likewise.
37956 (fixvideo_mod_LDFLAGS): Likewise.
37957
7dd4a573 37958 * conf/x86_64.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
af63ada2 379672009-04-08 Felix Zielcke <fzielcke@z-51.de>
37968
37969 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37970
c2cdde70 379712009-04-07 David S. Miller <davem@davemloft.net>
37972
37973 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37974 support for R_SPARC_OLO10 relocations. Fix compile warning for
37975 R_SPARC_WDISP30 case.
ea3f72cf 37976 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37977
761319cf 379782009-04-06 Pavel Roskin <proski@gnu.org>
37979
1007d1f5 37980 * include/grub/misc.h (ARRAY_SIZE): New macro.
37981 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37982 New macro.
37983 * loader/i386/linux.c (allocate_pages): Use free_pages().
37984 (grub_linux_unload): Don't use free_pages().
37985 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37986 wrong index. Treat all other modes as text modes.
37987 (grub_cmd_linux): Initialize vid_mode unconditionally to
37988 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37989
761319cf 37990 * commands/help.c (print_command_help): Use cmd->prio, not
37991 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37992
ea761d40 379932009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37994
ea761d40 37995 Parttool
37996
37997 * parttool/pcpart.c: new file
37998 * commands/parttool.c: likewise
37999 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
38000 (parttool_mod_SOURCES): new variable
38001 (parttool_mod_CFLAGS): likewise
38002 (parttool_mod_LDFLAGS): likewise
38003 (pcpart_mod_SOURCES): likewise
38004 (pcpart_mod_CFLAGS): likewise
38005 (pcpart_mod_LDFLAGS): likewise
7dd4a573 38006 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 38007 and parttool/pcpart.c
38008 * conf/i386-efi.rmk: likewise
38009 * conf/i386-ieee1275.rmk: likewise
38010 * conf/i386-pc.rmk: likewise
38011 * conf/powerpc-ieee1275.rmk: likewise
38012 * conf/sparc64-ieee1275.rmk: likewise
38013 * conf/x86_64-ieee1275.rmk: likewise
38014
05aaebfb 380152009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38016
38017 Support for mtime and further expandability of dir command
38018
38019 * include/grub/lib/datetime.h: moved to ...
7dd4a573 38020 * include/grub/datetime.h: ... moved here and added
05aaebfb 38021 declaration of grub_unixtime2datetime. All users updated
7dd4a573 38022 * include/grub/fs.h: new syntax for dir and mtime functions in
38023 struct grub_fs
05aaebfb 38024 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
38025 and GRUB_FSHELP_FLAGS_MASK
38026 * commands/ls.c (grub_ls_list_files): Write mtime in long format
38027 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
38028 (grub_ext2_mtime): new function
38029 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38030 (grub_hfsplus_mtime): new function
38031 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38032 (GRUB_UFS_ATTR_FILE): likewise
38033 (GRUB_UFS_ATTR_LNK): likewise
38034 (struct grub_ufs_sblock): new fields mtime
38035 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38036 all users updated
38037 (grub_ufs_dir): mtime support
38038 (grub_ufs_mtime): new function
38039 * fs/affs.c (grub_affs_dir): use new dir syntax
38040 * fs/afs.c (grub_afs_dir): likewise
38041 * fs/cpio.c (grub_cpio_dir): likewise
38042 * fs/fat.c (grub_fat_find_dir): likewise
38043 * fs/hfs.c (grub_hfs_dir): likewise
38044 * fs/iso9660.c (grub_iso9660_dir): likewise
38045 * fs/jfs.c (grub_jfs_dir): likewise
38046 * fs/minix.c (grub_minix_dir): likewise
38047 * fs/ntfs.c (grub_ntfs_dir): likewise
38048 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38049 * fs/sfs.c (grub_sfs_dir): likewise
38050 * fs/xfs.c (grub_xfs_dir): likewise
38051 * util/hostfs.c (grub_hostfs_dir): likewise
38052 * lib/datetime.c: moved to ...
38053 * normal/datetime.c: ... moved here
38054 (grub_unixtime2datetime): new function
38055 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 38056 * normal/completion.c (iterate_dir): use new dir syntax
38057 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 38058 last modification time of a volume
7dd4a573 38059 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 38060 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 38061 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 38062 (normal_mod_SOURCES): likewise
38063 (datetime_mod_SOURCES): Removed lib/datetime.c
38064 * conf/i386-efi.rmk: likewise
7dd4a573 38065 * conf/i386-ieee1275.rmk: likewise
05aaebfb 38066 * conf/i386-pc.rmk: likewise
38067 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38068 * conf/sparc64-ieee1275.rmk: likewise
38069 * conf/x86_64-efi.rmk: likewise
05aaebfb 38070
8a7e1a14 380712009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38072
38073 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 38074
38075 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 38076 on grub_fat_find_dir
38077 (grub_fat_find_dir): use grub_fat_iterate_dir
38078 (grub_fat_label): likewise
38079
04186a9c 380802009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38081
7dd4a573 38082 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 38083 and command.h
38084 remove extraneous kernel_elf_HEADERS
38085
da4c0bb6 380862009-04-04 Bean <bean123ch@gnail.com>
38087
38088 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38089
38090 * util/misc.c: Likewise.
38091
54ad9555 380922009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38093
38094 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38095 instead of grub_printf.
38096
7a6bf9f2 380972009-04-03 Robert Millan <rmh@aybabtu.com>
38098
38099 * loader/i386/linux.c (grub_linux_setup_video): Fill
38100 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38101 values from `mode info' structure instead of hardcoded
38102 values.
38103
3fcc2083 381042009-04-01 Pavel Roskin <proski@gnu.org>
38105
38106 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38107 unused now.
38108 * genmk.rb: Likewise.
38109 * configure.ac: Likewise.
38110
5ec9740b 381112009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38112
38113 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38114 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38115
5270cec8 381162009-04-01 David S. Miller <davem@davemloft.net>
38117
38118 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 38119 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 38120 (grub_setjmp): Mark with 'returns_twice' attribute.
38121 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38122 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38123 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38124
9c3dd854 381252009-04-01 Robert Millan <rmh@aybabtu.com>
38126
38127 Reapply fix from 2008-07-28 which was accidentally reverted; also
38128 perform the same fix to a similar check in same function.
38129
38130 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38131 with the same number are found, just use issue a warning with
38132 grub_dprintf(), as this error has been reported to be non-fatal.
38133
0d818b7e 381342009-03-31 Pavel Roskin <proski@gnu.org>
38135
38136 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38137 for cross-compilation.
38138
95646d92 381392009-03-30 Robert Millan <rmh@aybabtu.com>
38140
38141 Fix i386-ieee1275 build.
38142
38143 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38144 Remove declaration.
38145
6a003ed1 381462009-03-30 Pavel Roskin <proski@gnu.org>
38147
38148 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38149 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38150 zero-terminated, rely only on the strlen value. Fix comparison
38151 of strings differing in length.
38152
92f33540 381532009-03-30 Robert Millan <rmh@aybabtu.com>
38154
38155 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38156 checking for abi version. Improve error messages on BIOS to notify
38157 user about `linux16' command.
38158
a8c48fd5 381592009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
38160
f968172e 38161 Leak fixes
a8c48fd5 38162
f968172e 38163 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
38164 in case of collision
38165 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 38166
9c323f09 381672009-03-29 Robert Millan <rmh@aybabtu.com>
38168
38169 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38170 set `vid_mode' accordingly.
38171 (grub_linux_boot): Process `vid_mode' and set video mode.
38172
ae68f423 381732009-03-29 Robert Millan <rmh@aybabtu.com>
38174
38175 * util/grub.d/10_linux.in (linux_entry): New function.
38176 Factorize generation of Linux boot entries.
38177
5709cfc4 381782009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38179
38180 Make the format of Environment Block plain text. The boot loader
38181 part is not tested well yet.
7dd4a573 38182
5709cfc4 38183 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38184 (buffer): Removed.
38185 (envblk): Likewise.
38186 (usage): Remove "info" and "clear". Add "unset". Update the
38187 description of "set", as this does not delete variables any
38188 longer.
38189 (create_envblk_file): Complete rewrite.
38190 (open_envblk_file): Likewise.
38191 (cmd_info): Removed.
38192 (cmd_list): Likewise.
38193 (cmd_set): Likewise.
38194 (cmd_clear): Likewise.
38195 (list_variables): New function.
38196 (write_envblk): Likewise.
38197 (set_variables): Likewise.
38198 (unset_variables): Likewise.
38199 (main): Complete rewrite.
38200
38201 * commands/loadenv.c (buffer): Removed.
38202 (envblk): Likewise.
38203 (open_envblk_file): New function.
38204 (read_envblk_file): Complete rewrite.
38205 (grub_cmd_load_env): Likewise.
38206 (grub_cmd_list_env): Likewise.
38207 (struct blocklist): New struct.
38208 (free_blocklists): New function.
38209 (check_blocklists): Likewise.
38210 (write_blocklists): Likewise.
38211 (grub_cmd_save_env): Complete rewrite.
38212
38213 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38214 a plain text signature.
38215 (GRUB_ENVBLK_MAXLEN): Removed.
38216 (struct grub_envblk): Complete rewrite.
38217 (grub_envblk_find): Removed.
38218 (grub_envblk_insert): Likewise.
38219 (grub_envblk_open): New prototype.
38220 (grub_envblk_set): Likewise.
38221 (grub_envblk_delete): Put const to VALUE.
38222 (grub_envblk_iterate): Put const to NAME and VALUE.
38223 (grub_envblk_close): New prototype.
38224 (grub_envblk_buffer): New inline function.
38225 (grub_envblk_size): Likewise.
38226
38227 * lib/envblk.c: Include grub/mm.h.
38228 (grub_env_find): Removed.
38229 (grub_envblk_open): New function.
38230 (grub_envblk_close): Likewise.
38231 (escaped_value_len): Likewise.
38232 (find_next_line): Likewise.
38233 (grub_envblk_insert): Removed.
38234 (grub_envblk_set): New function.
38235 (grub_envblk_delete): Complete rewrite.
38236 (grub_envblk_iterate): Likewise.
38237
a9368fd3 382382009-03-28 Robert Millan <rmh@aybabtu.com>
38239
38240 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38241 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38242 variables. Use 16-bit loader.
38243 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38244 loader.
38245 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38246 (grub_linux16_boot): ... this. Update all users.
38247 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
38248 (grub_linux_boot): ... this. Update all users.
38249
38250 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38251 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38252 commands to `linux16' and `initrd16'.
38253 (GRUB_MOD_FINI(linux)): Rename to ...
38254 (GRUB_MOD_FINI(linux16)): ... this.
38255
e4dd5a7e 382562009-03-24 Pavel Roskin <proski@gnu.org>
38257
38258 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38259 not just for compilation.
38260
c04d6e05 382612009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38262
38263 Move multiboot helper out of kernel
38264
38265 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38266 `loader/i386/multiboot_helper.S'.
38267 * conf/i386-coreboot.rmk: Likewise
38268 * conf/i386-ieee1275.rmk: Likewise
38269
38270 * kern/i386/loader.S: Move multiboot helpers from here...
38271 * loader/i386/multiboot_helper.S: ...moved here
38272 * include/grub/i386/loader.h: Move declarations of multiboot
38273 helpers from here...
38274 * include/grub/i386/multiboot.h: ...moved here
38275 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38276
42a5b3fc 382772009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38278
38279 * kern/env.c (grub_env_context_open): Added an argument to specify
38280 whether a new context inherits exported variables from current
38281 one. This is useful when making a sandbox to interpret a config
38282 file.
38283 All callers updated.
38284
38285 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38286
b28bbc4e 382872009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38288
38289 * kern/env.c (grub_env_context_close): Fix memory leaks.
38290
f04f02e4 382912009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38292
38293 * normal/main.c (grub_normal_execute): Added an argument
38294 BATCH to specify if an interactive interface should be provided
38295 after reading a config file.
38296 All callers updated.
38297 (read_command_list): Prevent being executed twice.
38298 (read_fs_list): Likewise.
38299
42a5b3fc 38300 * include/grub/normal.h (grub_normal_execute): Updated the
38301 prototype.
f04f02e4 38302
41473ac2 383032009-03-22 Pavel Roskin <proski@gno.org>
38304
fbc00b0c 38305 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38306 _start.
38307 * kern/i386/pc/startup.S: Likewise.
38308 * kern/i386/efi/startup.S: Likewise.
38309 * kern/i386/ieee1275/startup.S: Likewise.
38310 * kern/i386/coreboot/startup.S: Likewise.
38311 * kern/x86_64/efi/startup.S: Likewise.
38312
41473ac2 38313 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38314 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38315 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38316
2274cc8f 383172009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38318
38319 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38320
38321 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38322 limit detection.
38323 Use vaddr of correct segment for entry_point.
38324
b1b797cb 383252009-03-21 Bean <bean123ch@gmail.com>
38326
38327 * commands/blocklist.c: Add include file <grub/command.h>, remove
38328 <grub/normal.h> and <grub/arg.h>.
38329 (grub_cmd_blocklist): Use the new command interface.
38330 (GRUB_MOD_INIT): Likewise.
38331 (GRUB_MOD_FINI): Likewise.
38332 * commands/boot.c: Likewise.
38333 * commands/cat.c: Likewise.
38334 * commands/cmp.c: Likewise.
38335 * commands/configfile.c: Likewise.
38336 * commands/crc.c: Likewise.
38337 * commands/echo.c: Likewise.
38338 * commands/halt.c: Likewise.
38339 * commands/handler.c: Likewise.
38340 * commands/hdparm.c: Likewise.
38341 * commands/help.c: Likewise.
38342 * commands/hexdump.c: Likewise.
38343 * commands/loadenv.c: Likewise.
38344 * commands/ls.c: Likewise.
38345 * commands/lsmmap.c: Likewise.
38346 * commands/lspci.c: Likewise.
38347 * commands/loadenv.c: Likewise.
38348 * commands/read.c: Likewise.
38349 * commands/reboot.c: Likewise.
38350 * commands/search.c: Likewise.
38351 * commands/sleep.c: Likewise.
38352 * commands/test.c: Likewise.
38353 * commands/usbtest.c: Likewise.
38354 * commands/videotest.c: Likewise.
38355 * commands/i386/cpuid.c: Likewise.
38356 * commands/i386/pc/halt.c: Likewise.
38357 * commands/i386/pc/play.c: Likewise.
38358 * commands/i386/pc/pxecmd.c: Likewise.
38359 * commands/i386/pc/vbeinfo.c: Likewise.
38360 * commands/i386/pc/vbetest.c: Likewise.
38361 * commands/ieee1275/suspend.c: Likewise.
38362 * disk/loopback.c: Likewise.
38363 * font/font_cmd.c: Likewise.
38364 * hello/hello.c: Likewise.
38365 * loader/efi/appleloader.c: Likewise.
38366 * loader/efi/chainloader.c: Likewise.
38367 * loader/i386/bsd.c: Likewise.
38368 * loader/i386/efi/linux.c: Likewise.
38369 * loader/i386/ieee1275/linux.c: Likewise.
38370 * loader/i386/linux.c: Likewise.
38371 * loader/i386/pc/chainloader.c: Likewise.
38372 * loader/i386/pc/linux.c: Likewise.
38373 * loader/powerpc/ieee1275/linux.c: Likewise.
38374 * loader/multiboot_loader.c: Likewise.
38375 * term/gfxterm.c: Likewise.
38376 * term/i386/pc/serial.c: Likewise.
38377 * term/terminfo.c: Likewise.
38378
38379 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38380 * term/i386/pc/vga.c: Likewise.
38381 * video/readers/jpeg.c: Likewise.
38382 * video/readers/png.c: Likewise.
38383 * video/readers/tga.c: Likewise.
38384
38385 * util/grub-fstest (cmd_loopback): Removed.
38386 (cmd_blocklist): Likewise.
38387 (cmd_ls): Likewise.
38388 (grub_register_command): Likewise.
38389 (grub_unregister_command): Likewise.
38390 (execute_command): Use grub_command_find to locate command and execute
38391 it.
38392
38393 * include/grub/efi/chainloader.h: Removed.
38394 * loader/efi/chainloader_normal.c: Likewise.
38395 * loader/i386/bsd_normal.c: Likewise.
38396 * loader/i386/pc/chainloader_normal.c: Likewise.
38397 * loader/i386/pc/multiboot_normal.c: Likewise.
38398 * loader/linux_normal.c: Likewise.
38399 * loader/multiboot_loader_normal.c: Likewise.
38400 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38401
38402 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38403 and grub_register_command_p1.
38404
38405 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38406 kern/command.c, lib/arg.c and commands/extcmd.c.
38407 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38408 (minicmd_mod_SOURCES): New variable.
38409 (minicmd_mod_CFLAGS): Likewise.
38410 (minicmd_mod_LDFLAGS): Likewise.
38411 (extcmd_mod_SOURCES): Likewise.
38412 (extcmd_mod_CFLAGS): Likewise.
38413 (extcmd_mod_LDFLAGS): Likewise.
38414 (boot_mod_SOURCES): Removed.
38415 (boot_mod_CFLAGS): Likewise.
38416 (boot_mod_LDFLAGS): Likewise.
38417
38418 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38419 kern/corecmd.c.
38420 (kernel_img_HEADERS): Add command.h.
38421 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38422 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38423 and lib/arg.c.
38424 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38425 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38426 remove the corresponding normal mode command.
38427 (normal_mod_SOURCES): Remove normal/arg.c.
38428 * conf/i386-coreboot.rmk: Likewise.
38429 * conf/i386-efi.rmk: Likewise.
38430 * conf/i386-ieee1275.rmk: Likewise.
38431 * conf/powerpc-ieee1275.rmk: Likewise.
38432 * conf/x86_64-efi.rmk: Likewise.
38433
38434 * include/grub/arg.h: Move from here ...
38435 * include/grub/lib/arg.h: ... to here.
38436
38437 * normal/arg.c: Move from here ...
38438 * lib/arg.c: ... to here.
38439
38440 * commands/extcmd.c: New file.
38441 * commands/minicmd.c: Likewise.
38442 * include/grub/command.h: Likewise.
38443 * include/grub/extcmd.h: Likewise.
38444 * kern/command.c: Likewise.
38445 * kern/corecmd.c: Likewise.
38446
38447 * kern/list.c (grub_list_iterate): Return int instead of void.
38448 (grub_list_insert): New function.
38449 (grub_prio_list_insert): Likewise.
38450
38451 * kern/rescue.c (grub_rescue_command): Removed.
38452 (grub_rescue_command_list): Likewise.
38453 (grub_rescue_register_command): Likewise.
38454 (grub_rescue_unregister_command): Likewise.
38455 (grub_rescue_cmd_boot): Move to minicmd.c
38456 (grub_rescue_cmd_help): Likewise.
38457 (grub_rescue_cmd_info): Likewise.
38458 (grub_rescue_cmd_boot): Likewise.
38459 (grub_rescue_cmd_testload): Likewise.
38460 (grub_rescue_cmd_dump): Likewise.
38461 (grub_rescue_cmd_rmmod): Likewise.
38462 (grub_rescue_cmd_lsmod): Likewise.
38463 (grub_rescue_cmd_exit): Likewise.
38464 (grub_rescue_print_devices): Moved to corecmd.c.
38465 (grub_rescue_print_files): Likewise.
38466 (grub_rescue_cmd_ls): Likewise.
38467 (grub_rescue_cmd_insmod): Likewise.
38468 (grub_rescue_cmd_set): Likewise.
38469 (grub_rescue_cmd_unset): Likewise.
7d074e3c 38470 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 38471 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 38472 commands, remove grub_rescue_register_command calls.
b1b797cb 38473
7d074e3c 38474 * normal/command.c (grub_register_command): Removed.
b1b797cb 38475 (grub_unregister_command): Likewise.
38476 (grub_command_find): Likewise.
38477 (grub_iterate_commands): Likewise.
38478 (rescue_command): Likewise.
38479 (export_command): Moved to corecmd.c.
38480 (set_command): Removed.
38481 (unset_command): Likewise.
38482 (insmod_command): Likewise.
38483 (rmmod_command): Likewise.
38484 (lsmod_command): Likewise.
38485 (grub_command_init): Likewise.
38486
38487 * normal/completion.c (iterate_command): Use cmd->prio to check for
38488 active command.
38489 (complete_arguments): Use grub_extcmd_t structure to find options.
38490 (grub_normal_do_completion): Change function grub_iterate_commands to
38491 grub_command_iterate.
38492
38493 * normal/execute.c (grub_script_execute_cmd): No need to parse
38494 argument here.
38495
38496 * normal/main.c (grub_dyncmd_dispatcher): New function.
38497 (read_command_list): Register unload commands as dyncmd.
38498 (grub_cmd_normal): Use new command interface, register rescue,
38499 unregister normal at entry, register normal, unregister rescue at exit.
38500
38501 * include/grub/list.h (grub_list_test_t): New type.
38502 (grub_list_iterate): Return int instead of void.
38503 (grub_list_insert): New function.
38504 (GRUB_AS_NAMED_LIST_P): New macro.
38505 (GRUB_AS_PRIO_LIST): Likewise.
38506 (GRUB_AS_PRIO_LIST_P): Likewise.
38507 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38508 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38509 (grub_prio_list): New structure.
38510 (grub_prio_list_insert): New function.
38511 (grub_prio_list_remove): New inline function.
38512
38513 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38514 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38515 (GRUB_COMMAND_FLAG_MENU): Likewise.
38516 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38517 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38518 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38519 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38520 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38521 (grub_command): Likewise.
38522 (grub_register_command): Likewise.
38523 (grub_command_find): Likewise.
38524 (grub_iterate_commands): Likewise.
38525 (grub_command_init): Likewise.
38526 (grub_arg_parse): Likewise.
38527 (grub_arg_show_help): Likewise.
38528
38529 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38530 (grub_rescue_unregister_command): Likewise.
38531
38532 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38533 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38534 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38535
38536 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38537 grub_rescue_cmd_initrd.
38538 * include/grub/i386/loader.h: Likewise.
38539 * include/grub/x86_64/loader.h: Likewise.
38540
38541 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38542
1f4147aa 385432009-03-21 Bean <bean123ch@gmail.com>
38544
38545 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38546 instead of stat in mingw environment.
38547
38548 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38549
38550 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38551
38552 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38553 AC_CONFIG_LINKS.
38554
2156d5ba 385552009-03-21 Bean <bean123ch@gmail.com>
38556
38557 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38558 out of range error.
38559
177b82ca 385602009-03-18 Michel Dänzer <michel@daenzer.net>
38561
38562 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38563 checking inode flags for EXT4_EXTENTS_FLAG.
38564
14aad807 385652009-03-18 Robert Millan <rmh@aybabtu.com>
38566
38567 * loader/i386/linux.c: Include `<grub/video.h>' and
38568 `<grub/i386/pc/vbe.h>'..
38569 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38570 (grub_linux32_boot): Attempt to configure video settings with
38571 grub_linux_setup_video().
38572 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38573 to avoid grub_console_fini() which would step out of graphical mode
38574 unconditionally.
38575
8cf83a27 385762009-03-14 Robert Millan <rmh@aybabtu.com>
38577
38578 Fix build on powerpc.
38579 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38580
40164e75 385812009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38582
38583 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38584 background image command.
38585
c58bc32a 385862009-03-12 Colin D Bennett <colin@gibibit.com>
38587
38588 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38589 (grub_gfxterm_putchar): Extract pairs of identical calls to
38590 draw_cursor out of conditional blocks.
38591
5415144a 385922009-03-11 Pavel Roskin <proski@gnu.org>
38593
38594 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38595 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38596
6394042e 385972009-03-11 Robert Millan <rmh@aybabtu.com>
38598
38599 * loader/i386/multiboot_elfxx.c
38600 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38601
b7b50e5f 386022009-03-11 Felix Zielcke <fzielcke@z-51.de>
38603
38604 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38605 `kern/handler.c'.
38606
1ca7fc96 386072009-03-11 Robert Millan <rmh@aybabtu.com>
38608
38609 * loader/i386/multiboot.c (code_size): New variable.
38610 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38611 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38612 4-byte alignment to MBI and others by increasing
7d074e3c 38613 `boot_loader_name_length' appropriately.
1ca7fc96 38614
38615 * loader/i386/multiboot_elfxx.c
38616 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38617
a83ea1d2 386182009-03-09 Felix Zielcke <fzielcke@z-51.de>
38619
38620 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38621 `fs/ext2.c'.
38622
aa9f3bff 386232009-03-08 Robert Millan <rmh@aybabtu.com>
38624
38625 Make loader/i386/linux.c usable on i386-pc again.
38626
38627 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38628 memory to heap.
38629 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38630 `#error' stanza.
38631
d8b3b60e 386322009-03-07 Bean <bean123ch@gmail.com>
38633
38634 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38635 allocation.
38636
b362c9e9 386372009-03-06 Robert Millan <rmh@aybabtu.com>
38638
38639 Fix display issue on terminals with screen size other than 80x25
38640 (e.g. gfxterm with resolution higher than 640x480).
38641
38642 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38643 position relative to the center of the terminal instead of relying
b362c9e9 38644 on a hardcoded offset.
38645
9304eef1 386462009-03-04 Robert Millan <rmh@aybabtu.com>
38647
38648 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38649 installed.
38650
38651 * Makefile.in (host_kernel): New variable.
38652 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38653 scripts instead of just the windows one.
38654 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38655
eabc95fb 386562009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38657
38658 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38659 `kern/handler.c'.
38660 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38661 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38662 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38663 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38664 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38665 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38666
ceb1223c 386672009-03-04 Felix Zielcke <fzielcke@z-51.de>
38668
38669 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38670 or if there's no space for the disk label and print the partition number on a
38671 invalid magic.
38672
4910684a 386732009-03-04 Felix Zielcke <fzielcke@z-51.de>
38674
38675 * util/misc.c: Include <time.h>.
38676 (grub_millisleep): New function.
38677
7e9ca17a 386782009-03-04 Bean <bean123ch@gmail.com>
38679
38680 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38681 another option -mno-red-zone.
38682
38683 * commands/handler.c: Change module description.
38684
38685 * kern/handler.c: Add missing space at the end of description line.
38686
38687 * kern/list.c: Likewise.
38688
f501677c 386892009-03-03 Robert Millan <rmh@aybabtu.com>
38690
38691 Move more components to the relocation area, and fix mbi pointer
38692 handling to use the destination rather than the origin (thanks to
38693 Vladimir Serbinenko for spotting).
38694
38695 * loader/i386/multiboot.c (mbi_dest): New variable.
38696 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38697 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38698 relocation area.
38699
9902d047 387002009-03-01 Bean <bean123ch@gmail.com>
38701
50fb7002 38702 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38703 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38704 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38705 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38706
38707 * loader/i386/efi/linux.c (acpi_guid): New variable.
38708 (acpi_guid): Likewise.
38709 (EBDA_SEG_ADDR): New constant.
38710 (LOW_MEM_ADDR): Likewise.
38711 (FAKE_EBDA_SEG): Likewise.
38712 (fake_bios_data): New function.
38713 (grub_linux_boot): Call fake_bios_data.
38714
71b9f361 387152009-03-01 Bean <bean123ch@gmail.com>
38716
38717 * commands/terminal.c: Removed.
38718
38719 * commands/handler.c: New file.
38720
38721 * include/grub/list.h: Likewise.
38722
38723 * include/grub/handler.h: Likewise.
38724
38725 * kern/list.c: Likewise.
38726
38727 * kern/handler.c: Likewise.
38728
38729 * kern/term.h: Include header file <grub/handler.h>.
38730 (grub_term_input): Move next field to the beginning.
38731 (grub_term_output): Likewise.
38732 (grub_term_input_class): New variable.
38733 (grub_term_output_class): Likewise.
38734 (grub_term_register_input): Changed to inline function.
38735 (grub_term_register_output): Likewise.
38736 (grub_term_unregister_input): Likewise.
38737 (grub_term_unregister_output): Likewise.
38738 (grub_term_set_current_input): Likewise.
38739 (grub_term_set_current_output): Likewise.
38740 (grub_term_get_current_input): Likewise.
38741 (grub_term_get_current_output): Likewise.
38742 (grub_term_iterate_input): Removed.
38743 (grub_term_iterate_output): Likewise.
38744
38745 * kern/term.c (grub_term_list_input): Removed.
38746 (grub_term_list_output): Likewise.
38747 (grub_term_input_class): New variable.
38748 (grub_term_output_class): Likewise.
50fb7002 38749 (grub_cur_term_input): Change variable as macro.
71b9f361 38750 (grub_cur_term_output): Likewise.
38751 (grub_term_register_input): Removed.
38752 (grub_term_register_output): Likewise.
38753 (grub_term_unregister_input): Likewise.
38754 (grub_term_unregister_output): Likewise.
38755 (grub_term_set_current_input): Likewise.
38756 (grub_term_set_current_output): Likewise.
38757 (grub_term_iterate_input): Likewise.
38758 (grub_term_iterate_output): Likewise.
38759 (grub_term_get_current_input): Likewise.
38760 (grub_term_get_current_output): Likewise.
38761
38762 * util/grub-editenv.c: Include header file <grub/handler.h>.
38763 (grub_term_get_current_input): Removed.
38764 (grub_term_get_current_output): Likewise.
38765 (grub_term_input_class): New variable.
50fb7002 38766 (grub_term_output_class): Likewise.
71b9f361 38767
38768 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38769 (grub_term_get_current_output): Likewise.
38770 (grub_term_input_class): New variable.
50fb7002 38771 (grub_term_output_class): Likewise.
71b9f361 38772
38773 * util/grub-probe.c (grub_term_get_current_input): Removed.
38774 (grub_term_get_current_output): Likewise.
38775 (grub_term_input_class): New variable.
50fb7002 38776 (grub_term_output_class): Likewise.
71b9f361 38777
38778 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38779 (grub_term_get_current_output): Likewise.
38780 (grub_term_input_class): New variable.
50fb7002 38781 (grub_term_output_class): Likewise.
71b9f361 38782
38783 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38784 (terminal_mod_SOURCES): Likewise.
38785 (terminal_mod_CFLAGS): Likewise.
38786 (terminal_mod_LDFLAGS): Likewise.
38787
38788 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38789 handler.c.
38790 (kernel_img_SOURCES): Add list.c and handler.c.
38791 (kernel_img_HEADERS): Add list.h and handler.h.
38792
38793 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38794 handler.c.
38795 (kernel_mod_SOURCES): Add list.c and handler.c.
38796 (kernel_mod_HEADERS): Add list.h and handler.h.
38797
38798 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38799 handler.c.
38800 (kernel_elf_SOURCES): Add list.c and handler.c.
38801 (kernel_elf_HEADERS): Add list.h and handler.h.
38802
38803 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38804 handler.c.
38805 (kernel_elf_SOURCES): Add list.c and handler.c.
38806 (kernel_elf_HEADERS): Add list.h and handler.h.
38807
38808 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38809 handler.c.
38810 (kernel_mod_SOURCES): Add list.c and handler.c.
38811 (kernel_mod_HEADERS): Add list.h and handler.h.
38812
38813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38814 handler.c.
38815 (kernel_elf_SOURCES): Add list.c and handler.c.
38816 (kernel_elf_HEADERS): Add list.h and handler.h.
38817
8a31787f 388182009-02-27 Robert Millan <rmh@aybabtu.com>
38819
38820 Factorize elf32 / elf64 code in Multiboot loader. This will
38821 prevent it from getting out of sync again.
38822
38823 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38824 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38825 grub_multiboot_load_elf64): Move from here ...
38826 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38827 grub_multiboot_load_elf): ... to here (new file).
38828
51cd3dfc 388292009-02-27 Robert Millan <rmh@aybabtu.com>
38830
38831 * util/grub.d/10_linux.in: Rename "single-user mode" to
38832 "recovery mode".
38833
6e8c9c3a 388342009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38835
38836 Don't leak in SCSI code.
38837 * disk/scsi.c (grub_scsi_close): free `scsi'.
38838
4b6bf4f9 388392009-02-27 Robert Millan <rmh@aybabtu.com>
38840
38841 * loader/i386/pc/multiboot.c: Move from here ...
38842 * loader/i386/multiboot.c: ... to here. Update all users.
38843
b9413424 388442009-02-27 Robert Millan <rmh@aybabtu.com>
38845
38846 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38847 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38848
50fb7002 388492009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38850
38851 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38852 b-tree.
38853
8cc50345 388542009-02-27 Robert Millan <rmh@aybabtu.com>
38855
38856 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38857 `0x' qualifier as 0 when base is specified as parameter).
38858
6e09b8b7 388592009-02-24 Bean <bean123ch@gmail.com>
38860
38861 * configure.ac: Check for -mcmodel=large in x86_64 target.
38862
38863 * include/grub/efi/api.h (efi_call_10): New macro.
38864 (efi_wrap_10): New function.
38865
38866 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38867 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38868 (GRUB_PE32_REL_BASED_LOW): Likewise.
38869 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38870 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38871 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38872 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38873 (GRUB_PE32_REL_BASED_REL): Likewise.
38874 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38875 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38876 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38877
38878 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38879 issue.
38880
38881 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38882 (efi_wrap_10): New function.
38883
38884 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38885
38886 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38887 MB/MBP model (NV chipset).
38888 (devdata_devs): Add devpath_5 to the list.
38889
38890 * load/i386/efi/linux.c (video_base): Remove variable.
38891 (RGB_MASK): New macro.
38892 (RGB_MAGIC): Likewise.
38893 (LINE_MIN): Likewise.
38894 (LINE_MAX): Likewise.
38895 (FBTEST_STEP): Likewise.
38896 (FBTEST_COUNT): Likewise.
38897 (fb_list): New variable.
38898 (grub_find_video_card): Remove function.
38899 (find_framebuf): New function.
38900 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38901 line length.
38902
38903 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38904 problem for x86_64.
38905
74b21bee 389062009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38907
38908 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38909
38910 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38911 coding tool name.
38912
a455f472 389132009-02-22 Robert Millan <rmh@aybabtu.com>
38914
38915 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38916 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38917 in our relocation, instead of using it directly from heap. Also
38918 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38919
6374daf3 389202009-02-21 Robert Millan <rmh@aybabtu.com>
38921
38922 Implement USB keyboard support (based on patch by Marco Gerards)
38923
38924 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38925 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38926 (usb_keyboard_mod_LDFLAGS): New variables.
38927
38928 * term/usb_keyboard.c: New file.
38929
8fa4ea70 389302009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38931
38932 Corrected wrong declaration
38933
38934 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38935
353976ac 389362009-02-14 Christian Franke <franke@computer.org>
38937
38938 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38939 (grub_lspci_iter): Print class code and programming interface byte.
38940
6aa1169b 389412009-02-14 Christian Franke <franke@computer.org>
38942
38943 * gendistlist.sh: Ignore `.svn' directories.
38944
265372ca 389452009-02-14 Felix Zielcke <fzielcke@z-51.de>
38946
38947 * fs/fat.c: Add 2009 to Copyright line.
38948
9ff516f3 389492009-02-14 Christian Franke <franke@computer.org>
38950
38951 * commands/hdparm.c: New file. Provides `hdparm' command
38952 which sends ATA commands via grub_disk_ata_pass_through ().
38953
38954 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38955
38956 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38957 and <grub/cpu/io.h> to include/grub/ata.h.
38958 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38959 (GRUB_CDROM_SECTOR_SIZE): Remove.
38960 (GRUB_ATA_*): Move to include/grub/ata.h.
38961 (GRUB_ATAPI_*): Likewise.
38962 (enum grub_ata_commands): Likewise.
38963 (enum grub_ata_timeout_milliseconds): Likewise.
38964 (struct grub_ata_device): Likewise.
38965 (grub_ata_regset): Likewise.
38966 (grub_ata_regget): Likewise.
38967 (grub_ata_regset2): Likewise.
38968 (grub_ata_regget2): Likewise.
38969 (grub_ata_check_ready): Likewise.
38970 (grub_ata_wait_not_busy): Remove static, exported in
38971 include/grub/ata.h.
38972 (grub_ata_wait_drq): Likewise.
38973 (grub_ata_pio_read): Likewise.
38974
38975 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38976 function for hdparm.mod.
38977
38978 * include/grub/ata.h: New file, contains declarations from
38979 disk/ata.c.
38980 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38981
38982 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38983 (grub_disk_ata_pass_through): New exported variable.
38984
38985 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38986
772e23da 389872009-02-13 Colin D Bennett <colin@gibibit.com>
38988
38989 Support multiple fallback entries, and provide an API to support
38990 executing default+fallback menu entries. Renamed the `terminal' menu
38991 viewer to `text'.
38992
38993 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38994 variable declaration.
38995 (grub_menu_execute_callback): New structure declaration.
38996 (grub_menu_execute_callback_t): New typedef.
38997 (grub_menu_execute_with_fallback): New function declaration.
38998 (grub_menu_get_entry): Likewise.
38999 (grub_menu_get_timeout): Likewise.
39000 (grub_menu_set_timeout): Likewise.
39001
39002 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
39003
39004 * normal/menu.c (grub_wait_after_message): Moved to
39005 `normal/menu_text.c'.
39006 (draw_border): Likewise.
39007 (print_message): Likewise.
39008 (print_entry): Likewise.
39009 (print_entries): Likewise.
39010 (grub_menu_init_page): Likewise.
39011 (get_entry_number): Likewise.
39012 (print_timeout): Likewise.
39013 (run_menu): Likewise.
39014 (grub_menu_execute_entry): Likewise.
39015 (show_text_menu): Likewise.
39016 (get_and_remove_first_entry_number): New function.
39017 (grub_menu_execute_with_fallback): Likewise.
39018 (get_entry): Renamed to ...
39019 (grub_menu_get_entry): .. this and made it global.
39020 (get_timeout): Renamed to ...
39021 (grub_menu_get_timeout): ... this and made it global.
39022 (set_timeout): Renamed to ...
39023 (grub_menu_set_timeout): ... this and made it global.
39024 (grub_normal_terminal_menu_viewer): Renamed to ...
39025 (grub_normal_text_menu_viewer): ... this.
39026
39027 * normal/menu_text.c: New file. Extracted text-menu-specific code
39028 from normal/menu.c.
39029
39030 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39031 (normal_mod_SOURCES): Likewise.
39032
39033 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39034 (normal_mod_SOURCES): Likewise.
39035
39036 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39037 (normal_mod_SOURCES): Likewise.
39038
39039 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39040 (normal_mod_SOURCES): Likewise.
39041
39042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39043 (normal_mod_SOURCES): Likewise.
39044
39045 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39046 (normal_mod_SOURCES): Likewise.
39047
39048 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39049 (normal_mod_SOURCES): Likewise.
39050
16ac430e 390512009-02-11 Robert Millan <rmh@aybabtu.com>
39052
39053 * util/grub.d/00_header.in: Update old reference to `font' command.
39054
06ff20fc 390552009-02-10 Felix Zielcke <fzielcke@z-51.de>
39056
39057 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39058
39059 Based on patch from Javier Martín.
39060
96da9407 390612009-02-09 Felix Zielcke <fzielcke@z-51.de>
39062
39063 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 39064 to avoid false positives with FAT.
96da9407 39065 (grub_fstest_SOURCES): Likewise.
39066 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39067 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39069 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39070 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39071 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39072
6dca6fe4 390732009-02-09 Felix Zielcke <fzielcke@z-51.de>
39074
06ff20fc 39075 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 39076 bpb.version_specific.fat12_or_fat16.fstype and
39077 bpb.version_specific.fat32.fstype.
39078
2550c62f 390792009-02-08 Robert Millan <rmh@aybabtu.com>
39080
be110b30 39081 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 39082
56978920 390832009-02-08 Robert Millan <rmh@aybabtu.com>
39084
39085 * Makefile.in (host_os, host_cpu): New variables.
39086 (target_os): Remove. Update all users.
39087
d64399b5 390882009-02-08 Marco Gerards <marco@gnu.org>
39089
39090 * Makefile.in (enable_grub_emu_usb): New variable.
39091 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39092 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39093 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39094 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39095 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39096 `usbtest.mod' and `usbms.mod'.
39097 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39098 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39099 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39100 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39101 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39102 variables.
39103
39104 * disk/usbms.c: New file.
39105
39106 * include/grub/usb.h: Likewise.
39107
39108 * include/grub/usbtrans.h: Likewise.
39109
39110 * include/grub/usbdesc.h: Likewise.
39111
39112 * bus/usb/usbtrans.c: Likewise.
39113
39114 * bus/usb/ohci.c: Likewise.
39115
39116 * bus/usb/uhci.c: Likewise.
39117
39118 * bus/usb/usbhub.c: Likewise.
39119
39120 * bus/usb/usb.c: Likewise.
39121
39122 * commands/usbtest.c: Likewise.
39123
39124 * util/usb.c: Likewise.
50fb7002 39125
d64399b5 39126 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39127
39128 * configure.ac: Test for libusb presence.
50fb7002 39129
d64399b5 39130 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39131
2b40d6bb 391322009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39133
39134 * kern/mm.c: Add more comments.
39135
73a4ce81 391362009-02-08 Robert Millan <rmh@aybabtu.com>
39137
39138 Patch from Javier Martín.
39139 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39140 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39141
f821ce59 391422009-02-08 Robert Millan <rmh@aybabtu.com>
39143
39144 * fs/cpio.c: Split tar functionality to ...
39145 * fs/tar.c: ... here (new file). Update all users.
39146
aebfc4b0 391472009-02-07 Robert Millan <rmh@aybabtu.com>
39148
39149 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39150 backward-incompatible features.
39151
39152 Based on patch from Javier Martín, with some adjustments.
39153
50fb7002 391542009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 39155
39156 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39157
0bb5115e 391582009-02-07 Robert Millan <rmh@aybabtu.com>
39159
39160 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
39161 position of `disk/lvm.c' to ensure grub_init_all() always picks it
39162 after the RAID stuff.
39163
38a0f8e7 391642009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
39165
50fb7002 39166 Fixes problem when running vbetest command as reported by
38a0f8e7 39167 Vladimir Serbinenko <phcoder@gmail.com>.
39168
39169 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39170
3143cc1c 391712009-02-04 Felix Zielcke <fzielcke@z-51.de>
39172
39173 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39174 /dev/md/NpN style mdraid devices.
39175
9cba6fce 391762009-02-03 Felix Zielcke <fzielcke@z-51.de>
39177
39178 * util/unifont2pff.rb: Remove.
39179
e507a2c1 391802009-02-03 Felix Zielcke <fzielcke@z-51.de>
39181
39182 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39183 `#'.
39184
d2c2b4cd 391852009-02-03 Felix Zielcke <fzielcke@z-51.de>
39186
39187 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
39188 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39189 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39190 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39192 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39193 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39194
b4315fb0 391952009-02-02 Christian Franke <franke@computer.org>
39196
39197 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
39198
de3aa260 391992009-02-01 Felix Zielcke <fzielcke@z-51.de>
39200
7c3ff286 39201 * INSTALL: Note that we now require at least autoconf 2.59 and
39202 that LZO is optional.
de3aa260 39203
825a182b 392042009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39205
39206 Base on patch on bug #24154 created by Tomas Tintera
39207 <trosos@seznam.cz>.
39208
39209 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39210
a69ef770 392112009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39212
7c3ff286 39213 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 39214 <bero@arklinux.org>.
39215
39216 * normal/parser.y (script_init): Add missing semicolon.
39217
6fa42fa6 392182009-01-31 Colin D Bennett <colin@gibibit.com>
39219
7c3ff286 39220 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 39221 (free_menu_entry_classes): Added.
39222 (grub_normal_menu_addentry): Added class property handling.
39223 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39224 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39225
39226 * normal/menu_viewer.c: New file.
39227
39228 * normal/menu.c (run_menu_entry): Renamed to ...
39229 (grub_menu_execute_entry): ... this and made it as global.
39230 (grub_menu_run): Renamed to ...
39231 (show_text_menu): ... this and made it local.
39232 (show_text_menu): Adapt to new function names.
39233 (grub_normal_terminal_menu_viewer): New global variable.
39234
39235 * include/grub/menu.h: New file.
39236
39237 * include/grub/menu_viewer.h: New file.
39238
39239 * include/grub/normal.h: Added include to grub/menu.h.
39240 (grub_menu_entry): Moved to include/grub/menu.h.
39241 (grub_menu_entry_t): Likewise.
39242 (grub_menu): Likewise.
39243 (grub_menu_t): Likewise.
39244 (grub_normal_terminal_menu_viewer): Added.
39245 (grub_menu_execute_entry): Likewise.
39246 (grub_menu_run): Removed.
39247
39248 * DISTLIST: Added include/grub/menu.h.
39249 Added include/grub/menu_viewer.h.
39250 Added normal/menu_viewer.c.
39251
392522009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39253
39254 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39255 arglist for menutitle arguments.
39256
39257 * normal/main.c (grub_normal_menu_addentry): Likewise.
39258
39259 * normal/parser.y (menuentry): Likewise.
39260
39261 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39262
39263 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39264 (grub_script_create_cmdmenu): Likewise.
39265
39266 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39267
39268 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39269 changes.
39270
39271 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39272
39273 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39274
39275 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39276
39277 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39278
39279 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39280
39281 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39282
56192c23 392832009-01-30 Christian Franke <franke@computer.org>
39284
39285 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39286 in option help text.
39287
d72521b3 392882009-01-27 Pavel Roskin <proski@gnu.org>
39289
39290 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39291
994b5e84 392922009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39293
39294 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39295
39296 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39297
39298 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39299 unregister function.
39300
6a7eab2c 393012009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39302
39303 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39304
39305 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39306
39307 * util/grub-mkfont.c (usage): Fix typo.
39308
39309 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39310
1806b56e 393112009-01-26 Daniel Mierswa <impulze@impulze.org>
39312
3fb18f09 39313 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39314
336e1fb9 39315 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39316
1806b56e 39317 * kern/misc.c (grub_strcasecmp): New function.
39318 (grub_strcasecmp): Use grub_size_t instead of int for length.
39319 Fix return value.
39320 * include/grub/misc.h: Update function prototypes.
39321
580b2a0f 393222009-01-26 Robert Millan <rmh@aybabtu.com>
39323
39324 * configure.ac: Fix cross-compilation check.
ef257b36 39325
d31c24f1 393262009-01-22 Christian Franke <franke@computer.org>
39327
39328 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39329 (precision) digit string. Allow `.format2' without `format1' (width).
39330 Limit input chars for `%s' output to `format2' if specified. This is
39331 compatible with standard printf ().
39332
3138b44c 393332009-01-22 Christian Franke <franke@computer.org>
39334
39335 * disk/ata.c (grub_ata_wait_status): Replace by ...
39336 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39337 other status bits may be invalid while BSY is asserted.
39338 (grub_ata_check_ready): New function.
39339 (grub_ata_cmd): Removed.
39340 (grub_ata_wait_drq): New function.
39341 (grub_ata_strncpy): Remove inline.
39342 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39343 and error check now done by grub_ata_wait_drq ().
39344 (grub_ata_pio_write): Likewise.
39345 (grub_atapi_identify): Set DEV before check for !BSY. Use
39346 grub_ata_wait_drq () to wait for data.
39347 (grub_ata_device_initialize): Add status register check to
39348 detect missing SATA slave devices. Add debug messages.
39349 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39350 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39351 transfer loop by grub_ata_pio_write ().
39352 (grub_ata_identify): Set DEV before check for !BSY. Use
39353 grub_ata_wait_drq () to wait for data.
ef257b36 39354 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39355 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39356 read/write in one loop. Fix invalid command on write. Fix incomplete
39357 command on (size % batch) == 0. Add missing error check after write of
39358 last block. Add debug messages.
39359 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39360
59a64ef6 393612009-01-19 Christian Franke <franke@computer.org>
39362
39363 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39364 (GRUB_ATAPI_IREASON_*): Likewise.
39365 (grub_ata_pio_write): Fix timeout error return.
39366 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39367 (grub_atapi_wait_drq): New function.
39368 (grub_atapi_packet): New parameter `size'.
39369 Use grub_atapi_wait_drq () and direct write instead of
39370 grub_ata_pio_write ().
39371 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39372 reads the number of bytes requested by the device for each DRQ
39373 assertion.
39374 (grub_atapi_write): Remove old implementation, return not
39375 implemented instead.
39376
1cfe20b3 393772009-01-19 Christian Franke <franke@computer.org>
39378
39379 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39380 of 512 to calculate data size.
39381 (grub_scsi_read12): Likewise.
39382 (grub_scsi_write10): Likewise.
39383 (grub_scsi_write12): Likewise.
39384 (grub_scsi_read): Adjust size according to blocksize.
39385 Add checks for invalid blocksize and unaligned transfer.
39386
bee5fe5d 393872009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39388
39389 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39390
ef257b36 39391 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 39392 width glyphs.
39393
3e643f8c 393942009-01-19 Robert Millan <rmh@aybabtu.com>
39395
39396 * config.guess: Update to latest version from config git.
39397 * config.sub: Likewise.
39398
4fa80998 393992009-01-17 Felix Zielcke <fzielcke@z-51.de>
39400
39401 * Makefile.in: Change font compilation to use new grub-mkfont instead
39402 of java version.
39403
39404 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39405 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39406 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39407 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39408 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39409 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39410 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39411 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39412 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39413
7086085b 394142009-01-16 Christian Franke <franke@computer.org>
39415
39416 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39417 (enum grub_ata_timeout_milliseconds): New enum.
39418 (grub_ata_wait_status): Add parameter milliseconds.
39419 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39420 recovery from timed-out commands.
39421 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39422 return grub_errno instead of REG_ERROR.
39423 (grub_ata_pio_write): Add parameter milliseconds.
39424 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39425 Pass milliseconds to grub_ata_wait_status () and
39426 grub_ata_pio_read ().
39427 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39428 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39429 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39430 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39431 It is not suitable for device detection, because DEV bit is ignored,
39432 the command may run too long, and not all devices set the signature
39433 properly.
39434 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39435 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39436 Fix device selection, DEV bit must be set first to address the registers
39437 of the correct device.
39438 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39439 grub_ata_pio_read/write ().
39440 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39441 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39442
4a412913 394432009-01-13 Carles Pina i Estany <carles@pina.cat>
39444
39445 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39446
7795c55e 394472009-01-13 Bean <bean123ch@gmail.com>
d913988c 39448
39449 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39450
7795c55e 394512009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 39452
39453 * Makefile.in: (enable_grub_mkfont): New variable.
39454 (freetype_cflags): Likewise.
39455 (freetype_libs): Likewise.
39456
39457 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39458 (grub_mkfont_SOURCES): New variable.
39459 (grub_mkfont_CFLAGS): Likewise.
39460 (grub_mkfont_LDFLAGS): Likewise.
39461
39462 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39463 library if `--enable-grub-mkfont' is requested.
39464 (enable_grub_mkfont): New variable.
39465 (freetype_cflags): Likewise.
39466 (freetype_libs): Likewise.
39467
39468 * util/grub-mkfont.c: New file.
39469
093af1fe 394702009-01-12 Christian Franke <franke@computer.org>
39471
39472 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39473 mode check. Fix setting of compat_use[].
39474
f36cc108 394752009-01-10 Robert Millan <rmh@aybabtu.com>
39476
39477 Update a few copyright years which we forgot to do in 2008 (only for
39478 files whose changes made in 2008 were copyright-significant)
39479
39480 * Makefile.in: Add 2008 to Copyright line.
39481 * disk/ieee1275/ofdisk.c: Likewise.
39482 * disk/efi/efidisk.c: Likewise.
39483 * kern/dl.c: Likewise.
39484 * kern/sparc64/ieee1275/init.c: Likewise.
39485 * kern/mm.c: Likewise.
39486 * kern/efi/mm.c: Likewise.
39487 * boot/i386/pc/boot.S: Likewise.
39488 * genfslist.sh: Likewise.
39489 * fs/iso9660.c: Likewise.
39490 * fs/hfs.c: Likewise.
39491 * fs/jfs.c: Likewise.
39492 * fs/minix.c: Likewise.
39493 * fs/ufs.c: Likewise.
39494 * gensymlist.sh.in: Likewise.
39495 * genkernsyms.sh.in: Likewise.
39496 * include/grub/misc.h: Likewise.
39497 * include/grub/types.h: Likewise.
39498 * include/grub/symbol.h: Likewise.
39499 * include/grub/elf.h: Likewise.
39500 * include/grub/kernel.h: Likewise.
39501 * include/grub/disk.h: Likewise.
39502 * include/grub/dl.h: Likewise.
39503 * include/grub/i386/linux.h: Likewise.
39504 * include/grub/i386/pc/biosdisk.h: Likewise.
39505 * include/grub/efi/api.h: Likewise.
39506 * include/grub/efi/pe32.h: Likewise.
39507 * include/grub/util/misc.h: Likewise.
39508 * normal/execute.c: Likewise.
39509 * normal/arg.c: Likewise.
39510 * normal/completion.c: Likewise.
39511 * normal/lexer.c: Likewise.
39512 * normal/parser.y: Likewise.
39513 * normal/misc.c: Likewise.
39514 * commands/i386/pc/vbeinfo.c: Likewise.
39515 * commands/hexdump.c: Likewise.
39516 * commands/terminal.c: Likewise.
39517 * commands/ls.c: Likewise.
39518 * commands/help.c: Likewise.
39519 * partmap/pc.c: Likewise.
39520 * loader/efi/chainloader.c: Likewise.
39521 * loader/multiboot_loader.c: Likewise.
39522 * loader/i386/pc/multiboot2.c: Likewise.
39523 * term/efi/console.c: Likewise.
39524 * term/i386/pc/serial.c: Likewise.
39525 * util/lvm.c: Likewise.
39526 * util/console.c: Likewise.
39527 * util/i386/efi/grub-mkimage.c: Likewise.
39528 * util/raid.c: Likewise.
39529
7f02114b 395302009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39531
39532 * commands/videotest.c: Removed include to grub/machine/memory.h.
39533
39534 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39535 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39536 (video_mod_SOURCES): Removed.
39537 (video_mod_CFLAGS): Likewise.
39538 (video_mod_LDFLAGS): Likewise.
39539 (gfxterm_mod_SOURCES): Likewise.
39540 (gfxterm_mod_CFLAGS): Likewise.
39541 (gfxterm_mod_LDFLAGS): Likewise.
39542 (videotest_mod_SOURCES): Likewise.
39543 (videotest_mod_CFLAGS): Likewise.
39544 (videotest_mod_LDFLAGS): Likewise.
39545 (bitmap_mod_SOURCES): Likewise.
39546 (bitmap_mod_CFLAGS): Likewise.
39547 (bitmap_mod_LDFLAGS): Likewise.
39548 (tga_mod_SOURCES): Likewise.
39549 (tga_mod_CFLAGS): Likewise.
39550 (tga_mod_LDFLAGS): Likewise.
39551 (jpeg_mod_SOURCES): Likewise.
39552 (jpeg_mod_CFLAGS): Likewise.
39553 (jpeg_mod_LDFLAGS): Likewise.
39554 (png_mod_SOURCES): Likewise.
39555 (png_mod_CFLAGS): Likewise.
39556 (png_mod_LDFLAGS): Likewise.
39557
39558 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39559 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39560 (video_mod_SOURCES): Added.
39561 (video_mod_CFLAGS): Likewise.
39562 (video_mod_LDFLAGS): Likewise.
39563 (videotest_mod_SOURCES): Likewise.
39564 (videotest_mod_CFLAGS): Likewise.
39565 (videotest_mod_LDFLAGS): Likewise.
39566 (bitmap_mod_SOURCES): Likewise.
39567 (bitmap_mod_CFLAGS): Likewise.
39568 (bitmap_mod_LDFLAGS): Likewise.
39569 (tga_mod_SOURCES): Likewise.
39570 (tga_mod_CFLAGS): Likewise.
39571 (tga_mod_LDFLAGS): Likewise.
39572 (jpeg_mod_SOURCES): Likewise.
39573 (jpeg_mod_CFLAGS): Likewise.
39574 (jpeg_mod_LDFLAGS): Likewise.
39575 (png_mod_SOURCES): Likewise.
39576 (png_mod_CFLAGS): Likewise.
39577 (png_mod_LDFLAGS): Likewise.
39578 (gfxterm_mod_SOURCES): Likewise.
39579 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39580 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39581
39582 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39583 grub/machine/console.h.
39584
644fff97 395852009-01-04 Jerone Young <jerone@gmail.com>
39586
39587 Make on screen instructions clearer
39588
39589 Based on patch created by Jidanni <jidanni@jidanni.org>
39590
39591 * normal/menu.c: print clearer instructions on the screen
39592
1e901a75 395932009-01-02 Colin D Bennett <colin@gibibit.com>
39594
39595 New font engine.
34c44600 39596
1e901a75 39597 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39598 build system and fixed gfxterm.c to work with different sized fonts.
39599
39600 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39601
1e901a75 39602 * configure: Re-generated.
34c44600 39603
1e901a75 39604 * DISTLIST: Removed font/manager.c.
39605 Added font/font.c.
39606 Added font/font_cmd.c.
34c44600 39607
1e901a75 39608 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39609 compilation.
34c44600 39610
1e901a75 39611 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39612
39613 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39614
39615 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39616
1e901a75 39617 * normal/menu.c: Likewise.
34c44600 39618
1e901a75 39619 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39620 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39621
1e901a75 39622 * include/grub/font.h: Replaced with new file.
34c44600 39623
1e901a75 39624 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39625 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39626 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39627 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39628 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39629 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39630 fg_red, fg_green, fg_blue, fg_alpha.
39631 (grub_video_adapter): Removed blit_glyph.
34c44600 39632 (grub_video_blit_glyph): Removed.
39633
1e901a75 39634 * font/manager.c: Removed file.
34c44600 39635
39636 * font/font.c: New file.
39637
1e901a75 39638 * font/font_cmd.c: Likewise.
34c44600 39639
1e901a75 39640 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39641
1e901a75 39642 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39643 (grub_video_vbe_map_rgba): Likewise.
39644 (grub_video_vbe_unmap_color_int): Likewise.
39645 (grub_video_vbe_blit_glyph): Removed.
39646 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39647
1e901a75 39648 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39649 (get_pixel): Likewise.
34c44600 39650 (set_pixel): Likewise.
39651
1e901a75 39652 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39653
1e901a75 39654 * term/gfxterm.c: Adapted to new font engine.
34c44600 39655
1e901a75 39656 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39657
1e901a75 39658 * term/i386/pc/vga.c: Likewise.
34c44600 39659
1e901a75 39660 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39661
1e901a75 39662 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39663
1e901a75 39664 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39665
1e901a75 39666 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39667
1e901a75 39668 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39669
1e901a75 39670 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39671
1e901a75 39672 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39673
1e901a75 39674 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39675
1e901a75 39676 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39677
39678 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39679
1e901a75 39680 * util/grub-mkconfig_lib.in: Changed font extension.
39681
278922e8 396822008-12-28 Felix Zielcke <fzielcke@z-51.de>
39683
39684 * util/getroot.c (grub_util_get_grub_dev): Add support for
39685 /dev/md/dNNpNN style partitionable mdraid devices.
39686
3ced05cf 396872008-12-12 Alex Smith <alex@alex-smith.me.uk>
39688
39689 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39690 at a time limit of the PXE TFTP API correctly.
39691 (grub_pxefs_close): Likewise.
39692
7fd0ee30 396932008-11-29 Robert Millan <rmh@aybabtu.com>
39694
34c44600 39695 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39696 grub_ata_device_initialize() calls.
39697
34c44600 396982008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39699
39700 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39701 iteration failed.
39702 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39703
89313780 397042008-11-28 Robert Millan <rmh@aybabtu.com>
39705
39706 Fix build on powerpc-ieee1275. Based on patch created by
39707 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39708 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39709 `kern/ieee1275/mmap.c'.
39710 * include/grub/powerpc/ieee1275/memory.h: New file.
39711
15257703 39712 Provide grub-install on coreboot.
39713 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39714 (grub_install_SOURCES): New variable.
39715 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39716 usable on coreboot.
39717
9fc5388a 397182008-11-25 Felix Zielcke <fzielcke@z-51.de>
39719
39720 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39721 to `grub_term_input_t'.
39722 (grub_term_get_current_output): Change return type to
39723 `grub_term_output_t'.
39724
bc3a2f31 397252008-11-22 Robert Millan <rmh@aybabtu.com>
39726
34c44600 39727 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39728 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39729 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39730 grub_vga_text_cls().
39731
80fc88f2 39732 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39733 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39734
cbf36fd3 39735 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39736 to 0x200000 (avoids trouble with some OFW implementations, and matches
39737 with the one in Yaboot).
39738 Reported by Manoel Abranches
39739
73e8e268 397402008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39741
39742 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39743 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39744
73e8e268 39745 * util/grub-mkconfig_lib.in (grub_warn): New function.
39746 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39747 warnings, to obtain consistent formatting.
39748 * util/grub.d/00_header.in: Likewise.
39749 * util/update-grub_lib.in: Likewise.
39750
e94045a1 39751 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39752 Move comment text to `#error' stanza.
e94045a1 39753
79d29fd7 39754 Harmonize ieee1275's grub_available_iterate() with the generic
39755 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39756 build problem on i386-ieee1275):
39757 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39758 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39759 parameter `type'. Update all users of this function.
39760 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39761 `kern/ieee1275/mmap.c'.
39762 * kern/ieee1275/init.c
39763 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39764 with ...
39765 (grub_machine_mmap_iterate): ... this.
39766 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39767 return type to `grub_err_t'. Update all implementations of this
39768 function prototype.
39769 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39770 Likewise.
39771
60d6b16e 39772 Add `lsmmap' command (lists firmware-provided memory map):
39773 * commands/lsmmap.c: New file.
39774 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39775 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39776 variables.
39777 * conf/powerpc-ieee1275.rmk: Likewise.
39778 * conf/i386-coreboot.rmk: Likewise.
39779 * conf/i386-ieee1275.rmk: Likewise.
39780
ebaaf49b 397812008-11-19 Robert Millan <rmh@aybabtu.com>
39782
39783 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39784 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39785 constraints to initrd allocation (based on code from
39786 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39787 for Linux to find it.
ebaaf49b 39788
dfab719f 397892008-11-14 Robert Millan <rmh@aybabtu.com>
39790
39791 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39792 order to cope with duplicate slashes.
39793
10fc3eb9 397942008-11-14 Robert Millan <rmh@aybabtu.com>
39795
39796 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39797 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39798 don't want to mess with lower memory, because it is used in the Linux
39799 loader.
39800
39801 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39802 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39803 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39804 is in our heap (probably as a result of it being corrupted during
2f2a3442 39805 decompression). Add #error instance with comment to explain why this
39806 loader isn't currently usable on PC/BIOS.
10fc3eb9 39807
e2e07847 398082008-11-14 Robert Millan <rmh@aybabtu.com>
39809
39810 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39811 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39812
fe8e8d69 398132008-11-12 Robert Millan <rmh@aybabtu.com>
39814
39815 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39816
39817 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39818 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39819 from here ...
39820 * include/grub/i386/pc/memory.h: ... to here.
39821
976b07d0 398222008-11-12 Robert Millan <rmh@aybabtu.com>
39823
39824 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39825 split).
39826
39827 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39828 (grub_console_cur_color, grub_console_real_putchar)
39829 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39830 (grub_console_setcolorstate, grub_console_setcolor)
39831 (grub_console_getcolor): Move from here ...
39832 * include/grub/i386/vga_common.h: ... to here (new file).
39833
39834 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39835 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39836 `<grub/i386/io.h>'.
39837 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39838 `<grub/i386/vga_common.h>'.
39839
76679cd3 398402008-11-12 Robert Millan <rmh@aybabtu.com>
39841
39842 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39843 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39844 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39845 variables.
39846 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39847 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39848
39849 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39850 grub_console_init() with call to grub_vga_text_init().
39851 (grub_machine_fini): Replace call to
39852 grub_console_fini() with call to grub_vga_text_fini() and
39853 grub_at_keyboard_fini().
39854
39855 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39856 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39857 (grub_console_setcolorstate, grub_console_setcolor)
39858 (grub_console_getcolor): New function prototypes.
39859
39860 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39861 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39862 (grub_vga_text_setcursor): Static-ize.
39863 (grub_vga_text_term): New structure.
39864 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39865
39866 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39867 (grub_console_cur_color, grub_console_standard_color)
39868 (grub_console_normal_color, grub_console_highlight_color)
39869 (map_char, grub_console_putchar, grub_console_getcharwidth)
39870 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39871 (grub_console_getcolor): Move from here ...
39872 * term/i386/vga_common.c: ... to here (same function names).
39873
95b841d3 398742008-11-12 Robert Millan <rmh@aybabtu.com>
39875
39876 Use newly-added Multiboot support in coreboot.
39877
39878 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39879 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39880
39881 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39882 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39883 (codestart): Store the MBI in `startup_multiboot_info' when we're
39884 being loaded using Multiboot.
39885
39886 * kern/i386/coreboot/init.c (grub_machine_init): Move
39887 grub_at_keyboard_init() call to beginning of function (useful for
39888 debugging). Call grub_machine_mmap_init() before attempting to use
39889 grub_machine_mmap_iterate().
39890 (grub_lower_mem, grub_upper_mem): Move from here ...
39891 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39892 here (new file).
39893
39894 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39895 function prototype.
39896
761ca975 398972008-11-12 Robert Millan <rmh@aybabtu.com>
39898
39899 Fix a regression introduced by the at_keyboard.mod split. Because
39900 some terminals are default on some platforms and non-default on
39901 others, the first terminal being registered determines which is
39902 going to be default.
39903
39904 * kern/term.c (grub_term_register_input): If this is the first
39905 terminal being registered, set it as the current one.
39906 (grub_term_register_output): Likewise.
39907
39908 * term/efi/console.c (grub_console_init): Do not call
39909 grub_term_set_current_output() or grub_term_set_current_input().
39910 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39911 * term/i386/pc/console.c (grub_console_init): Likewise.
39912 (grub_console_fini): Do not call grub_term_set_current_input()
39913 (but leave grub_term_set_current_output() to restore text mode).
39914
6c529df7 399152008-11-10 Robert Millan <rmh@aybabtu.com>
39916
39917 * util/grub.d/00_header.in: Add backward compatibility check for
39918 versions of terminal.mod that don't understand `terminal_input' or
39919 `terminal_output'.
39920
132e4113 399212008-11-09 Robert Millan <rmh@aybabtu.com>
39922
39923 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39924 `terminal_input' / `terminal_output', not `terminal'.
39925
ac293d50 399262008-11-08 Robert Millan <rmh@aybabtu.com>
39927
39928 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39929 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39930
0025933a 399312008-11-08 Robert Millan <rmh@aybabtu.com>
39932
39933 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39934 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39935 members. Update all users.
39936 * util/console.c (grub_ncurses_term): Split in ...
39937 (grub_ncurses_term_input): ... this, and ...
39938 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39939 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39940
37c86336 399412008-11-08 Robert Millan <rmh@aybabtu.com>
39942
39943 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39944 (PKGDATA): Add $(pkgdata_SRCDIR).
39945 (pkglib_BUILDDIR): New variable.
39946 (pkgdata_SRCDIR): New variable.
39947 (build_env.mk): New target.
39948 (include_DATA): New variable.
39949 (install-local): Install $(include_DATA) files in $(includedir).
39950
b6c15a2d 399512008-11-07 Pavel Roskin <proski@gnu.org>
39952
d99d46f1 39953 * gendistlist.sh: Use C locale for sorting to ensure consistent
39954 output on all systems.
39955
b6c15a2d 39956 * util/grub.d/00_header.in: Remove incorrect space before
39957 "serial".
39958
c32ee8c9 399592008-11-07 Robert Millan <rmh@aybabtu.com>
39960
39961 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39962 per specification.
39963 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39964 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39965 (based on find_multi_boot1_header).
39966 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39967 using find_multi_boot2_header(), and abort if neither Multiboot or
39968 Multiboot headers were found.
39969
651c29b7 399702008-11-07 Robert Millan <rmh@aybabtu.com>
39971
39972 Modularize at_keyboard.mod:
39973
39974 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39975 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39976 (at_keyboard_mod_LDFLAGS): New variables.
39977
39978 Actual terminal split:
39979
39980 * include/grub/term.h (struct grub_term): Split in ...
39981 (struct grub_term_input): ... this, and ...
39982 (struct grub_term_output): ... this. Update all users.
39983 (grub_term_set_current): Split in ...
39984 (grub_term_set_current_input): ... this, and ...
39985 (grub_term_set_current_output): ... this.
39986 (grub_term_get_current): Split in ...
39987 (grub_term_get_current_input): ... this, and ...
39988 (grub_term_get_current_output): ... this.
39989 (grub_term_register): Split in ...
39990 (grub_term_register_input): ... this, and ...
39991 (grub_term_register_output): ... this.
39992 (grub_term_unregister): Split in ...
39993 (grub_term_unregister_input): ... this, and ...
39994 (grub_term_unregister_output): ... this.
39995 (grub_term_iterate): Split in ...
39996 (grub_term_iterate_input): ... this, and ...
39997 (grub_term_iterate_output): ... this.
39998
39999 * kern/term.c (grub_term_list): Split in ...
40000 (grub_term_list_input): ... this, and ...
40001 (grub_term_list_output): ... this. Update all users.
40002 (grub_cur_term): Split in ...
40003 (grub_cur_term_input): ... this, and ...
40004 (grub_cur_term_output): ... this. Update all users.
40005 (grub_term_set_current): Split in ...
40006 (grub_term_set_current_input): ... this, and ...
40007 (grub_term_set_current_output): ... this.
40008 (grub_term_get_current): Split in ...
40009 (grub_term_get_current_input): ... this, and ...
40010 (grub_term_get_current_output): ... this.
40011 (grub_term_register): Split in ...
40012 (grub_term_register_input): ... this, and ...
40013 (grub_term_register_output): ... this.
40014 (grub_term_unregister): Split in ...
40015 (grub_term_unregister_input): ... this, and ...
40016 (grub_term_unregister_output): ... this.
40017 (grub_term_iterate): Split in ...
40018 (grub_term_iterate_input): ... this, and ...
40019 (grub_term_iterate_output): ... this.
40020
40021 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
40022 a check for input and one for output (and only attempt to get keys
40023 from user when input works).
40024
40025 * util/grub-probe.c (grub_term_get_current): Split in ...
40026 (grub_term_get_current_input): ... this, and ...
40027 (grub_term_get_current_output): ... this.
40028 * util/grub-fstest.c: Likewise.
40029 * util/i386/pc/grub-setup.c: Likewise.
40030 * util/grub-editenv.c: Likewise.
40031
40032 Portability adjustments:
40033
40034 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40035 `term/i386/pc/at_keyboard.c'.
40036 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40037 grub_keyboard_controller_init() (now handled by terminal .init).
40038 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40039 grub_at_keyboard_init().
40040 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40041 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40042 at_keyboard.mod via input terminal interface).
40043 * include/grub/i386/coreboot/console.h: Convert into a stub for
40044 `<grub/i386/pc/console.h>'.
40045
40046 Migrate full terminals to new API:
40047
40048 * term/efi/console.c (grub_console_term): Split into ...
40049 (grub_console_term_input): ... this, and ...
40050 (grub_console_term_output): ... this. Update all users.
40051 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40052 (grub_ofconsole_init): Split into ...
40053 (grub_ofconsole_init_input): ... this, and ...
40054 (grub_ofconsole_init_output): ... this.
40055 (grub_ofconsole_term): Split into ...
40056 (grub_ofconsole_term_input): ... this, and ...
40057 (grub_ofconsole_term_output): ... this. Update all users.
40058 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40059 (grub_serial_term_input): ... this, and ...
40060 (grub_serial_term_output): ... this. Update all users.
40061 * term/i386/pc/console.c (grub_console_term): Split into ...
40062 (grub_console_term_input): ... this, and ...
40063 (grub_console_term_output): ... this. Update all users.
40064 (grub_console_term_input): Only enable it on PC/BIOS platform.
40065 (grub_console_init): Remove grub_keyboard_controller_init() call.
40066
40067 Migrate input terminals to new API:
40068
40069 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40070 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40071 i386-specific anyway).
40072 (grub_console_checkkey): Rename to ...
40073 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40074 users.
40075 (grub_keyboard_controller_orig): New variable.
40076 (grub_console_getkey): Rename to ...
40077 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40078 users.
40079 (grub_keyboard_controller_init): Static-ize. Save original
40080 controller value so that it can be restored ...
40081 (grub_keyboard_controller_fini): ... here (new function).
40082 (grub_at_keyboard_term): New structure.
40083 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40084 functions.
40085
40086 Migrate output terminals to new API:
40087
40088 * term/i386/pc/vga.c (grub_vga_term): Change type to
40089 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40090 members. Update all users.
40091 * term/gfxterm.c (grub_video_term): Change type to
40092 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40093 members. Update all users.
40094 * include/grub/i386/pc/console.h (grub_console_checkkey)
40095 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40096 etc).
40097
40098 Migrate `terminal' command and userland tools to new API:
40099
40100 * commands/terminal.c (grub_cmd_terminal): Split into ...
40101 (grub_cmd_terminal_input): ... this, and ...
40102 (grub_cmd_terminal_output): ... this.
40103 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40104 `terminal_input' and `terminal_output'.
40105 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40106 `terminal_input' / `terminal_output' API.
40107 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40108 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40109 provided ${GRUB_TERMINAL}, convert it).
40110
96e5d876 401112008-11-04 Robert Millan <rmh@aybabtu.com>
40112
40113 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40114 for FreeBSD.
40115 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40116
556f3775 401172008-11-03 Bean <bean123ch@gmail.com>
40118
40119 * kern/elf.c (grub_elf32_load): Revert to previous code.
40120 (grub_elf64_load): Likewise.
40121
40122 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40123
926b9823 401242008-11-01 Robert Millan <rmh@aybabtu.com>
40125
40126 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40127 (TARGET_CPPFLAGS): Likewise.
40128 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40129
1432e958 401302008-11-01 Carles Pina i Estany <carles@pina.cat>
40131
40132 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40133
dba3f844 401342008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 40135
40136 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40137 addition of objects until the code is not going to be able to fail.
40138
dba3f844 401392008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 40140
40141 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40142 (add a missing NULL check, and correct them by moving the pointer
40143 operations after the actual check).
40144
7ab28c21 401452008-10-29 Robert Millan <rmh@aybabtu.com>
40146
40147 * util/i386/pc/grub-install.in: Handle empty string as output from
40148 make_system_path_relative_to_its_root().
40149
1b7748eb 401502008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40151
40152 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40153 circular metadata worst case scenario. If the metadata is circular
40154 then copy the wrap in place.
40155 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40156 project lib/format_text/layout.h
40157 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
40158
c9618ab2 401592008-10-03 Felix Zielcke <fzielcke@z-51.de>
40160
7a36edca 40161 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 40162
bf981c62 401632008-10-03 Felix Zielcke <fzielcke@z-51.de>
40164
40165 * util/update-grub_lib.in: Mention filename in warning message.
40166
6d994591 401672008-09-29 Felix Zielcke <fzielcke@z-51.de>
40168
40169 * NEWS: Update for rename of update-grub to grub-mkconfig.
40170
18ade780 401712008-09-29 Felix Zielcke <fzielcke@z-51.de>
40172
40173 * util/update-grub_lib.in: Copy to ...
40174 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 40175 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 40176 * util/update-grub.in: Rename to ...
40177 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40178 option. Add `--output' option to allow users to specify the generated
40179 configuration file. Default to stdout.
40180 (update_grub_dir): Rename to ...
40181 (grub_mkconfig_dir): ... this.
40182 (grub_cfg): Default to an empty string.
40183 * conf/common.rmk (update-grub): Rename to ...
40184 (grub-mkconfig): ... this.
40185 (update-grub_lib): Copy to ...
40186 (grub-mkconfig_lib): ... this.
40187 (update-grub_SCRIPTS): Copy to ...
40188 (grub-mkconfig_SCRIPTS): ... this. Update all users.
40189 (update-grub_DATA): Rename to ...
40190 (grub-mkconfig_DATA): ... this.
40191
556ce6ac 401922008-09-28 Robert Millan <rmh@aybabtu.com>
40193
40194 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
40195 to `modified'. Add the real `created' field.
40196 (grub_iso9660_uuid): Use `modified' rather than `created' for
40197 constructing the UUID.
40198
401992008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 40200
40201 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40202 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40203
92274e85 402042008-09-28 Bean <bean123ch@gmail.com>
40205
40206 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40207 Thanks to Christian Franke for finding this bug.
40208
add6f17a 402092008-09-25 Robert Millan <rmh@aybabtu.com>
40210
40211 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40212 instances of grub_util_get_disk_name() (see previous commit).
40213
d2a367b8 402142008-09-25 Robert Millan <rmh@aybabtu.com>
40215
40216 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40217 `util/i386/get_disk_name.c'.
40218 * conf/i386-efi.rmk: Likewise.
40219 * conf/x86_64-efi.rmk: Likewise.
40220 * conf/i386-coreboot.rmk: Likewise.
40221 * conf/i386-ieee1275.rmk: Likewise.
40222 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40223 `util/ieee1275/get_disk_name.c'.
40224 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40225 * util/ieee1275/get_disk_name.c: Remove file.
40226 * util/i386/get_disk_name.c: Remove file.
40227 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40228 "hd%d" for device.map entries, rather than using
40229 grub_util_get_disk_name().
40230
81a06771 402312008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 40232
40233 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40234 warning.
40235 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40236
5a004279 402372008-09-24 Carles Pina i Estany <carles@pina.cat>
40238
40239 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40240 Changed to 0x5100.
40241 (GRUB_TERM_PPAGE): Changed to 0x4900.
40242
397093d3 402432008-09-24 Robert Millan <rmh@aybabtu.com>
40244
40245 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40246 macros (they were i386-pc specific).
40247 * include/grub/sparc64/ieee1275/console.h: Likewise.
40248 * include/grub/efi/console.h: Likewise.
40249
a91b6c7c 402502008-09-22 Bean <bean123ch@gmail.com>
40251
40252 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40253 resident and in attribute list.
40254
40255 * include/grub/ntfs.h (BMP_LEN): Removed.
40256
c40fd116 402572008-09-22 Bean <bean123ch@gmail.com>
40258
81a06771 40259 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 40260 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40261
40262 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40263 error occurs, as grub_disk_open will call grub_disk_close, which will
40264 call p->close (scsi).
40265
81a06771 402662008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 40267
40268 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40269 (AC_PREREQ): Bumped to 2.59.
40270 (AC_TRY_COMPILE): Replace obsolete macro with ...
40271 (AC_COMPILE_IFELSE): ... this.
40272 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40273 (AC_LINK_IFELSE): ... this.
40274
5dc43410 402752008-09-21 Felix Zielcke <fzielcke@z-51.de>
40276
40277 * autogen.sh: Add a call to `gendistlist.sh'.
40278
9035dce4 402792008-09-19 Christian Franke <franke@computer.org>
40280
40281 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40282 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40283 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40284 Export __enable_execute_stack() to modules.
40285 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40286 New function.
40287
7fd75377 402882008-09-09 Felix Zielcke <fzielcke@z-51.de>
40289
040030b3 40290 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40291 Sort the list.
40292
402932008-09-09 Felix Zielcke <fzielcke@z-51.de>
40294
40295 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 40296 #include <grub/util/hostdisk.h>.
40297
89d5ffcf 402982008-09-08 Robert Millan <rmh@aybabtu.com>
40299
40300 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40301 segments when their filesz is zero (grub_file_read() interprets
81a06771 40302 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 40303 Use `lowest_segment' rather than 0 for calculating the current
40304 segment load address.
40305
40da438f 403062008-09-08 Robert Millan <rmh@aybabtu.com>
40307
40308 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40309 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40310 clobbered useful information.
40311
ddbf5556 403122008-09-08 Robert Millan <rmh@aybabtu.com>
40313
40314 * include/grub/util/biosdisk.h: Move to ...
40315 * include/grub/util/hostdisk.h: ... here. Update all users.
40316 * util/biosdisk.c: Move to ...
40317 * util/hostdisk.c: ... here. Update all users.
40318
783d0f48 403192008-09-07 Robert Millan <rmh@aybabtu.com>
40320
40321 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40322 variables.
40323 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40324 and length can be stored directly in the `mbi->mmap_addr' and
40325 `mbi->mmap_length' struct fields.
40326
548e2ea5 403272008-09-07 Robert Millan <rmh@aybabtu.com>
40328
40329 * conf/i386.rmk: New file. Provides declaration for building
40330 `cpuid.mod'.
40331 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40332 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40333 variables.
40334 Include `conf/i386.mk'.
40335 * conf/i386-efi.rmk: Likewise.
40336 * conf/x86_64-efi.rmk: Likewise.
40337 * conf/i386-coreboot.rmk: Likewise.
40338 * conf/i386-ieee1275.rmk: Likewise.
40339
0ea85a37 403402008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40341
40342 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40343 Adds optimization support for BGR based modes.
40344
40345 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40346 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40347 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40348 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40349 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40350 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40351 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40352 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40353 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40354 (grub_video_i386_vbeblit_index_index): Likewise.
40355 (grub_video_i386_vbeblit_replace_directN): Added.
40356 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40357 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40358 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40359 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40360 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40361 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 40362 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 40363 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40364 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40365 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40366 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40367 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40368 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40369
40370 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40371 (grub_video_i386_vbefill_R8G8B8): Likewise.
40372 (grub_video_i386_vbefill_index): Likewise.
40373 (grub_video_i386_vbefill_direct32): Added.
40374 (grub_video_i386_vbefill_direct24): Likewise.
40375 (grub_video_i386_vbefill_direct16): Likewise.
40376 (grub_video_i386_vbefill_direct8): Likewise.
40377
81a06771 40378 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 40379 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40380 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40381 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40382 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40383 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 40384
0ea85a37 40385 * video/video.c (grub_video_get_blit_format): Updated to use new
40386 blit formats. Added handling for 16 bit color modes.
81a06771 40387
40388 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 40389 fillers.
40390 (common_blitter): Updated to use new blitters.
40391
40392 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40393 Removed.
40394 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40395 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40396 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40397 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40398 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40399 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40400 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40401 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40402 (grub_video_i386_vbeblit_index_index): Likewise.
40403 (grub_video_i386_vbeblit_replace_directN): Added.
40404 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40405 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40406 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40407 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40408 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40409 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40410 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40411 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40412 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40413 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40414 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40415 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40416 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 40417
0ea85a37 40418 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40419 (grub_video_i386_vbefill_R8G8B8): Likewise.
40420 (grub_video_i386_vbefill_index): Likewise.
40421 (grub_video_i386_vbefill_direct32): Added.
40422 (grub_video_i386_vbefill_direct24): Likewise.
40423 (grub_video_i386_vbefill_direct16): Likewise.
40424 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 40425
0ea85a37 40426 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40427 types.
81a06771 40428
0ea85a37 40429 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40430 types.
81a06771 40431
0ea85a37 40432 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40433 blitter types.
81a06771 40434
0ea85a37 40435 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40436 types.
40437
e8a83df6 404382008-09-06 Felix Zielcke <fzielcke@z-51.de>
40439
40440 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40441 RAID level 1.
40442
6bcd8ee5 404432008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 40444
6bcd8ee5 40445 * fs/iso9660.c (grub_iso9660_date): New structure.
40446 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40447 (grub_iso9660_uuid): New function.
c375ae58 40448
59261157 404492008-09-05 Bean <bean123ch@gmail.com>
40450
40451 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40452
40453 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40454 insensitive bit for names in Win32 and Win32 & DOS namespace.
40455
40456 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40457
40458 * include/grub/types.h (LONG_MAX): Likewise.
40459
58b6645a 404602008-09-04 Felix Zielcke <fzielcke@z-51.de>
40461
4ee55921 40462 * util/getroot.c: Include <config.h>.
40463 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40464 add support for /dev/md/N devices and handle LVM double dash escaping.
40465
404662008-09-04 Felix Zielcke <fzielcke@z-51.de>
40467
40468 * config.guess: Update to latest version from config git.
40469 * config.sub: Likewise.
58b6645a 40470
9124f65d 404712008-09-03 Robert Millan <rmh@aybabtu.com>
40472
40473 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40474 `disk->total_sectors'.
40475
81a06771 404762008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 40477
40478 * include/grub/normal.h: Fixed incorrect comment for
40479 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40480
81a06771 404812008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40482
40483 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40484 values with defines.
40485
40486 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40487 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40488 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40489 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40490 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40491 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40492 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40493 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40494 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40495 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40496 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40497 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40498 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40499 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40500 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40501 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40502 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40503 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40504 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40505
93d5cbf8 405062008-08-31 Robert Millan <rmh@aybabtu.com>
40507
40508 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40509 declaration.
40510 (grub_multiboot): Fix a few warnings.
40511
21751d50 405122008-08-31 Robert Millan <rmh@aybabtu.com>
40513
40514 * loader/i386/pc/multiboot.c: Update comment not to say that
40515 boot_device support is unimplemented.
40516
e27a75c5 405172008-08-31 Robert Millan <rmh@aybabtu.com>
40518
40519 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40520 or memory map support are unimplemented.
40521
81a06771 405222008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40523
40524 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40525
81a06771 405262008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40527
40528 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40529 total video memory in 'vbeinfo' output; show color format details for
40530 each video mode.
40531
7c5d8d95 405322008-08-30 Pavel Roskin <proski@gnu.org>
40533
40534 * util/genmoddep.c: Remove for real this time.
40535 * DISTLIST: Remove util/genmoddep.c.
40536
4cebd25a 405372008-08-30 Robert Millan <rmh@aybabtu.com>
40538
40539 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40540 as required by Multiboot spec (it was already 4-byte aligned, but
40541 only by chance).
40542
b497a269 405432008-08-29 Pavel Roskin <proski@gnu.org>
40544
e3925185 40545 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40546 * kern/powerpc/ieee1275/startup.S: ... this.
40547 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40548 * DISTLIST: Likewise.
40549
b497a269 40550 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40551 grub/cpu/kernel.h. Add start label for consistency with other
40552 platforms. Add grub_prefix immediately after start. Add jump
40553 to the code after grub_prefix.
40554 * include/grub/powerpc/kernel.h: Provide valid values for
40555 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40556
6e5a42fe 405572008-08-29 Bean <bean123ch@gmail.com>
40558
40559 * configure.ac: Change host_os to cygwin for mingw.
40560 (asprintf): New check for function.
40561
40562 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40563 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40564
40565 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40566 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40567 sync, sleep and grub_util_get_disk_size for mingw.
40568
40569 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40570 to get size in mingw.
40571 (open_device): Use flag O_BINARY if it's defined.
40572 (find_root_device): Add dummy code for mingw.
40573
40574 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40575 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40576 (get_scsi_disk_name): Return 0 for mingw.
40577
40578 * util/hostfs.c: #include <grub/util/misc.h>.
40579 (grub_hostfs_open): Use "rb" flag to open file, use
40580 grub_util_get_disk_size to get disk size for mingw.
40581
40582 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40583 (asprintf): New function if HAVE_ASPRINTF is not set.
40584 (sync): New function for mingw.
40585 (sleep): Likewise.
40586 (grub_util_get_disk_size): Likewise.
40587
ab3f2673 405882008-08-28 Pavel Roskin <proski@gnu.org>
40589
40590 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40591 kern/time.c.
40592
1c282483 405932008-08-28 Robert Millan <rmh@aybabtu.com>
40594
40595 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40596
678e849c 405972008-08-28 Robert Millan <rmh@aybabtu.com>
40598
40599 Change find_grub_drive() syntax so it doesn't prevent it from
40600 detecting NULL names as errors.
40601
40602 * util/biosdisk.c (find_grub_drive): Move free slot search code
40603 from here ...
40604 (find_free_slot): ... to here.
40605 (read_device_map): Use find_free_slot() to search for free slots.
40606
965c75ca 406072008-08-27 Marco Gerards <marco@gnu.org>
40608
40609 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40610 (scsi_mod_SOURCES): New variable.
40611 (scsi_mod_CFLAGS): Likewise
40612 (scsi_mod_LDFLAGS): Likewise.
40613
40614 * disk/scsi.c: New file.
40615
40616 * include/grub/scsi.h: Likewise.
40617
40618 * include/grub/scsicmd.h: Likewise.
40619
40620 * disk/ata.c: Include <grub/scsi.h>.
40621 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40622 instead.
40623 (grub_ata_iterate): Skip ATAPI devices.
40624 (grub_ata_open): Only handle ATAPI devices.
40625 (struct grub_atapi_read): Removed.
40626 (grub_atapi_readsector): Likewise.
40627 (grub_ata_read): No longer handle ATAPI devices.
40628 (grub_ata_write): Likewise.
40629 (grub_atapi_iterate): New function.
40630 (grub_atapi_read): Likewise.
40631 (grub_atapi_write): Likewise.
40632 (grub_atapi_open): Likewise.
40633 (grub_atapi_close): Likewise.
40634 (grub_atapi_dev): New variable.
40635 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40636 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40637
40638 * include/grub/disk.h (enum grub_disk_dev_id): Add
40639 `GRUB_DISK_DEVICE_SCSI_ID'.
40640
c07ae501 406412008-08-26 Robert Millan <rmh@aybabtu.com>
40642
40643 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40644 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40645 descriptive.
40646
5ed20adc 406472008-08-23 Bean <bean123ch@gmail.com>
40648
40649 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40650 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40651 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40652 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40653 dm_nv.mod.
40654 (raid5rec_mod_SOURCES): New macro.
40655 (raid5rec_mod_CFLAGS): Likewise.
40656 (raid5rec_mod_LDFLAGS): Likewise.
40657 (raid6rec_mod_SOURCES): Likewise.
40658 (raid6rec_mod_CFLAGS): Likewise.
40659 (raid6rec_mod_LDFLAGS): Likewise.
40660 (mdraid_mod_SOURCES): Likewise.
40661 (mdraid_mod_CFLAGS): Likewise.
40662 (mdraid_mod_LDFLAGS): Likewise.
40663 (dm_nv_mod_SOURCES): Likewise.
40664 (dm_nv_mod_CFLAGS): Likewise.
40665 (dm_nv_mod_LDFLAGS): Likewise.
40666
40667 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40668 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40669 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40670
40671 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40672 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40673
40674 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40675
40676 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40677
40678 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40679
40680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40681
40682 * disk/raid5_recover.c: New file.
40683
40684 * disk/raid6_recover.c: Likewise.
40685
40686 * disk/mdraid_linux.c: Likewise.
40687
40688 * disk/dmraid_nvidia.c: Likewise.
40689
40690 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40691 ULONG_MAX.
40692
40693 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40694 calculate the size of raid device.
40695 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40696 different layout of raid5.
40697 (grub_raid_scan_device): Remove code specific to mdraid.
40698 (grub_raid_list): New variable.
40699 (free_array): New function.
40700 (grub_raid_register): Likewise.
40701 (grub_raid_unregister): Likewise.
40702 (grub_raid_rescan): Likewise.
40703 (GRUB_MOD_INIT): Don't iterate device here.
40704 (GRUB_MOD_FINI): Use free_array to release resource.
40705
40706 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40707 (grub_raid5_recover_func_t): New function variable type.
40708 (grub_raid6_recover_func_t): Likewise.
40709 (grub_raid5_recover_func): New variable.
40710 (grub_raid6_recover_func): Likewise.
40711 (grub_raid_register): New function.
40712 (grub_raid_unregister): Likewise.
40713 (grub_raid_rescan): Likewise.
40714 (grub_raid_block_xor): Likewise.
40715
40716 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40717 (CMD_CRC): New macro.
40718 (part): Removed.
40719 (read_file): Handle device as well as file.
40720 (cmd_crc): New function.
40721 (fstest): Handle multiple disks.
40722 (options): Remove part, raw and long, add root and diskcount.
40723 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40724 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40725 add handling for the new options, support multiple disks.
40726
40727 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40728
29c18915 407292008-08-23 Bean <bean123ch@gmail.com>
40730
40731 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40732
40733 * genfslist.sh: Ignore kernel.mod.
40734
40735 * genpartmaplist.sh: Likewise.
40736
8415f261 407372008-08-23 Robert Millan <rmh@aybabtu.com>
40738
40739 * util/getroot.c (find_root_device): Skip anything that starts with
40740 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40741
d5a7dc5b 407422008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40743
d5a7dc5b 40744 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40745 * util/grub.d/00_header.in: Allow the administrator to change default
40746 gfxmode via ${GRUB_GFXMODE}.
40747
380cfbb4 407482008-08-21 Felix Zielcke <fzielcke@z-51.de>
40749
40750 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40751
c9baafe7 407522008-08-21 Robert Millan <rmh@aybabtu.com>
40753
40754 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40755 loader.
40756 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40757 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40758
e290bef2 407592008-08-20 Carles Pina i Estany <carles@pina.cat>
40760
40761 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40762 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40763
f9dbfc96 407642008-08-19 Robert Millan <rmh@aybabtu.com>
40765
40766 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40767 (struct grub_virtual_screen): Remove `cursor_color'.
40768 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40769 initialization.
40770 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40771
dd6bd6ab 407722008-08-18 Robert Millan <rmh@aybabtu.com>
40773
40774 Unify (identical) linux_normal.c files.
40775 * loader/i386/efi/linux_normal.c: Move from here ...
40776 * loader/linux_normal.c: ... to here. Update all users.
40777 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40778 * loader/i386/ieee1275/linux_normal.c: Likewise.
40779
7f42f83e 407802008-08-18 Robert Millan <rmh@aybabtu.com>
40781
40782 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40783 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40784 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40785 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40786 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40787 New macros.
40788 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40789 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40790 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40791 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40792 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40793 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40794 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40795 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40796 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40797 portably using grub_getxy().
40798 Replace `-EFI' with `-bzImage' in boot message.
40799
38487ddb 408002008-08-17 Robert Millan <rmh@aybabtu.com>
40801
40802 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40803
deceb3ec 408042008-08-17 Robert Millan <rmh@aybabtu.com>
40805
40806 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40807
40808 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40809 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40810 (grub_machine_mmap_iterate): New function declaration.
40811 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40812 structure.
40813 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40814 macros.
40815
40816 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40817 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40818 Move e820 parsing from here ...
40819 * kern/i386/pc/mmap.c: New file.
40820 (grub_machine_mmap_iterate): ... to here.
40821
40822 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40823 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40824 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40825 (grub_available_iterate): Redeclare to return `void', and redeclare
40826 its hook to use grub_uint64_t as addr and size parameters, and rename
40827 to ...
40828 (grub_machine_mmap_iterate): ... this. Update all users.
40829
40830 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40831 to make it more readable. Rename to ...
40832 (grub_machine_mmap_iterate): ... this.
40833
40834 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40835 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40836 (grub_multiboot): Allocate an extra region after the payload, and fill
40837 it with a Multiboot memory map. Adjust a.out loader to calculate size
40838 with the extra space.
40839 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40840 with the extra space.
40841
f8aa0f43 408422008-08-17 Carles Pina i Estany <carles@pina.cat>
40843
9807deb9 40844 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40845
605f5bb6 408462008-08-17 Felix Zielcke <fzielcke@z-51.de>
40847
40848 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40849 mdate-sh to the list `find' searches for.
40850 * DISTLIST: Regenerated.
40851
210db6c6 408522008-08-16 Felix Zielcke <fzielcke@z-51.de>
40853
40854 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40855 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40856 genmoddep.awk, gensymlist.sh.in.
40857 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40858 * DISTLIST: Regenerated.
48cdbfd4 40859 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40860
1082b929 408612008-08-16 Robert Millan <rmh@aybabtu.com>
40862
40863 * disk/raid.c (grub_raid_init): Handle/report errors set by
40864 grub_device_iterate().
40865 * disk/lvm.c (grub_lvm_init): Likewise.
40866
42ce5170 408672008-08-15 Bean <bean123ch@gmail.com>
40868
40869 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40870 and datehook.mod.
40871 (datetime_mod_SOURCES): New macro.
40872 (datetime_mod_CFLAGS): Likewise.
40873 (datetime_mod_LDFLAGS): Likewise.
40874 (date_mod_SOURCES): Likewise.
40875 (date_mod_CFLAGS): Likewise.
40876 (date_mod_LDFLAGS): Likewise.
40877 (datehook_mod_SOURCES): Likewise.
40878 (datehook_mod_CFLAGS): Likewise.
40879 (datehook_mod_LDFLAGS): Likewise.
40880
40881 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40882 and datehook.mod.
40883 (datetime_mod_SOURCES): New macro.
40884 (datetime_mod_CFLAGS): Likewise.
40885 (datetime_mod_LDFLAGS): Likewise.
40886 (date_mod_SOURCES): Likewise.
40887 (date_mod_CFLAGS): Likewise.
40888 (date_mod_LDFLAGS): Likewise.
40889 (datehook_mod_SOURCES): Likewise.
40890 (datehook_mod_CFLAGS): Likewise.
40891 (datehook_mod_LDFLAGS): Likewise.
40892
40893 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40894 and datehook.mod.
40895 (datetime_mod_SOURCES): New macro.
40896 (datetime_mod_CFLAGS): Likewise.
40897 (datetime_mod_LDFLAGS): Likewise.
40898 (date_mod_SOURCES): Likewise.
40899 (date_mod_CFLAGS): Likewise.
40900 (date_mod_LDFLAGS): Likewise.
40901 (datehook_mod_SOURCES): Likewise.
40902 (datehook_mod_CFLAGS): Likewise.
40903 (datehook_mod_LDFLAGS): Likewise.
40904
40905 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40906 and datehook.mod.
40907 (datetime_mod_SOURCES): New macro.
40908 (datetime_mod_CFLAGS): Likewise.
40909 (datetime_mod_LDFLAGS): Likewise.
40910 (date_mod_SOURCES): Likewise.
40911 (date_mod_CFLAGS): Likewise.
40912 (date_mod_LDFLAGS): Likewise.
40913 (datehook_mod_SOURCES): Likewise.
40914 (datehook_mod_CFLAGS): Likewise.
40915 (datehook_mod_LDFLAGS): Likewise.
40916
40917 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40918 and datehook.mod.
40919 (datetime_mod_SOURCES): New macro.
40920 (datetime_mod_CFLAGS): Likewise.
40921 (datetime_mod_LDFLAGS): Likewise.
40922 (date_mod_SOURCES): Likewise.
40923 (date_mod_CFLAGS): Likewise.
40924 (date_mod_LDFLAGS): Likewise.
40925 (datehook_mod_SOURCES): Likewise.
40926 (datehook_mod_CFLAGS): Likewise.
40927 (datehook_mod_LDFLAGS): Likewise.
40928
40929 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40930
40931 * commands/date.c: New file.
40932
40933 * hook/datehook.c: Likewise.
40934
40935 * include/grub/lib/datetime.h: Likewise.
40936
40937 * include/grub/i386/cmos.h: Likewise.
40938
40939 * lib/datetime.c: Likewise.
40940
40941 * lib/i386/datetime.c: Likewise.
40942
40943 * lib/efi/datetime.c: Likewise.
40944
0e9242da 409452008-08-14 Robert Millan <rmh@aybabtu.com>
40946
40947 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40948 (grub_mkelfimage_SOURCES): New variable.
40949 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40950
40951 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40952 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40953 * conf/powerpc-ieee1275.rmk: Likewise.
40954 * conf/i386-ieee1275.rmk: Likewise.
40955
40956 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40957 * kern/i386/coreboot/init.c: Likewise.
40958
40959 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40960 with `<grub/cpu/kernel.h>'.
40961 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40962 to ...
40963 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40964 * kern/i386/coreboot/startup.S: Likewise.
40965
40966 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40967 (GRUB_MOD_GAP): Remove.
40968 * include/grub/powerpc/kernel.h: New file.
40969 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40970 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40971 * include/grub/i386/kernel.h: New file.
40972 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40973 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40974 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40975
40976 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40977 `grub-mkelfimage'.
40978 Use --directory when invoking grub_mkimage.
40979
40980 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40981 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40982 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40983 and GRUB_KERNEL_CPU_PREFIX.
40984
b86408f8 409852008-08-14 Felix Zielcke <fzielcke@z-51.de>
40986
d5e619ca 40987 * include/grub/err.h (grub_err_printf): New function prototype.
40988 * util/misc.c (grub_err_printf): New function.
40989 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40990 grub_printf.
40991 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40992
7161f0e0 409932008-08-13 Robert Millan <rmh@aybabtu.com>
40994
40995 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40996
a1967522 409972008-08-13 Robert Millan <rmh@aybabtu.com>
40998
40999 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
41000 boot entry.
41001
371458b5 410022008-08-12 Robert Millan <rmh@aybabtu.com>
41003
41004 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
41005 of the relocation code from here ...
41006 (grub_multiboot): ... to here.
41007 (forward_relocator, backward_relocator): Move from here ...
41008 * kern/i386/loader.S (grub_multiboot_forward_relocator)
41009 (grub_multiboot_backward_relocator): ... to here.
41010 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
41011 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
41012 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
41013 (grub_multiboot_forward_relocator_end)
41014 (grub_multiboot_backward_relocator)
41015 (grub_multiboot_backward_relocator_end): New variables.
41016
05f9452b 410172008-08-12 Bean <bean123ch@gmail.com>
41018
41019 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
41020
20024ab0 410212008-08-11 Robert Millan <rmh@aybabtu.com>
41022
41023 * kern/i386/linuxbios/startup.S: Move from here ...
41024 * kern/i386/coreboot/startup.S: ... to here.
41025
41026 * kern/i386/linuxbios/init.c: Move from here ...
41027 * kern/i386/coreboot/init.c: ... to here.
41028
41029 * kern/i386/linuxbios/table.c: Move from here ...
41030 * kern/i386/coreboot/mmap.c: ... to here.
41031
41032 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41033
e352e9cd 410342008-08-11 Robert Millan <rmh@aybabtu.com>
41035
41036 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41037 errors. Leave it to the upper layer to handle them.
41038
2d05bc6a 410392008-08-09 Christian Franke <franke@computer.org>
41040
41041 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41042 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41043 Install `grub.d/10_windows' only on Cygwin.
41044 * configure.ac: Add subst of `target_os'.
41045 Check `target_os' also before setting TARGET_OBJ2ELF.
41046 Add `--enable-grub-pe2elf'.
41047
042bd419 410482008-08-08 Robert Millan <rmh@aybabtu.com>
41049
41050 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41051 (grub_last_time): Change type to grub_uint64_t.
41052 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41053 (grub_disk_close): Likewise.
41054
41055 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41056 (run_menu): Migrate code from to using grub_get_time_ms().
41057
41058 * util/misc.c (grub_get_time_ms): New function.
41059
7f280db5 410602008-08-08 Marco Gerards <marco@gnu.org>
41061
41062 * disk/ata.c (grub_ata_regget): Change return type to
41063 `grub_uint8_t'.
41064 (grub_ata_regget2): Likewise.
41065 (grub_ata_wait_status): New function.
41066 (grub_ata_wait_busy): Removed function, updated all users to use
41067 `grub_ata_wait_status'.
41068 (grub_ata_wait_drq): Likewise.
41069 (grub_ata_cmd): New function.
41070 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41071 error handling.
41072 (grub_ata_pio_write): Add error handling.
41073 (grub_atapi_identify): Likewise.
41074 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41075 handling.
41076 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41077 handling. Actually use the detected registers. Reorder the
41078 detection logic such that it is easier to read.
41079 (grub_ata_pciinit): Do not assign the same ID to each controller.
41080 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41081 handling.
41082 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41083
41084 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41085
1fbc5e66 410862008-08-08 Marco Gerards <marco@gnu.org>
41087
41088 * NEWS: Update.
41089
819ce6c0 410902008-08-07 Bean <bean123ch@gmail.com>
41091
41092 * include/grub/x86_64/pci.h: New file.
41093
5c41d44d 410942008-08-07 Christian Franke <franke@computer.org>
41095
41096 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41097 (TIMER2_GATE): Likewise.
41098 (grub_pit_wait): Add enable/disable of the timer2 gate
41099 bit of port 0x61. This fixes a possible infinite loop.
41100
5ebc275d 411012008-08-07 Bean <bean123ch@gmail.com>
41102
41103 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41104 kern/i386/tsc.c and kern/i386/pit.c.
41105
41106 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41107 x86_64 platform.
41108
41109 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41110 <grub/i386/tsc.h>.
41111
41112 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41113
e383b3d0 411142008-08-07 Bean <bean123ch@gmail.com>
41115
41116 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41117
41118 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41119
41120 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41121 multiple inclusion. Add #include <grub/types.h>.
41122
1cbb58ac 411232008-08-06 Christian Franke <franke@computer.org>
41124
41125 * conf/common.rmk: Build and install `10_windows'.
41126 * util/grub.d/10_windows.in: New script.
41127
337f5a1e 411282008-08-06 Pavel Roskin <proski@gnu.org>
41129
41130 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41131
057bc4ac 411322008-08-06 Robert Millan <rmh@aybabtu.com>
41133
41134 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41135 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41136
2b99f123 411372008-08-06 Bean <bean123ch@gmail.com>
41138
41139 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41140 (grub_pxefs_fs_int): Remove dummy definition.
41141 (grub_pxefs_open): Use data->block_size to store the current block
41142 size setting.
41143 (grub_pxefs_read): Use block size stored in data->block_size. As the
41144 value of grub_pxe_blksize can be changed after the file is opened.
41145
9f0234cb 411462008-08-06 Bean <bean123ch@gmail.com>
41147
41148 * fs/i386/pc/pxe.c (curr_file): new variable.
41149 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41150 require the dummy internal file system anymore.
41151 (grub_pxefs_read): Removed.
41152 (grub_pxefs_close): Likewise.
41153 (grub_pxefs_fs_int): Likewise.
41154 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41155 connection when we switch file.
41156 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41157
a55d42e0 411582008-08-06 Robert Millan <rmh@aybabtu.com>
41159
41160 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
41161 `halt.mod'.
41162 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
41163 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
41164
41165 * kern/i386/halt.c: New file.
41166 * kern/i386/reboot.c: Likewise.
41167 * include/grub/i386/reboot.h: Likewise.
41168 * include/grub/i386/halt.h: Likewise.
41169
41170 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41171 Include `<grub/cpu/halt.h>'.
41172 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41173 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41174
41175 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41176 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41177 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41178 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41179 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41180 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41181 from here ...
41182 * include/grub/i386/at_keyboard.h: ... to here.
41183
24371d26 411842008-08-05 Robert Millan <rmh@aybabtu.com>
41185
41186 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
41187 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
41188 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
41189 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41190 `kern/generic/millisleep.c'.
41191
41192 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
41193 instead of grub_get_rtc().
41194 (grub_tsc_init): Initialize `tsc_boot_time'.
41195
41196 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
41197 (grub_machine_init): Use grub_tsc_init() rather than
41198 installing an RTC-based handler via grub_install_get_time_ms().
41199
41200 * kern/i386/pit.c: New file.
41201 * include/grub/i386/pit.h: Likewise.
41202
9e7007b3 412032008-08-05 Bean <bean123ch@gmail.com>
41204
41205 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41206
41207 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41208 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41209 (pxe_mod_SOURCES): New macro.
41210 (pxe_mod_CFLAGS): Likewise.
41211 (pxe_mod_LDFLAGS): Likewise.
41212 (pxecmd_mod_SOURCES): Likewise.
41213 (pxecmd_mod_CFLAGS): Likewise.
41214 (pxecmd_mod_LDFLAGS): Likewise.
41215
41216 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41217 (grub_pxe_call): Likewise.
41218
41219 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41220
41221 * commands/i386/pc/pxecmd.c: New file.
41222
9f0234cb 41223 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 41224
41225 * include/grub/i386/pc/pxe.h: Likewise.
41226
6977d49f 412272008-08-05 Bean <bean123ch@gmail.com>
41228
41229 * util/console.c (grub_console_cur_color): New variable.
41230 (grub_console_standard_color): Likewise.
41231 (grub_console_normal_color): Likewise.
41232 (grub_console_highlight_color): Likewise.
41233 (color_map): Likewise.
41234 (use_color): Likewise.
41235 (NUM_COLORS): New macro.
41236 (grub_ncurses_setcolorstate): Handle color properly.
41237 (grub_ncurses_setcolor): Don't change color here, just remember the
41238 settings, color will be set in grub_ncurses_setcolorstate.
41239 (grub_ncurses_getcolor): New function.
41240 (grub_ncurses_init): Initialize color pairs.
41241 (grub_ncurses_term): New member grub_ncurses_getcolor.
41242
9c2ff3ee 412432008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 41244
9c2ff3ee 41245 High resolution timer support. Implemented for x86 CPUs using TSC.
41246 Extracted generic grub_millisleep() so it's linked in only as needed.
41247 This requires a Pentium compatible CPU; if the RDTSC instruction is
41248 not supported, then it falls back on the generic grub_get_time_ms()
41249 implementation that uses the machine's RTC.
41250
41251 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41252 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41253 `kern/generic/millisleep.c'.
41254
41255 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41256 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41257
41258 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41259 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41260
41261 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41262
41263 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41264 `kern/generic/millisleep.c'.
41265
41266 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41267
41268 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41269
41270 * kern/generic/rtc_get_time_ms.c: New file.
41271
41272 * kern/generic/millisleep.c: New file.
337f5a1e 41273
9c2ff3ee 41274 * kern/misc.c: Don't include
41275 <kern/time.h> anymore.
41276 (grub_millisleep_generic): Removed.
41277
41278 * commands/sleep.c (grub_interruptible_millisleep): Uses
41279 grub_get_time_ms() instead of grub_get_rtc().
41280
41281 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41282 function.
41283 (grub_cpu_is_cpuid_supported): New inline function.
41284 (grub_cpu_is_tsc_supported): New inline function.
41285 (grub_tsc_init): New function prototype.
41286 (grub_tsc_get_time_ms): New function prototype.
41287
41288 * kern/i386/tsc.c (grub_get_time_ms): New file.
41289
41290 * include/grub/time.h: Include <grub/types.h.
41291 (grub_millisleep_generic): Removed.
41292 (grub_get_time_ms): New prototype.
41293 (grub_install_get_time_ms): New prototype.
41294 (grub_rtc_get_time_ms): New prototype.
41295
41296 * kern/time.c (grub_get_time_ms): New function.
41297 (grub_install_get_time_ms): New function.
41298
41299 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41300 <grub/time.h> anymore.
41301 (grub_millisleep): Removed.
41302 (grub_machine_init): Call grub_tsc_init.
41303
41304 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41305 get_time_ms() implementation.
41306
41307 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41308 (ieee1275_get_time_ms): New function.
41309 (grub_machine_init): Install get_time_ms() implementation.
41310
41311 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41312 (grub_machine_init): Call grub_tsc_init().
41313 (grub_millisleep): Removed.
bf06a93f 41314
9c2ff3ee 41315 * kern/ieee1275/init.c (grub_millisleep): Removed.
41316 (grub_machine_init): Install ieee1275_get_time_ms()
41317 implementation.
41318 (ieee1275_get_time_ms): New function.
41319 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41320 real work.
41321
9ec92aaf 413222008-08-05 Marco Gerards <marco@gnu.org>
41323
41324 * disk/ata.c: Include <grub/pci.h>.
41325 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41326 (grub_ata_initialize): Rewritten.
41327 (grub_ata_device_initialize): New function.
41328
8d23f507 413292008-08-04 Pavel Roskin <proski@gnu.org>
41330
41331 * kern/main.c: Include grub/mm.h.
41332
5e15ee3d 413332008-08-04 Robert Millan <rmh@aybabtu.com>
41334
41335 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41336 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41337 corruption problem).
41338
a9053f8f 413392008-08-04 Robert Millan <rmh@aybabtu.com>
41340
41341 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41342 warnings introduced in my last commit.
41343
dd19c7d7 413442008-08-03 Robert Millan <rmh@aybabtu.com>
41345
41346 Make PCI available on all i386 architectures.
41347
41348 * include/grub/i386/pc/pci.h: Move from here ...
41349 * include/grub/i386/pci.h: ... to here.
41350
41351 * include/grub/i386/pc/pci.h: Remove.
41352 * include/grub/i386/efi/pci.h: Remove.
41353 * include/grub/x86_64/efi/pci.h: Remove.
41354
41355 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41356 `<grub/cpu/pci.h>'.
41357
41358 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41359 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41360 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41361
41362 * conf/i386-ieee1275.rmk: Likewise.
41363
e14a6184 413642008-08-03 Robert Millan <rmh@aybabtu.com>
41365
41366 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41367 (grub_console_setcursor): Make it possible to set cursor off.
41368
52768e37 413692008-08-03 Robert Millan <rmh@aybabtu.com>
41370
41371 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41372 of modules instead of assuming which platform provides what.
41373 * util/update-grub.in: Likewise.
41374
2d52f57f 413752008-08-03 Robert Millan <rmh@aybabtu.com>
41376
41377 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41378 instead of `grub_install_dos_part' to determine whether a drive needs
41379 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 41380 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 41381
2a5cd121 413822008-08-02 Robert Millan <rmh@aybabtu.com>
41383
41384 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41385
93808428 413862008-08-02 Robert Millan <rmh@aybabtu.com>
41387
41388 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41389 of informational grub_dprintf() calls.
41390
3bd0a12a 413912008-08-02 Robert Millan <rmh@aybabtu.com>
41392
41393 * disk/memdisk.c (memdisk_size): Don't initialize.
41394 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41395
41396 * include/grub/i386/pc/kernel.h
41397 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41398 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41399 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41400 (grub_arch_memdisk_size): Remove.
41401
41402 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41403 field (was only used to transfer a constant). Add `type' field to
41404 support multiple module types.
41405 (grub_module_iterate): New function.
41406
41407 * kern/device.c (grub_device_open): Do not hide error messages
41408 when grub_disk_open() fails. Use grub_print_error() instead.
41409
41410 * kern/i386/pc/init.c (grub_arch_modules_addr)
41411 (grub_arch_memdisk_size): Remove functions.
41412 (grub_arch_modules_addr): Return the module address in high memory
41413 (now that it isn't copied anymore).
41414
41415 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41416 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41417 decompression routine (grub_total_module_size already includes that
41418 now). Don't copy modules back to low memory.
41419
41420 * kern/main.c: Include `<grub/mm.h>'.
41421 (grub_load_modules): Split out (and use) ...
41422 (grub_module_iterate): ... this function, which iterates through
41423 module objects and runs a hook.
41424 Comment out grub_mm_init_region() call, as it would cause non-ELF
41425 modules to be overwritten.
41426
41427 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41428 the memdisk image in its own region, make it part of the module list.
41429 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41430 (main): Parse --memdisk|-m option, and pass user-provided path as
41431 parameter to generate_image().
41432 (add_segments): Pass `memdisk_path' down to load_modules().
41433 (load_modules): Embed memdisk image in module section when requested.
41434 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41435 `header.type' instead of `header.offset'.
41436
41437 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41438 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41439 (memdisk_mod_LDFLAGS): New variables.
41440 * conf/i386-coreboot.rmk: Likewise.
41441 * conf/i386-ieee1275.rmk: Likewise.
41442
a927cc73 414432008-08-02 Robert Millan <rmh@aybabtu.com>
41444
41445 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41446 (backward_relocator): New variables. Used to allocate and relocate
41447 the payload, respectively.
41448 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 41449 address, install the appropriate relocator code in each bound of
a927cc73 41450 the payload, and set the entry point such that
41451 grub_multiboot_real_boot() will jump to one of them.
41452
41453 * kern/i386/loader.S (grub_multiboot_payload_size)
41454 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41455 (grub_multiboot_payload_entry_offset): New variables.
41456 (grub_multiboot_real_boot): Set cpu context to what the relocator
41457 expects, and jump to the relocator instead of the payload.
41458
41459 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41460 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41461 (grub_multiboot_payload_entry_offset): Export.
41462
b15d8a0c 414632008-08-01 Bean <bean123ch@gmail.com>
41464
41465 * normal/menu_entry.c (editor_getline): Don't return the original
41466 string as result, as it will be released by lexer once it has done
41467 using it.
41468
cdfb3d22 414692008-08-01 Robert Millan <rmh@aybabtu.com>
41470
41471 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41472 within menuentries, not before them.
41473 util/grub.d/10_hurd.in: Likewise.
41474
9175e93d 414752008-08-01 Bean <bean123ch@gmail.com>
41476
41477 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41478 (bufio_mod_SOURCES): New macro.
41479 (bufio_mod_CFLAGS): Likewise.
41480 (bufio_mod_LDFLAGS): Likewise.
41481
41482 * include/grub/bufio.h: New file.
41483
41484 * io/bufio.c: Likewise.
41485
41486 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41487 (grub_video_reader_png): Use grub_buffile_open to open file.
41488
41489 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41490 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41491
41492 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41493 (grub_video_reader_tga): Use grub_buffile_open to open file.
41494
41495 * font/manager.c: Include <grub/bufio.h>.
41496 (add_font): Use grub_buffile_open to open file.
41497
3d8383e7 414982008-07-31 Robert Millan <rmh@aybabtu.com>
41499
41500 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41501 ELF segments, use a macro for arbitrarily accessing any of them instead
41502 of preparing a pointer that allows access to one at a time.
41503 (grub_multiboot_load_elf64): Likewise.
41504
16e641b6 415052008-07-31 Bean <bean123ch@gmail.com>
41506
41507 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41508 GRUB_KERNEL_MACHINE_DATA_END.
41509
59198b72 415102008-07-30 Robert Millan <rmh@aybabtu.com>
41511
41512 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41513 Increase from 0x50 to 0x60.
41514 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41515 use UUIDs to identify the root drive for them. If that's not
41516 possible, abort.
41517 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41518 check, for cross-disk installs.
41519
ae88bca3 415202008-07-30 Robert Millan <rmh@aybabtu.com>
41521
41522 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41523 is non-empty, use it to set the `prefix' environment variable instead
41524 of the usual approach.
41525 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41526 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41527 environment variable instead of dummy make_install_device().
41528
41529 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41530 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41531 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41532
41533 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41534 New variable reference.
41535 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41536 New macro. Defines offset of `grub_prefix' within startup.S (relative
41537 to `start').
41538 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41539 section within startup.S (relative to `start').
41540 * include/grub/i386/coreboot/kernel.h: Likewise.
41541
41542 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41543 Overwrite grub_prefix with its contents, at the beginning of the
41544 first segment.
41545 (main): Understand -p|--prefix.
41546
14f41dd1 415472008-07-30 Robert Millan <rmh@aybabtu.com>
41548
41549 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41550
4ca049a3 415512008-07-30 Robert Millan <rmh@aybabtu.com>
41552
41553 * term/i386/pc/vga_text.c (grub_console_cls): Use
41554 grub_console_gotoxy() to go back to beginning of the screen.
41555 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41556
2921d337 415572008-07-29 Christian Franke <franke@computer.org>
41558
41559 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41560 Add conversion of emulated mount points on Cygwin.
41561
b609876d 415622008-07-29 Christian Franke <franke@computer.org>
41563
41564 * util/update-grub.in: Add a check for admin
41565 group on Cygwin.
41566 Remove old `grub.cfg.new' before creation.
41567 Add `-f' to `mv' to handle the different filesystem
41568 semantics of Windows.
41569
e93e4679 415702008-07-29 Bean <bean123ch@gmail.com>
41571
41572 * normal/main.c (get_line): Fix buffer overflow bug.
41573
41694fd0 415742008-07-28 Robert Millan <rmh@aybabtu.com>
41575
41576 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41577 (struct grub_apple_header): New struct. Describes the layout of
41578 the partmap header.
41579 (apple_partition_map_iterate): Check the header magic as well as the
41580 partition magic (which was already being checked).
41581
cfd0b4e6 415822008-07-28 Pavel Roskin <proski@gnu.org>
41583
41584 * genmk.rb: Add a warning to the beginning of the output that
41585 it's a generated file and should not be edited.
41586
93cce016 415872008-07-28 Robert Millan <rmh@aybabtu.com>
41588
41589 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41590 with the same number are found, just use issue a warning with
41591 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41592
cd1df915 415932008-07-27 Robert Millan <rmh@aybabtu.com>
41594
41595 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41596 information.
41597
b70a8427 415982008-07-27 Bean <bean123ch@gmail.com>
41599
41600 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41601 (grub_fat_find_dir): Ignore case when comparing filename.
41602
8f5e379f 416032008-07-27 Bean <bean123ch@gmail.com>
41604
41605 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41606 smallino, as it's more descriptive, and i8count can be confused with
41607 the other field count.
41608 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41609 inode type.
41610
a85cd5a0 416112008-07-27 Bean <bean123ch@gmail.com>
41612
41613 * commands/crc.c: New file.
41614
41615 * lib/crc.c: Likewise.
41616
41617 * include/grub/lib/crc.h: Likewise.
41618
41619 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41620
41621 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41622 (hexdump): Move this function to ...
41623
41624 * lib/hexdump.c: ... here.
41625
41626 * include/grub/hexdump.h: Renamed to ...
41627
41628 * include/grub/lib/hexdump.h: ... this.
41629
41630 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41631
41632 * util/grub-editenv.c: Likewise.
41633
41634 * include/envblk.h: Renamed to ...
41635
41636 * include/lib/envblk.h: ... this.
41637
41638 * util/envblk.c: Renamed to ...
41639
41640 * lib/envblk.c: ... this.
41641
41642 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41643 lib/hexdump.c.
41644 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41645 (pkglib_MODULES): Add crc.mod.
41646 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41647 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41648 (crc_mod_SOURCES): New macro.
41649 (crc_mod_CFLAGS): Likewise.
41650 (crc_mod_LDFLAGS): Likewise.
41651
41652 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41653
41654 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41655
41656 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41657
41658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41659
41660 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41661
c298def0 416622008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41663
41664 * commands/help.c: Include <grub/term.h>.
41665 (TERM_WIDTH): Removed. Updated all users.
41666
cc349fb3 416672008-07-27 Pavel Roskin <proski@gnu.org>
41668
41669 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41670 spurious warnings about a comment within a comment.
41671
9051607e 416722008-07-25 Robert Millan <rmh@aybabtu.com>
41673
41674 * util/getroot.c (find_root_device): Skip devices that match
41675 /dev/dm-[0-9]. This lets the real device be found for any type of
41676 abstraction (LVM, EVMS, RAID..).
41677 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41678 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41679 device is found first, find_root_device() will now skip it.
41680
01453bfc 416812008-07-24 Pavel Roskin <proski@gnu.org>
41682
41683 * include/grub/types.h: Use __builtin_bswap32() and
41684 __builtin_bswap64() with gcc 4.3 and newer.
41685
6af9849f 416862008-07-24 Christian Franke <franke@computer.org>
41687
3a0fa256 41688 * util/i386/pc/grub-install.in: If `--debug' is specified,
41689 pass `--verbose' to grub-setup.
41690 Abort script if make_system_path_relative_to_its_root() fails.
41691
7810e747 416922008-07-24 Bean <bean123ch@gmail.com>
41693
41694 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41695 variable `target_platform' should be `platform'.
41696
42290e17 416972008-07-24 Bean <bean123ch@gmail.com>
41698
51cc5193 41699 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41700 (grub_png_init_fixed_block): New function.
41701 (grub_png_decode_image_data): Handle fixed huffman code compression.
41702
2a8a80e4 417032008-07-24 Bean <bean123ch@gmail.com>
41704
41705 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41706 (grub_pe2elf_SOURCES): New macro.
41707 (CLEANFILES): Add grub-pe2elf.
41708
41709 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41710 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41711 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41712 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41713 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41714 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41715 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41716 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41717 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41718 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41719 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41720 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41721 (GRUB_PE32_DT_FUNCTION): Likewise.
41722 (GRUB_PE32_REL_I386_DIR32): Likewise.
41723 (GRUB_PE32_REL_I386_REL32): Likewise.
41724 (grub_pe32_symbol): New structure.
41725 (grub_pe32_reloc): Likewise.
41726
41727 * util/grub-pe2elf.c: New file.
41728
41729 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41730 start symbol in non pc platform.
41731
41732 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41733
41734 The following patches are from Christian Franke.
41735
41736 * include/grub/dl.h: Remove .previous, gas supports this only
41737 for ELF format.
41738
41739 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41740 Remove .type, gas supports this only for ELF format.
41741
41742 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41743 nullbytes in symbol table. This fixes an infinite loop if table is
41744 zero filled.
41745
41746 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41747 TARGET_IMG_LDFLAGS and EXEEXT.
41748
41749 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41750 TARGET_IMG_LDFLAGS_AC.
41751 (grub_CHECK_STACK_ARG_PROBE): New function.
41752
41753 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41754
41755 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41756
41757 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41758 to set TARGET_IMG_LD* accordingly.
41759 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41760 Add call to grub_CHECK_STACK_ARG_PROBE.
41761 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41762
41763 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41764
41765 * genmk.rb: Add EXEEXT to CLEANFILES.
41766
12ccdb75 417672008-07-23 Robert Millan <rmh@aybabtu.com>
41768
41769 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41770 define the codes for arrows and lines used for the menu).
41771 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41772 as well.
41773
41774 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41775 fonts, because the latter are too slow.
41776
18eeaf04 417772008-07-21 Bean <bean123ch@gmail.com>
41778
41779 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41780 a20. Run keyboard test last, as it will cause macbook to halt.
41781
b095e2ad 417822008-07-18 Pavel Roskin <proski@gnu.org>
41783
41784 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41785 load foreign architecture modules correctly anyway. Keep
41786 support for loading host architecture modules, whether we
41787 compile them or not.
41788
737feb35 417892008-07-17 Pavel Roskin <proski@gnu.org>
41790
3f4ce737 41791 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41792 change target_cpu. The compiler default can mismatch target_cpu
41793 in any case.
41794
4ad2d049 41795 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41796 * kern/efi/efi.c: Likewise.
41797
f6130a12 41798 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41799 target compiler is functional.
41800 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41801 are set up.
41802
58393a2d 41803 * configure.ac: Default to efi platform for x86_64-apple. Allow
41804 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41805 adjustments from the rest, only do them if target is not
41806 explicitly given. Merge other adjustments with the final sanity
41807 check. Remove an extraneous check for supported CPU. Be
41808 specific which CPU and which platform is not supported.
41809
737feb35 41810 * configure.ac: Default to pc platform for x86_64.
41811
546f966a 418122008-07-17 Robert Millan <rmh@aybabtu.com>
41813
41814 Partial LinuxBIOS -> Coreboot rename.
41815
41816 * conf/i386-linuxbios.rmk: Renamed to ...
41817 * conf/i386-coreboot.rmk: ... this.
41818 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41819 * configure.ac: Accept "coreboot" as input platform (but maintain
41820 compatibility with "linuxbios").
41821 * include/grub/i386/linuxbios: Renamed to ...
41822 * include/grub/i386/coreboot: ... this.
41823
20011694 418242008-07-17 Bean <bean123ch@gmail.com>
41825
41826 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41827 (appleldr_mod_SOURCE): New variable.
20011694 41828 (appleldr_mod_CFLAGS): Likewise.
41829 (appleldr_mod_LDFLAGS): Likewise.
41830 (pci_mod_SOURCES): Likewise.
41831 (pci_mod_CFLAGS): Likewise.
41832 (pci_mod_LDFLAGS): Likewise.
41833 (lspci_mod_SOURCES): Likewise.
41834 (lspci_mod_CFLAGS): Likewise.
41835 (lspci_mod_LDFLAGS): Likewise.
41836
41837 * conf/x86_64-efi.rmk: New file.
41838
41839 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41840 macro.
41841 (grub_efidisk_write): Likewise.
41842
41843 * include/efi/api.h (efi_call_0): New macro.
41844 (efi_call_1): Likewise.
41845 (efi_call_2): Likewise.
41846 (efi_call_3): Likewise.
41847 (efi_call_4): Likewise.
41848 (efi_call_5): Likewise.
41849 (efi_call_6): Likewise.
41850
41851 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41852 grub_rescue_cmd_chainloader.
41853
41854 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41855 (grub_pe32_optional_header): Change some fields based on i386 or
41856 x86_64 platform.
41857 (GRUB_PE32_PE32_MAGIC): Likewise.
41858
41859 * include/grub/efi/uga_draw.h: New file.
41860
41861 * include/grub/elf.h (STN_ABS): New constant.
41862 (R_X86_64_NONE): Relocation constant for x86_64.
41863 (R_X86_64_64): Likewise.
41864 (R_X86_64_PC32): Likewise.
41865 (R_X86_64_GOT32): Likewise.
41866 (R_X86_64_PLT32): Likewise.
41867 (R_X86_64_COPY): Likewise.
41868 (R_X86_64_GLOB_DAT): Likewise.
41869 (R_X86_64_JUMP_SLOT): Likewise.
41870 (R_X86_64_RELATIVE): Likewise.
41871 (R_X86_64_GOTPCREL): Likewise.
41872 (R_X86_64_32): Likewise.
41873 (R_X86_64_32S): Likewise.
41874 (R_X86_64_16): Likewise.
41875 (R_X86_64_PC16): Likewise.
41876 (R_X86_64_8): Likewise.
41877 (R_X86_64_PC8): Likewise.
41878
41879 * include/grub/i386/efi/pci.h: New file.
41880
41881 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41882 Change it value based on platform.
41883 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41884 (GRUB_E820_RAM): Likewise.
41885 (GRUB_E820_RESERVED): Likewise.
41886 (GRUB_E820_ACPI): Likewise.
41887 (GRUB_E820_NVS): Likewise.
41888 (GRUB_E820_EXEC_CODE): Likewise.
41889 (GRUB_E820_MAX_ENTRY): Likewise.
41890 (grub_e820_mmap): New structure.
41891 (linux_kernel_header): Change the efi field according to different
41892 kernel version, also field from linux_kernel_header.
41893
41894 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41895
41896 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41897 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41898 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41899 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41900 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41901 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41902 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41903 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41904 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41905 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41906
41907 * include/grub/x86_64/efi/kernel.h: New file.
41908
41909 * include/grub/x86_64/efi/loader.h: Likewise.
41910
41911 * include/grub/x86_64/efi/machine.h: Likewise.
41912
41913 * include/grub/x86_64/efi/pci.h: Likewise.
41914
41915 * include/grub/x86_64/efi/time.h: Likewise.
41916
41917 * include/grub/x86_64/linux.h: Likewise.
41918
41919 * include/grub/x86_64/setjmp.h: Likewise.
41920
41921 * include/grub/x86_64/time.h: Likewise.
41922
41923 * include/grub/x86_64/types.h: Likewise.
41924
41925 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41926 GRUB_TARGET_SIZEOF_VOID_P.
41927
41928 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41929 (grub_efi_locate_handle): Likewise.
41930 (grub_efi_open_protocol): Likewise.
41931 (grub_efi_set_text_mode): Likewise.
41932 (grub_efi_stall): Likewise.
41933 (grub_exit): Likewise.
41934 (grub_reboot): Likewise.
41935 (grub_halt): Likewise.
41936 (grub_efi_exit_boot_services): Likewise.
41937 (grub_get_rtc): Likewise.
41938
41939 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41940 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41941 (grub_efi_allocate_pages): Wrap efi calls.
41942 (grub_efi_free_pages): Wrap efi calls.
41943 (grub_efi_get_memory_map): Wrap efi calls.
41944
41945 * kern/x86_64/dl.c: New file.
41946
41947 * kern/x86_64/efi/callwrap.S: Likewise.
41948
41949 * kern/x86_64/efi/startup.S: Likewise.
41950
41951 * loader/efi/appleloader.c: Likewise.
41952
41953 * loader/efi/chainloader.c (cmdline): New variable.
41954 (grub_chainloader_unload): Wrap efi calls.
41955 (grub_chainloader_boot): Likewise.
41956 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41957 command line.
41958
41959 * loader/efi/chainloader_normal.c (chainloader_command):
41960 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41961 command line.
41962
41963 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41964 method.
41965 (grub_e820_add_region): New function.
41966 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41967 booting.
41968 (grub_find_video_card): New function.
41969 (grub_linux_setup_video): New function.
41970 (grub_rescue_cmd_linux): Probe for video information.
41971
41972 * normal/x86_64/setjmp.S: New file.
41973
41974 * term/efi/console.c (map_char): New function.
41975 (grub_console_putchar): Map unicode char.
41976 (grub_console_checkkey): Wrap efi calls.
41977 (grub_console_getkey): Likewise.
41978 (grub_console_getwh): Likewise.
41979 (grub_console_gotoxy): Likewise.
41980 (grub_console_cls): Likewise.
41981 (grub_console_setcolorstate): Likewise.
41982 (grub_console_setcursor): Likewise.
41983
41984 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41985
59652a20 419862008-07-16 Pavel Roskin <proski@gnu.org>
41987
ef294055 41988 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41989 format strings.
41990
59652a20 41991 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41992 pointer, not an integer. This fixes a warning and prevents
41993 precision loss on 64-bit systems.
41994 (relocate_addresses): Remove unneeded cast.
41995
afc3b5d7 419962008-07-15 Pavel Roskin <proski@gnu.org>
41997
506b2b3e 41998 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41999
62ead89c 42000 * term/ieee1275/ofconsole.c: Disable code unused on i386.
42001
c4cd51d7 42002 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
42003 Fix comparison between signed and unsigned.
42004
0d3d8f28 42005 * include/grub/i386/ieee1275/console.h: Declare
42006 grub_console_init() and grub_console_fini().
42007
8804b286 42008 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
42009 It's empty and unused.
42010
ee01cf35 42011 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
42012 beginning to avoid warnings with some compilers.
42013
afc3b5d7 42014 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
42015 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
42016
e4e8eaa5 420172008-07-14 Pavel Roskin <proski@gnu.org>
42018
407aceb4 42019 * kern/env.c (grub_register_variable_hook): Don't copy empty
42020 string, it leaks memory. Pass "" to grub_env_set(), it should
42021 handle constant strings.
42022
e4e8eaa5 42023 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
42024 * commands/cmp.c (grub_cmd_cmp): Likewise.
42025 * kern/dl.c (grub_dl_flush_cache): Likewise.
42026 (grub_dl_load_core): Likewise.
42027 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
42028 (grub_elf64_load_phdrs): Likewise.
42029
d4e2dad3 420302008-07-13 Pavel Roskin <proski@gnu.org>
42031
42032 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42033 between signed and unsigned.
42034 (LzmaEnc_Finish): Fix warning about an unused parameter.
42035
aa24b516 420362008-07-13 Bean <bean123ch@gmail.com>
42037
42038 * Makefile.in (enable_lzo): New rule.
42039
42040 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42041
42042 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42043
42044 * boot/i386/pc/lnxboot.S: #include <config.h>.
42045
42046 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 42047 its value according to the compression algorithm used, lzo or lzma.
aa24b516 42048
42049 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42050 compression algorithm according to configure macro.
42051
42052 * kern/i386/pc/startup.S (codestart): Likewise.
42053
42054 * kern/i386/pc/lzma_decode.S: New file.
42055
42056 * include/grub/lib/LzFind.h: Likewise.
42057
42058 * include/grub/lib/LzHash.h: Likewise.
42059
42060 * include/grub/lib/LzmaDec.h: Likewise.
42061
42062 * include/grub/lib/LzmaEnc.h: Likewise.
42063
42064 * include/grub/lib/LzmaTypes.h: Likewise.
42065
42066 * lib/LzFind.c: Likewise.
42067
42068 * lib/LzmaDec.c: Likewise.
42069
42070 * lib/LzmaEnc.c: Likewise.
42071
4ae821ac 420722008-07-13 Bean <bean123ch@gmail.com>
42073
42074 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42075 (grub_ext4_extent_header): New structure.
42076 (grub_ext4_extent): Likewise.
42077 (grub_ext4_extent_idx): Likewise.
42078 (grub_ext4_find_leaf): New function.
42079 (grub_ext2_read_block): Handle extents.
42080
9a745147 420812008-07-12 Robert Millan <rmh@aybabtu.com>
42082
42083 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42084
d49a4cf6 420852008-07-11 Robert Millan <rmh@aybabtu.com>
42086
42087 * util/grub.d/40_custom.in: New file. Example on how to add custom
42088 entries to /etc/grub.d.
42089 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42090 40_custom (implicitly, by merging all the grub.d rules).
42091
947414b4 420922008-07-11 Pavel Roskin <proski@gnu.org>
42093
0059cf6f 42094 * commands/read.c (grub_getline): Fix invalid memory access.
42095 Don't add newline to the variable value.
42096
947414b4 42097 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42098 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42099 (serial_hw_get_port): Check validity of the port number.
42100 (grub_cmd_serial): Check return value of serial_hw_get_port().
42101
62a02d00 421022008-07-07 Pavel Roskin <proski@gnu.org>
42103
42104 * boot/i386/pc/diskboot.S (notification_string): Replace
42105 "Loading kernel" with just "loading". This is shorter, less
42106 confusing and saves a few bytes for possible future changes.
42107
3e5581b0 421082008-07-05 Pavel Roskin <proski@gnu.org>
42109
ea387a48 42110 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42111 size for ATAPI devices, they are undefined. Output sector
42112 number in decimal form.
42113
3e5581b0 42114 * disk/ata.c: Use named constants for status bits.
42115
fdecb8fd 421162008-07-04 Pavel Roskin <proski@gnu.org>
42117
bcd35b90 42118 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42119 grub_addr_t before casting it to the void pointer to fix a
42120 warning. Non-addressable regions are discarded earlier.
42121 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42122 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42123 (check_signature): Don't shadow table_header.
42124 (grub_linuxbios_table_iterate): Cast numeric constants to
42125 grub_linuxbios_table_header_t.
42126 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42127 grub_stop().
42128
af58ab3d 42129 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42130 prevent warnings.
42131
1759aa57 42132 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42133 pointer, which can cause warnings. Support 64-bit addresses.
42134
fdecb8fd 42135 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42136 of sizeof(long). This fixes PowerPC image generation on x86_64.
42137
8516d2a8 421382008-07-04 Robert Millan <rmh@aybabtu.com>
42139
42140 This fixes a performance issue when pc & gpt partmap iterators
42141 didn't abort iteration even after our hook found what it was
fe987087 42142 looking for (often causing expensive probes of non-existent drives).
8516d2a8 42143
42144 Some callers relied on previous buggy behaviour, since they would
34c44600 42145 raise an error when their own hooks caused early abortion of its
8516d2a8 42146 iteration.
42147
42148 * kern/device.c (grub_device_open): Improve error message.
42149 * disk/lvm.c (grub_lvm_open): Likewise.
42150 * disk/raid.c (grub_raid_open): Likewise.
42151
42152 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42153 when hook requests it, independently of grub_errno.
42154 (pc_partition_map_probe): Do not fail when find_func() caused
42155 early abortion of pc_partition_map_iterate().
42156
42157 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
42158 when hook requests it, independently of grub_errno.
42159 (gpt_partition_map_probe): Do not fail when find_func() caused
42160 early abortion of gpt_partition_map_iterate().
42161
42162 * kern/partition.c (grub_partition_iterate): Abort parent iteration
42163 when hook requests it, independently of grub_errno. Do not fail when
42164 part_map_iterate_hook() caused early abortion of p->iterate().
42165
42166 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
42167 when grub_partition_iterate() returned with non-zero.
42168
277d0de9 421692008-07-03 Pavel Roskin <proski@gnu.org>
42170
42171 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42172 like we do in grub_ata_pio_read().
42173 (grub_ata_readwrite): Always write individual sectors. Fix the
42174 sector count for the remainder.
42175 (grub_ata_write): Enable writing to ATA devices. Correctly
42176 report error for ATAPI devices.
42177
d4c9b428 421782008-07-02 Pavel Roskin <proski@gnu.org>
42179
e43fc690 42180 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42181 warning.
42182
f707af42 42183 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42184 for every read sector, we already increment it for the whole
42185 batch. This fixes reading more than 256 sectors at once.
42186
11e16b15 42187 * util/grub-editenv.c (cmd_info): Cast argument to long
42188 explicitly. ptrdiff_t reduces to int on i386.
42189
cbabfdd4 42190 * util/grub-editenv.c (main): Be specific which parameter is
42191 missing.
42192
b8fbce0a 42193 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
42194 (memdisk): Make memdisk_orig_addr a pointer.
42195
c9c8e606 42196 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
42197 for file offsets, use grub_off_t instead. Fix printf format
42198 warnings.
42199
ca62e598 42200 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42201 there. Real unexpected warnings should not drown in the noise
42202 about known problems.
42203
ce8d1766 42204 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42205 grub_disk_addr_t for memory addresses.
42206
00c7a56a 42207 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42208 explicitly to fix a warning.
42209
08d3ef09 42210 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42211
cb71ba20 42212 * Makefile.in (MODULE_LDFLAGS): New variable.
42213 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42214 the linker accepts --build-id=none.
42215 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42216 MODULE_LDFLAGS.
42217 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42218
d4c9b428 42219 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42220 those in Linux XFS code. Provide a way to access 64-bit parent
42221 inode.
42222 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42223 the end of struct grub_xfs_dir_header.
42224
d4156eee 422252008-07-02 Bean <bean123ch@gmail.com>
42226
42227 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42228 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42229 and GRUB_IEEE1275_FLAG_NO_ANSI.
42230
42231 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42232 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42233 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42234
42235 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42236 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42237
42238 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42239 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42240
42241 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42242 esc sequence on non ANSI terminal.
42243 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42244
42245 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42246 beginning of file.
42247
2270f77b 422482008-07-02 Bean <bean123ch@gmail.com>
42249
42250 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42251 (grub_editenv_SOURCES): New variable.
42252 (pkglib_MODULES): Add loadenv.mod.
42253 (loadenv_mod_SOURCES): New variable.
42254 (loadenv_mod_CFLAGS): Likewise.
42255 (loadenv_mod_LDFLAGS): Likewise.
42256
42257 * include/grub/envblk.h: New file.
42258
42259 * util/envblk.c: New file.
42260
42261 * util/grub-editenv.c: New file.
42262
42263 * commands/loadenv.c: New file.
42264
0e9e51ec 422652008-07-01 Pavel Roskin <proski@gnu.org>
42266
d89b7634 42267 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42268 not unsigned char. This fixes warnings and is consistent with
42269 other tags.
42270
bf1835b1 42271 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42272
8222a04b 42273 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42274
6a42d99d 42275 * term/tparm.c (analyze): Always set *popcount.
42276
10b159d1 42277 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42278 cast to fix a warning.
42279
b8789f6c 42280 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42281 cast to suppress a warning.
42282
29d7e38a 42283 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42284 grub_fshelp_read_file() expects.
42285
f341f669 42286 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42287 write uuid as a 32-bit value in CPU byte order, so declare and
42288 use it as such.
42289
0e9e51ec 42290 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42291 long if the format specifier expects it.
42292 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42293 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42294 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42295 long to fix a warning.
42296 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42297 grub_dprintf() arguments to fix warnings.
42298
3aefa857 422992008-06-30 Pavel Roskin <proski@gnu.org>
42300
56c7668b 42301 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42302 install_bsd_part immediately before core.img is embedded or
42303 modified on disk. This fixes core.img verification if core.img
42304 cannot be embedded.
42305
3aefa857 42306 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42307 core_path to calculate the blocklist.
42308 Patch from Javier Martín <lordhabbit@gmail.com>
42309
5444088d 423102008-06-29 Robert Millan <rmh@aybabtu.com>
42311
42312 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42313 block to disk block.
42314 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42315 Patch from Niels Böhm <bitbucket@arcor.de>
42316
674835c8 423172008-06-29 Robert Millan <rmh@aybabtu.com>
42318
42319 * util/update-grub_lib.in (font_path): Search for fonts in
42320 /boot/grub first, which is more likely to be readable (we aren't
42321 deciding where fonts live, just looking for them).
42322
f527dbc8 423232008-06-26 Pavel Roskin <proski@gnu.org>
42324
6c2d8df6 42325 * util/biosdisk.c (read_device_map): Don't leave dead map
42326 entries for devices failing stat() check.
42327
f527dbc8 42328 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42329 core_path_dev for the core.img path on the target device.
42330
aebe3d13 423312008-06-26 Robert Millan <rmh@aybabtu.com>
42332
42333 * disk/fs_uuid.c: New file.
42334 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42335 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42336 (fs_uuid_mod_LDFLAGS): New variables.
42337 * include/grub/disk.h (grub_disk_dev_id): Add
42338 `GRUB_DISK_DEVICE_UUID_ID'.
42339 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42340 implement iterate().
42341
37aaf354 423422008-06-26 Robert Millan <rmh@aybabtu.com>
42343
42344 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42345 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42346 Linux image includes no initrd.
42347
25ff262a 423482008-06-21 Javier Martín <lordhabbit@gmail.com>
42349
42350 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42351 call to resolve the core image location that effectively appended the
42352 name twice.
42353
76a2bd44 423542008-06-21 Robert Millan <rmh@aybabtu.com>
42355
42356 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42357 call from here ...
42358
42359 * util/grub.d/10_hurd.in: ... to here ...
42360 * util/grub.d/10_linux.in: ... and here.
42361
650e1c79 423622008-06-19 Robert Millan <rmh@aybabtu.com>
42363
fe987087 42364 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 42365 after it has been set by grub_machine_set_prefix().
42366
6ce63911 423672008-06-19 Robert Millan <rmh@aybabtu.com>
42368
42369 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42370 search result when not saving to variable, not the other way around.
42371 When saving to variable, abort iteration as soon as a match is found.
42372
73940cec 423732008-06-19 Robert Millan <rmh@aybabtu.com>
42374
42375 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42376 check for partition that provides /boot/grub. Its logic is flawed,
42377 as it prevents prepare_grub_to_access_device() from being called
42378 multiple times.
42379
3c62a39d 423802008-06-19 Robert Millan <rmh@aybabtu.com>
42381
42382 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42383 "insmod" command directly when abstraction modules are needed,
fe987087 42384 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 42385 since it had already been processed).
42386
47395a42 423872008-06-19 Pavel Roskin <proski@gnu.org>
42388
42389 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42390 changed. This is needed in case GRUB_LIBDIR changes.
42391 * conf/i386-ieee1275.rmk: Likewise.
42392 * conf/i386-linuxbios.rmk: Likewise.
42393 * conf/i386-pc.rmk: Likewise.
42394 * conf/powerpc-ieee1275.rmk: Likewise.
42395
a145ac2d 423962008-06-18 Pavel Roskin <proski@gnu.org>
42397
42398 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42399 kernel_elf_symlist.c to symlist.c for consistency with other
42400 architectures. Update all users.
42401 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42402
7847c51e 424032008-06-18 Robert Millan <rmh@aybabtu.com>
42404
42405 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42406 it in prefix.
42407
42408 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42409 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42410 a RAID device, run setup() for all members independently on whether
42411 LVM abstraction is being used.
42412 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42413 If grub-mkimage has set `*install_dos_part == -2', don't override this
42414 value.
42415 Perform *install_dos_part adjustments independently on whether
42416 we're embedding or not.
42417 Clarify error message when image is too big for embedding.
42418 Remove duplicate *install_dos_part stanza.
42419
b23e5644 424202008-06-17 Robert Millan <rmh@aybabtu.com>
42421
42422 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42423 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42424 variables.
42425 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42426 values in grub_ofconsole_normal_color and
42427 grub_ofconsole_highlight_color (they're not directly related to
42428 background and foreground).
42429 (grub_ofconsole_setcolorstate): Extract background and foreground
42430 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42431
0aac2f79 424322008-06-17 Robert Millan <rmh@aybabtu.com>
42433
42434 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42435 /boot/grub for the check in last commit, not /boot (they could be
42436 different partitions).
42437
3cca7ef3 424382008-06-16 Robert Millan <rmh@aybabtu.com>
42439
42440 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42441 asked to setup access for the same partition that provides /boot,
42442 don't bother using UUIDs since our root already has the value we
42443 want.
42444
347396d8 424452008-06-16 Robert Millan <rmh@aybabtu.com>
42446
42447 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42448 I2O devices.
42449 Patch from Sven Mueller <sven@debian.org>.
42450
991477f8 424512008-06-16 Robert Millan <rmh@aybabtu.com>
42452
42453 * util/update-grub.in: Check for $EUID instead of $UID.
42454 Reported by Vincent Zweije.
42455
d31a32a1 424562008-06-16 Bean <bean123ch@gmail.com>
42457
fe987087 42458 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 42459 (grub_ext2_read_block): Likewise.
42460 (grub_ext2_read_inode): Likewise.
42461 (grub_ext2_mount): Likewise.
42462 (grub_ext2_close): Likewise.
42463 (grub_ext3_get_journal): Removed.
42464
fe987087 42465 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 42466 (grub_reiserfs_read_symlink): Likewise.
42467 (grub_reiserfs_mount): Likewise.
42468 (grub_reiserfs_open): Likewise.
42469 (grub_reiserfs_read): Likewise.
42470 (grub_reiserfs_close): Likewise.
42471 (grub_reiserfs_get_journal): Removed.
42472
42473 * fs/fshelp.c (grub_fshelp_read): Removed.
42474 (grub_fshelp_map_block): Likewise.
42475
42476 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42477 (grub_fshelp_journal): Likewise.
42478 (grub_fshelp_read): Likewise.
42479 (grub_fshelp_map_block): Likewise.
42480
3540a760 424812008-06-16 Pavel Roskin <proski@gnu.org>
42482
42483 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42484 floating point anymore.
42485 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42486
95614c84 424872008-06-15 Pavel Roskin <proski@gnu.org>
42488
42489 * commands/ls.c (grub_ls_list_files): Use integer calculations
42490 for human readable format, avoid floating point use.
42491 * kern/misc.c (grub_ftoa): Remove.
42492 (grub_vsprintf): Remove floating point support.
42493
50465dd6 424942008-06-15 Robert Millan <rmh@aybabtu.com>
42495
fe6b695a 42496 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42497 devices.
42498 Reported by Max Vozeler.
42499
a9207284 425002008-06-15 Robert Millan <rmh@aybabtu.com>
42501
42502 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42503 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42504 skipped later.
42505 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42506 the beginning of the prefix.
42507
42508 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42509 It is assumed that if we have a memdisk, grub-mkimage has set
42510 grub_prefix to include the "(memdisk)" drive in it.
42511
a7cbd45a 425122008-06-15 Robert Millan <rmh@aybabtu.com>
42513
42514 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42515 Initialize keyboard controller after registering the terminal, so that
42516 grub_printf() can be called from grub_keyboard_controller_init().
42517
21cf716a 425182008-06-15 Robert Millan <rmh@aybabtu.com>
42519
42520 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42521 extent-btree which is written as big endian on disk.
42522 Reported by Alain Greppin <al@chilibi.org>.
42523
23a64d8e 425242008-06-14 Robert Millan <rmh@aybabtu.com>
42525
42526 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42527 * util/i386/pc/grub-install.in (modules): Likewise.
42528
d687651c 425292008-06-13 Pavel Roskin <proski@gnu.org>
42530
42531 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42532
dfe9ddd4 425332008-06-13 Bean <bean123ch@gmail.com>
42534
42535 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42536
42537 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42538
42539 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42540 to indicate sparse block.
42541
16ae7781 425422008-06-12 Pavel Roskin <proski@gnu.org>
42543
e6d1a308 42544 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42545 number, grub_fshelp_read() does it for us.
42546
16ae7781 42547 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42548 linear disk read with journal translation.
42549 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42550 * include/grub/fshelp.h: Declare grub_fshelp_read().
42551
40fd3a2b 425522008-06-09 Pavel Roskin <proski@gnu.org>
42553
42554 * fs/minix.c (grub_minix_mount): Handle error reading
42555 superblock.
42556
f5679726 425572008-06-08 Robert Millan <rmh@aybabtu.com>
42558
42559 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42560 don't append the RAID prefix afterwards.
42561 Reported by Clint Adams.
42562
ce525529 425632008-06-08 Robert Millan <rmh@aybabtu.com>
42564
42565 Based on description from Pavel:
42566 * kern/disk.c (grub_disk_check_range): Rename to ...
42567 (grub_disk_adjust_range): ... this. Add a comment explaining the
42568 tasks performed by this function.
42569
ad4936a0 425702008-06-08 Robert Millan <rmh@aybabtu.com>
42571
42572 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42573 `num_serial' (for consistency with other variables).
42574 (struct grub_ntfs_data): Add `uuid' member.
42575 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42576 (grub_ntfs_uuid): New function.
42577 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42578
dc20b0f9 425792008-06-07 Pavel Roskin <proski@gnu.org>
42580
42581 * util/biosdisk.c (open_device): Revert last change to the
42582 function, it broke installation. The sector needs to be
42583 different dependent on which device is opened.
42584
c5e3cfba 425852008-06-06 Robert Millan <rmh@aybabtu.com>
42586
42587 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42588 rest of GRUB, and breakage doesn't happen if its value were modified.
42589
42590 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42591 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42592 a constant (same value).
42593 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42594 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42595
26a1f8c4 425962008-06-06 Robert Millan <rmh@aybabtu.com>
42597
42598 * util/biosdisk.c (open_device): Do not modify sector offset when
42599 accessing a partition. kern/disk.c already handles this for us.
42600
25d6b327 426012008-06-06 Robert Millan <rmh@aybabtu.com>
42602
42603 * util/grub-emu.c (grub_machine_init): Move code in this function from
42604 here ...
42605 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42606 segfault in case grub_printf() is called).
42607
42608 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42609 grub_probe. Update all users not to explicitly add it again.
42610 (grub_device): New variable; contains corresponding device for grubdir.
42611 (fs_module, partmap_module, devabstraction_module): Pass
42612 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42613 every time.
42614
9ece62fb 426152008-06-05 Robert Millan <rmh@aybabtu.com>
42616
42617 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42618 is found, print it (same layout as with labels).
42619
1ad36d37 426202008-06-04 Robert Millan <rmh@aybabtu.com>
42621
42622 * util/biosdisk.c (get_drive): Rename to ...
42623 (find_grub_drive): ... this. Update all users.
42624
42625 (get_os_disk): Rename to ...
42626 (convert_system_partition_to_system_disk): ... this. Update all users.
42627
42628 (find_drive): Rename to ...
42629 (find_system_device): ... this. Update all users.
42630
e6a30859 426312008-06-04 Robert Millan <rmh@aybabtu.com>
42632
42633 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42634 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42635 (make_device_map): Likewise.
42636
00c108a4 426372008-06-01 Robert Millan <rmh@aybabtu.com>
42638
42639 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42640 before dereferencing it.
42641
42642 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42643 union with fat12/fat16-specific ones. Add some new fields, including
42644 `num_serial' for both versions.
42645 (struct grub_fat_data): Add `uuid' member.
42646 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42647 names. Initialize `data->uuid' using `num_serial'.
42648 (grub_fat_uuid): New function.
42649 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42650
42651 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42652 (grub_reiserfs_uuid): New function.
42653 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42654 member.
42655
42656 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42657 (grub_xfs_uuid): New function.
42658 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42659
1385c5bb 426602008-06-01 Robert Millan <rmh@aybabtu.com>
42661
42662 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42663 code that is backward compatible with pre-uuid search command.
42664
c682dfd7 426652008-05-31 Robert Millan <rmh@aybabtu.com>
42666
42667 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42668 floppies after everything else, to ensure floppy drive isn't accessed
42669 unnecessarily (patch from Bean).
42670
b7db5d47 426712008-05-31 Robert Millan <rmh@aybabtu.com>
42672
42673 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42674 not print device names when we were asked to set a variable.
42675
6e037aa9 426762008-05-31 Robert Millan <rmh@aybabtu.com>
42677
42678 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42679 using "cursor-on" and "cursor-off" commands (understood at least by
42680 the Open Firmware flavour on OLPC).
42681
41305bc8 426822008-05-31 Michael Gorven <michael@gorven.za.net>
42683
42684 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42685 on and off sequences.
42686
69ba137e 426872008-05-31 Robert Millan <rmh@aybabtu.com>
42688
42689 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42690 * util/update-grub.in: Likewise.
42691
520ae21b 426922008-05-30 Pavel Roskin <proski@gnu.org>
42693
42694 * util/biosdisk.c (linux_find_partition): Simplify logic and
42695 make the code more universal. Keep special processing for
42696 devfs, but use a simple rule for all other devices. If the
42697 device ends with a number, append 'p' and the partition number.
42698 Otherwise, append only the partition number.
42699
5786569b 427002008-05-30 Robert Millan <rmh@aybabtu.com>
42701
42702 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42703 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42704 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42705 the `root' parameter to Linux.
42706
51500452 427072008-05-30 Robert Millan <rmh@aybabtu.com>
42708
42709 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42710 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42711 --fs_uuid with --fs-uuid.
42712 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42713 all filesystems support them).
42714
811d3878 427152008-05-30 Robert Millan <rmh@aybabtu.com>
42716
42717 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42718 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42719
cab63c95 427202008-05-30 Robert Millan <rmh@aybabtu.com>
42721
42722 * util/grub.d/00_header.in: Remove obsolete comment referencing
42723 convert_system_path_to_grub_path().
42724 * util/update-grub.in: Likewise.
42725 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42726 (convert_system_path_to_grub_path): Add a warning message explaining
42727 that this function is deprecated. Rely on is_path_readable_by_grub()
42728 for the readability checks.
42729 (font_path): Use is_path_readable_by_grub() for the readability
42730 check rather than convert_system_path_to_grub_path().
42731
972e2f7a 427322008-05-30 Robert Millan <rmh@aybabtu.com>
42733
42734 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42735 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42736 converting it first.
42737 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42738 grub.cfg for access to font file, and afterwards call it again to set
42739 the root device.
42740
62191274 427412008-05-30 Robert Millan <rmh@aybabtu.com>
42742
42743 * commands/search.c (options): Add --fs_uuid option.
42744 (search_fs_uuid): New function.
42745 (grub_cmd_search): Fix --set argument passing.
42746 Use search_fs_uuid() when requested via --fs_uuid.
42747 (grub_search_init): Update help message.
42748 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42749 and redeclare it as an array of 16-bit words.
42750 (grub_ext2_uuid): New function.
42751 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42752 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42753 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42754 (GRUB_DEVICE_BOOT_UUID): New variables.
42755 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42756 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42757 whenever possible.
42758 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42759 just assume `root' variable has the right value.
42760 * util/grub.d/10_linux.in: Likewise.
42761 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42762 via PRINT_FS_UUID.
42763 (main): Recognise `-t fs_uuid' argument.
42764
01b73ec8 427652008-05-30 Robert Millan <rmh@aybabtu.com>
42766
42767 * util/biosdisk.c (map): Redefine structure to hold information
42768 about GRUB drive name.
fe6b695a 42769 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42770 drive names.
42771 (call_hook): Remove.
42772 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42773 member. Assume drive has partitions.
42774 (grub_util_biosdisk_open): Access device names via `.device' struct
42775 member.
42776 (open_device): Likewise.
42777 (find_drive): Likewise.
42778 (read_device_map): Adjust map[] usage to match the new struct
42779 definition. Don't check for duplicates (still possible, but not cheap
42780 anymore).
42781 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42782 (make_device_name): Remove assumption of BIOS-like drive names.
42783
22f16596 427842008-05-30 Pavel Roskin <proski@gnu.org>
42785
42786 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42787 compiling execute.c doesn't need grub_script.tab.h anymore.
42788 (normal/command.c_DEPENDENCIES): Likewise.
42789 (normal/function.c_DEPENDENCIES): Likewise.
42790 * conf/i386-ieee1275.rmk: Likewise.
42791 * conf/i386-linuxbios.rmk: Likewise.
42792 * conf/i386-pc.rmk: Likewise.
42793 * conf/powerpc-ieee1275.rmk: Likewise.
42794 * conf/sparc64-ieee1275.rmk: Likewise.
42795
528ad8f2 427962008-05-29 Pavel Roskin <proski@gnu.org>
42797
d1dff95d 42798 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42799 when scanning metadata for volume group name.
42800
528ad8f2 42801 * include/grub/script.h: Don't include grub_script.tab.h. It's
42802 a generated file, which may only be included from the files with
42803 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42804 use union YYSTYPE, as the later allows forward declaration.
42805 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42806
47248e08 428072008-05-29 Robert Millan <rmh@aybabtu.com>
42808
42809 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42810 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42811 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42812 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42813 scan codes.
42814
ee632529 428152008-05-29 Robert Millan <rmh@aybabtu.com>
42816
42817 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42818 control key combinations.
42819
eee96e08 428202008-05-29 Robert Millan <rmh@aybabtu.com>
42821
42822 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42823 * util/ieee1275/grub-install.in: ... to here.
42824 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42825 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42826 (grub_install_SOURCES): Likewise.
42827
da9a6a94 428282008-05-29 Robert Millan <rmh@aybabtu.com>
42829
42830 * fs/affs.c: Update copyright year.
42831 * fs/ext2.c: Likewise.
42832 * fs/fshelp.c: Likewise.
42833 * fs/hfsplus.c: Likewise.
42834 * fs/ntfs.c: Likewise.
42835 * fs/xfs.c: Likewise.
42836 * include/grub/fshelp.h: Likewise.
42837 * util/grub-mkdevicemap.c: Likewise.
42838
12e65f3a 428392008-05-28 Robert Millan <rmh@aybabtu.com>
42840
42841 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42842 might need to be fatfs to support some firmware implementations
42843 (e.g. OFW or EFI).
42844
23023641 428452008-05-28 Robert Millan <rmh@aybabtu.com>
42846
42847 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42848 devices.
42849 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42850 (make_device_map): Likewise.
42851
887d2619 428522008-05-20 Bean <bean123ch@gmail.com>
42853
42854 * fs/fshelp.c (grub_fshelp_map_block): New function.
42855 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42856 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42857
42858 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42859 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42860 (grub_fshelp_journal): New structure.
42861 (grub_fshelp_map_block): New function prototype.
42862 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42863 (grub_fshelp_map_block): Likewise.
42864
42865 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42866 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42867 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42868 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42869 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42870 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42871 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42872 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42873 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42874 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42875 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42876 (grub_ext2_sblock): New members for journal support.
42877 (grub_ext3_journal_header): New structure.
42878 (grub_ext3_journal_revoke_header): Likewise.
42879 (grub_ext3_journal_block_tag): Likewise.
42880 (grub_ext3_journal_sblock): Likewise.
42881 (grub_fshelp_node): New members logfile and journal.
42882 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42883 grub_fshelp_map_block to get real block number.
42884 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42885 number.
42886 (grub_ext2_read_inode): Likewise.
42887 (grub_ext3_get_journal): New function.
42888 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42889 (grub_ext2_close): Release memory used by journal.
42890
42891 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42892 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42893 (grub_reiserfs_transaction_header): Renamed to
42894 grub_reiserfs_description_block, replace field data with real_blocks.
42895 (grub_reiserfs_commit_block): New structure.
42896 (grub_reiserfs_data): New member journal.
42897 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42898 number.
42899 (grub_reiserfs_read_symlink): Likewise.
42900 (grub_reiserfs_iterate_dir): Likewise.
42901 (grub_reiserfs_open): Likewise.
42902 (grub_reiserfs_read): Likewise.
42903 (grub_reiserfs_get_journal): New function.
42904 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42905 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42906 using grub_reiserfs_get_journal.
42907 (grub_reiserfs_close): Release memory used by journal.
42908
42909 * fs/affs.c (grub_affs_read_block): Change block type to
42910 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42911
42912 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42913
42914 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42915
42916 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42917
42918 * fs/udf.c (grub_udf_read_block): Change block type to
42919 grub_disk_addr_t. Use type cast to avoid warning.
42920
42921 * fs/xfs.c (grub_xfs_read_block): Likewise.
42922
b7c6bed5 429232008-05-16 Christian Franke <franke@computer.org>
42924
42925 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42926 to ensure that break with ESC will always work.
42927 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42928 Remove ESC from keyboard queue.
42929
eedf167f 429302008-05-16 Christian Franke <franke@computer.org>
42931
42932 * util/biosdisk.c: [__CYGWIN__] Add includes.
42933 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42934 (get_os_disk): Move variable declarations to OS specific
42935 parts to avoid warning.
42936 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42937 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42938 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42939 Cygwin.
42940 * util/getroot.c: [__CYGWIN__] Add includes.
42941 (strip_extra_slashes): Fix "/" case.
42942 [__CYGWIN__] (get_win32_path): New function.
42943 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42944 [__CYGWIN__] (find_root_device): Disable.
42945 [__CYGWIN__] (get_bootsec_serial): New function.
42946 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42947 [__linux__] (grub_guess_root_device): Add early returns to simplify
42948 structure.
42949 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42950 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42951 check for Linux only.
42952
a079699e 429532008-05-15 Bean <bean123ch@gmail.com>
42954
42955 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42956 keyboard hang problem in apple's intel mac.
42957
1cf4059a 429582008-05-09 Robert Millan <rmh@aybabtu.com>
42959
42960 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42961 devices.
42962 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42963 (make_device_map): Likewise.
42964 Reported by Aurelien Jarno <aurel32@debian.org>
42965
ed759390 429662008-05-07 Ian Campbell <ijc@hellion.org.uk>
42967
42968 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42969 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42970 (make_device_map): Output entries for xvd type disks.
42971
b56c4eaa 429722008-05-07 Robert Millan <rmh@aybabtu.com>
42973
42974 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42975 devices.
42976 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42977 (make_device_map): Likewise.
42978 Reported by Roland Dreier <rdreier@cisco.com>
42979
7f8866ed 429802008-05-07 Robert Millan <rmh@aybabtu.com>
42981
42982 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42983 grub_strstr() call. Correct a few mistakes in failure path handling.
42984
b0346e0f 429852008-05-06 Robert Millan <rmh@aybabtu.com>
42986
42987 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42988 Do not print a trailing slash (therefore, the root directory is an
42989 empty string).
42990 (convert_system_path_to_grub_path): Do not remove trailing slash
42991 from make_system_path_relative_to_its_root() output.
42992
42993 * util/i386/pc/grub-install.in: Add trailing slash to output from
42994 make_system_path_relative_to_its_root().
42995
6cf12cbd 429962008-05-06 Robert Millan <rmh@aybabtu.com>
42997
42998 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42999 ensures that output lines aren't intermangled with those sent to
43000 stderr (via grub_util_info()).
43001 * util/grub-probe.c (grub_refresh): Likewise.
43002 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
43003
0fbb3117 430042008-05-05 Christian Franke <franke@computer.org>
43005
43006 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
43007 Add Cygwin device names.
43008 (get_ide_disk_name) [__CYGWIN__]: Likewise.
43009 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
43010 (check_device): Return error instead of success on empty name.
43011 (make_device_map): Move label inside linux specific code to
43012 prevent compiler warning.
43013
8124cdb7 430142008-04-30 Robert Millan <rmh@aybabtu.com>
43015
43016 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
43017 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
43018 first boot option.
43019 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
43020
094c01d0 430212008-04-29 Robert Millan <rmh@aybabtu.com>
43022
43023 * docs/grub.cfg: New file (example GRUB configuration).
43024
f4b1fc02 430252008-04-26 Robert Millan <rmh@aybabtu.com>
43026
329ce2a5 43027 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
43028 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43029 and `disk/ieee1275/nand.c'.
f4b1fc02 43030
25f16ec1 430312008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 43032
25f16ec1 43033 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43034 i386-linuxbios.
43035
43036 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43037 change the buffer size to 4096 for cdrom device.
43038
43039 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43040 and nand.mod.
43041 (_linux_mod_SOURCES): New variable.
43042 (_linux_mod_CFLAGS): Likewise.
43043 (_linux_mod_LDFLAGS): Likewise.
43044 (linux_mod_SOURCES): Likewise.
43045 (linux_mod_CFLAGS): Likewise.
43046 (linux_mod_LDFLAGS): Likewise.
43047 (nand_mod_SOURCES): Likewise.
43048 (nand_mod_CFLAGS): Likewise.
43049 (nand_mod_LDFLAGS): Likewise.
43050
43051 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43052 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43053 type property. (nand device in olpc don't have this property)
43054
43055 * include/grub/disk.h (grub_disk_dev_id): New macro
43056 GRUB_DISK_DEVICE_NAND_ID.
43057
43058 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43059 function prototype.
43060 (grub_rescue_cmd_initrd): Likewise.
43061
43062 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43063 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43064 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 43065
25f16ec1 43066 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43067 GRUB_MACHINE_IEEE1275 is defined.
43068
43069 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43070 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43071
43072 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43073 on nested function heap_init.
43074 (grub_upper_mem): New variable for i386-ieee1275.
43075 (grub_get_extended_memory): New function for i386-ieee1275.
43076 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43077
43078 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43079 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43080 property.
f19dbdb7 43081
25f16ec1 43082 * loader/i386/ieee1275/linux.c: New file.
43083
43084 * loader/i386/ieee1275/linux_normal.c: New file.
43085
43086 * disk/ieee1275/nand.c: New file.
43087
e89d61e9 430882008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43089
43090 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43091 value.
43092 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43093
602566f6 430942008-04-18 Robert Millan <rmh@aybabtu.com>
43095
43096 Restructures early code path on ieee1275 to unify grub_main() as
43097 the first C function that is executed in every platform.
43098
43099 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43100 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43101 cmain().
43102 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43103 * kern/ieee1275/cmain.c (cmain): Rename to ...
43104 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43105 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43106 at the beginning.
43107
57490c2b 431082008-04-18 Robert Millan <rmh@aybabtu.com>
43109
43110 * util/update-grub.in: Fix syntax error when setting
43111 `GRUB_PRELOAD_MODULES'.
43112 Reported by Stephane Chazelas <stephane@artesyncp.com>
43113
1977517d 431142008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43115
43116 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43117 section into account, newer toolchains generate unique build ids
43118 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 43119 we want build ids to be preserved
1977517d 43120 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43121 far from other sections don't cause the raw binary images grow
43122 size
43123
bfb1f1a2 431242008-04-15 Robert Millan <rmh@aybabtu.com>
43125
43126 * disk/lvm.c: Update copyright year.
43127 * kern/misc.c: Likewise.
43128
01979850 431292008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43130
43131 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 43132 there is no memory left for physical volume name.
01979850 43133
0a1150e2 431342008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43135
43136 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43137 volume name mapping to support bigger than 9 character names properly.
43138
82ead3fe 431392008-04-13 Robert Millan <rmh@aybabtu.com>
43140
43141 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43142 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43143
e54a72f5 431442008-04-13 Christian Franke <franke@computer.org>
43145
43146 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43147 to create a floppy emulation boot CD when non emulation mode
43148 does not work.
43149 Enable Joliet CD filesystem extension.
43150
9fe86034 431512008-04-13 Robert Millan <rmh@aybabtu.com>
43152
43153 * kern/misc.c (grub_strncat): Fix off-by-one error.
43154 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43155
43156 * kern/env.c (grub_env_context_close): Clear current context, not
43157 previous one.
43158 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
43159
43160 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
43161
7ceeee39 431622008-04-13 Robert Millan <rmh@aybabtu.com>
43163
43164 Improve robustness when handling LVM.
43165
43166 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 43167 (and leave `*p' unmodified).
7ceeee39 43168 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
43169 through it.
43170 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43171 iterating through it.
43172 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43173 through it.
fe6b695a 43174 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 43175 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43176 Don't assume `vg->pvs != NULL' when iterating through it.
43177
58cd3d85 431782008-04-13 Robert Millan <rmh@aybabtu.com>
43179
43180 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43181 * genmk.rb (partmap): New variable.
43182 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43183 (#{partmap}): New target rule.
43184 * genpartmaplist.sh: New file.
43185 * Makefile.in (pkglib_DATA): Add partmap.lst.
43186 (partmap.lst): New target rule.
43187 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
43188 modules (including all partition maps), instead of preloading them.
43189
78b51059 431902007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
43191
43192 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
43193 `linux-boot-prober' (if installed) to detect other operating
43194 systems which are installed on the computer and add them to
43195 the boot menu.
43196 * conf/common.rmk: Build and install 30_os-prober.
43197
a91627b4 431982008-04-12 Robert Millan <rmh@aybabtu.com>
43199
43200 * kern/powerpc/ieee1275/init.c: Move from here ...
43201 * kern/ieee1275/init.c: ... to here. Update all users.
43202
43203 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43204 * kern/ieee1275/cmain.c: ... to here. Update all users.
43205
43206 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43207 * kern/ieee1275/openfw.c: ... to here. Update all users.
43208
43209 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43210 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43211
322562ea 432122008-04-10 Pavel Roskin <proski@gnu.org>
43213
43214 * configure.ac: Always use "_cv_" in cache variables for
43215 compatibility with Autoconf 2.62.
43216
a02a73c5 432172008-04-07 Robert Millan <rmh@aybabtu.com>
43218
43219 Revert grub/machine/init.h addition by Pavel (since it breaks on
43220 i386-ieee1275 and others):
43221 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43222 * util/powerpc/ieee1275/misc.c: Likewise.
43223
25c024b1 432242008-04-07 Robert Millan <rmh@aybabtu.com>
43225
43226 * util/grub-probe.c (probe): Improve error message.
43227
3cbd2f98 432282008-04-07 Robert Millan <rmh@aybabtu.com>
43229
43230 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43231 (this prevents the presence of a bogus entry from ruining the whole
43232 thing).
43233
87a297bf 432342008-04-06 Pavel Roskin <proski@gnu.org>
43235
36747a62 43236 * util/biosdisk.c: Include grub/util/biosdisk.h.
43237 * util/grub-fstest.c (execute_command): Make static.
43238 * util/grub-mkdevicemap.c (check_device): Likewise.
43239 * util/i386/pc/misc.c: Include grub/machine/init.h.
43240 * util/powerpc/ieee1275/misc.c: Likewise.
43241 * util/lvm.c: Include grub/util/lvm.h.
43242 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43243 grub/cache.h.
43244 * util/raid.c: Include grub/util/raid.h.
43245 (grub_util_getdiskname): Make static.
43246
87a297bf 43247 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
43248 grub_hostfs_fini(), as they are called from grub_init_all() and
43249 grub_fini_all() respectively. This fixes an infinite loop in
43250 grub-fstest due to double registration of hostfs.
43251 Reported by Christian Franke <Christian.Franke@t-online.de>
43252
f6ce7629 432532008-04-05 Pavel Roskin <proski@gnu.org>
43254
43255 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43256 all 8 functions. Otherwise, probe function 0 only.
43257
070e49e4 432582008-04-04 Pavel Roskin <proski@gnu.org>
43259
8b088a4c 43260 * commands/lspci.c (grub_lspci_iter): Print the bus number
43261 correctly.
43262
4f657021 43263 * commands/lspci.c (grub_pci_classes): Fix typos.
43264 (grub_lspci_iter): Don't print func twice. Print vendor ID
43265 before device ID, as it's normally done.
43266
070e49e4 43267 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43268 Fix signedness warnings.
43269 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43270 Likewise.
43271 * util/ieee1275/get_disk_name.c: Include config.h so that
43272 _GNU_SOURCE is defined and getline() is declared. Mark an
43273 unused argument as such. Fix a signedness warning.
43274
ba7328dc 432752008-04-02 Pavel Roskin <proski@gnu.org>
43276
26887f22 43277 * genkernsyms.sh.in: Use more robust assignments for CC and
43278 srcdir. Quote srcdir.
43279 * gensymlist.sh.in: Likewise. Assert at the compile time that
43280 the symbol table is not empty.
43281
ba7328dc 43282 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43283 * fs/cpio.c (grub_cpio_read): Likewise.
43284
0f582c6b 432852008-04-01 Pavel Roskin <proski@gnu.org>
43286
4b6e1995 43287 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43288 * disk/host.c (grub_host_open): Likewise.
43289 * disk/loopback.c (grub_loopback_open): Likewise.
43290 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43291 disk->id as in disk/host.c, not a multi-character constant.
43292
828a2768 43293 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43294 later is obsolete, potentially dangerous and sets a bad example.
43295 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43296 * util/misc.c (grub_util_get_image_size): Likewise.
43297
2bb4fb47 43298 * disk/loopback.c (options): Improve help for "--partitions".
43299
0f582c6b 43300 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43301 options to align them with the short options, e.g. "echo -e".
43302
a33224e0 433032008-03-31 Bean <bean123ch@gmail.com>
43304
43305 * video/reader/png.c (grub_png_data): New member is_16bit and
43306 image_data.
43307 (grub_png_decode_image_header): Detect 16 bit png image.
43308 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43309 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43310 (grub_video_reader_png): Release memory occupied by image_data.
43311
43312 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43313 4096 bytes.
43314 (grub_nfs_mount): Skip the test for sector per cluster.
43315
43316 * include/grub/ntfs.h (MAX_SPC): Removed.
43317
86cb4f54 433182008-03-31 Bean <bean123ch@gmail.com>
43319
43320 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43321 (grub_probe_SOURCES): Add fs/afs.c.
43322 (grub_fstest_SOURCES): Likewise.
43323 (afs_mod_SOURCES): New variable.
43324 (afs_mod_CFLAGS): Likewise.
43325 (afs_mod_LDFLAGS): Likewise.
43326
43327 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43328 (grub_emu_SOURCES): Likewise.
43329
43330 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43331
43332 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43333
43334 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43335
43336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43337
43338 * fs/afs.c: New file.
43339
17c74c21 433402008-03-30 Pavel Roskin <proski@gnu.org>
43341
4cb68e89 43342 * disk/host.c: Include grub/misc.h to fix a warning.
43343 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43344 warnings about implicit declarations.
43345
8790bb04 43346 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43347 variable.
43348 * include/grub/i386/loader.h: Change declaration of
43349 grub_linux_boot() to match what grub_loader_set() expects.
43350 * util/getroot.c (grub_guess_root_device): Return const char* to
43351 fix a warning.
43352 * util/grub-probe.c (probe): Fix a warning about uninitialized
43353 abstraction_name variable.
43354 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43355 second argument as unused to fix a warning.
43356
9a3f3296 43357 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43358 missing grub_error() call.
43359
0ecef90d 43360 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43361 2.60 and newer uses it to define datadir.
43362
0bf6d401 43363 * commands/sleep.c: Fix warning about implicit declaration.
43364 * disk/memdisk.c: Likewise.
43365 * loader/aout.c: Likewise.
43366 * loader/i386/bsd_normal.c: Likewise.
43367 * util/grub-probe.c: Likewise.
43368
7cdacf97 43369 * commands/i386/cpuid.c (has_longmode): Make static.
43370 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43371 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43372
17c74c21 43373 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43374 GDT. This is more robust, as %ds can change.
43375 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43376 calling real_to_prot().
43377 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43378
80a3e68b 433792008-03-28 Pavel Roskin <proski@gnu.org>
43380
43381 * kern/i386/pc/startup.S: Assert that uncompressed functions
43382 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43383 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43384 code, as they push parts of the code (error handlers) beyond
43385 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43386 code as correctness and size.
43387
77bcd272 433882008-03-28 Pavel Roskin <proski@gnu.org>
43389
43390 * kern/i386/pc/startup.S
43391 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43392 data block address to the real mode, keep offset minimal. This
43393 works around a bug in AWARD BIOS on old Athlon systems, which
43394 makes CD detection hang.
43395
c5dfd43b 433962008-03-26 Pavel Roskin <proski@gnu.org>
43397
43398 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43399 const.
43400 * include/grub/normal.h: Add grub_parse_color_name_pair()
43401 declaration.
43402
bf962df2 434032008-03-24 Bean <bean123ch@gmail.com>
43404
43405 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43406 (cd_count): Removed.
43407 (cd_drive): New variable.
43408 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43409 (grub_biosdisk_call_hook): Likewise.
43410 (grub_biosdisk_iterate): Change cdrom detection method.
43411 (grub_biosdisk_open): Replace cd_start with cd_drive.
43412 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43413 detect cdrom device.
43414
43415 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43416 Removed.
43417 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43418 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43419 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43420 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43421 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43422 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43423 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43424 (grub_biosdisk_cdrp): New structure.
43425 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43426
43427 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43428
43429 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43430 device.
43431
43432 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43433 New function.
43434
68e7fc7a 434352008-03-20 Robert Millan <rmh@aybabtu.com>
43436
43437 Remove 2 TiB limit in ata.mod.
43438 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43439 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43440 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43441 grub_uint64_t instead of grub_uint32_t.
43442
38ad2cf5 434432008-03-05 Bean <bean123ch@gmail.com>
43444
43445 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43446 (grub_multiboot): Set boot device.
43447
43448 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43449
2b89344e 434502008-03-02 Bean <bean123ch@gmail.com>
43451
43452 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43453 symlink_buffer.
43454
87a95d1f 434552008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43456
43457 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43458 texinfo.tex.
43459
43460 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43461 modified.
43462
43463 * docs/fdl.texi: New file.
f19dbdb7 43464
87a95d1f 43465 * docs/mdate-sh: New file. Copied from gnulib.
43466 * docs/texinfo.tex: Likewise.
43467
43468 * config.guess: Updated from gnulib.
43469 * install-sh: Likewise.
43470
7dc15d8e 434712008-02-28 Robert Millan <rmh@aybabtu.com>
43472
43473 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43474 (aout_mod_SOURCES): New variable.
43475 (aout_mod_CFLAGS): Likewise.
43476 (aout_mod_LDFLAGS): Likewise.
43477
43478 * conf/i386-ieee1275.rmk: Likewise.
43479
b00ab696 434802008-02-28 Robert Millan <rmh@aybabtu.com>
43481
43482 * util/update-grub.in: Reorganise terminal validity check. Accept
43483 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43484 Based on suggestion by Franklin PIAT.
43485
79ca2d78 434862008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43487
43488 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43489 function.
43490 * util/getroot.c (grub_util_check_block_device): New function that
43491 returns the given argument if it is a block device and returns NULL else.
43492 * util/grub-probe.c (argument_is_device): New variable.
43493 (probe): Promote device_name from a variable to an argument. Receive
43494 device_name from grub_util_check_block_device() if path is NULL and from
43495 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43496 (options): Introduce new parameter '-d, --device'.
79ca2d78 43497 (main): Add description of the new parameter to the help screen.
43498 Rename path variable to argument. Set argument_is_device if the '-d'
43499 option is given. Pass argument to probe() depending on
43500 argument_is_device.
43501
0d16e571 435022008-02-24 Bean <bean123ch@gmail.com>
43503
43504 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43505 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43506 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43507 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43508 (GRUB_ISO9660_VOLDESC_END): Likewise.
43509 (grub_iso9660_primary_voldesc): New member escape.
43510 (grub_iso9660_data): New member joliet.
43511 (grub_iso9660_convert_string): New function.
43512 (grub_iso9660_mount): Detect joliet extension.
43513 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43514 (grub_iso9660_iso9660_label): Likewise.
43515
43516 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43517 (grub_setup_SOURCES): Add fs/udf.c.
43518 (grub_fstest_SOURCES): Likewise.
43519 (udf_mod_SOURCES): New variable.
43520 (udf_mod_CFLAGS): Likewise.
43521 (udf_mod_LDFLAGS): Likewise.
43522
43523 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43524 (grub_emu_SOURCES): Likewise.
43525
43526 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43527
43528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43529
43530 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43531
43532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43533
43534 * fs/udf.c: New file.
43535
8a594a17 435362008-02-24 Robert Millan <rmh@aybabtu.com>
43537
43538 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43539 (normal/lexer.c_DEPENDENCIES): New variables.
43540 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43541 (normal/lexer.c_DEPENDENCIES): Likewise.
43542 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43543 (normal/lexer.c_DEPENDENCIES): Likewise.
43544 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43545 (normal/lexer.c_DEPENDENCIES): Likewise.
43546 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43547 (normal/lexer.c_DEPENDENCIES): Likewise.
43548 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43549 (normal/lexer.c_DEPENDENCIES): Likewise.
43550
2dc33c03 435512008-02-23 Robert Millan <rmh@aybabtu.com>
43552
43553 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43554 since they were intended to be in hex. This didn't break previously
43555 because of a bug in gpt_partition_map_iterate() (see below).
43556
43557 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43558 when checking the validity of GPT header.
43559 Remove `partno', since it always provides the same information as `i'.
43560
f6f4cfb0 435612008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43562
43563 * include/grub/efi/time.h: Fix a wrong comment.
43564
79ff665f 435652008-02-19 Pavel Roskin <proski@gnu.org>
43566
43567 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43568 message.
43569
d38e24c2 435702008-02-19 Bean <bean123ch@gmail.com>
43571
43572 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43573 (aout_mod_SOURCES): New variable.
43574 (aout_mod_CFLAGS): Likewise.
43575 (aout_mod_LDFLAGS): Likewise.
43576 (_bsd_mod_SOURCES): New variable.
43577 (_bsd_mod_CFLAGS): Likewise.
43578 (_bsd_mod_LDFLAGS): Likewise.
43579 (bsd_mod_SOURCES): New variable.
43580 (bsd_mod_CFLAGS): Likewise.
43581 (bsd_mod_LDFLAGS): Likewise.
43582
43583 * include/grub/aout.h: New file.
43584
43585 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43586
43587 * include/grub/i386/bsd.h: New file.
43588
43589 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43590 to make it public.
43591
43592 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43593 function is called, so that it's possible to change it inside the hook.
43594 (grub_elf64_load): Likewise.
43595 (grub_elf_file): Don't close the file if elf header is not found.
43596 (grub_elf_close): Close the file if grub_elf_file fails (The new
43597 grub_elf_file won't close it).
43598 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43599 (grub_elf64_size): Likewise.
43600
43601 * kern/i386/loader.S (grub_unix_real_boot): New function.
43602
43603 * loader/aout.c: New file.
43604
43605 * loader/i386/bsd.c: New file.
43606
43607 * loader/i386/bsd_normal.c: New file.
43608
43609 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43610
43611 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43612 can test other formats.
d38e24c2 43613
b93bdb0f 436142008-02-19 Robert Millan <rmh@aybabtu.com>
43615
43616 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43617 (grub_gpt_partition_type_empty): Redefine with macro from
43618 `<grub/gpt_partition.h>'.
43619 (gpt_partition_map_iterate): Adjust partition type comparison.
43620
43621 Export `entry' as partmap-specific `part.data' struct.
43622 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43623
43624 * include/grub/gpt_partition.h (grub_gpt_header)
43625 (grub_gpt_partentry): ... to here (new file).
43626
43627 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43628
43629 (grub_gpt_partition_type_bios_boot): New const variable, defined
43630 with macro from `<grub/gpt_partition.h>'.
43631
43632 (setup): Replace `first_start' with `embed_region', which keeps
43633 track of the embed region (and is partmap-agnostic).
43634
43635 Replace find_first_partition_start() with find_usable_region(),
43636 which finds a usable region for embedding using partmap-specific
43637 knowledge (supports PC/MSDOS and GPT).
43638
43639 Fix all assumptions that the embed region start at sector 1, using
43640 `embed_region.start' from now on. Similarly, use `embed_region.end'
43641 rather than `first_start' to calculate available size.
43642
43643 In grub_util_info() message, replace "into after the MBR" with an
43644 indication of the specific sector our embed region starts at.
43645
66cb40f6 436462008-02-19 Robert Millan <rmh@aybabtu.com>
43647
43648 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43649 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43650 `commands/reboot.c'.
43651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43652 (halt_mod_SOURCES): Likewise.
43653 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43654 (halt_mod_SOURCES): Likewise.
43655
b7202015 436562008-02-17 Christian Franke <franke@computer.org>
43657
43658 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43659
32b0fc49 436602008-02-17 Robert Millan <rmh@aybabtu.com>
43661
43662 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43663 set `first_start' to 0 for non-PC/MSDOS partition maps.
43664
aca63502 436652008-02-16 Robert Millan <rmh@aybabtu.com>
43666
43667 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43668 do not assume partition map is PC/MSDOS before performing checks that
43669 are specific to that layout.
43670
0de8be86 436712008-02-13 Robert Millan <rmh@aybabtu.com>
43672
43673 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43674 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43675 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43676
c3db8364 436772008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43678
43679 * configure.ac: Only a cosmetic change on the handling of
43680 -fno-stack-protector.
43681
f714229e 436822008-02-12 Alexandre Boeglin <alex@boeglin.org>
43683
c3db8364 43684 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43685 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43686 reboot.c.
f714229e 43687 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43688 (halt_mod_SOURCES): New variable.
43689 (halt_mod_CFLAGS): Likewise.
43690 (halt_mod_LDFLAGS): Likewise.
43691 (reboot_mod_SOURCES): Likewise.
43692 (reboot_mod_CFLAGS): Likewise.
43693 (reboot_mod_LDFLAGS): Likewise.
43694
c3db8364 43695 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43696 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43697 reboot.c.
f714229e 43698 (halt_mod_SOURCES): Likewise.
43699 (reboot_mod_SOURCES): Likewise.
43700
c3db8364 43701 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43702 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43703 (reboot_mod_SOURCES): Likewise.
43704
43705 * commands/i386/pc/reboot.c: merge this file ...
43706
43707 * commands/ieee1275/reboot.c: ... and this file ...
43708
43709 * commands/reboot.c: ... to this file.
c3db8364 43710 Add some precompiler directive to include the correct header for
43711 each machine.
f714229e 43712
43713 * commands/ieee1275/halt.c: move this file ...
43714
43715 * commands/halt.c: ... to here.
c3db8364 43716 Add some precompiler directive to include the correct header for
43717 each machine.
f714229e 43718
43719 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43720 (grub_halt): Likewise.
43721
43722 * kern/efi/efi.c (grub_reboot): New function.
43723 (grub_halt): Likewise.
43724
c74493e0 437252008-02-12 Robert Millan <rmh@aybabtu.com>
43726
43727 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43728 /dev (like it is done for /dev/mapper). This doesn't provide support
43729 for EVMS, but at least it is now easy to identify the problem when it
43730 arises.
43731
d0db4b04 437322008-02-11 Robert Millan <rmh@aybabtu.com>
43733
43734 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43735 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43736 comparing it with -1, not 0.
43737
bf748642 437382008-02-10 Robert Millan <rmh@aybabtu.com>
43739
43740 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43741 `disk/lvm.c'.
43742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43743 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43744
43745 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43746 `disk/lvm.c' to the end of the list.
43747 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43748 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43749
b5db202a 437502008-02-10 Robert Millan <rmh@aybabtu.com>
43751
43752 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43753 grub_print_error() instead. This will let user know why we're entering
43754 rescue mode.
43755 Based on suggestions from Sam Morris.
43756
83abee31 437572008-02-10 Alexandre Boeglin <alex@boeglin.org>
43758
43759 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43760 on remaining N args, instead of "--" arg N times.
43761
78d5a08b 437622008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43763
43764 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43765 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43766 pattern for unknown glyphs.
43767
68807e5f 437682008-02-09 Robert Millan <rmh@aybabtu.com>
43769
43770 * configure.ac: Probe for `help2man'.
43771 * Makefile.in (builddir): New variable.
43772 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43773 or otherwise add a few flags/options to it.
43774 (install-local): For every executable utility or script that is
43775 installed, invoke $(HELP2MAN) to install a manpage based on --help
43776 output.
43777
43778 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43779 that it doesn't prevent --help from working in build tree.
43780
43781 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43782 with `bug-grub@gnu.org'.
43783 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43784 * util/update-grub.in (usage): New function.
43785 Implement proper argument check, with support for --help and --version
43786 (as well as existing -y).
43787
437882008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43789
43790 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43791 avoid overwriting previous output.
43792 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43793
c1962162 437942008-02-09 Robert Millan <rmh@aybabtu.com>
43795
43796 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43797 drawing the menu.
43798
3dac2e3f 437992008-02-09 Robert Millan <rmh@aybabtu.com>
43800
43801 * commands/sleep.c: New file.
43802 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43803 (sleep_mod_SOURCES): New variable.
43804 (sleep_mod_CFLAGS): Likewise.
43805 (sleep_mod_LDFLAGS): Likewise.
43806
7a634e08 438072008-02-09 Robert Millan <rmh@aybabtu.com>
43808
43809 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43810 situations in which we can deduce the RAID size and the superblock
43811 doesn't match it.
43812
b92f0c18 438132008-02-09 Robert Millan <rmh@aybabtu.com>
43814
43815 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43816 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43817 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43818
43819 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43820 and return a grub_diskmemberlist_t composed of physical array members.
43821 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43822
43823 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43824 prototype.
43825 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43826 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43827 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43828
43829 * util/grub-probe.c (probe): Move partmap probing code from here ...
43830 (probe_partmap): ... to here.
43831 (probe): Use probe_partmap() once for the disk we're probing, and
43832 additionally, when such disk contains a memberlist() struct member,
43833 once for each disk that is contained in the structure returned by
43834 memberlist().
43835
91a4bf68 438362008-02-09 Robert Millan <rmh@aybabtu.com>
43837
43838 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43839 environment variable to 'all' in order to obtain debug output from
43840 non-util/ code.
43841 * util/i386/pc/grub-setup.c (main): Likewise.
43842
a96f9caa 438432008-02-08 Robert Millan <rmh@aybabtu.com>
43844
43845 * disk/raid.c (grub_raid_scan_device): Check for
43846 `array->device[sb.this_disk.number]' rather than for
43847 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43848 guaranteed to be accessible.
a96f9caa 43849
b37a9222 438502008-02-08 Robert Millan <rmh@aybabtu.com>
43851
43852 * disk/raid.c: Update copyright.
43853 * fs/cpio.c: Likewise.
43854 * include/grub/raid.h: Likewise.
43855 * loader/i386/pc/multiboot.c: Likewise.
43856 * util/hostfs.c: Likewise.
43857
5626aee1 438582008-02-08 Robert Millan <rmh@aybabtu.com>
43859
43860 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43861 to a grub_disk_t array.
43862 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43863 `device[x]'.
43864 (grub_raid_scan_device): Replace `device[x].name' accesses with
43865 `device[x]->name'. Simplify initialization of `array->device[x]'.
43866
554f0187 438672008-02-08 Robert Millan <rmh@aybabtu.com>
43868
43869 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43870 grub_dprintf() calls.
43871 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43872 error message.
43873
1ec8425d 438742008-02-07 Christian Franke <franke@computer.org>
43875
43876 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43877 instead of fseek and ftell to support large files.
43878 (grub_hostfs_read): Likewise.
43879
f2156fda 438802008-02-07 Robert Millan <rmh@aybabtu.com>
43881
43882 Patch from Jeroen Dekkers.
43883 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 43884 failure, since successfully reading all array members might not be
f2156fda 43885 required.
43886
9216e0e7 438872008-02-06 Robert Millan <rmh@aybabtu.com>
43888
43889 * util/grub-probe.c (probe): Simplify partmap probing (with the
43890 assumption that the first word up to the underscore equals to
43891 the module name).
43892
b0dfd29a 438932008-02-06 Christian Franke <franke@computer.org>
43894
43895 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43896 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43897 last block of a cpio or tar stream.
43898 Check for "TRAILER!!!" instead of any empty data
43899 block to detect last block of a cpio stream.
43900 (grub_cpio_dir): Fix constness of variable np.
43901 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43902 cpio or tar trailer is detected. This fixes a crash
43903 on open of a non existing file.
43904
c32865bf 439052008-02-05 Bean <bean123ch@gmail.com>
43906
43907 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43908 address of entry.
43909 (grub_multiboot_load_elf64): Likewise.
43910 (grub_multiboot): Initialize mbi structure.
43911
43912 * util/grub-fstest.c: Don't include unused header file script.h.
43913
fe6b695a 43914 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 43915 of file.
43916 (grub_fstest_SOURCES): Likewise.
43917
409480b7 439182008-02-05 Robert Millan <rmh@aybabtu.com>
43919
43920 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43921 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43922 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43923 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43924
43925 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43926 (translation_table): Replace hardcoded values with macros
43927 provided by `<grub/term.h>'.
43928
43929 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43930 (keyboard_map): Correct/add a few values, with macros provided
43931 by `<grub/term.h>'.
43932 (keyboard_map_shift): Zero values that don't differ from their
43933 `keyboard_map' equivalents.
43934 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43935 Discard the second scan code that is always sent by Caps lock.
43936 Only use `keyboard_map_shift' when it provides a non-zero value,
43937 otherwise fallback to `keyboard_map'.
43938
99fadbaa 439392008-02-04 Bean <bean123ch@gmail.com>
43940
43941 * Makefile.in (enable_grub_fstest): New variable.
43942
43943 * conf/common.rmk (grub_fstest_init.lst): New rule.
43944 (grub_fstest_init.h): Likewise.
43945 (grub_fstest_init.c): Likewise.
43946 (util/grub-fstest.c_DEPENDENCIES): New variable.
43947 (grub_fstest_SOURCES): Likewise.
43948
43949 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43950
43951 * util/grub-fstest.c: New file.
43952
bf567c50 439532008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43954
43955 Make grub-setup handle a separate root device.
f19dbdb7 43956
bf567c50 43957 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43958 so that the root device can be compared with the destination
43959 device.
43960 When embedding the core image, if the root and destination devices
43961 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43962 0xFF.
43963 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43964
9be6b98b 439652008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43966
43967 Add support for having a grub directory in a different drive. This
43968 is still only the data handling part.
f19dbdb7 43969
9be6b98b 43970 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43971 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43972 (grub_root_drive): New variable.
43973
43974 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43975 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43976 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43977 as it was.
43978
43979 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43980
43981 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43982 macro.
43983 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43984
43985 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43986 is bogus, because PXE booting does not specify any drive
43987 correctly.
43988
43989 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43990 am not sure if this is really correct.
43991
43992 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43993 is always identical to the boot drive when booting from a CD.
43994
43995 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43996 longer.
43997 (root_drive): New variable.
43998 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43999 (setup_sectors): Push %dx right after popping it, because %dh will
44000 be modified later.
44001 (copy_buffer): Restore %dx.
44002
e0ca0677 440032008-02-03 Robert Millan <rmh@aybabtu.com>
44004
44005 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
44006 use `cdboot.img' for cdrom images.
44007
3b3f6629 440082008-02-03 Robert Millan <rmh@aybabtu.com>
44009
44010 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
44011 only setup gfxterm when `font' command has succeeded.
44012
d42b3672 440132008-02-03 Robert Millan <rmh@aybabtu.com>
44014
44015 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
44016 (grub_rescue_cmd_multiboot_loader)
44017 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
44018
fa370ea6 440192008-02-03 Pavel Roskin <proski@gnu.org>
44020
e0c5dacb 44021 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 44022 %edx and %esi from stack only after grub_gate_a20() is called.
44023 grub_gate_a20() clobbers %edx.
44024
f2a76e1d 440252008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44026
44027 * configure.ac (AC_INIT): Bumped to 1.96.
44028
44029 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44030 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44031 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44032 video/readers/png.c.
44033
90fd32d1 440342008-02-03 Bean <bean123ch@gmail.com>
9be665dd 44035
44036 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44037 (cdboot_img_SOURCES): New variable.
44038 (cdboot_img_ASFLAGS): New variable.
44039 (cdboot_img_LDFLAGS): New variable.
44040
44041 * boot/i386/pc/cdboot.S: New file.
44042
44043 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44044 (cd_count): Likewise.
44045 (grub_biosdisk_get_drive): Add support for cd device.
44046 (grub_biosdisk_call_hook): Likewise.
44047 (grub_biosdisk_iterate): Likewise.
44048 (grub_biosdisk_open): Likewise.
44049 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44050 (grub_biosdisk_rw): Support reading from cd device.
44051 (GRUB_MOD_INIT): Iterate cd devices.
44052
44053 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44054 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44055 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44056
44057 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44058
4020aa53 440592008-02-02 Robert Millan <rmh@aybabtu.com>
44060
44061 * commands/read.c: New file.
44062 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44063 (read_mod_SOURCES): New variable.
44064 (read_mod_CFLAGS): Likewise.
44065 (read_mod_LDFLAGS): Likewise.
44066
e03a1132 440672008-02-02 Robert Millan <rmh@aybabtu.com>
44068
44069 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44070 determining whether menu has to be displayed.
44071
58c69220 440722008-02-02 Marco Gerards <marco@gnu.org>
44073
44074 * bus/pci.c: New file.
44075
44076 * include/grub/pci.h: Likewise.
44077
44078 * include/grub/i386/pc/pci.h: Likewise.
44079
44080 * commands/lspci.c: Likewise.
44081
44082 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44083 `lspci.mod'.
44084 (pci_mod_SOURCES): New variable.
44085 (pci_mod_CFLAGS): Likewise.
44086 (pci_mod_LDFLAGS): Likewise.
44087 (lspci_mod_SOURCES): Likewise.
44088 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 44089 (lspci_mod_LDFLAGS): Likewise.
58c69220 44090
c004e1b4 440912008-02-02 Bean <bean123ch@gmail.com>
44092
44093 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44094 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44095
44096 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44097 (grub_xfs_btree_node): New structure.
44098 (grub_xfs_btree_root): New structure.
44099 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44100 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44101 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44102 (GRUB_XFS_EXTENT_SIZE): Likewise.
44103 (grub_xfs_read_block): Support btree format type.
44104 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44105 Use directory block as basic unit.
44106
44107 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44108
44109 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44110 __attribute__ ((__regparm__ (1))).
44111
f95562bf 441122008-02-01 Robert Millan <rmh@aybabtu.com>
44113
44114 Correct a mistake in previous commit.
44115
44116 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44117 top.
44118 (normal/command.c_DEPENDENCIES): New variable.
44119
7d31f41f 441202008-02-01 Robert Millan <rmh@aybabtu.com>
44121
44122 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44123 top.
44124 (normal/command.c_DEPENDENCIES): New variable.
44125 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44126 * conf/i386-ieee1275.rmk: Likewise.
44127 * conf/i386-linuxbios.rmk: Likewise.
44128 * conf/i386-pc.rmk: Likewise.
44129 * conf/sparc64-ieee1275.rmk: Likewise.
44130 * conf/powerpc-ieee1275.rmk: Likewise.
44131 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44132
44133 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44134
60b6be74 441352008-02-01 Robert Millan <rmh@aybabtu.com>
44136
44137 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44138 call at beginning of function.
44139
078522ab 441402008-01-31 Pavel Roskin <proski@gnu.org>
44141
44142 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 44143 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44144 (grub_mkrescue_SOURCES): Likewise.
078522ab 44145 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44146
ccaa8a5f 441472008-01-30 Robert Millan <rmh@aybabtu.com>
44148
44149 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44150 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44151 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44152 (grub_probe_SOURCES): ... to here.
44153
44154 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44155 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44156 * conf/i386-ieee1275.rmk: Likewise.
44157 * conf/i386-linuxbios.rmk: Likewise.
44158 * conf/powerpc-ieee1275.rmk: Likewise.
44159
ae5a9cd7 441602008-01-30 Tristan Gingold <gingold@free.fr>
44161
44162 * kern/rescue.c: Silently accept empty lines.
44163
70bc2ef2 441642008-01-29 Bean <bean123ch@gmail.com>
44165
44166 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
44167 (real_code_2): Code cleanup and change comment style.
44168 (move_memory): Avoid using 32-bit address mode.
44169
6a4d50ea 441702008-01-29 Bean <bean123ch@gmail.com>
44171
44172 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44173 (png_mod_SOURCES): New variable.
44174 (png_mod_CFLAGS): Likewise.
44175 (png_mod_LDFLAGS): Likewise.
44176
44177 * video/readers/png.c: New file.
44178
11cc30ac 441792008-01-28 Robert Millan <rmh@aybabtu.com>
44180
44181 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44182 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44183 `ifndef GRUB_MOD_GAP' hack.
44184 * util/elf/grub-mkimage.c (add_segments): Likewise.
44185
3abc589f 441862008-01-27 Robert Millan <rmh@aybabtu.com>
44187
44188 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
44189 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 44190 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 44191
e1907778 441922008-01-27 Robert Millan <rmh@aybabtu.com>
44193
44194 Get grub-emu to build again (including parallel builds).
44195
44196 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
44197 Split into ...
44198 (util/grub-emu.c_DEPENDENCIES): ... this, ...
44199 (normal/execute.c_DEPENDENCIES): ... this, ...
44200 (grub-emu_DEPENDENCIES): ... and this.
44201
44202 * conf/i386-efi.rmk: Likewise.
44203 * conf/i386-linuxbios.rmk: Likewise.
44204 * conf/i386-ieee1275.rmk: Likewise.
44205 * conf/powerpc-ieee1275.rmk: Likewise.
44206 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44207
2216b101 442082008-01-27 Robert Millan <rmh@aybabtu.com>
44209
44210 * NEWS: Add a few items.
44211
f75172d9 442122008-01-27 Robert Millan <rmh@aybabtu.com>
44213
44214 Fix parallel builds with grub-emu. Based on earlier commit for
44215 grub-probe and grub-setup.
44216
44217 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44218 (util/grub-emu.c_DEPENDENCIES): ... this.
44219 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44220 (util/grub-emu.c_DEPENDENCIES): ... this.
44221 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44222 (util/grub-emu.c_DEPENDENCIES): ... this.
44223 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44224 (util/grub-emu.c_DEPENDENCIES): ... this.
44225 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44226 (util/grub-emu.c_DEPENDENCIES): ... this.
44227
3f51de77 442282008-01-27 Pavel Roskin <proski@gnu.org>
44229
44230 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44231 to create a gap between _end and the modules added to the image
44232 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44233 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44234 * util/elf/grub-mkimage.c (add_segments): Likewise.
44235
2033f53e 442362008-01-26 Pavel Roskin <proski@gnu.org>
44237
44238 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44239 just return an error.
44240
22da1f6f 442412008-01-26 Bean <bean123ch@gmail.com>
44242
44243 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44244 (grub_reiserfs_get_item): Save offset of the next item.
44245 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44246
2a9525e6 442472008-01-25 Robert Millan <rmh@aybabtu.com>
44248
44249 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44250 make all filesystem sources appear together (possibly fixing omissions
44251 while at it).
44252 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44253 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44254 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44256
44257 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44258 add `kern/file.c'.
44259 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44260 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44261 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44262 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44263
44264 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44265 (probe): Add a sanity check to make sure of our ability to read
44266 requested files when probing for filesystem type.
44267
44268 * genmk.rb: Update copyright year (2007).
44269
44270 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44271 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44272 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44273 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44274 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44275 : Remove function prototypes.
44276
b95f71b5 442772008-01-25 Robert Millan <rmh@aybabtu.com>
44278
44279 Revert my previous commits (based on wrong assumption of how grub_errno
44280 works).
44281
fe6b695a 44282 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 44283 * kern/file.c (grub_file_open): Likewise.
44284
d08bbb49 442852008-01-24 Pavel Roskin <proski@gnu.org>
44286
44287 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44288 that hang if GRUB tries to setup colors.
44289 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44290 colors for firmwares that don't support it.
44291 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44292 Recognize Open Hack'Ware, set flags to work around its
44293 limitations.
44294
605e36ed 442952008-01-24 Robert Millan <rmh@aybabtu.com>
44296
44297 * kern/file.c (grub_file_open): Do not account previous failures of
44298 unrelated functions when grub_errno is checked for.
44299 Reported by Oleg Strikov.
44300
bac332a1 443012008-01-24 Bean <bean123ch@gmail.com>
44302
44303 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44304 (grub_ufs_sblock): New member volume name.
44305 (grub_ufs_find_file): Fix string copy bug.
44306 (grub_ufs_label): Implement this function properly.
44307
44308 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44309 (grub_hfs_iterate_records): Use the correct file number for extents
44310 and catalog file. Fix problem in next index calculation.
44311 (grub_hfs_find_node): Replace recursive function call with loop.
44312 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44313
15c80c09 443142008-01-23 Robert Millan <rmh@aybabtu.com>
44315
44316 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44317 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44318 (grub_multiboot2_real_boot): New function prototype.
44319
44320 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44321 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44322
44323 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44324 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44325
305338fd 443262008-01-23 Robert Millan <rmh@aybabtu.com>
44327
44328 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44329 #ifdef'ed out grub_printf().
44330
3ea52685 443312008-01-23 Robert Millan <rmh@aybabtu.com>
44332
44333 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44334 grub_dprintf calls, since they make "debug=all" mode unusable.
44335 (grub_console_checkkey): Likewise.
44336
5882ae4b 443372008-01-23 Robert Millan <rmh@aybabtu.com>
44338
44339 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44340 `term/i386/pc/at_keyboard.c'.
44341 (pkglib_MODULES): Add `serial.mod'.
44342 (serial_mod_SOURCES): New variable.
44343 (serial_mod_CFLAGS): Likewise.
44344 (serial_mod_LDFLAGS): Likewise.
44345
44346 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44347 `<grub/powerpc/ieee1275/console.h>'.
44348 (grub_keyboard_controller_init): New function prototype.
44349 (grub_console_checkkey): Likewise.
44350 (grub_console_getkey): Likewise.
44351
44352 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44353 keyboard on i386.
44354
44355 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44356 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44357
06ab5303 443582008-01-23 Robert Millan <rmh@aybabtu.com>
44359
44360 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44361 present, "(memdisk)/boot/grub" becomes the default prefix.
44362
44363 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44364 a memdisk tarball with all the modules. Add --overlay=DIR option that
44365 allows users to overlay additional files into the image.
44366
dbb475a4 443672008-01-23 Robert Millan <rmh@aybabtu.com>
44368
44369 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44370 and `machine/memory.h'.
44371 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44372 (_multiboot_mod_SOURCES): New variable.
44373 (_multiboot_mod_CFLAGS): Likewise.
44374 (_multiboot_mod_LDFLAGS): Likewise.
44375 (multiboot_mod_SOURCES): Likewise.
44376 (multiboot_mod_CFLAGS): Likewise.
44377 (multiboot_mod_LDFLAGS): Likewise.
44378
44379 * include/grub/i386/ieee1275/loader.h: New file.
44380
44381 * include/grub/i386/ieee1275/machine.h: Likewise.
44382
44383 * include/grub/i386/ieee1275/memory.h: Likewise.
44384
44385 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44386 variable declaration.
44387 (grub_os_area_size): Likewise.
44388
44389 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44390 (grub_lower_mem, grub_upper_mem): New variables.
44391 (grub_stop_floppy): New function (just to make
44392 grub_multiboot2_real_boot() happy).
44393
44394 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44395 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44396 (grub_stop): New function.
44397 Include `"../realmode.S"' and `"../loader.S"'.
44398
44399 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44400 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44401
44402 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44403 rely on grub_multiboot2_real_boot() for final boot.
44404
25638629 444052008-01-22 Robert Millan <rmh@aybabtu.com>
44406
44407 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44408 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44409 device that doesn't look like an SD card.
44410 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44411 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44412 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44413 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44414 found.
44415
9dad816d 444162008-01-22 Robert Millan <rmh@aybabtu.com>
44417
44418 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44419 avoid claiming over our own code.
44420
34842f2d 444212008-01-22 Bean <bean123ch@gmail.com>
44422
44423 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44424 (jpeg_mod_SOURCES): New variable.
44425 (jpeg_mod_CFLAGS): Likewise.
44426 (jpeg_mod_LDFLAGS): Likewise.
44427
44428 * video/readers/jpeg.c : New file.
44429
44023a28 444302008-01-22 Bean <bean123ch@gmail.com>
44431
44432 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44433 there are no more items.
44434
bc2d8ac6 444352008-01-21 Robert Millan <rmh@aybabtu.com>
44436
44437 * kern/mm.c (grub_mm_init_region): Improve debug message.
44438
261bd4bc 444392008-01-21 Robert Millan <rmh@aybabtu.com>
44440
44441 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44442 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44443 address.
44444 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44445 a C macro.
44446 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44447 Indicates start of upper memory.
44448 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44449 (generate_image): Abort when image size is big enough to corrupt
44450 upper memory.
44451
44452 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44453 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44454 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44455 instead of hardcoding 0xA0000.
44456 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44457 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44458 instead of hardcoding 0xA0000.
44459
f970b55e 444602008-01-21 Robert Millan <rmh@aybabtu.com>
44461
44462 * disk/memdisk.c (memdisk_size): New variable.
44463 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44464 `memdisk_size'.
44465 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44466 image to dynamic memory.
44467 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44468 `memdisk_size'. Free memdisk block.
44469
1a8b0526 444702008-01-21 Robert Millan <rmh@aybabtu.com>
44471
44472 Fix detection of very small filesystems (like tar).
44473
44474 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44475 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44476 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44477 a problem with this disk).
44478
6e9b4aab 444792008-01-21 Robert Millan <rmh@aybabtu.com>
44480
44481 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44482 on grub_biosdisk_rw_standard() error.
44483
0d8837b2 444842008-01-21 Robert Millan <rmh@aybabtu.com>
44485
44486 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44487 recent changes.
44488 * kern/elf.c: Likewise.
44489 * kern/ieee1275/ieee1275.c: Likewise.
44490 * kern/powerpc/ieee1275/openfw.c: Likewise.
44491 * term/ieee1275/ofconsole.c: Likewise.
44492
ffd36e34 444932008-01-21 Robert Millan <rmh@aybabtu.com>
44494
44495 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44496
3f0093d0 44497 * include/grub/kernel.h (grub_arch_memdisk_addr)
44498 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44499
3f0093d0 44500 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44501 (grub_arch_memdisk_size): ... to here.
ffd36e34 44502
6c391b21 445032008-01-21 Robert Millan <rmh@aybabtu.com>
44504
44505 Mostly based on bugfix from Bean.
44506
44507 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44508 attribute with hook() parameter.
44509 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44510 declaration.
44511 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44512 attribute with hook() parameter.
44513 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44514 declaration.
44515
55a581dc 445162008-01-21 Robert Millan <rmh@aybabtu.com>
44517
44518 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44519 (pkglib_MODULES): Add `memdisk.mod'.
44520 (memdisk_mod_SOURCES): New variable.
44521 (memdisk_mod_CFLAGS): Likewise.
44522 (memdisk_mod_LDFLAGS): Likewise.
44523
44524 * disk/memdisk.c: New file.
44525
44526 * include/grub/disk.h (grub_disk_dev_id): Add
44527 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44528
44529 * include/grub/i386/pc/kernel.h
44530 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44531 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44532 (grub_kernel_image_size): New variable declaration.
44533 (grub_total_module_size): Likewise.
44534 (grub_memdisk_image_size): Likewise.
44535
44536 * include/grub/i386/pc/memory.h
44537 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44538
44539 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44540 (grub_arch_memdisk_addr): New variable declaration.
44541 (grub_arch_memdisk_size): Likewise.
44542
44543 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44544 (grub_arch_memdisk_size): Likewise.
44545
44546 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44547 (codestart): Replace hardcoded `0x100000' with
44548 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44549
44550 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44551 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44552 not NULL, append the contents of the file it refers to, at the end of
44553 the compressed kernel image. Initialize `grub_memdisk_image_size'
44554 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44555 (options): Add "memdisk"|'m' option.
44556 (main): Parse --memdisk|-m option, and pass user-provided path as
44557 parameter to generate_image().
44558
3d7f54c9 445592008-01-20 Robert Millan <rmh@aybabtu.com>
44560
44561 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44562 grub_dprintf() calls from here ...
44563 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44564
0bf74728 445652008-01-20 Robert Millan <rmh@aybabtu.com>
44566
44567 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44568
44569 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44570 declaration.
44571 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44572 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44573 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44574 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44575 property).
44576 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44577 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44578
33bf70a7 445792008-01-19 Robert Millan <rmh@aybabtu.com>
44580
fe6b695a 44581 Get rid of confusing function (superseded by
33bf70a7 44582 `grub_ieee1275_get_integer_property')
44583 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44584 prototype.
44585 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44586 function.
44587 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44588 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44589 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44590
e2da7d26 445912008-01-19 Robert Millan <rmh@aybabtu.com>
44592
44593 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44594 command after "shut-down", since implementations differ on which
44595 the command for halt is.
44596
59f1fd8d 445972008-01-19 Robert Millan <rmh@aybabtu.com>
44598
44599 * include/grub/i386/linuxbios/console.h: Add header protection.
44600 (grub_keyboard_controller_init): New function prototype.
44601 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44602 (KEYBOARD_COMMAND_READ): Likewise.
44603 (KEYBOARD_COMMAND_WRITE): Likewise.
44604 (KEYBOARD_SCANCODE_SET1): Likewise.
44605 (grub_keyboard_controller_write): New function.
44606 (grub_keyboard_controller_read): Likewise.
44607 (grub_keyboard_controller_init): Likewise.
44608
44609 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44610 (grub_console_init): On coreboot/LinuxBIOS, call
44611 grub_keyboard_controller_init().
44612
5f5a7c15 446132008-01-19 Robert Millan <rmh@aybabtu.com>
44614
44615 PowerPC changes provided by Pavel Roskin.
44616
44617 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44618 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44619 don't rely on cmain() doing it.
44620 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44621 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44622
1210e168 446232008-01-16 Robert Millan <rmh@aybabtu.com>
44624
44625 * include/grub/i386/linuxbios/memory.h
44626 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44627 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44628 receive `table_header' as argument. Instead, probe for it in the
44629 known memory ranges where it can be present.
44630 (grub_available_iterate): Do not pass a fixed `table_header' address
44631 to grub_linuxbios_table_iterate().
44632
3d04eab8 446332008-01-15 Robert Millan <rmh@aybabtu.com>
44634
44635 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44636 * conf/i386-ieee1275.rmk: New file.
44637 * include/grub/i386/ieee1275/console.h: Likewise.
44638 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44639 * include/grub/i386/ieee1275/kernel.h: Likewise.
44640 * include/grub/i386/ieee1275/time.h: Likewise.
44641 * kern/i386/ieee1275/init.c: Likewise.
44642 * kern/i386/ieee1275/startup.S: Likewise.
44643
d1bc1b73 446442008-01-15 Robert Millan <rmh@aybabtu.com>
44645
44646 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44647 when pointers are 32-bit (but still do set it to one when they are
44648 64-bit).
44649
66a65807 446502008-01-15 Robert Millan <rmh@aybabtu.com>
44651
44652 * include/grub/ieee1275/ieee1275.h
44653 (grub_ieee1275_get_integer_property): New function prototype.
44654
44655 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44656 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44657 grub_ieee1275_get_property() to handle endianness.
66a65807 44658
44659 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44660 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44661 where appropriate.
66a65807 44662 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44663 (grub_map): Likewise.
44664 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44665
a83ccafd 446662008-01-15 Bean <bean123ch@gmail.com>
44667
44668 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44669 (grub_script_execute_cmdline): Reset grub_errno.
44670
44671 * normal/main.c (read_config_file): Reset grub_errno.
44672
44673 * normal/parse.y (script_init): New.
44674 (script): Move function and menuentry here.
44675 (delimiter): New.
44676 (command): Add delimiter at the end of command.
44677 (commands): Adjust to match the new command.
44678 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44679 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44680 (if): Use the new commands.
44681
44682 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44683
df6ecfc6 446842008-01-15 Robert Millan <rmh@aybabtu.com>
44685
44686 * normal/menu.c (run_menu): Move timeout message from here ...
44687 (print_timeout): ... to here.
44688 (run_menu): Use print_timeout() once during initial draw to print
44689 the whole message, and again in every clock tick to update only
44690 the number of seconds.
44691
87ae25eb 446922008-01-15 Robert Millan <rmh@aybabtu.com>
44693
44694 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44695 actual size of `available' from grub_ieee1275_get_property(), and
44696 restrict parsing to that bound.
44697
47bf09a4 446982008-01-15 Christian Franke <franke@computer.org>
44699
44700 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44701 (argp_program_version): Remove variable.
44702 (argp_program_bug_address): Likewise.
44703 (options): Convert from struct argp_option to struct option.
44704 (struct arguments): Remove.
44705 (parse_opt): Remove.
44706 (usage): New function.
44707 (main): Replace struct args members by simple variables.
44708 Replace argp_parse() by getopt_long().
44709 Add switch to evaluate options.
44710 Add missing "(...)" around root_dev in prefix string.
44711
c86f1469 447122008-01-14 Robert Millan <rmh@aybabtu.com>
44713
44714 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44715 for grub_ieee1275_exit(), in order to improve portability.
44716
e622c559 447172008-01-14 Robert Millan <rmh@aybabtu.com>
44718
44719 * util/grub.d/10_linux.in (prefix): Define.
44720 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44721
44cb1ec8 447222008-01-13 Pavel Roskin <proski@gnu.org>
44723
44724 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44725 grub_errno if no errors have been detected.
44726
1eb8c802 447272008-01-12 Robert Millan <rmh@aybabtu.com>
44728
44729 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44730 (grub_util_get_dev_abstraction): New function prototype.
44731
44732 * util/getroot.c: Include `<grub/util/getroot.h>'
44733 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44734 (grub_util_get_dev_abstraction): ... here (new function).
44735
44736 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44737 `PRINT_ABSTRACTION'.
44738 (probe): Probe for abstraction type when requested.
44739 (main): Understand `--target=abstraction'.
44740
44741 * util/i386/efi/grub-install.in: Add abstraction module to core
44742 image when it is found to be necessary.
44743 * util/i386/pc/grub-install.in: Likewise.
44744 * util/powerpc/ieee1275/grub-install.in: Likewise.
44745
44746 * util/update-grub_lib.in (font_path): Return system path without
44747 converting to GRUB path.
44748 * util/update-grub.in: Convert system path returned by font_path()
44749 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44750 abstraction module is needed for loading fonts (if any). Export
44751 that as `GRUB_PRELOAD_MODULES'.
44752 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44753 insmod commands).
44754
52bd3de9 447552008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44756
44757 Remove some unused code from reiserfs.
f19dbdb7 44758
52bd3de9 44759 * fs/reiserfs.c (struct grub_reiserfs_key)
44760 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44761 (struct grub_reiserfs_node_body): Removed.
44762 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44763 Likewise.
44764 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44765 Likewise.
44766 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44767 Likewise.
44768 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44769 Likewise.
44770 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44771 Likewise.
44772 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44773 Likewise.
44774 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44775 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44776 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44777
2f80039d 447782008-01-10 Robert Millan <rmh@aybabtu.com>
44779
44780 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44781 Determines if a file is garbage left by packaging systems, etc.
44782 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44783 for processing /etc/grub.d scripts.
44784 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44785 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44786 as a condition for processing Linux images.
44787
87888032 447882008-01-10 Pavel Roskin <proski@gnu.org>
44789
44790 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44791 to compile reiserfs.c on PowerPC.
44792
7e54fced 447932008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44794
44795 * kern/device.c (grub_device_iterate): Do not abort device iteration
44796 when one of the devices cannot be opened.
44797 * kern/disk.c (grub_disk_open): Do not account previous failures of
44798 unrelated functions when grub_errno is checked for.
44799
5aa541e6 448002008-01-08 Robert Millan <rmh@aybabtu.com>
44801
44802 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44803 `! grub_linux_is_bzimage', change order of address comparison to make
44804 it more intuitive, and improve "too big zImage" error message.
44805
7076340d 448062008-01-08 Robert Millan <rmh@aybabtu.com>
44807
44808 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44809 `$(update-grub_DATA)'.
44810 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44811 targets.
44812
9ca70333 448132008-01-07 Robert Millan <rmh@aybabtu.com>
44814
44815 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44816 which instruction is modified by grub-setup during installation
44817 (since it wasn't obvious by only looking at this file).
44818
38ccf575 448192008-01-07 Robert Millan <rmh@aybabtu.com>
44820
44821 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44822 listing actual TODO items.
44823
f5db4291 448242008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44825
868967cf 44826 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44827 correctly.
44828 (grub_reiserfs_get_key_offset): Likewise.
44829 (grub_reiserfs_set_key_offset): Likewise.
44830 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44831 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44832
44833 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44834 better to remove the bitfield version completely.
f19dbdb7 44835
868967cf 448362008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44837
f5db4291 44838 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44839 allocated from the heap, due to the fshelp implementation.
44840 (grub_reiserfs_dir): Free NODE, due to the same reason.
44841
492e6d9d 448422008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44843
44844 Mostly from Vincent Pelletier:
f19dbdb7 44845
492e6d9d 44846 * fs/reiserfs.c: New file.
f19dbdb7 44847
492e6d9d 44848 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44849 (reiserfs_mod_SOURCES): New variable.
44850 (reiserfs_mod_CFLAGS): Likewise.
44851 (reiserfs_mod_LDFLAGS): Likewise.
44852
44853 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44854 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44855 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44856 normal/color.c.
44857
9ce3e7c1 448582008-01-06 Robert Millan <rmh@aybabtu.com>
44859
44860 * normal/color.c: Remove `<grub/env.h>'.
44861
f3b58148 448622008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44863
44864 * include/grub/normal.h: Include <grub/env.h>.
44865
7ac3bcfa 448662008-01-05 Robert Millan <rmh@aybabtu.com>
44867
44868 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44869 usage example with `(hd0,1)'.
fb358190 44870 Reported by Samuel Thibault.
7ac3bcfa 44871
c8ee99d7 448722008-01-05 Robert Millan <rmh@aybabtu.com>
44873
44874 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44875 (grub_linux_boot_zimage): Rename to ...
44876 (grub_linux_boot): ... this.
44877 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44878 (grub_linux_boot_zimage): Conditionalize zImage copy.
44879
44880 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44881 (grub_linux_boot_bzimage): Remove prototype.
44882 (grub_linux_boot_zimage): Rename to ...
44883 (grub_linux_boot): ... this.
44884
44885 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44886 (grub_linux_boot): Remove function.
44887
0ece25b1 448882008-01-05 Robert Millan <rmh@aybabtu.com>
44889
44890 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44891 (grub_env_write_color_highlight): Likewise.
44892 (grub_wait_after_message): Likewise.
44893
44894 * normal/color.c: New file.
44895
44896 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44897 (normal_mod_DEPENDENCIES): Likewise.
44898
44899 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44900 (normal_mod_DEPENDENCIES): Likewise.
44901
44902 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44903 (normal_mod_DEPENDENCIES): Likewise.
44904
44905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44906 (normal_mod_DEPENDENCIES): Likewise.
44907
44908 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44909 for waiting after a message is printed.
44910 * normal/main.c (read_config_file): Likewise.
44911 (grub_normal_init): Register grub_env_write_color_normal() and
44912 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44913 `color_highlight' variables as global.
44914
44915 * normal/menu.c (grub_wait_after_message): New function.
44916 (grub_color_menu_normal): New variable. Replaces ...
44917 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44918 (grub_color_menu_highlight): New variable. Replaces ...
44919 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44920 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44921 `GRUB_TERM_COLOR_STANDARD'.
44922 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44923 `normal_code' and `highlight_code' to `old_color_normal' and
44924 `old_color_highlight', respectively.
44925 (grub_menu_init_page): Update colors when drawing the menu, based on
44926 `menu_color_normal' and `menu_color_highlight' variables.
44927 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44928 a message is printed.
44929
182dd4e5 449302008-01-05 Robert Millan <rmh@aybabtu.com>
44931
44932 * kern/env.c (grub_env_context_open): Propagate hooks for global
44933 variables to new context.
44934
44935 * kern/main.c (grub_set_root_dev): Export `root' variable.
44936
ddf8f6ad 449372008-01-05 Robert Millan <rmh@aybabtu.com>
44938
44939 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44940 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44941 them.
44942
d8b43d9b 449432008-01-05 Robert Millan <rmh@aybabtu.com>
44944
44945 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44946
2bff2de3 449472008-01-04 Christian Franke <franke@computer.org>
44948
44949 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44950 of eisa_mmap.
44951
97eab917 449522008-01-03 Pavel Roskin <proski@gnu.org>
44953
44954 * kern/i386/linuxbios/init.c: Put "void" to all function
44955 declarations with no arguments.
44956 * kern/powerpc/ieee1275/init.c: Likewise.
44957 * term/i386/pc/at_keyboard.c: Likewise.
44958 * term/i386/pc/vga_text.c: Likewise.
44959 * util/grub-mkdevicemap.c: Likewise.
44960
b9416d00 449612008-01-02 Robert Millan <rmh@aybabtu.com>
44962
44963 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44964 message when loaded image is out of bounds.
44965 (grub_multiboot_load_elf64): Likewise.
44966
92695df9 449672008-01-02 Pavel Roskin <proski@gnu.org>
44968
44969 * util/grub.d/10_linux.in: Try version without ".old" when
44970 looking for initrd. It's better to use initrd from the newer
44971 kernel of the same version than no initrd at all.
44972
d98d9cad 449732008-01-01 Robert Millan <rmh@aybabtu.com>
44974
44975 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44976
dbfdce36 449772008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44978
f19dbdb7 44979 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44980 grub_video_get_active_render_target.
44981 (grub_video_adapter): Added unmap_color and get_active_render_target.
44982
f19dbdb7 44983 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44984 grub_video_get_active_render_target.
44985 (grub_video_get_info): Changed method to accept NULL pointer as an
44986 argument to allow detection of active video adapter.
44987
44988 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44989 grub_video_vbe_unmap_color_int.
44990 Added grub_video_vbe_unmap_color and
44991 grub_video_vbe_get_active_render_target.
44992 (grub_video_vbe_adapter): Added unmap_color and
44993 get_active_render_target.
44994
f19dbdb7 44995 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44996 with grub_video_vbe_unmap_color_int.
44997
44998 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44999 (DEFAULT_NORMAL_COLOR): Likewise.
45000 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
45001 (DEFAULT_FG_COLOR): Removed.
45002 (DEFAULT_BG_COLOR): Likewise.
45003 (DEFAULT_CURSOR_COLOR): Changed value.
45004 (grub_virtual_screen): Added standard_color_setting,
45005 normal_color_setting, highlight_color_setting and term_color.
45006 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
45007 (bitmap_width): Added.
45008 (bitmap_height): Likewise.
45009 (bitmap): Likewise.
45010 (set_term_color): Likewise.
45011 (grub_virtual_screen_setup): Changed to use new terminal coloring
45012 settings.
45013 (grub_gfxterm_init): Added init for bitmap.
45014 (grub_gfxterm_fini): Added destroy for bitmap.
45015 (redraw_screen_rect): Updated to use background bitmap and new
45016 terminal coloring.
45017 (scroll_up): Added optimization for case when there is no bitmap.
45018 (grub_gfxterm_cls): Fixed to use correct background color.
45019 (grub_virtual_screen_setcolorstate): Changed to use new terminal
45020 coloring.
45021 (grub_virtual_screen_setcolor): Likewise.
45022 (grub_virtual_screen_getcolor): Added.
45023 (grub_gfxterm_background_image_cmd): Likewise.
45024 (grub_video_term): Added setcolor and getcolor.
45025 (MOD_INIT): Added registration of background_image command.
45026 (MOD_TERM): Added unregistration for background_image command.
45027
c3c20931 450282007-12-30 Pavel Roskin <proski@gnu.org>
45029
45030 * loader/multiboot_loader.c: Fix multiboot command
45031 unregistration. Fix all typos in the word "multiboot".
45032
df266716 450332007-12-29 Pavel Roskin <proski@gnu.org>
94239199 45034
45035 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45036 support for initrd names used in Fedora.
45037
fc6e896c 450382007-12-26 Bean <bean123ch@gmail.com>
45039
45040 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45041 (cpio_mod_SOURCES): New variable.
45042 (cpio_mod_CFLAGS): Likewise.
45043 (cpio_mod_LDFLAGS): Likewise.
45044
45045 * fs/cpio.c: New file.
45046
45047 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45048
45049 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45050
45051 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45052
45053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45054
533110ad 450552007-12-25 Robert Millan <rmh@aybabtu.com>
45056
45057 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45058 (grub_getcolor): New function.
45059
45060 * kern/term.c (grub_getcolor): New function.
45061 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45062 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45063 (print_entry): Set normal and highlight colors to
45064 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45065 respectively, before printing and restore them to old
45066 values afterwards.
45067 (grub_menu_init_page): Likewise. Fill an additional colored space
45068 that would otherwise be left blank.
45069
45070 * term/efi/console.c (grub_console_getcolor): New function.
45071 (struct grub_console_term.getcolor): New variable.
45072 * term/i386/pc/console.c (grub_console_getcolor): New function.
45073 (struct grub_console_term.getcolor): New variable.
45074 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45075 (struct grub_console_term.getcolor): New variable.
45076
45077 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45078 (struct grub_console_term.setcolor): Remove variable.
45079 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45080 (struct grub_console_term.setcolor): Remove variable.
45081 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45082 (struct grub_console_term.setcolor): Remove variable.
45083 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45084 (struct grub_console_term.setcolor): Remove variable.
45085
4931827f 450862007-12-25 Robert Millan <rmh@aybabtu.com>
45087
45088 * configure.ac: Search for possible unifont.hex locations, and
45089 define UNIFONT_HEX if found.
45090
45091 * Makefile.in (UNIFONT_HEX): Define variable.
45092 (DATA): Rename to ...
45093 (PKGLIB): ... this. Update all users.
45094 (PKGDATA): New variable.
45095 (pkgdata_IMAGES): Rename to ...
45096 (pkglib_IMAGES): ... this. Update all users.
45097 (pkgdata_MODULES): Rename to ...
45098 (pkglib_MODULES): ... this. Update all users.
45099 (pkgdata_PROGRAMS): Rename to ...
45100 (pkglib_PROGRAMS): ... this. Update all users.
45101 (pkgdata_DATA): Rename to ...
45102 (pkglib_DATA): ... this. Update all users.
45103 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45104 (unicode.pff, ascii.pff): New rules.
45105 (all-local): Add `$(PKGDATA)' dependency.
45106 (install-local): Process `$(PKGDATA)'.
45107
45108 * util/update-grub_lib.in (font_path): Search for *.pff files in
45109 a few more locations, including `${pkgdata}'.
45110
57e57e31 451112007-12-23 Robert Millan <rmh@aybabtu.com>
45112
45113 Patch from Bean <bean123ch@gmail.com>:
45114 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45115 `size'.
45116
4bc72aa9 451172007-12-21 Bean <bean123ch@gmail.com>
45118
45119 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45120 (ntfscomp_mod_SOURCES): New variable.
45121 (ntfscomp_mod_CFLAGS): Likewise.
45122 (ntfscomp_mod_LDFLAGS): Likewise.
45123
45124 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45125 (grub_probe_SOURCES): Likewise.
45126 (grub_emu_SOURCES): Likewise.
45127
45128 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45129 (grub_emu_SOURCES): Likewise.
45130
45131 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45132 (grub_emu_SOURCES): Likewise.
45133
45134 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45135 (grub_emu_SOURCES): Likewise.
45136
45137 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45138 (read_run_list): Renamed to grub_ntfs_read_run_list.
45139 (decomp_nextvcn): Moved to ntfscomp.c.
45140 (decomp_getch): Likewise.
45141 (decomp_get16): Likewise.
45142 (decomp_block): Likewise.
45143 (read_block): Likewise.
45144 (read_data): Partially moved to ntfscomp.c.
45145 (fixup): Change unsigned to grub_uint16_t.
45146 (read_mft): Change unsigned long to grub_uint32_t.
45147 (read_attr): Likewise.
45148 (read_data): Likewise.
45149 (read_run_data): Likewise.
45150 (read_run_list): Likewise.
45151 (read_mft): Likewise.
45152
45153 * fs/ntfscomp.c: New file.
45154
45155 * include/grub/ntfs.h: New file.
45156
af680a87 451572007-12-16 Robert Millan <rmh@aybabtu.com>
45158
45159 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
45160 IDE disk check, since Linux is known to support 20 IDE disks.
45161 Reported by Colin Watson.
45162
84be7599 451632007-12-15 Bean <bean123ch@gmail.com>
45164
45165 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
45166 (lnxboot_img_SOURCES): New variable.
45167 (lnxboot_img_ASFLAGS): Likewise.
45168 (lnxboot_img_LDFLAGS): Likewise.
45169
45170 * boot/i386/pc/lnxboot.S: New file.
45171
6af9db01 451722007-11-24 Pavel Roskin <proski@gnu.org>
45173
45174 * configure.ac: Test if '--build-id=none' is supported by the
45175 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45176 objcopy to generate incorrect binary files (binutils
45177 2.17.50.0.18-1 as shipped by Fedora 8).
45178 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45179 linking, so that build ID doesn't break the test.
45180
7361cfe6 451812007-11-24 Pavel Roskin <proski@gnu.org>
45182
45183 * include/grub/i386/time.h: use "void" in the argument list
45184 of grub_cpu_idle().
45185 * include/grub/powerpc/time.h: Likewise.
45186 * include/grub/sparc64/time.h: Likewise.
45187
1593e10c 451882007-11-18 Christian Franke <franke@computer.org>
45189
45190 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
45191 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
45192 This fixes the problem that function keys did not work in grub-emu.
45193
3b8db1a8 451942007-11-18 Christian Franke <franke@computer.org>
45195
45196 * disk/host.c (grub_host_open): Remove attribute unused from
45197 name parameter. Add check for "host". This fixes the problem
45198 that grub-emu does not find partitions.
45199
2e29408d 452002007-11-18 Christian Franke <franke@computer.org>
45201
45202 * util/hostfs.c (is_dir): New function.
45203 (grub_hostfs_dir): Handle missing dirent.d_type case.
45204 (grub_hostfs_read): Add missing fseek().
45205 (grub_hostfs_label): Clear label pointer. This fixes a crash
45206 of grub-emu on "ls (host)".
45207
398cd047 452082007-11-18 Christian Franke <franke@computer.org>
45209
45210 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45211 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45212 to 64 bit boundary by default.
45213
c405c391 452142007-11-18 Bean <bean123ch@gmail.com>
45215
45216 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45217 (hexdump_mod_SOURCES): New variable.
45218 (hexdump_mod_CFLAGS): Likewise.
45219 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 45220
c405c391 45221 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45222
45223 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45224
45225 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45226
45227 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45228
45229 * include/grub/hexdump.h: New file.
45230
45231 * commands/hexdump.c: New file.
45232
5cced7fd 452332007-11-10 Robert Millan <rmh@aybabtu.com>
45234
45235 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45236 in grub_outb() calls.
45237 (beep_on): Likewise.
45238
8b714eb0 452392007-11-10 Christian Franke <franke@computer.org>
45240
45241 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45242 (grub_menu_run): Likewise.
45243
ce0f1839 452442007-11-10 Robert Millan <rmh@aybabtu.com>
45245
45246 * include/grub/i386/efi/machine.h: New file.
45247 * include/grub/i386/linuxbios/machine.h: Likewise.
45248 * include/grub/i386/pc/machine.h: Likewise.
45249 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45250 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45251
45252 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45253 (serial_hw_io_addr): New variable.
45254 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45255 instead of `(unsigned short *) 0x400'.
45256
270c237d 452572007-11-10 Bean <bean123ch@gmail.com>
45258
45259 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45260
a87783bf 452612007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45262
45263 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45264 (vga_mod_SOURCES): Added.
45265 (vga_mod_CFLAGS): Likewise.
45266 (vga_mod_LDFLAGS): Likewise.
45267
45268 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45269 grub_outb() calls.
45270 (set_map_mask): Likewise.
45271 (set_read_map): Likewise.
45272 (set_read_address): Likewise.
45273 (vga_font): Removed variable.
45274 (get_vga_glyph): Removed function.
45275 (invalidate_char): Likewise.
45276 (write_char): Changed to use grub_font_get_glyph() for font
45277 information.
45278 (grub_vga_putchar): Likewise.
45279 (grub_vga_getcharwidth): Likewise.
45280
6433b448 452812007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45282
45283 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45284 flags.
45285 (pxeboot_img_LDFLAGS): Likewise.
45286 (diskboot_img_LDFLAGS): Likewise.
45287 (kernel_img_LDFLAGS): Likewise.
45288
49178511 452892007-11-06 Robert Millan <rmh@aybabtu.com>
45290
45291 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45292 in grub_outb() calls.
45293 (serial_hw_init): Likewise.
45294
53b052de 452952007-11-05 Robert Millan <rmh@aybabtu.com>
45296
45297 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45298 spaces. Skip non-regular files.
45299
5ab33bba 453002007-11-05 Robert Millan <rmh@aybabtu.com>
45301
45302 * kern/disk.c (grub_disk_firmware_fini)
45303 (grub_disk_firmware_is_tainted): New variables.
45304
45305 * include/grub/disk.h (grub_disk_firmware_fini)
45306 (grub_disk_firmware_is_tainted): Likewise.
45307
45308 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45309 (grub_disk_biosdisk_fini): ... to here.
45310 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45311 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45312 is set. Register grub_disk_biosdisk_fini() in
45313 `grub_disk_firmware_fini'.
45314
45315 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45316 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45317 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45318 to finish existing firmware disk interface.
45319
45320 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45321 (ata_mod_SOURCES): New variable.
45322 (ata_mod_CFLAGS): Likewise.
45323 (ata_mod_LDFLAGS): Likewise.
45324
0149ab7c 453252007-11-05 Robert Millan <rmh@aybabtu.com>
45326
45327 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45328 (grub_ata_wait): Reimplement using grub_millisleep().
45329
45330 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45331 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45332
be7ac41e 453332007-11-03 Marco Gerards <marco@gnu.org>
45334
45335 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45336 (CRTC_ADDR_PORT): New macro.
45337 (CRTC_DATA_PORT): Likewise.
45338 (CRTC_CURSOR): Likewise.
45339 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45340 (CRTC_CURSOR_ADDR_LOW): Likewise.
45341 (update_cursor): New function.
45342 (grub_console_real_putchar): Call `update_cursor'.
45343 (grub_console_gotoxy): Likewise.
45344 (grub_console_cls): Set the default color when clearing the
45345 screen.
45346 (grub_console_setcursor): Implemented.
45347
bb06ab2e 453482007-11-03 Marco Gerards <marco@gnu.org>
45349
45350 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45351 become activate.
45352 (grub_ata_pio_write): Likewise.
45353
45354 (grub_atapi_identify): Wait after issuing an ATA command.
45355 (grub_atapi_packet): Likewise.
45356 (grub_ata_identify): Likewise.
45357 (grub_ata_readwrite): Likewise.
45358
cf8f780b 453592007-11-03 Marco Gerards <marco@gnu.org>
45360
45361 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45362 (grub_ata_pio_write): Likewise.
45363 (grub_ata_readwrite): Use `grub_error', instead of
45364 returning `grub_errno'.
45365
ed649e54 453662007-11-03 Marco Gerards <marco@gnu.org>
45367
45368 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45369 grub_ata_pio_write once for every single sector, instead of for
45370 multiple sectors.
45371
ca25d8f0 453722007-10-31 Robert Millan <rmh@aybabtu.com>
45373
45374 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45375
45376 * conf/i386-linuxbios.rmk: New file.
45377
45378 * kern/i386/pc/hardware.c: Likewise.
45379 * term/i386/pc/at_keyboard.c: Likewise.
45380 * term/i386/pc/vga_text.c: Likewise.
45381
45382 * include/grub/i386/linuxbios/boot.h: Likewise.
45383 * include/grub/i386/linuxbios/console.h: Likewise.
45384 * include/grub/i386/linuxbios/init.h: Likewise.
45385 * include/grub/i386/linuxbios/kernel.h: Likewise.
45386 * include/grub/i386/linuxbios/loader.h: Likewise.
45387 * include/grub/i386/linuxbios/memory.h: Likewise.
45388 * include/grub/i386/linuxbios/serial.h: Likewise.
45389 * include/grub/i386/linuxbios/time.h: Likewise.
45390
45391 * kern/i386/linuxbios/init.c: Likewise.
45392 * kern/i386/linuxbios/startup.S: Likewise.
45393 * kern/i386/linuxbios/table.c: Likewise.
45394
e911ecc1 453952007-10-31 Marco Gerards <marco@gnu.org>
45396
45397 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45398 (ata_mod_SOURCES): New variable.
45399 (ata_mod_CFLAGS): Likewise.
45400 (ata_mod_LDFLAGS): Likewise.
45401
45402 * disk/ata.c: New file.
45403
45404 * include/grub/disk.h (grub_disk_dev_id): Add
45405 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 45406
7f66d0e0 454072007-10-31 Robert Millan <rmh@aybabtu.com>
45408
45409 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45410 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45411
45412 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45413 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45414
45415 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45416 `<grub/types.h>'.
45417
45418 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45419
5cd7dd46 454202007-10-27 Robert Millan <rmh@aybabtu.com>
45421
3236ca65 45422 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 45423
2ebfc90f 454242007-10-22 Robert Millan <rmh@aybabtu.com>
45425
45426 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45427 `"../realmode.S"'.
45428 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45429
73fcb0f3 454302007-10-22 Robert Millan <rmh@aybabtu.com>
45431
45432 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45433 (pkgdata_MODULES): Add `biosdisk.mod'.
45434 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45435 variables.
45436
45437 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45438 (grub_biosdisk_init): Replace with ...
45439 (GRUB_MOD_INIT(biosdisk)): ... this.
45440 (grub_biosdisk_fini): Replace with ...
45441 (GRUB_MOD_FINI(biosdisk)): ... this.
45442
45443 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45444 (grub_machine_init): Remove call to grub_biosdisk_init().
45445 (grub_machine_fini): Remove call to grub_machine_fini().
45446
45447 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45448
3381d274 454492007-10-22 Robert Millan <rmh@aybabtu.com>
45450
45451 * include/grub/time.h: New file.
45452 * include/grub/i386/time.h: Likewise.
45453 * include/grub/powerpc/time.h: Likewise.
45454 * include/grub/sparc64/time.h: Likewise.
45455
45456 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45457 instances to ...
45458 (KERNEL_MACHINE_TIME_HEADER): ... this.
45459 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45460 instances to ...
45461 (KERNEL_MACHINE_TIME_HEADER): ... this.
45462 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45463 instances to ...
45464 (KERNEL_MACHINE_TIME_HEADER): ... this.
45465
45466 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45467 (grub_millisleep): New function.
45468 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45469 (grub_millisleep): New function.
45470 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45471 Remove `grub/machine/time.h' include.
45472 (grub_millisleep): New function.
45473 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45474 Remove `grub/machine/time.h' include.
45475 (grub_millisleep): New function.
45476
45477 * include/grub/misc.h (grub_div_roundup): New function.
45478
45479 * kern/misc.c: Include `<grub/time.h>'.
45480 (grub_millisleep_generic): New function.
45481
45482 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45483 Add `time.h'.
45484 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45485 Add `time.h'.
45486 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45487 `machine/time.h'. Add `time.h'.
45488 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45489
a39a0312 454902007-10-21 Robert Millan <rmh@aybabtu.com>
45491
45492 * include/grub/misc.h (grub_max): New function.
45493
2aad70e2 454942007-10-21 Robert Millan <rmh@aybabtu.com>
45495
45496 * util/misc.c (grub_util_info): Call fflush() before returning.
45497
54b71c4b 454982007-10-20 Robert Millan <rmh@aybabtu.com>
45499
45500 * genmk.rb (Image): Copy `extra_flags' from here ...
45501 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45502
45503 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45504 to `argc' and `args' arguments.
45505
a979f513 455062007-10-17 Robert Millan <rmh@aybabtu.com>
45507
45508 * kern/i386/loader.S: New file.
45509
45510 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45511 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45512 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45513 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45514 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45515 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45516 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45517 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45518 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45519 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45520 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45521 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45522 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45523 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45524
45525 * kern/i386/realmode.S: New file.
45526
45527 * kern/i386/pc/startup.S (protstack): Moved from here ...
45528 * kern/i386/realmode.S (protstack)... to here.
45529 * kern/i386/pc/startup.S (gdt): Moved from here ...
45530 * kern/i386/realmode.S (gdt)... to here.
45531 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45532 * kern/i386/realmode.S (prot_to_real)... to here.
45533
45534 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45535 `kern/i386/realmode.S'.
45536
825fc8fd 455372007-10-17 Robert Millan <rmh@aybabtu.com>
45538
45539 * include/grub/i386/loader.h: New file.
45540
45541 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45542 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45543 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45544 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45545 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45546 * include/grub/i386/loader.h (grub_linux_prot_size)
45547 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45548 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45549 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45550 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45551
45552 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45553
e179b2f4 455542007-10-15 Robert Millan <rmh@aybabtu.com>
45555
45556 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45557 filesystem when dev->disk is unset.
45558 Do probe for filesystem even when dev->disk->has_partitions is set.
45559 In case a filesystem is found, always report it.
45560 In case it isn't, if dev->disk->has_partitions is set, report that
45561 a partition table was found instead of reporting that no filesystem
45562 could be identified.
45563
5db82af6 455642007-10-12 Robert Millan <rmh@aybabtu.com>
45565
45566 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45567 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45568
68f6ac74 45569 * include/grub/types.h (grub_host_to_target16): New macro.
45570 (grub_host_to_target32): Likewise.
45571 (grub_host_to_target64): Likewise.
45572 (grub_target_to_host16): Likewise.
45573 (grub_target_to_host32): Likewise.
45574 (grub_target_to_host64): Likewise.
5db82af6 45575
45576 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45577 Renamed from to ...
45578 (GRUB_MOD_ALIGN): ...this. Update all users.
45579
68f6ac74 45580 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45581 grub_host_to_target32.
45582 Replace grub_be_to_cpu32 with grub_target_to_host32.
45583 (load_modules): Likewise.
45584 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45585 Replace grub_be_to_cpu32 with grub_target_to_host32.
45586 Replace grub_cpu_to_be16 with grub_host_to_target16.
45587 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45588
3cf497cc 455892007-10-12 Robert Millan <rmh@aybabtu.com>
45590
45591 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45592 * util/elf/grub-mkimage.c: ... here.
45593
45594 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45595 `util/powerpc/ieee1275/grub-mkimage.c'.
45596
c8cc3692 455972007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45598
c8cc3692 45599 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45600 and make it easier to figure out.
45601 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45602 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45603 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45604 leave us with less than HEAP_MIN_SIZE total heap.
45605 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45606
5c58b791 456072007-10-03 Robert Millan <rmh@aybabtu.com>
45608
45609 * include/grub/i386/io.h: New file.
45610 * commands/i386/pc/play.c (inb): Removed.
45611 (outb): Removed.
45612 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45613 with grub_outb().
afcd2ef8 45614 * term/i386/pc/serial.c (inb): Removed.
45615 (outb): Removed.
45616 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45617 with grub_outb().
45618 * term/i386/pc/vga.c (inb): Removed.
45619 (outb): Removed.
45620 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45621 with grub_outb().
5c58b791 45622
1a477ed6 456232007-10-02 Robert Millan <rmh@aybabtu.com>
45624
45625 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45627 Reported by Marcin Kurek.
45628
6b5d80fa 456292007-09-07 Robert Millan <rmh@aybabtu.com>
45630
45631 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45632 SmartFirmware version updates (as released by Sven Luther), and avoid
45633 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45634 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45635 known broken.
45636
5618afbf 456372007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45638
45639 From Hitoshi Ozeki:
45640 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45641 when merging two regions.
45642
6139dcd9 456432007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45644
508e39ee 45645 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45646 * normal/completion.c (grub_normal_do_completion): Likewise.
45647 Reported by Hitoshi Ozeki.
45648
456492007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45650
6139dcd9 45651 Do not use devices at boot in chainloading.
f19dbdb7 45652
6139dcd9 45653 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45654 (boot_part_addr): Likewise.
45655 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45656 with BOOT_DRIVE and BOOT_PART_ADDR.
45657 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45658 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45659
38da6516 456602007-08-29 Robert Millan <rmh@aybabtu.com>
45661
45662 Patch from Simon Peter <dn.tlp@gmx.net>:
45663 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45664 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45665 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45666 util/i386/pc/grub-setup.c_DEPENDENCIES.
45667 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45668 util/grub-probe.c_DEPENDENCIES.
45669 * conf/powerpc-ieee1275.rmk: Likewise.
45670
29d0928c 456712007-08-28 Robert Millan <rmh@aybabtu.com>
45672
45673 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45674 to tell grub-mkdevicemap how to name devices.
45675 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45676 feature).
45677
45678 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45679 util/i386/get_disk_name.c.
45680 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45681 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45682 util/ieee1275/get_disk_name.c.
45683
45684 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45685
45686 * DISTLIST: Add util/i386/get_disk_name.c and
45687 util/ieee1275/get_disk_name.c.
45688
45689 * util/grub-mkdevicemap.c: Replace device naming logic with
45690 grub_util_get_disk_name() calls.
45691
5a0d3cca 456922007-08-20 Robert Millan <rmh@aybabtu.com>
45693
45694 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45695 (so that it works for both plural and singular quantities).
45696
8b72db2f 456972007-08-05 Robert Millan <rmh@aybabtu.com>
45698
45699 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45700 so that [xz] isn't taken into account when determining order.
45701
352466bf 457022007-08-02 Marco Gerards <marco@gnu.org>
45703
45704 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45705 `include/multiboot2.h', `include/grub/elfload.h',
45706 `include/multiboot.h', `include/grub/multiboot.h',
45707 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45708 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45709 `kern/elf.c', `loader/multiboot_loader.c',
45710 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45711 `loader/i386/pc/multiboot2.c',
45712 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45713 `util/i386/pc/grub-mkrescue.in'. Remove
45714 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45715 `include/grub/i386/pc/util/biosdisk.h' and
45716 `include/grub/powerpc/ieee1275/multiboot.h'.
45717
8f096014 457182007-08-02 Bean <bean123ch@gmail.com>
45719
45720 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45721 (ntfs_mod_SOURCES): New variable.
45722 (ntfs_mod_CFLAGS): Likewise.
45723 (ntfs_mod_LDFLAGS): Likewise.
45724
45725 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45726 (grub_probe_SOURCES): Likewise.
45727 (grub_emu_SOURCES): Likewise.
45728
45729 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45730 (grub_emu_SOURCES): Likewise.
45731
45732 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45733 (grub_emu_SOURCES): Likewise.
f19dbdb7 45734
8f096014 45735 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45736
45737 * fs/ntfs.c: New file.
45738
9959f7db 457392007-08-02 Bean <bean123ch@gmail.com>
45740
45741 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45742
45743 * file.h (grub_file): Likewise.
45744
45745 * fshelp.h (grub_fshelp_read_file): Likewise.
45746
45747 * util/i386/pc/grub-setup.c (setup): Likewise.
45748 (save_first_sector): Likewise.
45749 (save_blocklists): Likewise.
f19dbdb7 45750
9959f7db 45751 * fs/affs.c (grub_affs_read_file): Likewise.
45752
45753 * fs/ext2.c (grub_ext2_read_file): Likewise.
45754
45755 * fs/fat.c (grub_fat_read_data): Likewise.
45756
45757 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45758
45759 * fs/hfs.c (grub_hfs_read_file): Likewise.
45760
45761 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45762
45763 * fs/jfs.c (grub_jfs_read_file): Likewise.
45764
45765 * fs/minix.c (grub_minix_read_file): Likewise.
45766
45767 * fs/sfs.c (grub_sfs_read_file): Likewise.
45768
45769 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45770
9959f7db 45771 * fs/xfs.c (grub_xfs_read_file): Likewise.
45772
45773 * command/blocklist.c (read_blocklist): Likewise.
45774 (print_blocklist): Likewise.
45775
0a203f83 457762007-08-02 Marco Gerards <marco@gnu.org>
45777
45778 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45779 `util/hostfs.c'.
45780
45781 * disk/host.c: New file.
45782
45783 * util/hostfs.c: Likewise.
45784
45785 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45786 return `GRUB_ERR_BAD_FS'.
45787 * fs/sfs.c (grub_sfs_mount): Likewise.
45788 * fs/xfs.c (grub_xfs_mount): Likewise.
45789
45790 * include/grub/disk.h (enum grub_disk_dev_id): Add
45791 `GRUB_DISK_DEVICE_HOST_ID'.
45792
45793 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45794
e5dfe777 457952007-07-24 Jerone Young <jerone@gmail.com>
45796
f19dbdb7 45797 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45798 modules for compilation.
45799 * conf/powerpc-ieee1275.rmk: Likewise.
45800
45801 * include/multiboot.h: Move multiboot definitions to one file. Rename
45802 many definitions to not get grub specific.
45803 * include/multiboot2.h: Create header with multiboot 2 definitions.
45804 * include/grub/multiboot.h: Header for grub specific function
45805 prototypes and definitions.
45806 * include/grub/multiboot2.h: Likewise.
45807 * include/grub/multiboot_loader.h: Likewise.
45808 * include/grub/i386/pc/multiboot.h: Removed.
45809 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45810
45811 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45812 and 2 to allow for one multiboot and module commands.
45813 * loader/multiboot2.c: Add multiboot2 functionality.
45814 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45815 and definition names.
45816 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45817 2 functions.
45818 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45819 ieee1275 specific multiboot2 code.
45820
45821 * kern/i386/pc/startup.S: Change headers and definition names for
45822 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45823
daf0f0ba 458242007-07-22 Robert Millan <rmh@aybabtu.com>
45825
45826 * geninitheader.sh: Process file specified in first parameter rather
45827 than hardcoding grub_modules_init.lst.
fe6b695a 45828 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45829 than hardcoding grub_modules_init.h.
45830
45831 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45832 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45833 grub_probe_init.[ch] and grub_setup_init.[ch].
45834
45835 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45836 grub_modules_init.h with grub_emu_init.h.
45837 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45838 grub_probe_init.[ch] files.
45839 * conf/i386-efi.rmk: Likewise.
45840 * conf/i386-pc.rmk: Likewise.
45841 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45842 grub_setup_init.[ch] files.
45843
45844 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45845 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45846 to initialize modules rather than a list of hardcoded functions.
45847 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45848 grub_init_all() to initialize modules rather than a list of hardcoded
45849 functions.
45850
54cdc1cc 458512007-07-22 Robert Millan <rmh@aybabtu.com>
45852
45853 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45854 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45855
ad0686cc 458562007-07-22 Robert Millan <rmh@aybabtu.com>
45857
45858 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45859 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45860 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45861 flag when running on SmartFirmware.
45862 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45863 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45864 was set.
45865
45866 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45867 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45868 rather than decreasing it.
45869
45870 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45871 there's not enough space to do it, fail in the same way as when it
45872 can't be done because there are no partitions.
45873
45874 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45875 when nvsetenv failed.
45876
969c02ec 458772007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45878
45879 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45880 because this rule is automatically generated.
45881 (grub-mkrescue): Removed for the same reason as above.
45882
5a79f472 458832007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45884
45885 Migrate to GNU General Public License Version 3.
f19dbdb7 45886
5a79f472 45887 * COPYING: Replaced with the plain text version of GPLv3.
45888
45889 * config.guess: Updated from gnulib.
45890 * config.sub: Likewise.
45891
45892 * geninit.sh: Output a GPLv3 copyright notice.
45893 * geninitheader.sh: Likewise.
45894 * genmodsrc.sh: Likewise.
45895 * gensymlist.sh.in: Likewise.
45896
45897 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45898 * boot/i386/pc/diskboot.S: Likewise.
45899 * boot/i386/pc/pxeboot.S: Likewise.
45900 * commands/blocklist.c: Likewise.
45901 * commands/boot.c: Likewise.
45902 * commands/cat.c: Likewise.
45903 * commands/cmp.c: Likewise.
45904 * commands/configfile.c: Likewise.
45905 * commands/echo.c: Likewise.
45906 * commands/help.c: Likewise.
45907 * commands/ls.c: Likewise.
45908 * commands/search.c: Likewise.
45909 * commands/terminal.c: Likewise.
45910 * commands/test.c: Likewise.
45911 * commands/videotest.c: Likewise.
45912 * commands/i386/cpuid.c: Likewise.
45913 * commands/i386/pc/halt.c: Likewise.
45914 * commands/i386/pc/play.c: Likewise.
45915 * commands/i386/pc/reboot.c: Likewise.
45916 * commands/i386/pc/vbeinfo.c: Likewise.
45917 * commands/i386/pc/vbetest.c: Likewise.
45918 * commands/ieee1275/halt.c: Likewise.
45919 * commands/ieee1275/reboot.c: Likewise.
45920 * commands/ieee1275/suspend.c: Likewise.
45921 * disk/loopback.c: Likewise.
45922 * disk/lvm.c: Likewise.
45923 * disk/raid.c: Likewise.
45924 * disk/efi/efidisk.c: Likewise.
45925 * disk/i386/pc/biosdisk.c: Likewise.
45926 * disk/ieee1275/ofdisk.c: Likewise.
45927 * font/manager.c: Likewise.
45928 * fs/affs.c: Likewise.
45929 * fs/ext2.c: Likewise.
45930 * fs/fat.c: Likewise.
45931 * fs/fshelp.c: Likewise.
45932 * fs/hfs.c: Likewise.
45933 * fs/hfsplus.c: Likewise.
45934 * fs/iso9660.c: Likewise.
45935 * fs/jfs.c: Likewise.
45936 * fs/minix.c: Likewise.
45937 * fs/sfs.c: Likewise.
45938 * fs/ufs.c: Likewise.
45939 * fs/xfs.c: Likewise.
45940 * hello/hello.c: Likewise.
45941 * include/grub/acorn_filecore.h: Likewise.
45942 * include/grub/arg.h: Likewise.
45943 * include/grub/bitmap.h: Likewise.
45944 * include/grub/boot.h: Likewise.
45945 * include/grub/cache.h: Likewise.
45946 * include/grub/device.h: Likewise.
45947 * include/grub/disk.h: Likewise.
45948 * include/grub/dl.h: Likewise.
45949 * include/grub/elfload.h: Likewise.
45950 * include/grub/env.h: Likewise.
45951 * include/grub/err.h: Likewise.
45952 * include/grub/file.h: Likewise.
45953 * include/grub/font.h: Likewise.
45954 * include/grub/fs.h: Likewise.
45955 * include/grub/fshelp.h: Likewise.
45956 * include/grub/gzio.h: Likewise.
45957 * include/grub/hfs.h: Likewise.
45958 * include/grub/kernel.h: Likewise.
45959 * include/grub/loader.h: Likewise.
45960 * include/grub/lvm.h: Likewise.
45961 * include/grub/misc.h: Likewise.
45962 * include/grub/mm.h: Likewise.
45963 * include/grub/net.h: Likewise.
45964 * include/grub/normal.h: Likewise.
45965 * include/grub/parser.h: Likewise.
45966 * include/grub/partition.h: Likewise.
45967 * include/grub/pc_partition.h: Likewise.
45968 * include/grub/raid.h: Likewise.
45969 * include/grub/rescue.h: Likewise.
45970 * include/grub/script.h: Likewise.
45971 * include/grub/setjmp.h: Likewise.
45972 * include/grub/symbol.h: Likewise.
45973 * include/grub/term.h: Likewise.
45974 * include/grub/terminfo.h: Likewise.
45975 * include/grub/tparm.h: Likewise.
45976 * include/grub/types.h: Likewise.
45977 * include/grub/video.h: Likewise.
45978 * include/grub/efi/api.h: Likewise.
45979 * include/grub/efi/chainloader.h: Likewise.
45980 * include/grub/efi/console.h: Likewise.
45981 * include/grub/efi/console_control.h: Likewise.
45982 * include/grub/efi/disk.h: Likewise.
45983 * include/grub/efi/efi.h: Likewise.
45984 * include/grub/efi/pe32.h: Likewise.
45985 * include/grub/efi/time.h: Likewise.
45986 * include/grub/i386/linux.h: Likewise.
45987 * include/grub/i386/setjmp.h: Likewise.
45988 * include/grub/i386/types.h: Likewise.
45989 * include/grub/i386/efi/kernel.h: Likewise.
45990 * include/grub/i386/efi/loader.h: Likewise.
45991 * include/grub/i386/efi/time.h: Likewise.
45992 * include/grub/i386/pc/biosdisk.h: Likewise.
45993 * include/grub/i386/pc/boot.h: Likewise.
45994 * include/grub/i386/pc/chainloader.h: Likewise.
45995 * include/grub/i386/pc/console.h: Likewise.
45996 * include/grub/i386/pc/init.h: Likewise.
45997 * include/grub/i386/pc/kernel.h: Likewise.
45998 * include/grub/i386/pc/loader.h: Likewise.
45999 * include/grub/i386/pc/memory.h: Likewise.
46000 * include/grub/i386/pc/multiboot.h: Likewise.
46001 * include/grub/i386/pc/serial.h: Likewise.
46002 * include/grub/i386/pc/time.h: Likewise.
46003 * include/grub/i386/pc/vbe.h: Likewise.
46004 * include/grub/i386/pc/vbeblit.h: Likewise.
46005 * include/grub/i386/pc/vbefill.h: Likewise.
46006 * include/grub/i386/pc/vbeutil.h: Likewise.
46007 * include/grub/i386/pc/vga.h: Likewise.
46008 * include/grub/ieee1275/ieee1275.h: Likewise.
46009 * include/grub/ieee1275/ofdisk.h: Likewise.
46010 * include/grub/powerpc/libgcc.h: Likewise.
46011 * include/grub/powerpc/setjmp.h: Likewise.
46012 * include/grub/powerpc/types.h: Likewise.
46013 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
46014 * include/grub/powerpc/ieee1275/console.h: Likewise.
46015 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
46016 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
46017 * include/grub/powerpc/ieee1275/loader.h: Likewise.
46018 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
46019 * include/grub/powerpc/ieee1275/time.h: Likewise.
46020 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
46021 * include/grub/sparc64/libgcc.h: Likewise.
46022 * include/grub/sparc64/setjmp.h: Likewise.
46023 * include/grub/sparc64/types.h: Likewise.
46024 * include/grub/sparc64/ieee1275/console.h: Likewise.
46025 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46026 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46027 * include/grub/sparc64/ieee1275/time.h: Likewise.
46028 * include/grub/util/biosdisk.h: Likewise.
46029 * include/grub/util/getroot.h: Likewise.
46030 * include/grub/util/lvm.h: Likewise.
46031 * include/grub/util/misc.h: Likewise.
46032 * include/grub/util/raid.h: Likewise.
46033 * include/grub/util/resolve.h: Likewise.
46034 * io/gzio.c: Likewise.
46035 * kern/device.c: Likewise.
46036 * kern/disk.c: Likewise.
46037 * kern/dl.c: Likewise.
46038 * kern/elf.c: Likewise.
46039 * kern/env.c: Likewise.
46040 * kern/err.c: Likewise.
46041 * kern/file.c: Likewise.
46042 * kern/fs.c: Likewise.
46043 * kern/loader.c: Likewise.
46044 * kern/main.c: Likewise.
46045 * kern/misc.c: Likewise.
46046 * kern/mm.c: Likewise.
46047 * kern/parser.c: Likewise.
46048 * kern/partition.c: Likewise.
46049 * kern/rescue.c: Likewise.
46050 * kern/term.c: Likewise.
46051 * kern/efi/efi.c: Likewise.
46052 * kern/efi/init.c: Likewise.
46053 * kern/efi/mm.c: Likewise.
46054 * kern/i386/dl.c: Likewise.
46055 * kern/i386/efi/init.c: Likewise.
46056 * kern/i386/efi/startup.S: Likewise.
46057 * kern/i386/pc/init.c: Likewise.
46058 * kern/i386/pc/lzo1x.S: Likewise.
46059 * kern/i386/pc/startup.S: Likewise.
46060 * kern/ieee1275/ieee1275.c: Likewise.
46061 * kern/powerpc/cache.S: Likewise.
46062 * kern/powerpc/dl.c: Likewise.
46063 * kern/powerpc/ieee1275/cmain.c: Likewise.
46064 * kern/powerpc/ieee1275/crt0.S: Likewise.
46065 * kern/powerpc/ieee1275/init.c: Likewise.
46066 * kern/powerpc/ieee1275/openfw.c: Likewise.
46067 * kern/sparc64/cache.S: Likewise.
46068 * kern/sparc64/dl.c: Likewise.
46069 * kern/sparc64/ieee1275/init.c: Likewise.
46070 * kern/sparc64/ieee1275/openfw.c: Likewise.
46071 * loader/efi/chainloader.c: Likewise.
46072 * loader/efi/chainloader_normal.c: Likewise.
46073 * loader/i386/efi/linux.c: Likewise.
46074 * loader/i386/efi/linux_normal.c: Likewise.
46075 * loader/i386/pc/chainloader.c: Likewise.
46076 * loader/i386/pc/chainloader_normal.c: Likewise.
46077 * loader/i386/pc/linux.c: Likewise.
46078 * loader/i386/pc/linux_normal.c: Likewise.
46079 * loader/i386/pc/multiboot.c: Likewise.
46080 * loader/i386/pc/multiboot_normal.c: Likewise.
46081 * loader/powerpc/ieee1275/linux.c: Likewise.
46082 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46083 * normal/arg.c: Likewise.
46084 * normal/cmdline.c: Likewise.
46085 * normal/command.c: Likewise.
46086 * normal/completion.c: Likewise.
46087 * normal/execute.c: Likewise.
46088 * normal/function.c: Likewise.
46089 * normal/lexer.c: Likewise.
46090 * normal/main.c: Likewise.
46091 * normal/menu.c: Likewise.
46092 * normal/menu_entry.c: Likewise.
46093 * normal/misc.c: Likewise.
46094 * normal/parser.y: Likewise.
46095 * normal/script.c: Likewise.
46096 * normal/i386/setjmp.S: Likewise.
46097 * normal/powerpc/setjmp.S: Likewise.
46098 * normal/sparc64/setjmp.S: Likewise.
46099 * partmap/acorn.c: Likewise.
46100 * partmap/amiga.c: Likewise.
46101 * partmap/apple.c: Likewise.
46102 * partmap/gpt.c: Likewise.
46103 * partmap/pc.c: Likewise.
46104 * partmap/sun.c: Likewise.
46105 * term/gfxterm.c: Likewise.
46106 * term/terminfo.c: Likewise.
46107 * term/efi/console.c: Likewise.
46108 * term/i386/pc/console.c: Likewise.
46109 * term/i386/pc/serial.c: Likewise.
46110 * term/i386/pc/vesafb.c: Likewise.
46111 * term/i386/pc/vga.c: Likewise.
46112 * term/ieee1275/ofconsole.c: Likewise.
46113 * util/biosdisk.c: Likewise.
46114 * util/console.c: Likewise.
46115 * util/genmoddep.c: Likewise.
46116 * util/getroot.c: Likewise.
46117 * util/grub-emu.c: Likewise.
46118 * util/grub-mkdevicemap.c: Likewise.
46119 * util/grub-probe.c: Likewise.
46120 * util/lvm.c: Likewise.
46121 * util/misc.c: Likewise.
46122 * util/raid.c: Likewise.
46123 * util/resolve.c: Likewise.
46124 * util/update-grub.in: Likewise.
46125 * util/update-grub_lib.in: Likewise.
46126 * util/grub.d/00_header.in: Likewise.
46127 * util/grub.d/10_hurd.in: Likewise.
46128 * util/grub.d/10_linux.in: Likewise.
46129 * util/i386/efi/grub-install.in: Likewise.
46130 * util/i386/efi/grub-mkimage.c: Likewise.
46131 * util/i386/pc/grub-install.in: Likewise.
46132 * util/i386/pc/grub-mkimage.c: Likewise.
46133 * util/i386/pc/grub-mkrescue.in: Likewise.
46134 * util/i386/pc/grub-setup.c: Likewise.
46135 * util/i386/pc/misc.c: Likewise.
46136 * util/powerpc/ieee1275/grub-install.in: Likewise.
46137 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46138 * util/powerpc/ieee1275/misc.c: Likewise.
46139 * video/bitmap.c: Likewise.
46140 * video/video.c: Likewise.
46141 * video/i386/pc/vbe.c: Likewise.
46142 * video/i386/pc/vbeblit.c: Likewise.
46143 * video/i386/pc/vbefill.c: Likewise.
46144 * video/i386/pc/vbeutil.c: Likewise.
46145 * video/readers/tga.c: Likewise.
46146
3572d015 461472007-07-02 Robert Millan <rmh@aybabtu.com>
46148
46149 * conf/i386-efi.rmk: Replace obsolete reference to
46150 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46151 with util/getroot.c.
46152 * conf/powerpc-ieee1275.rmk: Likewise.
46153 * conf/sparc64-ieee1275.rmk: Likewise.
46154
46155 * util/grub-emu.c (main): Fix unchecked pointer handling.
46156
2c2a681b 461572007-07-02 Robert Millan <rmh@aybabtu.com>
46158
46159 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
46160 invocation to fail, in order to support partition-less media.
46161
46162 * util/i386/pc/grub-install.in: Likewise.
46163
46164 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
46165 which fs or partmap modules are needed (akin to its sister scripts).
46166
46167 Also use grub-probe to get rid of unportable /proc/mounts check.
46168
46169 Print the same informational message that the other scripts do, before
fe6b695a 46170 exiting.
2c2a681b 46171
6193defe 461722007-06-23 Robert Millan <rmh@aybabtu.com>
46173
fe6b695a 46174 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 46175 a font file can be found and, if so, echo the GRUB path to it.
46176
46177 * util/update-grub.in: Handle multiple terminals depending on user
46178 input, platform availability and font file presence. Propagate
46179 variables of our findings to /etc/grub.d/ children.
46180
46181 * util/grub.d/00_header.in: Handle multiple terminals, based on
46182 environment setup by update-grub.
46183
eface1dc 461842007-06-23 Robert Millan <rmh@aybabtu.com>
46185
ba50d28f 46186 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 46187
bf697e28 461882007-06-21 Robert Millan <rmh@aybabtu.com>
46189
46190 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
46191 indicate end of data section in kernel image.
46192 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
46193 GRUB_KERNEL_MACHINE_DATA_END.
46194
46195 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
46196 space for it.
46197 * kern/i386/efi/startup.S: Likewise.
46198
46199 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
46200 during image generation. Implement --prefix option to override this
46201 patch.
46202 * util/i386/efi/grub-mkimage.c: Likewise.
46203
46204 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46205 code to make path relative to its root into a separate function.
46206
46207 * util/i386/pc/grub-install.in: Use newly provided
46208 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46209 pass the result to grub-install --prefix.
46210
baa574b4 462112007-06-13 Robert Millan <rmh@aybabtu.com>
46212
46213 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46214 DEFAULT_DEVICE_MAP.
46215 * util/grub-emu.c: Use above definitions from misc.h instead of
46216 defining them.
46217 * util/grub-mkdevicemap.c: Likewise.
46218 * util/i386/pc/grub-setup.c: Likewise.
46219 * util/grub-probe.c: Likewise.
46220 (probe): Abort with grub_util_error() when either
46221 grub_guess_root_device or grub_util_get_grub_dev fails.
46222
0215dcbf 462232007-06-12 Robert Millan <rmh@aybabtu.com>
46224
46225 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46226 "pager" assignment.
46227 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46228 "pcdata".
46229 * util/grub-probe.c (probe): Likewise for "drive_name".
46230
8af2ab7b 462312007-06-11 Robert Millan <rmh@aybabtu.com>
46232
46233 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46234 not just the cdrom one.
46235
59d31694 462362007-06-11 Robert Millan <rmh@aybabtu.com>
46237
46238 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46239 Add --pkglibdir=DIR option to override pkglibdir.
46240 Mention --image-type=TYPE in help output.
46241 Fix --grub-mkimage (it was a no-op).
fe6b695a 46242 Abort gracefully when no parameter is given.
59d31694 46243
7ee367e4 462442007-06-11 Robert Millan <rmh@aybabtu.com>
46245
46246 * util/i386/pc/grub-mkrescue.in: New file.
46247 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
46248 * Makefile.in: Handle bin_SCRIPTS.
46249
29b0ed46 462502007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46251
46252 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46253 list of video modes.
46254
c0f90770 462552007-06-06 Robert Millan <rmh@aybabtu.com>
46256
46257 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46258 file doesn't exist, or if it is in a filesystem grub can't read.
46259
46260 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46261 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46262 header comment to fit in 80 columns when the variables are resolved.
46263
46264 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46265 could be identified by update-grub. Remove redundant check for
fe6b695a 46266 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 46267 handles that).
46268
fb36dc26 462692007-06-04 Robert Millan <rmh@aybabtu.com>
46270
46271 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46272
46273 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46274
46275 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46276
0c68c93e 462772007-06-04 Robert Millan <rmh@aybabtu.com>
46278
46279 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46280
46281 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46282 grub_apple_partition_map_fini.
46283
46284 * util/biosdisk.c
46285 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46286 to access >2 TiB disks).
46287
46288 Print disk->total_sectors with %llu instead of %lu, since this
46289 variable is always 64-bit (prevents wrong disk size from being displayed
46290 on either >2 TiB disk or big-endian CPU).
46291
46292 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46293 into a generic case that supports all (sane) partition maps.
46294
46295 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46296 breaks big-endian.
46297
46298 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46299 and grub_apple_partition_map_fini() after that.
46300
0f23eb74 463012007-06-01 Robert Millan <rmh@aybabtu.com>
46302
46303 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46304
46305 * util/grub.d/00_header.in: Only enable gfxterm when
46306 convert_system_path_to_grub_path() succeeds.
46307
42c71976 463082007-05-20 Robert Millan <rmh@aybabtu.com>
46309
46310 * util/update-grub_lib.in: New file.
46311 * DISTLIST: Add update-grub_lib.in.
46312 * conf/common.rmk: Generate update-grub_lib and install it in
46313 $(lib_DATA).
46314 * Makefile.in: Add install routine for $(lib_DATA).
46315
46316 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46317 function provided by update-grub_lib to support arbitrary paths of
46318 unifont.pff.
46319 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46320 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46321
5beb2291 463222007-05-19 Robert Millan <rmh@aybabtu.com>
46323
46324 * commands/i386/cpuid.c: New module.
46325 * DISTLIST: Add it.
46326 * conf/i386-efi.rmk: Enable cpuid.mod.
46327 * conf/i386-pc.rmk: Likewise.
46328
7262eca1 463292007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46330
46331 * kern/disk.c (grub_disk_read): Check return value of
46332 grub_realloc().
46333
260ba823 463342007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46335
46336 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46337 arrays.
46338 * disk/raid.c (grub_raid_open): Likewise.
46339
1ecb6cf2 463402007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46341
46342 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46343 stack instead of on the heap.
46344
46345 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46346 before doing a read on it.
46347
46348 * configure.ac: Only use -fno-stack-protector for the target
46349 environment.
f19dbdb7 46350
21c8cbb1 463512007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46352
46353 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46354 __attribute_ ((unused)) to mode_type argument.
46355
46356 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 46357
21c8cbb1 46358 * kern/misc.c (memcmp): Fix prototype.
46359
46360 * include/grub/partition.h [GRUB_UTIL]
46361 (grub_gpt_partition_map_init): Add prototype.
46362 (grub_gpt_partition_map_fini): Likewise.
46363
46364 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46365 at the right place.
46366
46367 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46368 (grub_fat_read_data): Likewise.
46369 (grub_fat_find_dir): Likewise.
46370
46371 * font/manager.c (find_glyph): Make table a const.
46372 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 46373
849d55d3 463742007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46375
46376 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46377 code, first search for device in /dev/mapper, then in /dev.
46378 (grub_util_get_grub_dev): New function.
46379 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46380 prototype.
46381 * util/grub-probe.c (probe): Remove check for RAID, call
46382 grub_util_get_grub_dev() instead of
46383 grub_util_biosdisk_get_grub_dev().
46384 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46385 grub_util_biosdisk_get_grub_dev().
46386 * util/i386/pc/grub-setup.c (main): Likewise.
46387
8fff7c2f 463882007-05-16 Robert Millan <rmh@aybabtu.com>
46389
46390 * DISTLIST: Update for the latest changes.
46391 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46392 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46393 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46394 grub/util/biosdisk.h.
46395 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46396 grub/util/biosdisk.h.
46397
48e12b52 463982007-05-16 Robert Millan <rmh@aybabtu.com>
46399
46400 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46401
46b9d128 464022007-05-16 Robert Millan <rmh@aybabtu.com>
46403
46404 * util/i386/efi/grub-install.in: New.
46405 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46406 newly added grub-install.
46407 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46408 include.
46409 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46410 grub/util/biosdisk.h.
46411 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46412 grub/util/biosdisk.h.
46413
2d1a40a9 464142007-05-16 Robert Millan <rmh@aybabtu.com>
46415
46416 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46417 * include/grub/util/biosdisk.h: ... here.
46418 * util/i386/pc/biosdisk.c: Moved to ...
46419 * util/biosdisk.c: ... here.
46420 * util/i386/pc/getroot.c: Moved to ...
46421 * util/getroot.c: ... here.
46422 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46423 * util/grub-mkdevicemap.c: ... here.
46424 * util/i386/pc/grub-probe.c: Moved to ...
46425 * util/grub-probe.c: ... here.
46426
9e26e3bc 464272007-05-15 Robert Millan <rmh@aybabtu.com>
46428
46429 * util/update-grub.in: Remove duplicated line in grub.cfg header
46430 message.
46431
57f96397 464322007-05-13 Robert Millan <rmh@aybabtu.com>
46433
46434 * util/update-grub.in: Fix a few assumptions about the devices holding
46435 /, /boot and /boot/grub being the same.
46436 * util/grub.d/00_header.in: Likewise.
46437 * util/grub.d/10_hurd.in: Likewise.
46438 * util/grub.d/10_linux.in: Likewise.
46439
46440 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46441 patterns. Use that to define the `.old' suffix as older than `'.
46442
46443 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46444
46445 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46446 the grub.cfg header message.
46447
2e610d62 464482007-05-11 Robert Millan <rmh@aybabtu.com>
46449
46450 * util/update-grub.in: Create device.map if it doesn't already exist,
46451 before attempting to run grub-probe.
46452 Check for grub-probe and grub-mkdevicemap with the same code
46453 grub-install is using.
46454 Remove test mode.
46455
3f6a10ef 464562007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46457
46458 * Makefile.in: Add the datarootdir autoconf variable.
46459
02e7b75e 464602007-05-09 Robert Millan <rmh@aybabtu.com>
46461
46462 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 46463 fail gracefully if dev->disk->partition == NULL.
02e7b75e 46464
75f396cc 464652007-05-07 Robert Millan <rmh@aybabtu.com>
46466
46467 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46468 determine partition map module.
46469 * util/i386/pc/grub-install.in: Use this feature to decide which
46470 partition module to load, instead of hardcoding pc and gpt.
46471
da65cb36 464722007-05-07 Robert Millan <rmh@aybabtu.com>
46473
46474 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46475 source directory differs from build directory.
46476
b57d6a91 464772007-05-05 Robert Millan <rmh@aybabtu.com>
46478
46479 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46480 initialisation.
46481
509d00f1 464822007-05-05 Robert Millan <rmh@aybabtu.com>
46483
46484 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46485
c48f23ef 464862007-05-05 Robert Millan <rmh@aybabtu.com>
46487
46488 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46489 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46490
20b97658 464912007-05-05 Robert Millan <rmh@aybabtu.com>
46492
46493 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46494 (grub_probe_SOURCES): Likewise.
46495 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46496 GPT and initialize dos_part and bsd_part accordingly.
46497 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46498 install_bsd_part.
46499 (main): Activate gpt module for use during partition identification,
46500 and deactivate it afterwards.
46501 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46502 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46503 partition identification, and deactivate it afterwards.
46504
99123174 465052007-05-05 Robert Millan <rmh@aybabtu.com>
46506
46507 * term/i386/pc/console.c (grub_console_fini): Call
46508 grub_term_set_current() before grub_term_unregister().
46509
ebd97f6e 465102007-05-04 Robert Millan <rmh@aybabtu.com>
46511
46512 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46513 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46514 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46515 and update-grub_DATA.
46516 * conf/common.rmk: Build and install update-grub components.
46517 * conf/common.mk: Regenerate.
46518 * util/update-grub.in: New. Core of update-grub.
46519 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46520 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46521 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46522 * util/grub.d/README: New. Document grub.d directory layout.
46523
b06a264d 465242007-05-01 Robert Millan <rmh@aybabtu.com>
46525
46526 * util/grub-emu.c: Move initialization functions
46527 grub_util_biosdisk_init() and grub_init_all() before
46528 grub_util_biosdisk_get_grub_dev(), which relies on them.
46529
41f0050e 465302007-04-19 Robert Millan <rmh@aybabtu.com>
46531
46532 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46533 it is used later.
46534
04582bb3 465352007-04-18 Jerone Young <jerone@gmail.com>
46536
f19dbdb7 46537 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46538 stanza.
46539
08db4632 465402007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46541
08db4632 46542 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46543 continue on and look for device node with real device name.
46544
801b76be 465452007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46546
fe6b695a 46547 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46548 ability.
46549 * Makefile.in: Add autoconf package transformation code.
46550 * util/i386/pc/grub-install.in: Likewise.
46551 * util/powerpc/ieee1275/grub-install.in: Likewise.
46552
6795c4e1 465532007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46554
46555 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46556 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46557 (EXT2_REVISION): Likewise.
46558 (EXT2_INODE_SIZE): Likewise.
46559 (struct grub_ext2_block_group): Added a missing member
46560 "used_dirs".
46561 (grub_ext2_read_inode): Divide by the inode size in a superblock
46562 instead of 128 to obtain INODES_PER_BLOCK.
46563 Use the macro EXT2_INODE_SIZE instead of directly using
46564 SBLOCK->INODE_SIZE.
46565
d70af616 465662007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46567
46568 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46569 superblock instead of the structure size to compute an
46570 offset. This fixes the problem that GRUB could not read a
46571 filesystem when inode size is different from 128-byte.
46572
3b801603 465732007-03-05 Marco Gerards <marco@gnu.org>
46574
46575 * normal/main.c (read_config_file): When "menu" is not set, create
46576 an initial context.
46577
4785bfe4 465782007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46579
46580 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46581 (HEAP_LIMIT): New macro.
46582 (grub_claim_heap): Claim memory up to `heaplimit'.
46583
a0cbb023 465842007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46585
46586 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46587 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46588 (_start): Likewise.
46589 (grub_arch_modules_addr): Return address after `_end'.
46590 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46591 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46592 (add_segments): Calculate `_end' from phdr size and location.
46593 (ALIGN_UP): Moved to ...
46594 * include/grub/misc.h: here.
46595 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46596 New macro.
46597 (GRUB_IEEE1275_MODULE_BASE): Removed.
46598
fd7d8eba 465992007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46600
46601 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46602 loop boundary.
46603
9b09e6fc 466042007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46605
46606 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46607 All users updated.
46608 (grub_elf64_load_hook_t): Likewise.
46609 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46610 debug output.
46611
3ce27299 466122007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46613
46614 * kern/mm.c: Update copyright.
46615 (grub_mm_debug): Correct syntax error.
46616 (grub_mm_dump_free): New function.
46617 (grub_debug_free): Call `grub_free'.
46618 * include/grub/mm.h: Update copyright.
46619 (grub_mm_dump_free): Add declaration.
46620
077d5fee 466212007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46622
46623 * include/grub/ieee1275/ieee1275.h: Update copyright.
46624 * kern/powerpc/ieee1275/init.c: Likewise.
46625 * kern/powerpc/ieee1275/openfw.c: Likewise.
46626
46627 * loader/powerpc/ieee1275/linux.c: Likewise.
46628 * include/grub/elfload.h: Likewise.
46629 * kern/elf.c: Likewise.
46630 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46631 callers.
46632 (grub_elf64_load): Likewise.
46633 (grub_elf32_load_segment): Move to a nested function.
46634 (grub_elf64_load_segment): Likewise.
46635
dc946850 466362007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46637
46638 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46639 prototype.
46640 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46641 (grub_heap_len): Likewise.
46642 (HEAP_SIZE): New macro.
46643 (grub_claim_heap): New function.
46644 (grub_machine_init): Don't claim heap directly. Call
46645 `grub_claim_heap'.
46646 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46647 (grub_available_iterate): New function.
46648
baa2a121 466492007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46650
46651 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46652 * configure.ac: Use it for testing the HOST and TARGET compilers.
46653
4fe9862e 466542006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46655
46656 * Makefile.in (enable_grub_emu): New variable.
46657 * configure.ac (--enable-grub-emu): New option.
46658 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46659 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46660 * conf/i386-pc.rmk: Likewise.
46661 * conf/powerpc-ieee1275.rmk: Likewise.
46662 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46663
a8aa5762 466642006-12-12 Marco Gerards <marco@gnu.org>
46665
46666 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46667
46668 * kern/env.c (grub_env_unset): Don't free the member `value' when
46669 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46670 pointer.
46671
46672 * normal/main.c (current_menu): Removed.
46673 (free_menu): Unset the `menu' environment variable.
46674 (grub_normal_menu_addentry): Make use of the environment variable
46675 `menu', instead of using the global `current_menu'. Allocate
46676 memory for the sourcecode of this entry.
46677 (read_config_file): New argument `nested', changed all callers.
46678 Only in the case of a new context, initialize a new menu. Set the
46679 `menu' environment variable.
46680 (grub_normal_execute): Don't set and unset the environment
46681 variable `menu' here anymore. Only free the menu when leaving the
46682 context.
46683
46684 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46685 leak.
46686
957b3a3e 466872006-12-11 Marco Gerards <marco@gnu.org>
46688
46689 * normal/menu_entry.c (run): Fix off by one bug so the last line
46690 is executed. Move the loader check to outside the loop.
46691
ef875714 466922006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46693
46694 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46695
4e739985 466962006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46697
46698 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46699 the number of sectors. Reported by Andrey Shuvikov
46700 <mr_hyro@yahoo.com>.
f19dbdb7 46701
790707f2 467022006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46703
46704 * kern/disk.c (grub_disk_read): When there is a read error, always
46705 try to read only the necessary data.
f19dbdb7 46706
790707f2 46707 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46708 disk/raid.c.
46709 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46710 prototype.
46711 [GRUB_UTIL] (grub_raid_fini): Likewise.
46712 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46713 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46714 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46715 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46716 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46717 and grub_raid_fini().
f19dbdb7 46718
03e58196 467192006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46720
46721 * include/grub/types.h (__unused): Rename to UNUSED.
46722 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46723 (grub_elf64_size): Likewise.
f19dbdb7 46724
ae4f23bf 467252006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46726
46727 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46728 grub_error_push and grub_error_pop in the error-handling path.
46729 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46730 length.
46731
2166cc83 467322006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46733
46734 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46735 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46737 (kernel_elf_SOURCES): Likewise.
46738 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46739 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46740 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46741 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46742 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46743 (elf_mod_SOURCES): New variable.
46744 (elf_mod_CFLAGS): Likewise.
46745 (elf_mod_LDFLAGS): Likewise.
46746 * include/grub/types.h (__unused): New macro.
46747 * include/grub/elfload.h: New file.
46748 * kern/elf.c: Likewise.
46749 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46750 (ELF32_LOADMASK): New macro.
46751 (ELF64_LOADMASK): Likewise.
46752 (vmlinux): Removed.
46753 (grub_linux_load32): New function.
46754 (grub_linux_load64): Likewise.
46755 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46756 Use grub_elf_t instead of grub_file_t.
46757
a09d5aa5 467582006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46759
46760 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46761 `catch_result' to struct set_color_args.
46762
d976fc51 467632006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46764
46765 * normal/menu.c: Include grub/script.h.
46766 * normal/menu_entry.c: Likewise.
46767 * include/grub/normal.h: Do not include grub/script.h.
46768
67507549 467692006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46770
46771 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46772
69203a99 467732006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46774
46775 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46776 disk.
46777 (grub_disk_close): Print debug messages when closing a disk.
46778 (grub_disk_read): Print debug messages when disk read fails.
46779 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46780 filesystem type.
46781 * kern/partition.c: Include misc.h.
46782 (grub_partition_iterate): Print debug messages when detecting
46783 partition type.
46784
e2b8278c 467852006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46786
46787 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46788 is negative.
46789 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46790
97b2f2ff 467912006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46792
46793 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46794 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46795
6555d655 467962006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46797
46798 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46799 instead of sizeof(lv). Patch by Michael Guntsche.
46800
4d42b77f 468012006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46802
46803 * disk/lvm.c: Rename VGS to VG_LIST.
46804 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46805 (grub_lvm_open): Likewise.
46806 Thanks to Michael Guntsche for finding this bug.
46807
5d74d927 468082006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46809
46810 * configure.ac (AC_INIT): Bumped to 1.95.
46811
a1bb27e4 468122006-10-14 Robert Millan <rmh@aybabtu.com>
46813
46814 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46815 with "/dev/.static/dev/md".
46816
e0994b8b 468172006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46818
46819 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46820 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46821 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46822 DRIVE_NAME are always freed.
46823
46824 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46825 DOS_PART, as a DOS partition is counted from one instead of zero
46826 now. Reported by Robert Millan.
46827
ddd5cee9 468282006-10-14 Robert Millan <rmh@aybabtu.com>
46829
46830 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46831 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46832 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46833 string returned by grub_guess_root_device.
46834 * util/i386/pc/grub-setup.c: Likewise.
46835 * util/i386/pc/grub-probefs.c: Likewise.
46836
46837 * util/i386/pc/grub-probefs.c: Rename to ...
46838 * util/i386/pc/grub-probe.c: ... this.
46839 * DISTLIST: Remove grub-probefs, add grub-probe.
46840 * conf/i386-efi.rmk: Likewise.
46841 * conf/i386-pc.rmk: Likewise.
46842 * util/i386/pc/grub-install.in: Likewise.
46843
46844 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46845 choose which information we want to print.
46846
2b002173 468472006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46848
46849 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46850 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46851 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46852 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46853 video/readers/tga.c and video/i386/pc/vbeutil.c.
46854
468552006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46856
46857 Added support for RAID and LVM.
f19dbdb7 46858
2b002173 46859 * disk/lvm.c: New file.
46860 * disk/raid.c: Likewise.
46861 * include/grub/lvm.h: Likewise.
f19dbdb7 46862 * include/grub/raid.h: Likewise.
2b002173 46863 * include/grub/util/lvm.h: Likewise.
46864 * include/grub/util/raid.h: Likewise.
46865 * util/lvm.c: Likewise.
46866 * util/raid.c: Likewise.
46867
46868 * include/grub/disk.h (grub_disk_dev_id): Add
46869 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46870 (grub_disk_get_size): New prototype.
46871 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46872 returns a partition.
46873 (grub_disk_get_size): New function.
f19dbdb7 46874
2b002173 46875 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46876 verbatim if grub_install_dos_part is -2.
46877
46878 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46879 and LVM devices.
46880
46881 * util/i386/pc/grub-setup.c (setup): New argument
46882 MUST_EMBED. Force embedding of GRUB when the argument is
46883 true. Close FILE before returning.
46884 (main): Add support for RAID and LVM.
f19dbdb7 46885
2b002173 46886 * conf/common.rmk: Add RAID and LVM modules.
46887 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46888 util/lvm.c.
46889 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46890
46891 * kern/misc.c (grub_strstr): New function.
46892 * include/grub/misc.h (grub_strstr): New prototype.
46893
050548d0 468942006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46895
46896 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46897
da849d2d 468982006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46899
46900 * kern/misc.c (grub_strtoull): Guess the base only if not
46901 specified.
46902
97b2f2ff 469032006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 46904
46905 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46906 PowerMac support.
46907
97b2f2ff 469082006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 46909
46910 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46911
46912 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46913 Remove `flags' argument. All callers changed.
46914 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46915 (IEEE1275_IHANDLE_INVALID): New variable.
46916 (IEEE1275_CELL_INVALID): New variable.
46917 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46918 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46919 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46920 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46921 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46922 codes from Open Firmware. All callers updated.
46923 (grub_ieee1275_next_property): Directly return Open Firmware return
46924 code.
46925 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46926 Standardize error checking from `grub_ieee1275_get_property'.
46927 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46928 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46929
97b2f2ff 469302006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46931
46932 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46933 `instance_to_package_args' to `instance_to_path_args'.
46934
46935 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46936 `grub_ieee1275_chosen'.
46937
46938 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46939 `grub_ieee1275_interpret'.
46940
97b2f2ff 469412006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46942
46943 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46944
97b2f2ff 469452006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46946
46947 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46948 (__cmpdi): Likewise.
46949
46950 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46951 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46952 `grub_ssize_t'.
46953
02bb8acc 46954 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46955
46956 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46957 to type `grub_ssize_t'.
46958 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46959
7f9a8531 469602006-09-22 Marco Gerards <marco@gnu.org>
46961
46962 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46963 newlines.
46964
b5ef1102 469652006-09-22 Marco Gerards <marco@gnu.org>
46966
46967 * commands/echo.c: New file.
46968
46969 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46970
46971 * conf/common.rmk (echo_mod_SOURCES): New variable.
46972 (echo_mod_CFLAGS): Likewise.
46973 (echo_mod_LDFLAGS): Likewise.
46974
2cff3677 469752006-09-22 Marco Gerards <marco@gnu.org>
46976
46977 * normal/main.c (get_line): Malloc memory instead of using
46978 preallocated memory. Removed the arguments `cmdline' and
46979 `max_len'. Updated all callers.
46980
6ba4688b 469812006-09-22 Marco Gerards <marco@gnu.org>
46982
46983 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46984 (normal_mod_DEPENDENCIES): Likewise.
46985
46986 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46987 (normal_mod_DEPENDENCIES): Likewise.
46988
46989 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46990
e02ac02c 469912006-09-22 Johan Rydberg <jrydberg@gnu.org>
46992
46993 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46994 programs.
46995 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46996 (normal_mod_DEPENDENCIES): Likewise.
46997 * conf/i386-pc.mk: Regenerate.
46998 * conf/i386-efi.mk: Likewise
46999 * conf/common.mk: Likewise.
47000 * conf/powerpc-ieee1275.mk: Likewise.
47001 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47002
8d252e44 470032006-09-22 Robert Millan <rmh@aybabtu.com>
47004
47005 Sync with i386 version.
47006 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
47007 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
47008
209bf7ac 470092006-09-21 Robert Millan <rmh@aybabtu.com>
47010
47011 Import from GRUB Legacy (lib/device.c):
47012 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
47013 (init_device_map) [__linux__]: Add support for I2O devices.
47014
6b146090 470152006-09-14 Marco Gerards <marco@gnu.org>
47016
47017 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
47018 `-melf_i386'.
47019
e38600a8 470202006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 47021
47022 * util/i386/pc/grub-install.in: Skip menu.lst when removing
47023 /boot/grub/*.lst.
78fa1790 47024
2952da5d 47025 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 47026
2952da5d 47027 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
47028 before adding it to device.map.
47029
01b82a64 470302006-08-15 Johan Rydberg <jrydberg@gnu.org>
47031
fe6b695a 47032 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 47033 compiles a file; using the -MD option.
47034 * conf/common.mk: Regenerate.
47035 * conf/i386-pc.mk: Likewise.
47036 * conf/i386-efi.mk: Likewise.
47037 * conf/powerpc-ieee1275.mk: Likewise.
47038 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47039
1064790d 470402006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47041
47042 Move the prototypes of grub_setjmp and grub_longjmp to
47043 cpu/setjmp.h, so that each architecture may specify different
47044 attributes.
f19dbdb7 47045
1064790d 47046 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47047 (grub_longjmp): Likewise.
47048 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47049 (grub_longjmp): Likewise.
47050 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47051 (grub_longjmp): Likewise.
47052
47053 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47054 [!GRUB_UTIL] (grub_longjmp): Removed.
47055
29dda3ed 470562006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47057
47058 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47059 "color!" method does not return any value.
47060
ad2a06ed 470612006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47062
47063 * include/grub/bitmap.h: New file.
47064
47065 * include/grub/i386/pc/vbeutil.h: Likewise.
47066
47067 * video/bitmap.c: Likewise.
47068
47069 * video/readers/tga.c: Likewise.
47070
47071 * video/i386/pc/vbeutil.c: Likewise.
47072
47073 * commands/videotest.c: Code cleanup and updated to reflect to new
47074 video API.
47075
47076 * term/gfxterm.c: Likewise.
47077
47078 * video/video.c: Likewise.
47079
47080 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47081 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47082 (bitmap_mod_SOURCES): New entry.
47083 (bitmap_mod_CFLAGS): Likewise.
47084 (bitmap_mod_LDFLAGS): Likewise.
47085 (tga_mod_SOURCES): Likewise.
47086 (tga_mod_CFLAGS): Likewise.
47087 (tga_mod_LDFLAGS): Likewise.
47088
47089 * include/grub/video.h (grub_video_blit_operators): New enum type.
47090 (grub_video_render_target): Changed as forward declaration and moved
47091 actual definition to be video driver specific.
47092 (grub_video_adapter.blit_bitmap): Added blitting operator.
47093 (grub_video_adapter.blit_render_target): Likewise.
47094 (grub_video_blit_bitmap): Likewise.
47095 (grub_video_blit_render_target): Likewise.
47096
47097 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47098 driver specific render target definition.
47099 (grub_video_vbe_map_rgba): Added driver internal helper.
47100 (grub_video_vbe_unmap_color): Updated to use
47101 grub_video_i386_vbeblit_info.
47102 (grub_video_vbe_get_video_ptr): Likewise.
47103
47104 * include/grub/i386/pc/vbeblit.h
47105 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47106 grub_video_i386_vbeblit_info.
47107 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47108 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47109 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47110 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47111 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47112 (grub_video_i386_vbeblit_index_index): Likewise.
47113 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47114 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47115 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47116 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47117 operator.
47118 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47119 operator.
47120
47121 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47122 include/grub/i386/pc/vbeblit.h.
47123
47124 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47125 Updated to use grub_video_i386_vbeblit_info.
47126 (grub_video_i386_vbefill_R8G8B8): Likewise.
47127 (grub_video_i386_vbefill_index): Likewise.
47128 (grub_video_i386_vbefill): Added generic filler.
47129
47130 * video/i386/pc/vbefill.c: Updated to reflect changes on
47131 include/grub/i386/pc/vbefill.h.
47132
47133 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47134 grub_video_i386_vbeblit_info.
47135 (grub_video_vbe_unmap_color): Likewise.
47136 (grub_video_vbe_blit_glyph): Likewise.
47137 (grub_video_vbe_scroll): Likewise.
47138 (grub_video_vbe_draw_pixel): Removed function.
47139 (grub_video_vbe_get_pixel): Likewise.
47140 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47141 updated code to use it.
47142 (common_blitter): Added common blitter for render target and bitmap.
47143 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47144 (grub_video_vbe_blit_render_target): Likewise.
47145
bc8c036d 471462006-07-30 Johan Rydberg <jrydberg@gnu.org>
47147
47148 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47149 is in text mode if there is no console control protocol instance
47150 available.
47151
684a8eff 471522006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47153
47154 * include/grub/video.h: Code cleanup.
47155
47156 * include/grub/i386/pc/vbe.h: Likewise.
47157
47158 * video/i386/pc/vbe.c: Likewise.
47159
47160 * video/i386/pc/vbeblit.c: Likewise.
47161
47162 * video/i386/pc/vbefill.c: Likewise.
47163
47164 * video/video.c: Likewise. Also added more comments.
47165
5915059b 471662006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47167
47168 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
47169 (struct grub_biosdisk_dap): Likewise.
47170
47171 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47172 linkage settings for all functions.
47173
90ce5d56 471742006-07-12 Marco Gerards <marco@gnu.org>
47175
47176 * configure.ac (--enable-mm-debug): Fix typo.
47177
47178 * genkernsyms.sh.in: Use proper quoting for `CC'.
47179
43e7f879 471802006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47181
47182 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47183 (normal_mod_ASFLAGS): Remove "-m32".
47184
4889bdec 471852006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47186
47187 * util/misc.c: Include config.h.
47188 [!HAVE_MEMALIGN]: Do not include malloc.h.
47189 (grub_memalign): Use posix_memalign, if present. Then, use
47190 memalign, if present. Otherwise, emit an error.
47191
47192 * util/grub-emu.c: Do not include malloc.h.
47193
47194 * include/grub/util/misc.h: Include unistd.h. This is required for
47195 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
47196 D. Eades III <hde@foobar-qux.org>.
47197
47198 * configure.ac (AC_GNU_SOURCE): Added.
47199 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
47200 type.
47201
fd39d4da 472022006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47203
47204 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47205 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47206
b786f3b5 472072006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47208
47209 * include/grub/types.h (grub_host_addr_t): Rename to
47210 grub_target_addr_t.
47211 (grub_host_off_t): Rename to grub_target_off_t.
47212 (grub_host_size_t): Rename to grub_target_size_t.
47213 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47214 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47215
47216 * include/grub/kernel.h (struct grub_module_header): Change type
47217 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47218 (grub_module_info): Likewise.
f19dbdb7 47219
051988bb 472202006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47221
47222 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47223 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47224 Velazquez <jesus.velazquez@gmail.com>.
47225
deae281b 472262006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47227
47228 Count partitions from 1 instead of 0 in the string representation
47229 of partitions. Still use 0-based internally.
f19dbdb7 47230
deae281b 47231 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47232 (sun_partition_map_iterate): Use grub_partition_t instead of
47233 struct grub_partition *. Cast DESC->START_CYLINDER to
47234 grub_uint64_t after converting the endian.
47235 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47236 (sun_partition_map_get_name): Add 1 to P->INDEX.
47237
47238 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47239 PCDATA->DOS_PART.
47240 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47241
47242 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47243 zero instead of one.
47244 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47245 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47246
47247 * partmap/apple.c (apple_partition_map_iterate): Change the type
47248 of POS to unsigned.
47249 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47250 (apple_partition_map_get_name): Add 1 into P->INDEX.
47251
47252 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47253 of POS to unsigned.
47254 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47255 calculate the offset of a partition.
47256 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47257 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47258
47259 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47260 SECTOR to grub_disk_addr_t.
47261 (acorn_partition_map_iterate): Likewise.
47262 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47263 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47264 top.
47265 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47266
47267 * kern/i386/pc/init.c (make_install_device): Add 1 into
47268 GRUB_INSTALL_DOS_PART.
47269
47270 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47271 conditional.
47272
524a1e6a 472732006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47274
47275 Clean up the code to support 64-bit addressing in disks and
47276 files. This change is not enough for filesystems yet.
f19dbdb7 47277
524a1e6a 47278 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47279 type of "start" to grub_uint64_t.
47280 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47281 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47282 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47283 convert addresses.
47284
47285 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47286 to grub_disk_addr_t.
47287
47288 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47289 string.
47290
47291 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47292
47293 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47294 to char *.
47295
47296 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47297
47298 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47299
47300 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47301
47302 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47303 to grub_off_t, to detect an error from grub_file_seek.
47304 (grub_multiboot_load_elf32): Likewise.
47305
47306 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47307 maximum unsigned long value when an overflow is detected.
47308 (grub_strtoull): New function.
47309 (grub_divmod64): Likewise.
47310 (grub_lltoa): use grub_divmod64.
47311
47312 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47313 grub_disk_addr_t.
47314 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47315 the pointer to next character. Use grub_strtoull instead of
47316 grub_strtoul.
47317 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47318 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47319 respectively.
47320
fe6b695a 47321 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 47322 return value is signed.
47323 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47324 test if OFFSET is less than zero, as OFFSET is unsigned now.
47325
47326 * kern/disk.c (struct grub_disk_cache): Change the type of
47327 "sector" to grub_disk_addr_t.
47328 (grub_disk_cache_get_index): Change the type of SECTOR to
47329 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47330 unsigned after shifting.
47331 (grub_disk_cache_invalidate): Change the type of SECTOR to
47332 grub_disk_addr_t.
47333 (grub_disk_cache_unlock): Likewise.
47334 (grub_disk_cache_store): Likewise.
47335 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47336 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47337 grub_disk_addr_t and grub_uint64_t, respectively.
47338 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47339 body, as the value of OFFSET is tweaked by
47340 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47341 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47342 respectively.
47343 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47344 body, as the value of OFFSET is tweaked by
47345 grub_disk_check_range. Change the types of LEN and N to
47346 grub_size_t.
47347
47348 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47349 and "saved_offset" to grub_off_t.
47350 (test_header): Cast BUF to char *.
47351 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47352 to char *.
47353 (grub_gzio_read): Change the types of OFFSET and SIZE to
47354 grub_off_t and grub_size_t, respectively.
47355
47356 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47357 Removed.
47358 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47359 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47360 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47361 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47362 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47363
47364 * include/grub/types.h (grub_off_t): Unconditionally set to
47365 grub_uint64_t.
47366 (grub_disk_addr_t): Changed to grub_uint64_t.
47367
47368 * include/grub/partition.h (struct grub_partition): Change the
47369 types of "start", "len" and "offset" to grub_disk_addr_t,
47370 grub_uint64_t and grub_disk_addr_t, respectively.
47371 (grub_partition_get_start): Return grub_disk_addr_t.
47372 (grub_partition_get_len): Return grub_uint64_t.
47373
47374 * include/grub/misc.h (grub_strtoull): New prototype.
47375 (grub_divmod64): Likewise.
47376
47377 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47378 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47379 grub_off_t, respectively.
47380 All callers and references changed.
47381
47382 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47383 grub_size_t in "read".
47384 All callers and references changed.
47385
47386 * include/grub/file.h (struct grub_file): Change the types of
47387 "offset" and "size" to grub_off_t and grub_off_t,
47388 respectively. Change the type of SECTOR to grub_disk_addr_t in
47389 "read_hook".
47390 (grub_file_read): Change the type of LEN to grub_size_t.
47391 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47392 grub_off_t.
47393 (grub_file_size): Return grub_off_t.
47394 (grub_file_tell): Likewise.
47395 All callers and references changed.
47396
47397 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47398 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47399 "write".
47400 (struct grub_disk): Change the type of "total_sectors" to
47401 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 47402 "read_hook".
524a1e6a 47403 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47404 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47405 (grub_disk_write): Likewise.
47406 All callers and references changed.
47407
47408 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47409 char * for grub_strncmp to silence gcc.
47410 (grub_iso9660_mount): Likewise.
47411 (grub_iso9660_mount): Likewise.
47412 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47413 return statement.
47414 (grub_iso9660_iterate_dir): Likewise.
47415 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47416
47417 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47418 LEN to grub_disk_addr_t and grub_size_t, respectively.
47419
47420 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47421
47422 * fs/jfs.c (grub_jfs_read_file): Likewise.
47423
47424 * fs/minix.c (grub_jfs_read_file): Likewise.
47425
47426 * fs/sfs.c (grub_jfs_read_file): Likewise.
47427
47428 * fs/ufs.c (grub_jfs_read_file): Likewise.
47429
47430 * fs/xfs.c (grub_jfs_read_file): Likewise.
47431
47432 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47433 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47434 respectively.
47435
47436 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47437 BLKNR to -1 instead of returning GRUB_ERRNO.
47438 (grub_ext2_read_file): Change the types of SECTOR and
47439 LEN to grub_disk_addr_t and grub_size_t, respectively.
47440
47441 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47442 LEN to grub_disk_addr_t and grub_size_t, respectively.
47443
47444 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47445 grub_file_read.
47446
47447 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47448 string. Do not cast SECTOR explicitly.
47449
47450 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47451 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47452 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47453 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47454 over 2TB and LBA mode is not supported, raise an error.
47455 (get_safe_sectors): New function.
47456 (grub_biosdisk_read): Use get_safe_sectors.
47457 (grub_biosdisk_write): Likewise.
47458
47459 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47460 (grub_efidisk_write): Likewise.
47461
47462 * disk/loopback.c (delete_loopback): Cosmetic changes.
47463 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47464 correctly.
47465 (grub_loopback_open): Likewise.
47466 (grub_loopback_read): Likewise. Also, change the type of POS to
47467 grub_off_t, and fix the usage of grub_memset.
47468
47469 * commands/i386/pc/play.c: Include grub/machine/time.h.
47470
47471 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47472 print FILE->SIZE.
47473
47474 * commands/configfile.c: Include grub/env.h.
47475
47476 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47477 GRUB_ERRNO directly instead. Change the type of POS to
47478 grub_off_t. Follow the coding standard.
47479
47480 * commands/blocklist.c: Include grub/partition.h.
47481 (grub_cmd_blocklist): Return an error if the underlying device is
47482 not a disk. Take the starting sector of a partition into account,
47483 if a partition is used.
47484
47485 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47486 a length field.
47487 (lba_mode): Support 64-bit addresses.
47488 (chs_mode): Likewise.
47489 (copy_buffer): Adapted to the new offsets of a length field and a
47490 segment field.
47491 (blocklist_default_start): Allocate 64-bit space.
47492
47493 * boot/i386/pc/boot.S (force_lba): Removed.
47494 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47495 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47496 space.
47497 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47498 is useless.
47499 (lba_mode): Refactored to support a 64-bit address. More size
47500 optimization.
47501 (setup_sectors): Likewise.
47502
53af98ad 475032006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47504
47505 * DISTLIST: Added include/grub/i386/linux.h. Removed
47506 include/grub/i386/pc/linux.h
47507
47508 * configure.ac (AC_INIT): Bumped to 1.94.
47509
47510 * config.guess: Updated from gnulib.
47511 * config.sub: Likewise.
47512 * install-sh: Likewise.
47513 * mkinstalldirs: Likewise.
47514
b4c1940a 475152006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47516
47517 * conf/common.rmk (grub_modules_init.lst): Depended on
47518 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47519 MODSRCFILES.
47520
47521 * genmk.rb (PModule::rule): Reverted the previous change.
47522
cfca1cfd 475232006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47524
47525 * conf/common.rmk (grub_modules_init.lst): Depends on
47526 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47527 that the target does not exist before producing.
47528 (grub_modules_init.h): Remove the target before generating.
47529 (grub_emu_init.c): Likewise.
47530
47531 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47532
aa6d7826 475332006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47534
47535 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47536 for the target-specific tests. Make sure that we also have the
47537 up-to-date target variables for those tests.
47538
26c607b9 475392006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47540
47541 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47542 (PModule::rule): Likewise.
47543
0162321a 475442006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47545
47546 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47547 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47548 target-specific flags should be prefixed.
47549 (PModule::rule): Likewise.
47550
6c826348 475512006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47552
47553 * configure.ac (CMP): Check if cmp is available explicitly.
47554
b977bf01 475552006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47556
47557 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47558 (target_cpu): New variable.
47559 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47560
b977bf01 47561 * util/i386/pc/grub-install.in (host_cpu): Removed.
47562 (target_cpu): New variable.
47563 (pkglibdir): Use target_cpu instead of host_cpu.
47564
47565 * util/genmoddep.c: Removed.
f19dbdb7 47566
b977bf01 47567 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47568 instead of GRUB_HOST_SIZEOF_VOID_P.
47569 * kern/dl.c: Likewise.
47570
47571 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47572 ...
47573 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47574 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47575 (GRUB_TARGET_SIZEOF_LONG): ... this.
47576 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47577 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47578 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47579 to ...
47580 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47581 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47582 (GRUB_TARGET_SIZEOF_LONG): ... this.
47583 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47584 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47585 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47586 to ...
47587 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47588 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47589 (GRUB_TARGET_SIZEOF_LONG): ... this.
47590 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47591 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47592
47593 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47594 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47595 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47596 instead of GRUB_HOST_SIZEOF_LONG.
47597 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47598 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47599 GRUB_CPU_WORDS_BIGENDIAN.
47600 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47601 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47602 grub_host_ssize_t.
47603
47604 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47605 (genmoddep_SOURCES): Likewise.
47606 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47607 (genmoddep_SOURCES): Likewise.
47608 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47609 (genmoddep_SOURCES): Likewise.
47610 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47611 Likewise.
47612 (genmoddep_SOURCES): Likewise.
47613
47614 * genmoddep.awk: New file.
47615
47616 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47617 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47618 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47619 (PModule::rule): Likewise.
47620 (Program::rule): Likewise.
47621 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47622 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47623 respectively.
47624
47625 * configure.ac: Rewritten intensively to use host and target
47626 instead of build and host, respectively.
47627
47628 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47629 (host_cpu): Removed.
47630 (target_cpu): New variable.
47631 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47632 (BUILD_CC): Removed.
47633 (BUILD_CFLAGS): Likewise.
47634 (BUILD_CPPFLAGS): Likewise.
47635 (TARGET_CC): New variable.
47636 (TARGET_CFLAGS): Likewise.
47637 (TARGET_CPPFLAGS): Likewise.
47638 (TARGET_LDFLAGS): Likewise.
47639 (AWK): Likewise.
47640 (include): Use target_cpu instead of host_cpu.
47641 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47642
b977bf01 47643 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47644
f09771a1 476452006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47646
47647 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47648 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47649 field 'false' to 'exec_on_false'.
47650 (grub_script_create_cmdif): Renamed argument names to reflect above
47651 changes.
47652
47653 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47654
47655 * normal/script.c (grub_script_create_cmdif): Likewise.
47656
118f4fb3 476572006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47658
47659 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47660 top.
47661 (grub_hfsplus_btree_recptr): Likewise.
47662 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47663 FILEBLOCK both to pass a block number and store next block
47664 number.
47665 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47666 overflow file correctly. Specify errors appropriately, because
47667 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47668 grub_hfsplus_btree_recptr to get the pointer to a found key.
47669 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47670 is found.
47671
47672 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47673 linux.mod.
47674 (_linux_mod_SOURCES): New variable.
47675 (_linux_mod_CFLAGS): Likewise.
47676 (_linux_mod_LDFLAGS): Likewise.
47677 (linux_mod_SOURCES): Likewise.
47678 (linux_mod_CFLAGS): Likewise.
47679 (linux_mod_LDFLAGS): Likewise.
47680
47681 * DISTLIST: Added loader/i386/efi/linux.c,
47682 loader/i386/efi/linux_normal.c and
47683 include/grub/i386/efi/loader.h.
47684
47685 * loader/i386/efi/linux.c: New file.
47686 * loader/i386/efi/linux_normal.c: Likewise.
47687 * include/grub/i386/efi/loader.h: Likewise.
47688
89a7d726 476892006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47690
47691 * commands/blocklist.c: New file.
47692
47693 * DISTLIST: Added commands/blocklist.c.
47694
47695 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47696 color for the background, and a darker color for the foreground.
89a7d726 47697 (grub_console_checkkey): Return READ_KEY.
47698 (grub_console_cls): Set the background to
47699 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47700
47701 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47702
47703 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47704 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47705
47706 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47707 prototype.
47708
47709 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47710 BG. The spec is wrong again.
47711
47712 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47713 prototype.
47714 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47715
47716 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47717 commands/blocklist.c.
47718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47719
89a7d726 47720 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47721 (blocklist_mod_SOURCES): New variable.
47722 (blocklist_mod_CFLAGS): Likewise.
47723 (blocklist_mod_LDFLAGS): Likewise.
47724
75c8f258 477252006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47726
47727 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47728 duplication.
47729 (lba_mode): Use %eax more intensively to reduce the code size.
47730
da2eb181 477312006-05-20 Marco Gerards <marco@gnu.org>
47732
47733 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47734
47735 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47736 for `menuentry'.
47737 (script): Accept leading newlines.
47738 (newlines): New rule to describe 0 or more newlines.
47739 (commands): Accept `command' with trailing newline. Fixed the
47740 order in which arguments were passed to `grub_script_add_cmd'.
47741 Accept commands separated by newlines.
47742 (function): Changed to accept newlines.
47743 (menuentry) Rewritten.
47744
47745 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47746 front of the list, instead of to the end.
47747
577b4050 477482006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47749
47750 * util/i386/pc/grub-install.in (bindir): New variable.
47751 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47752 Shaver <lbgwjl@gmail.com>.
47753
0d6e1189 477542006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47755
47756 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47757 grub/machine/linux.h
47758 * loader/i386/pc/linux.c: Likewise.
47759
47760 * include/grub/i386/pc/linux.h: Moved to ...
47761 * include/grub/i386/linux.h: ... here.
47762
47763 * include/grub/i386/linux.h (struct linux_kernel_params): New
47764 struct.
f19dbdb7 47765
31b86e9f 477662006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47767
47768 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47769 checking.
47770 (grub_video_vbe_blit_glyph): Likewise.
47771 (grub_video_vbe_blit_bitmap): Likewise.
47772 (grub_video_vbe_blit_render_target): Likewise.
47773
83b984de 477742006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47775
47776 * configure.ac (--with-platform): Properly quote the square
47777 brackets.
47778
5f0413bd 477792006-05-08 Marco Gerards <marco@gnu.org>
47780
47781 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47782 this...
47783 (kernel_elf_HEADERS): ...to this. Updated all users.
47784 (grubof_symlist.c): Renamed from this...
47785 (kernel_elf_symlist.c): ...to this. Updated all users.
47786 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47787 (grubof_SOURCES): Renamed from this...
47788 (kernel_elf_SOURCES): ...to this.
47789 (grubof_HEADERS): Renamed from this...
47790 (kernel_elf_HEADERS): ...to this.
47791 (grubof_CFLAGS): Renamed from this...
47792 (kernel_elf_CFLAGS): ...to this.
47793 (grubof_ASFLAGS): Renamed from this...
47794 (kernel_elf_ASFLAGS): ...to this.
47795 (grubof_LDFLAGS): Renamed from this...
47796 (kernel_elf_LDFLAGS): ...to this.
47797
47798 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47799 this...
47800 (kernel_elf_HEADERS): ...to this. Updated all users.
47801 (grubof_symlist.c): Renamed from this...
47802 (kernel_elf_symlist.c): ...to this. Updated all users.
47803 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47804 (grubof_SOURCES): Renamed from this...
47805 (kernel_elf_SOURCES): ...to this.
47806 (grubof_HEADERS): Renamed from this...
47807 (kernel_elf_HEADERS): ...to this.
47808 (grubof_CFLAGS): Renamed from this...
47809 (kernel_elf_CFLAGS): ...to this.
47810 (grubof_ASFLAGS): Renamed from this...
47811 (kernel_elf_ASFLAGS): ...to this.
47812 (grubof_LDFLAGS): Renamed from this...
47813 (kernel_elf_LDFLAGS): ...to this.
47814
47815 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47816 `kernel.elf' instead of `grubof'.
47817
05568c2e 478182006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47819
47820 Add --with-platform to configure. Use pkglibdir instead of
47821 pkgdatadir. This is reported by Roger Leigh.
47822
47823 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47824 (host_vendor): Likewise.
47825 (host_os): Likewise.
47826 (pkgdatadir): Likewise.
47827 (platform): New variable.
47828 (pkglibdir): Likewise.
47829 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47830
05568c2e 47831 * util/i386/pc/grub-install.in (datadir): Removed.
47832 (host_vendor): Likewise.
47833 (host_os): Likewise.
47834 (pkgdatadir): Likewise.
47835 (platform): New variable.
47836 (pkglibdir): Likewise.
47837 Use PKGLIBDIR instead of PKGDATADIR.
47838
47839 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47840 instead of GRUB_DATADIR.
47841 (main): Likewise.
47842 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47843 (main): Likewise.
47844 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47845 (main): Likewise.
47846
47847 * configure.ac (--with-platform): New option.
47848 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47849
47850 * Makefile.in: Include a makefile based on PLATFORM instead of
47851 HOST_VENDOR.
47852 (pkgdatadir): Not appended by the machine type.
47853 (pkglibdir): Appended by the machine type.
47854 (host_vendor): Removed.
47855 (platform): New variable.
47856 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47857 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47858 (uninstall): Likewise.
47859
4e93851c 478602006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47861
47862 Use the environment context in the menu. Remove the commands
47863 "default" and "timeout", and use variables instead.
f19dbdb7 47864
4e93851c 47865 * normal/menu.c: Include grub/env.h.
47866 (print_entry): Cast TITLE to silence gcc.
47867 (get_timeout): New function.
47868 (set_timeout): Likewise.
47869 (get_entry_number): Likewise.
47870 (run_menu): Use a default entry, a fallback entry and a timeout
47871 in the environment variables "default", "fallback" and
47872 "timeout". Also, tweak the default entry if it is not within the
47873 current menu entries.
47874 (grub_menu_run): Use a fallback entry in the environment variable
47875 "fallback".
47876
47877 * normal/main.c (read_config_file): Do not initialize
47878 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47879 NEWMENU->TIMEOUT.
47880 (grub_normal_execute): Use a data slot to store the menu.
47881
47882 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47883 fallback_entry and timeout.
47884 (struct grub_menu_list): Removed.
47885 (grub_menu_list_t): Likewise.
47886 (struct grub_context): Likewise.
47887 (grub_context_t): Likewise.
47888 (grub_context_get): Likewise.
47889 (grub_context_get_current_menu): Likewise.
47890 (grub_context_push_menu): Likewise.
47891 (grub_context_pop_menu): Likewise.
47892 (grub_default_init): Likewise.
47893 (grub_default_fini): Likewise.
47894 (grub_timeout_init): Likewise.
47895 (grub_timeout_fini): Likewise.
47896
47897 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47898 and timeout.mod.
47899 (normal_mod_SOURCES): Removed normal/context.c.
47900
47901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47902 commands/default.c, commands/timeout.c and normal/context.c.
47903 (normal_mod_SOURCES): Removed normal/context.c.
47904
47905 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47906 commands/timeout.c and normal/context.c.
47907 (normal_mod_SOURCES): Removed normal/context.c.
47908
47909 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47910 commands/default.c, commands/timeout.c and normal/context.c.
47911 (normal_mod_SOURCES): Removed normal/context.c.
47912
47913 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47914 timeout.mod.
47915 (default_mod_SOURCES): Removed.
47916 (default_mod_CFLAGS): Likewise.
47917 (default_mod_LDFLAGS): Likewise.
47918 (timeout_mod_SOURCES): Removed.
47919 (timeout_mod_CFLAGS): Likewise.
47920 (timeout_mod_LDFLAGS): Likewise.
47921
47922 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47923 normal/context.c.
47924
47925 * commands/default.c: Removed.
47926 * commands/timeout.c: Likewise.
47927 * normal/context.c: Likewise.
47928
1eb9cc1d 479292006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47930
47931 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47932
385bd9c1 479332006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47934
47935 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47936 "next" to "prev" for readability.
47937 (struct grub_env_sorted_var): New struct.
47938 (grub_env_context): Renamed to ...
47939 (initial_context): ... this.
47940 (grub_env_var_context): Renamed to ...
47941 (current_context): ... this.
47942 (grub_env_find): Look only at CURRENT_CONTEXT.
47943 (grub_env_context_open): Rewritten to copy exported variables from
47944 previous context.
47945 (grub_env_context_close): Rewritten according to the new
47946 scheme. Also, add an assertion to prevent the initial context from
47947 removed.
47948 (grub_env_insert): Removed the code for the sorted list.
47949 (grub_env_remove): Likewise.
47950 (grub_env_export): Simply mark the variable with
47951 GRUB_ENV_VAR_GLOBAL.
47952 (grub_env_set): A cosmetic change for naming consistency.
47953 (grub_env_get): Likewise.
47954 (grub_env_unset): Likewise.
47955 (grub_env_iterate): Rewritten to sort variables within this
47956 function.
47957 (grub_register_variable_hook): Fixed for naming consistency. Call
47958 grub_env_find again, only if NAME is not found at the first time.
47959 (mangle_data_slot_name): New function.
47960 (grub_env_set_data_slot): Likewise.
47961 (grub_env_get_data_slot): Likewise.
47962 (grub_env_unset_data_slot): Likewise.
47963
47964 * include/grub/env.h (grub_env_var_type): New enum.
47965 (GRUB_ENV_VAR_LOCAL): New constant.
47966 (GRUB_ENV_VAR_GLOBAL): Likewise.
47967 (GRUB_ENV_VAR_DATA): Likewise.
47968 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47969 "type".
47970 (grub_env_set): Replace VAR with NAME for consistency.
47971 (grub_register_variable_hook): Likewise.
47972 (grub_env_export): Specify the name of the argument.
47973 (grub_env_set_data_slot): New prototype.
47974 (grub_env_get_data_slot): Likewise.
47975 (grub_env_unset_data_slot): Likewise.
47976
7f362539 479772006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47978
47979 Extend the loader so that GRUB can accept a loader which comes
47980 back to GRUB when a loaded image exits. Also, this change adds
47981 support for a chainloader on EFI.
f19dbdb7 47982
7f362539 47983 * term/efi/console.c: Include grub/misc.h.
47984 (grub_console_checkkey): Display a scan code on the top for
47985 debugging. This will be removed once the EFI port gets stable.
47986 Correct the scan code mapping.
47987
47988 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47989 allocate memory from larger regions, in order to reduce the number
47990 of allocated regions. Otherwise, the MacOSX loader panics.
47991 (filter_memory_map): Avoid less than 1MB for compatibility with
47992 other loaders.
47993 (add_memory_regions): Allocate from the tail of a region, if
47994 possible, to avoid allocating a region near to 1MB, for the MacOSX
47995 loader.
47996
47997 * kern/efi/init.c (grub_efi_set_prefix): Specify
47998 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47999
48000 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
48001 argument IMAGE_HANDLE and specify it to get a loaded image.
48002 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
48003 grub_efi_get_loaded_image.
fe6b695a 48004 (grub_efi_get_filename): Divide the length by the size of
7f362539 48005 grub_efi_char16_t.
48006 (grub_efi_get_device_path): New function.
48007 (grub_efi_print_device_path): Print End Device Path nodes. Divide
48008 the length by the size of grub_efi_char16_t for a file path device
48009 path node.
48010
48011 * kern/loader.c (grub_loader_noreturn): New variable.
48012 (grub_loader_set): Accept a new argument NORETURN. Set
48013 GRUB_LOADER_NORETURN to NORETURN.
48014 All callers changed.
48015 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
48016 grub_machine_fini.
48017
48018 * include/grub/efi/efi.h (grub_efi_get_device_path): New
48019 prototype.
48020 (grub_efi_get_loaded_image): Take an argument to specify an image
48021 handle.
48022
48023 * include/grub/loader.h (grub_loader_set): Added one more argument
48024 NORETURN.
48025
48026 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
48027 instead of grub_efi_open_protocol.
48028 (grub_efidisk_get_device_name): Likewise.
48029 (grub_efidisk_close): Print a newline.
48030 (grub_efidisk_get_device_handle): Fixed to use
48031 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48032 GRUB_EFI_DEVICE_PATH_TYPE.
48033
48034 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48035 * kern/efi/efi.c (device_path_guid): ... here.
48036
48037 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48038 chain.mod.
48039 (kernel_mod_HEADERS): Added efi/disk.h.
48040 (_chain_mod_SOURCES): New variable.
48041 (_chain_mod_CFLAGS): Likewise.
48042 (_chain_mod_LDFLAGS): Likewise.
48043 (chain_mod_SOURCES): Likewise.
48044 (chain_mod_CFLAGS): Likewise.
48045 (chain_mod_LDFLAGS): Likewise.
48046
48047 * DISTLIST: Added include/grub/efi/chainloader.h,
48048 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48049
48050 * include/grub/efi/chainloader.h: New file.
48051 * loader/efi/chainloader.c: Likewise.
48052 * loader/efi/chainloader_normal.c: Likewise.
48053
c0111d6e 480542006-04-30 Marco Gerards <marco@gnu.org>
48055
48056 * commands/configfile.c (grub_cmd_source): New function.
48057 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48058 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48059
df5341da 480602006-04-30 Marco Gerards <marco@gnu.org>
48061
48062 * normal/execute.c (grub_script_execute_cmd): Change the return
48063 type to `grub_err_t'. Correctly return the error.
48064 (grub_script_execute_cmdline): In case a command line is not a
48065 command or a function, try to interpret it as an assignment.
48066
f85934bd 480672006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48068
48069 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48070 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48071 skip a node whose name is obviously invalid as UTF-16,
48072 i.e. contains a NUL character. Stop the iteration when the last
48073 directory entry is found. Instead of using the return value of
48074 grub_hfsplus_btree_iterate_node, store the value in RET and use
48075 it, because the iterator can be stopped by the last directory
48076 entry.
48077
8f8a2cf8 480782006-04-30 Marco Gerards <marco@gnu.org>
48079
48080 * include/grub/env.h (grub_env_export): New prototype. Reported
48081 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48082
a27e84ce 480832006-04-30 Marco Gerards <marco@gnu.org>
48084
48085 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48086 size of the extents in a catalog file record.
48087
eaef0553 480882006-04-29 Marco Gerards <marco@gnu.org>
48089
48090 * commands/configfile.c (grub_cmd_configfile): Execute the
48091 configfile within its own context.
48092
48093 * include/grub/env.h (grub_env_context_open): New prototype.
48094 (grub_env_context_close): Likewise.
48095
48096 * kern/env.c (grub_env): Removed.
48097 (grub_env_sorted): Likewise.
48098 (grub_env_context): New variable.
48099 (grub_env_var_context): Likewise.
48100 (grub_env_find): Search both the active context and the global
48101 context.
48102 (grub_env_context_open): New function.
48103 (grub_env_context_close): Likewise.
48104 (grub_env_insert): Likewise.
48105 (grub_env_remove): Likewise.
48106 (grub_env_export): Likewise.
48107 (grub_env_set): Changed to use helper functions to avoid code
48108 duplication.
48109 (grub_env_iterate): Rewritten so both the current context and the
48110 global context are being used.
48111
48112 * normal/command.c (export_command): New function.
48113 (grub_command_init): Register the `export' function.
48114
7b455f4d 481152006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48116
48117 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48118 explicitly to suppress gcc's warnings.
48119 * fs/fat.c (grub_fat_find_dir): Likewise.
48120 (grub_fat_label): Likewise.
48121 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48122 (grub_xfs_mount): Likewise.
48123 (grub_xfs_label): Likewise.
48124 * fs/affs.c (grub_affs_mount): Likewise.
48125 (grub_affs_label): Likewise.
48126 (grub_affs_iterate_dir): Likewise.
48127 * fs/sfs.c (grub_sfs_mount): Likewise.
48128 (grub_sfs_iterate_dir): Likewise.
48129 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48130 * fs/hfs.c (grub_hfs_mount): Likewise.
48131 (grub_hfs_cmp_catkeys): Likewise.
48132 (grub_hfs_find_dir): Likewise.
48133 (grub_hfs_dir): Likewise.
48134 (grub_hfs_label): Likewise.
48135 * fs/jfs.c (grub_jfs_mount): Likewise.
48136 (grub_jfs_opendir): Likewise.
48137 (grub_jfs_getent): Likewise.
48138 (grub_jfs_lookup_symlink): Likewise.
48139 (grub_jfs_label): Likewise.
48140 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48141 (grub_hfsplus_iterate_dir): Likewise.
48142 (grub_hfsplus_btree_iterate_node): Made static.
48143
48144 * util/grub-emu.c (prefix): New variable.
48145 (grub_machine_set_prefix): New function.
48146 (main): Do not set the environment variable "prefix" here. Only
48147 set PREFIX, which is used later by grub_machine_set_prefix.
48148
48149 * include/grub/video.h: Do not include grub/symbol.h.
48150 (grub_video_register): Not exported. This symbol is not defined in
48151 the kernel.
48152 (grub_video_unregister): Likewise.
48153 (grub_video_iterate): Likewise.
48154 (grub_video_setup): Likewise.
48155 (grub_video_restore): Likewise.
48156 (grub_video_get_info): Likewise.
48157 (grub_video_get_blit_format): Likewise.
48158 (grub_video_set_palette): Likewise.
48159 (grub_video_get_palette): Likewise.
48160 (grub_video_set_viewport): Likewise.
48161 (grub_video_get_viewport): Likewise.
48162 (grub_video_map_color): Likewise.
48163 (grub_video_map_rgb): Likewise.
48164 (grub_video_map_rgba): Likewise.
48165 (grub_video_fill_rect): Likewise.
48166 (grub_video_blit_glyph): Likewise.
48167 (grub_video_blit_bitmap): Likewise.
48168 (grub_video_blit_render_target): Likewise.
48169 (grub_video_scroll): Likewise.
48170 (grub_video_swap_buffers): Likewise.
48171 (grub_video_create_render_target): Likewise.
48172 (grub_video_delete_render_target): Likewise.
48173 (grub_video_set_active_render_target): Likewise.
48174
48175 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48176 Undefined.
48177 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48178
48179 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48180 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48181 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48182 instead of $(srcdir)/genkernsyms.sh.
48183
48184 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48185 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48186 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48187 instead of $(srcdir)/genkernsyms.sh.
48188
48189 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
48190 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48191 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48192 instead of $(srcdir)/genkernsyms.sh.
48193
48194 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
48195 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48196 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48197 instead of $(srcdir)/genkernsyms.sh.
48198
48199 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
48200 genkernsyms.sh.
48201
48202 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48203 genkernsyms.sh.
48204 (gensymlist.sh): New target.
48205 (genkernsyms.sh): Likewise.
48206
48207 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48208 genkernsyms.sh.in and gensymlist.sh.in.
48209
48210 * genkernsyms.sh: Removed.
48211 * gensymlist.sh: Likewise.
f19dbdb7 48212
7b455f4d 48213 * genkernsyms.sh.in: New file.
48214 * gensymlist.sh.in: Likewise.
48215
1885bb27 482162006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48217
48218 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48219 clobber "prefix", since we may have already set it manually.
48220
71538dff 482212006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48222
48223 * kern/misc.c (abort): New alias for grub_abort.
48224
2965c7cc 482252006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48226
48227 A new machine-specific function "grub_machine_set_prefix" is
48228 defined. This is called after loading modules, so that a prefix
48229 initialization can use modules. Also, this change adds an
48230 intensive debugging feature for the memory manager via the
48231 configure option "--enable-mm-debug".
f19dbdb7 48232
2965c7cc 48233 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48234 PART.LEN.
48235
48236 * kern/sparc64/ieee1275/init.c (abort): Removed.
48237 (grub_stop): Likewise.
48238 (grub_exit): New function.
48239 (grub_set_prefix): Renamed to ...
48240 (grub_machine_set_prefix): ... this.
48241 (grub_machine_init): Do not call grub_set_prefix.
48242
48243 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48244 (grub_machine_set_prefix): ... this.
48245 (grub_machine_init): Do not call grub_set_prefix.
48246
48247 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
48248 (grub_machine_init): Do not set the prefix here.
48249
48250 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48251
48252 * kern/efi/init.c: Include grub/mm.h.
48253 (grub_efi_set_prefix): New function.
48254
48255 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48256 (grub_efi_get_filename): New function.
48257 (grub_print_device_path): Renamed to ...
48258 (grub_efi_print_device_path): ... this.
48259
48260 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48261 [MM_DEBUG] (grub_realloc): Likewise.
48262 [MM_DEBUG] (grub_free): Likewise.
48263 [MM_DEBUG] (grub_memalign): Likewise.
48264 [MM_DEBUG] (grub_mm_debug): New variable.
48265 [MM_DEBUG] (grub_debug_malloc): New function.
48266 [MM_DEBUG] (grub_debug_free): New function.
48267 [MM_DEBUG] (grub_debug_realloc): New function.
48268 [MM_DEBUG] (grub_debug_memalign): New function.
48269
48270 * kern/misc.c (grub_abort): Print a newline to distinguish
48271 the message.
48272
48273 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48274 grub_set_root_dev after loading modules. This is necessary when
48275 setting a prefix depends on modules.
48276
48277 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48278 (grub_efi_print_device_path): ... this.
48279 (grub_efi_get_filename): New prototype.
48280 (grub_efi_set_prefix): Likewise.
48281
48282 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48283 and grub/disk.h.
48284 (grub_efidisk_get_device_handle): New prototype.
48285 (grub_efidisk_get_device_name): Likewise.
48286
48287 * include/grub/mm.h: Include config.h.
48288 (MM_DEBUG): Removed.
48289 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48290 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48291 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48292 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48293 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48294 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48295 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48296 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48297 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48298
48299 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48300
48301 * disk/efi/efidisk.c: Include grub/partition.h.
48302 (iterate_child_devices): New function.
48303 (add_device): First, compare only last device path nodes, so that
48304 devices are sorted by the types.
48305 (grub_efidisk_get_device_handle): New function.
48306 (grub_efidisk_get_device_name): Likewise.
48307
48308 * configure.ac (--enable-mm-debug): New option to enable the
48309 memory manager debugging feature. This makes the binary much
48310 bigger, so is disabled by default.
48311
9cacaa17 483122006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48313
48314 Use grub_abort instead of grub_stop, and grub_exit must be
48315 define in each architecture now. Also, this change adds support
48316 for EFI disks.
f19dbdb7 48317
9cacaa17 48318 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48319 (grub_getkey): New function.
48320 (grub_term_get_current): Likewise.
48321
48322 * util/i386/pc/grub-setup.c: Include grub/term.h.
48323 (grub_getkey): New function.
48324 (grub_term_get_current): Likewise.
48325
48326 * util/misc.c (grub_stop): Renamed to ...
48327 (grub_exit): ... this.
48328
48329 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48330 (grub_exit): ... this.
48331 (grub_machine_init): Use grub_abort instead of abort.
48332 (grub_stop): Removed.
48333
48334 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48335 abort.
48336
48337 * kern/i386/pc/startup.S (grub_exit): New function.
48338 (cold_reboot): New label.
48339
48340 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48341 (grub_efi_init): Call grub_efidisk_init.
48342 (grub_efi_fini): Call grub_efidisk_fini.
48343
48344 * kern/efi/efi.c: Include grub/mm.h.
48345 (grub_efi_console_control_guid): Renamed to ...
48346 (console_control_guid): ... this.
48347 (grub_efi_loaded_image_guid): Renamed to ...
48348 (loaded_image_guid): ... this.
48349 (grub_efi_locate_handle): New function.
48350 (grub_efi_open_protocol): Likewise.
48351 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48352 GRUB_EFI_CONSOLE_CONTROL_GUID.
48353 (grub_efi_exit): Removed.
48354 (grub_stop): Likewise.
48355 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48356 (grub_exit): New function.
48357 (grub_print_device_path): Likewise.
48358
48359 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48360 (grub_enter_rescue_mode): Register "exit".
48361
48362 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48363 (grub_abort): New function.
48364
48365 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48366
48367 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48368
48369 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48370
48371 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48372 (grub_print_device_path): New prototype.
48373 (grub_efi_locate_handle): Likewise.
48374 (grub_efi_open_protocol): Likewise.
48375
48376 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48377 * disk/efi/efidisk.c: Likewise.
48378
48379 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48380
48381 * include/grub/efi/console_control.h
48382 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48383
48384 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48385 last 8 bytes as an array.
48386 (GRUB_EFI_DISK_IO_GUID): New macro.
48387 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48388 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48389 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48390 grub_uint8_t.
48391 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48392 (struct grub_efi_device_path): Rename the member "sub_type" to
48393 "subtype".
48394 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48395 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48396 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48397 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48398 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48399 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48400 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48401 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48402 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48403 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48404 (struct grub_efi_pci_device_path): New structure.
48405 (grub_efi_pci_device_path_t): New type.
48406 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48407 (struct grub_efi_pccard_device_path): New structure.
48408 (grub_efi_pccard_device_path_t): New type.
48409 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48410 (struct grub_efi_memory_mapped_device_path): New structure.
48411 (grub_efi_memory_mapped_device_path_t): New type.
48412 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48413 (struct grub_efi_vendor_device_path): New structure.
48414 (grub_efi_vendor_device_path_t): New type.
48415 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48416 (struct grub_efi_controller_device_path): New structure.
48417 (grub_efi_controller_device_path_t): New type.
48418 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48419 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48420 (struct grub_efi_acpi_device_path): New structure.
48421 (grub_efi_acpi_device_path_t): New type.
48422 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48423 (struct grub_efi_expanded_acpi_device_path): New structure.
48424 (grub_efi_expanded_acpi_device_path_t): New type.
48425 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48426 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48427 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48428 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48429 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48430 (struct grub_efi_atapi_device_path): New structure.
48431 (grub_efi_atapi_device_path_t): New type.
48432 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48433 (struct grub_efi_fibre_channel_device_path): New structure.
48434 (grub_efi_fibre_channel_device_path_t): New type.
48435 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48436 (struct grub_efi_1394_device_path): New structure.
48437 (grub_efi_1394_device_path_t): New type.
48438 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48439 (struct grub_efi_usb_device_path): New structure.
48440 (grub_efi_usb_device_path_t): New type.
48441 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48442 (struct grub_efi_usb_class_device_path): New structure.
48443 (grub_efi_usb_class_device_path_t): New type.
48444 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48445 (struct grub_efi_i2o_device_path): New structure.
48446 (grub_efi_i2o_device_path_t): New type.
48447 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48448 (struct grub_efi_mac_address_device_path): New structure.
48449 (grub_efi_mac_address_device_path_t): New type.
48450 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48451 (struct grub_efi_ipv4_device_path): New structure.
48452 (grub_efi_ipv4_device_path_t): New type.
48453 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48454 (struct grub_efi_ipv6_device_path): New structure.
48455 (grub_efi_ipv6_device_path_t): New type.
48456 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48457 (struct grub_efi_infiniband_device_path): New structure.
48458 (grub_efi_infiniband_device_path_t): New type.
48459 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48460 (struct grub_efi_uart_device_path): New structure.
48461 (grub_efi_uart_device_path_t): New type.
48462 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48463 (struct grub_efi_vendor_messaging_device_path): New structure.
48464 (grub_efi_vendor_messaging_device_path_t): New type.
48465 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48466 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48467 (struct grub_efi_hard_drive_device_path): New structure.
48468 (grub_efi_hard_drive_device_path_t): New type.
48469 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48470 (struct grub_efi_cdrom_device_path): New structure.
48471 (grub_efi_cdrom_device_path_t): New type.
48472 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48473 (struct grub_efi_vendor_media_device_path): New structure.
48474 (grub_efi_vendor_media_device_path_t): New type.
48475 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48476 (struct grub_efi_file_path_device_path): New structure.
48477 (grub_efi_file_path_device_path_t): New type.
48478 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48479 (struct grub_efi_protocol_device_path): New structure.
48480 (grub_efi_protocol_device_path_t): New type.
48481 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48482 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48483 (struct grub_efi_bios_device_path): New structure.
48484 (grub_efi_bios_device_path_t): New type.
48485 (struct grub_efi_disk_io): New structure.
48486 (grub_efi_disk_io_t): New type.
48487 (struct grub_efi_block_io_media): New structure.
48488 (grub_efi_block_io_media_t): New type.
48489 (struct grub_efi_block_io): New structure.
48490 (grub_efi_block_io_t): New type.
48491
48492 * include/grub/misc.h (grub_stop): Removed.
48493 (grub_exit): New prototype.
48494 (grub_abort): Likewise.
48495
48496 * include/grub/disk.h (enum grub_disk_dev_id): Added
48497 GRUB_DISK_DEVICE_EFIDISK_ID.
48498
48499 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48500 disk/efi/efidisk.c.
48501 (kernel_syms.lst): Remove the target if an error occurs.
48502
49986a9f 485032006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48504
48505 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48506 as it was simply too buggy.
48507
970d3b8a 485082006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48509
48510 * kern/misc.c (grub_lltoa): New function.
48511 (grub_vsprintf): Added support for the long long suffix,
48512 i.e. "ll".
48513
ff04ec24 485142006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48515
48516 * Makefile.in (LDFLAGS): Add variable.
48517 (LD): Remove variable.
48518 * configure.ac: Add -m32 to LDFLAGS.
48519 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48520 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48521 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48522 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48523 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48524 variables.
48525 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48526 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48527 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48528
37e5e1a4 485292006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48530
48531 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48532 length for unknown glyph.
48533
c352d8dd 485342006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48535
2eab1c0d 48536 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48537
2eab1c0d 48538 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48539 completely. Accept one more argument DIR. The caller has changed.
48540
48541 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48542
48543 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48544 (grub_efi_loaded_image_guid): New variable.
48545 (grub_efi_get_loaded_image): New function.
48546 (grub_arch_modules_addr): Likewise.
48547
48548 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48549 prototype.
48550
48551 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48552 (struct grub_efi_loaded_image): New structure.
48553 (grub_efi_loaded_image_t): New type.
48554
485552006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48556
c352d8dd 48557 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48558 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48559 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48560
6d01d6b4 485612006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48562
48563 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48564
976a4ea0 485652006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48566
48567 * DISTLIST: Added include/grub/efi/console.h,
48568 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48569 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48570
48571 * include/grub/efi/console.h: New file.
48572 * include/grub/efi/time.h: Likewise.
48573 * include/grub/i386/efi/kernel.h: Likewise.
48574 * kern/efi/init.c: Likewise.
48575 * kern/efi/mm.c: Likewise.
48576 * term/efi/console.c: Likewise.
f19dbdb7 48577
976a4ea0 48578 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48579 (grub_stop): Removed.
48580 (grub_get_rtc): Likewise.
48581 (grub_machine_init): Simply call grub_efi_init.
48582 (grub_machine_fini): Call grub_efi_fini.
48583
48584 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48585 (grub_efi_output_string): Removed.
48586 (grub_efi_stall): New function.
48587 (grub_stop): Likewise.
48588 (grub_get_rtc): Likewise.
48589
48590 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48591 (grub_efi_stall): New prototype.
48592 (grub_efi_allocate_pages): Likewise.
48593 (grub_efi_free_pages): Likewise.
48594 (grub_efi_get_memory_map): Likewise.
48595 (grub_efi_mm_init): Likewise.
48596 (grub_efi_mm_fini): Likewise.
48597 (grub_efi_init): Likewise.
48598 (grub_efi_fini): Likewise.
48599
48600 * include/grub/i386/efi/time.h: Do not include
48601 grub/symbol.h. Include grub/efi/time.h.
48602 (GRUB_TICKS_PER_SECOND): Removed.
48603 (grub_get_rtc): Likewise.
48604
48605 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48606 Added padding. The EFI spec is buggy.
48607 (GRUB_EFI_BLACK): New macro.
48608 (GRUB_EFI_BLUE): Likewise.
48609 (GRUB_EFI_GREEN): Likewise.
48610 (GRUB_EFI_CYAN): Likewise.
48611 (GRUB_EFI_RED): Likewise.
48612 (GRUB_EFI_MAGENTA): Likewise.
48613 (GRUB_EFI_BROWN): Likewise.
48614 (GRUB_EFI_LIGHTGRAY): Likewise.
48615 (GRUB_EFI_BRIGHT): Likewise.
48616 (GRUB_EFI_DARKGRAY): Likewise.
48617 (GRUB_EFI_LIGHTBLUE): Likewise.
48618 (GRUB_EFI_LIGHTGREEN): Likewise.
48619 (GRUB_EFI_LIGHTCYAN): Likewise.
48620 (GRUB_EFI_LIGHTRED): Likewise.
48621 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48622 (GRUB_EFI_YELLOW): Likewise.
48623 (GRUB_EFI_WHITE): Likewise.
48624 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48625 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48626 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48627 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48628 (GRUB_EFI_BACKGROUND_RED): Likewise.
48629 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48630 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48631 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48632 (GRUB_EFI_TEXT_ATTR): Likewise.
48633
48634 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48635 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48636 (kernel_mod_HEADERS): Added efi/time.h.
48637
83709125 486382006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48639
48640 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48641 include/grub/efi/api.h, include/grub/efi/console_control.h,
48642 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48643 include/grub/i386/efi/time.h, kern/efi/efi.c,
48644 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48645 and util/i386/efi/grub-mkimage.c.
48646
48647 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48648
48649 * genmk.rb (PModule#rule): Do not export symbols if
48650 #{prefix}_EXPORTS is set to "no".
48651
48652 * conf/i386-efi.mk: New file.
48653 * conf/i386-efi.rmk: Likewise.
48654 * include/grub/efi/api.h: Likewise.
48655 * include/grub/efi/console_control.h: Likewise.
48656 * include/grub/efi/efi.h: Likewise.
48657 * include/grub/efi/pe32.h: Likewise.
48658 * include/grub/i386/efi/time.h: Likewise.
48659 * kern/efi/efi.c: Likewise.
48660 * kern/i386/efi/init.c: Likewise.
48661 * kern/i386/efi/startup.S: Likewise.
48662 * util/i386/efi/grub-mkimage.c: Likewise.
48663
486642006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48665
48666 * include/grub/script.h: Include <grub/parser.h> and
48667 "grub_script.tab.h".
48668 (struct grub_lexer_param): New struct.
48669 (struct grub_parser_param): Likewise.
48670 (grub_script_create_arglist): Pass the state in an argument.
48671 (grub_script_add_arglist): Likewise.
48672 (grub_script_create_cmdline): Likewise.
48673 (grub_script_create_cmdblock): Likewise.
48674 (grub_script_create_cmdif): Likewise.
48675 (grub_script_create_cmdmenu): Likewise.
48676 (grub_script_add_cmd): Likewise.
48677 (grub_script_arg_add): Likewise.
48678 (grub_script_lexer_ref): Likewise.
48679 (grub_script_lexer_deref): Likewise.
48680 (grub_script_lexer_record_start): Likewise.
48681 (grub_script_lexer_record_stop): Likewise.
48682 (grub_script_mem_record): Likewise.
48683 (grub_script_mem_record_stop): Likewise.
48684 (grub_script_malloc): Likewise.
48685 (grub_script_yylex): Likewise.
48686 (grub_script_yyparse): Likewise.
48687 (grub_script_yyerror): Likewise.
48688 (grub_script_yylex): Likewise.
48689 (grub_script_lexer_init): Return the state.
48690
48691 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48692 (grub_script_lexer_done): Likewise.
48693 (grub_script_lexer_getline): Likewise.
48694 (grub_script_lexer_refs): Likewise.
48695 (script): Likewise.
48696 (newscript): Likewise.
48697 (record): Likewise.
48698 (recording): Likewise.
48699 (recordpos): Likewise.
48700 (recordlen): Likewise.
48701 (grub_script_lexer_init): Return the state instead of setting
48702 global variables.
48703 (grub_script_lexer_ref): Use the newly added argument for state
48704 instead of globals.
48705 (grub_script_lexer_deref): Likewise.
48706 (grub_script_lexer_record_start): Likewise.
48707 (grub_script_lexer_record_stop): Likewise.
48708 (recordchar): Likewise.
48709 (nextchar): Likewise.
48710 (grub_script_yylex2): Likewise.
48711 (grub_script_yylex): Likewise.
48712 (grub_script_yyerror): Likewise.
48713
48714 * normal/parser.y (func_mem): Removed variable.
48715 (menu_entry): Likewise.
48716 (err): Likewise.
48717 (%lex-param): New parser option.
48718 (%parse-param): Likewise.
48719 (script): Always return the AST.
48720 (argument): Pass the state around.
48721 (arguments): Likewise.
48722 (grubcmd): Likewise.
48723 (commands): Likewise.
48724 (function): Likewise.
48725 (menuentry): Likewise.
48726 (if_statement): Likewise.
48727 (if): Likewise.
48728
48729 * normal/script.c (grub_script_memused): Removed variable.
48730 (grub_script_parsed): Likewise.
48731 (grub_script_malloc): Added a state argument. Use that instead of
48732 global variables.
48733 (grub_script_mem_record): Likewise.
48734 (grub_script_mem_record_stop): Likewise.
48735 (grub_script_arg_add): Likewise.
48736 (grub_script_add_arglist): Likewise.
48737 (grub_script_create_cmdline): Likewise.
48738 (grub_script_create_cmdif): Likewise.
48739 (grub_script_create_cmdmenu): Likewise.
48740 (grub_script_add_cmd): Likewise.
48741 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48742
e2a8c904 487432006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48744
48745 * normal/command.c (grub_command_init): Remove the title command.
48746
48747 * normal/lexer.c (grub_script_yylex): Renamed from this...
48748 (grub_script_yylex2): ... to this.
48749 (grub_script_yylex): New function. Temporary
48750 introduced to filter some tokens.
48751 (grub_script_yyerror): Print a newline.
48752
48753 * normal/main.c (read_config_file): Output information about the
48754 lines that contain errors. Wait for a key after all lines have
48755 been processed. Don't return an empty menu.
48756
48757 * normal/parser.y (func_mem): Don't initialize.
48758 (menu_entry): Likewise.
48759 (err): New variable.
48760 (script): Don't return anything when an error was encountered.
48761 (ws, returns): Removed rules.
48762 (argument): Disabled concatenated variable support.
48763 (arguments): Remove explicit separators.
48764 (grubcmd): Likewise.
48765 (function): Likewise.
48766 (menuentry): Likewise.
48767 (if): Likewise.
48768 (commands): Likewise. Add error handling.
48769
48770 * normal/script.c (grub_script_create_cmdline): If
48771 `grub_script_parsed' is 0, assume the parser encountered an error.
48772
c9a86192 487732006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48774
48775 * configure.ac: Add support for EFI. Fix the typo
48776 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48777
70f3b243 487782006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48779
48780 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48781 foreign multibyte characters should be shown correctly.
48782
65f201ad 487832006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48784
48785 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48786 calculation.
48787 (read_config_file): Made it to close file before returning.
48788
b4b93674 487892006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48790
48791 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48792 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48793 video/i386/pc/vbefill.c.
48794
48795 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48796 video/i386/pc/vbefill.c.
48797
48798 * include/grub/video.h (grub_video_blit_format): New enum.
48799 (grub_video_mode_info): Added new member blit_format.
48800 (grub_video_get_blit_format): New function prototype.
48801
48802 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48803 function prototype.
48804 (grub_video_vbe_map_rgb): Likewise.
48805 (grub_video_vbe_unmap_color): Likewise.
48806
48807 * include/grub/i386/pc/vbeblit.h: New file.
48808
48809 * include/grub/i386/pc/vbefill.h: New file.
48810
48811 * video/video.c (grub_video_get_blit_format): New function.
48812 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48813 (grub_video_vbe_map_rgb): Likewise.
48814 (grub_video_vbe_unmap_color): Likewise.
48815
48816 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48817 optimized fills.
48818 (grub_video_vbe_blit_render_target): Changed to use more optimized
48819 blits.
48820 (grub_video_vbe_setup): Added detection for optimized settings.
48821 (grub_video_vbe_create_render_target): Likewise.
48822
48823 * video/i386/pc/vbeblit.c: New file.
48824
48825 * video/i386/pc/vbefill.c: New file.
48826
c2379b9c 488272006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48828
48829 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48830 here...
48831
48832 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48833 parsing to support both hex and dec ranges. If filename was missing
48834 show usage information.
48835
bd0d7896 488362006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48837
48838 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48839 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48840
48841 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48842 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48843 (video_mod_SOURCES): Added.
48844 (video_mod_CFLAGS): Likewise.
48845 (video_mod_LDFLAGS): Likewise.
48846 (gfxterm_mod_SOURCES): Likewise.
48847 (gfxterm_mod_CFLAGS): Likewise.
48848 (gfxterm_mod_LDFLAGS): Likewise.
48849 (videotest_mod_SOURCES): Likewise.
48850 (videotest_mod_CFLAGS): Likewise.
48851 (videotest_mod_LDFLAGS): Likewise.
48852 (vesafb_mod_SOURCES): Removed.
48853 (vesafb_mod_CFLAGS): Likewise.
48854 (vesafb_mod_LDFLAGS): Likewise.
48855 (vga_mod_SOURCES): Likewise.
48856 (vga_mod_CFLAGS): Likewise.
48857 (vga_mod_LDFLAGS): Likewise.
48858
48859 * commands/videotest.c: New file.
48860
48861 * font/manager.c (fill_with_default_glyph): Modified to use
48862 grub_font_glyph.
48863 (grub_font_get_glyph): Likewise.
48864 (fontmanager): Renamed from this...
48865 (font_manager): ... to this.
48866
48867 * include/grub/font.h (grub_font_glyph): Added new structure.
48868 (grub_font_get_glyph): Modified to use grub_font_glyph.
48869
48870 * include/grub/misc.h (grub_abs): Added as inline function.
48871
48872 * include/grub/video.h: New file.
48873
48874 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48875 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48876 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48877 (grub_vbe_get_controller_info): Renamed from this...
48878 (grub_vbe_bios_get_controller_info): ... to this.
48879 (grub_vbe_get_mode_info): Renamed from this...
48880 (grub_vbe_bios_get_mode_info): ... to this.
48881 (grub_vbe_set_mode): Renamed from this...
48882 (grub_vbe_bios_set_mode): ... to this.
48883 (grub_vbe_get_mode): Renamed from this...
48884 (grub_vbe_bios_get_mode): ... to this.
48885 (grub_vbe_set_memory_window): Renamed from this...
48886 (grub_vbe_bios_set_memory_window): ... to this.
48887 (grub_vbe_get_memory_window): Renamed from this...
48888 (grub_vbe_bios_get_memory_window): ... to this.
48889 (grub_vbe_set_scanline_length): Renamed from this...
48890 (grub_vbe_set_scanline_length): ... to this.
48891 (grub_vbe_get_scanline_length): Renamed from this...
48892 (grub_vbe_bios_get_scanline_length): ... to this.
48893 (grub_vbe_set_display_start): Renamed from this...
48894 (grub_vbe_bios_set_display_start): ... to this.
48895 (grub_vbe_get_display_start): Renamed from this...
48896 (grub_vbe_bios_get_display_start): ... to this.
48897 (grub_vbe_set_palette_data): Renamed from this...
48898 (grub_vbe_bios_set_palette_data): ... to this.
48899 (grub_vbe_set_pixel_rgb): Removed.
48900 (grub_vbe_set_pixel_index): Likewise.
48901
48902 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48903 from this...
48904 (grub_vbe_bios_get_controller_info): ... to this.
48905 (grub_vbe_get_mode_info): Renamed from this...
48906 (grub_vbe_bios_get_mode_info): ... to this.
48907 (grub_vbe_set_mode): Renamed from this...
48908 (grub_vbe_bios_set_mode): ... to this.
48909 (grub_vbe_get_mode): Renamed from this...
48910 (grub_vbe_bios_get_mode): ... to this.
48911 (grub_vbe_set_memory_window): Renamed from this...
48912 (grub_vbe_bios_set_memory_window): ... to this.
48913 (grub_vbe_get_memory_window): Renamed from this...
48914 (grub_vbe_bios_get_memory_window): ... to this.
48915 (grub_vbe_set_scanline_length): Renamed from this...
48916 (grub_vbe_set_scanline_length): ... to this.
48917 (grub_vbe_get_scanline_length): Renamed from this...
48918 (grub_vbe_bios_get_scanline_length): ... to this.
48919 (grub_vbe_set_display_start): Renamed from this...
48920 (grub_vbe_bios_set_display_start): ... to this.
48921 (grub_vbe_get_display_start): Renamed from this...
48922 (grub_vbe_bios_get_display_start): ... to this.
48923 (grub_vbe_set_palette_data): Renamed from this...
48924 (grub_vbe_bios_set_palette_data): ... to this.
48925 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48926 getting corrupted after calling it. Added more pushes and pops.
48927 (grub_vbe_bios_set_mode): Likewise.
48928 (grub_vbe_bios_get_mode): Likewise.
48929 (grub_vbe_bios_get_memory_window): Likewise.
48930 (grub_vbe_bios_set_scanline_length): Likewise.
48931 (grub_vbe_bios_get_scanline_length): Likewise.
48932 (grub_vbe_bios_get_display_start): Likewise.
48933 (grub_vbe_bios_set_palette_data): Likewise.
48934
48935 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48936 (cl_insert): Likewise.
48937 (cl_delete): Likewise.
48938
48939 * term/gfxterm.c: New file.
48940
48941 * term/i386/pc/vesafb.c: Removed file.
48942
48943 * video/video.c: New file.
48944
48945 * video/i386/pc/vbe.c (real2pm): Added new function.
48946 (grub_video_vbe_draw_pixel): Likewise.
48947 (grub_video_vbe_get_video_ptr): Likewise.
48948 (grub_video_vbe_get_pixel): Likewise
48949 (grub_video_vbe_init): Likewise.
48950 (grub_video_vbe_fini): Likewise.
48951 (grub_video_vbe_setup): Likewise.
48952 (grub_video_vbe_get_info): Likewise.
48953 (grub_video_vbe_set_palette): Likewise.
48954 (grub_video_vbe_get_palette): Likewise.
48955 (grub_video_vbe_set_viewport): Likewise.
48956 (grub_video_vbe_get_viewport): Likewise.
48957 (grub_video_vbe_map_color): Likewise.
48958 (grub_video_vbe_map_rgb): Likewise.
48959 (grub_video_vbe_map_rgba): Likewise.
48960 (grub_video_vbe_unmap_color): Likewise.
48961 (grub_video_vbe_fill_rect): Likewise.
48962 (grub_video_vbe_blit_glyph): Likewise.
48963 (grub_video_vbe_blit_bitmap): Likewise.
48964 (grub_video_vbe_blit_render_target): Likewise.
48965 (grub_video_vbe_scroll): Likewise.
48966 (grub_video_vbe_swap_buffers): Likewise.
48967 (grub_video_vbe_create_render_target): Likewise.
48968 (grub_video_vbe_delete_render_target): Likewise.
48969 (grub_video_vbe_set_active_render_target): Likewise.
48970 (grub_vbe_set_pixel_rgb): Remove function.
48971 (grub_vbe_set_pixel_index): Likewise.
48972 (index_color_mode): Remove static variable.
48973 (active_mode): Likewise.
48974 (framebuffer): Likewise.
48975 (bytes_per_scan_line): Likewise.
48976 (grub_video_vbe_adapter): Added new static variable.
48977 (framebuffer): Likewise.
48978 (render_target): Likewise.
48979 (initial_mode): Likewise.
48980 (mode_in_use): Likewise.
48981 (mode_list): Likewise.
48982
5f97350b 489832006-03-10 Marco Gerards <marco@gnu.org>
48984
48985 * configure.ac (AC_INIT): Bumped to 1.93.
48986
48987 * DISTLIST: Added `include/grub/hfs.h'.
48988
a3c5c6f8 489892006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48990
48991 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48992 18H, which might help the BIOS falling back to next boot media.
48993
6de53d26 489942006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48995
48996 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48997 Poe Chen <poe.poechen@gmail.com>.
48998
77c4a393 489992006-01-17 Marco Gerards <marco@gnu.org>
49000
49001 * include/grub/normal.h: Include <grub/script.h>.
49002 (grub_command_list): Removed struct.
49003 (grub_command_list_t): Removed type.
49004 (grub_menu_entry): Remove members `num' and `command_list'. Add
49005 members `commands' and `sourcecode'.
49006 * include/grub/script.h: Add inclusion guards.
49007 (grub_script_cmd_menuentry): New struct.
49008 (grub_script_execute_menuentry): New prototype.
49009 (grub_script_lexer_record_start): Likewise.
49010 (grub_script_lexer_record_stop): Likewise.
49011 * normal/execute.c (grub_script_execute_menuentry): New function.
49012 * normal/lexer.c (record, recording, recordpos, recordlen): New
49013 variables.
49014 (grub_script_lexer_record_start): New function.
49015 (grub_script_lexer_record_stop): Likewise.
49016 (recordchar): Likewise.
49017 (nextchar): Likewise.
49018 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
49019 2048 as the buffer size. Add the tokens `menuentry' and `@'.
49020 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
49021 (current_menu): New variable.
49022 (free_menu): Mainly rewritten.
49023 (grub_normal_menu_addentry): New function.
49024 (read_config_file): Rewritten.
49025 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 49026 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 49027 the menu entry.
49028 (run): Mainly rewritten.
49029 * normal/parser.y (menu_entry): New variable.
49030 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49031 (menuentry): New rule.
49032 (command): Add `menuentry'.
49033 (if_statement): Allow additional returns before `fi'.
49034 * normal/script.c (grub_script_create_cmdmenu): New function.
49035
144f1f98 490362006-01-03 Marco Gerards <marco@gnu.org>
49037
49038 * INSTALL: GNU Bison is required.
49039 * configure.ac: Rewritten the test to detect Bison.
49040 * Makefile.in (YACC): New variable. Reported by Xun Sun
49041 <xun.sun.cn@gmail.com>.
49042
af4b2d89 490432006-01-03 Marco Gerards <marco@gnu.org>
49044
49045 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49046 the HFS+ filesystem to filesystem blocks.
49047 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49048 GCC warning is silenced.
49049
15643b71 490502006-01-03 Marco Gerards <marco@gnu.org>
49051
49052 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49053 read from disk from big endian to host byte order.
49054
00905879 490552006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49056
49057 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49058 documentation.
49059 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49060 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49061 embedded HFS+ filesystem.
49062 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49063 (grub_hfs_sblock): Move from here...
49064 * include/grub/hfs.h: To here... New file.
49065 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49066 documentation.
49067 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49068 New macros.
49069 (grub_hfsplus_volheader): Change type of member `magic' to
49070 `grub_uint16_t'.
49071 (grub_hfsplus_data): Add new member `embedded_offset'.
49072 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49073 returned block.
49074 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49075 Calculate the offset.
49076
8899bc3e 490772005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49078
49079 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49080 Removed.
49081 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49082
ae8c0277 490832005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49084
49085 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49086 ENV->NAME is NULL after allocating ENV->VALUE.
49087
07084456 490882005-12-25 Marco Gerards <marco@gnu.org>
49089
49090 * kern/env.c (grub_env_set): Rewritten the error handling code.
49091
4750f5f1 490922005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49093
49094 * geninit.sh: Made more robust, and more portable.
49095
50214199 490962005-12-25 Marco Gerards <marco@gnu.org>
49097
49098 Add support for Apple HFS+ filesystems.
f19dbdb7 49099
50214199 49100 * fs/hfsplus.c: New file.
49101
49102 * DISTLIST: Added `fs/hfsplus.c'.
49103
49104 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49105 (hfsplus_mod_SOURCES): New variable.
49106 (hfsplus_mod_CFLAGS): Likewise.
49107 (hfsplus_mod_LDFLAGS): Likewise.
49108 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49109 (grub_setup_SOURCES): Likewise.
49110 (grub_mkdevicemap_SOURCES): Likewise.
49111 (grub_emu_SOURCES): Likewise.
49112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49113
49114 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49115
49116 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49117
befaed6c 491182005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49119
49120 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49121 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49122 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49123 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49124 normal/lexer.c, normal/parser.y, normal/script.c, and
49125 partmap/gpt.c.
49126 Removed kern/sparc64/cache.c.
49127
49128 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49129 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49130 grub_emu_init.c.
49131
49132 * configure.ac (AC_INIT): Bumped to 1.92.
49133
6a124103 491342005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49135
49136 * kern/err.c (grub_error_push): Added new function to support error
49137 stacks.
49138 (grub_error_pop): Likewise.
49139 (grub_error_stack_items): New local variable to support error stacks.
49140 (grub_error_stack_pos): Likewise.
49141 (grub_error_stack_assert): Likewise.
49142 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49143 stack depth.
49144 (grub_print_error): Added support to print errors from error stack.
49145
49146 * include/grub/err.h (grub_error_push): Added function prototype.
49147 (grub_error_pop): Likewise.
49148
be973c1b 491492005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49150
49151 * configure.ac: Accept `powerpc64' as host_cpu.
49152 (amd64): Rename to `biarch32'.
49153
49154 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49155 non-cacheline-aligned addresses.
49156
49157 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
49158 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
49159 if `size' is non-zero.
49160
b04216ab 491612005-12-03 Marco Gerards <mgerards@xs4all.nl>
49162
49163 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
49164 and `cd' to make sure the filename is not prefixed with a
49165 directory name.
49166 (pkgdata_MODULES): Add `gpt.mod'.
49167 (gpt_mod_SOURCES): New variable.
49168 (gpt_mod_CFLAGS): Likewise.
49169 (gpt_mod_LDFLAGS): Likewise.
49170
49171 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49172
49173 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49174 New macro.
49175
49176 * partmap/gpt.c: New file.
49177
49178 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49179 GPT partition map is detected.
49180
41730ed9 491812005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49182
49183 * commands/i386/pc/play.c: New file.
49184 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49185 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49186 macros.
f19dbdb7 49187
95dc3643 491882005-11-27 Marco Gerards <mgerards@xs4all.nl>
49189
49190 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
49191 ((unused))' to silence gcc warning.
49192
1569ec51 491932005-11-26 Hollis Blanchard <hollis@penguinppc.org>
49194
49195 * configure.ac: Correct `AC_PROG_YACC' test.
49196
9abde152 491972005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49198
49199 * util/powerpc/ieee1275/grub-install.in: Run the mount point
49200 check before installing files.
49201
44b83271 492022005-11-22 Mike Small <smallm@panix.com>
49203
49204 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49205 number regex so multidigit numbers are recognized correctly.
49206
492072005-11-22 Mike Small <smallm@panix.com>
49208
49209 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49210 debugging message before attempting to claim memory.
49211 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49212 multiple addresses in case of failure.
49213
9c12956b 492142005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49215
49216 * term/tparm.c (get_space): Remove empty `if' statement.
49217
49218 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49219
49220 * kern/parser.c (check_varstate): Rename `state' to 's'.
49221
aeaf81d9 492222005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49223
49224 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49225 variable definitions to the beginning of each function. Sort stack
49226 variables by size.
49227 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49228 `buf' argument to `char *'.
49229
79bbb63f 492302005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49231
49232 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49233 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49234 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 49235 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49236 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49237 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49238 configfile.mod, search.mod, gzio.mod and test.mod.
49239 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49240 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49241 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49242 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49243 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49244 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49245 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49246 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49247 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49248 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49249 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49250 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49251 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49252 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49253 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49254 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49255 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49256 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49257 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49258 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49259 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49260 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49261 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49262
49263 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49264 `grep --include'.
49265 (pkgdata_MODULES): Add test.mod.
49266
233b1628 492672005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49268
49269 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49270 appending to variables with "+=".
49271 (PModule): Use full pathname to generate *.lst filenames.
49272
49273 * Makefile.in: Fixed list rules moved from genmk.rb.
49274 (.DELETE_ON_ERROR): New special target.
49275 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49276
49277 * conf/i386-pc.rmk: Include conf/common.mk.
49278 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49279 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 49280 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49281 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49282 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49283 configfile.mod, search.mod, gzio.mod and test.mod.
49284 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49285 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49286 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49287 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49288 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49289 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49290 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49291 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49292 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49293 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49294 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49295 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49296 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49297 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49298 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49299 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49300 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49301 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49302 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49303 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49304 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49305 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49306 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49307 here...
49308 * conf/common.rmk: ... to here. New file.
49309
49310 * conf/common.mk: New file.
49311
16f820c8 493122005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49313
49314 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49315 (grub_script.tab.c): ... here.
49316
49317 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49318 (grub_script.tab.c): ... here.
49319
49320 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49321 (grub_script.tab.c): ... here.
49322
49323 * normal/command.c (grub_command_find): Fixed a memory leak of
49324 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49325
63ba1554 493262005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49327
49328 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49329 "@" which marks the start of a comment on ARM.
49330 (VARIABLE): Likewise.
49331
7f67dc13 493322005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49333
79bbb63f 49334 Add support for Linux/ADFS partition tables.
7f67dc13 49335
49336 * partmap/acorn.c: New file.
49337
49338 * include/grub/acorn_filecore.h: Likewise.
49339
49340 * DISTLIST: Added `partmap/acorn.c' and
49341 `include/grub/acorn_filecore.h'.
f19dbdb7 49342
7f67dc13 49343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49344 `partmap/acorn.c'.
49345 (pkgdata_MODULES): Add `acorn.mod'.
49346 (acorn_mod_SOURCES): New variable.
49347 (acorn_mod_CFLAGS): Likewise.
49348
49349 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49350 `partmap/acorn.c'.
49351 (pkgdata_MODULES): Add `acorn.mod'.
49352 (acorn_mod_SOURCES): New variable.
49353 (acorn_mod_CFLAGS): Likewise.
49354
49355 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49356 (pkgdata_MODULES): Add `acorn.mod'.
49357 (acorn_mod_SOURCES): New variable.
49358 (acorn_mod_CFLAGS): Likewise.
49359 (acorn_mod_LDFLAGS): Likewise.
49360
49361 * include/types.h (grub_disk_addr_t): New typedef.
49362
6d099807 493632005-11-13 Marco Gerards <mgerards@xs4all.nl>
49364
49365 * geninit.sh: New file.
49366
49367 * geninitheader.sh: Likewise.
49368
49369 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49370 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49371 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49372 * commands/configfile.c (grub_configfile_init)
49373 (grub_configfile_fini): Likewise.
49374 * commands/default.c (grub_default_init, grub_default_fini):
49375 Likewise.
49376 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49377 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49378 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49379 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49380 Likewise.
49381 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49382 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49383 Likewise.
49384 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 49385 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 49386 Likewise.
49387 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49388 Likewise.
fe6b695a 49389 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 49390 Likewise.
49391 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49392 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49393 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49394 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49395 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49396 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49397 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49398 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49399 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49400 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49401 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49402 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49403 * partmap/amiga.c (grub_amiga_partition_map_init)
49404 (grub_amiga_partition_map_fini): Likewise.
49405 * partmap/apple.c (grub_apple_partition_map_init)
49406 (grub_apple_partition_map_fini): Likewise.
49407 * partmap/pc.c (grub_pc_partition_map_init)
49408 (grub_pc_partition_map_fini): Likewise.
49409 * partmap/sun.c (grub_sun_partition_map_init,
49410 grub_sun_partition_map_fini): Likewise.
49411 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49412 Likewise.
49413
49414 * util/grub-emu.c: Include <grub_modules_init.h>.
49415 (main): Don't initialize and de-initialize any modules directly,
49416 use `grub_init_all' and `grub_fini_all' instead.
49417
49418 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49419 `grub_vesafb_mod_init'.
49420 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49421 all users.
49422 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49423 `grub_vga_mod_init'. Updated all users.
49424 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 49425
6d099807 49426 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49427 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49428 rules.
49429
49430 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49431 Generate a function to initialize the module in utilities.
49432 Updated all callers.
49433 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49434 initialize the module in utilities. Updated all callers.
49435
9046bcf0 494362005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49437
49438 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49439 escape sequence and a literal ^L to clear the screen.
49440
49441 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49442 when returning from Open Firmware.
49443
d13ea639 494442005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49445
49446 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49447 (grub_ofconsole_height): Likewise.
49448 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49449 manually insert a '\n'.
49450 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49451 `grub_ofconsole_height'. Return early if these are already set.
49452
a8fcf206 494532005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49454
49455 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49456 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49457 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49458 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49459 and `normal/script.c'.
49460 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49461 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49462 (test_mod_SOURCES): New variable.
49463 (test_mod_CFLAGS): Likewise.
49464 (test_mod_LDFLAGS): Likewise.
49465 (pkgdata_MODULES): Add `test.mod'.
49466 (grub_script.tab.c): New rule.
49467 (grub_script.tab.h): Likewise.
49468
b6b32745 494692005-11-07 Marco Gerards <mgerards@xs4all.nl>
49470
49471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49472 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49473 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49474 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49475 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49476 (test_mod_SOURCES): New variable.
49477 (test_mod_CFLAGS): Likewise.
49478 (pkgdata_MODULES): Add `test.mod'.
49479 (grub_script.tab.c): New rule.
49480 (grub_script.tab.h): Likewise.
49481
daac212a 494822005-11-06 Marco Gerards <mgerards@xs4all.nl>
49483
49484 Add initial scripting support.
49485
49486 * commands/test.c: New file.
49487 * include/grub/script.h: Likewise.
49488 * normal/execute.c: Likewise.
49489 * normal/function.c: Likewise.
49490 * normal/lexer.c: Likewise.
49491 * normal/parser.y: Likewise.
49492 * normal/script.c: Likewise.
49493
49494 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49495
daac212a 49496 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49497 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49498 `normal/function.c' and `normal/script.c'.
49499 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49500 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49501 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49502 variables.
daac212a 49503 (pkgdata_MODULES): Add `test.mod'.
49504 (grub_script.tab.c): New rule.
49505 (grub_script.tab.h): Likewise.
49506
49507 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49508
49509 * include/grub/normal.h (grub_test_init): New prototype.
49510 (grub_test_fini): Likewise.
f19dbdb7 49511
daac212a 49512 * normal/command.c: Include <grub/script.h>.
49513 (grub_command_execute): Rewritten.
f19dbdb7 49514
daac212a 49515 * util/grub-emu.c (main): Call `grub_test_init' and
49516 `grub_test_fini'.
49517
77500b2b 495182005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49519
49520 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49521 to 0.
49522 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49523 there are no pending characters.
49524
e45deb9e 495252005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49526
49527 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49528 `grub_strndup' to drop device arguments. Replace unnecessary
49529 `grub_strndup' with `grub_strdup'.
49530
4ce32619 495312005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49532
49533 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49534 `debug' environment variable has been set.
49535
495362005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49537
4ce32619 49538 * Makefile.in (install-local): Use $(DATA).
49539 (uninstall): Likewise.
49540 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49541 (sbin_UTILITIES): ... to here.
49542 (sbin_SCRIPTS): New variable.
49543 (grub_install_SOURCES): New variable.
49544 * util/powerpc/ieee1275/grub-install.in: New file.
49545 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49546 variable.
49547 (add_segments): Call `grub_util_get_path'.
49548
25fe6f03 495492005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49550
49551 From Timothy Baldwin:
49552 * commands/ls.c (grub_ls_list_files): Close FILE with
49553 grub_file_close.
49554 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49555
04ccf3ec 495562005-10-24 Marco Gerards <mgerards@xs4all.nl>
49557
49558 * include/grub/parser.h: New file.
49559
49560 * kern/parser.c: Likewise.
49561
49562 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49563 (grub_setup_SOURCES): Likewise.
49564 (grub_probefs_SOURCES): Likewise.
49565 (grub_emu_SOURCES): Likewise.
49566 (kernel_img_HEADERS): Add `parser.h'.
49567
49568 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49569 (grub_emu_SOURCES): Add `kern/parser.c'.
49570 (grubof_SOURCES): Likewise.
49571
49572 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49573 (grubof_SOURCES): Add `kern/parser.c'.
49574
49575 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49576
49577 * kern/misc.c (grub_split_cmdline): Removed function.
49578
49579 * kern/rescue.c: Include <grub/parser.h>.
49580 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49581 of `grub_split_cmdline'.
49582
49583 * normal/command.c: Include <grub/parser.h>.
49584 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49585 of `grub_split_cmdline'.
49586
49587 * normal/completion.c: Include <grub/parser.h>.
49588 (cmdline_state): New variable.
49589 (iterate_dir): End the filename with a quote depending on the
49590 command line state.
49591 (get_state): new function.
49592 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49593 split the arguments and determine the current argument. When the
49594 argument string is not quoted, escape all spaces.
49595
6d8f4b0e 495962005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49597
49598 * normal/sparc64/setjmp.S: New file.
49599
15cf03ed 496002005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49601
49602 * include/grub/sparc64/libgcc.h: New file.
49603 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49604 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49605 normal/sparc64/setjmp.c.
49606
03e8661a 496072005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49608
49609 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49610 * kern/sparc64/cache.S: New file.
49611 * kern/sparc64/cache.c: Removed.
49612 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49613 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49614 -mtune=ultrasparc.
49615 (COMMON_LDFLAGS): Add -melf64_sparc.
49616 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49617 (grubof_SOURCES): Use cache.S instead of cache.c.
49618 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49619 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49620 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49621 commented though.
49622 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49623 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49624 (linux_mod_CFLAGS): Commented out.
49625 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49626 out because module isn't built.
49627 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49628 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49629 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49630 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49631 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49632 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49633 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49634 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49635 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49636 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49637 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49638 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49639 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49640 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49641
34eeec8a 496422005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49643
49644 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49645 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49646 longer, because HFS should not be used on PC.
49647
708367a3 496482005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49649
49650 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49651 consistently within the loop.
49652
6fa1251a 496532005-10-15 Marco Gerards <mgerards@xs4all.nl>
49654
49655 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49656 directory can not be read.
49657
4801580b 496582005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49659
49660 * configure.ac (AC_INIT): Increase the version number to 1.91.
49661
49662 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49663 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49664 term/i386/pc/serial.c.
49665
219ad426 496662005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49667
49668 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49669 file size must be permitted.
49670
49671 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49672 between %ah and %al.
49673
688e5699 496742005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49675
49676 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49677 grub_uint64_t.
49678 Call the hook with a NUL-terminated filename.
49679 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49680 grub_cpu_to_be32.
49681
49682 * kern/term.c (cursor_state): New variable.
49683 (grub_term_set_current): Reset the cursor state on a new
49684 terminal.
49685 (grub_setcursor): Rewritten to use CURSOR_STATE.
49686 (grub_getcursor): New function.
49687
49688 * include/grub/term.h (grub_getcursor): New prototype.
49689
49690 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49691 integers on ARM. Reported by Timothy Baldwin
49692 <T.E.Baldwin99@members.leeds.ac.uk>.
49693
bb34586c 496942005-10-11 Marco Gerards <mgerards@xs4all.nl>
49695
49696 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49697 allocated.
49698 (grub_sfs_dir): Likewise.
49699
9a909877 497002005-10-09 Marco Gerards <mgerards@xs4all.nl>
49701
49702 Add support for the SFS filesystem.
49703
49704 * fs/sfs.c: New file.
49705
49706 * DISTLIST: Added `fs/sfs.c'.
49707
49708 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49709 (grub_probefs_SOURCES): Likewise.
49710 (grub_emu_SOURCES): Likewise.
49711 (pkgdata_MODULES): Add `sfs.mod'.
49712 (sfs_mod_SOURCES): New variable.
49713 (sfs_mod_CFLAGS): Likewise.
49714 (sfs_mod_LDFLAGS): Likewise.
49715
49716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49717 (pkgdata_MODULES): Add `sfs.mod'.
49718 (sfs_mod_SOURCES): New variable.
49719 (sfs_mod_CFLAGS): Likewise.
49720
49721 * util/grub-emu.c (main): Call `grub_sfs_init' and
49722 `grub_sfs_fini'.
49723
49724 * include/grub/fs.h (grub_sfs_init): New prototype.
49725 (grub_sfs_fini): Likewise.
49726
57bdbde3 497272005-10-07 Marco Gerards <mgerards@xs4all.nl>
49728
49729 Add support for the AFFS filesystem.
49730
49731 * fs/affs.c: New file.
49732
49733 * DISTLIST: Added `fs/affs.c'.
49734
49735 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49736 (grub_probefs_SOURCES): Likewise.
49737 (grub_emu_SOURCES): Likewise.
49738 (pkgdata_MODULES): Add `affs.mod'.
49739 (affs_mod_SOURCES): New variable.
49740 (affs_mod_CFLAGS): Likewise.
49741 (affs_mod_LDFLAGS): Likewise.
49742
49743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49744 (pkgdata_MODULES): Add `affs.mod'.
49745 (affs_mod_SOURCES): New variable.
49746 (affs_mod_CFLAGS): Likewise.
49747
49748 * util/grub-emu.c (main): Call `grub_affs_init' and
49749 `grub_affs_fini'.
49750
49751 * include/grub/fs.h (grub_affs_init): New prototype.
49752 (grub_affs_fini): Likewise.
49753
047b67e0 497542005-10-01 Marco Gerards <mgerards@xs4all.nl>
49755
49756 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49757
59b8208a 497582005-10-01 Marco Gerards <mgerards@xs4all.nl>
49759
49760 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49761 `-m32' to CFLAGS.
49762
49763 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49764 linking.
f19dbdb7 49765
59b8208a 49766 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49767 (COMMON_LDFLAGS): New variable.
49768 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49769 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49770 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49771 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49772 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49773 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49774 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49775 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49776 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49777 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49778 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49779 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49780 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49781 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49782 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49783 variables.
49784 (normal_mod_ASFLAGS): Add `-m32'.
49785
49786 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49787 (grub_host_size_t, grub_host_ssize_t): New types.
49788 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49789 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49790 `GRUB_HOST_SIZEOF_VOID_P'.
49791
49792 * include/grub/kernel.h (struct grub_module_header): Type of
49793 member offset changed to `grub_host_off_t'. Type of member size
49794 changed to `grub_host_size_t'.
49795 (struct grub_module_info): Type of member offset changed to
49796 `grub_host_off_t'. Type of member size changed to
49797 `grub_host_size_t'.
49798
b4093103 497992005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49800
49801 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49802
b4093103 49803 * kern/i386/pc/startup.S (multiboot_header): New label.
49804 (multiboot_entry): Likewise.
49805 (multiboot_trampoline): Likewise.
49806
49807 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49808 Increased to 0x4A0.
49809
49810 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49811 put parentheses after a question mark.
49812 [!GRUB_UTIL] (my_mod): New variable.
49813
49814 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49815
b2499b29 498162005-09-28 Marco Gerards <mgerards@xs4all.nl>
49817
49818 Adds support for the XFS filesystem. Btrees are not supported
49819 yet.
49820
49821 * fs/xfs.c: New file.
49822
49823 * DISTLIST: Added `fs/xfs.c'.
49824
49825 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49826 (grub_probefs_SOURCES): Likewise.
49827 (grub_emu_SOURCES): Likewise.
49828 (pkgdata_MODULES): Add `xfs.mod'.
49829 (xfs_mod_SOURCES): New variable.
49830 (xfs_mod_CFLAGS): Likewise.
49831
49832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49833 (pkgdata_MODULES): Add `xfs.mod'.
49834 (xfs_mod_SOURCES): New variable.
49835 (xfs_mod_CFLAGS): Likewise.
49836
49837 * util/grub-emu.c (main): Call `grub_xfs_init' and
49838 `grub_xfs_fini'.
49839
49840 * include/grub/fs.h (grub_xfs_init): New prototype.
49841 (grub_xfs_fini): Likewise.
49842
f19dbdb7 49843
83d37a62 498442005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49845
49846 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49847 color modes, allow greater than 16 colors to be configured as
49848 a default palette.
49849
47d2d65e 498502005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49851
49852 * normal/completion.c (complete_arguments): Add the qualifier
49853 const into OPTIONS.
49854
49855 From Omniflux <omniflux+lists@omniflux.com>:
49856 * include/grub/terminfo.h: New file.
49857 * include/grub/tparm.h: Likewise.
49858 * include/grub/i386/pc/serial.h: Likewise.
49859 * term/terminfo.c: Likewise.
49860 * term/tparm.c: Likewise.
49861 * term/i386/pc/serial.c: Likewise.
49862 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49863 serial.mod.
49864 (terminfo_mod_SOURCES): New variable.
49865 (terminfo_mod_CFLAGS): Likewise.
49866 (serial_mod_SOURCES): Likewise.
49867 (serial_mod_CFLAGS): Likewise.
49868
48b671ff 498692005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49870
49871 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49872 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49873 and kern/powerpc/ieee1275/cmain.c, respectively.
49874
49875 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49876 * kern/powerpc/ieee1275/crt0.S: ... here.
49877
49878 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49879 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49880
48b671ff 49881 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49882 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49883 instead of boot/powerpc/ieee1275/crt0.S and
49884 boot/powerpc/ieee1275/cmain.c, respectively.
49885
49886 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49887 sectors. It was not used anyway.
49888
09fc77a7 498892005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49890
49891 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49892 `unused parameter' warning.
49893
003789c7 498942005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49895
49896 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49897 function.
49898 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49899 getcharwidth.
49900
67f44c86 499012005-08-28 Marco Gerards <metgerards@student.han.nl>
49902
49903 * include/grub/normal.h (enum grub_completion_type): Added
49904 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49905
49906 * normal/cmdline.c (print_completion): Handle
49907 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49908 * normal/menu_entry.c (store_completion): Likewise.
49909
49910 * normal/completion.c (complete_arguments): New function.
49911 (grub_normal_do_completion): Call `complete_arguments' when the
49912 current words start with a dash.
49913
0b5abe02 499142005-08-27 Marco Gerards <metgerards@student.han.nl>
49915
49916 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49917 `gzio.mod' instead of `io.mod').
49918
d9864ee1 499192005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49920
49921 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49922 (DISTDIRS): Added io and video.
49923 Rewrite the search routine to make an output consistently.
49924
49925 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49926 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49927 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49928 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49929 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49930 util/powerpc/ieee1275/misc.c.
f19dbdb7 49931
d9864ee1 49932 * include/grub/gzio.h: New file.
49933 * io/gzio.c: Likewise.
f19dbdb7 49934
d9864ee1 49935 * kern/file.c (grub_file_close): Call grub_device_close only if
49936 FILE->DEVICE is not NULL.
49937
49938 * include/grub/mm.h [!NULL] (NULL): New macro.
49939
49940 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49941
49942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49943 (pkgdata_MODULES): Added gzio.mod.
49944 (gzio_mod_SOURCES): New variable.
49945 (gzio_mod_CFLAGS): Likewise.
49946
49947 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49948 (pkgdata_MODULES): Added gzio.mod.
49949 (gzio_mod_SOURCES): New variable.
49950 (gzio_mod_CFLAGS): Likewise.
49951
49952 * commands/cat.c: Include grub/gzio.h.
49953 (grub_cmd_cat): Use grub_gzfile_open instead of
49954 grub_file_open.
f19dbdb7 49955
d9864ee1 49956 * commands/cmp.c: Include grub/gzio.h.
49957 (grub_cmd_cmp): Use grub_gzfile_open instead of
49958 grub_file_open.
49959
49960 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49961 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49962 grub_file_open.
49963 (grub_rescue_cmd_module): Likewise.
49964
fa46f4b5 499652005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49966
49967 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49968 kern/sparc64/ieee1275/init.c because it contains _start.
49969 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49970
e9211b5d 499712005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49972
49973 * configure.ac: Add support for sparc64 host with ieee1275
49974 firmware.
49975 * configure: Generated from configure.ac.
49976 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49977 instead of int.
49978 (grub_ofdisk_read): Likewise.
49979 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49980 pointers as (void *) to remove a warning.
49981 (grub_ofdisk_close): Likewise.
49982 (grub_ofdisk_read): Likewise.
49983 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49984 returns, so make it return void to remove a warning.
49985 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49986 Corresponding prototype change.
49987 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49988 values, and cast the pointers as (void *) to remove a warning.
49989 (grub_mm_dump): Likewise.
49990 * conf/sparc64-ieee1275.mk: New file.
49991 * conf/sparc64-ieee1275.rmk: Likewise.
49992 * include/grub/sparc64/setjmp.h: Likewise.
49993 * include/grub/sparc64/types.h: Likewise.
49994 * include/grub/sparc64/ieee1275/console.h: Likewise.
49995 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49996 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49997 * include/grub/sparc64/ieee1275/time.h: Likewise.
49998 * kern/sparc64/cache.c: Likewise.
49999 * kern/sparc64/dl.c: Likewise.
50000 * kern/sparc64/ieee1275/init.c: Likewise.
50001 * kern/sparc64/ieee1275/openfw.c: Likewise.
50002
385c6a92 500032005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50004
50005 * util/console.c (grub_ncurses_putchar): If C is greater than
50006 0x7f, set C to a question mark.
50007 (grub_ncurses_getcharwidth): New function.
50008 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
50009 getcharwidth.
50010
50011 * normal/menu.c (print_entry): Made aware of Unicode. First,
50012 convert TITLE to UCS-4, and predict the cursor position by
50013 grub_getcharwidth.
50014
50015 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
50016 const to SRC.
50017 * kern/misc.c (grub_utf16_to_utf8): Likewise.
50018
16ccb8b1 500192005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50020
50021 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
50022 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50023 grub_strcat.
50024
50025 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
50026 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50027 grub_strcpy and grub_strlen. Take it into account that a space
50028 character is inserted as a delimiter.
50029
6a85ce79 500302005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50031
50032 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 50033 invalid magic in the error.
6a85ce79 50034
50035 * commands/search.c: New file.
f19dbdb7 50036
6a85ce79 50037 * util/grub-emu.c (main): Call grub_search_init and
50038 grub_search_fini.
50039
50040 * kern/rescue.c (grub_rescue_print_disks): Removed.
50041 (grub_rescue_print_devices): New function.
50042 (grub_rescue_cmd_ls): Use grub_device_iterate with
50043 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50044 grub_rescue_print_disks.
50045
50046 * kern/partition.c (grub_partition_iterate): Return the result of
50047 PARTMAP->ITERATE instead of GRUB_ERRNO.
50048
50049 * kern/device.c: Include grub/partition.h.
50050 (grub_device_iterate): New function.
50051
50052 * include/grub/partition.h (grub_partition_iterate): Return int
50053 instead of grub_err_t.
50054
50055 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50056 prototype.
50057 [GRUB_UTIL] (grub_search_fini): Likewise.
50058
50059 * include/grub/device.h (grub_device_iterate): New prototype.
50060
50061 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50062 commands/search.c.
50063 (pkgdata_MODULES): Added search.mod.
50064 (search_mod_SOURCES): New variable.
50065 (search_mod_CFLAGS): Likewise.
50066
50067 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50068 (pkgdata_MODULES): Added search.mod.
50069 (search_mod_SOURCES): New variable.
50070 (search_mod_CFLAGS): Likewise.
50071
50072 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50073 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50074 All callers changed.
50075
50076 * DISTLIST: Added commands/search.c.
50077
ef095434 500782005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50079
50080 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50081 conversion.
50082 (grub_getcharwidth): New function.
50083
50084 * kern/misc.c (grub_utf8_to_ucs4): New function.
50085
50086 * include/grub/term.h (struct grub_term): Added a new member
50087 "getcharwidth".
50088 (grub_getcharwidth): New prototype.
50089
50090 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50091
50092 * term/i386/pc/console.c (map_char): New function. Segregated from
50093 grub_console_putchar.
50094 (grub_console_putchar): Use map_char.
50095 (grub_console_getcharwidth): New function.
50096 (grub_console_term): Specified grub_console_getcharwidth as
50097 getcharwidth.
50098
50099 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50100 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50101
50102 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50103 GRUB_ERRNO.
50104 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50105 on grub_strtoul completely.
50106 (write_char): Declare local variables in the beginning of the
50107 function.
50108 (grub_vesafb_getcharwidth): New function.
50109 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50110 getcharwidth.
50111
1f0a95e4 501122005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50113
50114 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50115 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50116 commands/i386/pc/vbetest.c.
50117
50118 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50119 call grub_vbe_get_controller_info again, because the returned
50120 information is volatile.
50121 (grub_vbe_set_video_mode): Mostly rewritten.
50122 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50123 grub_vbe_status_t correctly.
50124 (grub_vbe_get_video_mode_info): Likewise.
50125 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50126 several if statements.
50127
50128 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50129 * commands/i386/pc/vbeinfo.c: ... this.
50130
50131 * commands/i386/pc/vbe_test.c: Renamed to ...
50132 * commands/i386/pc/vbetest.c: ... this.
50133
50134 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50135 ...
50136 (grub_cmd_vbeinfo): ... this. Save video modes before
50137 iterating. Skip a video mode, if it is not available, not enough
50138 information is given or it is monochrome. Show the memory
50139 model. Leave the interpretation of MODEVAR to grub_strtoul
50140 completely.
50141 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50142 (GRUB_MOD_FINI): Likewise.
50143
50144 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50145 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50146 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50147 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50148 grub_strtoul completely.
50149 (real2pm): Removed.
50150 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50151 (GRUB_MOD_FINI): Likewise.
50152
50153 * normal/misc.c: Include grub/mm.h.
50154
50155 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50156 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50157 (vbe_list_modes_mod_SOURCES): Removed.
50158 (vbe_list_modes_mod_CFLAGS): Likewise.
50159 (vbe_test_mod_SOURCES): Likewise.
50160 (vbe_test_mod_CFLAGS): Likewise.
50161 (vbeinfo_mod_SOURCES): New variable.
50162 (vbeinfo_mod_CFLAGS): Likewise.
50163 (vbetest_mod_SOURCES): Likewise.
50164 (vbetest_mod_CFLAGS): Likewise.
50165
992ffbbe 501662005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
50167
50168 * normal/misc.c: New file.
50169
50170 * DISTLIST: Added normal/misc.c.
f19dbdb7 50171
992ffbbe 50172 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50173 DISK to HOOK. Call HOOK with DISK.
50174 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50175 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50176 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50177
50178 * normal/menu_entry.c (struct screen): Added a new member
50179 "completion_shown".
50180 (completion_buffer): New global variable.
50181 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50182 (store_completion): New function.
50183 (complete): Likewise.
50184 (clear_completions): Likewise.
50185 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50186 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
50187 a tab, call complete.
50188
50189 * normal/completion.c (disk_dev): Removed.
50190 (print_simple_completion): Likewise.
50191 (print_partition_completion): Likewise.
50192 (print_func): New global variable.
50193 (add_completion): Do not take the arguments WHAT or PRINT any
50194 longer. Added a new argument TYPE. Instead of printing directly,
50195 call PRINT_FUNC if not NULL.
50196 All callers changed.
50197 (complete_device): Use a local variable DEV instead of
50198 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
50199 (grub_normal_do_completion): Take a new argument HOOK. Do not
50200 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50201 empty string, return NULL instead.
50202 All callers changed.
50203
50204 * normal/cmdline.c (print_completion): New function.
50205
50206 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50207 to HOOK.
50208 All callers changed.
50209
50210 * kern/disk.c (grub_print_partinfo): Removed.
50211
50212 * include/grub/partition.h (struct grub_partition_map): Add a new
50213 argument DISK into HOOK of ITERATE.
50214 (grub_partition_iterate): Add a new argument DISK to HOOK.
50215
50216 * include/grub/normal.h (enum grub_completion_type): New enum.
50217 (grub_completion_type_t): New type.
50218 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50219 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50220 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50221 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50222 (grub_normal_do_completion): Added a new argument HOOK.
50223 (grub_normal_print_device_info): New prototype.
50224
50225 * include/grub/disk.h (grub_print_partinfo): Removed.
50226
50227 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50228 (normal_mod_SOURCES): Likewise.
50229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50230 (normal_mod_SOURCES): Likewise.
50231
50232 * commands/ls.c (grub_ls_list_disks): Use
50233 grub_normal_print_device_info instead of grub_print_partinfo. Free
50234 PNAME.
50235 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50236 duplicating the code.
50237
0bd41162 502382005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50239
50240 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 50241 follow GCS more precisely.
50242 * commands/i386/pc/vbe_test.c: Likewise.
50243 * include/grub/i386/pc/vbe.h: Likewise.
50244 * term/i386/pc/vesafb.c: Likewise.
50245 * video/i386/pc/vbe.c: Likewise.
0bd41162 50246
6323696a 502472005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50248
50249 * DISTLIST: Added term/i386/pc/vesafb.c
50250 DISTLIST: Added video/i386/pc/vbe.c
50251 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50252 DISTLIST: Added commands/i386/pc/vbe_test.c.
50253 * commands/i386/pc/vbe_list_modes.c: New file.
50254 * commands/i386/pc/vbe_test.c: Likewise.
50255 * term/i386/pc/vesafb.c: Likewise.
50256 * video/i386/pc/vbe.c: Likewise.
50257 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50258 (grub_vbe_probe) Added prototype.
50259 (grub_vbe_set_video_mode) Likewise.
50260 (grub_vbe_get_video_mode) Likewise.
50261 (grub_vbe_get_video_mode_info) Likewise.
50262 (grub_vbe_set_pixel_rgb) Likewise.
50263 (grub_vbe_set_pixel_index) Likewise.
50264 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50265 (pkgdata_MODULES): Added vesafb.mod.
50266 (pkgdata_MODULES): Added vbe_list_modes.mod.
50267 (pkgdata_MODULES): Added vbe_test.mod.
50268 (vbe_mod_SOURCES): Added.
50269 (vbe_mod_CFLAGS): Likewise.
50270 (vesafb_mod_SOURCES): Likewise.
50271 (vesafb_mod_CFLAGS): Likewise.
50272 (vbe_list_modes_mod_SOURCES): Likewise.
50273 (vbe_list_modes_mod_CFLAGS): Likewise.
50274 (vbe_test_mod_SOURCES): Likewise.
50275 (vbe_test_mod_CFLAGS): Likewise.
50276
0a74e62f 502772005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50278
0a74e62f 50279 * normal/command.c (grub_command_execute): If INTERACTIVE is
50280 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50281 CMDLINE. Disable the pager if INTERACTIVE is true.
50282 All callers are changed.
50283
50284 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50285 before reading a config file.
50286 * normal/main.c (read_config_file): Even if a command is not
50287 found, register it if it is within an entry.
50288
50289 * util/grub-emu.c: Include sys/types.h and unistd.h.
50290 (options): Added --hold.
50291 (struct arguments): Added a new member "hold".
50292 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50293 missing.
50294 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50295 cleared by a debugger, if it is not zero.
50296
50297 * include/grub/normal.h (grub_command_execute): Add an argument
50298 INTERACTIVE.
50299
e51f85ae 503002005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50301
50302 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50303
e9c6f39b 503042005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50305
50306 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50307 program with another one, because the old one didn't detect a bug
50308 in gcc-3.4. Always use regparm 2, because the new test is still
50309 not enough for gcc-4.0. Someone must investigate a simple test
50310 case which detects a bug in gcc-4.0.
50311
8de3495c 503122005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50313
50314 * DISTLIST: Added normal/completion.c.
50315
50316 * normal/completion.c: New file.
f19dbdb7 50317
8de3495c 50318 * term/i386/pc/console.c (grub_console_getwh): New function.
50319 (grub_console_term): Assign grub_console_getwh to getwh.
50320
50321 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50322 function is defined in normal/completion.c as
50323 grub_normal_do_completion.
50324 (grub_cmdline_get): Use grub_normal_do_completion instead of
50325 grub_tab_complete.
50326
50327 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50328 returns non-zero, otherwise return 0.
50329 (grub_partition_iterate): First, probe the partition map. Then,
50330 call ITERATE only for this partition map.
50331
50332 * kern/misc.c (grub_strncmp): Rewritten.
50333
50334 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50335 returns non-zero. Otherwise return 0.
50336
50337 * include/grub/partition.h (grub_partition_map_iterate): Return
50338 int instead of void.
50339
50340 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50341
50342 * include/grub/misc.h (grub_strncmp): Change the type of N to
50343 grub_size_t.
50344
50345 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50346 of void.
50347
50348 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50349 unsigned explicitly before comparing it with I.
8de3495c 50350
50351 * kern/main.c (grub_env_write_root): Add the attribute unused into
50352 VAR.
50353
50354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50355 normal/completion.c.
50356 (normal_mod_SOURCES): Likewise.
50357 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50358 (normal_mod_SOURCES): Likewise.
50359
50360 * normal/command.c (grub_iterate_commands): If ITERATE returns
50361 non-zero, return one immediately.
50362
e85e144b 503632005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50364
50365 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50366 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50367 descriptions.
50368 (grub_vbe_get_controller_info): New function.
50369 (grub_vbe_get_mode_info): Likewise.
50370 (grub_vbe_set_mode): Likewise.
50371 (grub_vbe_get_mode): Likewise.
50372 (grub_vbe_set_memory_window): Likewise.
50373 (grub_vbe_get_memory_window): Likewise.
50374 (grub_vbe_set_scanline_length): Likewise.
50375 (grub_vbe_get_scanline_length): Likewise.
50376 (grub_vbe_set_display_start): Likewise.
50377 (grub_vbe_get_display_start): Likewise.
50378 (grub_vbe_set_palette_data): Likewise.
50379 * include/grub/i386/pc/vbe.h: New file.
50380
c46153d2 503812005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50382
50383 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50384 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50385 * DISTLIST: Likewise.
50386 * kern/ieee1275/of.c: Moved to ...
50387 * kern/ieee1275/ieee1275.c: ... here.
50388
0cb90c45 503892005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50390
50391 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50392 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50393 Pass 0 as `end' parameter to grub_strtoul().
50394
a19fb360 503952005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50396
50397 * include/grub/powerpc/ieee1275/console.h: Do not include
50398 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50399 ifdef.
50400 (grub_console_cur_color): Remove i386-specific prototype.
50401 (grub_console_real_putchar): Likewise.
50402 (grub_console_checkkey): Likewise.
50403 (grub_console_getkey): Likewise.
50404 (grub_console_getxy): Likewise.
50405 (grub_console_gotoxy): Likewise.
50406 (grub_console_cls): Likewise.
50407 (grub_console_setcursor): Likewise.
50408 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50409 Include <grub/machine/console.h>.
50410 * term/ieee1275/ofconsole.c: Likewise.
50411
4ac9bd04 504122005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50413
50414 * Makefile.in (LIBLZO): New variable.
50415
50416 * configure.ac: Check for LZO version 2.
50417
50418 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50419 lzo/lzo1x.h instead of lzo1x.h.
50420
50421 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50422 of -llzo.
50423
50424 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50425 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50426
50427 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50428 copying the data from PARTITION to P.
50429
f4917dfd 504302005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50431
50432 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50433 negative, unload the module.
50434
50435 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50436 map is "pc_partition_map" but not "pc".
50437 (usage): Fix the description. The options are --boot-image and
50438 --core-image but not --boot-file or --core-file.
50439 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50440 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50441 DEFAULT_DIRECTORY.
50442
50443 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50444 --core-file. Specify INSTALL_DEVICE as an argument.
50445
50446 * util/console.c: Include config.h.
50447 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50448 [HAVE_NCURSES_H]: Include ncurses.h.
50449 [HAVE_CURSES_H]: Include curses.h.
50450 [!A_NORMAL] (A_NORMAL): Defined as zero.
50451 [!A_STANDOUT] (A_STANDOUT): Likewise.
50452
50453 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50454 -lncurses.
50455 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50456
50457 * configure.ac: Check for curses libraries and headers.
50458
50459 * Makefile.in (LIBCURSES): New variable.
50460
50461 * genmk.rb (Script::rule): Set the executable bits.
50462
50463 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50464 name of the PC partition map is "pc_partition_map" but not "pc".
50465
0e143073 504662005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50467
50468 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50469 (modules): Likewise.
50470 (usage): Added descriptions for --modules and --grub-probefs.
50471 Handle --modules and --grub-probefs. Save the arguments in MODULES
50472 and GRUB_PROBEFS, respectively.
50473 Auto-detect a filesystem module against GRUBDIR. If the result is
50474 empty and modules are not specified explicitly, abort the
50475 installation. Add the result to MODULES.
50476
50477 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50478 disk/powerpc/ieee1275/ofdisk.c,
50479 include/grub/powerpc/ieee1275/init.h and
50480 term/powerpc/ieee1275/ofconsole.c.
50481 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50482 term/ieee1275/ofconsole.c.
50483
50484 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50485
50486 * COPYING: Upgraded to the latest version. Only the address of the
50487 FSF office has changed.
f19dbdb7 50488
efd6e6d5 504892005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50490
50491 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50492 kern/ieee1275.c with kern/ieee1275/of.c.
50493
50494 * kern/ieee1275.c: Moved to ...
50495 * kern/ieee1275/of.c: ... here.
50496
8ceafda2 504972005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50498
50499 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50500 readability.
8ceafda2 50501
50502 * config.guess: Updated to the latest version from gnulib.
50503 * config.sub: Likewise.
50504 * install.sh: Likewise.
50505 * mkinstalldirs: Likewise.
50506
50507 * include/grub/console.h: Removed. This file is arch-specific. Do
50508 not put this in include/grub.
50509
50510 * include/grub/i386/pc/console.h: Resurrected.
50511
50512 * util/console.c: Include grub/machine/console.h instead of
50513 grub/console.h.
50514 * util/grub-emu.c: Likewise.
50515
267f6cd9 505162005-08-04 Marco Gerards <metgerards@student.han.nl>
50517
50518 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50519 hardcoded value.
f19dbdb7 50520
267f6cd9 50521 From Vincent Pelletier <subdino2004@yahoo.fr>
50522 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50523 Redefined to use grub_getwh.
50524 (grub_term): New member named getwh.
50525 (grub_getwh): New prototype.
50526 * kern/term.c (grub_getwh): New function.
50527 * term/i386/pc/console.c (grub_console_getwh): New function.
50528 (grub_console_term): New member `getwh'.
50529 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50530 (grub_vga_term): New member `getwh'.
0b5abe02 50531 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50532 grub_ssize_t.
50533 (grub_ofconsole_getw): New function.
50534 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50535 (grub_ofconsole_term): New field named getwh and new initial
50536 value.
50537
3be7266d 505382005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50539
50540 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50541 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50542 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50543 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50544 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50545 of <grub/machine/ieee1275.h>.
50546 * commands/ieee1275/reboot.c: Likewise.
50547 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50548 * kern/ieee1275.c: ... to here. All users updated. Change all
50549 parameter structs to use new type `grub_ieee1275_cell_t'.
50550 * term/powerpc/ieee1275/ofconsole.c: Move ...
50551 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50552 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50553 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50554 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50555 to return int.
50556 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50557 Remove unused prototypes. All users updated.
50558 * include/grub/powerpc/ieee1275/console.h: Removed.
50559 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50560 `grub_ieee1275_cell_t'.
50561 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50562 Cast comparisons with -1 to the correct type.
50563 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50564 type to match `grub_ieee1275_entry_fn'.
50565
8b5f3938 505662005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50567
50568 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50569
50570 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50571 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50572 partmap/sun.c.
50573 (grub_probefs_SOURCES): New variable.
50574
50575 * util/i386/pc/grub-probefs.c: New file.
50576
50577 * util/i386/pc/grub-setup.c (main): Call
50578 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50579 grub_hfs_init and grub_jfs_init to initialize the system. Call
50580 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50581 grub_pc_partition_map_fini to finish the system.
50582
ea409713 505832005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50584
50585 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50586 function.
50587 (grub_multiboot_load_elf32): Likewise.
50588 (grub_multiboot_is_elf64): Likewise.
50589 (grub_multiboot_load_elf64): Likewise.
50590 (grub_multiboot_load_elf): Likewise.
50591 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50592 an ELF32 or ELF64 file.
50593 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50594
50595 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50596 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50597 NULL before calling FS->LABEL.
50598 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50599 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50600 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50601 before calling FS->LABEL.
50602
141a288b 506032005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50604
50605 * util/i386/pc/grub-install.in (datadir): New variable.
50606 (libdir): Removed.
50607 (pkgdatadir): New variable.
50608 (pkglibdir): Removed.
50609
0d5f8a54 506102005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50611
50612 * DISTLIST: Added util/i386/pc/grub-install.in.
50613
50614 * util/i386/pc/grub-install.in: New file.
50615
50616 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50617 (grub_install_SOURCES): Likewise.
50618
50619 * genmk.rb: Added support for scripts.
50620 (Script): New class.
50621 (scripts): New variable.
50622
50623 * Makefile.in (install-local): Install sbin_SCRIPTS by
50624 INSTALL_SCRIPT.
50625 (uninstall): Remove sbin_SCRIPTS.
50626
50627 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50628 device, try to get a GRUB device by
50629 grub_util_biosdisk_get_grub_dev.
50630 Free DEST_DEV.
50631
50632 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50633 description for --device-map.
50634
5f968e1e 506352005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50636
50637 Change the semantics of variable hooks. They now return strings
50638 instead of error values.
f19dbdb7 50639
5f968e1e 50640 * util/i386/pc/grub-setup.c: Include grub/env.h.
50641 (setup): Use grub_device_set_root instead of grub_env_set.
50642
50643 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50644 grub_env_get instead of grub_device_set_root and
50645 grub_device_get_root, respectively.
50646
50647 * kern/main.c (grub_env_write_root): New function.
50648 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50649 grub_env_set instead of grub_device_set_root.
50650
50651 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50652 many variables.
50653 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50654 rather than calling ENV->WRITE_HOOK afterwards.
50655 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50656 passing a pointer of a pointer.
50657 (grub_register_variable_hook): Change the types of "read_hook" and
50658 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50659 respectively.
50660 Allocate the default empty string on the heap, because this string
50661 may be freed later.
50662
50663 * kern/device.c: Include grub/env.h.
50664 (grub_device_set_root): Removed.
50665 (grub_device_get_root): Likewise.
50666 (grub_device_open): Use grub_env_get instead of
50667 grub_device_get_root.
50668
50669 * include/grub/env.h (grub_env_read_hook_t): New type.
50670 (grub_env_write_hook_t): Likewise.
50671 (grub_env_var): Change the types of "read_hook" and "write_hook"
50672 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50673 (grub_register_variable_hook): Likewise.
50674
50675 * include/grub/device.h (grub_device_set_root): Removed.
50676 (grub_device_set_root): Likewise.
50677
50678 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50679 make sure that DIRNAME terminates with '/', so that
50680 grub_fat_find_dir will fail if PATH is not a directory.
50681
50682 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50683 from DIRNAME.
50684 Use the qualifier auto for print_files and print_files_long.
50685 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50686 as a regular file.
50687 Put a newline only if there is no error.
50688 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50689 used.
50690
896f0afd 506912005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50692
50693 * kern/partition.c (grub_partition_probe): Initialize PART to
50694 NULL. Otherwise, when no partition map is registered, this returns
50695 a garbage.
50696
b28b81b2 506972005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50698
50699 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50700 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50701 valid.
50702
5f3607e0 507032005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50704
50705 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50706 information on each device, if it does not have partitions. Print
50707 "Device" instead of "Disk", because this function is not specific
50708 to disk devices.
50709
50710 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50711 static to ensure that it is put on the memory rather than a
50712 register.
50713
502c87e8 507142005-07-17 Yoshinori Okuji <okuji@enbug.org>
50715
50716 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50717 (grub_cat_init): Likewise.
50718 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50719 (options): Likewise.
50720 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50721 (grub_configfile_init): Likewise.
50722 * font/manager.c (GRUB_MOD_INIT): Likewise.
50723 * commands/help.c (GRUB_MOD_INIT): Likewise.
50724 (grub_help_init): Likewise.
50725 * normal/command.c (grub_command_init): Likewise.
50726 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50727 * disk/loopback.c (grub_loop_init): Likewise.
50728 (GRUB_MOD_INIT): Likewise.
50729 * commands/ls.c (grub_ls_init): Likewise.
50730 (GRUB_MOD_INIT): Likewise.
50731 (options): Likewise.
50732 * commands/boot.c (grub_boot_init): Likewise.
50733 (GRUB_MOD_INIT): Likewise.
50734 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50735 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50736 (GRUB_MOD_INIT): Likewise.
50737 * commands/cmp.c (grub_cmp_init): Likewise.
50738 (GRUB_MOD_INIT): Likewise.
50739
50740 * normal/arg.c: Use <> instead of "" to include header files.
50741 (SHORT_ARG_HELP): New macro.
50742 (SHORT_ARG_USAGE): Likewise.
50743 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50744 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50745 descriptions.
50746 (find_short): Check if C is 'h' or 'u' explicitly.
50747 (grub_arg_show_help): Use space characters instead of tabs. Treat
50748 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50749 are shown with --help and --usage only if they are not used for
50750 the command itself.
50751 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50752 'h' and 'u'.
50753
50754 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50755 const into "longarg". Change the type of "shortarg" to int.
50756
f806d18e 507572005-07-17 Yoshinori Okuji <okuji@enbug.org>
50758
50759 * boot/i386/pc/boot.S (boot_drive_check): New label.
50760
50761 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50762 macro.
50763
50764 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50765 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50766
e293232b 507672005-07-17 Yoshinori Okuji <okuji@enbug.org>
50768
50769 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50770 When turning off Gate A20, skip the check and return immediately,
50771 because this is not fatal usually.
50772
ebedfd00 507732005-07-17 Yoshinori Okuji <okuji@enbug.org>
50774
50775 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50776 be 0x7C00 instead of 0x8000.
50777
50778 * boot/i386/pc/pxeboot.S: Rewritten.
50779
50780 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50781 EXT_C.
50782 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50783 result.
50784
654fc59f 507852005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50786
50787 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50788 robustness. This routine now supports a BIOS call and System
50789 Control Port A to modify the gate A20.
50790
50791 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50792 Increased to 0x440.
50793
09f9923f 507942005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50795
50796 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50797 device path and resulting ihandle.
50798 (grub_ofdisk_close): dprintf the ihandle being closed.
50799 (grub_ofdisk_read): dprintf function parameters.
50800 * kern/mm.c (grub_mm_init_region): Likewise.
50801 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50802 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50803 size, and boot arguments.
50804 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50805 before loading into memory.
50806 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50807 before loading into memory.
50808
7ef504d8 508092005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50810
50811 * kern/mm.c: Added much documentation.
50812 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50813 8, set to 5 instead of 8.
50814
e0f050c2 508152005-07-10 Yoshinori Okuji <okuji@enbug.org>
50816
50817 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50818
50819 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50820 (grub_mkdevicemap_SOURCES): New variable.
50821
50822 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50823 lib/device.c of GRUB Legacy.
50824
7224189a 508252005-07-10 Yoshinori Okuji <okuji@enbug.org>
50826
50827 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50828 instead of PATH is NULL.
50829
68c864eb 508302005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50831
50832 * commands/cmp.c (BUFFER_SIZE): New macro.
50833 (grub_cmd_cmp): Close the right file at the right time. Compare
50834 only data just read. Don't report files of different size as
50835 identical. Dynamically allocate buffers. Move variable
50836 declarations at the beginning of function.
50837
e6f3e614 508382005-07-09 Yoshinori Okuji <okuji@enbug.org>
50839
50840 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50841 reverse.
50842
f8f1559a 508432004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50844
50845 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50846 when backspace is pressed at beginning of line.
50847
39c9d41d 508482005-07-03 Yoshinori Okuji <okuji@enbug.org>
50849
50850 * DISTLIST: Added genfslist.sh.
50851
50852 * normal/main.c (fs_module_list): New variable.
50853 (autoload_fs_module): New function.
50854 (read_fs_list): Likewise.
50855 (grub_normal_execute): Call read_fs_list.
50856
50857 * kern/fs.c (grub_fs_autoload_hook): New variable.
50858 (grub_fs_probe): Added support for auto-loading.
50859
50860 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50861 (grub_fs_module_list_t): New type.
50862
50863 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50864 (grub_fs_autoload_hook): New prototype.
50865
50866 * genfslist.sh: New file.
f19dbdb7 50867
39c9d41d 50868 * genmk.rb: Added a rule to generate a filesystem list.
50869
121c1d83 508702005-06-30 Marco Gerards <metgerards@student.han.nl>
50871
50872 * configure.ac: Fix the test for cross-compiling.
50873
50874 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50875 define GRUB_UTIL anymore.
50876
50877 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50878 so this function works on other systems than just big endian.
50879 (load_modules): Likewise.
50880 (add_segments): Likewise.
50881
e75d76e1 508822005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50883
50884 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50885 contains `l' modifier, get a long from va_arg().
50886
50b5a0a7 508872005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50888
50889 * kern/mm.c (grub_free): If the next free block which is being
50890 merged is the first free block, set the first block to the block
50891 being freed.
50892 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50893
89371b20 508942005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50895
50896 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50897 `grub_ieee1275_chosen'.
50898
168d6e58 508992005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50900
50901 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50902 (grub_ieee1275_chosen): New variable.
50903 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50904 `chosen'.
50905 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50906 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50907 Rename first argument to `phandle' for consistency.
50908 (grub_ieee1275_get_property_length): Likewise.
50909 (grub_ieee1275_next_property): Likewise. Change type of first argument
50910 to grub_ieee1275_phandle_t.
50911 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50912 Move export next to declaration.
50913 (grub_ieee1275_chosen): New variable.
50914 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50915 Correct cosmetic typo.
50916 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50917 `grub_ieee1275_chosen'.
50918 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50919 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50920 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50921 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50922 `grub_ieee1275_chosen'.
50923
ca5baa3f 509242005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50925
50926 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50927 /chosen/bootargs.
50928 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50929 /chosen/bootargs as "variable=value" pairs.
50930
708b345f 509312005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50932
50933 * include/grub/misc.h (grub_dprintf): New macro.
50934 (grub_real_dprintf): New prototype.
50935 (grub_strword): Likewise.
50936 (grub_iswordseparator): Likewise.
50937 * kern/misc.c (grub_real_dprintf): New function.
50938 (grub_strword): Likewise.
50939 (grub_iswordseparator): Likewise.
50940
f4c5e67c 509412005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50942
50943 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50944 (roundup): Remove macro.
50945 (grub_ieee1275_flags): Make static.
50946 (grub_ieee1275_realmode): Remove.
50947 (grub_ieee1275_test_flag): New function.
50948 (grub_ieee1275_set_flag): Likewise.
50949 (find_options): Rename to `grub_ieee1275_find_options'; update
50950 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50951 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50952 (cmain): New prototype.
50953 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50954 `grub_ieee1275_flags' directly.
50955 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50956 machine/biosdisk.h.
50957 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50958 Don't include grub/machine/init.h.
50959 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50960 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50961 Remove prototype.
50962 (grub_ieee1275_realmode): Likewise.
50963 (grub_ieee1275_flag): New enum.
50964 (grub_ieee1275_test_flag): New prototype.
50965 (grub_ieee1275_set_flag): New prototype.
50966 * include/grub/powerpc/ieee1275/init.h: Remove file.
50967 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50968 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50969 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50970 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50971 comment.
50972 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50973 `grub_ieee1275_test_flag'.
50974 (grub_ieee1275_encode_devname): Likewise.
50975
ed16607e 509762005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50977
50978 * include/grub/powerpc/ieee1275/ieee1275.h
50979 (grub_ieee1275_encode_devname): New prototype.
50980 (grub_ieee1275_get_filename): Likewise.
50981 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50982 function.
50983 (grub_set_prefix): Likewise.
50984 (grub_machine_init): Call grub_set_prefix.
50985 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50986 (grub_parse_type): New enum.
50987 (grub_ieee1275_get_devargs): New function.
50988 (grub_ieee1275_get_devname): Likewise.
50989 (grub_ieee1275_parse_args): Likewise.
50990 (grub_ieee1275_get_filename): Likewise.
50991 (grub_ieee1275_encode_devname): Likewise.
50992
be369920 509932005-03-30 Marco Gerards <metgerards@student.han.nl>
50994
50995 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50996 `grub_loader_unset'.
50997
a5ce3a4a 509982005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50999
51000 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
51001 instead of grub_ieee1275_interpret.
51002 (grub_halt_init): New function.
51003 (grub_halt_fini): Likewise.
51004 (GRUB_MOD_INIT): Correct message grammar.
51005 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
51006 instead of grub_ieee1275_interpret.
51007 (grub_reboot_init): New function.
51008 (grub_reboot_fini): Likewise.
51009 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
51010 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
51011 util/i386/pc/misc.c with commands/ieee1275/halt.c,
51012 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
51013 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
51014 function.
51015 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
51016 Add prototype.
51017 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
51018 prototype.
51019 (grub_halt): Likewise.
51020 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
51021 (cmain): Remove __attribute__((unused)).
51022 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
51023 (grub_heap_len): Likewise.
51024 (grub_machine_fini): New function.
51025 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
51026 (grub_halt): Likewise.
51027 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
51028 function.
51029 * util/powerpc/ieee1275/misc.c: New file.
51030
0058f771 510312005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51032
51033 * DISTLIST: New file.
51034 * gendistlist.sh: Likewise.
f19dbdb7 51035
0058f771 51036 * Makefile.in (COMMON_DISTFILES): Removed.
51037 (BOOT_DISTFILES): Likewise.
51038 (CONF_DISTFILES): Likewise.
51039 (DISK_DISTFILES): Likewise.
51040 (FS_DISTFILES): Likewise.
51041 (INCLUDE_DISTFILES): Likewise.
51042 (KERN_DISTFILES): Likewise.
51043 (LOADER_DISTFILES): Likewise.
51044 (TERM_DISTFILES): Likewise.
51045 (UTIL_DISTFILES): Likewise.
51046 (DISTFILES): Likewise.
51047 (uninstall): Uninstall files in $(pkgdata_DATA).
51048 (DISTLIST): New target.
51049 (distdir): Use the contents of the file DISTLIST to get a list of
51050 distributed files.
51051
46b3b8a5 510522005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51053
51054 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51055 descriptor. This is ported from GRUB Legacy.
51056
51057 * gencmdlist.sh: Added an extra semicolon to make it work with
51058 old sed versions. Reported by Robert Bihlmeyer
51059 <robbe@orcus.priv.at>.
51060
5822ff87 510612005-03-08 Yoshinori Okuji <okuji@enbug.org>
51062
51063 Automatic loading of commands is supported.
f19dbdb7 51064
5822ff87 51065 * normal/main.c (read_command_list): New function.
51066 (grub_normal_execute): Call read_command_list.
51067
51068 * normal/command.c (grub_register_command): Return zero or CMD.
51069 Allocate CMD->NAME from the heap.
51070 Initialize CMD->MODULE_NAME to zero.
51071 Find the same name as well. If the same command is found and it is
51072 a dummy command, overwrite members. If it is not a dummy command,
51073 return zero.
51074 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51075 (grub_command_find): If a dummy command is found, load a module
51076 and retry to find a command only once.
51077
51078 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51079 make sure that each command is loaded.
51080
51081 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51082 macro.
51083 (struct grub_command): Remove const from the member `name'.
51084 Add a new member `module_name'.
51085 (grub_register_command): Return grub_command_t.
51086
51087 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51088 sure that each command is loaded.
51089
51090 * genmk.rb (PModule::rule): Specify a module name without the
51091 suffix ".mod" to gencmdlist.sh.
51092
7b1f4b57 510932005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51094
51095 * gencmdlist.sh: New file.
f19dbdb7 51096
7b1f4b57 51097 * genmk.rb (PModule::rule): Generate a rule for a command list.
51098 Clean command.lst.
51099 Generate command.lst from $(COMMANDFILES).
51100
51101 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51102 (DATA): Added $(pkgdata_DATA).
51103 (install-local): Install files in $(pkgdata_DATA).
51104
062aaf39 511052005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51106
51107 * term/i386/pc/vga.c (debug_command): Removed.
51108 (GRUB_MOD_INIT): Do not register the command "debug".
51109
51110 From Hollis Blanchard:
51111 * commands/configfile.c: New file.
51112 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51113 commands/configfile.c.
51114 (pkgdata_MODULES): Added configfile.mod.
51115 (configfile_mod_SOURCES): New variable.
51116 (configfile_mod_CFLAGS): Likewise.
51117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51118 commands/configfile.c.
51119 (pkgdata_MODULES): Added configfile.mod.
51120 (configfile_mod_SOURCES): New variable.
51121 (configfile_mod_CFLAGS): Likewise.
51122 * util/grub-emu.c (main): Call grub_configfile_init and
51123 grub_configfile_fini.
51124 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51125 prototype.
51126 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 51127
cee01aa6 511282005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51129
51130 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51131 address.
51132
51133 * commands/help.c (grub_cmd_help): Do not print newlines after
51134 the last command in print_command_help.
51135
93f3a1d8 511362005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51137
51138 * commands/default.h: New file.
51139 * commands/timeout.h: Likewise.
51140 * normal/context.c: Likewise.
f19dbdb7 51141
93f3a1d8 51142 * util/misc.c: Do not include sys/times.h.
51143 Include sys/time.h and grub/machine/time.h.
51144 (grub_get_rtc): Rewritten with gettimeofday.
51145
51146 * util/grub-emu.c (main): Call grub_default_init and
51147 grub_timeout_init before grub_normal_init, and call
51148 grub_timeout_fini and grub_default_fini after grub_main.
51149
51150 * util/console.c (grub_ncurses_checkkey): Return the read
51151 character or -1.
51152
51153 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51154 timeouts.
51155
51156 * normal/main.c (read_config_file): Push MENU. If this fails,
51157 print an error and wait for a user input.
51158 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
51159 If a menu is empty or an error occurs, pop MENU.
51160 (grub_normal_execute): Pop and free MENU after grub_menu_run
51161 returns.
51162
51163 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
51164
51165 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
51166 include time.h.
51167 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51168 without GRUB_UTIL.
51169 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51170 time.h.
51171 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51172 without GRUB_UTIL.
51173
51174 * include/grub/normal.h (struct grub_menu_list): New struct.
51175 (grub_menu_list_t): New type.
51176 (struct grub_context): New struct.
51177 (grub_context_t): New type.
51178 (grub_register_command): Got rid of EXPORT_FUNC.
51179 (grub_unregister_command): Likewise.
51180 (grub_context_get): New prototype.
51181 (grub_context_get_current_menu): Likewise.
51182 (grub_context_push_menu): Likewise.
51183 (grub_context_pop_menu): Likewise.
51184 [GRUB_UTIL] (grub_default_init): Likewise.
51185 [GRUB_UTIL] (grub_default_fini): Likewise.
51186 [GRUB_UTIL] (grub_timeout_init): Likewise.
51187 [GRUB_UTIL] (grub_timeout_fini): Likewise.
51188
51189 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
51190 commands/timeout.c and normal/context.c.
51191 (pkgdata_MODULES): Added default.mod and timeout.mod.
51192 (normal_mod_SOURCES): Added normal/context.c.
51193 (default_mod_SOURCES): New variable.
51194 (default_mod_CFLAGS): Likewise.
51195 (timeout_mod_SOURCES): Likewise.
51196 (timeout_mod_CFLAGS): Likewise.
51197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
51198 conf/i386-pc.rmk.
51199 (pkgdata_MODULES): Added default.mod and timeout.mod.
51200 (normal_mod_SOURCES): Added normal/context.c.
51201 (default_mod_SOURCES): New variable.
51202 (default_mod_CFLAGS): Likewise.
51203 (timeout_mod_SOURCES): Likewise.
51204 (timeout_mod_CFLAGS): Likewise.
51205
51206 * Makefile.in (all-local): Added $(MKFILES).
51207
4ed2e1dd 512082005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51209
51210 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51211 (grub_emu_SOURCES): Likewise.
51212 (pkgdata_MODULES): Add `sun.mod'.
51213 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51215 `partmap/sun.c'.
51216 (pkgdata_MODULES): Add `sun.mod'.
51217 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51218 * include/grub/partition.h (grub_sun_partition_map_init): New
51219 prototype.
51220 (grub_sun_partition_map_fini): Likewise.
51221 * partmap/sun.c: New file.
51222 * util/grub-emu.c (main): Initialize and de-initialize the sun
51223 partitionmap support.
51224
4d4e372e 512252005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51226
51227 This implements an Emacs-like menu entry editor.
f19dbdb7 51228
4d4e372e 51229 * normal/menu_entry.c: New file.
f19dbdb7 51230
4d4e372e 51231 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51232 characters to ASCII.
51233 (saved_char): New variable.
51234 (grub_ncurses_checkkey): Rewritten completely.
51235 (grub_ncurses_getkey): Likewise.
51236 (grub_ncurses_init): Call raw instead of cbreak.
51237
51238 * normal/menu.c (print_entry): Do not put a space.
51239 (init_page): Renamed to ...
51240 (grub_menu_init_page): ... this. All callers changed.
51241 (edit_menu_entry): Removed.
51242 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51243
51244 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51245
51246 * kern/misc.c (grub_vprintf): Call grub_refresh.
51247
51248 * normal/menu.c (DISP_LEFT): Renamed to ...
51249 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51250 * normal/menu.c (DISP_UP): Renamed to ...
51251 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51252 * normal/menu.c (DISP_RIGHT): Renamed to ...
51253 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51254 * normal/menu.c (DISP_DOWN): Renamed to ...
51255 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51256 * normal/menu.c (DISP_HLINE): Renamed to ...
51257 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51258 * normal/menu.c (DISP_VLINE): Renamed to ...
51259 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51260 * normal/menu.c (DISP_UL): Renamed to ...
51261 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51262 * normal/menu.c (DISP_UR): Renamed to ...
51263 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51264 * normal/menu.c (DISP_LL): Renamed to ...
51265 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51266 * normal/menu.c (DISP_LR): Renamed to ...
51267 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51268 * normal/menu.c (TERM_WIDTH): Renamed to ...
51269 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51270 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51271 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51272 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51273 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51274 * normal/menu.c (TERM_MARGIN): Renamed to ...
51275 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51276 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51277 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51278 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51279 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51280 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51281 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51282 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51283 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51284 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51285 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51286 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51287 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51288 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51289 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51290 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51291 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51292 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51293 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51294 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51295 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51296 All callers changed.
51297
51298 * include/grub/normal.h: New prototype.
51299
51300 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51301 normal/menu_entry.c.
51302 (normal_mod_SOURCES): Likewise.
51303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51304 (normal_mod_SOURCES): Likewise.
51305
e6b92c8a 513062005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51307
51308 * include/grub/normal.h (grub_halt_init): New prototype.
51309 (grub_halt_fini): Likewise.
51310 (grub_reboot_init): Likewise.
51311 (grub_reboot_fini): Likewise.
51312
51313 * util/grub-emu.c: Include signal.h.
51314 (main_env): New global variable.
51315 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51316 catch C-c.
51317 (grub_machine_fini): New function.
51318 (main): Call grub_halt_init and grub_reboot_init before
51319 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51320 Call setjmp with MAIN_ENV to go back afterwards.
51321 Call grub_machine_fini right before return.
51322
51323 * include/grub/util/misc.h: Include setjmp.h.
51324 (main_env): New prototype.
51325
51326 * include/grub/kernel.h (grub_machine_fini): New prototype.
51327 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51328 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51329
51330 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51331 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51332 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51333
e6b92c8a 51334 * util/i386/pc/misc.c: New file.
f19dbdb7 51335
e6b92c8a 51336 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51337 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51338 commands/i386/pc/reboot.c.
51339
c642636f 513402005-02-14 Guillem Jover <guillem@hadrons.org>
51341
51342 * include/grub/dl.h (grub_dl_check_header): New prototype.
51343 (grub_arch_dl_check_header): Change return type to grub_err_t,
51344 remove size parameter and export function. Update all callers.
51345 * kern/dl.c (grub_dl_check_header): New function.
51346 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51347 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51348 are inside the core.
51349 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51350 independent ELF header checks.
51351 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51352 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51353 `grub_dl_check_header' instead of explicit checks. Check for the
51354 ELF type.
51355 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51356 `grub_dl_check_header' instead of explicit checks. Remove arch
51357 specific ELF header checks.
51358
e6b92c8a 51359 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51360 argument SIZE.
51361
5eabe94b 513622005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51363
51364 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51365 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51366
1b14a681 513672005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51368
51369 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 51370 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 51371 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 51372 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 51373 * partmap/amiga.c (amiga_partition_map_iterate): Return
51374 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51375 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51376
aca108aa 513772005-02-01 Guillem Jover <guillem@hadrons.org>
51378
51379 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51380 help info.
51381
c9f9c556 513822005-01-31 Marco Gerards <metgerards@student.han.nl>
51383
51384 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51385 Removed prototype.
51386 (grub_rescue_cmd_linux): New prototype.
51387 (grub_rescue_cmd_initrd): Likewise.
51388 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51389 `bi_rec'.
51390 (grub_linux_release_mem): Release the memory for the initrd.
51391 (grub_load_linux): Renamed from this...
51392 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51393 Changed `entry' not to be static. Loop over memory regions to
51394 find another one when the default fails.
51395 (grub_rescue_cmd_initrd): New function.
51396 (grub_linux_init): Remove function.
51397 (grub_linux_fini): Likewise.
51398 (GRUB_MOD_INIT): Register `initrd'.
51399 (GRUB_MOD_FINI): Unregister `initrd'.
51400 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51401 Function removed.
51402 (grub_linux_normal_fini): Likewise.
51403 (GRUB_MOD_INIT): Register `initrd'.
51404 (GRUB_MOD_FINI): Unregister `initrd'.
51405
990cf3aa 514062005-01-31 Marco Gerards <metgerards@student.han.nl>
51407
51408 * commands/help.c: New file.
51409 * normal/arg.c (show_help): Renamed to...
51410 (grub_arg_show_help): ... this.
51411 * commands/i386/pc/halt.c: New file.
51412 * commands/i386/pc/reboot.c: Likewise.
51413 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51414 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51415 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51416 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51417 variables.
51418 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51419 `commands/help.c'.
51420 (pkgdata_MODULES): Add `help.mod'.
51421 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51422 * grub/i386/pc/init.h (grub_reboot): New prototype.
51423 (grub_halt): Likewise.
51424 * include/grub/normal.h (grub_arg_show_help): New prototype.
51425 (grub_help_init): Likewise.
51426 (grub_help_fini): Likewise.
51427 * util/grub-emu.c (main): Initialize and deinitialize the help
51428 command.
51429
51430 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51431
51432 * normal/command.c (grub_command_init): Fixed the description of
51433 the `set' and `unset' commands.
51434
514352005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 51436
51437 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51438 function.
51439 * commands/ieee1275/halt.c: New file.
51440 * commands/ieee1275/reboot.c: Likewise.
51441 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51442 `__attribute__ ((unused))'. Some GCS related fixed.
51443 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51444 (grub_suspend_fini): Likewise.
51445 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51446 and `halt.mod'.
51447 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51448 (halt_mod_CFLAGS): New variables.
51449 * include/grub/powerpc/ieee1275/ieee1275.h
51450 (grub_ieee1275_interpret): New prototype.
51451
1ab09cc7 514522005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51453
51454 * include/grub/misc.h (memmove): New prototype.
51455 (memcpy): Likewise.
51456
8b8cbdb2 514572005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51458
51459 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51460 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51461
e3741a27 514622005-01-22 Marco Gerards <metgerards@student.han.nl>
51463
51464 * kern/misc.c (grub_strndup): Function rewritten.
51465
776bd780 514662005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51467
51468 * normal/menu.c (TERM_WIDTH): Macro redefined.
51469 (TERM_TOP_BORDER_Y): Likewise.
51470 (draw_border): Replaced while-loop by a for-loop. Make the number
51471 of lines consistent with the number of lines displayed in
51472 print_entries. Added a margin below the rectangle.
51473 (print_entry): Make the entry fit in the rectangle.
51474 (print_entries): Display the scroll arrows next to the right
51475 border.
51476
78026bce 514772005-01-21 Marco Gerards <metgerards@student.han.nl>
51478
51479 * fs/minix.c (grub_minix_find_file): Reserve more space for
51480 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51481 `grub_strncpy' to copy `path' into it.
51482
67bbaf0f 514832005-01-21 Marco Gerards <metgerards@student.han.nl>
51484
51485 Add the loopback device, a device via which files can be accessed
51486 as devices.
f19dbdb7 51487
67bbaf0f 51488 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51489 (pkgdata_MODULES): Add loopback.mod.
51490 (loopback_mod_SOURCES): New variable.
51491 (loopback_mod_CFLAGS): Likewise.
51492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51493 `disk/loopback.c'.
51494 (pkgdata_MODULES): Add loopback.mod.
51495 (loopback_mod_SOURCES): New variable.
51496 (loopback_mod_CFLAGS): Likewise.
51497 * disk/loopback.c: new file.
51498 * include/grub/normal.h (grub_loop_init): New prototype.
51499 (grub_loop_fini): New prototype.
51500 * util/grub-emu.c (main): Initialize and de-initialize loopback
51501 support.
51502 * include/grub/disk.h (grub_disk_dev_id): Add
51503 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51504
6f1c18bd 515052005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51506
51507 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51508 function.
51509 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51510 (suspend_mod_SOURCES): New variable.
51511 (suspend_mod_CFLAGS): Likewise.
51512 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51513 New prototype.
51514 * commands/ieee1275/suspend.c: New file.
51515
b38551da 515162005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51517
51518 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51519 ((unused))' to `__attribute__ ((used))'.
b38551da 51520 (GRUB_MOD_FINI): Likewise.
51521 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51522 * genmk.rb (PModule): Assign space to common symbols when linking
51523 modules.
51524
777aff39 515252005-01-20 Marco Gerards <metgerards@student.han.nl>
51526
51527 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51528 `unsigned' arguments to `grub_size_t'.
51529 (grub_malloc): Likewise.
51530 (grub_realloc): Likewise.
51531 (grub_memalign): Likewise.
51532 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51533 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51534 * util/misc.c (grub_malloc): Likewise.
51535 (grub_realloc): Likewise.
51536 * kern/mm.c (get_header_from_pointer): Change the casts to
51537 `unsigned' into a cast to `grub_size_t'.
51538
51539 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51540 point to `currnode' when `currnode' is changed.
51541
51542 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51543 Schottelius <nico-linux@schottelius.org>.
51544
d0ff18e1 515452005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51546
51547 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51548 (note_path): Remove variable.
51549 (GRUB_IEEE1275_NOTE_NAME): New macro.
51550 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51551 (grub_ieee1275_note_hdr): New structure.
51552 (grub_ieee1275_note_desc): Likewise.
51553 (grub_ieee1275_note): Likewise.
51554 (load_note): Remove `dir' argument. All callers updated. Remove
51555 `note_img' and `path'. Do not load a file from `note_path'.
51556 Initialize a struct grub_ieee1275_note and write that to `out'.
51557 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51558
4ca7004c 515592005-01-05 Marco Gerards <metgerards@student.han.nl>
51560
51561 * util/misc.c (grub_util_read_image): Revert last change. It
51562 called `grub_util_read_at', which seeks from the beginning of the
51563 file.
51564
0b412211 515652005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51566
51567 * TODO: Add note about endianness in grub-mkimage.
51568 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51569 section.
51570 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51571 (grub_mkimage_SOURCES): New target.
51572 * include/grub/kernel.h (grub_start_addr): Remove variable.
51573 (grub_end_addr): Likewise.
51574 (grub_total_module_size): Likewise.
51575 (grub_kernel_image_size): Likewise.
51576 (GRUB_MODULE_MAGIC): New constant.
51577 (grub_module_info): New structure.
51578 (grub_arch_modules_addr): New prototype.
51579 (grub_get_end_addr): Remove prototype.
51580 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51581 * include/grub/powerpc/ieee1275/kernel.h: New file.
51582 * include/grub/util/misc.h (grub_util_get_fp_size): New
51583 prototype.
51584 (grub_util_read_at): Likewise.
51585 (grub_util_write_image_at): Likewise.
51586 * kern/main.c (grub_get_end_addr): Remove function.
51587 (grub_load_modules): Call grub_arch_modules_addr instead of using
51588 grub_end_addr. Look for a grub_module_info struct in memory. Use
51589 the grub_module_info fields instead of calling grub_get_end_addr
51590 as loop conditions. Move grub_add_unused_region code here.
51591 (grub_add_unused_region): Remove function.
51592 * kern/i386/pc/init.c: Include grub/cache.h.
51593 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51594 one call to add_mem_region.
51595 (grub_arch_modules_addr): New function.
51596 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51597 (grub_total_module_size): Likewise.
51598 Include grub/machine/kernel.h.
51599 (grub_arch_modules_addr): New function.
51600 * util/grub-emu.c (grub_end_addr): Remove variable.
51601 (grub_total_module_size): Likewise.
51602 (grub_arch_modules_addr): New function.
51603 * util/misc.c: Include unistd.h.
51604 (grub_util_get_fp_size): New function.
51605 (grub_util_read_at): Likewise.
51606 (grub_util_write_image_at): Likewise.
51607 (grub_util_read_image): Call grub_util_read_at.
51608 (grub_util_write_image): Call grub_util_write_image_at.
51609 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51610 additional memory in kernel_img for a struct grub_module_info.
51611 Fill in that grub_module_info.
51612 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51613
458786f8 516142005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51615
51616 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51617 New function.
51618 * include/grub/powerpc/ieee1275/ieee1275.h
51619 (grub_ieee1275_milliseconds): New prototype.
51620 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51621 Change to 1000.
51622 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51623 grub_ieee1275_milliseconds.
51624
ac507d1b 516252005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51626
51627 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51628 variable.
51629 (find_options): New function.
51630 (cmain): Call find_options.
51631 * include/grub/powerpc/ieee1275/ieee1275.h
51632 (grub_ieee1275_realmode): New extern variable.
51633 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51634 grub_map if grub_ieee1275_realmode is false.
51635
6b8fd1c4 516362004-12-29 Marco Gerards <metgerards@student.han.nl>
51637
51638 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51639 lines are inserted and make it work like readline. Reported by
51640 Vincent Pelletier <subdino2004@yahoo.fr>.
51641
8514a1e0 516422004-12-28 Marco Gerards <metgerards@student.han.nl>
51643
51644 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51645
51646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51647 `kern/powerpc/cache.S'.
51648
924b6140 516492004-12-27 Marco Gerards <metgerards@student.han.nl>
51650
51651 * genmk.rb: Handle the `Program' class in the main loop. Written
51652 by Johan Rydberg <jrydberg@gnu.org>.
51653 (Program): New class.
51654 (programs): New variable.
51655 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51656 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51657 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51658 (help_arch): Function removed.
51659 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51660 `powerpc/libgcc.h' and `loader.h'.
51661 (pkgdata_PROGRAMS): New variable.
51662 (sbin_UTILITIES): Variable removed.
51663 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51664 (grubof_SOURCES): Variable re-defined so it only includes the
51665 core functionality.
51666 (grubof_CFLAGS): Remove `-DGRUBOF'.
51667 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51668 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51669 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51670 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51671 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51672 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51673 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51674 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51675 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51676 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51677 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51678 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51679 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51680 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51681 (pc_mod_CFLAGS): New variables.
51682 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51683 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51684 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51685 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51686 Moved from here...
51687 * include/grub/i386/pc/init.h (grub_os_area_addr)
51688 (rub_os_area_size): ... to here.
51689 * include/grub/powerpc/ieee1275/ieee1275.h
51690 (grub_ieee1275_entry_fn): Export symbol.
51691 * include/grub/powerpc/ieee1275/init.h: New file.
51692 * include/grub/powerpc/libgcc.h: Likewise.
51693 * include/grub/cache.h: Likewise.
51694 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51695 <hollis@penguinppc.org>.
51696 * kern/dl.c: Include <grub/cache.h>.
51697 (grub_dl_flush_cache): New function.
51698 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51699 for this module.
51700 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51701 (grub_console_init): Removed prototypes.
51702 (grub_machine_init): Don't initialize the modules anymore.
51703 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51704 static.
51705 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51706 Macro undef removed.
51707 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51708 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51709 relocation `R_PPC_REL32'. Return an error when the relocation is
51710 unknown.
51711 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51712 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51713 * util/misc.c (grub_arch_sync_caches): Likewise.
51714
e4b47e0c 517152004-12-19 Marco Gerards <metgerards@student.han.nl>
51716
51717 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51718 `symlist.c', add `grubof_symlist.c'.
51719 (symlist.c): Variable removed.
51720 (grubof_HEADERS): Variable added.
51721 (grubof_symlist.c): New target.
51722 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51723 `kernel_img_HEADERS'.
51724 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51725 * kern/powerpc/dl.c: New file.
51726 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51727 Function removed.
51728 (grub_arch_dl_relocate_symbols): Likewise.
51729 (grub_register_exported_symbols): Likewise.
51730
4ceb3636 517312004-12-13 Marco Gerards <metgerards@student.han.nl>
51732
51733 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51734 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51735 to fail instead. Reported by Vincent Pelletier
51736 <subdino2004@yahoo.fr>.
51737
51738 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51739 it is not allocated. Reported by Vincent Pelletier
51740 <subdino2004@yahoo.fr>.
51741
51742 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51743 output so the output looks better.
f19dbdb7 51744
3f1578fe 517452004-12-04 Marco Gerards <metgerards@student.han.nl>
51746
51747 Modulize the partition map support and add support for the amiga
51748 partition map.
f19dbdb7 51749
3f1578fe 51750 * commands/ls.c: Include <grub/partition.h> instead of
51751 <grub/machine/partition.h>.
51752 * kern/disk.c: Likewise.
51753 * kern/rescue.c: Likewise.
51754 * loader/i386/pc/chainloader.c: Likewise.
51755 * normal/cmdline.c: Likewise.
51756 * kern/powerpc/ieee1275/init.c: Likewise.
51757 (grub_machine_init): Call `grub_pc_partition_map_init',
51758 `grub_amiga_partition_map_init' and
51759 `grub_apple_partition_map_init'.
51760 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51761 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51762 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51763 `partition.h' and `pc_partition.h'.
51764 (grub_setup_SOURCES): Remove
51765 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51766 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51767 (grub_emu_SOURCES): Likewise.
51768 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51769 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51770 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51772 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51773 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51774 (grubof_SOURCES): Likewise.
51775 * disk/i386/pc/partition.c: File removed.
51776 * disk/powerpc/ieee1275/partition.c: Likewise.
51777 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51778 * include/grub/i386/pc/partition.h: Likewise.
51779 * kern/partition.c: New file.
51780 * partmap/amiga.c: Likewise.
51781 * partmap/apple.c: Likewise.
51782 * partmap/pc.c: Likewise.
51783 * include/grub/partition.h: Likewise..
51784 * include/grub/pc_partition.h: Likewise.
51785 * util/grub-emu.c: Include <grub/partition.h> instead of
51786 <grub/machine/partition.h>.
51787 (main): Call `grub_pc_partition_map_init',
51788 `grub_amiga_partition_map_init' and
51789 `grub_apple_partition_map_init' and deinitialize afterwards.
51790 * util/i386/pc/biosdisk.c: Include `#include
51791 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51792 `<grub/machine/partition.h>'.
51793 * util/i386/pc/grub-setup.c: Likewise.
51794 * util/i386/pc/biosdisk.c: Likewise.
51795 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51796 partition information in case of a PC partition.
51797 * util/i386/pc/grub-setup.c: Include `#include
51798 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51799 `<grub/machine/partition.h>'.
51800 (setup): Only access the PC specific partition information in case
51801 of a PC partition.
51802
0ef4ced9 518032004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51804
0ef4ced9 51805 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51806 (grub_longjmp): Likewise.
51807 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51808 20.
51809 * normal/powerpc/setjmp.S: New file.
51810 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51811 `normal/powerpc/setjmp.S'.
51812 (grubof_CFLAGS): Add `-DGRUBOF'.
51813 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51814 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51815
19950e29 518162004-11-16 Marco Gerards <metgerards@student.han.nl>
51817
51818 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51819 property named `name'. Correctly handle the error returned by
51820 `grub_ieee1275_finddevice' if a device can not be opened.
51821
a2fea427 518222004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51823
51824 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51825 `actual' for negativity.
51826 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51827 kern/fshelp.c.
51828
41ea0ea3 518292004-11-01 Marco Gerards <metgerards@student.han.nl>
51830
51831 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51832 (PAGE_OFFSET): New macro.
51833 (CRTC_ADDR_PORT): Likewise.
51834 (CRTC_DATA_PORT): Likewise.
51835 (START_ADDR_HIGH_REGISTER): Likewise.
51836 (START_ADDR_LOW_REGISTER): Likewise.
51837 (GRAPHICS_ADDR_PORT): Likewise.
51838 (GRAPHICS_DATA_PORT): Likewise.
51839 (READ_MAP_REGISTER): Likewise.
51840 (INPUT_STATUS1_REGISTER): Likewise.
51841 (INPUT_STATUS1_VERTR_BIT): Likewise.
51842 (page): New variable.
51843 (wait_vretrace): New function.
51844 (set_read_map): Likewise.
51845 (set_start_address): Likewise.
51846 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51847 the right page.
51848 (check_vga_mem): Take the page into account.
51849 (write_char): Likewise.
51850 (write_cursor): Likewise.
51851 (scroll_up): Likewise. Copy the page to the page that is not
51852 shown and switch between both pages.
51853 (grub_vga_putchar): Fix off by one error.
51854 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51855 account.
51856
ad0bd20b 518572004-11-01 Marco Gerards <metgerards@student.han.nl>
51858
51859 Add support for iso9660 (including rockridge).
f19dbdb7 51860
ad0bd20b 51861 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51862 (iso9660_mod_SOURCES): New variable.
51863 (iso9660_mod_CFLAGS): Likewise.
51864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51865 * include/grub/fs.h (grub_iso9660_init): New prototype.
51866 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51867 * fs/iso9660.c: New file.
51868
51869 * include/grub/misc.h (grub_strncat): New prototype.
51870 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51871
ad0bd20b 51872 * fs/hfs.c (grub_hfs_mount): Translate the error
51873 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51874 * fs/jfs.c (grub_jfs_mount): Likewise.
51875 * fs/ufs.c (grub_ufs_mount): Likewise.
51876
a5477a59 518772004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51878
51879 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51880 which initialized BAT registers.
51881 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51882 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51883 Move from here...
51884 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51885 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51886 ... to here.
51887 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51888 (grub_mapclaim): Likewise.
51889 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51890 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51891 hand.
51892
9304c1f8 518932004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51894
51895 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51896 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51897 -ffreestanding and -msoft-float.
51898
86f4ae25 518992004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51900
51901 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51902 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51903 set in grub_ieee1275_flags.
51904
38912228 519052004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51906
51907 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51908 prototype.
51909 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51910 grub_console_init first.
51911 Change the memory range used for grub_ieee1275_claim and
51912 grub_mm_init_region.
51913 Print an error message if the claim fails.
51914 Include <grub/misc.h>.
51915
d1923dc8 519162004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51917
51918 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51919 Call grub_children_iterate for device nodes of type `scsi',
51920 `ide', or `ata'.
51921 (grub_ofdisk_open): Remove manual device alias resolution.
51922 Fix memory leak when device cannot be opened.
f19dbdb7 51923 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51924 (grub_children_iterate): New prototype.
51925 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51926 New function.
51927 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51928 Return -1 if args.size was -1.
51929
4512e4f3 519302004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51931
51932 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51933 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51934 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51935 Open Firmware's memory for it; claim memory from _start to _end.
51936 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51937 (_end): New extern.
51938 (_start): Zero BSS from __bss_start to _end.
51939 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51940 New extern.
51941 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51942
4d61feb0 519432004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51944
ad0bd20b 51945 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51946 -1 if args.base was -1.
4d61feb0 51947
026fa2f9 519482004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51949
51950 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51951 escape sequence instead of a literal ^L. Also call
51952 grub_ofconsole_gotoxy.
51953
9f2220ef 519542004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51955
51956 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51957 void * arguments to grub_addr_t. All callers updated. Also make
51958 the `result' argument optional.
51959 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51960 All callers updated.
51961
8a572cd7 519622004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51963
51964 * commands/ls.c (grub_ls_list_files): Use the string following the
51965 initial ')', if present, as the filesystem path.
51966 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51967
51968 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51969
18aa81f2 519702004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51971
51972 Make the source code of the menu interface more readable.
f19dbdb7 51973
18aa81f2 51974 * normal/menu.c: Include grub/mm.h.
51975 (TERM_WIDTH): New macro.
51976 (TERM_HEIGHT): Likewise.
51977 (TERM_INFO_HEIGHT): Likewise.
51978 (TERM_MARGIN): Likewise.
51979 (TERM_SCROLL_WIDTH): Likewise.
51980 (TERM_TOP_BORDER_Y): Likewise.
51981 (TERM_LEFT_BORDER_X): Likewise.
51982 (TERM_BORDER_WIDTH): Likewise.
51983 (TERM_MESSAGE_HEIGHT): Likewise.
51984 (TERM_BORDER_HEIGHT): Likewise.
51985 (TERM_NUM_ENTRIES): Likewise.
51986 (TERM_FIRST_ENTRY_Y): Likewise.
51987 (TERM_ENTRY_WIDTH): Likewise.
51988 (TERM_CURSOR_X): Likewise.
51989 (draw_border): Use macros instead of magic numbers.
51990 (print_entry): Likewise.
51991 (print_entries): Likewise.
51992 (run_menu): Likewise. Also, handle the key 'e'.
51993 (run_menu_entry): Ignore empty command lines.
51994 (print_message): Added a new argument EDIT. If EDIT is true,
51995 print a different message.
51996 (init_page): Likewise.
51997 (edit_menu_entry): New function. Not implemented yet.
51998
b47efe30 519992004-09-17 Marco Gerards <metgerards@student.han.nl>
52000
52001 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
52002 can be loaded from normal mode.
f19dbdb7 52003
b47efe30 52004 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
52005 `multiboot.mod'.
52006 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
52007 (multiboot_mod_CFLAGS): New variables.
52008 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 52009 * loader/i386/pc/multiboot_normal.c: Likewise.
52010
b47efe30 52011 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
52012 attribute `unused'.
f19dbdb7 52013
b47efe30 52014 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
52015 `fdiro' to read the mode information from instead of `diro'.
52016
52017 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
52018 looking up a symlink.
52019
52020 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
52021 macro.
52022 * normal/command.c (grub_command_execute): Don't parse the
52023 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
52024 flags of the command.
52025
52026 * normal/menu.c (grub_menu_run): Fix typo.
52027
da75ac71 520282004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52029
52030 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52031
52032 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52033 `y + 1' instead of `y - 1'.
52034
52035 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 52036
062b24c2 520372004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52038
52039 From Hollis Blanchard <hollis@penguinppc.org>:
52040 * kern/misc.c (memmove): New alias for grub_memmove.
52041 (memcmp): New alias for grub_memcmp.
52042 (memset): New alias for grub_memset.
f19dbdb7 52043 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 52044 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 52045 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 52046 (grub_ieee1275_get_property): Likewise.
f19dbdb7 52047
8ddad845 520482004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52049
52050 Added normal mode command `chainloader' as module chain.mod, which
52051 depends on normal.mod and _chain.mod.
f19dbdb7 52052
8ddad845 52053 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52054 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52055 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52056 Deleted prototype.
52057 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52058 but arguments parsing moved to ...
52059 (grub_chainloader_cmd): ... here. New function.
52060 * include/grub/i386/pc/chainloader.h: New file.
52061 * loader/i386/pc/chainloader_normal.c: Likewise.
52062
2c1f4ce3 520632004-09-11 Marco Gerards <metgerards@student.han.nl>
52064
52065 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52066 (grub_mkimage_LDFLAGS): Likewise.
52067 (grub_emu_SOURCES): Likewise.
52068 (kernel_img_HEADERS): Added fshelp.h.
52069 * fs/ext2.c: Include <grub/fshelp.h>.
52070 (FILETYPE_REG): New macro.
52071 (FILETYPE_INO_REG): Likewise.
52072 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52073 Changed all users.
52074 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52075 all users.
52076 (grub_fshelp_node): New struct.
52077 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52078 to a pointer.
52079 (grub_ext2_get_file_block): Removed function.
52080 (grub_ext2_read_block): New function.
52081 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52082 This function was written.
52083 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52084 (grub_ext2_find_file): Removed function.
52085 (grub_ext2_read_symlink): New function.
52086 (grub_ext2_iterate_dir): Likewise.
52087 (grub_ext2_open): Rewritten.
52088 (grub_ext2_dir): Rewritten.
52089 * include/grub/fshelp.h: New file.
52090 * fs/fshelp.c: Likewise.
52091
3c52136a 520922004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52093
52094 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52095 (print_message): Add a missing newline.
52096 (run_menu): Added timeout support.
52097 (run_menu_entry): New local function.
52098 (grub_menu_run): Added support for booting.
52099
52100 * kern/loader.c (grub_loader_is_loaded): New function.
52101
52102 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52103 (grub_get_rtc): Exported.
52104
52105 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52106 (grub_get_rtc): Exported.
52107
52108 * include/grub/normal.h (struct grub_command_list): Remove
52109 constant from the member `command'.
52110
52111 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52112
52113 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52114
52115 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52116
aa033560 521172004-08-28 Marco Gerards <metgerards@student.han.nl>
52118
52119 Add support for the JFS filesystem.
52120
52121 * fs/jfs.c: New file.
52122 * include/grub/fs.h (grub_jfs_init): New prototype.
52123 (grub_jfs_fini): New prototype.
52124 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52125 (grub_emu_SOURCES): Likewise.
52126 (pkgdata_MODULES): Add jfs.mod.
52127 (jfs_mod_SOURCES): New variable.
52128 (jfs_mod_CFLAGS): Likewise.
52129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52130 (grubof_SOURCES): Likewise.
52131 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52132
52133 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52134 endian to the host endian.
52135 (grub_fat_utf16_to_utf8): Move function from there...
52136 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 52137 the endianness of the source string anymore.
aa033560 52138 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52139
94bc45af 521402004-08-24 Marco Gerards <metgerards@student.han.nl>
52141
52142 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52143 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52144 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52145 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 52146
94bc45af 52147 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52148 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52149 for `node_found' and `it_dir'.
52150 (grub_hfs_dir): Add prototype for `dir_hook'.
52151
52152 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52153 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52154 and `indir32' to silence a gcc warning.
52155
52156 * include/grub/fs.h (grub_hfs_init): New prototype.
52157 (grub_hfs_fini): Likewise.
f19dbdb7 52158
52159
97543f08 521602004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52161
52162 Each disk device has its own id now. This is useful to make use
52163 of multiple disk devices.
f19dbdb7 52164
97543f08 52165 * include/grub/disk.h (grub_disk_dev_id): New enum.
52166 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
52167 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
52168
52169 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52170 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52171
52172 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52173 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52174
52175 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52176 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52177
52178 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52179 "id" which is used by the cache manager.
52180
52181 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52182 of just "GRUB".
52183
64372eb4 521842004-08-18 Marco Gerards <metgerards@student.han.nl>
52185
52186 * fs/hfs.c: New file.
52187 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
52188 (grub_emu_SOURCES): Likewise.
52189 (pkgdata_MODULES): Add hfs.mod.
52190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
52191 (grubof_SOURCES): Likewise.
52192 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
52193
52194 * include/grub/misc.h (grub_strncasecmp): Add prototype.
52195 * kern/misc.c (grub_strncasecmp): Add function.
52196
cc61b58f 521972004-08-14 Marco Gerards <metgerards@student.han.nl>
52198
52199 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
52200 with parentheses.
52201
52202 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52203 (grub_ext2_dir): In case the directory entry type is unknown, read
52204 it from the inode.
52205
0ef123f6 522062004-08-02 Peter Bruin <pjbruin@dds.nl>
52207
52208 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52209 grub_load_linux instead of grub_rescue_cmd_linux as second
52210 argument of grub_rescue_register_command.
52211
52212 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52213
a447c5df 522142004-07-27 Marco Gerards <metgerards@student.han.nl>
52215
52216 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52217 function.
52218 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52219 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52220 `loader/powerpc/ieee1275/linux.c',
52221 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52222 * include/grub/powerpc/ieee1275/ieee1275.h
52223 (grub_ieee1275_release): New prototype.
52224 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52225 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52226 normal, boot, linux and linux_normal.
52227 * loader/powerpc/ieee1275/linux.c: New file.
52228 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52229
5a9e3546 522302004-07-12 Marco Gerards <metgerards@student.han.nl>
52231
52232 * normal/arg.c (grub_arg_parse): Correct error handling after
52233 reallocating the argumentlist (check if `argl' is not null instead
52234 of checking if `args' is not null).
52235 * kern/mm.c (grub_realloc): Return the same pointer when using the
52236 same region, instead of returning the header address.
52237
e15199cb 522382004-07-11 Marco Gerards <metgerards@student.han.nl>
52239
52240 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52241 one block instead of two when looking for the initial partition.
52242 (grub_partition_probe): Initialize the local variable `p' with 0.
52243 Use base 10 for the grub_strtoul call.
52244 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52245 need for one local variable.
52246 (grub_strtoul): Don't add the new value to `num', instead of that
52247 just assign it.
52248
020616c2 522492004-07-11 Marco Gerards <metgerards@student.han.nl>
52250
52251 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52252 (pxeboot_img_SOURCES): New variable.
52253 (pxeboot_img_ASFLAGS): Likewise.
52254 (pxeboot_img_LDFLAGS): Likewise.
52255 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52256 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52257 <lode_leroy@hotmail.com>.
52258
6c51eb64 522592004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52260
52261 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52262 there was no input.
52263
cfb12aff 522642004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52265
52266 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52267 the history buffer logic.
52268
6eabba74 522692004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52270
52271 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52272 (FILETYPE_INO_SYMLINK): New macros.
52273 (grub_ext2_find_file): Check if the node is a directory using the
52274 inode stat information instead of using the filetype in the
52275 dirent. Exclude the first character of an absolute symlink.
52276 (grub_ext2_dir): Mask out the filetype part of the mode member of
52277 the inode.
52278
66e19ef8 522792004-05-24 Marco Gerards <metgerards@student.han.nl>
52280
52281 Add support for UFS version 1 and 2. Add support for the minix
52282 filesystem version 1 and 2, both the variants with 14 and 30 long
52283 filenames.
f19dbdb7 52284
66e19ef8 52285 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52286 fs/minix.c.
52287 (grub_emu_SOURCES): Likewise.
52288 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52289 (ufs_mod_SOURCES): New variable.
52290 (ufs_mod_CFLAGS): Likewise.
52291 (minix_mod_SOURCES): Likewise.
52292 (minix_mod_CFLAGS): Likewise.
52293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52294 fs/minix.c.
52295 (grubof_SOURCES): Likewise.
52296 * fs/ufs.c: New file.
52297 * fs/minix.c: New file.
52298 * include/grub/fs.h (grub_ufs_init): New prototype.
52299 (grub_ufs_fini): Likewise.
52300 (grub_minix_init): Likewise.
52301 (grub_minix_fini): Likewise.
52302 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52303 minix fs.
52304
cc2e748a 523052004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52306
52307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52308 commands/ls.c, commands/terminal.c, commands/boot.c,
52309 commands/cmp.c and commands/cat.c.
52310 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52311
52312 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52313 "env.h"
52314
4b13b216 523152004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52316
52317 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52318 and grub_, respectively. Because the conversion is trivial and
52319 mechanical, I omit the details here. Please refer to the CVS
52320 if you need more information.
52321
6a142551 523222004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52323
52324 * include/pupa: Renamed to ...
52325 * include/grub: ... this.
52326 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52327 * util/i386/pc/grub-mkimage.c: ... this.
52328 * util/i386/pc/pupa-setup.c: Renamed to ...
52329 * util/i386/pc/grub-setup.c: ... this.
52330 * util/pupa-emu.c: Renamed to ...
52331 * util/grub-emu.c: ... this.
52332
e56cdf21 523332004-03-29 Marco Gerards <metgerards@student.han.nl>
52334
52335 Add support for the newworld apple macintosh (PPC). This has been
52336 tested on the powerbook 2000 only. It only adds support for
52337 generic ieee1275 functions, console and disk support. This should
52338 be easy to port to other architectures with support for Open
52339 Firmware.
f19dbdb7 52340
e56cdf21 52341 * configure.ac: Accept the powerpc as host_cpu. In the case of
52342 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52343 specific tests are only executed while building for the i386.
52344 Inverse test for crosscompile.
52345 * genmk.rb (Utility): Allow assembler files.
52346 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52347 * conf/powerpc-ieee1275.rmk: New file.
52348 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52349 * disk/powerpc/ieee1275/partition.c: Likewise.
52350 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52351 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52352 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52353 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52354 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52355 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52356 * include/pupa/powerpc/ieee1275/loader.h
52357 * include/pupa/powerpc/setjmp.h: Likewise.
52358 * include/pupa/powerpc/types.h: Likewise.
52359 * kern/powerpc/ieee1275/init.c: Likewise.
52360 * kern/powerpc/ieee1275/openfw.c: Likewise.
52361 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52362
52363 These files were written by Johan Rydberg
52364 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 52365
e56cdf21 52366 * boot/powerpc/ieee1275/cmain.c: New file.
52367 * boot/powerpc/ieee1275/crt0.S: Likewise.
52368 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52369 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52370
8c8cc205 523712004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52372
52373 * Makefile.in: Update copyright.
52374 * genmodsrc.sh: Likewise.
52375 * gensymlist.sh: Likewise.
52376 * term/i386/pc/vga.c: Indent correctly.
52377
52378 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52379 bugreporting address.
52380 * util/i386/pc/pupa-setup.c (usage): Likewise,
52381 (main): Call pupa_ext2_init and pupa_ext2_fini.
52382
f19dbdb7 52383 * fs/fat.c (log2): Renamed to ...
8c8cc205 52384 (fat_log2): ... this.
52385 All callers changed.
52386 * kern/misc.c (memcpy): Alias to pupa_memmove.
52387 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52388 lvalue cast.
52389 * util/console.c (pupa_ncurses_fini): Return 0.
52390
52391 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52392 Move fail label here.
52393 [__GNU__]: Don't warn when using stat.
52394 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52395 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52396 long int. Use strtol instead of strtoul.
f19dbdb7 52397
db1771cf 523982004-03-14 Marco Gerards <metgerards@student.han.nl>
52399
52400 * commands/boot.c: New file.
52401 * commands/cat.c: Likewise.
52402 * commands/cmp.c: Likewise.
52403 * commands/ls.c: Likewise.
52404 * commands/terminal.c: Likewise.
52405 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52406 (pupa_register_command): Changed interface to match the new
52407 argument parser.
52408 (pupa_command_execute): Changed (almost rewritten) so it uses
52409 pupa_split_command. Added support for setting variables using the
52410 syntax `foo=bar'.
52411 (rescue_command): Changed to work with the new argument parser.
52412 (terminal_command): Moved from here to commands/terminal.c.
52413 (set_command): New function.
52414 (unset_command): New function.
52415 (insmod_command): New function.
52416 (rmmod_command): New function.
52417 (lsmod_command): New function.
52418 (pupa_command_init): Don't initialize the command terminal
52419 anymore. Initialize the commands set, unset, insmod, rmmod and
52420 lsmod.
52421 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52422 (kernel_img_HEADERS): Add arg.h and env.h.
52423 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52424 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52425 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52426 normal/arg.c.
52427 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52428 terminal.mod.
52429 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52430 (boot_mod_SOURCES): New variable.
52431 (terminal_mod_SOURCES): Likewise.
52432 (ls_mod_SOURCES): Likewise.
52433 (cmp_mod_SOURCES): Likewise.
52434 (cat_mod_SOURCES): Likewise.
52435
52436 * normal/arg.c: New file.
52437 * kern/env.c: Likewise.
52438 * include/pupa/arg.h: Likewise.
52439 * include/pupa/env.h: Likewise.
52440 * font/manager.c (font_command): Changed to match argument parsing
52441 interface changes.
52442 (PUPA_MOD_INIT): Likewise.
52443 * hello/hello.c (pupa_cmd_hello): Likewise.
52444 (PUPA_MOD_INIT): Likewise.
52445 * include/pupa/disk.h: Include <pupa/device.h>.
52446 (pupa_print_partinfo): New prototype.
52447 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52448 (pupa_dl_get_prefix): Likewise.
52449 * include/pupa/misc.h: Include <pupa/err.h>.
52450 (pupa_isgraph): New prototype.
52451 (pupa_isdigit): Likewise.
52452 (pupa_split_cmdline): Likewise.
52453 * include/pupa/normal.h: Include <pupa/arg.h>.
52454 (pupa_command): Changed the prototype of the member `func' to
52455 match the argument parsing interface. Added member `options'.
52456 (pupa_register_command): Updated to match function.
52457 (pupa_arg_parse): New prototype.
52458 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52459 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52460 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52461 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52462 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52463 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52464 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52465 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52466 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52467 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52468 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52469 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52470 * kern/disk.c: Include <pupa/file.h>.
52471 (pupa_print_partinfo): New function.
52472 * kern/dl.c: Include <pupa/env.h>.
52473 (pupa_dl_dir): Variable removed.
52474 (pupa_dl_load): Use the environment variable `prefix' instead of
52475 the variable pupa_dl_dir.
52476 (pupa_dl_set_prefix): Function removed.
52477 (pupa_dl_get_prefix): Likewise.
52478 * kern/i386/pc/init.c: Include <pupa/env.h>.
52479 (pupa_machine_init): Use the environment variable `prefix' instead of
52480 using pupa_dl_set_prefix to set the prefix.
52481 * kern/main.c: Include <pupa/env.h>.
52482 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52483 using pupa_dl_get_prefix to get the prefix.
52484 * kern/misc.c: Include <pupa/env.h>.
52485 (pupa_isdigit): New function.
52486 (pupa_isgraph): Likewise.
52487 (pupa_ftoa): Likewise.
52488 (pupa_vsprintf): Added support for printing values of the type
52489 `double'. Make it possible to format variable output when using
52490 formatting like `%1.2%f'.
52491 (pupa_split_cmdline): New function.
52492 * kern/rescue.c: Include <pupa/env.h>.
52493 (next_word): Removed function.
52494 (pupa_rescue_cmd_prefix): Likewise.
52495 (pupa_rescue_cmd_set): New function.
52496 (pupa_rescue_cmd_unset): New function.
52497 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52498 split the command line instead of splitting it here. Added
52499 support for setting variables using the syntax `foo=bar'. Don't
52500 initialize the prefix command anymore. Initialized the set and
52501 unset commands.
52502 * normal/cmdline.c: Include <pupa/env.h>.
52503 (pupa_tab_complete): Added prototypes for print_simple_completion,
52504 print_partition_completion, add_completion, iterate_commands,
52505 iterate_dev, iterate_part and iterate_dir. Moved code to print
52506 partition information from here to kern/disk.c.
fe6b695a 52507 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52508 * normal/main.c: Include <pupa/env.h>.
52509 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52510 instead of using pupa_dl_get_prefix to get the prefix.
52511 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52512 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52513 warning.
52514 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52515 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52516 ((unused))' to silence a gcc warning.
52517 (pupa_vga_setcolor): Likewise.
52518 (debug_command): Changed to match argument parsing
52519 interface changes.
52520 * util/pupa-emu.c: Include <pupa/env.h>.
52521 (options): Added 0's for unused fields to silence a gcc warning.
52522 (argp): Likewise.
52523 (main): Use the environment variable `prefix' instead of using
52524 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52525 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52526 and terminal.
52527
52528 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52529 * util/misc.c: Include <malloc.h>.
52530 (pupa_malloc): Rewritten so errors are correctly reported.
52531 (pupa_realloc): Likewise.
52532 (pupa_memalign): Likewise.
52533 (pupa_mm_init_region): Declare unused variables with
52534 `__attribute__ ((unused))' to silence a gcc warning.
52535 * normal/i386/setjmp.S: Remove tab at the end of the file to
52536 silence a gcc warning.
52537 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52538 variables with `__attribute__ ((unused))' to silence a gcc
52539 warning.
52540 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52541 local variable i unsigned to silence a gcc warning.
52542
52543 * kern/term.c: Include <pupa/misc.h>.
52544 (pupa_more_lines): New variable.
52545 (pupa_more): Likewise.
52546 (pupa_putcode): When the pager is active pause at the end of every
52547 screen.
52548 (pupa_set_more): New function.
52549 * include/pupa/term.h (pupa_set_more): New prototype.
52550
52551
3b1139cb 525522004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52553
52554 Now this project is GRUB 2 rather than PUPA. The location of
52555 the CVS repository was moved to GRUB's.
f19dbdb7 52556
3b1139cb 52557 * configure.ac: Use bug-grub as the reporting address.
52558 Use GRUB instead of PUPA.
52559 Change the version number to 1.90.
52560
8367695c 525612004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52562
52563 * genkernsyms.sh: Updated copyright information.
52564 * genmk.rb: Likewise.
52565 * genmodsrc.sh: Likewise.
52566 * gensymlist.sh: Likewise.
52567 * boot/i386/pc/boot.S: Likewise.
52568 * boot/i386/pc/diskboot.S: Likewise.
52569 * disk/i386/pc/biosdisk.c: Likewise.
52570 * disk/i386/pc/partition.c: Likewise.
52571 * font/manager.c: Likewise.
52572 * fs/ext2.c: Likewise.
52573 * fs/fat.c: Likewise.
52574 * include/pupa/boot.h: Likewise.
52575 * include/pupa/device.h: Likewise.
52576 * include/pupa/disk.h: Likewise.
52577 * include/pupa/dl.h: Likewise.
52578 * include/pupa/elf.h: Likewise.
52579 * include/pupa/err.h: Likewise.
52580 * include/pupa/file.h: Likewise.
52581 * include/pupa/font.h: Likewise.
52582 * include/pupa/fs.h: Likewise.
52583 * include/pupa/kernel.h: Likewise.
52584 * include/pupa/loader.h: Likewise.
52585 * include/pupa/misc.h: Likewise.
52586 * include/pupa/mm.h: Likewise.
52587 * include/pupa/net.h: Likewise.
52588 * include/pupa/normal.h: Likewise.
52589 * include/pupa/rescue.h: Likewise.
52590 * include/pupa/setjmp.h: Likewise.
52591 * include/pupa/symbol.h: Likewise.
52592 * include/pupa/term.h: Likewise.
52593 * include/pupa/types.h: Likewise.
52594 * include/pupa/i386/setjmp.h: Likewise.
52595 * include/pupa/i386/types.h: Likewise.
52596 * include/pupa/i386/pc/biosdisk.h: Likewise.
52597 * include/pupa/i386/pc/boot.h: Likewise.
52598 * include/pupa/i386/pc/console.h: Likewise.
52599 * include/pupa/i386/pc/init.h: Likewise.
52600 * include/pupa/i386/pc/kernel.h: Likewise.
52601 * include/pupa/i386/pc/linux.h: Likewise.
52602 * include/pupa/i386/pc/loader.h: Likewise.
52603 * include/pupa/i386/pc/memory.h: Likewise.
52604 * include/pupa/i386/pc/multiboot.h: Likewise.
52605 * include/pupa/i386/pc/partition.h: Likewise.
52606 * include/pupa/i386/pc/time.h: Likewise.
52607 * include/pupa/i386/pc/vga.h: Likewise.
52608 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52609 * include/pupa/util/getroot.h: Likewise.
52610 * include/pupa/util/misc.h: Likewise.
52611 * include/pupa/util/resolve.h: Likewise.
52612 * kern/device.c: Likewise.
52613 * kern/disk.c: Likewise.
52614 * kern/dl.c: Likewise.
52615 * kern/err.c: Likewise.
52616 * kern/file.c: Likewise.
52617 * kern/fs.c: Likewise.
52618 * kern/loader.c: Likewise.
52619 * kern/main.c: Likewise.
52620 * kern/misc.c: Likewise.
52621 * kern/mm.c: Likewise.
52622 * kern/rescue.c: Likewise.
52623 * kern/term.c: Likewise.
52624 * kern/i386/dl.c: Likewise.
52625 * kern/i386/pc/init.c: Likewise.
52626 * kern/i386/pc/lzo1x.S: Likewise.
52627 * kern/i386/pc/startup.S: Likewise.
52628 * loader/i386/pc/chainloader.c: Likewise.
52629 * loader/i386/pc/linux.c: Likewise.
52630 * loader/i386/pc/multiboot.c: Likewise.
52631 * normal/cmdline.c: Likewise.
52632 * normal/command.c: Likewise.
52633 * normal/main.c: Likewise.
52634 * normal/menu.c: Likewise.
52635 * normal/i386/setjmp.S: Likewise.
52636 * term/i386/pc/console.c: Likewise.
52637 * term/i386/pc/vga.c: Likewise.
52638 * util/console.c: Likewise.
52639 * util/genmoddep.c: Likewise.
52640 * util/misc.c: Likewise.
52641 * util/pupa-emu.c: Likewise.
52642 * util/resolve.c: Likewise.
52643 * util/unifont2pff.rb: Likewise.
52644 * util/i386/pc/biosdisk.c: Likewise.
52645 * util/i386/pc/getroot.c: Likewise.
52646 * util/i386/pc/pupa-mkimage.c: Likewise.
52647 * util/i386/pc/pupa-setup.c: Likewise.
52648
e6eced71 526492004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52650
52651 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52652 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52653 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52654 reading and reset it after reading.
52655 (pupa_ext2_close): Return PUPA_ERR_NONE.
52656
52657 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52658 Correct value.
52659 (struct linux_kernel_header): Add kernel_version and
52660 initrd_addr_max.
52661 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52662 pupa_file_read succeeds.
52663 (pupa_rescue_cmd_initrd): Implement.
52664
5aded270 526652003-12-03 Marco Gerards <metgerards@student.han.nl>
52666
52667 * fs/ext2.c (pupa_ext2_label): New function.
52668 (pupa_ext2_fs): Added label.
52669 * fs/fat.c (pupa_fat_label): New function.
52670 (pupa_fat_fs): Added label.
52671 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52672
52673 * kern/misc.c (pupa_strndup): New function.
52674 * include/pupa/misc.h (pupa_strndup): New prototype.
52675
52676 * include/pupa/normal.h: Include <pupa/err.h>.
52677 (pupa_set_history): New prototype.
52678 (pupa_iterate_commands): New prototype.
52679 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52680 <pupa/disk.h>, <pupa/file.h>.
52681 (hist_size): New variable.
52682 (hist_lines): Likewise.
52683 (hist_end): Likewise.
52684 (hist_used): Likewise.
52685 (pupa_set_history): New function.
52686 (pupa_history_get): Likewise.
52687 (pupa_history_add): Likewise.
52688 (pupa_history_replace): Likewise.
52689 (pupa_tab_complete): Likewise.
52690 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52691 completion shows partitionnames while completing partitions, this
52692 feature was suggested by Jeff Bailey.
52693 * normal/command.c (pupa_iterate_commands): New function.
52694 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52695 (pupa_normal_init): Initialize history buffer.
52696 (PUPA_MOD_INIT): Likewise.
52697 (pupa_normal_fini): Free the history buffer.
52698 (PUPA_MOD_FINI): Likewise.
52699
52700 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52701 key.
52702
52703 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52704 * configure.ac [i386]: Check for regparam bug.
52705 (NESTED_FUNC_ATTR) [! i386]: Defined.
52706
1f7315a3 527072003-11-17 Marco Gerards <metgerards@student.han.nl>
52708
52709 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52710 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52711 (pupa_emu_SOURCES): New variable.
52712 (pupa_emu_LDFLAGS): Likewise.
52713 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52714 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52715 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52716 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52717 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52718 (pupa_jmp_buf): New typedef.
52719 (pupa_setjmp) [PUPA_UTIL]: New macro.
52720 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52721 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52722 (pupa_refresh): New prototype.
52723 * include/pupa/util/getroot.h: New file.
52724 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52725 it.
52726 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52727 (pupa_rescue_cmd_cat): Likewise.
52728 (pupa_rescue_cmd_ls): Likewise.
52729 (pupa_rescue_cmd_testload): Likewise.
52730 (pupa_rescue_cmd_lsmod): Likewise.
52731 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52732 * normal/menu.c (run_menu): Likewise.
52733 * kern/term.c (pupa_cls): Likewise.
52734 (pupa_refresh): New function.
52735 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52736 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52737 * util/console.c: New file.
f19dbdb7 52738
1f7315a3 52739 * util/i386/pc/getroot.c: New file.
52740 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52741 (pupa_putchar): New function.
52742 (pupa_refresh): Likewise.
52743 (xgetcwd): Function moved to ...
52744 (strip_extra_slashes): Likewise.
52745 (get_prefix): Likewise.
f19dbdb7 52746 * util/i386/pc/getroot.c: ... here.
1f7315a3 52747 (find_root_device): Function moved and renamed to...
52748 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52749 Changed all callers.
52750 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52751 and renamed to...
52752 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52753 Changed all callers.
52754 * util/misc.c (pupa_memalign): New function.
52755 (pupa_mm_init_region): Likewise.
52756 (pupa_register_exported_symbols): Likewise.
52757 (pupa_putchar): Function removed.
52758 * util/pupa-emu.c: New file.
52759
9a5c1ade 527602003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52761
52762 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52763 (_multiboot_mod_SOURCES): New variable.
52764 (_multiboot_mod_CFLAGS): Likewise.
52765 * loader/i386/pc/multiboot.c: New file.
52766 * include/pupa/i386/pc/multiboot.h: Likewise.
52767 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52768 (pupa_multiboot_real_boot): New function.
52769 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52770 (pupa_multiboot_real_boot): New prototype.
52771 (pupa_rescue_cmd_multiboot): Likewise
52772 (pupa_rescue_cmd_module): Likewise.
52773
52774 * kern/loader.c (pupa_loader_set): Continue when
52775 pupa_loader_unload_func() fails.
52776 (pupa_loader_unset): New function.
52777 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52778
52779 * kern/misc.c (pupa_stpcpy): New function.
52780 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52781
8e72a9c0 527822003-11-12 Marco Gerards <metgerards@student.han.nl>
52783
52784 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52785 for available extensions.
52786
52787 * include/pupa/i386/pc/time.h: New file.
52788 * kern/disk.c: Include <pupa/machine/time.h>.
52789 (PUPA_CACHE_TIMEOUT): New macro.
52790 (pupa_last_time): New variable.
52791 (pupa_disk_open): Flush the cache when there was a timeout.
52792 (pupa_disk_close): Reset the timer.
52793 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52794 pupa_currticks.
52795 * util/misc.c: Include <sys/times.h>
52796 (pupa_get_rtc): New function.
52797
c4adbd32 527982003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52799
52800 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52801 as blocks.
52802 (pupa_ext2_get_file_block): Use blocks member.
52803
52804 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52805 first block. Return -1 instead of pupa_errno on error.
52806
bfd30f06 528072003-10-27 Marco Gerards <metgerards@student.han.nl>
52808
52809 * README: In the pupa-mkimage example use _chain instead of chain
52810 and ext2 instead of fat.
52811 * TODO: Replace ext2fs with jfs as an example. Add an item for
52812 adding journal playback for ext2fs.
52813 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52814 (pkgdata_MODULES): Added ext2.mod.
52815 (ext2_mod_SOURCES): New variable.
52816 (ext2_mod_CFLAGS): Likewise.
52817 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52818 * include/pupa/misc.h (pupa_strncpy): New prototype.
52819 (pupa_strcat): Likewise.
52820 (pupa_strncmp): Likewise.
52821 * kern/misc.c (pupa_strcat): Enable function.
52822 (pupa_strncpy): New function.
52823 (pupa_strncmp): Likewise.
52824 * fs/ext2.c: New file.
f19dbdb7 52825
bfd30f06 52826 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52827 when the read failed before retrying.
52828 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52829 (_FILE_OFFSET_BITS): Likewise.
52830 * configure.ac: Added AC_SYS_LARGEFILE.
52831
98d15063 528322003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52833
52834 * genmk.rb (PModule#rule): Make sure to get only symbol names
52835 from the output of nm.
59cad637 52836 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52837
18d9c7cd 528382003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52839
52840 I forgot to check in these changes for a long time. This adds
52841 incomplete support for VGA console, and this is still very
52842 buggy. Also, a lot of consideration is required for I18N,
52843 UNICODE, and VGA font issues. Therefore, assume that this is
52844 such that "better than nothing".
f19dbdb7 52845
18d9c7cd 52846 * font/manager.c: New file.
52847 * include/pupa/font.h: Likewise.
52848 * include/pupa/i386/pc/vga.h: Likewise.
52849 * term/i386/pc/vga.c: Likewise.
52850 * util/unifont2pff.rb: Likewise.
52851
52852 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52853 (pkgdata_MODULES): Added vga.mod and font.mod.
52854 (vga_mod_SOURCES): New variables.
52855 (vga_mod_CFLAGS): Likewise.
52856 (font_mod_SOURCES): Likewise.
52857 (font_mod_CFLAGS): Likewise.
52858
52859 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52860
52861 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52862 (struct pupa_term): Added init and fini.
18d9c7cd 52863 Changed the argument of putchar to pupa_uint32_t.
52864
52865 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52866 (pupa_console_real_putchar): New prototype.
52867 (pupa_console_putchar): Removed.
52868 (pupa_console_checkkey): Exported.
52869 (pupa_console_getkey): Likewise.
52870
52871 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52872 characters.
52873
52874 * kern/term.c (pupa_term_set_current): Rewritten.
52875 (pupa_putchar): Likewise.
52876 (pupa_putcode): New function.
52877
52878 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52879 (pupa_console_real_putchar): ... this.
52880 (pupa_vga_set_mode): New function.
52881 (pupa_vga_get_font): Likewise.
52882
52883 * normal/command.c: Include pupa/term.h.
52884 (terminal_command): New function.
52885 (pupa_command_init): Register the command "terminal".
52886
52887 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52888 (DISP_UP): Likewise.
52889 (DISP_RIGHT): Likewise.
52890 (DISP_DOWN): Likewise.
52891 (DISP_HLINE): Likewise.
52892 (DISP_VLINE): Likewise.
52893 (DISP_UL): Likewise.
52894 (DISP_UR): Likewise.
52895 (DISP_LL): Likewise.
52896 (DISP_LR): Likewise.
52897
52898 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 52899
977329f5 529002003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52901
52902 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52903 FIX. Reverse the path_list.
52904
52905 * include/pupa/normal.h: Export pupa_register_command and
52906 pupa_unregister_command.
52907
52908 * hello/hello.c (pupa_cmd_hello): New module.
52909 * conf/i386-pc.rmk: Added hello.mod.
52910
1f5ab428 529112003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52912
52913 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 52914
1f5ab428 52915 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52916 (compress_kernel): New variable.
52917 (generate_image): Heavily modified to support compressing a
52918 large part of the core image.
52919
52920 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52921 leak.
52922 (pupa_util_load_image): New function.
52923
52924 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52925 (pupa_compressed_size): New variable.
52926 (codestart): Enable Gate A20 here.
52927 Decompress the compressed part of the core image.
52928 Rearrange the code to put functions and variables which are
52929 required for initialization in the non-compressed part.
52930 Include lzo1x.S.
52931
52932 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52933 here.
52934
52935 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52936
f19dbdb7 52937 * include/pupa/i386/pc/kernel.h
1f5ab428 52938 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52939 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52940 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52941 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52942 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52943
52944 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52945
52946 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52947 (Utility#rule): Likewise.
52948
52949 * configure.ac: Check if LZO is available.
52950
ce5bf700 529512003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52952
52953 * include/pupa/normal.h: New file.
52954 * include/pupa/setjmp.h: Likewise.
52955 * include/pupa/i386/setjmp.h: Likewise.
52956 * normal/cmdline.c: Likewise.
52957 * normal/command.c: Likewise.
52958 * normal/main.c: Likewise.
52959 * normal/menu.c: Likewise.
52960 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52961
ce5bf700 52962 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52963 (pupa_rescue_cmd_initrd): Likewise.
52964
52965 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52966 Likewise.
52967
52968 * kern/i386/pc/startup.S (translation_table): New variable.
52969 (translate_keycode): New function.
52970 (pupa_console_getkey): Call translate_keycode.
52971
52972 * kern/rescue.c (attempt_normal_mode): New function.
52973 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52974 it failed, print a message.
52975
52976 * kern/mm.c (pupa_real_malloc): Print more information when a
52977 free magic is broken.
52978 (pupa_free): If the first free header is not free actually, set
52979 it to P.
52980
52981 * kern/main.c (pupa_load_normal_mode): Just load the module
52982 "normal".
52983 (pupa_main): Don't print the message
52984 "Entering into rescue mode..." here.
52985
52986 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52987 Declared.
52988 (pupa_rescue_cmd_initrd): Likewise.
52989 (pupa_rescue_cmd_initrd): Likewise.
52990
52991 * include/pupa/symbol.h (FUNCTION): Specify the type.
52992 (VARIABLE): Likewise.
52993
52994 * include/pupa/err.h (pupa_err_t): Added
52995 PUPA_ERR_UNKNOWN_COMMAND.
52996
52997 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52998 (pupa_dl_get_prefix): Likewise.
52999
53000 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
53001 Added _chain.mod and _linux.mod instead of chain.mod and
53002 linux.mod.
53003 (chain_mod_SOURCES): Renamed to ...
53004 (_chain_mod_SOURCES): ... this.
53005 (chain_mod_CFLAGS): Renamed to ...
53006 (_chain_mod_CFLAGS): ... this.
53007 (linux_mod_SOURCES): Renamed to ...
53008 (_linux_mod_SOURCES): ... this.
53009 (linux_mod_CFLAGS): Renamed to ...
53010 (_linux_mod_CFLAGS): ... this.
53011 (normal_mod_SOURCES): New variable.
53012 (normal_mod_CFLAGS): Likewise.
53013 (normal_mod_ASFLAGS): Likewise.
53014
530152003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
53016
53017 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
53018 possible.
53019
fe6b695a 53020 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 53021 recursively.
53022 (pupa_dl_unref): Unrefer depending modules recursively.
53023 Don't call pupa_dl_unload implicitly, because PUPA can crash if
53024 a module is unloaded before one depending on that module is
53025 unloaded.
53026 (pupa_dl_unload): Unload depending modules explicitly,
53027 if possible.
53028
c04da074 530292003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53030
53031 * include/pupa/i386/pc/linux.h: New file.
53032 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 53033
c04da074 53034 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53035 Removed.
53036 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53037 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53038 of PUPA_CHAINLOADER_BOOT_SECTOR.
53039
53040 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53041 (pupa_linux_prot_size): New variable.
53042 (pupa_linux_tmp_addr): Likewise.
53043 (pupa_linux_real_addr): Likewise.
53044 (pupa_linux_boot_zimage): New function.
53045 (pupa_linux_boot_bzimage): Likewise.
53046
53047 * kern/i386/pc/init.c (struct mem_region): New structure.
53048 (MAX_REGIONS): New macro.
53049 (mem_regions): New variable.
53050 (num_regions): Likewise.
53051 (pupa_os_area_addr): Likewise.
53052 (pupa_os_area_size): Likewise.
53053 (pupa_lower_mem): Likewise.
53054 (pupa_upper_mem): Likewise.
53055 (add_mem_region): New function.
53056 (compact_mem_regions): Likewise.
53057 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53058 the size of the conventional memory and that of so-called upper
53059 memory (before the first memory hole).
53060 Instead of adding each found region to free memory, use
53061 add_mem_region and add them after removing overlaps.
53062 Also, add only 1/4 of the upper memory to free memory. The rest
53063 is used for loading OS images. Maybe this is ad hoc, but this
53064 makes it much easier to relocate OS images when booting.
53065
53066 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53067 (pupa_enter_rescue_mode): Don't register initrd and module.
53068
53069 * kern/mm.c: Include pupa/dl.h.
53070
53071 * kern/main.c: Include pupa/file.h and pupa/device.h.
53072
53073 * kern/loader.c (pupa_loader_load_module_func): Removed.
53074 (pupa_loader_load_module): Likewise.
53075
53076 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53077 ``.o''.
53078
53079 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53080 (pupa_linux_tmp_addr): Likewise.
53081 (pupa_linux_real_addr): Likewise.
53082 (pupa_linux_boot_zimage): Likewise.
53083 (pupa_linux_boot_bzimage): Likewise.
53084
53085 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53086 (pupa_upper_mem): Likewise.
53087 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53088 module is too dangerous.
53089
53090 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53091 (pupa_os_area_size): Likewise.
53092 (pupa_loader_set): Remove the first argument. Loader doesn't
53093 manage modules or initrd any longer.
53094 (pupa_loader_load_module): Removed.
53095
53096 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53097 (linux_mod_SOURCES): New variable.
53098 (linux_mod_CFLAGS): Likewise.
53099
a13f9237 531002003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53101
53102 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53103 the length of a blocklist correctly.
53104
53105 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53106 Use ioctl only if the OS file is a block device.
53107 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53108 not very useful for normal files.
53109
53110 * kern/main.c (pupa_set_root_dev): New function.
53111 (pupa_load_normal_mode): Likewise.
53112 (pupa_main): Call those above.
53113
53114 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53115 pupa_uint16_t.
53116
53117 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53118
a5ffe966 531192003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53120
53121 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53122 (setup): Configure the installed partition information and the
53123 dl prefix.
53124
53125 * loader/i386/pc/chainloader.c (my_mod): New variable.
53126 (pupa_chainloader_unload): New function.
53127 (pupa_rescue_cmd_chainloader): Refer itself.
53128 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53129
53130 * kern/i386/pc/startup.S (install_partition): Removed.
53131 (version_string): Likewise.
53132 (config_file): Likewise.
53133 (pupa_install_dos_part): New variable.
53134 (pupa_install_bsd_part): Likewise.
53135 (pupa_prefix): Likewise.
53136 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53137
53138 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53139 and pupa/misc.h.
53140 (make_install_device): New function.
53141 (pupa_machine_init): Set the dl prefix.
53142
53143 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53144 (buf): Renamed to ...
53145 (linebuf): ... this.
53146 (pupa_rescue_cmd_prefix): New function.
53147 (pupa_rescue_cmd_insmod): Likewise.
53148 (pupa_rescue_cmd_rmmod): Likewise.
53149 (pupa_rescue_cmd_lsmod): Likewise.
53150 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53151 rmmod and lsmod.
53152
53153 * kern/mm.c (pupa_memalign): If failed even after invalidating
53154 disk caches, unload unneeded modules and retry.
53155
53156 * kern/misc.c (pupa_memmove): New function.
53157 (pupa_memcpy): Removed.
53158 (pupa_strcpy): New function.
53159 (pupa_itoa): Made static.
53160
53161 * kern/dl.c (pupa_dl_iterate): New function.
53162 (pupa_dl_ref): Likewise.
53163 (pupa_dl_unref): Likewise.
53164 (pupa_dl_unload): Return if succeeded or not.
53165 (pupa_dl_unload_unneeded): New function.
53166 (pupa_dl_unload_all): Likewise.
53167 (pupa_dl_init): Renamed to ...
53168 (pupa_dl_set_prefix): ... this.
53169 (pupa_dl_get_prefix): New function.
53170
53171 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53172 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53173 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53174 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53175 (pupa_install_dos_part): Declared.
53176 (pupa_install_bsd_part): Likewise.
53177 (pupa_prefix): Likewise.
53178 (pupa_boot_drive): Likewise.
53179
53180 * include/pupa/types.h: Fix a typo.
53181
53182 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53183 pupa_memmove.
53184 (pupa_memmove): Declared.
53185 (pupa_strcpy): Likewise.
53186
53187 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
53188 pupa_mod_init takes one argument, its own module.
53189 (pupa_dl_unload_unneeded): Declared.
53190 (pupa_dl_unload_all): Likewise.
53191 (pupa_dl_ref): Likewise.
53192 (pupa_dl_unref): Likewise.
53193 (pupa_dl_iterate): Likewise.
53194 (pupa_dl_init): Renamed to ...
53195 (pupa_dl_set_prefix): ... this.
53196 (pupa_dl_get_prefix): Declared.
53197
53198 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 53199 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 53200 unloaded.
53201 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53202 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53203
53204 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53205 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53206
012d7999 532072003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53208
53209 * util/i386/pc/pupa-setup.c (setup): Define the internal
53210 function find_first_partition_start at the top level, because GCC
53211 3.0.x cannot compile internal functions in deeper scopes
53212 correctly.
53213 (find_root_device): Use lstat instead of stat.
53214 Don't follow symbolic links.
53215 Fix the path-constructing code.
53216
53217 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53218 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53219 by a BLKGETSIZE ioctl first, because block devices don't fill
53220 the member st_mode of the structure stat on Linux.
53221 [__linux__] (linux_find_partition): Use a temporary buffer
53222 REAL_DEV for the working space. Copy it to DEV before returning.
53223 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53224 buffer cache consistent.
53225 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53226 strncmp. The previous value was merely wrong.
53227 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53228
53229 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53230 FAT size is 12. The previous value was merely wrong.
53231
53232 * kern/main.c (pupa_main): Don't split the starting message from
53233 newlines.
53234
53235 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53236 LF, because BIOS goes crazy about character attributes in this
53237 case.
53238
1cc73a62 532392003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53240
53241 * include/i386/pc/util/biosdisk.h: New file.
53242 * util/i386/pc/biosdisk.c: Likewise.
53243 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 53244
1cc73a62 53245 * Makefile.in (INCLUDE_DISTFILES): Added
53246 include/pupa/i386/pc/util/biosdisk.h.
53247 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
53248 directory util/i386/pc.
53249 (install-local): Added a rule for sbin_UTILITIES.
53250 (uninstall): Likewise.
53251
53252 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53253
53254 * util/misc.c (xrealloc): New function.
53255 (pupa_malloc): Likewise.
53256 (pupa_free): Likewise.
53257 (pupa_realloc): Likewise.
53258 (pupa_stop): Likewise.
53259 (pupa_putchar): Likewise.
53260
53261 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53262
53263 * include/pupa/util/misc.h (xrealloc): Declared.
53264
53265 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53266 macro.
53267 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53268 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53269
53270 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53271 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53272
53273 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53274 way should be implemented.
53275 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53276
53277 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53278 the size of NAME for safety.
53279 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53280 0x88.
53281
53282 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53283 (pupa_setup_SOURCES): Likewise.
53284
53285 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53286
08b70fe8 532872002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53288
53289 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53290 bunch of pushl's from pusha, because this destroys the return
53291 value.
53292
62ddcc8f 532932002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53294
53295 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53296 This means that any missing prototypes could be fatal. Also, you
53297 must take care when writing assembly code. See the comments at
53298 the beginning of startup.S, for more details.
f19dbdb7 53299
62ddcc8f 53300 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53301 compilation mechanism.
53302 (pupa_chainloader_real_boot): Likewise.
53303 (pupa_biosdisk_rw_int13_extensions): Likewise.
53304 (pupa_biosdisk_rw_standard): Likewise.
53305 (pupa_biosdisk_check_int13_extensions): Likewise.
53306 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53307 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53308 (pupa_get_memsize): Likewise.
53309 (pupa_get_mmap_entry): Likewise.
53310 (pupa_console_putchar): Likewise.
53311 (pupa_console_setcursor): Likewise.
53312 (pupa_getrtsecs): Use pushl instead of push.
53313
53314 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53315 memory instead of the stack for a mmap entry, because some
53316 BIOSes may ignore the maximum size and overflow.
53317
53318 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53319
53320 * genmk.rb (PModule#rule): Compile automatically generated
53321 sources with module-specific CFLAGS as well as other sources.
53322
9962ed99 533232002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53324
53325 * configure.ac: Check ld.
53326 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53327 respectively, before checking endianness and sizes.
53328
53329 * Makefile.in (LD): New variable.
f19dbdb7 53330
abdfc3c5 533312002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53332
53333 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53334
6a161fa9 533352002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53336
53337 * Changelog: New file.
53338