]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
[grub2.git] / ChangeLog
CommitLineData
9a945e2a
VS
12013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
4 on ia64 as __clear_cache is a dummy on ia64.
5
4f4ea1b4
VS
62013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
9 Do not explicitly check for symbol table as it's already checked in
10 platform-independent layer.
11
fe4ae213
CW
122013-12-09 Colin Watson <cjwatson@ubuntu.com>
13
14 * util/grub-mkconfig.in: Add missing newline to output.
15
78b2b0a1
VS
162013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
19 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
20
d14772c4
VS
212013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
24 compilation with GCC <= 4.2.
25 * grub-core/kern/emu/argp_common.c: Likewise.
26
388f3cd0
VS
272013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
30 right platform rather than leaking to sparc64-emu.
31
11e4167a
VS
322013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
35 But ensure that the variables in question are indeed unsigned.
36
fa7eb63d
VS
372013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
40
50b3a68d
VS
412013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
42
43 Remove grub_memalign on emu.
44
fbbfb6ab
VS
452013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
48 truncate incomplete lines but instead flushes them.
49
a19293cb
VS
502013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
51
52 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
53 and implement windows variant.
54
d5c14e1e
VS
552013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
56
57 Fix mips-emu compilation.
58
b75db69a
VS
592013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * configure.ac: Check for freetype library usability.
62
c311ced5
VS
632013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
64
65 Make arm-emu work.
66
c8fd2ddf
VS
672013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
70
c50e5f45
AB
712013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
72
73 * docs/grub.texi (Environment): Update color_normal and color_highlight
74 defaults (light-gray instead of white).
75
bb05e313
AB
762013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
77
78 * grub-core/normal/main.c (INIT): Set default color to light-gray
79 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
80 and apparently BIOS defaults.
81
f23bc651
VS
822013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
83
84 Transform -C option to grub-mkstandalone to --core-compress available
85 in all grub-install flavours.
86
4c4ea9c7
VS
872013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
88
89 Merge GRUBFS and GRUB_FS variables.
90
92e9352d
AB
912013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
92
93 Revert commit 69ca97c820, it caused failures when using OS device name
94 in grub-install. Instead just strip off parenthesis in grub-install
95 if (hdX) was passed.
96
f585c905
AB
972013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
98
99 * util/grub-install.c (push_partmap_module): Add helper to convert
100 partmap names to module names and use it in probe_mods(). Fixes
101 failure to find partmap modules in diskfilter case.
102
5ff24907
VS
1032013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * configure.ac: Make unifont mandatory on coreboot.
106
0277eab7
VS
1072013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * configure.ac: Skip unifont 6.3 pcf and bdf.
110
4861b6c8
VS
1112013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * Makefile.am: Remove partial font files if generation failed.
114
3100cdc7
AB
1152013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
116
117 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
118 strings.
119 * include/grub/util/misc.h: Define it ...
120 * util/grub-install.c (device_map_check_duplicates): ... and use it.
121
ad73cc33
AB
1222013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
123
124 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
125 ${grub_probe}.
126
41822625
VS
1272013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
128
129 Don't add -mlong-calls when compiling with clang.
130
896f483d
VS
1312013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * configure.ac: Fix a typo.
134
8c534b85
VS
1352013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
136
137 Revamp relocation handling.
138
139 Move more code to common dl.c. Add missing veneers for arm and arm64.
140 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
141
a846dd4b
VS
1422013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
145
aa437b58
MG
1462013-12-05 Mike Gilbert <floppym@gentoo.org>
147
148 * INSTALL: Raise minimum python version to 2.6.
149 * gentpl.py: Use python3-style print function.
150
b0f311f4
VS
1512013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * util/grub-install.c: Mention Boot* variable.
154
59b38922
CW
1552013-12-05 Colin Watson <cjwatson@ubuntu.com>
156
157 * grub-core/osdep/linux/hostdisk.c
158 (grub_util_find_partition_start_os): Initialise start to avoid
159 spurious compiler warning.
160
0480665b
CW
1612013-12-05 Colin Watson <cjwatson@ubuntu.com>
162
163 On Linux, read partition start offsets from sysfs if possible, to
164 cope with block device drivers that don't implement HDIO_GETGEO.
165 Fixes Ubuntu bug #1237519.
166
167 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
168 function.
169 (sysfs_partition_start): Likewise.
170 (grub_util_find_partition_start_os): Try sysfs_partition_start
171 before HDIO_GETGEO.
172
bbeee1c4
LL
1732013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
174
175 * grub-core/kern/fdt.c: Update struct size when adding node.
176
e5ed2f69
VS
1772013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
178
179 Handle unaligned .bss on sparc64.
180
181 Current code improperly assumes that both __bss_start and _end are
182 aligned to 8-bytes. Eliminating this assumption and explicitly align
183 modules.
184
4a73746a
VS
1852013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
188 so it doesn't land in the middle of loaded image.
189
382b500e
VS
1902013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * configure.ac: Move all warning options that may be absent in
193 gcc >= 3.1 to optional.
194
195 Note: while this allows to compile with older GCC, official requirements
196 remain the same and no support for older GCC.
197
3a82f8bb
CW
1982013-12-04 Colin Watson <cjwatson@ubuntu.com>
199
200 Copying the themes directory in grub-shell isn't
201 parallel-test-friendly and breaks on the second test when the source
202 directory is read-only (as in "make distcheck"). Instead, add a
203 hidden --themes-directory option to grub-mkrescue et al, and use it
204 in grub-shell.
205
e3046431
VS
2062013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
209 as it's no longer necessarry.
210
bdb6090d
VS
2112013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * configure.ac: Allow compilation with older GCC for ARM.
214
b73b70eb
VS
2152013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
218 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
219 ppc.
220
8a3f0a24
VS
2212013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
224
6f07c4e4
VS
2252013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
226
227 Pass font config to config.h and not by TARGET_CFLAGS as adding
228 arguments doesn't work if TARGET_CFLAGS is specified on command
229 line.
230
60d5e9cb
VS
2312013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * configure.ac: Add -Wvla if compiler supports it.
234
cd15c394
VS
2352013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
238 Remove variable length arrays.
239 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
240
bb6e299c
VS
2412013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
244
85eb579a
VS
2452013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
246
247 * include/grub/types.h: Declare all byteswaps as inline functions
248 except compile-time ones.
249
250 Solves variable shadowing in constructions like
251 cpu_to_le (le_to_cpu(x) + 1).
252
47f88cc9
VS
2532013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/kern/efi/efi.c: Remove variable length arrays.
256
40b5739f
VS
2572013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
260 minutes.
261
234d9346
VS
2622013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
265 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
266
0c0eab52
CW
2672013-12-03 Colin Watson <cjwatson@ubuntu.com>
268
269 * grub-core/Makefile.core.def (setjmp): Distribute
270 lib/arm64/setjmp.S.
271
44d48847 2722013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
273
274 Add a new timeout_style environment variable and a corresponding
275 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
276 controls hidden-timeout handling more simply than the previous
277 arrangements, and pressing any hotkeys associated with menu entries
278 during the hidden timeout will now boot the corresponding menu entry
279 immediately.
280
281 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
282 generates a warning, and if it shows the menu it will do so as if
283 the second timeout were not present. Other combinations are
284 translated into reasonable equivalents.
285
10955cda
CW
286 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
287
9e4e6ddf
VS
2882013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * util/config.c: Add missing pointer adjustment.
291 Reported by: qwertial
292
5037aa9a
AB
2932013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
294
295 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
296 directly, not via `cpu' link, to fix libgrub.pp generation.
297
8a952d20
VS
2982013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
299
300 New port arm64-efi.
301
be0d4555
AB
3022013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
303
304 * docs/grub.texi (sleep): Document exit codes.
305
d74b9a1d
VS
3062013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
307
308 Ensure that -mno-unaligned-access or some equivalent option is used.
309
35de6d4b
VS
3102013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
313 -march=armv3.
314
ce55ed03
VS
3152013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
316
317 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
318
8ddf84bf
CW
3192013-11-29 Colin Watson <cjwatson@ubuntu.com>
320
321 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
322 builds, since we don't have an EPS version of font_char_metrics.png.
323 Add leading dot to image extension per the Texinfo documentation.
324
fd0df6d0
CW
3252013-11-29 Colin Watson <cjwatson@ubuntu.com>
326
327 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
328 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
329 * util/grub-gen-widthspec.c: Likewise.
330 * util/grub-mkfont.c: Likewise.
331
69ca97c8
AB
3322013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
333
334 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
335 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
336 failed to install on (hdX).
337 * util/grub-setup.c (get_device_name): Remove, not needed after
338 above change.
339
eec893ae
VS
3402013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
343
621e167f
VS
3442013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * util/grub-fstest.c: Remove variable length arrays.
347
d54f647a
VS
3482013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * grub-core/osdep/linux/ofpath.c: Check return value of read.
351
c8a0f1b2
VS
3522013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
355 computing crc32 rather than handling with md fundtions directly.
356
726409a5
VS
3572013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
360 checking fwstart.img rather than md fundtions directly.
361
422e6e88
VS
3622013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * util/grub-mkrescue.c (main): Check that fread succeeded.
365
af1faca3
VS
3662013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * conf/Makefile.common: Remove -mexplicit-relocs and
369 -DUSE_ASCII_FALLBACK on yeeloong.
370
371 -DUSE_ASCII_FALLBACK is already added by font snippets.
372 -mexplicit-relocs isn't needed is compiler/assemblera are
373 configured properly.
374 If they're not we shouldn't attempt to fix it by ourselves.
375 Binary compare between before and after shows no difference.
376
469021b4
VS
3772013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
380 sources in dependencies directly.
381
382 This was the only instance of "library" in core config. A bug was
383 reported that -fno-stack-protector wasn't passed to it. Instead of
384 figuring out why it failed just remove this construction used
385 needlessly.
386
83c256ba
VS
3872013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * grub-core/osdep/unix/password.c (grub_password_get): Check that
390 fgets succeeded.
391
b67422d3
FL
3922013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
393
394 * docs/grub.texi (ls): Fix command description in case of a device name
395 passed as argument.
396
2d76b4d8
VS
3972013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
398
399 Eliminate variable length arrays in grub_vsnprintf_real.
400
401 A bit tricky because this function has to continue to work without
402 heap for short strings. Fixing prealloc to 32 arguments is reasonable
403 but make all stack references use 32-bit offset rather than 8-bit one.
404 So split va_args preparsing to separate function and put the prealloc
405 into the caller.
406
4f954122
VS
4072013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
408
409 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
410 Fixes build for windows.
411
b1f742c1
VS
4122013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * gentpl.py: Don't generate platform-dependent conditionals for
415 platform-independent targets.
416
16ef26fd
CW
4172013-11-27 Colin Watson <cjwatson@ubuntu.com>
418
419 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
420 references to mdadm from otherwise generic code.
421 (grub_util_exec_pipe): Likewise.
422 (grub_util_exec_pipe_stderr): Likewise.
423 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
424 This function calls vgs, not mdadm; adjust variable names
425 accordingly.
426
cf8c80ff 4272013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
428
429 Generate Makefile.*.am directly from gentpl.py, eliminating the use
430 of Autogen. The Autogen definitions files remain intact as they
431 offer a useful abstraction.
432
5c7206e4
CW
4332013-11-27 Colin Watson <cjwatson@ubuntu.com>
434
435 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
436 into no-ops, and use it in programs that copy files but do not need
437 to take special care to sync writes (grub-mknetdir, grub-rescue,
438 grub-mkstandalone).
439
fc3f2b72
CW
4402013-11-26 Colin Watson <cjwatson@ubuntu.com>
441
442 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
443 than hardcoding /usr/local/bin/xorriso.
444
1e4b3587
VS
4452013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
446
447 Add PCI command activation to all PCI drivers as required for coreboot
448 and maybe some other firmwares.
449
9208367d
VS
4502013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
453 and non-Apple variants of efiemu compile.
454
67b9b7af
AB
4552013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
456
457 * configure.ac: Add explicit check for linking format of
458 efiemu64; save it as EFIEMU64_LINK_FORMAT.
459 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
460 hardcoding linking format.
461
bee1b5ce
VS
4622013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
465 and not pkgdatadir.
466
07e3b047
CW
4672013-11-25 Colin Watson <cjwatson@ubuntu.com>
4682013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
469
470 Add a --locale-directory option to grub-install and related tools.
471
472 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
473 --locale-directory option.
474 (enum grub_install_options): Add
475 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
476 * util/grub-install-common.c (grub_install_help_filter): Handle
477 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
478 (grub_install_parse): Likewise.
479 (get_localedir): New function to check for a user-provided option
480 before trying grub_util_get_localedir.
481 (copy_locales): Use get_localedir rather than
482 grub_util_get_localedir. Handle differing locale directory layouts.
483 (grub_install_copy_files): Likewise.
484
61e1b9a4
VS
4852013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
488 Don't rely on PATH_MAX.
489
c98dd165
VS
4902013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/genmoddep.awk: Use more portable && rather than and.
493
ff1c277e
VS
4942013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
497 an object after data. While it doesn't seem right solution, it
498 works well enough and OSX isn't main compilation platform.
499
c8f7614b
VS
5002013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
503 While it doesn't seem right solution, it works well enough and
504 OSX isn't main compilation platform.
505
246a434f
VS
5062013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * configure.ac: Add -static to LDFLAGS when using apple linker to
509 prevent it from pulling in dynamic linker.
510
5c066a81
VS
5112013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
512
513 Apple assembly doesn't handle symbol arithmetic well. So define an
514 offset symbol in boot.S and use it.
515
78f961ef
VS
5162013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
517
518 Apple assembly doesn't handle symbol arithmetic well. So instead
519 of getting addres of kernel_sector + 4 define kernel_sector_high.
520 It also makes code more readable.
521
09bc0a57
VS
5222013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
523
524 With Apple assembly in .macro environvemnt you have to use $$ instead
525 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
526 to $$x on Apple and to $x on everything else.
527
b700a427
VS
5282013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
531 OBJCONV.
532
4480b95d
VS
5332013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
536 and non-Apple. This instruction is shorter and faster,
537 so no reason not to use it on both.
538
e77c81f6
VS
5392013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
542 .text when compiling for Apple.
543
971dbee5
VS
5442013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/term/arc/console.c: Add missing cast to silence warning.
547
6f2e82be
VS
5482013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
551 %dx restore the probe worked on non-existant drive. Reorganize the
552 code a little bit to free 2 bytes necessary for push/pop.
553
9eec9699
VS
5542013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
555
556 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
557 Add missing cast to silence warning.
558
5ae5c54c
KPA
5592013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
560
561 * util/grub-install.c (update_nvram): Support --no-nvram flag
562 for EFI targets.
563
7b04fe6c
VS
5642013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
565
566 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
567
e67566ce
VS
5682013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * util/garbage-gen.c: Add missing include of sys/time.h.
571
f93ddcfd
VS
5722013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
573
574 Don't add -mflush-func if it's not supported by compiler.
575
1bba40f5
VS
5762013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
577
578 Move common BIOS/coreboot memory map declarations to
579 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
580
f65e14dc
AB
5812013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
582
583 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
584
14a94bba
VS
5852013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * INSTALL: Document why older clang versions aren't appropriate.
588
8109c5d4
VS
5892013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * INSTALL: Document about clang for mips.
592
a92b5cb8
VS
5932013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
596 clang.
597
4a23e2fe
VS
5982013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
599
600 Add *-xen to the list of grub-install-common platforms.
601
a3ba7410
VS
6022013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
605 3 last commits.
606
e1c22419
VS
6072013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
610
189090ce
VS
6112013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
614 with -mcmodel=large.
615
1a5b7b40
VS
6162013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
619 range-checking for 32-bit quantities.
620
9cf12b20
VS
6212013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * configure.ac: Compile with -fPIC when compiling with clang on
624 mips.
625
63a45330
VS
6262013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
629 when compiling with clang.
630
4a0aaad0
VS
6312013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
632
633 clang emits calls to abort () under some unknown conditions.
634 Export abort () when compiling with clang.
635
095bb1bf
VS
6362013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * docs/grub-dev.texi: Document stack and heap sizes.
639
3937bd96
VS
6402013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * include/grub/i386/pc/memory.h: Decrease
643 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
644 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
645 The binary doesn't change (checked). It's more to better reflect actual
646 usage.
647
ddb3efc9
VS
6482013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
651 at compile time that enough of scratch size is available.
652
4e42521d
VS
6532013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
656 Previously we misaligned stack by 8 in startup.S and compensated
657 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
658 right behaviour is to align stack in startup.S and keep it aligned
659 in callwrap.S. startup.S part was committed few commits before. This
660 takes care of callwrap.S.
661 Reported by: Gary Lin.
662
054efe54
VS
6632013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
666 .data and .bss. May happen if compiler and assembly use different
667 alignment.
668
a0e1befb
VS
6692013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
670
671 On MIPS handle got16 relocations to local symbols in an ABI-compliant
672 way.
673
c36c73f6
VS
6742013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
675
676 Add support for a new magic symbol _gp_disp on mips to handle PIC
677 binaries.
678
6f4a19f5
VS
6792013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
680
681 Use $t9 for indirect calls from asm to C as PIC ABI requires.
682
0d8f04cd
VS
6832013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
684
685 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
686 when rest of GRUB is compiled for hisher stepping. Instead use
687 .set mips3/.set mips1 around cache and sync opcodes.
688
49060520
VS
6892013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
690
691 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
692 do essentially the same thing, do it in similar way.
693
c6a823e2
CW
6942013-11-21 Colin Watson <cjwatson@ubuntu.com>
695
696 * util/grub-mkrescue.c (main): If a source directory is not
697 specified, read platform-specific files from subdirectories of
698 pkglibdir, not pkgdatadir.
699
b7f9aedf
CW
7002013-11-21 Colin Watson <cjwatson@ubuntu.com>
701
702 * grub-core/normal/progress.c: Remove unused file.
703
7dd0a303
VS
7042013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
707 array.
708
ca120e31
VS
7092013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
712 than grub.cfg.
713
48eb35cd
VS
7142013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * coreboot.cfg: Add missing file.
717
7f20dbbc
VS
7182013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * Makefile.am: Allow STRIP to be empty when creating windowszip.
721
55e706c9
AK
7222013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
723
724 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
725 selectively skipping systems.
726
4e7d433d
CW
7272013-11-19 Colin Watson <cjwatson@ubuntu.com>
728
729 * Makefile.util.def (grub-mkimage): Add
730 grub-core/osdep/aros/config.c to extra_dist.
731 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
732 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
733 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
734 grub-core/gnulib-no-gets.diff.
735
7d44ff7d
VS
7362013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
737
738 Add automated filesystem checking based on scripts I've used now for
739 quite some time locally. Most of the test require root so they are
740 skipped when run without necessarry privelegies.
741
a8c3e5e3
CW
7422013-11-19 Colin Watson <cjwatson@ubuntu.com>
743
744 * util/grub-install.c (main): Adjust info messages to match
745 installed paths of grub-bios-setup and grub-sparc64-setup.
746
4402db3e
CW
7472013-11-19 Colin Watson <cjwatson@ubuntu.com>
748
749 * util/grub-install-common.c (copy_locales): Consistently use
750 grub_util_get_localedir () rather than LOCALEDIR.
751 (grub_install_copy_files): Likewise.
752
7960d3e1
JT
7532013-11-19 Josh Triplett <josh@joshtriplett.org>
754
755 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
756 16-byte boundary, as required by the x86-64 ABI, before calling
757 grub_main. In some cases, GCC emits code that assumes this
758 alignment, which crashes if not aligned. The EFI firmware is also
759 entitled to assume that stack alignment without checking.
760
d53f4900
JT
7612013-11-18 Josh Triplett <josh@joshtriplett.org>
762
763 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
764 4k page boundaries as expected by firmware rather than 1k
765 boundaries.
766 (grub_mmap_malign_and_register): Likewise.
767
bb2b275b
VS
7682013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
771 fragmentation 512M is enough.
772
45bf8b3a
VS
7732013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
776 pointer to 32K. This is the size of cache element which is the most
777 common allocation >1K. This way the pointer is always around blocks
778 of 32K and so we keep performance while decreasing fragmentation.
779
39ff43c5
VS
7802013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
783 current memory when allocating large chunks. This significantly
784 decreases memory fragmentation.
785
60870be8
CW
7862013-11-18 Colin Watson <cjwatson@ubuntu.com>
787
788 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
789 but for symmetry).
790 * tests/lzocompress_test.in: Skip if lzop is not installed.
791 * tests/xzcompress_test.in: Skip if xz is not installed.
792
a1f00cc5
CW
7932013-11-18 Colin Watson <cjwatson@ubuntu.com>
794
795 * util/grub-mkrescue.c (main): Fix typo.
796
74e632fe
VS
7972013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
800 clock frequency to 200 MHz,
801
efb8de49
VS
8022013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * tests/util/grub-shell.in: Increase console size to 1024x1024.
805
b7526e78
VS
8062013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * Makefile.am (default_payload.elf): Add pata to loaded modules.
809 Load config file from (cbfsdisk)/etc/grub.cfg.
810
b40ce651
VS
8112013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * util/grub-install-common.c (grub_install_copy_files): Fix module
814 destination directory.
815
1e8e2e78
CW
8162013-11-18 Colin Watson <cjwatson@ubuntu.com>
817
818 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
819 files have not been built.
820
3bf4088b
CW
8212013-11-18 Colin Watson <cjwatson@ubuntu.com>
822
823 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
824 Handle errors from mkstemp.
825 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
826
35c2851c
VS
8272013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
830 on primary master on pseries.
831
ea7c1a7d
VS
8322013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
835 already loaded. This saves memory needed for tests,
836
96adefdb
VS
8372013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
840 work again.
841
5e3cb8a7
VS
8422013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
845 work again.
846
256ee7ac
VS
8472013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
850 master since with some combinations of qemu and firmware only primary
851 IDE channel is available.
852
f8b4c3b6
VS
8532013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
856 low-memory platforms where we don't have enough memory for them.
857 * grub-core/tests/videotest_checksum.c: Likewise.
858
4bf70320
VS
8592013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
862 already loaded. This saves memory needed for tests,
863
a284320e
VS
8642013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
865
866 Fix handling of install lists.
867
2df8f43d
VS
8682013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
871
6f1bc8bc
VS
8722013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
873
874 On i386-ieee1275 we run in paged mode. So we need to explicitly map
875 the devices before accessing them.
876
04f39f6d
VS
8772013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
880 as file argument.
881
35d4761c
VS
8822013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
885
33d02a42
VS
8862013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
889 (grub_file_close): Free file->name.
890
7bbb60cf
VS
8912013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/commands/verify.c (free_pk): Plug memory leak.
894 (grub_load_public_key): Likewise.
895 (grub_verify_signature_real): Likewise.
896 (grub_cmd_verify_signature): Likewise.
897
da93d675
VS
8982013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
901 memory leak.
902
59c943ec
VS
9032013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
906 (grub_longjmp): Restore r31.
907 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
908
4336b5d8
VS
9092013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
912 modules to be in line with make_image_abs.
913
44ce3a93
VS
9142013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
917
918 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
919
7d400406
IC
9202013-11-17 Ian Campbell <ijc@hellion.org.uk>
921
922 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
923
77dae919
VS
9242013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
927 to leave some memory to firmware.
928
0ab8e025
VS
9292013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
932 of loading gfxterm as gfxterm is embed in kernel on some platforms.
933 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
934 Load gfxmenu.
935
b80c2d6d
VS
9362013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
939 now needs full arguments.
940
6aa6077b
VS
9412013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * util/grub-mkrescue.c (main): Add trailing \n in
944 .disk_label.contentDetails to be in line with previous shell script.
945
66c00cb1
VS
9462013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
949
3a129dba
VS
9502013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * util/grub-install-common.c (grub_install_parse): Recognize
953 --compress=none like shell script did.
954
8df6eff6
VS
9552013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * include/grub/misc.h: Replace check for __sparc64__ with one for
958 __sparc__ as __sparc64__ isn't actually defined.
959
889ebe92
VS
9602013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
963 counterpart of fixing the naming of escc ports.
964
d4d55b29
VS
9652013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * util/grub-install-common.c (platforms): Fix the order of entries and
968 remove useless field val.
969
55e2c84f
VS
9702013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * util/grub-install.c: Add new option --no-bootsector to skip
973 installing of bootsector. Accept --grub-setup=/bin/true as
974 backwards-compatible synonym.
975
cd46aa6c
VS
9762013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
977
978 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
979 order of qsort arguments (number of elements vs. element size).
980
9812013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
982
983 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
984 the function of these files exceeds what can be sanely handled in shell
985 in posix-comaptible way. Also writing it in C extends the functionality
986 to non-UNIX-like OS and minimal environments.
987
9ef81064
VS
9882013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
991 compiling to thumb2.
992 * grub-core/kern/arm/cache_armv7.S: Likewise.
993 * grub-core/lib/arm/setjmp.S: Likewise.
994
11a77932
LL
9952013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
996
997 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
998 in grub_uboot_syscall
999
080603f0
VS
10002013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 Decrease stack usage in lexer.
1003
1004 We have only 92K of stack and using over 4K per frame is wasteful
1005
1006 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
1007 as macros so that compiler would remove useless structure on stack.
1008 Better solution would be to fix flex not to put this structure on
1009 the stack but flex is external program.
1010
4f84ae0e
VS
10112013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 Decrease stack usage in signature verification.
1014
1015 We have only 92K of stack and using over 4K per frame is wasteful
1016
1017 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
1018 rather than stack.
1019 (grub_verify_signature_real): Likewise.
1020
e6a6182d
VS
10212013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 Decrease stack usage in mdraid 0.9x.
1024
1025 We have only 92K of stack and using over 4K per frame is wasteful
1026
1027 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
1028 rather than stack.
1029
1a454efe
VS
10302013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 Decrease stack usage in BtrFS.
1033
1034 We have only 92K of stack and using over 4K per frame is wasteful
1035
1036 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
1037 rather than stack.
1038
7b5d51d8
VS
10392013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 Decrease stack usage in JFS.
1042
1043 We have only 92K of stack and using over 4K per frame is wasteful
1044
1045 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
1046 stack. Note: this function is recursive.
1047 (grub_jfs_read_inode): Read only part we care about.
1048
593865b9
LL
10492013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1050
1051 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
1052 handling
7b5d51d8 1053
31c0cd43
AB
10542013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1055
1056 * configure.ac: Restore -nostdlib for libgcc symbols tests.
1057
c2fdb331
AB
10582013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1059
1060 * docs/grub.texi (Environment): Document cmdpath.
1061
9e18dfe2
AB
10622013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1063
1064 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1065 Remove "unused" attribute from arguments, they are used.
1066
59ba9d14
CW
10672013-11-15 Colin Watson <cjwatson@debian.org>
1068
1069 * .gitignore: Only ignore grub-mk* at the top level.
1070
23012db9
CW
10712013-11-15 Colin Watson <cjwatson@ubuntu.com>
1072
1073 * util/grub-reboot.in (usage): Fix a typo.
1074
6fcec439
VS
10752013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 Replace libgcc version of ctz with our own.
1078
1079 On upcoming arm64 port libgcc ctz* are not usable in standalone
1080 environment. Since we need ctz* for this case and implementation is
1081 in C we may as well use it on all concerned platforms.
1082
a9f25a08
VS
10832013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * configure.ac: Probe for linking format rather than guessing it based
1086 on target_os.
1087
c7995256
VS
10882013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
1091 "1" prior to handoff.
1092
1093 Reported by: M A Young.
1094
e1aa5b66
VS
10952013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
1098 \0 to all files.
1099
1100 Reported by: M A Young.
1101
da5ed5cf
VS
11022013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
1105 compilation on NetBSD.
1106
5757a93e
VS
11072013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * acinclude.m4: Don't add -P on initial nm test.
1110
1111 Note: even though this patch postdates Andrey's it bears 14 Nov as
1112 date due to timezone difference.
1113
a5986276
AB
11142013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
1115
1116 * grub-core/Makefile.core.def (signature_test): Add missing
1117 tests/signatures.h.
1118
0de172a0
CW
11192013-11-14 Colin Watson <cjwatson@ubuntu.com>
1120
1121 * util/grub-install_header: Set localedir here, since this file is
1122 where it's used.
1123 * util/grub-install.in: Remove setting of localedir.
1124 * util/grub-mkrescue.in: Likewise.
1125
da45f43c
VS
11262013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
1129
20aea949
VS
11302013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * configure.ac: Move nm checks to the end.
1133 Call grub_PROG_NM_WORKS.
1134 * acinclude.m4: New check grub_PROG_NM_WORKS.
1135 Use $TARGET_CFLAGS -c when compiling test binary.
1136
1326b9ae
CW
11372013-11-14 Colin Watson <cjwatson@ubuntu.com>
1138
1139 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
1140 unused variables.
1141
1fe26ab4
MG
11422013-11-14 Matthew Garrett <mjg@redhat.com>
1143
1144 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
1145 cmdpath to firmware directory.
1146
83e9c273
VS
11472013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
1150 at the start of second iteration.
1151
ec525c18
VS
11522013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
1155
93fcc7ad
VS
11562013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * Makefile.am (default_payload.elf): New target for easier coreboot
1159 build.
1160
57ffe934
VS
11612013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
1164 clang (not necessarry with -no-integrated-as).
1165 * include/grub/symbol.h [__arm__]: Likewise.
1166
2312f06c
VS
11672013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * configure.ac: Use -no-integrated-as on arm with clang.
1170 * INSTALL: Mention ARM compilation with clang.
1171
2416415c
VS
11722013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
1175 -mthumb-interwork.
1176
5da55172
CW
11772013-11-14 Colin Watson <cjwatson@ubuntu.com>
1178
1179 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
1180 code for indirect block handling.
1181
1182 Saves 185 bytes on compressed image.
1183
da770328
PFS
11842013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1185
1186 Fix make clean.
1187
1188 * Makefile.am: Remove build-grub-* in make clean.
1189
f02e6b56
PFS
11902013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1191
1192 New files to gitignore.
1193
1194 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
1195 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
1196
035a26c1
LL
11972013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1198
1199 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
1200
bc8a6137
LL
12012013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1202
1203 * .gitignore: fix rules for .dep* and add *.a post git migration
1204
6fe506b0
CW
12052013-11-13 Colin Watson <cjwatson@ubuntu.com>
1206
1207 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
1208 to match INSTALL.
1209
81a2e438
CW
12102013-11-13 Colin Watson <cjwatson@ubuntu.com>
1211
1212 * grub-core/kern/misc.c: Don't redirect divisions in the
1213 GRUB_UTIL case.
1214 * include/grub/misc.h: Likewise.
1215
9b45c073
CW
12162013-11-13 Colin Watson <cjwatson@ubuntu.com>
1217
1218 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
1219 systems that require checking the return value of write.
1220
11b2a9b7
CW
12212013-11-13 Colin Watson <cjwatson@ubuntu.com>
1222
1223 * util/grub-install.in (efi_quiet): Fix inverted logic: make
1224 efibootmgr quiet when --debug is not used, rather than when it is.
1225
d743d22d
CW
12262013-11-13 Colin Watson <cjwatson@ubuntu.com>
1227
1228 * gentpl.py (define_macro_for_platform_dependencies): Remove
1229 first (and thus unused) of two definitions for this function.
1230 (platform_dependencies): Likewise.
1231
11da14b5
CW
12322013-11-13 Colin Watson <cjwatson@ubuntu.com>
1233
1234 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
1235 functions, we only need to check this for the target, not the host.
1236 * configure.ac (grub_apple_cc): Likewise.
1237
2bdd0719
VS
12382013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
1241 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
1242 asm to stay in arm even if surrounding is thumb.
1243
5e77d9cf
VS
12442013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
1247 helper functions are needed for thumb.
1248
7d511625
VS
12492013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
1252 level / 3 division explicitly unsigned. Saves few bytes.
1253
81023dbd
VS
12542013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
1257
b2e9294f
VS
12582013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
1261 division.
1262
16a22c38
VS
12632013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
1266 grub_uboot_boot_data to asm part.
1267
c9cd02c9
VS
12682013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
1271 literal load.
1272 (grub_uboot_syscall): Save/restore r9 and align stack.
1273
81498615
VS
12742013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
1277
ea57de18
VS
12782013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
1281 occurencies with END.
1282
d0d1e3da
CW
12832013-11-13 Colin Watson <cjwatson@ubuntu.com>
1284
1285 * util/grub-editenv.c (help_filter, argp): Document how to delete
1286 the whole environment block.
1287 Reported by Dan Jacobson. Fixes Debian bug #726265.
1288
3809f016
CW
12892013-11-13 Colin Watson <cjwatson@ubuntu.com>
1290
1291 * docs/grub.texi (Internationalisation, Supported kernels): Fix
1292 sectioning.
1293
46d8a203
JT
12942013-11-13 Josh Triplett <josh@joshtriplett.org>
1295
1296 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
1297 increment/decrement.
1298
513eeb61
VS
12992013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
1302 compiling with clang.
1303
bc379c1a
VS
13042013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
1307 ".".
1308
13092013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 1310
16057d6b
VS
1311 Redirect all divisions to grub_divmod64.
1312
f649a6a8
VS
13132013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
1316
ef28ee8b
VS
13172013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 Add missing includes of loader.h.
1320
300f48c5
VS
13212013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * configure.ac: Allow disabling themes.
1324
2d357558
LS
13252013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
1326
1327 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
1328
0c62a5b2
VS
13292013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
1332 until it becomes operational.
1333
b0720b49
VS
13342013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/Makefile.core.def (legacy_password_test): Disable
1337 on platforms where no legacycfg is compiled.
1338 * grub-core/tests/lib/functional_test.c: Tolerate failure to
1339 load legacy_password_test.
1340
d5bab2c0
VS
13412013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1344
3ea0ccb3
VS
13452013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1348
08772054
VS
13492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1352 strict-aliasing warning.
1353 (fsync): Silence cast warning.
1354
1dcb2715
VS
13552013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/commands/verify.c: Remove variable length arrays.
1358 Load gcry_dsa/gcry_rsa automatically.
1359
61c22fdf
VS
13602013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/tests/signature_test.c: New test.
1363
431e57a7
VS
13642013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1367 API.
1368
b521bb81
VS
13692013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1372 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1373
7d06b24e
VS
13742013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1377
3bbeade4
VS
13782013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * grub-core/fs/proc.c: Allow \0 in proc files.
1381
ba82db7a
VS
13822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1385
801564c8
VS
13862013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1389
ac8cac1d
VS
13902013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/fs/ext2.c: Remove variable length arrays.
1393
4b85f122
VS
13942013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1397 length arrays.
1398
c35fcdc0
VS
13992013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1402 * grub-core/disk/cryptodisk.c: Likewise.
1403 * grub-core/disk/geli.c: Likewise.
1404 * grub-core/disk/luks.c: Likewise.
1405
15decd26
VS
14062013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * grub-core/tests/legacy_password_test.c: New test.
1409 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1410
9c6482b8
VS
14112013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1414
41f26e0e
VS
14152013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/tests/pbkdf2_test.c: New test.
1418
2def6616
VS
14192013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1422
9e34a34e
VS
14232013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * grub-core/io/lzopio.c: Remove variable length arrays.
1426
5ccaf904
VS
14272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * include/grub/crypto.h: Add maximums on hash size and cipher block
1430 size.
1431
44a387e0
VS
14322013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1435
a388e255
VS
14362013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * grub-core/tests/xnu_uuid_test.c: New test.
1439
a1ef7718
VS
14402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1443 covers it).
1444
65ddb300
VS
14452013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/commands/hashsum.c: Remove variable length arrays.
1448
31747dd5
VS
14492013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1452 condition.
1453 * tests/grub_func_test.in: Increase memory allocation.
1454
6a74c4df
VS
14552013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1458 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1459 sys/mount.h.
1460
394c3e0a
VS
14612013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1464 (grub_util_get_fd_size_os): ...this.
1465 (grub_hostdisk_flush_initial_buffer): New empty function.
1466
60d31116
VS
14672013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1470 without --defined-only.
1471
8445b011
VS
14722013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
1475 rip-relative addressing in prologue.
1476
8506a641
VS
14772013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
1480 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
1481
66acd9d6
VS
14822013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1485 Add missing semicolon.
1486
348d0535
VS
14872013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1490
0d2d30bb
VS
14912013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * configure.ac: Check for lzma.h for enabling liblzma and allow
1494 manual disabling.
1495
631187be
VS
14962013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 Add missing includes of loader.h.
1499
e756ec82
FZ
15002013-11-11 Fam Zheng <famcool@gmail.com>
1501
1502 * util/grub.d/30_os-prober.in: Add minix entry.
1503
87d62d7d
VS
15042013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
1507 right buffer for temporary load.
1508
5460cfeb
VS
15092013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
1512
89977306
VS
15132013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1516 payload.
1517
3617c59b
VS
15182013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1521 not Types.h.
1522 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1523 environment.
1524 (LzmaDec_InitDicAndState): Make static.
1525
881c6a10
VS
15262013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1529
2024ade2
VS
15302013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1533
1534 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1535
674ad4f6
VS
15362013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * docs/grub-dev.texi: Replace bzr references with git ones.
1539
5b99970e
AB
15402013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1541
1542 * docs/grub.texi (Simple configuration): Remove reference to
1543 grub-reboot from saved default entry description - grub-default
1544 does not use it anymore.
1545
3c2304d5
VS
15462013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1549 compiled with.
1550
80cfd940
AB
15512013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1552
1553 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1554
33690255
VS
15552013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 Fix grub_machine_fini bitrot.
1558
1559 Reported by: Glenn Washburn.
1560
c61471fc
VS
15612013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1564
54da019f
VS
15652013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1568 -DELF.
1569 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1570 instead of ELF*.
1571
15722013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
1573
1574 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1575 Add -march=core2 when testing compile of efiemu64.
1576
1577 Thanks Andrey Borzenkov for spotting this.
1578
9612ebc0
VS
15792013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1582 XEN PV environment and load kernels.
1583
1a46a3a4
VS
15842013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1587 * grub-core/loader/multiboot_mbi2.c: Likewise.
1588
2df12551
VS
15892013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1592 handling.
1593
3c980381
VS
15942013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1597
1598 Tested by: Denis 'GNUtoo' Carikli.
1599
800f63d3
VS
16002013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1603
9f8acdaa
VS
16042013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1605
5620eb53
VS
1606 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1607 Use to get rounded angle rather than truncated.
1608
16092013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
1612 RTS/CTS flow control.
1613
2dc1eb6c
VS
16142013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1617 divisions.
1618
b9563c94
VS
16192013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1622 Use grub_fatal rather than divide by zero.
1623 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1624
d6d8e9a9
VS
16252013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1628 truncate.
1629 (grub_fixed_fsf_divide): Likewise.
1630
d06de6c8
VS
16312013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1634 division by-zero and senseless negative divisions.
1635
6af7d49b
VS
16362013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1639 division by-zero and senseless negative divisions.
1640 (circprog_set_property): Don't accept negative num_ticks.
1641
bcfa6d72
VS
16422013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1645 division by-zero and senseless negative divisions.
1646
dd7f792c
VS
16472013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * configure.ac: Use elf_*_fbsd on kfreebsd.
1650
d061fda7
VS
16512013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * grub-core/tests/div_test.c: New test.
1654
4db22500
VT
16552013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1656
1657 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1658 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1659 * grub-core/gfxmenu/view.c: Likewise.
1660 * grub-core/video/fb/video_fb.c: Introduce new functions:
1661 grub_video_set_area_status, grub_video_get_area_status,
1662 grub_video_set_region, grub_video_get_region.
1663 * grub-core/video/bochs.c: Likewise.
1664 * grub-core/video/capture.c: Likewise.
1665 * grub-core/video/video.c: Likewise.
1666 * grub-core/video/cirrus.c: Likewise.
1667 * grub-core/video/efi_gop.c: Likewise.
1668 * grub-core/video/efi_uga.c: Likewise.
1669 * grub-core/video/emu/sdl.c: Likewise.
1670 * grub-core/video/radeon_fuloong2e.c: Likewise.
1671 * grub-core/video/sis315pro.c: Likewise.
1672 * grub-core/video/sm712.c: Likewise.
1673 * grub-core/video/i386/pc/vbe.c: Likewise.
1674 * grub-core/video/i386/pc/vga.c: Likewise.
1675 * grub-core/video/ieee1275.c: Likewise.
1676 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1677 * include/grub/video.h: Likewise.
1678 * include/grub/video_fb.h: Likewise.
1679 * include/grub/fbfill.h: Updated render_target structure.
1680 grub_video_rect_t viewport, region, area
1681 int area_offset_x, area_offset_y, area_enabled
1682 * include/grub/gui.h: New helper function
1683 grub_video_bounds_inside_region.
1684 * docs/grub-dev.texi: Added information about new functions.
1685
c6b755df
VS
16862013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1689 for alignment.
1690
e2a68100
VS
16912013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1694 missing attribute.
1695 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1696
c4f11a2a
VS
16972013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1700 simple division on arm and ia64.
1701
e0a7bffa
VS
17022013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1705 link with libgcc.
1706
38b864ea
VS
17072013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1710
12359faf
VS
17112013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1714 prefix symbol, not @.
1715
9fdc64a9
VS
17162013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * INSTALL: Add note about older gcc and clang.
1719
665c575b
VS
17202013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1723
47dcf7b1
VS
17242013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1727 NULL pointer dereference.
1728
d59849b2
VS
17292013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1732 clang.
1733
7a3f4a18
VS
17342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1737 warnings.
1738
7f084087
VS
17392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1742 function.
1743 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1744 * grub-core/disk/geli.c (ascii2hex): Likewise.
1745
d5524ca8
VS
17462013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * configure.ac: Run linker tests without -Werror.
1749 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1750 Change all occurences of -static-libgcc resp -lgcc to
1751 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1752
390cd7ca
VS
17532013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1756
60375a88
VS
17572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 Allow compiling with clang (not really supported though).
1760
1761 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1762 unconditionally.
1763 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1764 Add -mrtd -mregparm=3 on i386 when not using clang.
1765 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1766
dd07e0c4
VS
17672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1770 bindings.
1771 * grub-core/lib/reed_solomon.c: Likewise.
1772 * include/grub/i386/gdb.h: Likewise.
1773 * include/grub/i386/pc/int.h: Likewise.
1774 * include/grub/i386/pc/pxe.h: Likewise.
1775 * include/grub/ieee1275/ieee1275.h: Likewise.
1776
9d3ae8ec
VS
17772013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 Import libgcrypt 1.5.3.
1780
c12936c5
VS
17812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * configure.ac: Don't add -Wcast-align on x86.
1784
cdc17f60
VS
17852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * configure.ac: Add -freg-struct-return on all platforms that
1788 support it.
1789
b35ec299
VS
17902013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * acinclude.m4: Use -Werror on parameter tests.
1793 * configure.ac: Likewise.
1794
05f3a0d7
VS
17952013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1798
c966a489
VS
17992013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * configure.ac: Check that -malign-loops works rather than assuming that
1802 either -falign-loops or -malign-loops work.
1803
bb0c57ec
VS
18042013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1807
24f4e57c
VS
18082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * configure.ac: Prevent cflags leaking to subsequent tests by always
1811 resetting cflags to target_cflags in target tests.
1812
ac319fbc
VS
18132013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1816 function.
1817
4bfe934c
VS
18182013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1821
40a5bfde
VS
18222013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1825
a67c755e
VS
18262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/normal/cmdline.c (grub_cmdline_get):
1829 Remove nested functions.
1830
87a04a2d
VS
18312013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * tests/test_sha512sum.in: Make it work on emu.
1834
c03995d2
VS
18352013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1838 functions.
1839 (grub_bidi_line_logical_to_visual): Likewise.
1840
ec0ebb3f
VS
18412013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 Remove vestiges of -Wunsafe-loop-optimisations.
1844
1845 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1846 -Wno-unsafe-loop-optimisations.
1847 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1848 pragma.
1849 * grub-core/io/gzio.c: Likewise.
1850 * grub-core/script/parser.y: Likewise.
1851 * grub-core/script/yylex.l: Likewise.
1852 * util/grub-mkfont.c: Likewise.
1853
6ab537e3
VS
18542013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * util/grub-mkfont.c (process_cursive): Remove nested function.
1857
e6c368d4
VS
18582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1861 (grub_boot_time): Likewise.
1862
4f1cfd22
VS
18632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * include/grub/symbol.h (FUNCTION): Use @function rather than
1866 "function".
1867 (VARIABLE): Likewise.
1868
6d5a4cee
VS
18692013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1872
f06c2172
VS
18732013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1876 (parse_dhcp_vendor): Likewise.
1877
7cb24eb5
VS
18782013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1881
f30c692c
VS
18822013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1885 Define after defining type and not before.
1886
8b66bb5d
VS
18872013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1890 type.
1891 (grub_gcm_decrypt): Likewise.
1892 (algo_decrypt): Likewise.
1893 (grub_zfs_decrypt_real): Transform error type.
1894
5d17fd0f
VS
18952013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1898
ac35a0f7
VS
18992013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1902 (grub_usbms_cbi_reset): Likewise.
1903 (grub_usbms_bo_reset): Likewise.
1904 (grub_usbms_reset): Likewise.
1905 (grub_usbms_attach): Likewise.
1906 (grub_usbms_transfer_cbi): Likewise.
1907
3ee08697
VS
19082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1911 "checksum = checksum;".
1912
70bb6c85
VS
19132013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1916 entry_type.
1917
c7f34744
VS
19182013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1921 BIOS disk check.
1922
3f63b4d8
VS
19232013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1926 type.
1927 (grub_ehci_fini_hw): Likewise.
1928 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1929
dac6ce73
VS
19302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1933 return grub_usb_err_t for cosistency. All users updated.
1934
5701750c
VS
19352013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1938 assigning to itself.
1939
9e236169
GLD
19402013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
19412013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1942
1943 Issue separate DNS queries for ipv4 and ipv6
1944
1945 Adding multiple questions on a single DNS query is not supportted by
1946 most DNS servers. This patch issues two separate DNS queries
1947 sequentially for ipv4 and then for ipv6.
1948
1949 Fixes: https://savannah.gnu.org/bugs/?39710
1950
1951 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1952 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1953 * (grub_net_dns_lookup): Now using separated dns packages.
1954 * (grub_cmd_nslookup): Add error condition.
1955 * (grub_cmd_list_dns): Print DNS option.
1956 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1957 --prefer-ipv4, and --prefer-ipv6.
1958 * include/grub/net.h (grub_dns_option_t): New enum.
1959 * (grub_net_network_level_address): option added.
1960
339eacce
VT
19612013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1962
1963 * grub-core/video/fb/video_fb.c: Merge two blit functions
1964 into one.
1965
810f991b
VS
19662013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * grub-core/term/terminfo.c: Add sequences for home and end.
1969
386571a2
VS
19702013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1973 graphics console.
1974
3fe63754
VS
19752013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1978 add mode 0x12.
1979
76681e71
VS
19802013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1983 e-mail by Per Öberg.
1984
46522fb7
VS
19852013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1988 name.
1989
e7d09ac4
AB
19902013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1991
1992 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1993 emu platforms.
1994 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1995
67508925
VS
19962013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * docs/grub.texi: Document usage of menuentry id.
1999
0c62124e
VS
20002013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
2003
9b5d4eed
PL
20042013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
2005
2006 * grub-core/commands/i386/nthibr.c: New command.
2007
79054c1d
VS
20082013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
2011
44d47bbe
VS
20122013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
2015 coordinate.
2016
323de05b
VS
20172013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 Support GRUB_DISABLE_SUBMENU config.
2020
2021 Inspired by patch from Prarit Bhargava.
2022
5a01722e
VS
20232013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * docs/grub.texi: Mention RSA support.
2026
1106c3f0
VS
20272013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * grub-core/commands/verify.c: Add RSA support.
2030
a1dcc2cb
VS
20312013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
2034 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
2035 device is known to be ATAPI.
2036
ee7fb780
MF
20372013-11-03 Mike Frysinger <vapier>
2038
2039 * configure.ac: Don't add target-prefix.
2040
5ade4a42
VS
20412013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
2044 variables.
2045
6cd66043
VS
20462013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
2049 if language is English.
2050
090d7c81
VS
20512013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
2054
dd614590
VS
20552013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * configure.ac: Don't add -m32/-m64 on emu.
2058
a8686589 20592013-11-02 neil
2060
2061 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
2062 broken linux headers.
2063
fb9f12a0
VS
20642013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
2067
e25f8e1f
VS
20682013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
2071 Reed-Solomon recovery if more than half of redundancy info is 0.
2072
4685200f
VS
20732013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * util/grub-mount.c: Handle symlinks to directories.
2076
1397f0b5
VS
20772013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
2080 find_file recursively for symlink.
2081
8b3e6eb6
VS
20822013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * tests/util/grub-shell.in: Copy themes.
2085
a0c9d5c6
VS
20862013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
2089
5cf9459c
VS
20902013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * configure.ac: Use 0x8000 for address instead of 8000.
2093
e7b66a28
VS
20942013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
2097 signature.
2098
203f53fb
VS
20992013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
2102 variable.
2103
02663ee9
VS
21042013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
2107
f169f65e
VS
21082013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
2111 file_progress_read_hook.
2112 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
2113
2855a0fc
VS
21142013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
2117 and double.
2118
bf0f3a8c
VS
21192013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
2122
cb72aa18
VS
21232013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 Rewrite blocklist functions in order to get progress when
2126 reading large extents and decrease amount of blocklist hook calls.
2127
896f9135
VS
21282013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
2131 of SI suffixes.
2132
89295a06
VS
21332013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 Support --base-clock for serial command to handle weird cards with
2136 non-standard base clock.
2137
eb03ede0
VS
21382013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
2141 strncpy.
2142 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
2143 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
2144 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
2145 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
2146 + strcpy rather than strncpy.
2147
8fbe5c7d
VS
21482013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
2151 (check_pool_label): Likewise. Fixes overflow.
2152 (nvlist_find_value): Fix comparison.
2153
e54b8f53
VS
21542013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * include/grub/misc.h (grub_strcat): Removed. All users changed to
2157 more appropriate functions.
2158
fa9b3dca
VS
21592013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
2162 realloc.
2163
9a021c55
VS
21642013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * util/grub-mkrescue.in: Do not use UUID search on EFI.
2167
80e8b13a
VS
21682013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
2171 on core size.
2172
b61599ac
VS
21732013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
2176
a602dc54
VS
21772013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
2180 (initialize_tables): reset tl and td to NULL after freeing.
2181
93c12075
VS
21822013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
2185
1ca4b75e
VS
21862013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
2189 of supported tags.
2190
329550c4
VS
21912013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
2194
00bfa988
VS
21952013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * grub-core/loader/multiboot.c: Add support for multiboot kernels
2198 quirks.
2199
81afc5cc
VS
22002013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
2203 a page in protected space.
2204
cb3c4a47
VS
22052013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
2208 allocate space for zero-sized modules.
2209
954f7bf5
VS
22102013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
2213
526d3d25
FL
22142013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
2215
2216 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
2217
74124c34
VS
22182013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
2221 safeguards. Fixes a crash with i386/pc/console.c.
2222
5177391e
VS
22232013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
2226 and grub_hostfs_init.
2227
64db14b0
VS
22282013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
2231 windows method on other platforms without good stat as well.
2232
effe2036
VS
22332013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
2236
82591fa6 22372013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 2238
82591fa6
VS
2239 Make / in btrfs refer to real root, not the default volume.
2240 Modify mkrelpath to work even if device is mounted with subvolid option.
2241
22422013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
2243
2244 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
2245 extra_dist.
2246 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
2247 extra_dist.
2248
30fd7198
VS
22492013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
2252 fails.
2253
8d179dae
BC
22542013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
2255
2256 * docs/autoiso.cfg: New file.
2257
3bc9c8cf
VS
22582013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
2261 COND_GRUB_PE2ELF conditions.
2262
8b46b0ea
VS
22632013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
2266 "vnd", "rd" and "fd" disks.
2267
442b86de
VS
22682013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 Move grub_disk_write out of kernel into disk.mod.
2271
04dea7e6
VS
22722013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
2275 handling.
2276
22772013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
2278
2279 * grub-core/kern/misc.c (grub_abort): Make static
2280
04dea7e6 22812013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
2282
2283 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
2284 transform invalid unicode codepoints.
2285
04dea7e6 22862013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
2287
2288 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2289 \0 checking.
2290
03dcac7f
VS
22912013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
2294
c81acb7f
VS
22952013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 Consolidate cpuid code.
2298
c1bee646
VS
22992013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 Move cpuid code to cpuid.h and TSC code to tsc.c.
2302
f37bf9c7
GS
23032013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2304
2305 * util/grub.d/00_header.in: Don't use LANG if it's not set.
2306
4021132b
GS
23072013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2308
2309 * util/grub-mkconfig.in: Replace $0 with $self.
2310 * util/grub-reboot.in: Likewise.
2311 * util/grub-set-default.in: Likewise.
2312
3ace8d75
BC
23132013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2314
2315 * docs/osdetect.cfg: New file.
2316
1e6ad6a6
BC
23172013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2318
2319 * tests/util/grub-shell.in: Add new --debug option.
2320
188929eb
BC
23212013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2322
2323 * tests/test_unset.in: New test.
2324
7994a09a
BC
23252013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2326
2327 * tests/test_sha512sum.in: New test.
2328
2a8a7585
VS
23292013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
2332 * include/grub/misc.h: Remove strncat.
2333 * grub-core/lib/posix_wrap/string.h: Likewise.
2334
cf8d6bbd
VS
23352013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
2338 Try to handle more than 0xFFFF packets.
2339 Reported by: Bernhard Übelacker <bernhardu>.
2340 He also spotted few overflows in first version of this patch.
2341
6d1fc99a
VS
23422013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * tests/date_unit_test.c: New test.
2345
10bafa1c
VS
23462013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2349 of first three years after start of validity of unixtime.
2350
b1c6d037
VS
23512013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2354 division as the one making more sense.
2355 (update_screen): Likewise.
2356 (complete): Likewise.
2357
5f4028d4
VS
23582013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2361
a2856736
VS
23622013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 Make char and string width grub_size_t rather than grub_ssize_t.
2365
0a7e52b2
VS
23662013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2369 unsigned.
2370 (grub_history_replace): Likewise.
2371
42829573
VS
23722013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2375 appropriate.
2376
3523b8d8
VS
23772013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2380 appropriate.
2381
d43c6489
VS
23822013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2385 Use unsigned divisions rather than signed variants.
2386
f690f8b0
VS
23872013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2390 unsigned arithmetics.
2391 Add missing break.
2392
74ff2c05
VS
23932013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2396
fb56391e
VS
23972013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2400 rather than signed one.
2401 (recovery): Likewise.
2402
40f29060
VS
24032013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2406
c64577a5
VS
24072013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2410 than signed.
2411
c16535a8
JM
24122013-10-25 Jon McCune <jonmccune@google.com>
2413
2414 * docs/grub.texi: Cleanup security documentation around signatures.
2415
6673d8e7
VS
24162013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2419
a105d375
VS
24202013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2423 than int.
2424
af81ed88
VS
24252013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2428 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2429 functions when compiling for kernel.
2430
ea899a57
VS
24312013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2434 unsigned long long when using %llu.
2435
c6dc6fa1
VS
24362013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2439 terminal after updating progress.
2440
ad2dc003
VS
24412013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2444 argument. We don't disable Gate A20 in this code.
2445
b46684ae
VS
24462013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2449 Conceptually based on change in branch "vbe-on-coreboot".
2450
f70d5c07
RM
24512013-10-24 Robert Millan <rmh@gnu.org>
2452
2453 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2454 numeric constants with their symbolic equivalent.
2455 Taken from branch "vbe-on-coreboot".
2456
bca274b4
VS
24572013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2460
238f0489
VS
24612013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2464 divmod64 for offset division.
2465
863c590b
PFS
24662013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2467
2468 Rename .bzrignore to .gitignore. Add "*.o" rule.
2469
2470 * .bzrignore: Renamed to...
2471 * .gitignore: ...this.
2472
84a0e969
PFS
24732013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2474
2475 Add new progress module that displays the load progress of files.
2476
2477 * grub-core/lib/progress.c: New file.
2478 * grub-core/Makefile.core.def (progress): New module.
2479 * grub-core/kern/file.c (grub_file_open): File name added.
2480 * (grub_file_read): Progress hook added.
2481 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
2482 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
2483 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2484 * include/grub/file.h (struct grub_file): Add progress module members.
2485 * include/grub/term.h (struct grub_term_output): Likewise.
2486 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2487 Terminal velocity added.
2488 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2489 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2490 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2491 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2492 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2493 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2494 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2495 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2496 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2497 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2498 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2499 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2500
0d711431
VS
25012013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 Verify signatures of signatures unless --skip-sig is specified.
2504
f8401f76
VS
25052013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2508 \0 checking.
2509
2510 Saves 70 bytes on compressed image.
2511
ac1feb61
VS
25122013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2515 check.
2516
2517 Saves 10 bytes on compressed image.
2518
00f72e89
VS
25192013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * grub-core/kern/misc.c (grub_isprint): Move to ...
2522 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2523
2524 Saves 20 bytes on compressed image due to remving exporting.
2525
067e6ae7
VS
25262013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2529
2530 Saves 5 bytes on compressed image.
2531
64a6c791
VS
25322013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2535 function get_utf8.
2536
2537 Saves 379 bytes on compressed image.
2538
979d9f52
VS
25392013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2542
1437da54
VS
25432013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2546
2547 Saves 40 bytes on compressed image.
2548
d9ee2269
VS
25492013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2552 mask rather than 64-bit type.
2553
2554 Saves 20 bytes on compressed image.
2555
63efa602
VS
25562013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2559 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2560
47601ffe
VS
2561 Saves 273 bytes on compressed image.
2562
2cc679ad
VS
25632013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2566 variable length arrays.
2567
2568 Saves 50 bytes on compressed image.
2569
2e4659b8
VS
25702013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2573
2a40badf
VS
25742013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/fs/ufs.c: Remove variable length arrays.
2577
1ba6b9b9
VS
25782013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2581
f3e39341
VS
25822013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/fs/zfs.c: Remove variable length arrays.
2585 Reduces zfs.mod by 160 bytes (208 compressed).
2586
71523935
VS
25872013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2590
28153eb8
VS
25912013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * grub-core/net/arp.c: Remove variable length arrays.
2594 * grub-core/net/bootp.c: Likewise.
2595 * grub-core/net/dns.c: Likewise.
2596 * grub-core/net/icmp6.c: Likewise.
2597 * grub-core/net/net.c: Likewise.
2598
88ce4cd7
VS
25992013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * grub-core/fs/ntfs.c: Remove variable length arrays.
2602 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2603 compressed).
2604
66123940
VS
26052013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/fs/hfs.c: Remove variable length arrays.
2608 Reduces hfs.mod by 8 bytes (52 compressed).
2609
0927e5bd
VS
26102013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 2613 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
2614 compressed).
2615
9c12ac97
VS
26162013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 2619 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
2620 compressed).
2621
97ec2d71
VS
26222013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 2625 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
2626 compressed).
2627
156e4ea0
VS
26282013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 * grub-core/fs/xfs.c: Remove variable length arrays.
2631 Reduces xfs.mod by 40 bytes (43 compressed).
2632
3b502c29
VS
26332013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/fs/fshelp.c: Remove variable length arrays.
2636 Reduces fshelp.mod by 116 bytes (23 compressed).
2637
c7037f1d
VS
26382013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/normal/completion.c: Remove variable length arrays.
2641 * grub-core/normal/menu_entry.c: Likewise.
2642
2643 Reduces normal.mod by 496 bytes.
2644
a07e6ad0
VS
26452013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2648 by 356 bytes (158 compressed).
2649
2359bf88
VS
26502013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2653 by 364 bytes (169 compressed).
2654
d28e1163
VS
26552013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2658 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2659 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2660
e89c2d48
VS
26612013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2664 bitmasks to small structures of size chosen to fit in registers.
2665
7abdac8e
VS
26662013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * conf/Makefile.common: Use -freg-struct-return on i386. This
2669 decreases code size and improves performance.
2670
518864c0
VS
26712013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2674
bbd2b539
VS
26752013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2678 "(null)" string.
2679 Simplify expressions to save around 256 bytes in kernel.img.
2680 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2681
99519c15
VS
26822013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2685 Use GRUB_UTIL_FD_O_* rather than O_*.
2686
20285765
VS
26872013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 Add haiku-specific functions.
2690
887c0bb6
VS
26912013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2694
cd78a56f
VS
26952013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 Move stat () and device mode checking into OS-dependent files as
2698 long as performance doesn't suffer.
2699
a4012f07
VS
27002013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 Split make_system_path_relative_to_its_root into separate file
2703 relpath.c from getroot.c as it's common between unix and haiku
2704 but otherwise haiku doesn't use any functions from unix getroot.c.
2705
31de274d
VS
27062013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2709 New function.
2710 (grub_util_is_special_file): Likewise.
2711
40346de6
VS
27122013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2715 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2716
d3923ab9
VS
27172013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2720 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2721
663f6eb1
VS
27222013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2725 (load_image): Likewise.
2726
44d1c20a
VS
27272013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * util/grub-render-label.c: Move backend part to ...
2730 * util/render-label.c: ... here.
2731
d0a116ee
VS
27322013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2735 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2736
b47fcae6
VS
27372013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2740
0f7c00c1
VS
27412013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2744 CD-ROM in case when it's declared as having subpartitions.
2745
29013cba
VS
27462013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 Don't add -lm on haiku.
2749
2750 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2751 and empty on haiku.
2752 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2753 -lm.
2754
e8559d24
VS
27552013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * configure.ac: Use -melf_*_haiku as target on haiku.
2758
8104063c
VS
27592013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * Makefile.util.def: Add util/setup.c to extra_dist.
2762
fc3182c7
VS
27632013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2766 unknown types through.
2767
f90a3cc0
VS
27682013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2771 (grub_util_check_char_device): Likewise.
2772 * include/grub/emu/getroot.h: Likewise.
2773
1e3e7419
VS
27742013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2777 memset rather than inline static function.
2778
92c88fc8
VS
27792013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2782 not doing embedded decompressor.
2783
3cd910a2
VS
27842013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2787 shadowing.
2788 * grub-core/kern/disk.c: Likewise.
2789 * grub-core/kern/misc.c: Likewise.
2790 * include/grub/parser.h: Likewise.
2791 * include/grub/script_sh.h: Likewise.
2792 * include/grub/zfs/zfs.h: Likewise.
2793
7b3aca00
VS
27942013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2797
97dfe7e4
VS
27982013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2801 defined before trying to use it.
2802
bf919aa9
VS
28032013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2806 warning.
2807
f4ccf29d
VS
28082013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2811 Use __unused__ rather than __used__ on gcc < 3.2.
2812
0d3a6f85
VS
28132013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2816 gcc < 4.0.
2817 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2818
757e3eb7
VS
28192013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2822
fb320faf
VS
28232013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2826 * include/grub/emu/misc.h: Likewise.
2827
ea73acd2
VS
28282013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2831 cur_color.
2832
71237a6f
VT
28332013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2834
2835 * grub-core/tests/checksums.h: Regenerated due to progress bar
2836 get_minimal_size changes.
2837
3d46c22f
BC
28382013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2839
2840 Added `tr' command support.
2841
2842 * grub-core/commands/tr.c: New file.
2843 * grub-core/Makefile.core.def: Build rules for new module.
2844
2845 * tests/grub_cmd_tr.in: New test.
2846 * Makefile.util.def: Build rules for new test.
2847
47e0a61f
VT
28482013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2849
2850 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2851
946fd073
VT
28522013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2853
2854 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2855 * docs/gurb.texi: Likewise.
2856
9c13c576
VT
28572013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2858
2859 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2860 Pixmap highlighted section with east and west slices was displayed
2861 incorrectly due to negative width of the central slice.
2862
ad543f12
VT
28632013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2864
2865 * docs/grub.texi: Graphical options information update.
2866 Removed outdated. Updated current. Inserted missed.
2867
6176a0cd
VS
28682013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * docs/grub.texi: Mention few new platform-specific commands.
2871
9688cae2
VS
28722013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2875 currently used so this doesn't really have any effect.
2876 Reported by: Douglas Ray <dougray>
2877
f7b69a3f
VS
28782013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2881 compilation but prevents gcc from displaying messages in non-Latin
2882 alphabets.
2883 * conf/Makefile.common: Likewise.
2884
ceca6ddf
HY
28852013-10-16 Hiroyuki YAMAMORI
2886
2887 Handle Japanese special keys.
2888 Reported by: Hiroyuki YAMAMORI.
2889 Codes supplied by: Hiroyuki YAMAMORI.
2890
ac48d334
VT
28912013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2892
2893 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2894
b2b71bff
VT
28952013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2896
2897 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2898 * docs/grub.texi: Likewise.
2899
669fc449
VS
29002013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2903 value in case of incomplete read.
2904 (grub_util_fd_write): Likewise.
2905
59381678
VS
29062013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2909
bacfefbb
VS
29102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * util/grub-editenv.c (create_envblk_file): More from here ...
2913 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2914
f7c49570
VS
29152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2918 canonicalize file name before doing the rest.
2919
7b83ca44
VS
29202013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2923 mingw32.
2924
df1e64c9
VS
29252013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 Define grub_util_is_directory/regular/special_file and
2928 use OS-dependent versions rather than to rely on stat().
2929
ec16e026
VS
29302013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * util/grub-mkimage.c: Move backend part to ...
2933 * util/mkimage.c: ... here.
2934
4b4eeb3c
VS
29352013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 Allow compilation with mingw64 albeit with warnings due to lack of
2938 %llx/%llu.
2939
2940 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2941 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2942 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2943 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2944 on mingw64.
2945 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2946
f4e0adc0
VS
29472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 Remove leftover references to some of the system headers.
2950
e0127364
VS
29512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2954 read.
2955
20d53541
VS
29562013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2959 of strerror.
2960
5a869940
VS
29612013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 Split out blocklist retrieving from setup.c to
2964 grub-core/osdep/blocklist.c and add windows implementation since
2965 generic version doesn't work on NTFS on Windows due to aggressive
2966 unflushable cache.
2967
c06c7520
VS
29682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2971 files.
2972
8f53bb3f
VS
29732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2976 Cut tailing newline. Remove arbitrary limitation. Always use
2977 grub_util_tchar_to_utf8.
2978
148f1007
VS
29792013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2982 * tests/printf_unit_test.c (printf_test): Add %% tests.
2983 Reported by: Paulo Flabiano Smorigo.
2984
af3b06be
VS
29852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2988 implement fsync.
2989
27f9d02e
VS
29902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2993 use nvlist_lookup_string and don't use nvlist_print.
2994
f6a81f0a
VS
29952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2998 closedir to handle filename charset translation.
2999
d7750b32
VS
30002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * include/grub/emu/hostdisk.h: Move file operations to
3003 * include/grub/emu/hostfile.h: ... here.
3004
2859196e
VS
30052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
3008 unicode path.
3009
c018c968
VS
30102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
3013
7e45abce
VS
30142013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
3017 and remove export.h.
3018
23934da2
VS
30192013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * grub-core/kern/emu/error.c: Removed.
3022 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
3023 explicitly as it's already in libgnu.a.
3024
c11ebcc8
VS
30252013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
3028 config-util.h include.
3029
70671037
VS
30302013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 Split emunet into platform-dependent and GRUB-binding parts. Keep
3033 platform-dependent part in kernel for easy access to OS functions.
3034
25ac643a
VS
30352013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
3038 open/read/write.
3039
69ca5876
VS
30402013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * grub-core/osdep/windows/emuconsole.c: New file.
3043
d9d68ef0
AB
30442013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3045
3046 * conf/Makefile.extra-dist: Add osdep/*/init.c
3047
58e211cc
VS
30482013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
3051
588744d0
VS
30522013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * util/grub-probe.c (probe): Separate different drives in hint-str
3055 by spaces and not newlines.
3056 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
3057
44016e52
AB
30582013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3059
3060 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3061 Handle CD-ROMs.
3062
6de9ee86
VS
30632013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 Pass-through unknown E820 types. It required reorganisation of mmap
3066 module.
3067
f8f3f155
AB
30682013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3069
3070 * Makefile.util.def: Add osdep/init.c to grub-mount files.
3071
b73249d2
VS
30722013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
3075 fseeko.
3076
dac86b18 30772013-10-14 qwertial <qwertial>
3078
3079 * grub-core/gdb_grub.in: Fix overflow and wrong field.
3080
17614b84
JM
30812013-10-14 Jon McCune <jonmccune@google.com>
3082
3083 * docs/grub.texi: Document new signatures possibility.
3084
6de292cb
VS
30852013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
3088
84379b61
VS
30892013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
3092 missing prototype.
3093 (grub_util_tchar_to_utf8): Likewise.
3094
21d85db1
VS
30952013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
3098 * grub-core/kern/emu/main.c: Add missing include.
3099 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
3100 Don't call grub_util_init_nls.
3101 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
3102 Likewise.
3103
66a1b3ee
VS
31042013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
3107 stat.
3108
e19bec17
VS
31092013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
3112
ee8c1b29
VS
31132013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
3116
bb338aaf
VS
31172013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 Add a wrapper for fopen. On unix-like systems just pass-through. On
3120 windows use unicode version.
3121
ae5540d3
VS
31222013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 Move set_program_name and init_nls to host_init. On windows
3125 fix in this fuction console and argument charset as well.
3126
4cd3c4fe
AB
31272013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
3128
3129 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
3130 GRUB_ENABLE_CRYPTODISK.
3131
3132 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
3133 GRUB_ENABLE_CRYPTODISK.
3134 * util/grub-mkconfig_lib.in: Likewise.
3135
78170f3e
CCZ
31362013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
3137
3138 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
3139
3414b6c0
MC
31402013-10-12 Melki Christian <Christian.melki@saabgroup.com>
3141
3142 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
3143 error when enabling debug.
3144
6d0740e8
IB
31452013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
3146
3147 * configure.ac: Use -melf_*_obsd on openbsd.
3148
ff2d4dc4
VS
31492013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
3152
eac6ae82
VS
31532013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * include/grub/misc.h: Use gnu_printf rather than printf as format
3156 template since our functions are independent of libc.
3157
ba9baabe
VS
31582013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * util/grub-setup.c (setup): Move copying of partition table as
3161 futher up as possible to avoid possible overwrite by floppy routines.
3162
31632013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
3164
3165 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
3166
145e2369
VT
31672013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3168
3169 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
3170 * docs/grub.texi: Likewise.
3171
3530bc9d
VS
31722013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
3175 it's mostly unused. Move vestiges to the callers.
3176
fb9f59c3
VS
31772013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
3180 version of salt and hash. Use grub_snprintf rather than snprintf.
3181
9be1c255
VS
31822013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * docs/grub.texi: Fix problem with braces.
3185
ed8c0887
VS
31862013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * conf/Makefile.extra-dist: Fix extra-dist list.
3189 * grub-core/Makefile.core.def: Likewise.
3190
f72ab14e
VS
31912013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * docs/grub.texi: Document disk names used on Windows and AROS.
3194
2fe53a22
VS
31952013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
3198 with AROS devs.
3199 * grub-core/osdep/aros/hostdisk.c: Likewise.
3200
71c1d67a
VS
32012013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 Avoid including hostfile.h when not necessarry as it pulls
3204 in OS-specific headers which may redefine generic names
3205 like "far".
3206
ad297ec7
VT
32072013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3208
3209 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
3210 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
3211 scrollbar_bottom_pad
3212 * docs/grub.texi: Likewise.
3213
6e9e5dc9
VT
32142013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3215
3216 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
3217
761c718b
VS
32182013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
3221
37149a2f
VS
32222013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
3225 Removed.
3226 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
3227 Made static.
3228
3837a151
VS
32292013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
3232 leftover.
3233
caca1c70
VS
32342013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 Move OS-specific driver configuration to grub_util_fd_open. This
3237 moves OS-dependent parts from kern/emu/hostdisk.c to
3238 grub-core/osdep/*/hostdisk.c.
3239
f7676b70
VS
32402013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * util/grub-mkimage.c (generate_image): Use size_t instead of
3243 grub_size_t.
3244 * util/grub-mkimagexx.c (locate_sections): Likewise.
3245 (load_image): Likewise.
3246
22f98db2
VS
32472013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
3250 size_t.
3251 (grub_util_write_image): Likewise.
3252
b102ce69
VS
32532013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
3256 get random when no RNG is available.
3257 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
3258
acbbe5cb
VS
32592013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * include/grub/util/lvm.h: Removed.
3262
2112fb3f
VS
32632013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
3266 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
3267
79f78fbf
VS
32682013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/osdep/windows/sleep.c: Add missing config.h.
3271
c2e6f705
VS
32722013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
3275
aabe433a
VS
32762013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * grub-core/net/drivers/emu/emunet.c: Move to ..
3279 * grub-core/osdep/linux/emunet.c: ..here.
3280
9a2c903f
VS
32812013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * util/ieee1275/ofpath.c: Move to ...
3284 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
3285 * grub-core/osdep/basic/ofpath.c: ..here.
3286
4a445f58
VS
32872013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 Move password-querying (util-version) routines to grub-core/osdep.
3290
c1ca4244
VS
32912013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 Move sleep routines to grub-core/osdep.
3294
672fa55e
VS
32952013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 Move OS-dependent files to grub-core/osdep and document it.
3298
a5b0365a
VS
32992013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
3302 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
3303
29072e99
VS
33042013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
3307
f8772ea7
VS
33082013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * util/misc.c: Remove leftover inclusion of malloc.h.
3311
a1a315e7
VS
33122013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * include/grub/setjmp.h: Remove leftover GRUBOF.
3315
cef86fef
VS
33162013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * util/raid.c: Fold into ...
3319 * util/getroot_linux.c: ... here. Make all functions static.
3320
c4cf25ee
VS
33212013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
3324 macros to GRUB ones.
3325
53a5f5c2
VT
33262013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3327
3328 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
3329 occasional bug. If there are too many boot entries or too low
3330 scrollbar height then we need to use another formula to calculate
3331 the position and size of the scrollbar thumb.
3332
de300af2
VS
33332013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3334
c4cf25ee 3335 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 3336
c5827364
VT
33372013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3338
3339 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
3340 * docs/grub.texi: Likewise.
3341
dd2ed8b0
VT
33422013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3343
3344 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3345 viewport.
3346
7286c384
VT
33472013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3348
ffdfc1f3
VT
3349 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3350 minimal width calculations.
7286c384 3351
ea547e14
VS
33522013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * docs/grub.texi: Update note on colors on emu console.
3355
b726be76
VS
33562013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3359 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3360 it's FS and not GRUB limitation.
3361
a5f6ade6
VS
33622013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3365
3b0f3aa2
VS
33662013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3369
1db38304
ST
33702013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3371
3372 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3373 kernels by version order.
3374
fb295fc0
VS
33752013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3378
47345010
VS
33792013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 Add AROS hostdisk and getroot routines.
3382
bf25f879
VS
33832013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 Make cryptodisk and diskfilter probe data retrievable programmatically
3386 and not just printable.
3387
24ca4512
VS
33882013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 Split random retrieving code into separate files.
3391
c7c177f0
VS
33922013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3395 R_ARM_V4BX.
3396
d71b45ae
VS
33972013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3398
3399 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3400 condition.
3401 * grub-core/tests/fake_input.c: Likewise.
3402 * grub-core/tests/cmdline_cat_test.c: Likewise.
3403
e44b9a83
VS
34042013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * grub-core/video/capture.c: Do not do finalization when .fini
3407 is called as there is explicit capture_end.
3408
4fa60739
VS
34092013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3412 changing windows to avoid crash.
3413
17c8bc37
VS
34142013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3417
9d4d7977
VS
34182013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * po/exclude.pot: Add several strings to exclude.
3421
0caa407c
VS
34222013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3425
9ae393da
VS
34262013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3429 ./util/grub-gen-asciih.c to exclude list.
3430
498d5033
VS
34312013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3434 and don't mark error strings for translation.
3435
7d93298f
VS
34362013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3439 properly in case of missing block size.
3440
b2cae20c
VS
34412013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * grub-core/lib/arm/setjmp.S: Add missing license section.
3444
3896d6b4
VS
34452013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * po/swiss.sed: Add replacement for key names and for term computer.
3448
ebc1da55
VT
34492013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3450
3451 * grub-core/gfxmenu/theme_loader.c: New global options for the
3452 theme background image handling. desktop-image-scale-method,
3453 desktop-image-h-align, desktop-image-v-align.
3454 * grub-core/gfxmenu/view.c: Likewise.
3455 * include/gfxmenu_view.h: Likewise.
3456 * include/bitmap_scale.h: Proportional scale functions introduced.
3457 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3458 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3459 cases of unexpected input variables for scale functions.
3460 * docs/grub.texi: Updated documentation for new options.
3461
c5739143
VS
34622013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3465
be74aeb3
VT
34662013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3467
3468 * grub-core/tests/checksums.h: Corrected due to changes in
3469 bilinear interpolation function.
3470
d999ac72
VT
34712013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3472
3473 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
3474 to eliminate artefacts in bilinear interpolation.
3475
2b131610
VS
34762013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * grub-core/video/readers/tga.c: Support paletted tga.
3479
de6e5ff8
VS
34802013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
3483 incorrect cbcr setting when in color mode.
3484
fa31ee9c
VS
34852013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/video/readers/png.c: Support paletted images and clean up
3488 greyscale support.
3489
e84f8188
VS
34902013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3493 usage of wrong table which resulted in mishandling of 4-byte
3494 sequences.
3495
34962013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
3497
3498 * grub-core/term/terminfo.c: Add Home and End key sequences.
3499
d72bff09
VS
35002013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * grub-core/video/readers/png.c (grub_png_decode_image_header):
3503 Fix formula for computing total number of bytes.
3504
29648c5d
VS
35052013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
3508 image processing, fix big-endian and support grayscale.
3509
4a876492
VS
35102013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
3513 Correctly will with maximum transparency when using index color.
3514
3ccf16df
VS
35152013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * grub-core/video/readers/png.c: Support grayscale
3518
35192013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
3520
3521 * grub-core/video/readers/jpeg.c: Support grayscale.
3522
3ccf16df 35232013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
3524
3525 * grub-core/commands/loadenv.c: Support skipping signature check
3526 and variable names filtering.
3527
30b7f58f
VS
35282013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3531 * grub-core/kern/emu/hostfs.c: Likewise.
3532 * util/getroot_unix.c: Likewise.
3533
bab7b1eb
VS
35342013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3537 Migrate all explicit defines to this new one.
3538
43b1c99d
VS
35392013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3542 grub_util_fd_strerror when using grub_util_fd_*.
3543 (grub_util_fd_open_device): Likewise.
3544 (grub_util_biosdisk_read): Likewise.
3545 (grub_util_biosdisk_write): Likewise.
3546 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3547 (grub_util_fd_strerror): Likewise.
3548 (grub_util_fd_sync): Likewise.
3549 (grub_util_fd_close): Likewise.
3550 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3551 (grub_util_fd_close): Likewise.
3552 (grub_util_fd_strerror): Likewise.
3553 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3554 function proto rather than macro.
3555 (grub_util_fd_sync): Likewise.
3556 (grub_util_fd_open): Likewise.
3557 (grub_util_fd_strerror): New proto.
3558
e8fd80bc
VS
35592013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
3562 platforms on which it doesn't work.
3563
bf645fda
VS
35642013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3567 stat immediately to where it's used.
3568
5177ba14
VS
35692013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * util/getroot.c (grub_util_check_block_device): Move to ...
3572 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3573 * util/getroot.c (grub_util_check_char_device): Move to ...
3574 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3575
9db826e1
VS
35762013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3579 disk closing logic.
3580
49120085
AB
35812013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3582
3583 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3584
b3328b68
AB
35852013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3586
3587 * docs/grub.texi (File name syntax): Document ZFS filenames
3588 (/volume@snapshot/...).
3589
3fff48ab
VS
35902013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3593 Always return full path. Fixes a problem with mkrelpath.
3594
39cfdaa9
PFS
35952013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3596
3597 * util/grub-install.in: Add GPT PReP support.
3598 * util/grub-probe.c (probe): Support GPT partition type.
3599 (main): Support -t gpt_parttype.
3600
7c680e1f 36012013-09-23 Aleš Nesrsta <starous@volny.cz>
3602
3603 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3604
890bdabe
MM
36052013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3606
3607 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3608
9c262ff9
TH
36092013-09-23 Tim Hardeck <thardeck>
3610
3611 * util/grub.d/10_hurd.in: Filter out character for the class.
3612 * util/grub.d/10_kfreebsd.in: Likewise.
3613 * util/grub.d/10_linux.in: Likewise.
3614 * util/grub.d/20_linux_xen.in: Likewise.
3615
d755342a
MC
36162013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3617
3618 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3619 "changed".
3620
68b77707
JT
36212013-09-23 Josh Triplett <josh@joshtriplett.org>
3622
3623 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3624 boot partition.
3625
efa68bfa
VS
36262013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3629 doesn't use posix_wrap. Keep literal -fno-builtin however.
3630
d9104204
VS
36312013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3634
c248781a 36352013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
36362013-09-23 neil
3637
5830df88 3638 * configure.ac: Do not enable -Wmissing-noreturn as its
3639 usefulness is limited and creates problems on some OS notably with
3640 code generated by bison.
3641
36422013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
36432013-09-23 neil
3644
3645 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 3646 supported by all gcc and when it is, it's already enabled by -Wall.
3647
621bed69
VS
36482013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3651 desactivated use of EDID at all.
3652
71764dc8 36532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
36542013-09-23 neil
3655
3656 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3657 video if no text is available.
3658
affce7d4 36592013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
36602013-09-23 neil
3661
3662 * configure.ac: Substitute TARGET_RANLIB.
3663
36642013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
36652013-09-23 neil
affce7d4
VS
3666
3667 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3668
3669 Based on patches from AROS.
3670
0e8daad0 36712013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 36722013-09-23 neil
0e8daad0
VS
3673
3674 * grub-core/Makefile.am: Override STRIP and RANLIB.
3675 * configure.ac: compute TARGET_RANLIB.
3676 * INSTALL: Document TARGET_RANLIB
3677
3678 Based on patches from AROS.
3679
3f7d9c82
VS
36802013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3683 that floppies are unpartitioned.
3684
bca8873a
VS
36852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3688 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3689
36902013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3693 less nice but more portable.
3694 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3695
a47a78be
VS
36962013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3699 for cheat_fd.
3700 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3701 functions.
3702 (grub_cryptodisk_cheat_insert): Likewise.
3703 (grub_cryptodisk_close): Likewise.
3704
e85a5d5c
VS
37052013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3708 Use windows path for DEFAULT_DIRECTORY.
3709
dad9fa6b
VS
37102013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3713 difference was likely just gcc version, not anything mingw-related.
3714
7e518ca8
VS
37152013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 Use Winapi on both cygwin and mingw32 to share more code between both.
3718
d68d0157
AB
37192013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3720
3721 * util/grub-install.in: Add --grub-editenv option.
3722 * util/grub-install_header (grub_compress_file): Explicitly check for
3723 plain file to avoid cp error.
3724
775b284d
AB
37252013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3726
3727 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3728 names; fix LVM driver name (lvm, not lv).
3729 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3730 names.
3731
3ff4063d
VS
37322013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3735 files rather than one file with loads of #if's.
3736 * util/getroot.c: Likewise.
3737
287faafe
VS
37382013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3741
d1983764
VS
37422013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3745 GNU/Hurd to the list of checked PRNG.
3746
15ce95c4
VS
37472013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3750
207862dd 37512013-09-21 Ales Nesrsta <starous@volny.cz>
3752
7c680e1f 3753 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 3754
63653cfd
VS
37552013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3758 * grub-core/disk/lvm.c: Add LVM UUIDs.
3759 * util/getroot.c: Use LVM UUIDs whenever possible.
3760
f5d3e7ef
AB
37612013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3762
3763 * docs/grub.texi (Networking commands): Add documentation for
3764 network related commands.
3765
53c6b7d6
VS
37662013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3769 to determine if device is handled by devmapper.
3770 (convert_system_partition_to_system_disk): Likewise.
3771 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3772 already done in grub_util_open_dm.
3773
e70d6736
LL
37742013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3775
3776 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3777 Clean up stack manipulation (sync_caches_armv*)
3778
90379808
VS
37792013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * util/lvm.c: Remove since unused. Remove remaining references.
3782
386701a8
VS
37832013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 Handle the case of partitioned LVM properly.
3786
3787 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3788 Stop on meeting LVM, mpath or DMRAID.
3789 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3790 (read_device_map): Likewise.
3791 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3792 device is full disk rather than erroring out on LVM and similar cases.
3793
53070787
VS
37942013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3797
1bc783bd
VS
37982013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3801 4K before the end.
3802 Reported by: Leif Lindholm
3803
436ad5c3
PW
38042013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
38052013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3808 codes.
3809
607319c9
CW
38102013-09-18 Colin Watson <cjwatson@ubuntu.com>
3811
3812 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3813 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3814
d404d154
DR
38152013-09-18 Douglas Ray <dougray@cpan.org>
3816
3817 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3818 as secure.
3819
28851ef6
AN
38202013-09-18 Aleš Nesrsta <starous@volny.cz>
3821
3822 * docs/grub.texi: Fix broken link.
3823
897c3bc6
MC
38242013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3825
3826 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3827 to break endless loop.
3828
f1630459
VS
38292013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * util/grub-fstest.c: Fix several printf formats.
3832 * util/grub-mkimage.c: Likewise.
3833 * util/grub-mkimagexx.c: Likewise.
3834 * util/grub-script-check.c: Likewise.
3835
64463dfd
VS
38362013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3839 error.
3840
48972495
VS
38412013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3844
5dd5e64b
VS
38452013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3848 removed in current versions cygwin_conv_*.
3849
1c1f31e5
VS
38502013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 * configure.ac: Disable efiemu runtime on cygwin.
3853
c546a259
VS
38542013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3857 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3858
81690478
VS
38592013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3862 error message.
3863
6b87c10a
VS
38642013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3867 windows variant.
3868 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3869 data.
3870
8f0baaac
VS
38712013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3874 when on x86 and not cygwin.
3875 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3876 -Wl,-melf_x86_64.
3877
b224c266
VS
38782013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 * configure.ac: Set CPP to build one when checkoing for freetype for
3881 build.
3882
506b336b
VS
38832013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3886 [!GRUB_BUILD]: Remove has_argument.
3887
8c8c87b7
VS
38882013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3891 Replace with a dummy.
3892
7dc5ca13
VS
38932013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * configure.ac: Don't change host_os from mingw to cygwin.
3896
c3302aa5
VS
38972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * configure.ac: Change target_os from windows to cygwin.
3900
7b780018
VS
39012013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3904
3905 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3906 (build-grub-gen-asciih): Likewise.
3907 (build-grub-gen-widthspec): Likewise.
3908 * Makefile.util.def (grub-pe2elf): Remove.
3909 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3910 * configure.ac: Separate tests for build.
3911 Move ./build-grub-pe2elf to grub-core.
3912 Fix typo.
3913 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3914 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3915 defined.
3916 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3917 constants.
3918 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3919 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3920 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3921
984cfd8a
VS
39222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3925 mingw32 as well based on grub_util_get_disk_size.
3926 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3927 grub_util_get_fd_size.
3928 (sync): Removed.
3929 (fsync): Moved to ...
3930 * grub-core/kern/emu/misc.c (fsync): ... here.
3931
f82d79c9
VS
39322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * include/grub/mm.h (grub_extend_alloc): Remove.
3935 * grub-core/loader/i386/pc/plan9.c: Use own version of
3936 grub_extend_alloc with appropriate types.
3937
fd7dd66d
VS
39382013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3941
43ffba7c
VS
39422013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3945
3c7eac44
VS
39462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 Fix dependencies on cygwin.
3949
3950 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3951 dependencies when used and defined.
3952 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3953
bdb5ba47
VS
39542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3957 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3958
ed7fbf43
VS
39592013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3962 implementation available to cause compile-time rather than runtime
3963 error.
3964
fc46e9fc
VS
39652013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 * util/grub-fstest.c: Don't check for symlinks on windows.
3968
7f68269a
VS
39692013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * INSTALL: Mention unavailability of man pages when cross-compiling.
3972
8ed358e0
VS
39732013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3976 and gcry_log_bug.
3977 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3978
fc97214f
VS
39792013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * INSTALL: Document cross-compilation.
3982 * acinclude.m4: Determine whether nm support -P and --defined-only.
3983 * configure.ac: Add TARGET_ to all variables pertaining to target
3984 that don't have it yet.
3985 * gentpl.py: Likewise.
3986 * grub-core/Makefile.am: Likewise.
3987 * grub-core/genmod.sh.in: Likewise.
3988 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3989 as well.
3990
ca1fb563
IB
39912013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3992
3993 * configure.ac: Remove -Wempty-body. It's not essential and needs
3994 recent gcc.
3995
0031b229
IB
39962013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3997
3998 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3999 * util/getroot.c: Likewise.
4000
54ea2f44
VS
40012013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * grub-core/disk/ahci.c: Add needed explicit cast.
4004 * grub-core/lib/backtrace.c: Likewise.
4005 * grub-core/net/ip.c: Likewise.
4006 * grub-core/net/tcp.c: Likewise.
4007 * grub-core/net/udp.c: Likewise.
4008
3c601f8c
VS
40092013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
4012
1d679dda
VS
40132013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * util/import_gcry.py: Add final newline in visibility.h.
4016
00c28dd9
VS
40172013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * conf/Makefile.common: Fix typo.
4020
32af299a
VS
40212013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
4024
e733cf52
VS
40252013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * Makefile.am (widthspec.h): Fix typo.
4028 * util/grub-gen-widthspec.c: Likewise.
4029
c6b066f2
VS
40302013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 Move ascii.h and widthspec.h generation to a separate build-time-only
4033 tool.
4034
ad1fe3f9 40352013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4036
4037 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4038 Always fill bootdisk info and improve check for NetBSD disklabel.
4039
92a52dd4
VS
40402013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * conf/Makefile.extra-dist: Add util/bin2h.c.
4043 Reported by: floppym.
4044
b2e9d276
VS
40452013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
4048
7b966834
VS
40492013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * configure.ac: Disable unifont and starfield if no freetype was found.
4052
d5c1eef1
VS
40532013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
4056 on NetBSD and OpenBSD.
4057
66345b50 40582013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
4059
4060 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
4061
66345b50 40622013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
4063
4064 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
4065 reduced. Inheritant options are processed during the theme loading.
4066
66345b50 40672013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
4068
4069 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
4070
369508b3
AS
40712013-08-14 Avik Sil <aviksil@in.ibm.com>
4072
4073 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
4074
40752013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
4076
4077 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
4078 using qemu.
4079
6f27a3f6
PFS
40802013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4081
4082 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
4083 remove-potcdate.sed.
4084
c6ed362a
AB
40852013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4086
4087 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
4088 unused attribute from pull argument.
4089
5e7d9464
AB
40902013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4091
4092 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
4093 memory leak.
4094
dea55e2a
AB
40952013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4096
4097 * util/getroot.c (pull_lvm_by_command): add --separator option
4098 to vgs call to disable padding of output to 10 characters.
4099
f0b94ded
VS
41002013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
4103 here ...
4104 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
4105 here.
4106
b828fb5d
VS
41072013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
4110 length.
4111
7c9d0c39
VS
41122013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 Fix handling of build-time grub-bin2h and grub-mkfont when doing
4115 full Canadian cross. Tested with build=x86_64, host=arm,
4116 target=ppc-ieee1275.
4117
816719c8
VS
41182013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * configure.ac: Error if no $BUILD_CC could be found.
4121 Reported by: DevHC.
4122
2af2353b
VS
41232013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
4126 i386-multiboot.
4127
797abd0a
VS
41282013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
4131 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
4132
36e87d25
CW
41332013-08-13 Colin Watson <cjwatson@ubuntu.com>
4134
4135 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
4136 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
4137 falling back to the partition device, otherwise a later call to this
4138 function may fail spuriously.
4139 Reported by Axel Beckert. Fixes Debian bug #708614.
4140
273349fe
GS
41412013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4142
4143 * autogen.sh: Replace find -not by the POSIX-compliant find !.
4144
418f86c6
GS
41452013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4146
4147 Prevent shadowing of stdlib's devname(3) on BSD.
4148
4149 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
4150 and devlast to diskname and disklast, respectively.
4151
c137aea0
CW
41522013-08-11 Colin Watson <cjwatson@ubuntu.com>
4153
4154 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
4155
272dc8df 41562013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
4157
4158 * docs/grub.texi: Introduce terminal window position options:
4159 terminal-left: terminal window's left position
4160 terminal-top: terminal window's top position
4161 terminal-width: terminal window's width
4162 terminal-height: terminal window's height
4163 terminal-border: terminal window's border width
4164 * grub-core/gfxmenu/theme-loader.c: Likewise.
4165 * include/grub/gfxmenu_view.h: Likewise.
4166 * po/exlude.pot: Likewise.
4167 * grub-core/gfxmenu/view.c: Likewise.
4168 Also updated minimal window size.
4169 Also terminal_sanity_check function has been introduced.
272dc8df
VT
4170 * grub-core/tests/checksums.h: Update (terminal window height
4171 is adjusted now for low resolution screen)
b4743461 4172
748a4533
VS
41732013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
4176 position).
4177
fca5f944
VS
41782013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * po/exclude.pot: Add few recent exceptions.
4181
4f47d809
VS
41822013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * tests/grub_func_test.in: Add unicode.pf2.
4185
a62ae90c
VS
41862013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
4189 standard rather than noral color, in line with other terminals.
4190
4ed41392
VS
41912013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
4194 analysis.
4195
3719fbc5
VS
41962013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/loader/arm/linux.c: Change printf to dprintf.
4199
459b1d91
VS
42002013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
4203 inappropriate printf.
4204
f4e1ab9d
AB
42052013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
4206
4207 * .bzrignore: Remove grub-core/lib/dtc-grub,
4208 grub-core/Makefile.libfdt.def
4209 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
4210
fa471bfa
VS
42112013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * include/grub/video.h (grub_video_register): Keep double-linked as
4214 well as single-linked invariants.
4215 Reported by: qwertial.
4216
d65be02b
VS
42172013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * grub-core/commands/nativedisk.c (get_uuid): Handle
4220 GRUB_DISK_DEVICE_UBOOTDISK_ID.
4221
ba8bc620
VT
42222013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
4223
4224 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
4225 maximum of NW, N, NE heights instead of N's height and maximum of
4226 NW, W, SW widths instead of W's width. (So the box will be always
4227 correctly drawn)
4228
4f0ad029
GS
42292013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
4230
4231 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
4232 Fix misuse of variable count.
4233
43d53b72
LL
42342013-07-18 Leif Lindholm <leif.lindholm@arm.com>
42352013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
42362013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 4237
43d53b72
LL
4238 New ports to arm-uboot and arm-efi.
4239 Mostly by Leif Lindholm with some additions from
4240 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 4241
88f8d146
VS
42422013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
4245 and not before.
4246 Reported by: Leon Drugi.
4247
3f42504c
VS
42482013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
4251 Reported by: Paulo Flabiano Smorigo.
4252
d110499b
VT
42532013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4254
4255 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
4256
a8674ad3
VT
42572013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4258
4259 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
4260
286fe4b3
VS
42612013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
4264
1bd57aa3
VS
42652013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
4268
7a87d69f
AB
42692013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
4270
4271 * grub-core/net/bootp.c: Export net_* variables.
4272 * grub-core/net/net.c: Likewise.
4273
b2182299
VS
42742013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
4277
795b3dc0
VS
42782013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
4281
68714c43
VS
42822013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
4285
af211bab
VS
42862013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
4289
0036f02d
MM
42902013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4291
4292 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
4293 <= 0.
4294
6d0ddff3
MM
42952013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4296
4297 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
4298 functions.
4299
038016f4
MM
43002013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4301
4302 * grub-core/fs/zfs/zfs_lz4.c: New file.
4303 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
4304
776bdce2
MM
43052013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4306
4307 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
4308
c71dbd40
MM
43092013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4310
4311 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
4312 (check_pool_label): Likewise.
4313 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
4314
43152013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
4316
4317 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
4318
8e67b50f
AB
43192013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4320
4321 * docs/grub.texi (Commands): Document postition parameters
4322 for menuentry command.
4323
f5ae3717
AB
43242013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4325
4326 * util/grub-mknetdir.in: Remove stray line from help output.
4327
9c28da2a
VS
43282013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 Remove early sm712 init as there is no reason for it (the "watchdog"
4331 effect was due to wrong GPIO map).
4332
139072b8
VS
43332013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 * grub-core/commands/pcidump.c: Remove static variables.
4336
c6a61bda
VS
43372013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/commands/sleep.c: Refresh screen before sleeping.
4340
51369614
VS
43412013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * configure.ac: Move delimiter after the infos.
4344
efa8640a
VS
43452013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4348
6f80a7b2
VS
43492013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4352 not filling whole 8x16 space.
4353
a2371e19
VS
43542013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4357
64fce2d8
VS
43582013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * configure.ac: Indicate which liblzma is used if any.
4361
eb272d84
PW
43622013-06-21 Paul Wise <pabs3@bonedaddy.net>
43632013-06-21 Craig Sanders <savannah@taz.net.au>
4364
4365 * util/grub-reboot.in: Document submenu usage.
4366
a9e5abee
CW
43672013-06-25 Colin Watson <cjwatson@ubuntu.com>
4368
4369 * .bzrignore: Update with a number of new test-related files.
4370
e639c204
CW
43712013-06-25 Colin Watson <cjwatson@ubuntu.com>
4372
4373 * util/grub-script-check.c: Fail on scripts containing no
4374 commands, to guard against corrupted grub-mkconfig setups that
4375 produce no useful output.
4376 * tests/grub_script_no_commands.in: New test.
4377 * Makefile.util.def (grub_script_no_commands): Add.
4378 Reported by Hans Putter. Fixes Debian bug #713886.
4379
a4c89b17
AB
43802013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4381
4382 * grub-core/disk/diskfilter.c: Forgot to remove comment
4383 from previous commit.
4384
5b06b53c
AB
43852013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4386
4387 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4388 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4389
702da5c9
AB
43902013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4391
4392 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4393
aa62a5b7
AB
43942013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4395
4396 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4397 rescan diskfilter devices until nothing new is found.
4398
4aa237c8
VS
43992013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4402
93d8479b
VS
44032013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 Don't try to detect cbfs on *-emu.
4406
837222cc
VS
44072013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4410
99c971af
VS
44112013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 Add support for processed coreboot payload chainloading.
4414
e6930a45
VS
44152013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 Enable coreboot information commands even when not loaded as
4418 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4419
5027af38
VS
44202013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 Support for cbfs. Also factor out the part which is common
4423 for all archives to a separate module. This splits tar from cpio
4424 as they are very different but keeps cpio, cpio_be, odc and newc
4425 together since they're very similar.
4426
a5b55c4b
DM
44272013-06-15 David Michael <fedora.dm0@gmail.com>
4428
4429 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4430 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4431
0301a8b3
VS
44322013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * tests/grub_script_eval.in: Really add the eval test.
4435
3d84cb17
VS
44362013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 Move flavour-specific parts out of common cpio.c file and
4439 rename remaining to cpio_common.c
4440
593e430c
AB
44412013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4442
4443 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4444 off new function grub_script_execute_new_scope. Change callers to use
4445 either of them as appropriate.
4446 * grub-core/commands/eval.c: New command eval.
4447 * docs/grub.texi (Commands): Document it.
4448
63c29849
AB
44492013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4450
4451 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4452 to fetch values when listing.
4453
cc284112
AB
44542013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4455
4456 Fix make dist on non-pc.
4457
44582013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
4459
4460 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4461 without a device name.
4462
69544d1e
VS
44632013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 Remove enable_executable_check as it's not needed anymore.
4466 Reported by: dougray.
4467
96dbe648
VS
44682013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4471 ambigouos RAID before discovering RAIDs on top of it.
4472 Reported by: bodom.
4473
ccfc0bdb
VS
44742013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 Fix typo (failback vs fallback).
4477
f2587088
AB
44782013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
4479
4480 * util/grub.d/30_os-prober.in: Add support for probing EFI
4481 System Partition (as of os-prober 1.58).
4482
cec5cf0c
VS
44832013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 * configure.ac: Add yet another path to unifont. For parabola.
4486
e40b4596
JT
44872013-05-30 Josh Triplett <josh@joshtriplett.org>
4488
4489 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4490 handling to copy the killed characters to the kill buffer as
4491 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4492 stored as char. Eliminates UCS4 truncation and corruption
4493 observed when killing characters with Ctrl-u and yanking them
4494 back with Ctrl-y.
4495
fc4c4fdd
VS
44962013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 Detach optional parts of gfxterm and integrate in with coreboot init.
4499
6570b205
VS
45002013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 Move blit and fill dispatcher to appropriate files to decrease export
4503 and relocation overhead.
4504
b8323067
VS
45052013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/font/font.c, include/grub/font.h: Inline simple font
4508 functions.
4509
3cc1878f
VS
45102013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * grub-core/Makefile.am: Fix compilation problem with some
4513 automake versions.
4514
4b80e43c
VS
45152013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4518
57e0c20c
VS
45192013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4522 automake versions.
4523
4fd42c53
VS
45242013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4527 SSDT.
4528
1e908b34
RS
45292013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4530
4531 * grub-core/partmap/dfly.c: New partition map.
4532
1359e474
VS
45332013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4536 checking.
4537 Reported by: Francesco Lavra.
4538
17806392
AB
45392013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4540
4541 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4542 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4543 false conditions.
4544 * conf/Makefile.common: define dist_grubconf_DATA
4545
cdce14fa
VS
45462013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 Progressively skip menu elements on small terminals rather
4549 than crashing.
4550
c8d6cc3c
VS
45512013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4554 to avoid losing last column.
4555
a73b31ce
VS
45562013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * po/exclude.pot: Add missing string "%C".
4559
1202c764
VS
45602013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4563 after the test.
4564
50268344
VS
45652013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * util/grub-install.in: Gettextize "Not found" message.
4568
62b15edf
VS
45692013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 Fix distfiles list.
4572 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4573
45742013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
4575
4576 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4577 present.
4578 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4579
709ad61b
VS
45802013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4583
d128901a
VS
45842013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4587 attribute since structure is not necessarily aligned.
4588
34b22f5c
AB
45892013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4590
4591 * docs/grub.texi (Device syntax): Clarify description of network
4592 drives.
4593
0f7e980b
VS
45942013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4597 for vasprintf presence.
4598
30b03dc2
VS
45992013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * util/grub-install.in: Handle efibootmgr presence check.
4602 Reported by: Leif Lindholm.
4603
0dc11c08
VS
46042013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4607 new strings to translate.
4608
f8024c3f
VS
46092013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4612 yet another string (pun intended) to translate.
4613
b4c1da62
VS
46142013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * po/POTFILES-shell.in: Autogenerate it.
4617
0ef7478b
VS
46182013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4621
8200fa15
VS
46222013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4625 misnomer.
4626
091945b2
AB
46272013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4628
4629 * docs/grub.texi (Network): Add description of net_default_interface,
4630 net_default_ip and net_default_mac. Rewrite variables description
4631 to emphasize that they are per-interface.
4632
0e7b2e32
VS
46332013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 New test: cmdline and cat.
4636
16f7c8f6
VS
46372013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * grub-core/commands/cat.c: Show UTF-8 characters.
4640
3e912fda
VS
46412013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * conf/Makefile.common: Poison float and double on non-emu.
4644
ee0220bc
VS
46452013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * configure.ac: Don't disable extended registers on emu.
4648
89e0240c
VS
46492013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * configure.ac: Don't use extended registers on x86_64.
4652 Reported by: Peter Jones.
4653
e56d9637
VS
46542013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 * grub-core/term/efi/console.c: Fix compile error.
4657
8098f655
VS
46582013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 Compressed HFS+ support.
4661
16940e07
VS
46622013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4665 pixel".
4666
c5dbc13d
VS
46672013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 Menu color test.
4670
011f8ae8
VS
46712013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/tests/setjmp_test.c: New test.
4674
2aa072d7
VS
46752013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 New variables 'net_default_*' to determine MAC/IP of default interface.
4678
43fe02cb
VS
46792013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * tests/gettext_strings_test.in: A test to check for strings not
4682 marked for translation.
4683
bed06142
VS
46842013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 * autogen.sh: Exclude unused libgcrypt files from translation.
4687
fb2666b5
VS
46882013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 Simplify few strings.
4691
d22840ec
VS
46922013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 Mark few forgotten strings for translation.
4695
e34092fd
VS
46962013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4699 rather than printf.
4700
47cf82b4
VS
47012013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4704 rather than printf.
4705 * grub-core/video/readers/tga.c: Likewise.
4706
1eed0e6e
VS
47072013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * tests/priority_queue_unit_test.cc: New test.
4710
c5b7697b
VS
47112013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4714 than printf.
4715
5945c2f8
AB
47162013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4717
4718 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4719 variable for one time boot menu entry.
4720
fa292343
B
47212013-05-05 Bean <bean123ch@gmail.com>
4722
4723 * grub-core/commands/testspeed.c: New command testspeed.
4724
310d4214
VS
47252013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 Factor-out human-size printing.
4728
85002bf3
VS
47292013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 Agglomerate more mallocs to speed-up gfxterm.
4732
22b06e96
VS
47332013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 Speed-up gfxterm by slightly agglomerating mallocs.
4736
b7c036bc
VS
47372013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 More video checks.
4740
92323d1f
VS
47412013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 Speed-up gfxterm by saving intermediate results in index+alpha
4744 format.
4745
0fb356a3
VS
47462013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4749 test.
4750
44dea3f9
VS
47512013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4754 line of timeout as it may contain the rest of long line.
4755
14af86e4
VS
47562013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 * grub-core/normal/main.c: Fix freed memory dereference.
4759
03f7c8c3
VS
47602013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 Fix several memory leaks.
4763
c686014c
VS
47642013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4767
0788a695
VS
47682013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4771
daf01d61
VS
47722013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 Fix test -a and -o precedence.
4775 Reported by: adrian15.
4776
82ae74d7
VS
47772013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4780
8cec7bd4
AB
47812013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4782
4783 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4784 and add it as source to functional_test module.
4785
aa73d688
VS
47862013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4789
c104b6f9
VS
47902013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 New series of tests for gfxterm and gfxmenu.
4793
7391c4d5
VS
47942013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4797 the theme path relative to $prefix/themes.
4798
cff50118
VS
47992013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4802 Fix order bug.
4803 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4804
7c332bdc
VS
48052013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4808 descriptor.
4809
a4f9a5ff
VS
48102013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4813 grub_gfxmenu_timeout_notifications.
4814 (grub_gfxmenu_view_destroy): Likewise.
4815
b5a2114d
VS
48162013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4819
a8905e8a
VS
48202013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 Several fixes to ieee1275 and big-endian video.
4823
813c1622
VS
48242013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 Add missing exports on mips.
4827
3f3e7326
VS
48282013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4831 if no unifont is found.
4832 Restore original keyboard.
4833
095accd1
VS
48342013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4837 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4838
50361660
VS
48392013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 First automated video test (running videotest and comparing results)
4842
cd0f6eec
VS
48432013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4846 instead of 2 to have full RGB/CMY test pattern.
4847
3f9634e5
VS
48482013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 Add few more tests.
4851
583e5b64
VS
48522013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4855 ARCS. All users updated.
4856
aa7bcb99
VS
48572013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4860
95ef1a54
VS
48612013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4864
46546fc5
VS
48652013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4868 Reported by: qwertial.
4869
3476e0ef
VT
48702013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4871
4872 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4873 with syntax "XXX deg"/"XXX °".
4874
96f33fed
VS
48752013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 Make PCI init in i386-qemu port more robust.
4878
48792013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4880
4881 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4882 cached view is reused.
4883 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4884 open boot menus.
4885
c53b4e67
VS
48862013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 Unify more code in grub-install_header.
4889
f7457fb2
VS
48902013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 Add few new tests.
4893
e2f27a8c
VS
48942013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 Enforce disabling of firmware disk drivers when native drivers kick in.
4897
ef9d8cd5
VS
48982013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 * grub-core/commands/nativedisk.c: Customize the list of modules on
4901 platform. Don't try to search for disks already using native drivers.
4902
f7bf6c31
VS
49032013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4906 platforms.
4907
bdc4add8
VS
49082013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4911 handling of variables containing backslash.
4912
e9e46c9a
VS
49132013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4916 dereference.
4917 Reported by: qwertial.
4918
0e90dee8
VS
49192013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4922
e0aacf24
VS
49232013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4926 dereference.
4927 Reported by: qwertial.
4928
3c0003c3
VS
49292013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4932
adb7d667
VS
49332013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4936
7cd0df84
VS
49372013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 New command `nativedisk'.
4940
02adbb93
VS
49412013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4944 * grub-core/loader/i386/bsd.c: Likewise.
4945
9fb0fd4f
VS
49462013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4949
bd69257a
VS
49502013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4953 grub_get_unaligned16 rather than shifts.
4954
178c2764
VS
49552013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * grub-core/kern/file.c: Use const char * rather than casting to
4958 non-const.
4959
eadfad24
VS
49602013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * grub-core/commands/probe.c: Add missing grub_device_close.
4963
9f73ebd4
VS
49642013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 * INSTALL: Document linguas.sh.
4967
965fa829
VS
49682013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 Remove POTFILES.in and regenerate it in autogen.sh.
4971
d417ddc4
VS
49722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 Move --directory/--override-directorry to grub-install_header and unify.
4975
f97ec546
VS
49762013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * grub-core/term/morse.c: Macroify dih and dah.
4979
b2d7470c
PFS
49802013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4981
4982 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4983
141e2a78
VS
49842013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * grub-core/term/ns8250.c: Systematically probe ports by writing
4987 to SR before using them.
4988
1dd70ebd
PFS
49892013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4990
4991 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4992 disks.
4993 (check_sas): Get sas_adress info.
4994
c796a107
VS
49952013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4998 ports.
4999
43168646
LD
50002013-04-27 Leon Drugi <eyak>
5001
5002 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
5003 BSS clearing.
5004
e7b8fd08
VS
50052013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 Core compression test.
5008
17f9fd29
VS
50092013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 Implement grub_machine_get_bootlocation for ARC.
5012
dc2a6c8b
VS
50132013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 Improve AHCI detection and command issuing.
5016
f25a2ba6
VS
50172013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 Fix pseries test.
5020
a6393224
VS
50212013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 Make 'make check' work on emu.
5024
db99fbe8
VS
50252013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 Replace libcurses with our own vt100 handling for the ease of testing
5028 and decreasing prerequisites.
5029
b24ca7cd
VS
50302013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
5033
63314aa4
VS
50342013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
5037 compile when not needed.
5038
c1b00fff
VS
50392013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * tests/pseries_test.in: New test.
5042
f93e89ef
VS
50432013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 Add test to check that different boot mediums work.
5046
c4b456d3
VS
50472013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
5050 ofw limited ISO support.
5051
5fe67f39
VS
50522013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * configure.ac: Fix loongson conditional.
5055
7f63a64f
VS
50562013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 Enable mipsel-arc.
5059
b04b5990
VS
50602013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 Add serial on ARC platform.
5063
88d2f302
VS
50642013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
5067 commit.
5068
86eb23bc
VS
50692013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * tests/partmap_test.in: Add missing double semicolon.
5072
eec3bb75
VS
50732013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * util/grub-mkrescue.in: Fix loongson filename.
5076
e0810df3
VS
50772013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * util/grub-mkrescue.in: Move all files that don't have a location
5080 set in stone under /boot/grub. Use ISO hard links rather than copies
5081 to save some space.
5082
65a6b30b
VS
50832013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
5086 bogus SLOF values.
5087
6aff0107
VS
50882013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 Make check work on mips-arc.
5091
5e013e56
VS
50922013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * util/grub-mkrescue.in: Alias sashARCS as sash.
5095
d1989e2e
VS
50962013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
5099 it's serial.
5100
1a25e72c
VS
51012013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * util/grub-install.in: Fix target fo qemu_mips.
5104 Fix extension on EFI.
5105
a59a9826
VS
51062013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
5109 in front of chosen entry to mark it even if highlighting is lost.
5110
1a40f80c
VS
51112013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
5114 gfxpayload=keep if cbfb is active.
5115
e343549c
VS
51162013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
5119
45fbd9a2
VS
51202013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 Add missing video ids to coreboot and ieee1275 video.
5123
ab1440bd
VS
51242013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * util/grub-mkrescue.in: Add mips-arc support.
5127
cdeb8324
VS
51282013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
5131
8528c879
VS
51322013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 Move mips-arc link address. Previous link address was chosen
5135 in belief that RAM on SGI platforms grows down while in fact it
5136 grows up from an unusual base.
5137
17fca573
VS
51382013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
5141 Fix a type which prevented CD-ROM and floppy boot.
5142
d178788e
VS
51432013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 Support coreboot framebuffer.
5146
5147 * grub-core/video/i386/coreboot/cbfb.c: New file.
5148
fe4c3e7e
VS
51492013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
5152 detecting too small regions.
5153
ec2dd179
VS
51542013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
5157
872dac83
VS
51582013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
5161 Remove dprintf.
5162 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5163
90ec4b7f
VS
51642013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
5167 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5168 * grub-core/loader/powerpc/ieee1275/linux.c
5169 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5170
f32555dd
VS
51712013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5174 Look for /boot-rom as well as /rom/boot-rom.
5175
38649799
VS
51762013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
5179 handling when creating text_layer failed.
5180 * grub-core/video/video.c (grub_video_create_render_target):
5181 Set result to 0 on error.
5182 (grub_video_delete_render_target): Do not dereference NULL.
5183
aeace7f7
VS
51842013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
5187 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
5188 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
5189 (grub_linux_load64): Mask out 2 high bits.
5190
4eafa175
AB
51912013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
5192
5193 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
5194 more place.
5195
daaa64bd
VS
51962013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 Add support for pseries and other bootinfo machines to grub-mkrescue.
5199
5200 Tested by: Paulo Flabiano Smorigo.
5201
d0d2daa6
VS
52022013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 * util/grub-mkrescue.in: Add GPT for EFI boot.
5205
b193e100
VS
52062013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
5209 It improves performance in qemu.
5210
a0f8f3ac
VS
52112013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 * build-aux/snippet: Add missing gnulib files.
5214
284df0e2
AB
52152013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5216
5217 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
5218
740201f3
AB
52192013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5220
5221 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
5222
a7e03923
PJ
52232013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
52242013-04-15 Peter Jones <pjones@redhat.com>
5225
5226 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
5227 sectors.
5228 Based on patch by Peter Jones.
5229
25fc51a8
VS
52302013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 Fix DMRAID partition handling.
5233
88017d47
VS
52342013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * tests/grub_cmd_date.in: Skip on sparc64.
5237
fa7d914e
VS
52382013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
5241 firmware error messages.
5242
cbe57a48
VS
52432013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
5246 source and destination differ.
5247
21aecce0
VS
52482013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
5251 detection.
5252
25092d29
VS
52532013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
5256 match config-util.h to avoid warnings and increase compatibility.
5257
79451522 52582013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 52592013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
5260
5261 Add option to compress files on install/image creation.
5262
78b7d77b
VS
52632013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * docs/grub-dev.texi: Rearrange menu to match the section order.
5266 Reported by: Bryan Hundven.
5267
cc2fa5ec
VS
52682013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
5271
b49fe879
VS
52722013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 Move GRUB out of system area when using xorriso 1.2.9 or later.
5275
5351da81
VS
52762013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 * tests/grub_cmd_date.in: Add missing exit 1.
5279
c9d586ea
VS
52802013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * tests/partmap_test.in: Skip on sparc64.
5283
3f729741
VS
52842013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 Support grub-shell on sparc64.
5287
8ca86b3a
VS
52882013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 Support mkrescue on sparc64.
5291
aa1af9bb
VS
52922013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5293
5294 Allow IEEE1275 ports on path even if it wasn't detected automatically.
5295 Needed on OpenBIOS due to incomplete device tree.
5296
ac4fea79
VS
52972013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
5300 would be otherwise excluded.
5301
53022013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
5303
5304 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5305 Inline name defines used only once.
5306
fe22b071
VS
53072013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 Fix memory leaks in ofnet.
5310 Reported by: Francesco Lavra.
5311
9d21381b
VS
53122013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 * docs/man/grub-glue-efi.h2m: Add missing file.
5315
07aec23c
VS
53162013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
5319
67ab8353
VS
53202013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 Better support Apple Intel Macs on CD.
5323
ba44ca6d
VS
53242013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 Replace stpcpy with grub_stpcpy in tools.
5327
bbdd6305
VS
53282013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 Handle Japanese special keys.
5331 Reported by: Hiroyuki YAMAMORI.
5332 Codes supplied by: Hiroyuki YAMAMORI.
5333
8573d302
VS
53342013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 * util/grub-mkimage.c: Document memdisk implying --prefix.
5337
d70dbab7
VS
53382013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
5341 much we can do about it anyway.
5342
51a4c3e3
AN
53432013-04-12 Aleš Nesrsta <starous@volny.cz>
5344
5345 Fix handling of split transfers.
5346
92c8f58d
VS
53472013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/net/http.c: Fix bad free.
5350
b7d17a49
VS
53512013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5354 than buffer size.
5355
a3d566d4
VS
53562013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5359
a936af56
VS
53602013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * tests/util/grub-shell.in: Fix it on powerpc.
5363
51212234
VS
53642013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 Turn off QEMU ACPI-way since new releases don't have shutdown port
5367 anymore.
5368
a21eec9e
VS
53692013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 * docs/grub.texi: Update coreboot status info.
5372
e3734b84
VS
53732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * tests/grub_cmd_date.in: New test for datetime.
5376
f9d40055
VS
53772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * tests/partmap_test.in: Fix missing qemudisk setting.
5380
dbc56d8f
VS
53812013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 Support i386-ieee1275 grub-mkrescue and make check on it.
5384
a79b8a15
VS
53852013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5388 feature for it.
5389
48f39bb4
VS
53902013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5393 GRUB_CMDLINE_XEN_DEFAULT.
5394 Reported by: Marc Warne (GigaTux) <gigatux>
5395
053cfcdd
VS
53962013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 Import new gnulib.
5399
93cd84df
VS
54002013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 Use ACPI shutdown intests as traditional port was removed.
5403
f4b1fa4f
AB
54042013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5405
5406 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5407 distinction.
5408
49818a59
VS
54092013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5412 Fix few warining messages and leaks while on it.
5413
9277a306
AB
54142013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5415
5416 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5417 links under grub-core/lib/libgcrypt-grub/mpi.
5418
d5e2a158
VS
54192013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 Fix ia64-efi image generation on big-endian machines. Deduplicate
5422 some code while on it.
5423 Reported by: Leif Lindholm.
5424
18866643
AB
54252013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5426
5427 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5428 as extra_dist.
5429
ca53deb8
AB
54302013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5431
5432 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5433
d4c4b8e1
BH
54342013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5435
5436 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5437 texinfo-5.1.
5438
47043f95
VS
54392013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * grub-core/normal/term.c: Few more fixes for menu entry editor
5442 rendering.
5443 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5444
a3216068
VS
54452013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/normal/term.c: Few more fixes for menu entry editor
5448 rendering.
5449 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5450
21026747
AB
54512013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5452
5453 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5454 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5455
59624ca8
AB
54562013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5457
5458 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5459 instead of hardcoding grub.mo.
5460
1f44478c
FN
54612013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5462
5463 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5464
eeada7b1
VS
54652013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5468 grub-core/disk/geli.c.
5469
132867de
VS
54702013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 * util/grub-mkfont.c: Prefer enum to #define.
5473
de73de17
VS
54742013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
5477
1865baa7
VS
54782013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
5481
ce7d92a9
VS
54822013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5485
52eab656
VS
54862013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5489
98b23b95
VS
54902013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * include/grub/bsdlabel.h: Use enums.
5493
0467a5dd
VS
54942013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 Move GRUB_CHAR_BIT to types.h.
5497
16cc9f03
AB
54982013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5499
5500 * docs/grub.texi: Document more user commands.
5501
3152aecb
AB
55022013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5503
5504 * docs/grub.texi: Document menuentry --id option.
5505
c506fc30
FL
55062013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
5507
5508 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
5509
aa428238
VS
55102013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 Unify file copying setup across different install scripts. Add
5513 options for performing partial install.
5514
efe0cdda
PJ
55152013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
55162013-04-04 Peter Jones <pjones@redhat.com>
5517
5518 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5519
f75835bd
VS
55202013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 Use TSC as a possible time source on i386-ieee1275.
5523
2cd5ce6c
VS
55242013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5527 Init err.
5528
c9625630
VS
55292013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * util/grub-setup.c (setup): Handle some corner cases.
5532
be008941
VS
55332013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5536
1a78d573
VS
55372013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * grub-core/commands/verify.c: Save verified file to avoid it being
5540 tampered with after verification was done.
5541
db8ff59f
VS
55422013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5545 reported width by one to compensate for curesor algorithm problem.
5546
91bf46b1
VS
55472013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 Fix screen corruption in menu entry editor and simplify the code
5550 flow while on it.
5551
a7b1d693
AB
55522013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5553
5554 * util/grub-mount.c (fuse_init): Return error if fuse_main
5555 failed.
5556
31df9ad8
FL
55572013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5558
5559 * include/grub/elf.h: Add missing ARM relocation codes and fix
5560 existing ones.
5561
07f392eb
VT
55622013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5563
5564 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5565
9efd73ec 55662013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
55672013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5570 into account when calculating radius.
5571
55722013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
5573
5574 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5575
4985ddaa
VT
55762013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5577
5578 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5579
8c3635ff
RS
55802013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5581
5582 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5583 missing closing bracket.
5584
74a35e69
RS
55852013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5586
5587 * INSTALL: Mention xorriso requirement.
5588
40f1c000
AB
55892013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5590
5591 * grub-core/commands/verify.c: Fix hash algorithms values for
5592 the first three hashes - they start with 1, not with 0.
5593
e75fdee4
VS
55942013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5597 Try terminating EFI services several times due to quirks in some
5598 implementations.
5599
33028f4c
CW
56002013-03-26 Colin Watson <cjwatson@ubuntu.com>
5601
5602 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5603 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5604 BankField extended opcodes.
5605 (get_sleep_type): Add minimal scope handling (just enough to
5606 handle setting the scope to the root path).
5607 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5608 * include/grub/acpi.h: Add enumeration values for Event, Device,
5609 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5610
33871a10
VT
56112013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5612
5613 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5614 memory leak.
5615
8990963a
VS
56162013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 * grub-core/disk/ahci.c: Give more time for AHCI request.
5619
daae8f9e
VS
56202013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5623 command.
5624
6a7fb94b
VS
56252013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5626
5627 Replace the region at 0 from coreboot tables to available in BSD
5628 memory map.
5629
ff99babd
VS
56302013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5631
5632 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5633 non-BIOS platforms.
5634
30d6b1b2
VS
56352013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5638 platforms.
5639
6ccd0b31
VS
56402013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5643 handling of multi-device filesystems.
5644
23c9cc04
VS
56452013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5648 platforms.
5649
ce50dbd7
VS
56502013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 Add new 'proc' filesystem framework and put luks_script into it.
5653
d975e8d5
VS
56542013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5657 and qemu.
5658
e73ba5e8
VS
56592013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5662
92750e4c
VS
56632013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 Add ability to generate newc additions on runtime.
5666
0ec45a68
VS
56672013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5670 description.
5671
320abd43
VS
56722013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 * po/POTFILES.in: Regenerate.
5675
d7a6506e
VS
56762013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/commands/verify.c (hashes): Add several hashes
5679 from the spec.
5680
8fe05def
VS
56812013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 Slight improve in USB-related boot-time checkpoints.
5684
524e2766
VS
56852013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * grub-core/commands/boottime.c: Fix copyright header.
5688
cc19857a
VS
56892013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5692 coreboot tables content. Support for cbmemc.
5693
ef8810e9
VS
56942013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 Fix a conflict between ports structures with 2 controllers of
5697 same kind.
5698
e9dabdfa
VS
56992013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * include/grub/boottime.h: Add missing file.
5702
f6df57d2
VS
57032013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 Initialize USB ports in parallel to speed-up boot.
5706
d745dda7
VS
57072013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 Fix USB devices not being detected when requested
5710 due to delayed attach.
5711
e5a2dd7b
VS
57122013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5713
e744219b
VS
5714 Implement boot time analysis framework.
5715
57162013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
5719 descriptor to just receive it as argument rather than endpoint
5720 address.
5721
5dd6f587
VS
57222013-03-19 Aleš Nesrsta <starous@volny.cz>
5723
5724 Better estimate the maximum USB transfer size.
5725
2f1071d5
VS
57262013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 Resend a packet if we got the wrong buffer in status.
5729
46ecfc49
VS
57302013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5733 multiplication rather than division.
5734
ea811130
VS
57352013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5738 than divisions.
5739
d2789cf0
VS
57402013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5743 operations to have intended shifts and not divisions.
5744
a9c94590
VS
57452013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5748 intended shifts rather than division.
5749
84cfe81b
VS
57502013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5753 computation for some years before epoch. Avode confusing division
5754 while on it.
5755
21344ef6
VS
57562013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * grub-core/video/i386/pc/vbe.c
5759 (grub_video_vbe_print_adapter_specific_info): Replace division by
5760 shifts.
5761
3f2b4d1a
VS
57622013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 Adjust types in gdb module to have intended unsigned shifts rather than
5765 signed divisions.
5766
3dac5878
VS
57672013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5770 maximum size is 4G - 1 on hfs
5771
5341c0fb
VS
57722013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5775
fc3ff2a2
VS
57762013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5779 function.
5780
81455e8e
AB
57812013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5782
5783 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5784 causing gcc error with gcc 4.7.1.
5785
efd4f117
NZ
57862013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5787
5788 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5789 dereference null pointer. While the code is technically correct, gcc
5790 may eliminate a null check if pointer is already dereferenced.
5791
e11645f4
NZ
57922013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5793
5794 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5795 OOM check.
5796 * grub-core/normal/term.c (read_terminal_list): Likewise.
5797
77468368
VS
57982013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 Lift up core size limits on some platforms. Fix potential memory
5801 corruption with big core on small memory systems. Document remaining
5802 limits.
5803
f6b58fe5
VS
58042013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5807 gotoxy to 0,0.
5808
19ce697d
VS
58092013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 Remove all trampoline support. Add -Wtrampolines when
5812 present. Remove symbols used for trampolines to make
5813 link fail if trampolines are present.
5814
73b5d90f
VS
58152013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5818 append out of its parent.
5819
cb758e96
VS
58202013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5823 parent.
5824
3188131f
VS
58252013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5828 all vars to a macro. All users updated.
5829
e42b2514
VS
58302013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5833 i386-ieee1275.
5834
83e1a1a1
VS
58352013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5838
1d5a880f
VS
58392013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5842
6e4146c4
VS
58432013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 Move to more hookless approach in IEEE1275 devices handling.
5846
99fcda8a
VS
58472013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/kern/term.c (grub_term_normal_color),
5850 (grub_term_highlight_color): Add back lost defaults.
5851
73bf57e2
VS
58522013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 Make elfload not use hooks. Opt for flags and iterators instead.
5855
7f8c105f
VS
58562013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5859 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5860
396d4091
VS
58612013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5864
58652013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5868 hook pass-through parameter. All users updated and unnested.
5869
74a27421
VS
58702013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5873 out of its parent.
5874
b46d4213
VS
58752013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * grub-core/fs/hfs.c: Remove nested functions.
5878
e114c3cc
VS
58792013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5882 the context through.
5883 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5884
f9b7d780
VS
58852013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * util/grub-editenv.c (list_variables): Move print_var out of its
5888 parent.
5889
ca9c2608
VS
58902013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5893 function.
5894
5d983f5f
VS
58952013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * grub-core/gentrigtables.c: Make tables const.
5898
3056d3e7
VS
58992013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 Remove nested functions from videoinfo iterators.
5902
e2303774
VS
59032013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5906 for 64-bit platforms.
5907
f42e3a2f
VS
59082013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5911 a FOR_CHILDREN macro.
5912
be174e5e
VS
59132013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5916 platform from firmware path.
5917
0789b672
VS
59182013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 Enable linux16 on non-BIOS systems for i.a. memtest.
5921
5922 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5923 correctly.
5924 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5925
005a9c32
VS
59262013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5929 Fix end of table condition.
5930
ff2b3cd9
VS
59312013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5934 out of its parent.
5935
4fc40ff8
VS
59362013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 * grub-core/fs/jfs.c: Remove nested functions.
5939
be42d97a
VS
59402013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 * grub-core/fs/minix.c: Remove nested functions.
5943
99373ce4
VS
59442013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * grub-core/fs/iso9660.c: Remove nested functions.
5947
5aec2afe
VS
59482013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5951 of parent function.
5952
6c69e691
VS
59532013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 * util/grub-fstest.c: Remove nested functions.
5956
43c91882
VS
59572013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * grub-core/loader/machoXX.c: Remove nested functions.
5960
4eb8b756
CW
59612013-02-27 Colin Watson <cjwatson@ubuntu.com>
5962
5963 Remove nested functions from disk and file read hooks.
5964
5965 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5966 (struct grub_disk): Add read_hook_data member.
5967 * include/grub/file.h (struct grub_file): Likewise.
5968 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5969 argument.
5970
5971 Update all callers.
5972
df6da5a5
AB
59732012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5974
5975 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5976 Fix off by one error in enumerating extended partitions.
5977
21aecde5
AB
59782013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5979
5980 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5981 memory leak if device name is not found.
5982
f1a19118
AB
59832013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5984
5985 * grub-core/normal/menu_entry.c (update_screen): remove
5986 unused variable `off' which caused scroll down arrow to be always shown.
5987
958bfd20
AB
59882013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5989
5990 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5991 access to unallocated memory.
5992
b7b78edb
AB
59932013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5994
5995 * Makefile.util.def: Add partmap/msdos.c to common library.
5996 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5997 * grub-core/disk/ldm.c: Check for existence of
5998 GRUB_PC_PARTITION_TYPE_LDM.
5999
28d468d6
VS
60002013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
6003 sizes and display sector size.
6004
d55ffb02
VS
60052013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 Implement new command cmosdump.
6008
b5ea6ce0
VS
60092013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6010
6011 Support Openfirmware disks with non-512B sectors.
6012
6013 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
6014 size of the disk.
6015 * (grub_ofdisk_get_block_size): New function.
6016 * (grub_ofdisk_prepare): Use the correct block size.
6017 * (grub_ofdisk_read): Likewise.
6018 * (grub_ofdisk_write): Likewise.
6019 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
6020 New proto.
6021
cc0e476f
VS
60222013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
6025
c5dbdc33
VS
60262013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
6029 on first error.
6030
3f078c0f
VS
60312013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
6034 freeing it.
6035
66a93674
VS
60362013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 Implement USBDebug (full USB stack variant).
6039
c9f0c134
VS
60402013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6041
6042 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
6043 unless they have unexpected values.
6044
cfe1288b
VS
60452013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
6048 grub_print_error.
6049
e42b9969
VS
60502013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
6053 zero-out of port structure.
6054
cf94fd62
VS
60552013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
6058 of extended attributes.
6059
f81ef4b5
AB
60602013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
6061
6062 * util/grub-install.in: change misleading comment about
6063 device.map creation
6064
af18fdb4
VS
60652013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
6068 when menu highlight color isn't set.
6069
08bcec50
M
60702013-01-27 C. Masloch <pushbx@38.de>
6071
6072 Improve FreeDOS direct loading support compatibility.
6073
6074 * include/grub/i386/relocator.h (grub_relocator16_state):
6075 New member ebp.
6076 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
6077 variable.
6078 (grub_relocator16_boot): Handle %ebp.
6079 * grub-core/lib/i386/relocator16.S: Likewise.
6080 * grub-core/loader/i386/pc/freedos.c:
6081 Load BPB to pass kernel which partition to load from.
6082 Check that kernel file is not too large.
6083 Set register dl to BIOS unit number as well.
6084
7782b8a6
CW
60852013-01-22 Colin Watson <cjwatson@ubuntu.com>
6086
6087 * util/grub-reboot.in (usage): Document the need for
6088 GRUB_DEFAULT=saved.
6089 * util/grub-set-default.in (usage): Likewise.
6090 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
6091
e661c180
VS
60922013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
6095 than defining WORDS_BIGENDIAN manually.
6096
1c22ca9a
VS
60972013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
6100 invariants.
6101
d44892fe
CW
61022013-01-21 Colin Watson <cjwatson@ubuntu.com>
6103
6104 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
6105 nested.
6106 (blit_comb: add_device_width): Likewise.
6107
5fdbaed1
CW
61082013-01-21 Colin Watson <cjwatson@ubuntu.com>
6109
6110 Remove nested functions from USB iterators.
6111
6112 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
6113 (grub_usb_controller_iterate_hook_t): Likewise.
6114 (grub_usb_iterate): Add hook_data argument.
6115 (grub_usb_controller_iterate): Likewise.
6116 (struct grub_usb_controller_dev.iterate): Likewise.
6117
6118 Update all implementations and callers.
6119
4250985a
VS
61202013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
6123 margin when not needed.
6124
7d8848f3
VS
61252013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6126
bc136973 6127 Make color variables global instead of it being per-terminal.
7d8848f3
VS
6128
61292013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6130
bc136973
VS
6131 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
6132 asterisk.
7d8848f3 6133
ed12a003
CW
61342013-01-21 Colin Watson <cjwatson@ubuntu.com>
6135
6136 Fix powerpc and sparc64 build failures caused by un-nesting memory
6137 map iterators.
6138
6a0db449
CW
61392013-01-21 Colin Watson <cjwatson@ubuntu.com>
6140
6141 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
6142 parameter declarations.
6143
ccd86b21
VS
61442013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
6147
822b726b
VS
61482013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 Improve spkmomdem reliability by adding a separator between bytes.
6151
115c2cc1
CW
61522013-01-21 Colin Watson <cjwatson@ubuntu.com>
6153
6154 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
6155 an Acer registration utility with several sightings in the wild.
6156 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
6157
fc524edf
CW
61582013-01-21 Colin Watson <cjwatson@ubuntu.com>
6159
6160 Remove nested functions from filesystem directory iterators.
6161
6162 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
6163 (struct grub_fs.dir): Add hook_data argument.
6164
6165 Update all implementations and callers.
6166
53d3e4e3
CW
61672013-01-21 Colin Watson <cjwatson@ubuntu.com>
6168
6169 * docs/grub.texi (Multi-boot manual config): Fix typo for
6170 "recommended".
6171
c821711f
LL
61722013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6173
6174 * util/grub-mkimage.c (main): Postpone freeing arguments.output
6175 until after its use in generate_image.
6176
6a0debbd
CW
61772013-01-20 Colin Watson <cjwatson@ubuntu.com>
6178
6179 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
6180 initrd size to addr_min, since the initrd will be allocated after
6181 this address.
6182
f41e08db
AB
61832013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6184
6185 * conf/Makefile.common: Fix autogen rules to pass definition
6186 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
6187
77529e0f
LL
61882013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6189
6190 * include/grub/elf.h: Update ARM definitions based on binutils.
6191
b879aa7b
VS
61922013-01-20 Aleš Nesrsta <starous@volny.cz>
6193
6194 Split long USB transfers into short ones.
6195
8eb8284d
AB
61962013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6197
6198 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
6199 is interrupted by ESC.
6200
08dad2dc
VS
62012013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * util/grub-script-check.c (main): Uniform the error message.
6204
6c724b85
CW
62052013-01-20 Colin Watson <cjwatson@ubuntu.com>
6206
6207 Remove nested functions from ELF iterators.
6208
25239370
CW
62092013-01-20 Colin Watson <cjwatson@ubuntu.com>
6210
6211 Remove nested functions from device iterators.
6212
6213 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
6214 (grub_arc_iterate_devs): Add hook_data argument.
6215 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
6216 (struct grub_ata_dev.iterate): Add hook_data argument.
6217 * include/grub/device.h (grub_device_iterate_hook_t): New type.
6218 (grub_device_iterate): Add hook_data argument.
6219 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
6220 (struct grub_disk_dev.iterate): Add hook_data argument.
6221 (grub_disk_dev_iterate): Likewise.
6222 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
6223 Likewise.
6224 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
6225 Likewise.
6226 * include/grub/partition.h (grub_partition_iterate_hook_t): New
6227 type.
6228 (struct grub_partition_map.iterate): Add hook_data argument.
6229 (grub_partition_iterate): Likewise.
6230 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
6231 (struct grub_scsi_dev.iterate): Add hook_data argument.
6232
6233 Update all callers.
6234
6c0314d6
CW
62352013-01-20 Colin Watson <cjwatson@ubuntu.com>
6236
6237 Fix typos for "developer" and "development".
6238
600dc5f1
VS
62392013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 Add license header to spkmodem-recv.c.
6242
17334a6b
VS
62432013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 Rewrite spkmodem to use PIT for timing. Double the speed.
6246
7d462559
VS
62472013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6248
6249 Add new command pcidump.
6250
b78d6c32
VS
62512013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 New terminal outputs using serial: morse and spkmodem.
6254
34f71cb8
VS
62552013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 Improve bidi handling in entry editor.
6258
4542e71b
VS
62592013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6262 argument to prevent name collision.
6263
09fd6d82
CW
62642013-01-15 Colin Watson <cjwatson@ubuntu.com>
6265
6266 Remove nested functions from script reading and parsing.
6267
6268 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
6269 getline_data argument, passed to getline.
6270 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
6271 getline_data argument, passed to grub_parser_split_cmdline.
6272 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
6273 lexerstate->getline_data to lexerstate->getline.
6274 (grub_script_lexer_init): Add getline_data argument, saved in
6275 lexerstate->getline_data.
6276 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
6277 argument, passed to grub_script_parse.
6278 * grub-core/script/script.c (grub_script_parse): Add getline_data
6279 argument, passed to grub_script_lexer_init.
6280 * include/grub/parser.h (grub_parser_split_cmdline): Update
6281 prototype. Update all callers to pass appropriate getline data.
6282 (struct grub_parser.parse_line): Likewise.
6283 (grub_rescue_parse_line): Likewise.
6284 * include/grub/reader.h (grub_reader_getline_t): Add void *
6285 argument.
6286 * include/grub/script_sh.h (struct grub_lexer_param): Add
6287 getline_data member.
6288 (grub_script_parse): Update prototype. Update all callers to pass
6289 appropriate getline data.
6290 (grub_script_lexer_init): Likewise.
6291 (grub_normal_parse_line): Likewise.
6292
6293 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
6294 data argument.
6295 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
6296 static instead of nested. Rename to ...
6297 (grub_parser_execute_getline): ... this.
6298 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
6299 data argument.
6300 * grub-core/normal/main.c (read_config_file: getline): Make static
6301 instead of nested. Rename to ...
6302 (read_config_file_getline): ... this.
6303 (grub_normal_read_line): Add unused data argument.
6304 * grub-core/script/execute.c (grub_script_execute_sourcecode:
6305 getline): Make static instead of nested. Rename to ...
6306 (grub_script_execute_sourcecode_getline): ... this.
6307 * util/grub-script-check.c (main: get_config_line): Make static
6308 instead of nested.
6309
d0d4b8a0
CW
63102013-01-15 Colin Watson <cjwatson@ubuntu.com>
6311
6312 Remove nested functions from memory map iterators.
6313
6314 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
6315 argument, passed to hook.
6316 * grub-core/kern/i386/coreboot/mmap.c
6317 (grub_linuxbios_table_iterate): Likewise.
6318 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
6319 instead of nested.
6320 (grub_machine_mmap_iterate): Add hook_data argument.
6321 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
6322 Add hook_data argument, passed to hook.
6323 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
6324 Likewise.
6325 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
6326 Likewise.
6327 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
6328 Likewise.
6329 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
6330 Likewise.
6331 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
6332 Likewise.
6333 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
6334 Likewise.
6335 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
6336 (grub_machine_mmap_iterate): Likewise.
6337 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
6338 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
6339 prototype.
6340 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
6341 Remove NESTED_FUNC_ATTR from here and from all users.
6342 (grub_mmap_iterate): Update prototype.
6343 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6344 pass appropriate hook data.
6345 (grub_machine_mmap_iterate): Likewise.
6346
6347 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6348 static instead of nested.
6349 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6350 Rename to ...
6351 (lsmmap_hook): ... this.
6352 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6353 Likewise.
6354 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6355 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6356 heap_init): Likewise.
6357 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6358 Rename to ...
6359 (mmap_iterate_hook): ... this.
6360 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6361 Likewise.
6362 * grub-core/lib/ieee1275/relocator.c
6363 (grub_relocator_firmware_get_max_events: count): Likewise.
6364 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6365 to ...
6366 (grub_relocator_firmware_fill_events_iter): ... this.
6367 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6368 hook): Likewise. Rename to ...
6369 (grub_relocator_alloc_chunk_align_iter): ... this.
6370 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6371 Rename to ...
6372 (generate_e820_mmap_iter): ... this.
6373 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6374 Rename to ...
6375 (count_hook): ... this.
6376 (grub_linux_boot: hook): Likewise. Rename to ...
6377 (grub_linux_boot_mmap_find): ... this.
6378 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6379 (grub_linux_boot_mmap_fill): ... this.
6380 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6381 hook): Likewise. Rename to ...
6382 (grub_fill_multiboot_mmap_iter): ... this.
6383 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6384 hook): Likewise. Rename to ...
6385 (count_hook): ... this.
6386 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6387 hook): Likewise. Rename to ...
6388 (grub_fill_multiboot_mmap_iter): ... this.
6389 * grub-core/loader/powerpc/ieee1275/linux.c
6390 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6391 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6392 Likewise. Rename to ...
6393 (alloc_phys_choose): ... this.
6394 (determine_phys_base: get_physbase): Likewise.
6395 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6396 find_hook): Likewise.
6397 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6398 (malloc_hook: count_hook): Likewise.
6399 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6400 Likewise. Rename to ...
6401 (lower_hook): ... this.
6402 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6403 (upper_hook): ... this.
6404 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6405 (post64_hook): ... this.
6406 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6407 Likewise. Rename to ...
6408 (lower_hook): ... this.
6409 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6410 (upper_hook): ... this.
6411 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6412 (grub_mmap_iterate: fill_hook): Likewise.
6413 (fill_mask): Pass addr and mask within a single struct.
6414 (grub_cmd_badram: hook): Make static instead of nested. Rename
6415 to ...
6416 (badram_iter): ... this.
6417 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6418 (cutmem_iter): ... this.
6419
22099030
VS
64202013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6423 delimit path in strings using quotes.
6424 * util/getroot.c (grub_guess_root_devices): Likewise.
6425 (grub_make_system_path_relative_to_its_root): Likewise.
6426 * util/grub-probe.c (probe): Likewise.
6427 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6428 (xrealpath): Likewise.
6429
4a9950ec
VS
64302013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 Fix compilation with older compilers.
6433
6434 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6435 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6436 declarations.
6437 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6438 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6439 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6440 identifier with b.
6441 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6442 * include/grub/crypto.h: Add type defines.
6443 * util/import_gcrypth.sed: Remove duplicate type defines.
6444
adcc6020
VS
64452013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 New command list_trusted.
6448
6449 * grub-core/commands/verify.c (grub_cmd_list): New function.
6450
a4528937
CW
64512013-01-13 Colin Watson <cjwatson@ubuntu.com>
6452
6453 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6454 info message.
6455
ca3a7446
CW
64562013-01-13 Colin Watson <cjwatson@ubuntu.com>
6457
6458 Remove nested functions from PCI iterators.
6459
6460 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6461 passed to hook. Update all callers to pass appropriate hook data.
6462 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6463 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6464 Remove NESTED_FUNC_ATTR from here and from all users.
6465 (grub_pci_iterate): Update prototype.
6466 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6467 instead of nested. Rename to ...
6468 (grub_cs5536_find_iter): ... this.
6469 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6470 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6471 Likewise.
6472 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
6473 Likewise.
6474 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
6475 Likewise.
6476 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
6477 Likewise.
6478 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
6479 * grub-core/video/radeon_fuloong2e.c
6480 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
6481 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
6482 find_card): Likewise.
6483 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6484 Likewise.
6485
f8e98fee
VS
64862013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 * grub-core/commands/verify.c: Mark messages for translating.
6489
055b36b6
VS
64902013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6493 fatal.
6494
f7ff879b
VS
64952013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6498 fatal.
6499
65002013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
6501
6502 * autogen.sh: Do not try to delete nonexistant files.
6503 * util/import_gcrypth.sed: Add some missing header removals.
6504
01323d49
CW
65052013-01-12 Colin Watson <cjwatson@ubuntu.com>
6506
6507 Clean up dangling references to grub-setup.
6508 Fixes Ubuntu bug #1082045.
6509
6510 * docs/grub.texi (Images): Refer generally to grub-install rather
6511 than directly to grub-setup.
6512 (Installing GRUB using grub-install): Remove direct reference to
6513 grub-setup.
6514 (Device map) Likewise.
6515 (Invoking grub-install): Likewise.
6516 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6517 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6518 * util/grub-install.in (usage): Likewise.
6519
6520 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6521 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6522 grub-setup.
6523 * configure.ac: Remove grub_setup output variable.
6524
6525 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6526 to grub-bios-setup.
6527 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6528 grub-setup to grub-sparc64-setup.
6529
5e3b8dcb
VS
65302013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 Import gcrypt public-key cryptography and implement signature checking.
6533
535714bd
VS
65342013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 * grub-core/fs/ntfs.c: Ue more appropriate types.
6537 * grub-core/fs/ntfscomp.c: Likewise.
6538 * include/grub/ntfs.h: Likewise.
6539
3e4f3566
VS
65402013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 Support Apple FAT binaries on non-Apple platforms.
6543
6544 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6545 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6546 Likewise.
6547 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6548 Apple FAT binaries.
6549
4dedb13f
VS
65502013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6553 sector devices.
6554
f8861eaf
CW
65552013-01-07 Colin Watson <cjwatson@ubuntu.com>
6556
6557 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6558 explicitly zeroing elements.
6559 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6560 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
6561 of elements in a structure already allocated using grub_zalloc.
6562 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6563
86065b0a
CW
65642013-01-07 Colin Watson <cjwatson@ubuntu.com>
6565
6566 * docs/grub.texi (grub_cpu): New subsection.
6567 (grub_platform): Likewise.
6568
c6f1e92f
VS
65692013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6572
f797ec85
VS
65732013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6576 divisions.
6577
033d0b4b
VS
65782013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6581 * grub-core/fs/ntfscomp.c: Likewise.
6582 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6583 (grub_ntfs_comp): Likewise.
6584
21d1b9a0
VS
65852013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6588 Rename to ...
6589 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6590 of groups_per_block. All users updated.
6591
10ca8645
VS
65922013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6595 grub_error properly.
6596 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6597 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6598
a4c3ed4c
VS
65992013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6602 always in /boot/zfs.
6603 Reported by: Yuta Satoh.
6604
0b716507
YS
66052013-01-03 Yuta Satoh <nigoro>
6606
6607 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6608 ${grub_probe}
6609
00c05e22
VS
66102013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * configure.ac: Extend -Wno-trampolines to host.
6613
dadddb76
VS
66142013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6617 entry->len = 0.
6618
54ce53ca
CW
66192013-01-03 Colin Watson <cjwatson@ubuntu.com>
6620
6621 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6622 (Invoking grub-script-check): Likewise.
6623
8912efca
CW
66242013-01-03 Colin Watson <cjwatson@ubuntu.com>
6625
6626 * docs/grub.texi (Invoking grub-mount): New section.
6627 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6628
c3fc8394
CW
66292013-01-02 Colin Watson <cjwatson@ubuntu.com>
6630
6631 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6632 test failures, so that a failing unit test correctly causes 'make
6633 check' to fail.
6634
45d26abb
CW
66352013-01-02 Colin Watson <cjwatson@ubuntu.com>
6636
6637 Fix failing printf test.
6638
6639 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6640 '$' in the correct order when collecting type information.
6641
971dd2c6
CW
66422013-01-02 Colin Watson <cjwatson@ubuntu.com>
6643
6644 * docs/grub.texi (configfile): Explain environment variable
6645 handling.
6646 (source): New section.
6647 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6648
5c67ea6c
CW
66492012-12-31 Colin Watson <cjwatson@ubuntu.com>
6650
6651 Remove several trivially-unnecessary uses of nested functions.
6652
6653 * grub-core/commands/i386/pc/sendkey.c
6654 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6655 instead of nested.
6656 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6657 Rename to ...
6658 (legacy_file_getline): ... this.
6659 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6660 Likewise.
6661 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6662 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6663 to ...
6664 (probe_dummy_iter): ... this.
6665 * grub-core/kern/i386/coreboot/mmap.c
6666 (grub_linuxbios_table_iterate: check_signature): Likewise.
6667 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6668 check_varstate): Likewise. Mark inline.
6669 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6670 an additional parameter.
6671 (find_long: fnd_long): Likewise. Pass two additional parameters.
6672 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6673 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6674 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6675 Likewise. Rename to ...
6676 (grub_cmos_find_port_iter): ... this.
6677 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6678 Rename to ...
6679 (find_rtc_iter): ... this.
6680
6681 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6682 function directly into the function body, since it is only called
6683 once.
6684
33a68ac6
CW
66852012-12-30 Colin Watson <cjwatson@ubuntu.com>
6686
6687 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6688 __attribute__ ((unused)).
6689 * grub-core/video/bochs.c (find_card): Likewise.
6690 * grub-core/video/cirrus.c (find_card): Likewise.
6691 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6692 * grub-core/video/sis315pro.c (find_card): Likewise.
6693 * grub-core/video/sm712.c (find_card): Likewise.
6694
608b647a
CW
66952012-12-28 Colin Watson <cjwatson@ubuntu.com>
6696
6697 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6698 Fixes Savannah bug #37821.
6699
fd49ceb3
CW
67002012-12-28 Colin Watson <cjwatson@ubuntu.com>
6701
6702 Apply program name transformations at build-time rather than at
6703 run-time. Fixes Debian bug #696465.
6704
6705 * acinclude.m4 (grub_TRANSFORM): New macro.
6706 * configure.ac: Create output variables with transformed names for
6707 most programs.
6708 * util/bash-completion.d/grub-completion.bash.in: Use
6709 pre-transformed variables for program names.
6710 * util/grub-install.in: Likewise.
6711 * util/grub-kbdcomp.in: Likewise.
6712 * util/grub-mkconfig.in: Likewise.
6713 * util/grub-mkconfig_lib.in: Likewise.
6714 * util/grub-mknetdir.in: Likewise.
6715 * util/grub-mkrescue.in: Likewise.
6716 * util/grub-mkstandalone.in: Likewise.
6717 * util/grub-reboot.in: Likewise.
6718 * util/grub-set-default.in: Likewise.
6719 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6720 * tests/util/grub-shell-tester.in: Remove unused assignment.
6721 * tests/util/grub-shell.in: Likewise.
6722 * util/grub.d/00_header.in: Likewise.
6723
7024b3c0
CW
67242012-12-28 Colin Watson <cjwatson@ubuntu.com>
6725
6726 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6727
6728 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6729 HAVE_RAW_DECL_GETS.
6730 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6731
e3501b13
VS
67322012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6735 Reported by: Eriks Latosheks <foresterlv>.
6736
b40c88a9
VS
67372012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * docs/grub.texi (Network): Update instructions on generating netboot
6740 image.
6741
ce96d01c
VS
67422012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6745 around device name if necessarry.
6746
0f596201
PFS
67472012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6748
6749 * util/grub-install.in: Follow the symbolic link parameter added
6750 to the file command.
6751
600d5bdb
AB
67522012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6753
6754 * util/grub-install.in: Remove stale TODO.
6755
64ebd2f4
PFS
67562012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6757
6758 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6759 dynamic allocation for the bootpath buffer.
6760
74b2fe3e
DTB
67612012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6762
6763 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6764 window too small.
6765
969b804f
VS
67662012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6769 argument rather than font name. All users updated.
6770 (grub_gfxterm_set_window): Likewise.
6771
b9f5ebd6
VT
67722012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6773
6774 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6775 from working.
6776
258f43b7
VS
67772012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * util/getroot.c (convert_system_partition_to_system_disk): Support
6780 nbd disks.
6781
cc1ce5f9
VS
67822012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6785 infinite loop on corrupted FS.
6786
e77a16ca
VS
67872012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 Fix big-endian mtime.
6790
6791 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6792 together sec and usec.
6793 (grub_ufs_dir): Use correct byteswapping for UFS time.
6794
d9c48c7b
VS
67952012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 Support big-endian UFS1.
6798
6799 * Makefile.util.def (libgrubmods): Add ufs_be.c
6800 * grub-core/Makefile.core.def (ufs1_be): New module.
6801 * grub-core/fs/ufs_be.c: New file.
6802 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6803 the file.
6804
2f9f40ba
LL
68052012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6806
6807 * include/grub/types.h: Fix functionality unaffecting typo in
6808 GRUB_TARGET_WORDSIZE conditional macro.
6809
48ff0889
PFS
68102012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6811
6812 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6813
03711240
GS
68142012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6815
6816 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6817 that /netbsd appears first (when it exists).
6818
a31b11bd
CJ
68192012-10-12 Christoph Junghans <ottxor@gentoo.org>
6820
6821 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6822 Fixes Savannah bug #37558.
6823
e8a5d5d4
CW
68242012-10-12 Colin Watson <cjwatson@ubuntu.com>
6825
6826 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6827 description of extract_entries_configfile.
6828
68292012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6830
6831 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6832 preferred_address.
6833 (grub_cmd_linux): Likewise.
6834 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6835 preferred_lifetime. Update all users.
6836
288c757d
CW
68372012-09-26 Colin Watson <cjwatson@ubuntu.com>
6838
6839 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6840 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6841
0d35da3f
CW
68422012-09-26 Colin Watson <cjwatson@ubuntu.com>
6843
6844 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6845 errors from grub-probe to /dev/null, not stdout.
6846
b78c3127
VS
68472012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6850 sector 1.
6851
473959f0
CW
68522012-09-24 Colin Watson <cjwatson@ubuntu.com>
6853
6854 * util/grub-install.in: Make the error message if $source_dir
6855 doesn't exist more useful.
6856
794c8c33
CW
68572012-09-22 Colin Watson <cjwatson@ubuntu.com>
6858
6859 Fix grub-emu build on FreeBSD.
6860
6861 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6862 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6863 headers on Linux.
6864 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6865 implementation is currently Linux-specific.
6866 * util/getroot.c (exec_pipe): Define only on Linux or when either
6867 libzfs or libnvpair is unavailable.
6868 (find_root_devices_from_poolname): Remove unused path variable.
6869
86d08fdb
CW
68702012-09-19 Colin Watson <cjwatson@ubuntu.com>
6871
6872 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6873 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6874 should fit before end == 63.
6875
735abf54
CW
68762012-09-19 Colin Watson <cjwatson@ubuntu.com>
6877
6878 * util/grub-setup.c (write_rootdev): Remove unused core_img
6879 parameter. Update all callers.
6880 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6881 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6882 GRUB_SETUP_BIOS.
6883
140acd3c
VS
68842012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6887 (grub_add_tab): New function.
6888 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6889 * util/grub.d/10_illumos.in: Likewise.
6890 * util/grub.d/10_kfreebsd.in: Likewise.
6891 * util/grub.d/10_linux.in: Likewise.
6892 * util/grub.d/10_netbsd.in: Likewise.
6893 * util/grub.d/10_windows.in: Likewise.
6894 * util/grub.d/10_xnu.in: Likewise.
6895 * util/grub.d/20_linux_xen.in: Likewise.
6896 * util/grub.d/30_os-prober.in: Likewise.
6897
7ddffdad
VS
68982012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6901 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6902 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6903 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6904 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6905 ieee1275-nocursor.
6906 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6907 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6908
4e092454
VS
69092012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6912 le-conversion.
6913 Reported by: BURETTE, Bernard.
6914
735abf54 69152012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6916
6917 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6918 from comment.
6919
dfd39dbd
CW
69202012-09-14 Colin Watson <cjwatson@ubuntu.com>
6921
6922 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6923 IEEE1275 machines. Fixes powerpc-emu compilation.
6924 * include/grub/terminfo.h: Likewise.
6925
3bfa763c
VS
69262012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6929 a const pointer.
6930 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6931 const pointer.
6932 (efiemu_set_variable): Make vendor_guid a const pointer.
6933
250e475b
VS
69342012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 Don't require grub-mkconfig_lib to generate manpages for programs.
6937
6938 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6939 dependencies, don't add grub-mkconfig_lib.
6940 (program): Pass empty adddeps.
6941 (script): Pass grub-mkconfig_lib as adddeps.
6942
592fd0e4
VS
69432012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6946 * util/getroot.c (grub_find_device): Likewise.
6947 (get_mdadm_uuid): Likewise.
6948 (grub_util_is_imsm): Likewise.
6949 (grub_util_pull_device): Likewise.
6950 * util/grub-probe.c (probe): Likewise.
6951
801a3027
BG
69522012-09-10 Benoit Gschwind <gschwind>
6953
6954 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6955 (devs): Add devpath_8.
6956
c5052c81
PJ
69572012-09-08 Peter Jones <pjones@redhat.com>
6958
6959 * grub-core/Makefile.core.def (efifwsetup): New module.
6960 * grub-core/commands/efi/efifwsetup.c: New file.
6961 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6962 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6963 New define.
6964 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6965
8e832f71
JS
69662012-09-05 Jiri Slaby <jslaby@suse.cz>
6967
6968 * configure.ac: Add SuSe path.
6969
f0f55752
CW
69702012-09-05 Colin Watson <cjwatson@ubuntu.com>
6971
6972 * NEWS: Fix typo.
6973
ecadc4c2
CW
69742012-09-05 Colin Watson <cjwatson@ubuntu.com>
6975
6976 * util/import_gcry.py: Sort cipher_files, to make build system
6977 generation more deterministic.
6978
64498f25
VS
69792012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6982 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6983 (grub_set_datetime): Likewise.
6984
9cc836a2
VS
69852012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6988 warnings.
6989
bcfcea01
VS
69902012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6993
a4099485
VS
69942012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6997
265c162a
CW
69982012-09-04 Colin Watson <cjwatson@ubuntu.com>
6999
7000 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
7001 required for checkouts from bzr, but it may be useful for users or
7002 distributors wishing to update translations against a tarball
7003 distribution, and it can be helpful for the tarball to be a superset
7004 of what's in bzr.
7005
3d171e95
CW
70062012-09-04 Colin Watson <cjwatson@ubuntu.com>
7007
7008 * Makefile.am (EXTRA_DIST): Add
7009 grub-core/tests/boot/linux.init-mips.S,
7010 grub-core/tests/boot/linux.init-ppc.S, and
7011 grub-core/tests/boot/linux-ppc.cfg.
7012
f2c2503e
CW
70132012-09-04 Colin Watson <cjwatson@ubuntu.com>
7014
7015 * grub-core/mmap/mips/loongson: Remove empty directory.
7016
70172012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
7018
7019 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
7020 gone.
7021
ab2163d5
CW
70222012-09-04 Colin Watson <cjwatson@ubuntu.com>
7023
7024 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
7025 grub-sparc64-setup.
7026
ce938140
GS
70272012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7028
7029 * configure.ac: Strengthen the test for working -nostdinc -isystem.
7030
529f58a5
GS
70312012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7032
7033 * po/POTFILES.in: Regenerated.
7034
16cf79e9
GS
70352012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7036
7037 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
7038 (NetBSD): New subsection.
7039
39b27f1e 70402012-07-22 Ales Nesrsta <starous@volny.cz>
7041
7042 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
7043 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
7044
a885261b
VS
70452012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
7048 * util/grub.d/10_hurd.in: Add missing quoting.
7049 * util/grub.d/10_illumos.in: Likewise.
7050 * util/grub.d/10_kfreebsd.in: Likewise.
7051 * util/grub.d/10_linux.in: Likewise.
7052 * util/grub.d/20_linux_xen.in: Likewise.
7053
7bd29c01
VS
70542012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 New command `lsefi'.
7057
7058 * grub-core/Makefile.core.def (lsefi): New module.
7059 * grub-core/commands/efi/lsefi.c: New file.
7060 * include/grub/efi/api.h: Add more GUIDs.
7061
ac625d8f
VS
70622012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
7065 (grub_bsd_elf32_hook): Likewise.
7066 (grub_bsd_elf64_size_hook): Likewise.
7067 (grub_bsd_elf64_hook): Likewise.
7068 (grub_bsd_load_elf): Likewise.
7069
e73bb801
VS
70702012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
7073 if hash function is unavailable.
7074 (dec_stream_header): Likewise.
7075
e81db8b5
VS
70762012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
7079 filter state.
7080
d187a1c3
VS
70812012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 Fix coreboot compilation.
7084
7085 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
7086 (grub_vga_text_init_real): ... this.
7087 (grub_vga_text_fini): Rename to ...
7088 (grub_vga_text_fini_real): ... this.
7089
91a05f64
VS
70902012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
7093
6af96df7
VS
70942012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/lib/legacy_parse.c: Support clear and testload.
7097
4d569e12
VS
70982012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7099
7100 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
7101
073b57bb
VS
71022012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/fs/ext2.c: Experimental support for 64-bit.
7105
a706f4cc
VS
71062012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * grub-core/net/tftp.c (ack): Fix endianness problem.
7109 (tftp_receive): Likewise.
7110 Reported by: Michael Davidsaver.
7111
e7850aa9
VS
71122012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * gentpl.py: Make mans depend on grub-mkconfig_lib.
7115
71162012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
7119 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
7120 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
7121
35692881
VS
71222012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
7125 efi_mmap_size.
7126 Reported by: Stuart Hayes.
7127
c35fc5bd
VS
71282012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
7131
7132 * grub-core/Makefile.core.def (mda_text): New module.
7133 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
7134 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
7135 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
7136 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
7137 here.
7138 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
7139 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
7140 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
7141 here.
7142 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
7143 to ..
7144 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
7145 ... here
7146 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
7147 here.
7148 * grub-core/term/i386/vga_common.c: Removed.
7149 * include/grub/i386/vga_common.h: Likewise.
7150 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
7151 (grub_vga_cr_bw_read): Likewise.
7152 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
7153 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
7154 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
7155 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
7156 grub_vga_cr_read/grub_vga_cr_write.
7157 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
7158
5f91f701
VS
71592012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * configure.ac: Bump version to 2.00.
7162 * grub-core/normal/main.c (features): Add feature_200_final.
7163
0c4f85f6
VS
71642012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
71652012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
7166
7167 * NEWS: Fix unclarity and language mistakes.
7168
f923ad22
VS
71692012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
7172 additional size to 3 pages.
7173 Reported by: Stuart Hayes.
7174
d22029ba
VS
71752012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * NEWS: Add 2.00 entry.
7178
58eee08f
VS
71792012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
7182 put explicit "/" for empty path.
7183 (wildcard_expand): Improve dprintf.
7184
c59bdff7
VS
71852012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
7188 it's equal to currnode. This can happen with "" symlink.
7189
5e6a440a
YB
71902012-06-27 Yves Blusseau <blusseau@zetam.org>
7191
7192 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
7193 echo shell command by printf command.
7194
73a68bcb
VS
71952012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
7198 the value returned by firmware is the maximal position, not diumension.
7199 (grub_terminfo_output_state): Use a more sane fallback.
7200
392a603b
VS
72012012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
7204
42d0867f
VS
72052012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
7208 frequency to 150 MHz.
7209
489509f4
VS
72102012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 Apple fixes.
7213
7214 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
7215 __APPLE_
7216 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
7217 definition.
7218 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
7219
9f3fc883
VS
72202012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 Handle slash in HFS label.
7223
7224 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
7225 (grub_hfs_dir): Tanslate slash.
7226 (grub_hfs_label): Don't translate slash.
7227
54853fd7
VS
72282012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
7231 network protocol listing since it introduces problematic dependency on
7232 net module.
7233
4dc02ddf
VS
72342012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
7237
c50c867d
VS
72382012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7239
7240 Init video early on yeeloong to avoid being rebooted by watchdog.
7241
7242 * grub-core/Makefile.am (gensm712): New target.
7243 (sm712_start.S): Likewise.
7244 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
7245 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
7246 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
7247 description.
7248 * include/grub/vga.h: Move registry definitions to...
7249 * include/grub/vgaregs.h: ... here.
7250
5f92c8a1
VS
72512012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7252
7253 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
7254 signedness.
7255
e9e6f111
VS
72562012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
7259 platforms with firmware disk drivers in the core.
7260
754ad9eb
VS
72612012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
7264 informative verbose message.
7265 (read_lv): Handle 64-bit segment size.
7266
315654c2
VS
72672012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
7270
fb022c79
VS
72712012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
7274 character but still remove trainling spaces.
7275 (grub_fat_label): Ignore archive flag.
7276
8645f72c
VS
72772012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
7280 cast between linux_kernel_header and linux_kernel_params.
7281
36498496
VS
72822012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
7285 type for size.
7286 (grub_raid6_recover_func_t): Likewise.
7287 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
7288 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7289
0b5ea6b8
VS
72902012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
7293
650cfcfe
GS
72942012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
7295
7296 Fix overflow.
7297
7298 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
7299 [__NetBSD__]: Add explicit cast before bitshift.
7300
8a4d6a44
VS
73012012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 * configure.ac: Bump to 2.00~rc1.
7304
2fb97ed3
VS
73052012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
7308 half of $a0.
7309
1fa097dc
VS
73102012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
73112012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
7312
7313 * docs/grub.texi: Fix search syntax.
7314 (Multi-boot manual config): Put msdos rather than GPT example.
7315 Grammar corrections.
7316
c890ba78
VS
73172012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
7320
0f92dca7
VS
73212012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
7324
3988c4a0
VS
73252012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
7328 message on double free. Put the value of magic in case of mismatch.
7329
9e86d4c5
VS
73302012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 Speed-up video on yeeloong.
7333
7334 * grub-core/video/sm712.c (framebuffer): Remove render_target and
7335 add cached_ptr.
7336 (grub_video_sm712_video_fini): Unmap cached_ptr.
7337 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
7338 (grub_video_sm712_set_active_render_target): Removed.
7339 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7340 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
7341 sync caches.
7342
ed24c312
VS
73432012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 Avoid flushing the same line multiple times on loongson.
7346
7347 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7348 Step in 32 bytes and not 1 byte.
7349 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7350 Likewise.
7351
d1718e7d
VS
73522012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7355 subvolumes.
7356
982f1909
VS
73572012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7358
7359 Implement flow control for http.
7360
7361 * grub-core/net/http.c (parse_line): Handle response 206.
7362 (http_receive): Stall if too many packets are in the queue.
7363 (http_establish): Fix range header.
7364 (http_seek): Fix double free.
7365 (http_close): Likewise.
7366 (http_packets_pulled): New function.
7367 (grub_http_protocol): Set http_seek
7368 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7369 (ack_real): Set window depending on i_stall.
7370 (grub_net_send_tcp_packet): Likewise.
7371 (grub_net_tcp_stall): New function.
7372 (grub_net_tcp_unstall): Likewise.
7373 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7374 (grub_net_tcp_unstall): Likewise.
7375
bd407d6e
VS
73762012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7379
c7564b8e
VS
73802012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7383
a3706162
VS
73842012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * tests/util/grub-shell.in: Fix a typo.
7387
b27069e0
VS
73882012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 Implement flow control for tftp.
7391
7392 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7393 packets but stop only if stop condition is satisfied.
7394 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7395 `stall' instead of `eof' as stop condition.
7396 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7397 (http_err): Likewise.
7398 * grub-core/net/tftp.c (ack): Replace the first argument with data
7399 instead of socket.
7400 (tftp_receive): Stall if too many packets are in wait queue.
7401 (tftp_packets_pulled): New function.
7402 (grub_tftp_protocol): Set packets_pulled.
7403 * include/grub/net.h (grub_net_packets): New field count.
7404 (grub_net_put_packet): Increment count.
7405 (grub_net_remove_packet): Likewise.
7406 (grub_net_app_protocol): New field `packets_pulled'.
7407 (grub_net): New field `stall'.
7408
6b9cfac6
VS
74092012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7412 sync part to handle them.
7413
f35abd81
VS
74142012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7417 * grub-core/net/drivers/ieee1275/ofnet.c
7418 (grub_ieee1275_net_config_real): Likewise.
7419
0e7ec820
VS
74202012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7421
7422 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7423 the direct route for server/gateway.
7424
9d611a31
VS
74252012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7428 IP address to server name since we may not hame the DNS.
7429
418f45ab
VS
74302012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7433 freeing random buffer on failure.
7434 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7435
44a0efc1
VS
74362012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7439
531e2241
VS
74402012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7443 reserved bytes.
7444 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7445 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7446 Handle malloc error correctly.
7447
cde393c9
VS
74482012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7451 blocks.
7452
538478d0
VS
74532012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7456 increment.
7457
9b55efe0
VS
74582012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7459
7460 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7461 none is explicitly specified.
7462
9eb832c3
VS
74632012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7466 while reallocating.
7467
d6b7c7c9
VS
74682012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 Respect netmask from bootp/dhcp.
7471
7472 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
7473 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
7474 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
7475 into ...
7476 (grub_net_add_ipv4_local): ... this.
7477 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
7478 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
7479 (grub_net_add_ipv4_local): New proto.
7480
67caf9eb
VS
74812012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7484 determining EFI memory map size.
7485
43657558
VS
74862012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7489
eb6d0dd3
VS
74902012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7493 when looking for partition separator.
7494
31230544
VS
74952012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7498 Escape commas.
7499
918a2517
VS
75002012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 Restructure FAT driver to avoid hook in label reading as it hits a
7503 GCC bug.
7504
7505 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7506 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
7507 (grub_fat_iterate_dir): Split into ...
7508 (grub_fat_iterate_init): ... this, ...
7509 (grub_fat_iterate_fini): ... this, ...
7510 (grub_fat_iterate_dir_next): ... and this. All users updated.
7511
9f1d654e
VS
75122012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7515 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7516 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7517 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7518 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7519 New fields last_key and last_key_time.
7520 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7521 extended key-esc into extended key-extended key.
7522
52f0f643
VS
75232012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 Avoid unnecessary memcpy of whole video buffer.
7526
7527 * grub-core/video/fb/video_fb.c (dirty): New struct.
7528 (framebuffer): Add members current_dirty and previous_dirty.
7529 (dirty): New function.
7530 (grub_video_fb_fill_rect): Update dirty.
7531 (common_blitter): Likewise.
7532 (grub_video_fb_scroll): Likewise.
7533 (doublebuf_blit_update_screen): Copy only dirty part.
7534 (doublebuf_pageflipping_update_screen): Likewise.
7535 (grub_video_fb_doublebuf_blit_init): Init dirty.
7536 (doublebuf_pageflipping_init): Likewise.
7537 (grub_video_fb_setup): Likewise.
7538
e169a180
VS
75392012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7542 poll rate.
7543
48556879
VS
75442012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 Fix wildcard regexp dot and other special characters handling.
7547 Reported by: Robert Mabee.
7548
7549 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7550 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7551 (split_path): Trigger expansion on '?'.
7552 (unescape): New function.
7553 (wildcard_expand): Unescape parts copied without globbing.
7554 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7555 (grub_script_arglist_to_argv): Don't unescape expansions.
7556
0494408e
VS
75572012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * include/grub/net.h (grub_net_card): New member txbufsize.
7560 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
7561 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7562 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7563 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7564 txbufsize.
7565 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7566 compatible property to check for macs. Set
7567 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7568 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7569 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7570 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7571 (send_card_buffer): Use txbuf.
7572 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7573 nested function out of the parent while on it.
7574
cc35fe8f
VS
75752012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7578 presence check.
7579 (grub_ieee1275_net_config_real): Fix config pointer.
7580
970a0a09
VS
75812012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7584 filename parsing to non-block devices.
7585
3e19bf87
VS
75862012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7589
c62d1a0c
VS
75902012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7593 All users updated.
7594
ef76bec3
VS
75952012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7598 UUID search command even if hints probing failed.
7599
76002012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
7601
7602 * po/POTFILES.in: Regenerated.
7603
70aaf305
VS
76042012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 Speed-up video on fuloong.
7607
7608 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7609 New function.
7610 (grub_pci_device_unmap_range): Handle non-cached address.
7611 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7612 add direct_ptr.
7613 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7614 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7615 (grub_video_sis315pro_set_active_render_target): Removed.
7616 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7617 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7618 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7619 sync caches.
7620 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7621 New proto.
7622
10400f0b
VS
76232012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * docs/grub.texi (Multi-boot manual config): New section.
7626
ba67e2c6
VS
76272012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 Avoid slow read-back from VRAM.
7630
7631 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7632 Move from here ...
7633 * grub-core/video/fb/video_fb.c
7634 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7635 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7636 (front_target): Remove front_target. Add pages.
7637 (grub_video_fb_init): Skip setting front_pages.
7638 (grub_video_fb_fini): Likewise.
7639 (doublebuf_blit_update_screen): Use pages.
7640 (grub_video_fb_doublebuf_blit_init): Likewise.
7641 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7642 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7643 (grub_video_fb_setup): Prefer doublebuffing.
7644
377c98cb
VS
76452012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7648 gzio.
7649
eac49cff
VS
76502012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 Add loongson tests.
7653
7654 * tests/util/grub-shell.in: Handle loongson.
7655 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7656 drivers.
7657 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7658 Reboot instead of shutdown if REBOOT is defined.
7659
0321415e
VS
76602012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7663 sized ports since unlike on real hardware qemu supports only 32-bit
7664 regs.
7665
3f2bdd8f
VS
76662012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7669 * util/grub-mkrescue.in: Handle loongson.
7670
29a049c9
VS
76712012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7672
7673 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7674 Set is_part appropriately.
7675 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7676 names. Canonicalize partition without full disk.
7677
4abde346
VS
76782012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 Revert usb-quiesce since it's wrong.
7681
7682 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7683 (grub_ofdisk_init): Don't do quiesce.
7684
61f1d93b
VS
76852012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7688 PowerMac workaround to Xserves as well.
7689 Information supplied by: Benjamin Herrenschmidt.
7690
a09eb541
VS
76912012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 Don't assume that beginning address is also the entry point on ppc.
7694
7695 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7696 (grub_linux_boot): Use linux_entry.
7697 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7698 (grub_linux_load64): Likewise.
7699
505b3c9b
VS
77002012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7703
cbe0b4ef
VS
77042012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7707 needlessly lose the console.
7708
3006e981
VS
77092012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7712 space.
7713
4e5a96b0
VS
77142012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7715
7da036bb
VS
7716 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7717 than current grub_get_rtc() not implemented when booted with
7718 coreboot without TSC.
7719
7720 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7721 Add machine/time.h to kernel headers on loongson.
7722 * grub-core/Makefile.core.def (kernel): Remove
7723 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7724 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7725 (grub_get_rtc): Likewise.
7726 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7727 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7728 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7729 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7730 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7731 rather than installing known non-working time source.
7732 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7733 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7734 * include/grub/time.h: Don't include machine/time.h.
7735 * include/grub/efi/time.h: Removed.
7736 * include/grub/i386/efi/time.h: Likewise.
7737 * include/grub/i386/ieee1275/time.h: Likewise.
7738 * include/grub/powerpc/ieee1275/time.h: Likewise.
7739 * include/grub/sparc64/ieee1275/time.h: Likewise.
7740 * include/grub/x86_64/efi/time.h: Likewise.
7741
77422012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7745
7746 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7747 value.
7748 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7749 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7750 with dotless variants when any combining above is present.
7751
5561c22d
VS
77522012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7755 text and not binary.
7756
96f7e60e
VS
77572012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 Stop polling as soon as we have the packet we were waiting for.
7760
7761 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7762 All users updated.
7763 * grub-core/net/arp.c (have_pending): New var.
7764 (pending_req): Likewise.
7765 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7766 stop indicator.
7767 (grub_net_arp_receive): Set have_pending.
7768 * grub-core/net/dns.c (recv_data): New field stop.
7769 (recv_hook): Set stop.
7770 (grub_net_dns_lookup): Init stop and use as stop condition.
7771 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7772 condition.
7773 * grub-core/net/net.c (grub_net_poll_cards): New argument
7774 stop_condition. Stop when it goes true.
7775 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7776 indicator.
7777 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7778
3e747239
VS
77792012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 Keep TX and RX buffers on EFI rather than always allocate new ones.
7782
7783 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7784 card. All users updated.
7785 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7786 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7787 (get_card_packet): Likewise.
7788 (grub_efinet_findcards): Init new fields.
7789
f695e99a
VS
77902012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7793 compilation error on sparc64.
7794
9e5e66d1
VS
77952012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 Use ITC on IA64 rather than broken routine based on daytime.
7798
7799 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7800 ia64.
7801 (grub_get_rtc) [__ia64__]: Likewise.
7802 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7803 (get_itc): New function.
7804 (grub_rtc_get_time_ms): Likewise.
7805 (grub_machine_init): Calibrate ITC.
7806 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7807 Keep only on non-ia64. Don't export since it's broken and used only
7808 if TSC is unavailable.
7809
a1767404
VS
78102012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7813 even if it's used.
7814 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7815 Skip if parent is unused.
7816
34b2bced
VS
78172012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7820
5e619f40
VS
78212012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7822
7823 Fix wildcard escaping.
7824
7825 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7826 * grub-core/script/execute.c (wildcard_escape): .. to here.
7827 Don't escape dot.
7828 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7829 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7830 Don't escape dot.
7831 * grub-core/script/execute.c (gettext_append): Always escape.
7832 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7833 * grub-core/script/yylex.l: Don't cut away the escaping.
7834 * tests/grub_script_echo1.in: Add tests with wildcard.
7835
c8ca5855
VS
78362012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7839 (ftdi_hw_configure): Likewise.
7840 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7841 define.
7842 (real_config): Handle 1.5 stop bits.
7843 (pl2303_hw_configure): Likewise.
7844
7183452c
VS
78452012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * Makefile.am: Add ppc linux bootcheck.
7848 * grub-core/tests/boot/linux-ppc.cfg: New file.
7849 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7850
f57c84cd
VS
78512012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * tests/grub_script_expansion.in: Skip network protocols.
7854
ecfc6207
VS
78552012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7858
8d03d284
VS
78592012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7862 --rom-directory.
7863 Add -graft-points.
7864
61c42af0
VS
78652012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 ESCC serial driver for conducting sautomated tests in qemu.
7868 Not tested on real hardware.
7869
7870 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7871 * grub-core/term/ieee1275/escc.c: New file.
7872 * grub-core/Makefile.core.def (escc): New module.
7873
08fd1291
VS
78742012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7875
7876 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7877 invalid on error.
7878 (serial_hw_fetch): Don't read invalid handle.
7879 (serial_hw_put): Don't write into invalid handle.
7880
08dafeea
VS
78812012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 Add a 1.5 stop bits value.
7884
7885 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7886 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7887 GRUB_SERIAL_STOP_BITS_1_5.
7888
9068fdcf
VS
78892012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7892 value rather than let it uninited.
7893
f4d5820f
VS
78942012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7895
7896 * grub-core/commands/wildcard.c (+check_file): New function.
7897 (wildcard_expand): Don't expand to non-existing files, expand with
7898 suffix and not attempt to expand if not needed.
7899
3d2de9a7
VS
79002012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7903 out of partitions containing other partitions.
7904
c5c81ff9
VS
79052012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7906
7907 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7908 on some qemu versions with GRUB.
7909
7910 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7911 define.
7912 (grub_openbsd_bootarg_pcibios): New struct.
7913 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7914 Add PCIINFO.
7915
08a14e0b
VS
79162012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * tests/util/grub-shell.in: Trim firmware output on EFI.
7919
cede3ca3
VS
79202012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7923 and coreboot since it's already in kernel.
7924
558d3a60
VS
79252012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7928 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7929 to here. New return value start. All users updated.
7930 Recursively scan linear mappings.
7931 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7932 proto.
7933 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7934 Use grub_util_get_dm_node_linear_info.
7935 * util/getroot.c (convert_system_partition_to_system_disk): Use
7936 grub_util_info rather than grub_dprintf.
7937 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7938
60fde14d
VS
79392012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7942
7943 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7944 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7945
24bd8838
VS
79462012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 * include/grub/types.h (grub_set_unaligned64): New function.
7949 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7950 (setup): Likewise.
7951
7bc06a49
VS
79522012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7955 (grub_ofdisk_fini): Quiesce USB devices.
7956
49cea015
VS
79572012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7960 caches.
7961
8dcbe03b
VS
79622012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7965
5b258735
VS
79662012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * grub-core/disk/pata.c (grub_pata_pio_read)
7969 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7970 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7971
37ba07eb
VS
79722012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 Extend automated tests to qemu-mips.
7975
7976 * Makefile.am: reorganise tests and enable qemu-mips.
7977 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7978 * grub-core/tests/boot/linux.init-mips.S: New file.
7979 * tests/partmap_test.in: Handle ata0 disks.
7980 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7981 non-pc i386.
7982
070038f8
VS
79832012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7986 ia64.
7987 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7988 quotes while on it.
7989
004be2cd
VS
79902012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7993 (grub_halt): Likewise.
7994 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7995
b1622487
VS
79962012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * grub-core/term/serial.c (grub_serial_register)
7999 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
8000 the behaviour in line with x86 platforms.
8001
b7b4ab33
VS
80022012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
8005 (grub_ata_strncpy): Likewise.
8006 (grub_ata_identify): Add missing byteswaps.
8007
5e3535ae
VS
80082012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
8011 byte-swap.
8012 (screen_read_char): Likewise.
8013 (grub_vga_text_cls): Likewise.
8014
c21b17e6
VS
80152012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
8018 filenames.
8019 (make_file_path): Likewise.
8020
bf293dec
VS
80212012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
8024 machines.
8025 Tested by: Paulo Flabiano Smorigo.
8026 Crucial information about API supplied by: Coleen <Last name unknown>.
8027 Reviewed by: Coleen <Last name unknown>.
8028
81f6ef0e
VS
80292012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * util/grub-mkimage.c: Disable -Wcast-align.
8032
7284143a
VS
80332012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
8036 as they are fatal.
8037
b99f3e00
VS
80382012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
8041
944f752d
VS
80422012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * util/grub-probe.c (escape_of_path): Fix double free.
8045
6cce6f38
VS
80462012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * grub-core/commands/videoinfo.c (hook): Show pitch.
8049
1e1eb50e
VS
80502012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * util/grub.d/20_linux_xen.in: Skip xen-syms.
8053
1c715b5a
VS
80542012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
8057 (probe): Add ieee1275 to OFW devices.
8058
007ae52d
VS
80592012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
8062
4557a36d
VS
80632012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 Handle IBM OFW path.
8066
8067 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
8068 available.
8069 (of_path_of_scsi): Handle vdevice.
8070
efbeefe9
VS
80712012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
8074 Allocate in multiples of 16 to avoid adding a few bytes free region the
8075 windows bugs upon.
8076
15a940bb
VS
80772012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
8080 Allocate in multiples of 16 to avoid adding a few bytes free region the
8081 windows bugs upon.
8082 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
8083
6e5efd60
VS
80842012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
8087 resolutions.
8088 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
8089 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
8090
0d3d137e
IS
80912012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
8092
8093 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
8094
45dbe300
VS
80952012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
8098 resulted in \\ at the end of the line.
8099
6d8db947
VS
81002012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8101
8102 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
8103 (grub_parser_cmdline_state): Likewise.
8104 (grub_parser_split_cmdline): Likewise.
8105
de89d338
VS
81062012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
8109 /dev/root and /dev/dm-*.
8110
00d41dee
VS
81112012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8112
8113 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
8114 fix partially stale display.
8115
f95d1f11
VS
81162012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 * grub-core/normal/menu_entry.c (backward_char): Use right line for
8119 substraction.
8120
6297e197
VS
81212012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
8124 Fix MBR remapping workaround.
8125 (grub_util_biosdisk_read) [__linux__]: Likewise.
8126
8a7ecad3
VS
81272012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 * util/grub-install.in: Check for ieee1275 and not ieee1276.
8130
2b34f944
VS
81312012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 * configure.ac: Bump to beta6.
8134
684aef11
CW
81352012-05-31 Christer Weinigel <christer@weinigel.se>
8136
8137 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
8138
05b0bb91
VS
81392012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
8142 (grub_cmd_linux): Likewise.
8143
bda36bfa
CW
81442012-05-31 Christer Weinigel <christer@weinigel.se>
8145
8146 Fix EHCI low-speed.
8147
8148 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
8149 (GRUB_EHCI_MULT_TWO): Likewise.
8150 (GRUB_EHCI_MULT_THREE): Likewise.
8151 (GRUB_EHCI_CMASK_MASK): New enum value.
8152 (GRUB_EHCI_SMASK_MASK): Likewise.
8153 (GRUB_EHCI_CMASK_OFF): Likewise.
8154 (GRUB_EHCI_SMASK_OFF): Likewise.
8155 (grub_ehci_pci_iter): Enable periodic schedule.
8156 (grub_ehci_parse_notrun): Likewise.
8157 (grub_ehci_restore_hw): Likewise.
8158 (grub_ehci_setup_qh): Set flags for low speed transfers.
8159 (grub_ehci_find_qh): Use periodic list for low speed.
8160 (grub_ehci_setup_transfer): Check periodic queue as well.
8161 (grub_ehci_check_transfer): Likewise.
8162 (grub_ehci_cancel_transfer): Cancel periodic transfer.
8163
e12bcb1c
PFS
81642012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8165
8166 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
8167 parameter is used.
8168
bcc75fb3
PJ
81692012-05-31 Peter Jones <pjones@redhat.com>
8170
8171 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
8172 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
8173 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
8174
f19cb95e
VS
81752012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
8178 uninited variable. Allocate at least setup_sects.
8179
a4e5ca80
VS
81802012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8181
8182 Fix handling of EFI with big memory maps.
8183
8184 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
8185 (real_mode_mem): Likewise.
8186 (real_mode_target): Likewise.
8187 (real_mode_pages): Likewise.
8188 (prot_mode_pages): Likewise.
8189 (linux_params): New var.
8190 (linux_cmdline): Likewise.
8191 (free_pages): Don't set real mode variables.
8192 (allocate_pages): Don't allocate real mode memory.
8193 (grub_e820_add_region): Remove the limit.
8194 (grub_linux_boot): Allocate and copy real mode memory.
8195 (grub_linux_unload): Free linux_cmdline.
8196 (grub_cmd_linux): Use temporary storage for parameters.
8197 (grub_cmd_initrd): Likewise.
8198 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
8199 (linux_kernel_params): Make it 1K big.
8200
ddb73558
VS
82012012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * Makefile.util.def: Remove -Wno-format.
8204 * grub-core/Makefile.core.def: Likewise.
8205
1c4afb60
VS
82062012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 * tests/cmp_unit_test.c: Add missing failure message.
8209 * tests/example_unit_test.c: Likewise.
8210 * tests/printf_unit_test.c: Likewise.
8211
941e3a6d
VS
82122012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
8215 relaxation of protective MBR requirements.
8216
b105df76
VS
82172012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 * configure.ac: Add condition for COND_HOST_XNU.
8220 * Makefile.util.def (10_xnu): New script.
8221 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
8222
84e1569e
VS
82232012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
8226 objconv bug.
8227
130c0f77
VS
82282012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8229
8230 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
8231 Binary on other platforms stays identical.
8232
6fd0b143
VS
82332012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
8236 Apple.
8237
0af1751d
VS
82382012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
8241
176d5f7d
VS
82422012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
8245 rather than defining size_t ourselves to avoid conflict.
8246
7de5e20a
VS
82472012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
8250 initialisation to avoid __bzero reference.
8251
f7143efe
VS
82522012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
8255 version.
8256 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
8257 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
8258 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
8259 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
8260 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
8261
e6ad0555
VS
82622012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
8265 * grub-core/kern/misc.c: Likewise.
8266 * grub-core/loader/i386/xnu.c: Likewise.
8267 * include/grub/i386/tsc.h: Likewise.
8268 * include/grub/symbol.h: Likewise.
8269
4a5a3c4a
VS
82702012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
8273 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
8274 on older compiler.
8275
037f6d90
VS
82762012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8277
8278 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
8279 Implement Apple flavour.
8280 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
8281
f7194551
VS
82822012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
8285 (memmove) [__APPLE__]: Likewise.
8286 (memcpy) [__APPLE__]: Likewise.
8287 (memset) [__APPLE__]: Likewise.
8288 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
8289 (memmove) [__APPLE__]: Likewise.
8290 (memcpy) [__APPLE__]: Likewise.
8291 (memset) [__APPLE__]: Likewise.
8292
85a730ca
VS
82932012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
8296 dependency discard.
8297
40e80b94
VS
82982012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 * grub-core/normal/main.c (read_config_file): Provide config_file and
8301 config_directory.
8302 * util/grub.d/41_custom.in: Use config_directoy when available.
8303
9da59c32
VS
83042012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
8307 (grub_bfs_dir): Likewise.
8308
2787ae53
PJ
83092012-05-27 Peter Jones <pjones@redhat.com>
8310
8311 The old code gives arguments to a printf function which can't work
8312 correctly, and the compiler complains.
8313
8314 * grub-core/tests/example_functional_test.c (example_test): Add
8315 missing text.
8316 * grub-core/tests/lib/test.c (add_failure): Rewrite.
8317 * include/grub/test.h (grub_test_assert_helper): New declaration.
8318 (grub_test_assert): Use grub_test_assert_helper.
8319
526ef13d
VS
83202012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
8323 (exfctest): ... this to avoid overlong filenames.
8324 All users updated.
8325
20dd511c
VS
83262012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 Handle "." and ".." on squashfs.
8329
8330 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
8331 Make inode numbers into stack.
8332 (grub_squash_read_symlink): Use stack.
8333 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
8334 (make_root_node): Fill stack.
8335 (grub_squash_open): Use stack.
8336
1d80c62a
VS
83372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
8340 freeing.
8341
d336f652
VS
83422012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8345 stderr on test calls.
8346
8b43f587
VS
83472012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8350
80a3dc3f
VS
83512012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8354
47e297d4
VS
83552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8358 "..".
8359
df042ccb
VS
83602012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8363 (grub_hfsplus_iterate_dir): Add "." and "..".
8364
fc977f48
VS
83652012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8368 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8369
f3250e5f
VS
83702012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8373 (find_path): Handle "." and "..".
8374
fd8ed4c5
VS
83752012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8378 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8379 (grub_affs_iterate_dir): Handle hardlinks.
8380
4ce776d2
MG
83812012-05-26 Matthew Garrett <mjg@redhat.com>
8382
8383 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8384 (grub_efi_console_fini): Likewise.
8385 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8386 (grub_video_gop_fill_mode_info): Rename to ...
8387 (grub_video_gop_fill_real_mode_info): ... this.
8388 (grub_video_gop_fill_mode_info): New function.
8389 (grub_video_gop_setup): Setup double framebuffer.
8390 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8391 Free offscreen.
8392 (grub_video_gop_swap_buffers): Copy framebuffer.
8393 (grub_video_gop_fini): Free offscreen buffer.
8394 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8395 New enum.
8396 (grub_efi_gop_blt_pixel): New struct.
8397
683031ba
VS
83982012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * gentpl.py: Remove error disabling for objconv.
8401
c2deb798
VS
84022012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * configure.ac: Remove -Wunitialized as it's not available on older
8405 compilers.
8406
84072012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
8408
8409 Fix extent overflow comparator.
8410
8411 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8412 (grub_hfsplus_read_block): Set type.
8413 (grub_hfsplus_cmp_extkey): Compare type.
8414
d6b1fd36
VS
84152012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8418
0a9aa0f6
VS
84192012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8422 than 0.
8423
8360e159
VS
84242012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8427 (dejavu_bold_14.pf2): New target.
8428
501b9e4b
VS
84292012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * configure.ac: Fix djvu font detection.
8432
7026b0e2
VS
84332012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8436 ext* instead of ext2.
8437
c2a51ade
VS
84382012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8441 name with \0.
8442
8f803a5d
JU
84432012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8444
8445 * docs/grub-dev.texi: Remove dot from .png.
8446
13c6353f
VS
84472012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8448
8449 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8450 protective entry in any slot.
8451 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8452 if protective entry is found in any slot.
8453
8454 Protective entry in non-first slot make no sense but is a widespread
8455 brain damage.
8456
4cf6be1b
VS
84572012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8460
937d1c44
VS
84612012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8464 with old reiserfs.
8465 (grub_reiserfs_open): Don't free root.
8466
021d90ec
VS
84672012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8470 after freeing for safety.
8471
967b2b64
VS
84722012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
8475 Reported by: Jordan Uggla.
8476
34274d02
JU
84772012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
8478
967b2b64
VS
8479 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
8480 actual implementation. Specifically, clarify that the grub menu will
8481 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
8482 passed.
34274d02 8483
dcaaae9d
BH
84842012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8485
8486 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8487 of r0.
8488
7086ad52
VS
84892012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8490
8491 Remove unjustified hard dependency of normal.mod on gfxterm.
8492
8493 * include/grub/term.h (grub_term_output): New member fullscreen.
8494 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8495 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8496 (grub_gfxterm): Set .fullscreen.
8497 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8498 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8499
37ed2c9b
VS
85002012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
8503 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 8504 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 8505
a4469c88
VS
85062012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
8509
4e461486
VS
85102012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8513 a bad FS.
8514
aa78f5c4
VS
85152012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8518 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8519
197626b5
VS
85202012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8523 (grub_jfs_mount): Fill caseins.
8524 (grub_jfs_find_file): Respect caseins.
8525
8ad3f28c
VS
85262012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8529 through UTF-16.
8530
0c6c324e
VS
85312012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8534 New argument origpath. All users updated.
8535
c6666ba6
VS
85362012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8539 (read_attr): Ensure that we read start of possibly compressed block.
8540
e28e5fe5
VS
85412012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8544 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8545 All users updated.
8546
5fc23ab2
VS
85472012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8550 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8551 (dejavu.pf2): Replace with ...
8552 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8553 this.
8554
79dbc21c
VS
85552012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 * util/grub.d/20_linux_xen.in: Add missing line.
8558
d2fcfb0c
VS
85592012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
8562 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8563 (grub_utf16_to_utf8): Likewise.
8564
5560e9d6
VS
85652012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8568 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8569 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8570 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8571 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8572 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8573
85742012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
8575
8576 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8577 a bad FS.
8578
5560e9d6 85792012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
8580
8581 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8582 (grub_udf_read_symlink): Handle read_string failure.
8583
5eae3175
VS
85842012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8587 comment.
8588
c1ad82db
VS
85892012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8590
8591 Fix handling of UDF symlinks.
8592
8593 * grub-core/fs/udf.c (read_string): New argument outbuf.
8594 All users updated.
8595 (grub_ufs_read_symlink): Rename to ...
8596 (grub_udf_read_symlink): ... this. All users updated.
8597 Handle symlinks with more than one component.
8598
33eca6e0
VS
85992012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8602 symlinks. Replace leading colon with a slash.
8603
57f4a70b
VS
86042012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8607 filename.
8608
38c8ee20
VS
86092012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8610
8611 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8612 match in inner node.
8613
2e57f28f
VS
86142012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8615
8616 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8617 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8618 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8619 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8620 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8621 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8622 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8623 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8624 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8625
fe8c2f11
VS
86262012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 Use grub-probe and not cmp to check that disk is empty.
8629
8630 * util/grub-install.in: Use grub-probe for zero-check.
8631 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8632 (probe): Handle PRINT_ZERO_CHECK.
8633 (argp_parser): Handle -t zero_check.
8634
86352012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
8636
8637 Flush block cache on adding disk to device map.
8638
8639 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8640 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8641 adding.
8642 (read_device_map): Likewise.
8643 (open_device): Flush on opening.
8644
690434e8
VS
86452012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8648 (handle_symlink): Fix off-by-one error.
8649 Canonicalize the target.
8650 (grub_cpio_dir): Canonicalize the name.
8651 Fix memory leak.
8652 Set directory.
8653 (grub_cpio_open): Canonicalize the name.
8654
742d2be6
VS
86552012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8658 handling.
8659
3244fe96
VS
86602012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8663 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8664
8aeb1837
VS
86652012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8668 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8669 All users updated.
8aeb1837 8670
9133fd05
VS
86712012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8674 counterpart.
8675
6d521c5b
VS
86762012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 Fix UFS1 big file support.
8679
8680 * grub-core/fs/ufs.c (INODE): Removed.
8681 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8682 64-bit.
8683 (INODE_MODE): Simplify.
8684 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8685 (grub_ufs_lookup_symlink): Don't use INODE.
8686
21b82e17
VS
86872012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8690
8691 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8692 (grub_minix_data): Replace log_block_size with block_size.
8693 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8694 (grub_minix_mount): Fill block_size.
8695
86962012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
8697
8698 * configure.ac: Bump to beta5.
8699
f417ed04
VS
87002012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 Fix wrapped HFS+ handling.
8703
8704 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8705 blocks_start. All users updated.
8706 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8707 wrapping offset.
8708 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8709
607d282b
VS
87102012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 Fix long symlinks on reiserfs.
8713
8714 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8715 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8716 (grub_reiserfs_iterate_dir): Save size for non-directories.
8717 (grub_reiserfs_open): Don't reread stat block as we already know the
8718 size.
8719 (grub_reiserfs_read): Split into...
8720 (grub_reiserfs_read_real): ... and ...
8721 (grub_reiserfs_read): ...this.
8722
ae16024d
VS
87232012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 Fix non-indexed JFS.
8726
8727 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8728 (grub_jfs_data): New field namecomponentlen.
8729 (grub_jfs_mount): Fill namecomponentlen.
8730 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8731
eea1e26e
VS
87322012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8735 * tests/grub_script_echo1.in: Add tests.
8736
df760f77
VS
87372012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * util/grub-install.in: Ignore empty devicetree directory.
8740
5efb817d
B
87412012-05-08 Bean <bean123ch@gmail.com>
8742
8743 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8744 All users updated.
8745 (free_rsm): Free header as well.
8746 (free_old_fragments): Fix memory leak.
8747 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8748 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8749 (destroy_pq): Likewise.
8750 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8751
668ea6d2
VS
87522012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8753
8754 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8755 resulting hash as a precaution.
8756
1739b1fe
VS
87572012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8760 '_' in variable names.
8761 * grub-core/net/net.c (grub_net_network_level_interface_register):
8762 Likewise.
8763
6ae485aa
VS
87642012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 Fix AFFS with non-512B blocks.
8767
8768 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8769 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8770 (grub_affs_data): Replace blocksize with log_blocksize.
8771 (grub_affs_read_block): Fix non-512B blocks.
8772 (grub_affs_read_symlink): Likewise.
8773 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8774 (grub_affs_read): Fix non-512B blocks.
8775 (grub_affs_label): Likewise.
8776 (grub_affs_mtime): Likewise.
8777 (grub_affs_mount): Fix block detection routine.
8778
d20fab84
VS
87792012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 Add filesystem mtime to AFFS.
8782
8783 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8784 (aftime2ctime): New function.
8785 (grub_affs_dir): Use aftime2ctime.
8786 (grub_affs_label): Fix return value.
8787 (grub_affs_mtime): New function.
8788 (grub_affs_fs): Add mtime.
8789
e87b10f5
VS
87902012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8793 UTF-8.
8794
7dceec9b
VS
87952012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8798 UTF-8.
8799
2f48221f
VS
88002012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8803
dacd85cf
VS
88042012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8807 flags.
8808 (FLAGS_CASE_SENSITIVE): New enum value.
8809 (cache_entry): New struct.
8810 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8811 cache_size and cache.
8812 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8813 Add log_blocksize and fshelp_flags.
8814 (grub_sfs_read_extent): Handle non-512 blocks.
8815 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8816 (grub_sfs_read_file): Handle non-512 blocks.
8817 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8818 fshelp_flags.
8819 (grub_sfs_read_symlink): Handle non-512 blocks.
8820 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8821 (grub_sfs_dir): Free cache.
8822 (grub_sfs_close): Likewise.
8823
24e9a854
VS
88242012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8827 filesystems.
8828
62ace64d
VS
88292012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8832
83b2e89c
VS
88332012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8836
75ccaea3
VS
88372012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8840 (grub_sfs_read_extent): Likewise.
8841 (grub_sfs_read_block): Likewise.
8842 (grub_sfs_mount): Likewise.
8843 (grub_sfs_iterate_dir): Likewise.
8844 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8845 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8846
1b8463f2
VS
88472012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 Fix errors on compressed NTFS with 512B clusters.
8850
8851 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8852 types.
8853 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8854 not 0.
8855 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8856 Relax check for inline extents.
8857 (ntfscomp): Return correct -1 on error and not 0.
8858
4f8e368f
VS
88592012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * util/grub-install.in: Fix handling of prefix containing spaces.
8862
6f5d5ee8
VS
88632012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8866 (grub_squash_read_data): Fix offset byte-swapping.
8867
ce41ab7a
VS
88682012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8871 per common usage and preffered in several parts of code.
8872 (grub_memcmp): Likewise.
8873 (grub_strncmp): Likewise.
8874 * include/grub/misc.h (grub_strcasecmp): Likewise.
8875 (grub_strncasecmp): Likewise.
8876 * Makefile.util.def (cmp_test): New test.
8877 (grub_script_strcmp): Likewise.
8878 * tests/cmp_unit_test.c: New file.
8879 * tests/grub_script_strcmp.in: Likewise.
8880 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8881
49717bf4
VS
88822012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * include/grub/pci.h: Move enums into no-asm part.
8885
0a308f64
VS
88862012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8889
1796965f
ST
88902012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8891
8892 * util/getroot.c (find_hurd_root_device): Try to make error message
8893 and comments to translators clearer.
8894
4e9b2819
VS
88952012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8898
076aeb50
VS
88992012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8902 btrfs.
8903
19424d94
VS
89042012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * docs/grub.cfg: Update.
8907
ebb73076
VS
89082012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 * docs/grub.texi (PXE): Remove not present variables.
8911
9a1b669c
VS
89122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * grub-core/net/net.c (defserver_set_env): New function.
8915 (defserver_get_env): Likewise.
8916 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8917
d38bf7d3
VS
89182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8921 entries.
8922
89232012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8924
8925 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8926 * grub-core/kern/emu/hostdisk.c: Likewise.
8927
e5e4ca48
ST
89282012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8929
8930 Handle hurd userspace partitions.
8931
8932 * util/getroot.c (find_hurd_root_device): New function.
8933 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8934
56bb5dd5
VS
89352012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8938 names.
8939 Reported by: Bastian Blank.
8940
9e8bc27a
VS
89412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8944 crossing page boundary.
8945
aa01499d
VS
89462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 Fix B-tree search in BFS, especially in presence of non-ASCII
8949 characters.
8950
8951 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8952 (find_in_b_tree): Use standard bsearch + btree algorithm.
8953
57006035
VS
89542012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8957 and so on.
8958
9d34bb85
MG
89592012-05-03 Matthew Garrett <mjg@redhat.com>
89602012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 Suspend broadcom cards in order to stop their DMA.
8963
8964 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8965 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8966 (pci): Don't build on x86 EFI.
8967 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8968 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8969 New function.
8970 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8971 stop_broadcom if running on EFI.
8972 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8973 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8974 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8975 (grub_pci_find_capability): New proto.
8976
01aab997
VS
89772012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 * docs/grub.texi: Remove dot from the extension as it apparently
8980 doesn't work with some makeinfo versions.
8981
fbd8dca6
VS
89822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8985 with GRUB expectance.
8986
dab797f4
VS
89872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8990
1516bfb4
VS
89912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8994 zero after directory block since last entry may be not 0-terminated if
8995 it ends on block boundary. Use continue instead of if spanning whole
8996 loop.
8997
a3a0eace
VS
89982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 Support 4K sectors UDF inline files.
9001
9002 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
9003 (grub_udf_extended_file_entry): Likewise.
9004 (grub_fshelp_node): Name the anonymous union. Put block at the end.
9005 All users updated.
9006 (get_fshelp_size): New function.
9007 (grub_udf_read_icb): Read whole block.
9008 (grub_udf_iterate_dir): Likewise.
9009 (grub_udf_dir): Likewise.
9010 (grub_udf_open): Likewise.
9011
c82f16c1
VS
90122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
9015
59fd2aac
VS
90162012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
9019 inline symlinks in addition to workaround.
9020
3b4afb4d
VS
90212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
9024
f45c794a
VS
90252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
9028
f25cecbd
VS
90292012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
9032
bb9a34e8
VS
90332012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 Fix reiserfs big seek times.
9036
9037 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
9038 exact. All users updated.
9039 (grub_reiserfs_read): Use nearest btree search for seeking.
9040 Fix return value on error.
9041
dc478aea
VS
90422012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
9045 entries.
9046 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
9047 * docs/grub.texi: Update menuentry description.
9048
8db10f47
VS
90492012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
9052 crash when embedding onto filesystem.
9053
bcb288ed
VS
90542012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
9057 name.
9058
a626fdd7
VS
90592012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
9062
b2f68477
VS
90632012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
9066 commit.
9067
ba15b2af
B
90682012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
90692012-05-01 Bean <bean123ch@gmail.com>
9070
9071 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
9072
a188012e
VS
90732012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
9076 Special behaviour for len = 0 to read whole file isn't used anywhere and
9077 can cause buffer ovewrflows in several places.
9078
f0a53ed2
VS
90792012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
9082
5ed554f0
VS
90832012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 Handle RAIDZ on non-512B sectors.
9086
9087 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
9088 max_children_ashift.
9089 (fill_vdev_info_real): Fill max_children_ashift.
9090 (read_device): Use max_children_ashift.
9091
ddc58357
VS
90922012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
9095
e3282399
VS
90962012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9097
9098 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
9099 disk names.
9100 * docs/grub.texi: Update device.map parts.
9101
ee618bd4
VS
91022012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9103
9104 Don't scan into non-diskfilter devices having diskfilter names.
9105
9106 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
9107 (scan_disk): New argument accept_diskfilter. Fix recursion depth
9108 handling.
9109 (scan_disk_hook): New function.
9110
bdf88864
B
91112012-04-29 Bean <bean123ch@gmail.com>
9112
9113 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
9114 allocation.
9115
32745f51
MK
91162012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
9117
9118 * configure.ac: Detect starfield theme font path
9119 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
9120
bc95c8c0
VS
91212012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
9124 geometry on serial consoles.
9125
147fbcab
VS
91262012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
9129 because of network consoles.
9130
0f42c889
VS
91312012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
9134 handling.
9135
4a3594c9
VS
91362012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
9139 falls on Q syndrom.
9140
5cb53879
VS
91412012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
9144 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
9145
b282dfe5
VS
91462012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
9149 Allocate at lest 8192 for temporary buffer as required for lzo.
9150
daa59f47
VS
91512012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9152
9153 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
9154 to cluster_bits, since it's already added in.
9155 (grub_fat_read_data): Likewise.
9156
986748ce
VS
91572012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
9160 as long as cluster size is multiple of 512 bytes.
9161
a20f6ad0
VS
91622012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * util/grub-mkrescue.in: Fix locale directory.
9165
385f9abb
VS
91662012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 * grub-core/kern/emu/hostdisk.c (map): Make static.
9169
1c557d30
B
91702012-04-23 Bean <bean123ch@gmail.com>
9171
9172 * util/grub-fstest.c (fstest): Add missing break.
9173
524b5d3a
ST
91742012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
9175
9176 Fix hurd build.
9177
9178 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
9179 not define nr variable.
fe4824e9 9180 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
9181 find_root_devices_from_poolname, find_root_devices_from_libzfs,
9182 grub_find_device): Do not define.
524b5d3a 9183
9a06490c
VS
91842012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 Fix kfreebsd compile and behaviour.
9187
9188 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
9189 format-security.
9190 * util/getroot.c: Fix wait.h include.
9191 (grub_guess_root_devices): Error if grub_find_device fails.
9192 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
9193 (grub_util_get_dev_abstraction): Likewise.
9194 (grub_util_pull_device): Likewise.
9195 (grub_util_get_grub_dev): Likewise.
9196 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
9197
48143d96
VS
91982012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 Fix and unify wholedisk detection.
9201
9202 * util/getroot.c (convert_system_partition_to_system_disk): New argument
9203 is_part. All users updated.
9204 (device_is_wholedisk): Removed.
9205 (grub_util_biosdisk_get_grub_dev): Use is_part.
9206
ebbd24f3
VS
92072012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
9210 mode.
9211
56f7aa1e
VS
92122012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9213
9214 * configure.ac: Bump to beta4.
9215
9c815e01
VS
92162012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
9219 --fs-uuid --set UUID syntax.
9220
59e2651a
VS
92212012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9222
9223 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
9224 disunification.
9225
54e03cfc
VS
92262012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
9229
81092a75
MK
92302012-04-18 Mads Kiilerich <mads@kiilerich.com>
9231
9232 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
9233
f8315e14
MG
92342012-04-18 Mike Gilbert <floppym@gentoo.org>
9235
9236 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
9237
1501ac21
B
92382012-04-18 Bean <bean123ch@gmail.com>
9239
9240 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
9241 place.
9242
cb7f944e
VS
92432012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
9246 users updated.
9247 (grub_util_biosdisk_read): Handle Linux partitions not exactly
9248 corresponding to GRUB partitions.
9249 (grub_util_biosdisk_write): Likewise.
9250
b72d44a1
VS
92512012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 Scan mdraid before LVM.
9254
9255 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
9256 (grub_diskfilter_register_front): ... this.
9257 (grub_diskfilter_register_back): New function.
9258 All users of grub_diskfilter_register updated.
9259
33d918b8
VS
92602012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * util/grub-install.in: Fix an automatic target detection bug.
9263
c6ca973d
VS
92642012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * util/grub-install.in: New option --efi-directory.
9267
b41be562
VS
92682012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
9271 boot services if we have no other choice.
9272
92732012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * util/grub-mknetdir.in: Rename --override-directory to --directory and
9276 document it.
9277 * tests/util/grub-shell.in: Update to --directory.
9278
e0595a73
VS
92792012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
9282
4ed80652
VS
92832012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
9286 (grub_minix_read_file): Likewise.
9287 (grub_minix_read_inode): Likewise.
9288 (grub_minix_find_file): Likewise.
9289 (grub_minix_dir): Likewise.
9290
56008077
VS
92912012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 * util/grub-setup.c (setup): Fix partition handling and blocklist
9294 check.
9295
ee520775
VS
92962012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
9299 redundant buggy overlap check.
9300
16fc9293
VS
93012012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
9304 and grub-mknetdir.
9305
9bab65c4
VS
93062012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
9309 kh.loadflags on pre-2.00 kernels.
9310
3c491b47
VS
93112012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 Terminate UNDI and PXE before launching the payload to avoid problems
9314 with DMA.
9315
9316 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
9317 (grub_loader_flags): ... this. All users updated.
9318 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
9319 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
9320 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
9321 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
9322 function.
9323 (grub_pxe_restore): Likewise.
9324 (fini_hnd): New var.
9325 (GRUB_MOD_INIT): Register shutdown hook.
9326 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
9327 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
9328 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
9329 (grub_loader_set): Rename second argument to flags.
9330
851ffada
VS
93312012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
9334 written bytes.
9335 (grub_get_num_of_utf8_bytes): New function.
9336 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
9337 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
9338 executing it.
9339 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
9340 (grub_ucs4_to_utf8): Change return type.
9341
491c57a8
VS
93422012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9345 warning.
851ffada
VS
9346 * grub-core/fs/bfs.c (hop_level): Likewise.
9347 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 9348
756773df
VS
93492012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * grub-core/lib/adler32.c: Recode due to license unclearness.
9352
fd556a96
VS
93532012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9356 (test_header): Likewise.
9357
9f9d3f69
VS
93582012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 Fix --help formatting.
9361
9362 * util/grub-mkconfig_lib.in (print_option_help): New function.
9363 (grub_fmt): Likewise.
9364 * util/grub-install.in: Use print_option_help and grub_fmt.
9365 * util/grub-kbdcomp.in: Likewise.
9366 * util/grub-mkconfig.in: Likewise.
9367 * util/grub-mknetdir.in: Likewise.
9368 * util/grub-mkrescue.in: Likewise.
9369 * util/grub-mkstandalone.in: Likewise.
9370 * util/grub-reboot.in: Likewise.
9371 * util/grub-set-default.in: Likewise.
9372 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9373
561ec77e
VS
93742012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * linguas.sh: Remove autogenerated *.po.
9377
7ec2b021
VS
93782012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 * po/README: Move language fetcing to ...
9381 * linguas.sh: ... here.
9382 * po/README: Point to linguas.sh.
9383
a88f3270
VS
93842012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * po/README: Exclude ko.po due to disclaimer problems.
9387
d61357ce
VS
93882012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9391 len = 0.
9392 (grub_gettext_translate_real): Handle 0th string.
9393 (grub_gettext_translate): Ensure that "" isn't translated.
9394
505e41dc
VS
93952012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9398 TRANSLATORS comment.
9399 (grub_diskfilter_print_partmap): Propagate changing of error into
9400 warning.
9401
e44092db
VS
94022012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9405 to uint64_t to prevent overflow.
9406 (grub_diskfilter_lv): Increase start_extent and extent_count
9407 to uint64_t to prevent overflow.
9408
9b83956a
VS
94092012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * configure.ac: Increase version.
9412
da0d5b3f
VS
94132012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9416
9417 * po/Rules-translit: New file.
9418 * po/arabic.sed: Likewise.
9419 * po/cyrillic.sed: Likewise.
9420 * po/greek.sed: Likewise.
9421 * po/hebrew.sed: Likewise.
9422 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9423 * po/Makefile.in.in: Add extra_dist4.
9424
ac66b453
VS
94252012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9428
9429 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9430 modify names. Introduce MODE_BIGENDIAN.
9431 * grub-core/fs/minix_be.c: New file.
9432 * grub-core/fs/minix2_be.c: Likewise
9433 * grub-core/fs/minix3_be.c: Likewise.
9434 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9435 minix3_be.
9436 * grub-core/Makefile.core.def (minix_be): New module.
9437 (minix2_be): Likewise.
9438 (minix3_be): Likewise.
9439
94402012-04-01 Felix <email@hamburg.de>
9441
9442 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9443 (devs): Add MBP 2011.
9444
0a2d5a82
VS
94452012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9448
d1625889
VS
94492012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9450
9451 * grub-core/normal/cmdline.c (print_completion): New field
9452 prompt_len.
9453 (grub_cmdline_get): Handle width properly.
9454
6d36a236
VS
94552012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9458
9576977e
VS
94592012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 9462 after 29th of February.
9576977e 9463
d73ff15d
VS
94642012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 Fix exfat endianness handling.
9467
9468 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9469 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9470 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9471 Byte-swap utf16 when necessary.
9472 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
9473
bbb39a45
AB
94742012-03-31 Anton Blanchard <anton@samba.org>
94752012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 Fix btrfs endianness handling.
9478
9479 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
9480 (lower_bound): Make root uint64_t. Use root in le.
9481 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
9482 (find_path): Fix template key init.
9483 (grub_btrfs_dir): Fix mtime byteswap.
9484 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9485
354e0af7
VS
94862012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9489 recursion_depth. Break infinite resursions. All users updated.
9490
4e75f21c
VS
94912012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9494 after free.
9495 Reported by: Peter Jones.
9496
25581802
AB
94972012-03-31 Anton Blanchard <anton@samba.org>
9498
9499 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9500 8 bit values.
9501
08fbf92e
VS
95022012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * util/grub-install.in: Fix nvram call for PreP.
9505
5d1182a6
VS
95062012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
9509 the error when some elements are missing into a warning.
9510
3f8cdd90
VS
95112012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
9514
51006716
CW
95152012-03-28 Colin Watson <cjwatson@ubuntu.com>
9516
9517 * docs/grub.texi (Invoking grub-probe): New section.
9518 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9519
e1bd676b
VS
95202012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 Fix tab and wide character handling in editor and menu.
9523
9524 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9525 agglomerate control characters with combining marks.
9526 (bidi_line_wrap): Allow break on tab.
9527 (grub_unicode_get_comb_start): New function.
9528 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9529 and tab correctly.
9530 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9531 with a space.
9532 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9533 fixed_tab_size. All users updated.
9534 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9535 (grub_term_getcharwidth): Handle \t.
9536 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9537 and copy.
9538
22e6a774
VS
95392012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 Handle big-endian mdraid.
9542
9543 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9544 * grub-core/Makefile.core.def (mdraid09_be): New module.
9545 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9546 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9547 * grub-core/disk/mdraid_linux_be.c: New file.
9548
3c0eae66
VS
95492012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9552
b6cf74c9
VS
95532012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9556 missing quotes which caused confusion among translators.
9557
83c93b9c
VS
95582012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 * util/grub-mkconfig_lib.in: Fix typo.
9561
ac6fd218
VS
95622012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9565 spaces.
9566 * tests/grub_script_leading_whitespace.in: New file.
9567 * Makefile.util.def (grub_script_leading_whitespace): New test.
9568
ba287dd8
VS
95692012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9572 to work.
9573
d2d58d0a
VS
95742012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9577 starts with control character.
9578
0382d9bb
VS
95792012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9580
9581 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9582 overflow.
9583 (grub_gdb_outbuf): Likewise.
9584
d83ff9f9
VS
95852012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9588 zero terminator. Fixes a crash.
9589
2282da4a
VS
95902012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9593 beyond 4 GiB.
9594 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9595 images independently of preffered adderss field.
9596
0ae4f0bd
VS
95972012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9600 * grub-core/commands/regexp.c: Likewise.
9601 * grub-core/loader/i386/linux.c: Likewise.
9602 * grub-core/partmap/msdos.c: Likewise.
9603 * grub-core/script/execute.c: Likewise.
9604 * grub-core/term/gfxterm.c: Likewise.
9605
546fbe9b
VS
96062012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 Add variable parsing in $"..." and fix several mismatches with bash.
9609
9610 * Makefile.util.def (grub_script_gettext): New test.
9611 * grub-core/script/execute.c (parse_string): New function.
9612 (gettext_append): Likewise.
9613 (grub_script_arglist_to_argv): Use gettext_append.
9614 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9615 * tests/grub_script_gettext.in: New file.
9616
9fdb2d7b
VS
96172012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 Fix handling of leading spaces in scripts.
9620
9621 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9622 spaces.
9623 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9624 other than skipping \r. All users updated.
9625 * tests/grub_script_echo1.in: Add space-related tests.
9626 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9627
1a1ac4f6
VS
96282012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9631
b63d89b6
VS
96322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * configure.ac: Bump up the version to beta2.
9635
17f38c0f
VS
96362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 Fix gettext reload bugs (e.g. inability to disable gettext
9639 once enabled).
9640
9641 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9642 main_context and secondary_context. All functions updated.
9643 (grub_gettext_translate): Rename to ...
9644 (grub_gettext_translate_real): ... this. Return NULL on failed
9645 translate.
9646 (grub_gettext_translate): Handle secondary context.
9647 (grub_gettext_delete_list): Close file and zero-out the context.
9648 (grub_mofile_open): Don't call grub_gettext_delete_list.
9649 Don't close file.
9650 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9651 if locale="" to avoid pointless error message.
9652 (grub_gettext_env_write_lang): Update lang even if load fails.
9653 Handle secondary context.
9654 (grub_gettext_reread_prefix): New function.
9655 (read_main): Likewise.
9656 (read_secondary): Likewise.
9657 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9658 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9659 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9660 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9661
8e56f870
VS
96622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 * configure.ac: Decrease warning level to avoid spurious warnings and
9665 to be able to compile with GCC 4.2.
9666 * Makefile.util.def: Remove -Wno-error=logical-op.
9667
82f6d455
WB
96682012-03-10 William Bittner <william.bittner@gmail.com>
9669
9670 * util/import_unicode.py: Add missing brackets around string for
9671 python 3 support.
9672
1ecd61a4
VS
96732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9674
9675 Fix efi chainloader on network root.
9676
9677 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9678 network devices.
9679 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9680 New function.
9681
14361ee8
VS
96822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9685 unused show_text member.
9686 * docs/grub.texi: Document "text" property.
9687
922aabf3
VS
96882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9691 in dprintf.
9692
ec316771
VS
96932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 Fix IMSM handling on Fedora.
9696
9697 * util/getroot.c (grub_util_is_imsm): New function.
9698 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9699
0f021838
VS
97002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9701
9702 * Makefile.am: Strip gold section.
9703 * conf/Makefile.common: Likewise.
9704 * gentpl.py: Likewise.
9705 * grub-core/Makefile.core.def: Likewise.
9706 * grub-core/genmod.sh.in: Likewise.
9707
1039c8eb
VS
97082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9711 * util/grub.d/20_linux_xen.in: Likewise.
9712 Based on Debian patch.
9713
6dd412cd
VS
97142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9715
9716 * util/grub.d/10_linux.in: Fix syntax error resulting in
9717 Richard Laager's patch.
9718 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9719
3fd8bae5
VS
97202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9723 dependencies.
9724
7eea1671
RL
97252012-03-10 Richard Laager <rlaager@wiktel.com>
9726
9727 * util/grub.d/10_linux.in: Fix ZFS root passing.
9728
e8e0566b
VS
97292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9732 * grub-core/commands/xnu_uuid.c: Likewise.
9733 * grub-core/loader/efi/appleloader.c: Likewise.
9734 * grub-core/script/execute.c: Likewise.
9735 * grub-core/script/main.c: Likewise.
9736 * util/grub-mkfont.c: Likewise.
9737
1acc5b1f
VS
97382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * util/grub-mkfont.c (options): Use more appropriate "select" that
9741 "set" for face index.
9742
35d70620
VS
97432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * util/grub-editenv.c (options): Gettextize command summaries.
9746
c9eb96b5
VS
97472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9750 "out of memory" error messagge.
9751
1f493136
VS
97522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9753
9754 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9755 of diskfilter for diskfilter on diskfilter support.
9756
6d790129
VS
97572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9760
005f46c9
VS
97612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9764 themes/starfield.
9765
c8f778a0
VS
97662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9767
9768 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9769
de1e64eb
VS
97702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9773
c6d54211
VS
97742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9777 of error message.
9778
dd390777
VS
97792012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9782
5fd1c522
VS
97832012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9786 message.
c6d54211 9787 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 9788
fae01f6c
VS
97892012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9792 Gettextize.
9793 * util/grub-mount.c (options): Likewise.
9794
292fdaff
VS
97952012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9798 gettextize.
9799 * grub-core/commands/search_wrap.c (options): Likewise.
9800
ecdbae77
VS
98012012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9804
52bfedfa
VS
98052012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9808 size calculation.
9809 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9810 none is known.
9811
55b20e58
VS
98122012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9815 "temporary" since it's used in identifier and is limited in space.
9816
fda9d101
VS
98172012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * po/POTFILES.in: Regenerate. Include *.h since they contain
9820 translatable strings as well.
9821
6a0295e2
VS
98222012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9825 byte-swap on big-endian.
9826 Reported by: Lennart Sorensen
9827
807fb77c
VS
98282012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9831 (allocate_pages): Improve dprintf.
9832 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9833 code32_start. Fill code32_start and kernel_alignment in params.
9834 (grub_cmd_initrd): Use prot_init_space.
9835
61ac50ba
VS
98362012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9839
abdd26dd
VS
98402012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * util/grub-install.in: Add missing dot at the end of sentence.
9843
6e69da9c
VS
98442012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9847 * grub-core/commands/videotest.c: Likewise.
9848 * grub-core/loader/i386/linux.c: Likewise.
9849
4a929343
VS
98502012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9853 sentence.
9854 Reported by: Milo Casagrande.
9855
bb51c6c6
VS
98562012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9857
9858 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9859 * grub-core/commands/gptsync.c: Likewise.
9860 * grub-core/commands/hashsum.c: Likewise.
9861 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9862 * grub-core/commands/legacycfg.c: Likewise.
9863 * grub-core/io/gzio.c: Likewise.
9864 * grub-core/net/net.c: Likewise.
9865 * grub-core/term/gfxterm.c: Likewise.
9866 * grub-core/term/terminfo.c: Likewise.
9867 * grub-core/tests/test_blockarg.c: Likewise.
9868 * grub-core/video/video.c: Likewise.
9869 * util/grub-install.in: Likewise.
9870 * util/grub-mkfont.c: Likewise.
9871
b2b149cb
VS
98722012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9875
c7c080ad
VS
98762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9879 Reported by: David Prévot.
c7c080ad 9880
f2e243c0
VS
98812012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9884 description.
9885
09963c76
VS
98862012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 * util/grub-script-check.c (main): Fix a syntax error message which was
9889 unclear.
9890
a50514a8
VS
98912012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9892
9893 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9894
4650daec
VS
98952012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9896
9897 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9898 messages.
9899
99002012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9901
9902 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9903 without argument.
9904 * util/grub-mount.c (options): Likewise.
9905
bbc5a342
VS
99062012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9909
ef292a87
VS
99102012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * grub-core/net/http.c: Add TRANSLATORS comments.
9913 * grub-core/normal/cmdline.c: Likewise.
9914 * grub-core/normal/misc.c: Likewise.
9915 * grub-core/partmap/msdos.c: Likewise.
9916 * grub-core/parttool/msdospart.c: Likewise.
9917 * grub-core/script/execute.c: Likewise.
9918 * grub-core/script/main.c: Likewise.
9919 * grub-core/term/terminfo.c: Likewise.
9920 * grub-core/video/bitmap.c: Likewise.
9921 * util/grub-install.in: Likewise.
9922 * util/grub-mkimage.c: Likewise.
9923 * util/grub-mklayout.c: Likewise.
9924 * util/grub-setup.c: Likewise.
9925
0fc19bd0
VS
99262012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9927
9928 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9929 with similar messages in grub-fstest.
9930
d95862ef
VS
99312012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * util/grub-install.in: Unify "option requires an argument" message
9934 with similar messages in other files.
9935 * util/grub-mkconfig.in: Likewise.
9936
b7308f90
VS
99372012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * util/grub-set-default.in: Replace printf with gettext_printf (the
9940 string in in question is already translated from grub-reboot)
9941
559dc587
VS
99422012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * configure.ac: Bump up the version to beta1.
9945
1a11761f
VS
99462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9949 case when min_align = 0.
9950
24539abd
VS
99512012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9954 and fix a case when line_start overflows.
9955
32bd735b
VS
99562012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * util/grub-reboot.in (usage): Mention id posibility.
9959 * util/grub-set-default.in (usage): Likewise.
9960
1a2fd1e6
VS
99612012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9964 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9965 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9966 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9967 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9968 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9969 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9970
90eeab76
VS
99712012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 * grub-core/commands/menuentry.c (options): Remove
9974 GRUB_ARG_OPTION_REPEATABLE.
9975 Reported by: Andreas Vogel
9976
5ad1be82
AV
99772012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9978
9979 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9980
cb055286
HE
99812012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9982
9983 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9984 error.
9985
93b1cd79
VS
99862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 Use sort -V by the idea of Georgi Georgiev.
9989
9990 * util/grub-mkconfig_lib.in (version_sort): New function.
9991 (version_test_numeric): Use version_sort.
9992
0cdc126c
VS
99932012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 Use submenus in grub-mkconfig.
9996
9997 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9998 * util/grub-mkconfig_lib.in (grub_quote): New function.
9999 (gettext_printf): Use gettext and not gettext_quoted to fix several
10000 messages.
10001 * util/grub.d/10_hurd.in: Use submenus.
10002 * util/grub.d/10_kfreebsd.in: Likewise.
10003 * util/grub.d/10_linux.in: Likewise.
10004 * util/grub.d/10_netbsd.in: Likewise.
10005 * util/grub.d/20_linux_xen.in: Likewise.
10006 * util/grub.d/30_os-prober.in: Likewise.
10007 * util/grub.d/10_illumos.in: Add missing quoting.
10008 * util/grub.d/10_windows.in: Likewise.
10009
d9bef9bc
VS
100102012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 Fix menu title instability bug.
10013
10014 * grub-core/commands/menuentry.c (options): New option --id.
10015 (grub_normal_add_menu_entry): New argument id. All users updated.
10016 (grub_cmd_menuentry): Handle --id.
10017 (grub_menu_init): Accept unknown arguments.
10018 * grub-core/normal/main.c (features): Add feature_menuentry_id and
10019 feature_menuentry_options.
10020 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
10021 saved_entry.
10022 (get_entry_number): Match with id as well.
10023 * include/grub/menu.h (grub_menu_entry): New member id.
10024 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
10025 * util/grub.d/00_header.in: Define menuentry_id_option.
10026 * util/grub.d/10_hurd.in: Define id.
10027 * util/grub.d/10_illumos.in: Likewise.
10028 * util/grub.d/10_kfreebsd.in: Likewise.
10029 * util/grub.d/10_linux.in: Likewise.
10030 * util/grub.d/10_netbsd.in: Likewise.
10031 * util/grub.d/10_windows.in: Likewise.
10032 * util/grub.d/20_linux_xen.in: Likewise.
10033 * util/grub.d/30_os-prober.in: Likewise.
10034
100352012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
10036
10037 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
10038 "scope" with "body".
10039
7c8d0ce7
VS
100402012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10041
10042 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
10043 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
10044 prot_size and prot_file_size.
10045
49de079b
VS
100462012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
10049 All users updated. If easily=1 require raid-5/-6 to be full.
10050 (is_node_readable): Likewise.
10051 (scan_devices): Scan incomplete but readable LVs at the end.
10052 (grub_diskfilter_memberlist): Pull missing devices.
10053 (insert_array): Skip scanning until device is complete or scan is
10054 done otherwise.
10055 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
10056 check.
10057 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
10058 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
10059
aff05d45
MG
100602012-03-03 Matthew Garrett <mjg@redhat.com>
100612012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 Avoid EFI boot services when loading Linux.
10064
10065 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
10066 avoid_efi_bootservices. All users updated.
10067 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
10068 argument avoid_efi_bootservices. All users updated.
10069 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
10070 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
10071 align, min_align, relocatable, prefered_address. All users updated.
10072 Allocate avoiding boot services if kernel is relocatable.
10073 (grub_cmd_linux): Check if kernel is relocatable.
10074 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
10075 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
10076 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
10077 avoid_efi_boot_services.
10078 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
10079 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
10080 (linux_kernel_params): Likewise.
10081
3935dde2
MG
100822012-03-03 Matthew Garrett <mjg@redhat.com>
100832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 Use EDID on EFI.
10086
10087 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
10088 datasize_out.
10089 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
10090 modes. Set gop_handle.
10091 (grub_video_gop_get_edid): New function.
10092 (grub_gop_get_preferred_mode): Likewise.
10093 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
10094 (grub_video_efi_gop_adapter): Set .get_edid.
10095 * include/grub/efi/edid.h: New file.
10096 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
10097
32107ec0
VS
100982012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * util/grub-install.in: Load efivars unconditionally.
10101
e70a2c50
VS
101022012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * po/Rules-piglatin: Change suffix from .po-update-en to
10105 .po-update-en-piglatin.
10106
8f9cace1
VS
101072012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10108
10109 Add a pig farm.
10110
10111 * po/piglatin.sed: New file.
10112 * po/en@piglatin.header: Likewise.
10113 * po/Rules-piglatin: Likewise.
10114 * po/README: Add en@piglatin to autogenerated languages.
10115
8f95d002
VS
101162012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
10119 "Command for ...".
10120 * grub-core/commands/hdparm.c (options): Use "Display" rather than
10121 "Check" since we don't check anything.
10122 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
10123 is 64-bit one.
10124 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
10125 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
10126 (grub_md_sha512_real): Likewise.
10127
805a8dcc
VS
101282012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * grub-core/commands/gptsync.c: Fix typographic quoting.
10131 * grub-core/commands/ieee1275/suspend.c: Likewise.
10132 * grub-core/commands/parttool.c: Likewise.
10133 * grub-core/commands/search_wrap.c: Likewise.
10134 * grub-core/commands/videoinfo.c: Likewise.
10135 * grub-core/gfxmenu/gui_label.c: Likewise.
10136 * grub-core/hello/hello.c: Likewise.
10137 * grub-core/kern/emu/main.c: Likewise.
10138 * grub-core/net/net.c: Likewise.
10139 * grub-core/normal/menu.c: Likewise.
10140 * grub-core/normal/menu_text.c: Likewise.
10141 * grub-core/normal/misc.c: Likewise.
10142 * util/grub-editenv.c: Likewise.
10143 * util/grub-install.in: Likewise.
10144 * util/grub-kbdcomp.in: Likewise.
10145 * util/grub-mkconfig.in: Likewise.
10146 * util/grub-mknetdir.in: Likewise.
10147 * util/grub-mkrescue.in: Likewise.
10148 * util/grub-mkstandalone.in: Likewise.
10149 * util/grub-reboot.in: Likewise.
10150 * util/grub-set-default.in: Likewise.
10151 * util/grub-setup.c: Likewise.
10152 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10153
40211ab8
VS
101542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
10157 * grub-core/commands/keystatus.c: Likewise.
10158 * grub-core/commands/loadenv.c: Likewise.
10159 * grub-core/commands/probe.c: Likewise.
10160 * grub-core/commands/regexp.c: Likewise.
10161 * grub-core/commands/true.c: Likewise.
10162 * grub-core/commands/videoinfo.c: Likewise.
10163 * grub-core/disk/cryptodisk.c: Likewise.
10164 * grub-core/disk/ldm.c: Likewise.
10165 * grub-core/disk/loopback.c: Likewise.
10166 * grub-core/disk/luks.c: Likewise.
10167 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10168 * grub-core/kern/disk.c: Likewise.
10169 * grub-core/kern/emu/hostdisk.c: Likewise.
10170
0c7d99c7
VS
101712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
10174 * util/grub-install.in: Add missing quote in the comment.
10175
e7d2559b
VS
101762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
10179 * grub-core/commands/lsmmap.c: Likewise.
10180 * grub-core/commands/minicmd.c: Likewise.
10181 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10182 * grub-core/commands/regexp.c: Likewise.
10183 * grub-core/gdb/gdb.c: Likewise.
10184 * grub-core/term/gfxterm.c: Likewise.
10185 * util/grub-mkconfig.in: Likewise.
10186 * util/grub-mkfont.c: Likewise.
10187 * util/grub-mklayout.c: Likewise.
10188 * util/grub-mknetdir.in: Likewise.
10189 * util/grub-mkrescue.in: Likewise.
10190 * util/grub.d/30_os-prober.in: Likewise.
10191
49ce9e50
VS
101922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
10195 with "Direct color" and "Packed" with "Packed pixel".
10196 (grub_cmd_videoinfo): Simplify legend.
10197
e4b791fa
VS
101982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10199
10200 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10201 absolutely unclear error message.
10202
fd1265cb
VS
102032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10204
10205 * util/grub-mkstandalone.in: Remove confusing leftover print.
10206
8822a8a0
VS
102072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
10210 comments.
10211 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
10212 (GRUB_MOD_INIT): Likewise.
10213 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
10214 VGA mode.
10215 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
10216 comments.
10217 * util/grub-install.in (usage): Likewise.
10218 Spell ID in whole letters.
10219 Add missing ending dot.
10220 Quote variables.
10221 * util/grub-reboot.in: Fix capitalisation.
10222 * util/grub-set-default.in: Likewise.
10223
937fd0cc
VS
102242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
10227 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
10228 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
10229 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
10230 Disable -Werror for -Wdeprecated-declarations.
10231 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
10232 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
10233 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
10234 (grub_util_get_grub_dev): Make luks handling dependent on
10235 HAVE_DEVICE_MAPPER and not __linux__.
10236 (get_win32_path): Fix format security.
10237 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
10238 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
10239 Don't try grub_find_zpool_from_dir.
10240 (grub_make_system_path_relative_to_its_root) [!__linux__]:
10241 #ifdef-out paresdir.
10242
1bab1ae3
VS
102432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10244
10245 * util/grub-pe2elf.c (usage): Add missing noreturn.
10246 (write_section_data): Rename name to shname to avoid shadowing.
10247 (write_symbol_table): Rename name to symname to avoid shadowing.
10248 Fix write_reloc_section call.
10249
ef023e42
VS
102502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
10253 to ensure that it's after the last byte of .text.
10254
48afcb75
VS
102552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * util/ieee1275/ofpath.c (my_isdigit): New function.
10258 (trailing_digits): Use my_isdigit.
10259 (strip_trailing_digits): Likewise.
10260
88d51eff
VS
102612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
10264 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
10265
17edc2ba
VS
102662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 * grub-core/kern/i386/pc/startup.S: Define __start.
10269
ad5518d7
VS
102702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
10273 strip already transforms he format.
10274
9e95e1bf
VS
102752012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
10278
9cc3ee5c
VS
102792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10280
10281 * util/grub-install.in: Add missing gettext init.
10282 * util/grub-kbdcomp.in: Likewise.
10283 * util/grub-mkconfig.in: Likewise.
10284 * util/grub-mknetdir.in: Likewise.
10285 * util/grub-mkrescue.in: Likewise.
10286 * util/grub-mkstandalone.in: Likewise.
10287 * util/grub-reboot.in: Likewise.
10288 * util/grub-set-default.in: Likewise.
10289 * util/grub.d/00_header.in: Likewise.
10290 * util/grub.d/10_hurd.in: Likewise.
10291 * util/grub.d/10_windows.in: Likewise.
10292 * util/grub.d/30_os-prober.in: Likewise.
10293 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10294
49e08a06
VS
102952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * po/Rules-swiss: Fix header comment.
10298
3809cb41
AV
102992012-02-29 Andreas Vogel <anvoit>
10300
10301 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
10302 resulted in leak of arguments.
10303
fa6ec573
VS
103042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 * grub-core/boot/i386/pc/startup_raw.S: Use separate
10307 reed_solomon_size const definition instead of computing it since
10308 Apple assembler doesn't support the later.
10309
22899b9c
VS
103102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * gentpl.py (kernel): Rewrite Apple part.
10313
a132afc3
VS
103142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 * include/grub/kernel.h (FOR_MODULES): Check module magic.
10317
9d742bd4
VS
103182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10319
10320 * util/grub-mkimagexx.c (locate_sections): Support non-standard
10321 ELF section gap.
10322 (load_image): Likewise.
10323
f04a9a21
VS
103242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 * configure.ac: Fix a typo in previous commit.
10327
46cf439c
VS
103282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 Don't add -Wl,-N on Apple platform.
10331
10332 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
10333 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
10334
c4c48c54
VS
103352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 * grub-core/Makefile.core.def (lzma_decompress): Use
10338 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
10339
31a12124
VS
103402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10341
10342 * grub-core/genmod.sh.in: Rewrite the Apple part.
10343
4f3aa1af
VS
103442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10347 comparison.
10348
7bd8b0c7
VS
103492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * acinclude.m4 (grub_CHECK_PIC): New test.
10352 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10353
97304d7c
VS
103542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10355
10356 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10357 to avoid the warning.
10358
fb883812
VS
103592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10362 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10363 after. All users updated.
10364
a121c964
VS
103652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 Use the common size routine in hostfs so we can read disks as well.
10368
10369 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10370 (grub_util_get_fd_size): ... this. Return size in bytes.
10371 All users updated.
10372 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10373 grub_util_get_fd_size.
10374
c66d6410
VS
103752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10378 Add blocksize retrieval.
10379
dfc8aeb0
VS
103802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10381
10382 * configure.ac: Restore CFLAGS after efiemu check.
10383
403e25a5
VS
103842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10387 Apple bug.
10388
382775d1
VS
103892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10390
10391 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10392
6fd4e6e4
VS
103932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10394
10395 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10396 (grub_cmd_halt): Likewise.
10397
bea359d6
VS
103982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10399
10400 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10401 for local arithmetics.
10402 Break %sp init into 2 instructions.
10403 Add 0 byte at the end.
10404
32eb6ee1
VS
104052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10408 before loops.
10409
e8377389
VS
104102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10413 for context.
10414
8cb17de7
VS
104152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 * grub-core/disk/ldm.c (make_vg): Init part.name.
10418 (grub_ldm_detect): Silence spurious warning.
10419 (grub_util_is_ldm): Likewise.
10420
595717e6
VS
104212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10424 sane value to avoid a spurious warning.
10425
c4b7e588
VS
104262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10429 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10430
59824957
VS
104312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10434 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10435
70115b99
VS
104362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10439 hardcoding the relevant info.
10440
56733740
VS
104412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10444 missing const qualifiers.
10445 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10446
43481481
VS
104472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * util/getroot.c [__APPLE__]: Add missing includes.
10450 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10451
3cb38f01
VS
104522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10455
d9dbf11e
VS
104562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10457
10458 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10459 avoid conflicts.
10460
0c42a45d
VS
104612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10462
10463 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10464
46c34eb0
VS
104652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10468 and grub_file_close call.
10469
99ce1597
VS
104702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 Add LZSS Mach-O support (needed for new xnu kernelcache).
10473
10474 * grub-core/Makefile.core.def (xnu): Add file lzss.c
10475 * grub-core/loader/lzss.c: New file.
10476 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
10477 on Mach-O open failure.
10478 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
10479 Don't free cmdsXX in uncompressedXX is set.
10480 (grub_macho_file): Init new fields.
10481 New argument is_64bit. All users updated.
10482 Handle compressed. Error out if no suitable architecture is found.
10483 Don't close file.
10484 (grub_macho_open): New argument is_64bit. All users updated.
10485 * grub-core/loader/macho32.c: Add defines for new fields.
10486 * grub-core/loader/macho64.c: Likewise.
10487 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10488 (grub_macho_parse): Handle compressed.
10489 Defer actual processing if compressed.
10490 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10491 "filename". All users updated.
10492 (grub_macho_size): New argument "filename". All users updated.
10493 (grub_macho_get_entry_point): Likewise.
10494 (grub_macho_load): Handle compressed.
10495 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10496 (GRUB_MACHO_LZSS_OFFSET): New define.
10497 (grub_decompress_lzss): New proto.
10498 * include/grub/machoload.h (grub_macho_file): New fields to handle
10499 compressed.
10500 (grub_macho_contains_macho64): Remove proto.
10501 (grub_macho_contains_macho32): Likewise.
10502 * util/grub.d/30_os-prober.in: Use kernel cache if available.
10503
ebd17d6f
VS
105042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
10507
2702b4e4
VS
105082012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 Fix make dist.
10511
10512 * Makefile.am (starfield_theme_files): New var.
10513 (starfield_DATA): Use starfield_theme_files.
10514 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10515 Add bootcheck-related files.
10516 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10517 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10518 and font_char_metrics.txt.
10519 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10520 (setjmp): Add lib/ia64/longjmp.S.
10521 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10522 * po/POTFILES.in: Regenerate.
10523 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10524 DISTFILES.common.extra1.
10525 * util/devicemap.c: Removed.
10526 * grub-core/lib/i386/relocator_backward.S: Likewise.
10527 * util/import_gcry.py: Remove unused files. Add extra_dist for
10528 ChangeLog.
10529
cf1adfdf
VS
105302012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10533 grub_gettext_delete_list before changing grub_gettext_max to avoid
10534 running out of array bounds.
10535
105362012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
10537
10538 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10539 grub_vga_text_init/grub_vga_text_fini.
10540
cf1adfdf 105412012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
10542
10543 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10544
541d92e9
VS
105452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 * configure.ac: Bump to 2.00~beta0.
10548
7931dddf
VS
105492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10552 missing initialisation.
10553
f1b16fa3
VS
105542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10555
10556 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10557
83ddae23
VS
105582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10559
10560 Support v2 xnu boot arguments.
10561
10562 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10563 New argument fsbfreq_out.
10564 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10565 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10566 be used.
10567 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10568 darwin_version.
10569 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10570 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10571 (grub_xnu_boot_params): Rename to ...
10572 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10573 (grub_xnu_boot_params_v2): New struct.
10574
dc693fe6
VS
105752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10576
10577 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10578 zeroing of CRC field before computing CRC.
10579
5a6e39c2
VS
105802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10583 Change order of allocations to decrease fragmentation.
10584
6c21f5d7
VS
105852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10588
cfe456dc
CW
105892012-02-27 Colin Watson <cjwatson@ubuntu.com>
10590
10591 Use write-combining MTRR to speed up video with buggy BIOSes.
10592
10593 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10594 (cpuid): New define.
10595 (rdmsr): Likewise.
10596 (wrmsr): Likewise.
10597 (mtrr_base): Likewise.
10598 (mtrr_mask): Likewise.
10599 (grub_vbe_enable_mtrr_entry): New function.
10600 (grub_vbe_enable_mtrr): Likewise.
10601 (grub_vbe_disable_mtrr): Likewise.
10602 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10603 control off to BIOS.
10604 (grub_video_vbe_init): Fill mtrr.
10605 (grub_video_vbe_fini): Disable mtrr.
10606 (grub_video_vbe_get_info_and_fini): Likewise.
10607 (grub_video_vbe_setup): Enable mtrr.
10608
e3c78337
CW
106092012-02-27 Colin Watson <cjwatson@ubuntu.com>
10610
10611 * include/grub/partition.h (grub_partition_map): Change prototype of
10612 embed to take a maximum value for nsectors.
10613 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10614 * include/grub/fs.h (grub_fs): Likewise.
10615 * grub-core/partmap/msdos.c (embed_signatures): New array.
10616 (pc_partition_map_embed): Check for and avoid sectors matching any
10617 of the signatures in embed_signatures, up to max_nsectors.
10618 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10619 returned sector map to max_nsectors.
10620 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10621 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10622 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10623 * util/grub-setup.c (setup): Allow for the embedding area being
10624 split into multiple blocklists. Tell dest_partmap->embed the
10625 maximum number of sectors we care about.
10626
106272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10630 Specify blocklist_install and reserver_first_sector for all fs.
10631 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10632 blocklists.
10633
984b973f
VS
106342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 * util/grub-install.in: Clarify strings.
10637 Fix source dir check.
10638
f122e0d6
RL
106392012-02-27 Richard Laager <rlaager@wiktel.com>
10640
10641 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10642 "zfs" and "fuse.zfs" as synonyms.
10643
071114bb
VS
106442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * configure.ac: Put platform and target_cpu substitutions back since
10647 they are used for directories.
10648
817e6abc
RL
106492012-02-27 Richard Laager <rlaager@wiktel.com>
106502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10651
10652 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10653 * util/grub.d/20_linux_xen.in: Likewise.
10654
897b7419
RL
106552012-02-27 Richard Laager <rlaager@wiktel.com>
10656
10657 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10658 with full paths.
10659
a414bd15
RL
106602012-02-27 Richard Laager <rlaager@wiktel.com>
10661
10662 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10663 unescape.
10664
30ac48c4
VS
106652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 Don't use insecure popen in getroot.
10668
10669 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10670 (exec_pipe): ... here.
10671 (find_root_devices_from_poolname): Use exec_pipe.
10672
53f13848
VS
106732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 Remove platform and target_cpu replacement.
10676
10677 * configure.ac: Remove platform and target_cpu substitutions.
10678 * tests/util/grub-shell.in: Use modinfo.
10679 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10680 explicitly.
10681
90cb2803
VS
106822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 Autodetect platform in grub-install but allow override.
10685
10686 * util/grub-install.in: Autodetect platform. Support --target and
10687 --directory. Read platform from modinfo.sh.
10688
b9136427
VS
106892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10690
10691 Support btrfs multi-volume probe.
10692
10693 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10694 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10695 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10696 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10697 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10698 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10699 grub_find_root_devices_from_btrfs if on btrfs.
10700
c36e5cd1
VS
107012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10702
10703 Remove any awareness of *.c util files about target.
10704
10705 * Makefile.util.def (grub-setup): Split to ...
10706 (grub-bios-setup): ... and this.
10707 (grub-sparc64-setup): ... and this.
10708 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10709 * docs/man/grub-setup.h2m: Split into ...
10710 * docs/man/grub-sparc64-setup.h2m: ... this.
10711 * docs/man/grub-bios-setup.h2m: ... and this.
10712 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10713 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10714 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10715 (grub_target_addr_t): Remove.
10716 (grub_target_size_t): Remove.
10717 (grub_target_ssize_t): Remove.
10718 * util/grub-install.in: Use new grub-*-setup.
10719 * util/grub-mkimagexx.c (Elf_Word): New define.
10720 (Elf_Half): Likewise.
10721 (Elf_Section): Likewise.
10722 (ELF_ST_TYPE): Likewise.
10723 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10724 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10725
584b2f8a
VS
107262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 Replace grub_target_addr with more appropriate types.
10729
10730 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10731 grub_target_addr with grub_addr.
10732 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10733 grub_target_addr with grub_port.
10734 (grub_cmd_write): Likewise.
10735 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10736 grub_target_addr with grub_addr.
10737 (grub_cmd_write): Likewise.
10738 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10739
5a0dc6fb
VS
107402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10741
10742 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10743 const qualifier for vendor_guid.
10744
786aff6e
VS
107452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10746
10747 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10748 const qualifier.
10749 (efiemu_memequal): Likewise.
10750 (find_variable): Likewise.
10751
49017b17
VS
107522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 Fix missing console prototype on qemu-mips.
10755
10756 * include/grub/mips/qemu_mips/console.h: New file.
10757
c5988629
MG
107582012-02-27 Matthew Garrett <mjg@redhat.com>
107592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10762 * include/grub/efi/efi.h: Likewise.
10763 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10764 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10765 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10766 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10767 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10768 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10769
e33f8d69
MG
107702012-02-27 Matthew Garrett <mjg@redhat.com>
10771
10772 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10773
fb312cd9
VS
107742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10777 error.
10778
7134247c
VS
107792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 * configure.ac: Remove inappropriate use of program_transform_name
10782 on grubdir and bootdir but allow explicit specification of those
10783 variables.
10784
6a313124
VS
107852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 * util/grub-mknetdir.in (grub_prefix): Removed.
10788 (subdir): Use @bootdirname@ and @grubdirname@.
10789
2311c5ca
VS
107902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10793
7d5d60f7
VS
107942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 * po/POTFILES.in: Regenerated.
10797
8151bc82
VS
107982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10799
10800 Remove improper use of program_transform_name on pkglibrootdir.
10801
10802 * configure.ac (pkglibrootdir): Removed.
10803 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10804 * util/grub-mkimage.c: Likewise.
10805
b4a6a533
VS
108062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10809 warning.
10810
668f304f
VS
108112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10812
10813 * util/grub-install.in: Use file identifier if no UUID is available
10814 or user explicitly prompted for it.
10815
665f2341
NP
108162012-02-27 Navdeep Parhar <nparhar@gmail.com>
10817
10818 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10819 (freebsd_get_zfs): New function.
10820 (grub_freebsd_boot): Pass zfs UUID.
10821 (grub_cmd_freebsd): Set zfs UUID.
10822
8151bc82 108232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10824
10825 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10826 pkglibrootdir.
10827
e4c498a1
MG
108282012-02-27 Mike Gilbert <floppym@gentoo.org>
10829
10830 Add configure flag to control libzfs integration.
10831
10832 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10833
1e9a9a3f
VS
108342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10837 device.
10838 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10839 small devices.
10840
036985b8
VS
108412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10844 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10845 be used on non-modules.
10846
10847 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10848 Rename to grub_boot_init.
10849 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10850 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10851 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10852 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10853 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10854 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10855 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10856 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10857 includes.
10858 (grub_machine_init): Remove empty inits.
10859 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10860 includes.
10861 (grub_machine_init): Remove empty inits.
10862 * grub-core/term/arc/console.c: Remove explicit proto.
10863 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10864 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10865 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10866 grub_at_keyboard_fini.
10867 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10868 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10869 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10870 grub_gfxterm_fini.
10871 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10872 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10873 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10874 grub_vgatext_fini.
10875 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10876 * grub-core/term/serial.c (GRUB_MOD_INIT)
10877 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10878 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10879 grub_serial_fini.
10880 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10881 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10882 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10883 grub_terminfo_fini.
10884 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10885 (GRUB_MOD_FINI): Likewise.
10886 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10887 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10888 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10889 grub_video_radeon_fuloong2e_fini.
10890 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10891 [LOONGSON]: Rename to grub_video_sis315pro_init.
10892 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10893 grub_video_sis315pro_fini.
10894 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10895 [LOONGSON]: Rename to grub_video_sm712_init.
10896 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10897 grub_video_sm712_fini.
10898 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10899 (grub_at_keyboard_fini): Likewise.
10900 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10901 Don't declare grub_{modname}_init.
10902 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10903 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10904 New proto.
10905 (grub_keylayouts_fini) [!EMU]: Likewise.
10906 * include/grub/serial.h (grub_serial_init) [!EMU]:
10907 New proto.
10908 (grub_serial_fini) [!EMU]: Likewise.
10909 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10910 New proto.
10911 (grub_terminfo_fini) [!EMU]: Likewise.
10912 * include/grub/video.h (grub_font_init) [!EMU]:
10913 New proto.
10914 (grub_font_fini) [!EMU]: Likewise.
10915 (grub_gfxterm_init) [!EMU]: Likewise.
10916 (grub_gfxterm_fini) [!EMU]: Likewise.
10917 (grub_video_sm712_init) [!EMU]: Likewise.
10918 (grub_video_sm712_fini) [!EMU]: Likewise.
10919 (grub_video_sis315pro_init) [!EMU]: Likewise.
10920 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10921 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10922 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10923
d5534665
VS
109242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 Make nand a prefix for nand devices.
10927
10928 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10929
10133b5f
VS
109302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10933 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10934
8e307a62
VS
109352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * include/grub/env.h (grub_env_find): Remove prototype.
10938 * grub-core/kern/env.c (grub_env_find): Make static.
10939 (grub_env_set): Remove useless set.
10940
a4c65f34
VS
109412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10942
10943 * grub-core/kern/i386/realmode.S: Remove useless align.
10944
d87893d5
VS
109452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * include/grub/dl.h (grub_dl_load_file): Don't export.
10948
50159add
VS
109492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10950
10951 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10952 grub_dprintf.
10953
b2582b84
VS
109542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10957 grub_errors.
10958 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10959 not reloading whole superblock but only the part which is really needed.
10960 Remove useless grub_errors.
10961 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10962 grub_errors.
10963
e2a83395
VS
109642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10965
10966 Don't export grub_get_rtc.
10967
10968 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10969 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10970
e7d2a906
VS
109712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10974
6cf1363b
VS
109752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10978 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10979
eece3349
VS
109802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 Remove prio_list.
10983
10984 * include/grub/list.h (grub_prio_list): Removed.
10985 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10986 GRUB_COMMAND_PRIO_MASK.
10987 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10988 GRUB_COMMAND_FLAG_ACTIVE.
10989 (grub_prio_list_insert): Removed.
10990 (grub_prio_list_remove): Likewise.
10991 (GRUB_AS_PRIO_LIST): Likewise.
10992 (GRUB_AS_PRIO_LIST_P): Likewise.
10993 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10994 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10995 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10996 * grub-core/kern/command.c (grub_register_command_prio): Inline
10997 the prio_list code.
10998 (grub_unregister_command): Likewise.
10999
94f064b4
VS
110002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 Fix interrupt mixup from previous commit.
11003
11004 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
11005 (grub_realidt): New var.
11006 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
11007 Load idt.
11008 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
11009 New declaration.
11010 (grub_relocator16_boot): Set grub_relocator16_idt.
11011 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
11012 (LOCAL(realidt)): ... this.
11013 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
11014 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
11015 (grub_realidt): New variable.
11016
27317084
VS
110172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
11020 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
11021 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
11022 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
11023 Gettextize.
11024 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
11025 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
11026 * po/POTFILES.in: Regenerate.
11027
47b40053
VS
110282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
11031 errors.
11032
2b343101
VS
110332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11034
11035 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
11036 \0.
11037 (add_length): Likewise.
11038
ff27c3dd
LK
110392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
110402012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
11041
11042 GDB serial and backtrace support.
11043
11044 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
11045 (prot_to_real): Likewise.
11046 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
11047 * grub-core/Makefile.core.def (backtrace): New module.
11048 (gdb): Likewise.
11049 * grub-core/gdb/cstub.c: New file.
11050 * grub-core/gdb/gdb.c: Likewise.
11051 * grub-core/gdb/i386/idt.c: Likewise.
11052 * grub-core/gdb/i386/machdep.S: Likewise.
11053 * grub-core/gdb/i386/signal.c: Likewise.
11054 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 11055 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
11056 * include/grub/backtrace.h: Likewise.
11057 * include/grub/gdb.h: Likewise.
11058 * include/grub/i386/gdb.h: Likewise.
11059
110602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
11061
11062 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
11063 New function.
11064 (add_length): Likewise.
11065 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
11066 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
11067 proto.
11068 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
11069 __argp_get_display_len.
11070
ff27c3dd 110712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
11072
11073 $"..." support in scripts.
11074
11075 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
11076 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
11077 * grub-core/script/yylex.l: Likewise.
11078 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
11079 value.
11080
ff27c3dd 110812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
11082
11083 * gentpl.py: Remove obsolete pkglib_DATA handling.
11084
ff27c3dd 110852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
11086
11087 Don't transform PACKAGE_TARNAME following a discussion on autoconf
11088 mailing list.
11089
11090 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
11091 * util/grub-kbdcomp.in: Likewise.
11092 * util/grub-mkconfig.in: Likewise.
11093 * util/grub-mkconfig_lib.in: Likewise.
11094 * util/grub-mknetdir.in: Likewise.
11095 * util/grub-mkrescue.in: Likewise.
11096 * util/grub-mkstandalone.in: Likewise.
11097 * util/grub-reboot.in: Likewise.
11098 * util/grub-set-default.in: Likewise.
11099 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11100
ff27c3dd 111012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
11102
11103 Remove GRUB_PREFIX.
11104
11105 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
11106 * util/grub.d/00_header.in: Compute prefix in the only place it's still
11107 used for backward compatibility.
11108
ff27c3dd 111092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
11110
11111 Add new all_video module.
11112
11113 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
11114 * grub-core/Makefile.core.def (all_video): New module.
11115 * grub-core/genmoddep.awk: Generate dependency of all_video from
11116 video.lst.
11117 * grub-core/lib/fake_module.c: New file.
11118 * grub-core/normal/main.c (features): Add feature_all_video_module.
11119 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
11120 don't do explicit search again.
47454da5 11121 insmod all_video in load_video if available.
22c7ce85 11122
ff27c3dd 111232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
11124
11125 Another round of string clarification and adding TRANSLATORS comments.
11126
ff27c3dd 111272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
11128
11129 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
11130
ff27c3dd 111312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
11132
11133 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
11134 to grub_ssize_t.
11135 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
11136 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
11137
ff27c3dd 111382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
11139
11140 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
11141 trailing newline implicitly. All users updated.
11142
ff27c3dd 111432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
11144
11145 Implement serial on IEEE1275 and EFI.
11146
11147 * docs/grub.texi (Platform-specific limitations): Fix the columen video
11148 on emu. Mention arc and emu as the only platforms without serial
11149 support.
11150 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
11151 ieee1275 platforms.
11152 * grub-core/term/efi/serial.c: New file.
11153 * grub-core/term/ieee1275/serial.c: Likewise.
11154 * grub-core/term/serial.c (grub_serial_find): Disable direct port
11155 specification if no ns8250 driver is available.
11156 (grub_cmd_serial): Likewise.
11157 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
11158 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
11159 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
11160 (grub_efi_parity_type_t): New type.
11161 (grub_efi_stop_bits_t): Likewise.
11162 (grub_efi_serial_io_interface): New struct.
11163 * include/grub/serial.h (grub_serial_port): Make 'broken' field
11164 available for all interfaces.
11165 Add EFI and IEEE1275 fields.
11166 (grub_ofserial_init): New proto.
11167 (grub_efiserial_init): Likeiwse.
11168 * util/grub.d/00_header.in: Don't check for the presence of serial
11169 module.
11170
ff27c3dd 111712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
11172
11173 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
11174 name as if it was an alias.
11175
114076ef
VS
111762012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11177
11178 * grub-core/commands/lsacpi.c (options): Fix typo.
11179
6a656b0e
VS
111802012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 Convert grub-emu to argp.
11183
11184 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
11185 emu.
11186 * util/argp_common.c: Rename to ...
11187 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
11188 Add missing includes.
11189 * grub-core/kern/emu/main.c: Convert to argp.
11190 * po/POTFILES.in: Regenerate.
11191 * util/grub-install.in (usage): Make first letter lowcase in messages
11192 for uniformity.
11193 * util/grub-setup.c (options): Likewise.
11194
1e3f8ae8
VS
111952012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11196
11197 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
11198 Put back accidently commented-out code.
11199
ed167a80
VS
112002012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11201
11202 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
11203 loop check using Brent algorithm.
11204 (grub_hfsplus_btree_search): Likewise.
11205
6753c0ec
VS
112062012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * util/grub-install.in: Fix usage of wrong device for PreP install.
11209
4e27343f
VS
112102012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * conf/Makefile.common (CFLAGS_GNULIB): Add
11213 -Wno-unsafe-loop-optimizations.
11214 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
11215 on tools.
11216 * grub-core/commands/legacycfg.c: Add pragma to skip
11217 -Wunsafe-loop-optimizations.
11218 (check_password_md5_real): Fix loop counter type.
11219 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
11220 reading.
11221 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
11222 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
11223 loop condition.
11224 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
11225 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
11226 * grub-core/net/net.c (grub_net_route_address): Add safety loop
11227 condition.
11228 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
11229 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
11230 avoid possible infinite loops.
11231 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
11232 and -Wunsafe-loop-optimizations.
11233 * grub-core/script/yylex.l: Likewise.
11234 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
11235 (print_glyphs): Avoid infinite loops.
11236 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
11237
697f18b0
GS
112382012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
11239
11240 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
11241 to avoid infinite loop.
11242 (disp_acpi_rsdt_table): Likewise.
11243
274416e8
VS
112442012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 * grub-core/font/font.c (grub_font_load): Add support for default
11247 path for fonts ($prefix/fonts).
11248 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
11249 for checking if string is a path.
11250 * grub-core/normal/main.c (features): Add feature_default_font_path.
11251 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
11252 * util/grub.d/00_header.in: Use default directory if possible.
11253 * util/grub-install.in: Install unicode.pf2.
11254
b3e08622
VS
112552012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
11258 * po/Rules-swiss: New file.
11259 * po/swiss.sed: Likewise.
11260
fe42ce09
VS
112612012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 * grub-core/fs/btrfs.c (find_device): Fix typos.
11264 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
11265 * util/grub-mkrelpath.c (argp_parser): Likewise.
11266 Reported by: Yuri Chornoivan.
11267
72f1d065
DO
112682012-02-23 Dalet Omega <daletomega@gmail.com>
11269
11270 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
11271 for usual informative messages.
11272
c5884973
DO
112732012-02-23 Dalet Omega <daletomega@gmail.com>
11274
11275 Starfield theme.
11276
11277 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
11278 * conf/Makefile.common: Define starfielddir.
11279 * configure.ac: Configure starfield.
11280 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
11281 * themes/starfield/README: Likewise.
11282 * themes/starfield/blob_w.png: Likewise.
11283 * themes/starfield/boot_menu_c.png: Likewise.
11284 * themes/starfield/boot_menu_e.png: Likewise.
11285 * themes/starfield/boot_menu_n.png: Likewise.
11286 * themes/starfield/boot_menu_ne.png: Likewise.
11287 * themes/starfield/boot_menu_nw.png: Likewise.
11288 * themes/starfield/boot_menu_s.png: Likewise.
11289 * themes/starfield/boot_menu_se.png: Likewise.
11290 * themes/starfield/boot_menu_sw.png: Likewise.
11291 * themes/starfield/boot_menu_w.png: Likewise.
11292 * themes/starfield/slider_c.png: Likewise.
11293 * themes/starfield/slider_n.png: Likewise.
11294 * themes/starfield/slider_s.png: Likewise.
11295 * themes/starfield/src/blob_nw.xcf: Likewise.
11296 * themes/starfield/src/bootmenu/: Likewise.
11297 * themes/starfield/src/bootmenu/center.xcf: Likewise.
11298 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
11299 * themes/starfield/src/bootmenu/side.xcf: Likewise.
11300 * themes/starfield/src/slider_c.xcf: Likewise.
11301 * themes/starfield/src/slider_n.xcf: Likewise.
11302 * themes/starfield/src/slider_s.xcf: Likewise.
11303 * themes/starfield/src/terminalbox/: Likewise.
11304 * themes/starfield/src/terminalbox/center.xcf: Likewise.
11305 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
11306 * themes/starfield/src/terminalbox/side.xcf: Likewise.
11307 * themes/starfield/starfield.png: Likewise.
11308 * themes/starfield/terminal_box_c.png: Likewise.
11309 * themes/starfield/terminal_box_e.png: Likewise.
11310 * themes/starfield/terminal_box_n.png: Likewise.
11311 * themes/starfield/terminal_box_ne.png: Likewise.
11312 * themes/starfield/terminal_box_nw.png: Likewise.
11313 * themes/starfield/terminal_box_s.png: Likewise.
11314 * themes/starfield/terminal_box_se.png: Likewise.
11315 * themes/starfield/terminal_box_sw.png: Likewise.
11316 * themes/starfield/terminal_box_w.png: Likewise.
11317 * themes/starfield/theme.txt: Likewise.
11318
17d73325
VS
113192012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 * util/grub.d/00_header.in: Add missing export theme.
11322
dbebaf92
VS
113232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11324
11325 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
11326 already included.
11327 Reported by: Eren D.
11328
3d68bffb
VS
113292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 * conf/Makefile.common (grubdatadir): Removed.
11332 (Makefile.am): Move eveything grubdata to pkgdata.
11333
4b59234d
VS
113342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11335
11336 * grub-core/commands/acpihalt.c (get_sleep_type):
11337 Remove unused variable.
11338
463dcadc
VS
113392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11340
11341 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
11342 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11343 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11344 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11345 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11346 i18n with gettext no-op.
11347 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11348 GRUB_ACPI_OPCODE_STRING_CONST.
11349 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11350 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11351
e5b90c82
VS
113522012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * po/POTFILES.in: Regenerate.
11355
2a704ca9
VS
113562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11357
11358 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11359 -Wno-error=missing-noreturn.
11360
84f9d341
VS
113612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11362
11363 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11364 condition to avoid possibly infinite loops.
11365 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11366 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11367
d46683f9
VS
113682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11371 condition to avoid possibly infinite loops.
11372
c44866b2
VS
113732012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11376 on show_error.
11377
96790539
VS
113782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11381
1ba7e295
VS
113822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11385
21ffe8f1
VS
113862012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 * util/bin2h.c (usage): Add missing attribute noreturn.
11389
0ccb6b3c
VS
113902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11391
11392 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11393 if the size isn't divisible by 512.
11394
b00d7fb6
VS
113952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11396
11397 Make list_push and list_remove functions rather than inline functions
11398 to decrease size and avoid aliasing violations.
11399
11400 * include/grub/list.h (grub_list_push): Move to ...
11401 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11402 * include/grub/list.h (grub_list_remove): Move to ...
11403 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11404
9d369087
VS
114052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11408 and -Wunused-result.
11409
af0250d9
VS
114102012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11413 Reported by: Seth Goldberg
11414
aad32b14
VS
114152012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11416
11417 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11418
ac96441c
ST
114192012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11420
11421 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11422 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11423 command line.
11424 * docs/grub.texi (Simple configuration): Document
11425 GRUB_CMDLINE_GNUMACH.
11426
114272012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
11428
11429 * conf/Makefile.common (platform_SCRIPTS): New variable.
11430 (platform_PROGRAMS): Likewise.
11431 * gentpl.py: Mark *,module and *.image for install.
11432 * grub-core/gdb_grub.in: Add a notice of expected environment.
11433 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11434 (gmodule.pl): Likewise.
11435
ac96441c 114362012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
11437
11438 Replace grub_checkkey with grub_getkey_noblock.
11439
11440 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11441 (grub_getkey_noblock): ... this. All users updated.
11442
ac96441c 114432012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
11444
11445 * grub-core/kern/emu/console.c: Move to ...
11446 * grub-core/term/emu/console.c: ...here.
11447 (grub_ncurses_getkey): Fix return value if no key is detected.
11448
e51b5666
VS
114492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11452 (grub_unit_test_fini): Likewise.
11453 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11454
114552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * include/grub/test.h (GRUB_UNIT_TEST)
11458
d9a62292
VS
114592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11460
11461 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11462 Better error handling.
11463 (grub_script_return): Likewise.
11464 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11465
77c9182f
VS
114662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11469 rimplicit redifinition.
11470
edb13cf9
VS
114712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
11474 GRUB.
11475
a9e9dc7c
VS
114762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
11479 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
11480 prompt here.
11481
b4ba8e02
VS
114822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11485 as GRUB_ERR_BUG. Don't malloc if no device is available.
11486
dded5540
VS
114872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11488
11489 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11490 Mark calling with invalid term as GRUB_ERR_BUG.
11491
0cf69874
VS
114922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11493
11494 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11495 packets rather than raising an error.
11496
59bfe502
VS
114972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11500 in if.
11501
db5fc596
VS
115022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
11505 diagnostic to dprintf.
11506 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11507
e4b7f404
VS
115082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
11511 device name.
11512
e7b02f9e
VS
115132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11514
11515 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11516 (grub_ntfs_iterate_dir): Likewise.
11517
0331e102
VS
115182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 Efiemu stylistic fixes and gettext.
11521
11522 * grub-core/efiemu/i386/loadcore32.c
11523 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11524 * grub-core/efiemu/i386/loadcore64.c
11525 (grub_arch_efiemu_relocate_symbols64): Likewise.
11526 * grub-core/efiemu/i386/pc/cfgtables.c
11527 (grub_machine_efiemu_init_tables): Likewise.
11528 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11529 (grub_efiemu_loadcore_initXX): Add a filename argument.
11530 All users updated.
11531 Improved error message.
11532 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11533 Add a filename argument.
11534 All users updated.
11535 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11536 Reclassify double relocation as GRUB_ERR_BUG.
11537
306fc074
VS
115382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11541 handling.
11542
794d8ef2
VS
115432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11544
11545 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11546 on partition.
11547
115482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
11549
11550 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11551
794d8ef2 115522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
11553
11554 Improve string. Gettextize.
11555
78dde88e
VS
115562012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11559 utils.
11560 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
11561
4786a90f
VS
115622012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11563
11564 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11565 [GRUB_UTIL]: New function.
11566 (insert_array) [GRUB_UTIL]: Store partmaps.
11567 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11568 partmaps.
11569 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11570 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11571 (probe_abstraction): Print diskfilter and not raid.
11572 Reported by: Lennart Sorensen
11573
0b6225bd
VS
115742012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11575
11576 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11577 * util/grub-mkimagexx.c (MASK3): New define.
11578 (add_value_to_slot_20b): Use MASK3.
11579 (add_value_to_slot_21): Likewise.
11580 (relocate_addresses): Fix format specification.
11581 (load_image): Explicitly init symtab_section.
11582
b055f8f6
VS
115832012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11584
11585 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11586 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11587
b77c2fb7
VS
115882012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11589
11590 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11591 on powerpc.
11592 Reported by: Lennart Sorensen
11593
e3ec28ab
VS
115942012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 * gentpl.py: Add missing license header.
11597 * docs/grub.texi: Update copyright year.
11598
c8d9ead6
GS
115992012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11600
11601 Source grub-mkconfig_lib from the build directory at build time.
11602 Suggested by: Vladimir Serbinenko.
11603
11604 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11605 * util/grub-install.in: Define pkgdatadir if not already set, and source
11606 grub-mkconfig_lib from there.
11607 * util/grub-kbdcomp.in: Likewise.
11608 * util/grub-mkconfig.in: Likewise.
11609 * util/grub-mknetdir.in: Likewise.
11610 * util/grub-mkrescue.in: Likewise.
11611 * util/grub-mkstandalone.in: Likewise.
11612 * util/grub-reboot.in: Likewise.
11613 * util/grub-set-default.in: Likewise.
11614 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11615
ebcecdf1
VS
116162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 Increase warning level.
11619
11620 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11621 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11622 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11623 (TARGET_CFLAGS): Likewise.
11624 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11625 * grub-core/Makefile.core.def (decompressor_xz): Add
11626 -Wno-unreachable-code.
11627 (normal): Add -Wno-redundant-decls.
11628 (xzio): Add -Wno-unreachable-code.
11629 (lzopio): Add -Wno-redundant-decls -Wno-error.
11630 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11631 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11632 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11633 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11634 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11635 * grub-core/kern/i386/coreboot/init.c: Add exception to
11636 -Wsuggest-attribute=noreturn.
11637 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11638 * grub-core/kern/ia64/dl_helper.c: Likewise.
11639 * grub-core/kern/mips/dl.c: Likewise.
11640 * grub-core/kern/sparc64/dl.c: Likewise.
11641 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11642 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11643 (memcmp): Likewise.
11644 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11645 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11646 * grub-core/loader/mips/linux.c: Likewise.
11647 * grub-core/loader/multiboot_elfxx.c: Likewise.
11648 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11649 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11650 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11651 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11652 fixme.
11653 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11654 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11655 Fix prototype.
11656
37bb97fe
VS
116572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11660 address.
11661
29a3550b
VS
116622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11663
11664 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11665 Avoid improper use of strings.
11666 (grub_cmd_legacy_initrdnounzip): Likewise.
11667
dfdffd0d
VS
116682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11671 attribute.
11672 (grub_util_info): Likewise.
11673 (grub_util_error): Likewise.
11674
102fae4a
VS
116752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11676
11677 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11678 * util/grub-fstest.c (fstest): Likewise.
11679
7e94d044
VS
116802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11683 (grub_md_sha512_real): Likewise.
11684 (grub_util_get_geli_uuid): Likewise.
11685 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11686 (grub_util_biosdisk_open): Fix format specification.
11687 Respect format security.
11688 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11689 (xrealloc): Likewise.
11690 (xasprintf): Likewise.
11691
5ebd9769
VS
116922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11693
11694 * util/import_gcry.py: Include grub/crypto.h in init.c.
11695
495fc8c1
VS
116962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11699 (generate_image): Make prefix a const char *.
11700 Fix format specifications. Respect format security.
11701 Avoid void * arithmetics.
11702 Avoid shadowing.
11703 (argp_parser): Remove unused variable. Respect format security.
11704 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11705 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11706 (count_funcs): Remove unused variable.
11707 (relocate_addresses): Fix format specification.
11708 Disable x86-64 with elf32. Remove unused variables.
11709 (add_fixup_entry): Avoid shadowing.
11710 (make_reloc_section): Fix format specification.
11711 Use assert.
11712 (locate_sections): Fix format specifications.
11713 (load_image): Avoid shadowing.
11714
043c2ea3
VS
117152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11718 Fix format specifications. Respect format security.
11719 Don't translate already translated grub_errmsg.
11720 (argp_parser): Remove unused variable
11721
3ec65a81
VS
117222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11723
11724 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11725
a4d9fe4a
VS
117262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11729 (main): Likewise. Use xmalloc. Respect format security.
11730
15b81d49
VS
117312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11734 a const char *.
11735 (argp_parser): Remove unused variable.
11736
31731fc0
VS
117372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11740 (add_pixel): Make static.
11741 (add_font): Likewise.
11742 (write_string_section): Make name and str a const char *.
11743 (write_be16_section): Make name a const char *.
11744 (print_glyphs): Make static.
11745 (write_font_ascii_bitmap): Likewise.
11746 (write_font_width_spec): Likewise.
11747 (write_font_pf2): Likewise.
11748 (argp_parser): Remove unused variable.
11749 Respect format security.
11750 (main): Avoid shadowing. Respect format security.
11751
0809527b
VS
117522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 * util/grub-editenv.c (argp_parser): Make static.
11755 (create_envblk_file): Use xmalloc.
11756 (open_envblk_file): Likewise.
11757 Resepect format security.
11758 (set_variables): Respect format security.
11759
45b0c8b7
VS
117602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 * util/getroot.c (grub_find_device): Respect format security.
11763 (get_mdadm_uuid): Remove unused variable.
11764 (grub_util_pull_device): Dont call gettext on already translated
11765 grub_errmsg.
11766 (find_system_device): Remove unused variable.
11767 (grub_util_get_grub_dev): Likewise.
11768 (grub_make_system_path_relative_to_its_root): Respect format security.
11769
1b024b4e
VS
117702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11771
11772 * util/grub-fstest.c (execute_command): Make first argument
11773 a const char *.
11774 (read_file): Avoid shadowing.
11775 Reuse underlying error message if device open fails.
11776 (cmd_cmp): Respect format security.
11777 (root): Make const char *.
11778 (fstest): Remove args argument and use global copy.
11779 Respect format security.
11780 (argp_parser): Make static.
11781 (main): Make default_root const char *.
11782
5d1d4e28
VS
117832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11784
11785 * util/grub-mount.c (root): Make const char *.
11786 (execute_command): Make first argument a const char *.
11787 (fuse_init): Respect format security.
11788 (argp_parser): Make static. Remove unused variable.
11789 (main): Make default_root a const char *.
11790 Respect format security.
11791
36eb7379
VS
117922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11793
11794 * util/grub-probe.c (probe): Don't call gettext on already translated
11795 grub_errmsg.
11796 Remove unused variables.
11797 (argp_parser): Remove unused variable.
11798
76fb2ea9
VS
117992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11800
11801 * util/grub-script-check.c (argp_parser): Remove unused variable.
11802 (main): Rename read to curread to avoid shadowing.
11803
56c98584
VS
118042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 * util/misc.c (grub_util_write_image_at): Fix format specification.
11807 (grub_util_write_image): Likewise.
11808 (grub_script_execute_argument_to_string): Removed (unused).
11809 (grub_script_execute_menuentry): Likewise.
11810 (grub_putchar): Likewise.
11811
164ebb48
VS
118122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11813
11814 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11815 (FUNCTION) [GRUB_UTIL]: Likewise.
11816 (VARIABLE) [GRUB_UTIL]: Likewise.
11817
44318d61
VS
118182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11821 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11822
31a26002
VS
118232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11826 buffer.
11827
118282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11831 (LzmaEnc_SaveState): Removed (unused).
11832 (LzmaEnc_RestoreState): Likewise.
11833 (LzmaEnc_InitPriceTables): Made static.
11834 (LzmaEnc_Construct): Likewise.
11835 (LzmaEnc_FreeLits): Likewise.
11836 (LzmaEnc_Destruct): Likewise.
11837 (LzmaEnc_Init): Likewise.
11838 (LzmaEnc_InitPrices): Likewise.
11839 (LzmaEnc_Finish): Likewise.
11840 (LzmaEnc_PrepareForLzma2): Removed (unused).
11841 (LzmaEnc_MemPrepare): Likewise.
11842 (LzmaEnc_GetNumAvailableBytes): Likewise.
11843 (LzmaEnc_GetCurBuf): Likewise.
11844 (LzmaEnc_CodeOneMemBlock): Likewise.
11845
6fa67967
VS
118462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11849 (grub_util_ldm_embed): Likewise.
11850
9a7428e6
VS
118512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 * util/grub-editenv.c (print_var): Rename name to varname to
11854 avoid shadowing.
11855 (main): Rename index to curindex to avoid shadowing.
31a26002 11856 Make filename a const char *.
9a7428e6 11857
4f96abd1
VS
118582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11861 to arg_getline to avoid shadowing.
11862
44d10dad
VS
118632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11864
11865 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11866 disk_ to avoid shadowing.
11867
340ba63e
VS
118682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11871 curindex to avoid shadowing.
11872 Make static.
11873 (MatchFinder_GetNumAvailableBytes): Make static.
11874
22965bce
VS
118752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11878 avoid shadowing.
11879
7b5784d4
VS
118802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11883 argument from encrypt to do_encrypt to avoid shadowing.
11884
6f48ca01
VS
118852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11888 incorrect nesting of #if's.
11889
a4ea2dff
VS
118902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11893 checks which are always false on some platforms.
11894 (grub_cmd_lsacpi): Likewise.
11895 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11896 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11897 Likewise.
11898
def9fc1b
VS
118992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11900
11901 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11902 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11903
a67b2a04
VS
119042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11907 re_dfa_t to avoid breaking alignment invariants.
11908 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11909 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11910
44c6828d
VS
119112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11914 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11915
bebe0dd0
VS
119162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11917
11918 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11919 Fix declaration.
11920
a9cdb3cf
VS
119212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11924 conserve alignment invariants.
11925 (grub_ehci_ehcc_read16): Likewise.
11926 (grub_ehci_oper_read32): Likewise.
11927 (grub_ehci_oper_write32): Likewise.
11928 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11929 Conserve alignment invariants.
11930
ccc3b1b8
VS
119312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11934 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11935 declarations.
11936
987fbd95
VS
119372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11940 Remove unused variable.
11941
0df363f3
VS
119422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11945 Remove set in if.
11946
b2c0c4a6
VS
119472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * include/grub/net.h: Remove double declarations.
11950
690c531f
VS
119512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11952
11953 Remove "payload" command in ia64 Linux loader since I couldn't
11954 find any evidence of it being used for anything.
11955 Replace "relocate" command with an environment variable
11956
11957 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11958 fields.
11959 (ia64_boot_payload): Removed.
11960 (last_payload): Likewise.
11961 (RELOCATE_OFF): Likewise.
11962 (RELOCATE_ON): Likewise.
11963 (RELOCATE_FORCE): Likewise.
11964 (relocate): Likewise.
11965 (free_pages): Don't free payloads.
11966 (grub_load_elf64): Use common error messages.
11967 Use "linux_relocate" variable.
11968 Increase the space after boot_params.
11969 (grub_cmd_payload): Removed.
11970 (grub_cmd_relocate): Likewise.
11971 (grub_cmd_fpswa): Improve messages.
11972 (cmd_payload): Removed.
11973 (cmd_relocate): Likewise.
11974 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11975 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11976
01783768
VS
119772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11978
11979 Convert UHCI to DMA framework.
11980
11981 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11982 (grub_uhci_pci_iter): Fill new members
11983 (grub_alloc_td): Use P2V and V2P functions.
11984 (grub_free_queue): Likewise.
11985 (grub_alloc_qh): Likewise.
11986 (grub_uhci_setup_transfer): Likewise.
11987 (grub_uhci_check_transfer): Likewise.
11988
43206939
VS
119892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11992 Remove assignment in if while on it.
11993
571e140e
VS
119942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * util/grub-mkstandalone.in: Fix modules directory.
11997
a9d96eeb
VS
119982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11999
12000 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
12001 on i386-pc target.
12002 (argp_parser): Accept "auto" as compression specification.
12003
e4e37e8d
VS
120042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 Fix `help' with unloaded modules.
12007
12008 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
12009 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
12010 (grub_dyncmd_dispatcher): Small stylistic fix.
12011 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
12012 explicit help is requested.
12013
e1ea3ade
VS
120142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
12017 Explicitly init restart while on it.
12018
27556881
VS
120192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
12022 uninited variable.
12023
d65f6b36
VS
120242012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 * util/grub-mknetdir.in: Use . rather than source for POSIX
12027 compatibility.
12028
0a1e473c
VS
120292012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12030
12031 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
12032
ce6647c8
VS
120332012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
12036 variable.
12037
66747894
VS
120382012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12039
12040 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
12041 without quotes.
12042
71645f6e
VS
120432012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12044
12045 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
12046
0e1c1f61
VS
120472012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12048
12049 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
12050 iteration of partitions.
12051
9c4b5c13
VS
120522012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12053
12054 Improve gettext support. Stylistic fixes and error handling fixes while
12055 on it.
12056
215c90cb
VS
120572012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12058
12059 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
12060 part. Instead setup the correct stack in RM.
12061 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
12062 for stack.
12063 * include/grub/i386/relocator_private.h: New file.
12064
b5c1f9bf
VS
120652012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
12068 argument.
12069 * util/grub-fstest.c (options): Add missing DEVICE part.
12070
b525fd83
VS
120712012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 Clarify and unify messages.
12074
12075 * grub-core/commands/hashsum.c (options): Unify messages.
12076 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
12077 literal-only message as translatable.
12078 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
12079 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
12080 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
12081 commands.
12082 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
12083 key, not the key used to unlock. Clarify what it's used for.
12084 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
12085 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
12086 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
12087 * util/grub-editenv.c (options): Unify "verbose" message.
12088 * util/grub-fstest.c (read_file): Unify error message.
12089 (fstest): Add quotes around commands.
12090 (options): Unify "verbose" message.
12091 * util/grub-install.in: Add quotes around variable name.
12092 * util/grub-kbdcomp.in: Unify error message.
12093 * util/grub-mkfont.c (main): Likewise.
12094 * util/grub-mkrescue.in: Likewise.
12095 * util/grub-mklayout.c (options): Unify "verbose" message.
12096 * util/grub-mkstandalone.in: Unify help and verbose messages.
12097 * util/grub-mount.c (options): Unify "verbose" message.
12098 * util/grub-probe.c (options): Likewise.
12099 * util/grub-script-check.c (options): Likewise.
12100 * util/grub-setup.c (setup): Unify no-terminator message.
12101 (options): Use DEVICE and not DEV.
12102 Unify "verbose" message.
12103 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
12104
0ae70393
VS
121052012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12106
12107 Improve and unify messages.
12108
12109 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
12110 name. All users updated.
12111 Print filename in error.
12112 (read_device_map): Print filename in error.
12113 * util/getroot.c (grub_guess_root_devices): Print filename in error.
12114 (grub_util_get_os_disk): Likewise.
12115 (grub_util_biosdisk_get_grub_dev): Likewise.
12116 (grub_util_check_block_device): Likewise.
12117 (grub_util_check_char_device): Likewise.
12118 (grub_make_system_path_relative_to_its_root): Likewise.
12119 * util/grub-editenv.c (create_envblk_file): Likewise.
12120 (open_envblk_file): Likewise.
12121 (write_envblk): Likewise.
12122 * util/grub-fstest.c (cmd_cp): Likewise.
12123 (cmd_cat): Likewise.
12124 (cmd_cmp): Likewise.
12125 * util/grub-menulst2cfg.c (main): Likewise.
12126 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
12127 (write_font_width_spec): Likewise.
12128 (write_font_pf2): Likewise.
12129 * util/grub-mkimage.c (generate_image): New argument outname.
12130 All users updated.
12131 Remove unreacheable message.
12132 (options): Unify messages.
12133 (help_filter): Likewise.
12134 * util/grub-mklayout.c (usage): Removed (unused).
12135 (main): Print filename in error.
12136 * util/grub-mkrescue.in: Fix wrong quoting.
12137 * util/grub-setup.c (setup): Print filename in error.
12138 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
12139 (check_sas): Likewise.
12140 * util/misc.c (grub_util_get_fp_size): Removed.
12141 (grub_util_get_image_size): Print filename in error.
12142 (grub_util_read_at): Removed.
12143 (grub_util_read_image): Print filename in error.
12144 (grub_util_load_image): Likewise.
12145 (grub_util_write_image_at): New argument filename. All users updated.
12146 Print filename in error.
12147 (grub_util_write_image): New argument filename. All users updated.
12148 Print filename in error.
12149 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
12150 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
12151
0a96117d
VS
121522012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * grub-core/Makefile.core.def (pxechain): New module.
12155 * grub-core/loader/i386/pc/pxechainloader.c: New file.
12156 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
12157 function.
12158 (grub_pc_net_config_real): Use grub_pxe_get_cached.
12159 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
12160
aca002f7
VS
121612012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
12164 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
12165 * include/grub/err.h (grub_error_saved): New struct.
12166 (grub_errmsg): Make array size explicit.
12167 * include/grub/misc.h (grub_error_save): New function.
12168 (grub_error_load): Likewise.
12169 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
12170 (grub_error_push): Update `errno' member name.
12171 (grub_error_pop): Likewise
12172 * grub-core/net/tftp.c (tftp_data): New member save_err.
12173 (tftp_receive): Save error.
12174 (tftp_open): Restore error.
12175
a51dab13
VS
121762012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
12179 to real mode down to execute A20-related code in protected mode as
12180 intended.
12181
eb6e6649
GS
121822012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
12183
12184 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
12185 NULL when the argument `level' has an unexpected value.
12186
92cd0f6e
VS
121872012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 Move platform-dependent files from $prefix to $prefix/$platform.
12190
12191 * config.h.in (GRUB_TARGET_CPU): New definition.
12192 (GRUB_PLATFORM): Likewise.
12193 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
12194 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
12195 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12196 * grub-core/kern/dl.c (grub_dl_load): Likewise.
12197 * grub-core/normal/autofs.c (read_fs_list): Likewise.
12198 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
12199 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
12200 * grub-core/normal/term.c (read_terminal_list): Likewise.
12201 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
12202 $prefix/locale.
12203 (grub_gettext_init_ext): Likewise.
12204 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
12205 grub_platform.
12206 * util/grub-install.in: Update directories.
12207 * util/grub-mknetdir.in: Likewise.
12208 * util/grub-mkrescue.in: Likewise.
12209
db606889
VS
122102012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
12213 grub_error framework. All users updated.
12214
c39992a4
VS
122152012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
12218 lists (by always binsearching), improve caching (cache strings
12219 used for binsearch, not only results), improve
12220 maintainability (by using more structured binary search) and correct
12221 error handling.
12222
1e5ec32f
VS
122232012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 * grub-core/script/execute.c (grub_script_return): Fix warning.
12226
ac576cde
VS
122272012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 * grub-core/script/execute.c (grub_script_return): Fix potential
12230 NULL-dereference.
12231 Reported by: Jim Meyering.
12232
498453f6
VS
122332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12234
12235 * po/POTFILES.in: Regenerate.
12236 * util/grub-install.in: Gettextize the strings missed in first pass.
12237
8be63f2e
VS
122382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12239
12240 * Makefile.util.def (grub-mkdevicemap): Removed.
12241 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
12242 * include/grub/util/deviceiter.h: Removed.
12243 * util/deviceiter.c: Likewise.
12244 * util/getroot.c (grub_util_get_os_disk): New function.
12245 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
12246 replacement for EFI.
12247 * util/grub-mkdevicemap.c: Removed.
12248 * util/grub-probe.c (probe): Handle PRINT_DISK.
12249 (argp_parser): Handle -t disk.
12250
8e1e4e39
VS
122512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * util/grub-mkfont.c: Migrate to argp.
12254 * util/grub-mklayout.c: Likewise.
12255 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12256 * util/grub-mkrelpath.c: Likewise.
12257 * util/grub-probe.c: Likewise.
12258 * util/grub-script-check.c: Likewise.
12259
4459819a
VS
122602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12261
12262 * util/grub-reboot.in: Add missing datarootdir.
12263 Add missing newline.
12264 * util/grub-set-default.in: Add missing datarootdir.
12265 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
12266 * util/grub-mkrescue.in: Likewise.
12267
f65741c7
VS
122682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
12271
c1a33466
VS
122722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 * util/grub-kbdcomp.in: Add decent help and gettextize.
12275 * docs/man/grub-kbdcomp.h2m: New file.
12276
c76899a0
VS
122772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 Migrate grub-mkimage.c to argp.
12280
12281 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
12282 (grub-setup): Likewise.
12283 * util/grub-setup.c (print_version): Move to ...
12284 * util/argp_common.c (print_version): ... here.
12285 * util/grub-setup.c (argp_program_version_hook): Move to ...
12286 * util/argp_common.c (argp_program_version_hook): ... here.
12287 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
12288 safety.
12289 * util/grub-mkimage.c (main): Migrate to argp.
12290
57db0757
VS
122912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 * util/grub-mkrescue.in: Use same message as
12294 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
12295 for better translations.
12296
18534ad9
VS
122972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
12300 options with generic grub-mkrescue.in with the goal of future
12301 merge.
12302
c84ba308
VS
123032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12304
12305 * grub-core/kern/mm.c: Add missing include of i18n.h
12306 * grub-core/lib/relocator.c: Likewise.
12307
347998c2
VS
123082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12309
12310 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
12311 error.
12312 (allocate_pages): Check return value.
12313 Replace fatal with error.
12314 (grub_linux_boot): Replace printf with dprintf.
12315 Check find_mmap_size return value.
12316 Replace fatal with error.
12317 Don't call grub_machine_fini.
12318 (grub_load_elf64): Replace printf with dprintf.
12319 (grub_cmd_linux): Likewise.
12320 (grub_cmd_initrd): Likewise.
12321 (grub_cmd_payload): Likewise.
12322
c779226e
VS
123232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12324
12325 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
12326 message.
12327 * grub-core/video/radeon_fuloong2e.c
12328 (grub_video_radeon_fuloong2e_setup): Likewise.
12329 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
12330 * grub-core/video/video.c (grub_video_set_mode): Don't override
12331 standard out of memory message.
12332
dc87d45a
GS
123332012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12334
12335 NetBSD disk wedge support.
12336
12337 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
12338 [__NetBSD__]: Handle NetBSD disk wedges.
12339 * util/getroot.c (convert_system_partition_to_system_disk)
12340 [__NetBSD__]: Likewise.
12341
055f856f
MW
123422012-02-03 Mark Wooding <mdw@distorted.org.uk>
12343
12344 * util/grub-mkconfig.in: Use umask rather than chmod to create
12345 grub.cfg.new to avoid insecure grub.cfg.
12346
4a9f8346
VS
123472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 * grub-core/commands/ls.c: Gettextize.
12350 * grub-core/commands/setpci.c: Likewise.
12351 * grub-core/commands/videotest.c: Likewise.
12352 * grub-core/disk/geli.c: Likewise.
12353 * grub-core/kern/mm.c: Likewise.
12354 * grub-core/lib/relocator.c: Likewise.
12355 * grub-core/loader/efi/appleloader.c: Likewise.
12356 * grub-core/loader/i386/xnu.c: Likewise.
12357 * grub-core/loader/ia64/efi/linux.c: Likewise.
12358 * grub-core/loader/xnu.c: Likewise.
12359 * grub-core/net/dns.c: Likewise.
12360 * grub-core/net/net.c: Likewise.
12361 * grub-core/script/lexer.c: Likewise.
12362 * grub-core/script/parser.y: Likewise.
12363 * grub-core/script/yylex.l: Likewise.
12364 * util/getroot.c: Likewise.
12365 * util/grub-setup.c: Likewise.
12366
a646a366
VS
123672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12368
12369 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12370 number.
12371
54e2be26
VS
123722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12373
12374 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12375
f7c71e68
VS
123762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12379 macro.
12380 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12381 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12382
a32d5c71
VS
123832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12384
12385 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12386 * util/grub-install.in: Gettextize.
12387 * util/grub-mkconfig.in: Likewise.
12388 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12389 if not available.
12390 (grub_warn): Gettextize.
12391 * util/grub-mknetdir.in: Gettextize.
12392 * util/grub-mkrescue.in: Likewise.
12393 * util/grub-mkstandalone.in: Likewise.
12394 * util/grub-reboot.in: Likewise.
12395 * util/grub-set-default.in: Likewise.
12396 * util/grub.d/00_header.in: Likewise.
12397 * util/grub.d/10_hurd.in: Likewise.
12398 * util/grub.d/10_kfreebsd.in: Likewise.
12399 * util/grub.d/10_linux.in: Likewise.
12400 * util/grub.d/10_netbsd.in: Likewise.
12401 * util/grub.d/10_windows.in: Likewise.
12402 * util/grub.d/20_linux_xen.in: Likewise.
12403 * util/grub.d/30_os-prober.in: Likewise.
12404 * po/POTFILES-shell.in: Regenerate.
12405
69edd81a
RL
124062012-02-03 Richard Laager <rlaager@wiktel.com>
12407
12408 * util/grub-mkimage.c (main): Fix format-security warning.
12409 * util/grub-mkrelpath.c (main): Likewise.
12410 * util/grub-probe.c (main): Likewise.
12411
65f08dbf
RL
124122012-02-03 Richard Laager <rlaager@wiktel.com>
12413
12414 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12415 failure.
12416 Put back lost PRINT_DRIVE.
12417
e9084abe
RL
124182012-02-03 Richard Laager <rlaager@wiktel.com>
12419
12420 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12421 (grub_guess_root_devices): Replace strlen with sizeof.
12422 Avoid crash.
12423 (find_root_devices_from_poolname): Remove unused variable.
12424 Handle raidzN.
12425
cf5f7ee7
VS
124262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 Support install on multi-device filesystems.
12429
12430 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12431 (grub_guess_root_devices): ...this. Return char **. All users updated.
12432 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12433 Removed.
12434 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12435 (find_root_devices_from_poolname): ... here.
12436 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12437 Support zfs-fuse.
12438 (grub_guess_root_device): Rename to ...
12439 (grub_guess_root_devices): ... this. Return char **. All users updated.
12440 * util/grub-install.in: Handle multi-device filesystems.
12441 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12442 argument. All users updated.
12443 Handle multi-device filesystems.
12444 Use 'delim' as separator.
12445 Remove device check to allow filesystems on file.
12446 (main): Support -0 argument. Handle multi-device.
12447 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12448 Fix a cross-device check while on it.
12449 (arguments): Remove root_dev.
12450 (argp_parser): Remove -r.
12451 (main): Remove root_dev.
12452
2f53a9ed
VS
124532012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12454
12455 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12456
17e1d934
VS
124572012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12458
12459 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12460 symbol.
12461 Reported by: NODA, Kai <nodakai>.
12462
d3e3fab5
VS
124632012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12464
12465 Fix ehci on amd64.
12466
12467 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12468 pointers.
12469 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12470 (grub_ehci_setup_qh): Likewise.
12471 (grub_ehci_find_qh): Likewise.
12472 (grub_ehci_transaction): Likewise.
12473 (grub_ehci_setup_transfer): Likewise.
12474 (grub_ehci_check_transfer): Likewise.
12475 (grub_ehci_portstatus): Likewise.
12476 (grub_ehci_detect_dev): Likewise.
12477 (grub_ehci_transfer_controller_data): New field td_last_phys.
12478 (grub_ehci_setup_transfer): Fill td_last_phys.
12479 (grub_ehci_check_transfer): Use td_last_phys.
12480
3008675b
SG
124812012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
12482
12483 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12484 if no submenu is present.
12485
fc9b5652
AN
124862012-02-01 Aleš Nesrsta <starous@volny.cz>
12487
12488 CBI support.
12489
12490 * include/grub/usb.h (grub_usbms_protocol_t): New values
12491 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12492 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12493 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12494 (grub_usbms_dev): Add subclass, protocol and intrpt.
12495 Remove in_maxsz and out_maxsz.
12496 (grub_usbms_reset): Rename to ...
12497 (grub_usbms_bo_reset): .. this.
12498 (grub_usbms_cbi_cmd): New function.
12499 (grub_usbms_cbi_reset): Likewise.
12500 (grub_usbms_reset): Likewise.
12501 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
12502 (grub_usbms_transfer): Rename to ...
12503 (grub_usbms_transfer_bo): ... this.
12504 (grub_usbms_transfer_cbi): Likewise.
12505 (grub_usbms_transfer): Likewise.
12506
a2b81d53
AN
125072012-02-01 Aleš Nesrsta <starous@volny.cz>
125082012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
12511 the support for the CS5536 modification thereos and few bugfixes.
12512
12513 * grub-core/Makefile.core.def (ehci): New module.
12514 * grub-core/bus/usb/ehci.c: New file.
12515 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12516 port and hubaddr. All users updated.
12517 Save port and hubaddr into dev structure.
12518 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12519 define.
12520 * include/grub/pci.h (grub_dma_phys2virt): New function.
12521 (grub_dma_virt2phys): Likewise.
12522 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12523
b1d51f02
VS
125242012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12525
12526 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12527 check as some mkfs implementations omit it.
12528
fc694106
VS
125292012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12530
12531 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12532
6c0920e3
VS
125332012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12534
12535 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12536 Add new member volname2.
12537 (grub_jfs_label): Use volname2 if available.
12538
d1a46f9a
VS
125392012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12542 over last_mounted as seen in image generated by mkfs.nilfs2.
12543 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12544
dec8ed14
VS
125452012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12548 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12549 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12550
7397c69b
VS
125512012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12554 over the sector.
12555
b3fe42ad
VS
125562012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12559 subvolume name (by removing a bogus and useless check).
12560
10476bb0
VS
125612012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12564 sizeof while on it.
12565
9c08ad87
VS
125662012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12567
12568 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12569 (grub_scsi_read_capacity10): ... this.
12570 (grub_scsi_read_capacity16): New function.
12571 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12572 0xffffffff.
12573 Fix off-by-one error.
12574 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12575 64-bit unsigned.
12576 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12577 (grub_scsi_read_capacity10): ... this.
12578 (grub_scsi_read_capacity_data): Rename to ...
12579 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12580 (grub_scsi_read_capacity16): New struct.
12581 (grub_scsi_read_capacity16_data): Likewise.
12582 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12583 grub_scsi_cmd_read_capacity10.
12584 New command grub_scsi_cmd_read_capacity16.
12585
bc8d0f45
VS
125862012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 SCSI >2TiB support.
12589
12590 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12591 (grub_scsi_write16): Likewise.
12592 (grub_scsi_read): Use read16 when necessary.
12593 (grub_scsi_write): Likewise.
12594 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12595 (grub_scsi_write16): Likewise.
12596 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12597
cc774926
VS
125982012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 SCSI write support (for usbms mainly).
12601
12602 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12603 a const pointer.
12604 (grub_scsi_write): Implement.
12605 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12606
67639fd7
VS
126072012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12610 variable.
12611
9079d3ed
VS
126122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12613
12614 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12615
c6a6f204
VS
126162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12617
12618 * po/POTFILES.in: Regenerate.
12619
ecbf8cd1
VS
126202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12621
12622 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12623 with grub_printf to avoid unnecessary fatal failure.
12624
0b3b3b38
VS
126252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12626
12627 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12628 (INT_MAX): Likewise.
12629 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12630 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12631 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12632 (strcpy): Likewise.
12633 (strstr): Likewise.
12634 (strchr): Likewise.
12635 (strncpy): Likewise.
12636 (strcat): Likewise.
12637 (strncat): Likewise.
12638 (strcoll): Likewise.
12639 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12640 (GRUB_INT_MAX): Likewise.
12641
db7337a3
VS
126422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12643
12644 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12645 unexpected error.
12646 (optimize_utf8): Likewise.
12647 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12648
f37c87e1
VS
126492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 * grub-core/boot/i386/pc/lnxboot.S: Use
12652 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12653 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12654 location.
12655 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12656 definition.
12657 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12658
63fe43f3
VS
126592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12662 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12663 now to avoid double free.
12664 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12665 hostdisk.
12666 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12667 * util/grub-probe.c (escape_of_path): Always return a new copy.
12668 (print_full_name): Escape path.
12669 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12670 Fix hints on abstractions.
12671
ebe2c961
VS
126722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12673
12674 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12675 Don't add "root" line if no compatibility hont is available.
12676 Suggested by: Seth Goldberg.
12677
2b5336a2
VS
126782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12679
12680 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12681 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12682 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12683 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12684
74310bd8
VS
126852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12686
12687 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12688
c30582ba
VS
126892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12690
12691 * util/grub-pe2elf.c (ehdr): Make static.
12692 (shdr): Likewise.
12693 (num_sections): Likewise.
12694 (offset): Likewise.
12695
5f47782c
VS
126962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12697
12698 Eliminate ofpath limits and possible overflows.
12699
12700 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12701 (OF_PATH_MAX): Removed.
12702 (MAX_DISK_CAT): New const.
12703 (find_obppath): Use allocated rather than preallocated buffer.
12704 Return result. Argument of_path removed. All users updated.
12705 Add missing fdstat.
12706 (xrealpath): New function.
12707 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12708 Allocate rather than use preallocated buffer. All users updated.
12709 (__of_path_common): Use allocated rather than preallocatecd buffer.
12710 Return result. Argument of_path removed. All users updated.
12711 (vendor_is_ATA): Read only needed part form the file.
12712 (check_sas): Allocate depending on contents rather than fixed.
12713 (main) [STANDALONE]: Handle NULL result.
12714
f990cbf9
VS
127152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12718
9c6e84b8
VS
127192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12720
12721 Cryptodisk write support.
12722
12723 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12724 (grub_cryptodisk_decrypt): Moved logic to ...
12725 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12726 (grub_cryptodisk_write): Implement.
12727 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12728 (grub_util_fd_write): ... this. Make global.
12729 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12730
87cf9744
VS
127312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 * include/grub/list.h (grub_list_remove): Don't crash if element is
12734 removed twice.
12735
ca8c0baf
VS
127362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 Rename ofconsole to console.
12739
12740 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12741 as sysnonym to console.
12742 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12743 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12744 Rename grub_ofconsole_ to grub_console_. All users updated
12745 (grub_console_term_output): Rename "ofconsole" to "console".
12746 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12747 as "console".
12748
64c8b8f6
VS
127492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12752 handling.
12753 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12754 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12755 GRUB_DISK_DEVICE_FILE_ID.
12756
f6c434d5
VS
127572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12760 and improve performance.
12761
5858b42d
VS
127622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12765 missing ieee1275/ prefix on whole disk.
12766
4ed3c26b
VS
127672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12770 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12771
df71143e
VS
127722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12775
076e7c0f
VS
127762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 Merge common RAID and LVM logic to an abstract diskfilter.
12779 Add LDM support using the same framework.
12780
12781 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12782 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12783 (libgrubmods): Remove grub-core/disk/raid.c and
12784 grub-core/partmap/gpt.c.
12785 * grub-core/Makefile.core.def (ldm): New module.
12786 (raid): Renamed to diskfilter. All users updated.
12787 * grub-core/disk/raid.c: Moved to ...
12788 * grub-core/disk/diskfilter.c: ... here.
12789 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12790 (lv_num): New var.
12791 (find_array): Renamed to ...
12792 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12793 (grub_is_array_readable): Renamed to ...
12794 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12795 (insert_array): New argument id.
12796 (is_node_readable): New function.
12797 (scan_device): Rename to ...
12798 (scan_disk): .. this. Restrict to one disk.
12799 (scan_devices): New function.
12800 (grub_diskfilter_iterate): Support multi-LV.
12801 Skip invisible and nameless LVs.
12802 (grub_diskfilter_memberlist): Support multi-LV.
12803 (grub_diskfilter_read_node): New function.
12804 (grub_raid_read): Most of logic moved to ...
12805 (read_segment): ... here
12806 (read_lv): New function.
12807 (grub_diskfilter_get_vg_by_uuid): New function.
12808 (grub_diskfilter_make_raid): Likewise.
12809 * grub-core/disk/ldm.c: New file.
12810 * grub-core/disk/lvm.c (vg_list): Removed.
12811 (lv_count): Likewise.
12812 (scan_depth): Likewise.
12813 (is_lv_readable): Likewise.
12814 (grub_lvm_getvalue): Advance pointer past the number.
12815 (find_lv): Removed.
12816 (do_lvm_scan): Refactored into ...
12817 (grub_lvm_detect): ... this. Support raid.
12818 (grub_lvm_iterate): Removed.
12819 (grub_lvm_memberlist): Likewise.
12820 (grub_lvm_open): Likewise.
12821 (grub_lvm_close): Likewise.
12822 (read_lv): Likewise.
12823 (read_node): Likewise.
12824 (is_node_readable): Likewise.
12825 (is_lv_readable): Likewise.
12826 (grub_lvm_read): Likewise.
12827 (grub_lvm_write): Likewise.
12828 (grub_lvm_dev): Use diskfilter
12829 (GRUB_MOD_INIT): Likewise.
12830 (GRUB_MOD_FINI): Likewise.
12831 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12832 new interface.
12833 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12834 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12835 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12836 grub_diskfilter_read_node.
12837 Fix a bug with xor.
12838 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12839 grub_diskfilter_read_node.
12840 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12841 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12842 (grub_disk_dev_iterate): Move from here...
12843 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12844 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12845 Make global.
12846 (grub_hostdisk_find_partition_start): Likewise.
12847 (grub_hostdisk_os_dev_to_grub_drive): New function.
12848 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12849 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12850 * util/getroot.c (make_device_name): ... here.
12851 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12852 Move to ...
12853 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12854 * grub-core/kern/emu/hostdisk.c
12855 (convert_system_partition_to_system_disk): Move to ...
12856 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12857 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12858 * util/getroot.c (device_is_wholedisk): ... here.
12859 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12860 * util/getroot.c (find_system_device): ... here.
12861 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12862 Move to ...
12863 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12864 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12865 Move to ...
12866 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12867 Handle LDM.
12868 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12869 Move to ...
12870 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12871 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12872 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12873 DISKFILTER.
12874 * include/grub/raid.h: Renamed to ...
12875 * include/grub/diskfilter.h: ... this.
12876 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12877 (GRUB_RAID_LAYOUT_*): Make into array.
12878 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12879 (grub_diskfilter_vg): New struct.
12880 (grub_diskfilter_pv_id): Likewise.
12881 (grub_raid_member): Removed.
12882 (grub_raid_array): Likewise.
12883 (grub_diskfilter_pv): New struct.
12884 (grub_diskfilter_lv): Likewise.
12885 (grub_diskfilter_segment): Likewise.
12886 (grub_diskfilter_node): Likewise.
12887 (grub_diskfilter_get_vg_by_uuid): New proto.
12888 (grub_raid_register): Inline.
12889 (grub_diskfilter_unregister): Likewise.
12890 (grub_diskfilter_make_raid): New proto.
12891 (grub_diskfilter_vg_register): Likewise.
12892 (grub_diskfilter_read_node): Likewise.
12893 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12894 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12895 (grub_util_is_ldm): Likewise.
12896 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12897 (grub_hostdisk_find_partition_start): Likewise.
12898 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12899 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12900 New definition.
12901 (grub_gpt_partition_map_iterate): New proto.
12902 * include/grub/lvm.h (grub_lvm_vg): Removed.
12903 (grub_lvm_pv): Likewise.
12904 (grub_lvm_lv): Likewise.
12905 (grub_lvm_segment): Likewise.
12906 (grub_lvm_node): Likewise.
12907 * util/getroot.c [...]
12908 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12909 (probe_abstraction): Likewise.
12910 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12911 (main): Remove dead logic.
12912
8a7f9b9c
VS
129132012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12914
12915 Simplify root device discover and don't fail when trying to open
12916 incorrect devices.
12917
12918 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12919 function.
12920 (get_diskname_from_path): Likewise.
12921 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12922 of iterating.
12923
30545b85
VS
129242012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12927
28ea58cf
VS
129282012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12929
12930 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12931 pastthe end.
12932
692dabca
VS
129332012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 * util/grub-install.in: Add missing \.
12936 Reported by: gentoofan
12937
f6e4ea70
VS
129382012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12939
12940 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12941 (direct_read): Use correct compressed size.
12942 (grub_squash_read_data): Likewise.
12943
129442012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12945
12946 * docs/grub.texi (Platform limitations): New section.
12947 (Platform-specific operations): Likewise.
12948 * docs/grub-dev.texi (Porting): Likewise.
12949
76261110
VS
129502012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12951
12952 IEEE1275 disk write support.
12953
12954 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12955 const void *.
12956 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12957 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12958 and seek loginc to ...
12959 (grub_ofdisk_prepare): ... here.
12960 (grub_ofdisk_write): Implement.
12961
fc36d603
VS
129622012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 ARC disk write support.
12965
12966 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12967 (reopen): New argument writable. All users updated.
12968 Handle required access mode.
12969 (grub_arcdisk_write): Implement.
12970 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12971 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12972
e06c2e7a
VS
129732012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12976 (read_sblock): Don't attempt to read superblocks outside the disk size.
12977
ff447958
VS
129782012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12979
12980 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12981 first superblock to find the second one when possible.
12982
9e88df39
VS
129832012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12984
12985 * util/grub-install.in: Fix an ARC bug.
12986 Print a warning if no platform-specific setup is available.
12987
bb26e4ff
VS
129882012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 Use static allocation rather than scratch pointer in reed_solomon.
12991 It decreases its size significantly and avoids a variable in .text.
12992
12993 * grub-core/lib/reed_solomon.c (scratch): Removed.
12994 (chosenstat): New const or static array.
12995 (sigma): Likewise.
12996 (errpot): Likewise.
12997 (errpos): Likewise.
12998 (sy): Likewise.
12999 (mstat): Likewise.
13000 (errvals): Likewise.
13001 (eqstat): Likewise.
13002 (pol_evaluate): Replace x with log_x argument. All users updated.
13003 (syndroms): Removed.
13004 (gauss_solve): Use statically allocated arrays.
13005 (rs_recover): Likewise.
13006 Calculate syndroms directly.
13007 (decode_block): Use statically allocated arrays.
13008 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
13009 (main) [TEST]: Allow -DTEST -DSTANDALONE.
13010
2e13ede5
VS
130112012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13012
13013 Eliminate fixed limit on reed solomon decoder length.
13014
13015 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
13016 rather than hardcoding the address.
13017 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
13018 no_reed_solomon_length.
13019 Move gate_a20 to no-reed-solomon part.
13020 Don't force a particular size of no reed-solomon part.
13021 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13022 Removed.
13023 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
13024 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
13025
f8a9ab12
VS
130262012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13027
13028 * grub-core/commands/wildcard.c (match_files): Handle filenames
13029 without explicit device.
13030 (wildcard_expand): Don't add explicit device if not already present.
13031 * tests/grub_script_echo1.in: Add a new expansion test.
13032
87edb894
VS
130332012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 Replace single-linked with double-linked lists. It results in more
13036 compact and more efficient code.
13037
13038 * grub-core/kern/list.c (grub_list_push): Moved from here ...
13039 * include/grub/list.h (grub_list_push): ... to here. Set prev.
13040 (grub_list_remove): Moved from here ...
13041 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
13042 (grub_prio_list_insert): Set prev.
13043 * include/grub/list.h (grub_list): Add prev. All users updated.
13044
48b391e9
VS
130452012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13046
13047 Handle newer autotools. Add some missing quotes while on it.
13048
13049 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
13050 (pkglib_DATA): Move grub-mkconfig_lib from here ...
13051 (pkgdata_DATA): ... here.
13052 * Makefile.util.def (update-grub_lib): Removed.
13053 * conf/Makefile.common (pkglib_DATA): Removed.
13054 (pkglib_SCRIPTS): Likewise.
13055 (pkgdata_DATA): New variable.
13056 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
13057 needed.
13058 Add missing quotes.
13059 Remove unused variable while on it.
13060 * tests/util/grub-shell.in: Likewise.
13061 * util/grub-install.in: Likewise.
13062 * util/grub-mkconfig.in: Likewise.
13063 * util/grub-mknetdir.in: Likewise.
13064 * util/grub-mkrescue.in: Likewise.
13065 * util/grub-mkstandalone.in: Likewise.
13066 * util/grub.d/00_header.in: Likewise.
13067 * util/grub.d/10_hurd.in: Likewise.
13068 * util/grub.d/10_illumos.in: Likewise.
13069 * util/grub.d/10_kfreebsd.in: Likewise.
13070 * util/grub.d/10_linux.in: Likewise.
13071 * util/grub.d/10_netbsd.in: Likewise.
13072 * util/grub.d/10_windows.in: Likewise.
13073 * util/grub.d/20_linux_xen.in: Likewise.
13074 * util/grub.d/30_os-prober.in: Likewise.
13075 * util/update-grub_lib.in: Removed.
13076
130772012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
13078
13079 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
13080 a workaround for intel problem.
13081
66832792
PRP
130822012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
130832012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
130842012-01-23 pfsmorigo
13085
13086 * util/grub-install.in: Support dd'in into PreP partition.
13087 * util/grub-probe.c (probe): Support discovering partition type.
13088 (main): Support -t msdos_parttype.
13089
7816a17e
VS
130902012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
13093 infinite recursion using counter.
13094 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
13095 init to skip it if the magic check fails.
13096 (dec_stream_header): Init s->crc32.
13097
8f9d3a8c
ZB
130982012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
130992012-01-22 Zachary Bedell <pendorbound@gmail.com>
131002012-01-22 Richard Laager <rlaager@wiktel.com>
13101
13102 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
13103 All users updated.
13104 (find_bestub): Determine correct size.
13105 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
13106 (scan_disk): Align the size down.
13107 Call check pool before find_bestub to have ashift.
13108
b055dd32
VS
131092012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13110
13111 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
13112 dprintf in no-malloc zone.
13113
d779e9bd
ML
131142012-01-22 Mario Limonciello <mario_limonciello@dell.com>
13115
13116 * configure.ac: Add back in test for limits.h.
13117
b508af69
VS
131182012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 Support 4K-sector NTFS.
13121
13122 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
13123 (grub_ntfs_data): Remove blocksize.
13124 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
13125 Remove data argument. All users updated.
13126
dad9c8b5
VS
131272012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
13130 being in .text to avoid dprel references.
13131 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
13132 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
13133 (grub_arch_highmemsize): Likewise.
13134 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
13135 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
13136 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
13137
d43a777e
VS
131382012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
13141
13142 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
13143 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
13144
34e4208f
VS
131452012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13146
13147 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
13148 GRUB_UTIL.
13149 (grub_set_datetime_cmos): Likewise.
13150
3ec0fc1c
VS
131512012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13152
13153 Make XZ compression parameters dependent on target and not host CPU.
13154
13155 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
13156 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
13157
22489834
VS
131582012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
13161 set but not used variable.
13162
8502fbca
VS
131632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
13166 created when no uuid support is compiled into mkfs.reiser.
13167
76df2068
VS
131682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13169
13170 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
13171 (utf8_to_macroman): Do the opposite.
13172 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
13173
64e3f8f6
VS
131742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13175
13176 * configure.ac: Refise build qemu_mips w/o unifont.
13177
9c271078
VS
131782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13179
13180 Eliminate grub_min/grub_max prone to overflow usage.
13181
13182 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
13183 (poll_nonroot_hub): Likewise.
13184 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
13185 (grub_affs_label): Likewise.
13186 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
13187 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
13188 (grub_hfs_label): Likewise.
13189 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
13190 * grub-core/fs/zfs/zfs.c (MIN): Remove.
13191 (zap_leaf_array_equal): Use grub_size. Remove MIN.
13192 (zap_leaf_array_get): Likewise.
13193 (dnode_get_path): Likewise.
13194 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
13195 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
13196 * grub-core/script/execute.c (grub_script_break): Likewise.
13197 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
13198 grub_max.
13199 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
13200 * include/grub/misc.h (grub_min): Removed.
13201 (grub_max): Likewise.
13202
80662dbc
VS
132032012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13204
13205 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
13206 direct.inode = 0.
13207
e6da1467
VS
132082012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13209
13210 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
13211
b1ac4cb1
VS
132122012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13213
13214 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
13215
b4bf7c3b
VS
132162012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13217
13218 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
13219 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
13220
8ee1101a
VS
132212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13222
13223 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
13224 rather than a hack for grub_strncasemap.
13225
132262012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13227
13228 Support multiple initrds
13229 Note: part of this was accidently committed in r3739.
13230
13231 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
13232 initrd.
13233 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
13234 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
13235 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13236 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13237 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13238
4d1e2bc9
VS
132392012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
13242 disks with unknown size.
13243 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
13244
75b49ebe
VS
132452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13246
13247 Remove defines pertaining to arbitrary limits not affecting GRUB
13248 anymore.
13249
13250 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
13251 (EXT2_MAX_SYMLINKCNT): Likewise.
13252 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
13253 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
13254 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
13255 (GRUB_PXE_MAX_BLKSIZE): Likewise.
13256 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
13257 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
13258 (DN_MAX_OBJECT_SHIFT): Likewise.
13259 (DN_MAX_OFFSET_SHIFT): Likewise.
13260 (DN_MAX_OBJECT): Likewise.
13261 (DNODES_PER_LEVEL_SHIFT): Likewise.
13262 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
13263 (SPA_MAXBLOCKSIZE): Likewise.
13264 (SPA_BLOCKSIZES): Likewise.
13265 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
13266 (MZAP_MAX_BLKSZ): Likewise.
13267
74a1dce7
VS
132682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
13271 handle NULL appropriately.
13272 Remove MIN.
13273
30c7d3ce
VS
132742012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 Fix efiemu.
13277
13278 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
13279 cpu/types.h.
13280 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
13281 * configure.ac: Fix efiemu check.
13282
3c76ea0c
VS
132832012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
13286 grub_probe.
13287 Reported by: adamwill
13288
7e532280
SG
132892012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
13290
13291 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
13292
30492374
VS
132932012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 Fix handling of wide characters in gfxterm.
13296
13297 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
13298 (clear_char): Likewise.
13299 (paint_char): Skip code == NULL chars.
13300 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
13301
e70cb72f
VS
133022012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13303
13304 * grub-core/normal/charset.c: Move comment to right place.
13305
5c827cf9
VS
133062012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13307
13308 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
13309 (GRUB_AFFS_FLAG_FFS): Put back where it was.
13310 (grub_affs_mount): Revert the correct version checking.
13311
53603892
VS
133122012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 * docs/grub.texi (Unicode): Mention several other unsupported features.
13315
ff094b9b
VS
133162011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13317
13318 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
13319 case statements as compile-time one.
13320 (direct_read): Prevent spurious warnings.
13321 (grub_squash_read_data): Likewise.
13322
c029da8a
VS
133232011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 Various squash4 fixes and LZO and XZ support.
13326
13327 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
13328 Add xzembed source files.
13329 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
13330 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
13331 (grub_squash_inode): New subtype long_dir.
13332 (SQUASH_TYPE_LONG_DIR): New inode type.
13333 (COMPRESSION): New enum.
13334 (XZBUFSIZ): New const.
13335 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
13336 (read_chunk): Use data->decompress.
13337 (zlib_decompress): New function.
13338 (lzo_decompress): Likewise.
13339 (xz_decompress): Likewise.
13340 (squash_mount): Set new data fields.
13341 (grub_squash_iterate_dir): Handle long dir.
13342 (squash_unmount): Free xzdec and xzbuf.
13343 (grub_squash_open): Check ino type.
13344 (direct_read): Stylistic fixes. Use data->decompress.
13345 (grub_squash_read_data): Likewise.
13346 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13347 (get_byte): Likewise.
13348 (grub_zlib_disk_read): Removed.
13349 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13350 (GRUB_POSIX_BOOL_DEFINED): New define.
13351 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13352 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13353 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13354 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13355
7a45a539
VS
133562011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 Don't override more informative errors.
13359
13360 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13361 * grub-core/font/font.c (open_section): Likewise.
13362 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13363 filename. Don't override errors.
13364 (grub_cmd_openbsd_ramdisk): Don't override errors.
13365 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13366 (grub_cmd_initrd): Likewise.
13367 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13368 (grub_cmd_initrd): Likewise.
13369 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13370 (grub_cmd_linux): Likewise.
13371 (grub_cmd_initrd): Likewise.
13372 (grub_cmd_payload): Likewise.
13373 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13374 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13375 (grub_cmd_module): Likewise.
13376 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13377 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13378 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13379 (grub_cmd_xnu_mkext): Likewise.
13380 (grub_cmd_xnu_ramdisk): Likewise.
13381 (grub_xnu_check_os_bundle_required): Likewise.
13382 (grub_xnu_load_kext_from_dir): Likewise.
13383 (grub_cmd_xnu_kextdir): Likewise.
13384 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13385
b2d004db
VS
133862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13387
13388 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13389 as 1024 in block size field. Found on one of my test images.
13390 Small optimisation while on it.
13391
ec000eac
VS
133922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13395 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13396 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13397 performance fixes while on it.
13398 (grub_sfs_close): Fix memory leak while on it.
13399 (grub_sfs_label): Convert Latin1 to UTF-8.
13400
f50e1165
VS
134012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13404 space to avoid overflows.
13405 (grub_hfs_label): Convert from macroman to UTF-8.
13406
2ae254de
VS
134072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13408
13409 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13410
0108f491
VS
134112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13412
13413 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13414
f45f5f89
VS
134152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 * unicode: Import Unicode 6.0 data.
13418
4d8c4765
VS
134192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13420
63fa8ef9
VS
13421 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13422 outside of range.
13423
134242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13425
13426 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
13427
13428 * include/grub/charset.h (grub_getend): New function.
13429 * grub-core/script/function.c (grub_script_function_find): Use
13430 grub_getend.
13431 * grub-core/normal/completion.c (add_completion): Likewise.
13432
f3cb4a4e
VS
134332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13434
13435 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13436 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13437 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13438 (GRUB_UNICODE_TAG_END): Likewise.
13439 (GRUB_UNICODE_LAST_VALID): Likewise.
13440
5da8dbc5
VS
134412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13444 len and make it smaller. All users updated.
13445 * util/import_unicode.py: Put length and not end character.
13446 Check length.
13447
8569f13d
VS
134482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 Make better Unicode-compliant and unify some UTF-8 code pathes.
13451
13452 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13453 valid character.
13454 (grub_is_valid_utf8): Use grub_utf8_process.
13455 Check resulting code range.
13456 (grub_utf8_to_ucs4): Use grub_utf8_process.
13457 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13458 valid character.
13459
cc4fddf5
VS
134602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13463
bbc47747
VS
134642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * docs/grub.texi (Filesystems): Mention AFS.
13467
f63d6bf4
VS
134682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * docs/grub.texi (Filesystems): Clarify restrictions.
13471 (Regexp): Mention non-Unicode regexp behaviour.
13472 (Other): Mention non-Unicode matching behaviour.
13473
74bbf0db
VS
134742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13475
f63d6bf4 13476 Make HFS implementation use MacRoman.
74bbf0db
VS
13477
13478 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
13479 (macroman): New const array.
13480 (macroman_to_utf8): New function.
13481 (utf8_to_macroman): Likewise.
13482 (grub_hfs_find_dir): Use utf8_to_macroman.
13483 (grub_hfs_dir): Use macroman_to_utf8.
13484 Set case_insensitive.
13485
4ea0316e
VS
134862011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13489
d3c13cbd
VS
134902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 Integrate hints into autogeneration scripts.
13493
13494 * docs/grub.texi (Filesystems): Add a hostdisk example.
13495 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13496 (grub-probe): Add ofpath.
13497 * gentpl.py: Remove group nosparc64.
13498 * grub-core/commands/search.c (cache_entry): New struct.
13499 (cache): New var.
13500 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
13501 * grub-core/commands/search_wrap.c (options): Add platform-specific
13502 hint options.
13503 (grub_cmd_search): Handle platform-specific hints.
13504 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
13505 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
13506 (grub_util_biosdisk_data): Likewise.
13507 (grub_util_biosdisk_open): Set device_map.
13508 (read_device_map): Handle "" as indication of no map.
13509 Set device_map.
13510 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
13511 (grub_util_biosdisk_get_compatibility_hint): New function.
13512 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
13513 * include/grub/emu/hostdisk.h
13514 (grub_util_biosdisk_get_compatibility_hint): New proto.
13515 * util/grub-install.in: Don't call grub-mkdevicemap.
13516 Add platform-specific hint to load.cfg.
13517 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13518 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13519 hints. Set root preliminary to compatibility hint, not to OS name.
13520 * util/grub-probe.c (PRINT_*): Add hints.
13521 (print): Make static.
13522 (escape_of_path): New function.
13523 (guess_bios_drive): Likewise.
13524 (guess_efi_drive): Likewise.
13525 (guess_baremetal_drive): Likewise.
13526 (print_full_name): Likewise.
13527 (probe): Handle hints.
13528 (main): Likewise.
13529 * util/ieee1275/devicemap.c: Removed.
13530 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13531 updated.
13532 (grub_util_devname_to_ofpath): Return NULL on failure.
13533
13534 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13535 resource leak.
13536 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13537
13538 * po/POTFILES.in: Regenerated.
13539
13540 Allow purely long options
13541
13542 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13543 (SHORT_ARG_USAGE): Likewise.
13544 (grub_arg_show_help): Compare opt with help_options.
13545 (parse_option): Receive opt as argument. If makes big simplificatons.
13546 All users updated
13547
00ce2df3
VS
135482011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13549
13550 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13551 Restructure to avoid warning.
13552
e77e325f
VS
135532011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13554
13555 * util/grub-install.in: Account for possible escaped comma in device
13556 name.
13557
165099ea
VS
135582011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
13561 channel.
13562
ce4a999d
VS
135632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13566 allocation and zero-setting.
13567 (grub_ieee1275_get_devname): Check that alias is complete.
13568
379586ad
VS
135692011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13572 unaligned segments.
13573
9197b0ad
VS
135742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13575
13576 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13577 prefix.
13578 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13579 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13580 Add ieee1275 prefix.
13581
edddb7f9
VS
135822011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 * docs/grub.texi (Filesystems): Update.
13585
a1a8b1b9
VS
135862011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 Support odc, newc and bigendian cpio formats.
13589
13590 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13591 * grub-core/Makefile.core.def (newc): New module.
13592 (odc): Likewise.
13593 (cpio_be): Likewise.
13594 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13595 (MAGIC): Likewise.
13596 (MAGIC2): Likewise.
13597 (head) [MODE_ODC]: Adapt for the format.
13598 (head) [MODE_NEWC]: Likewise.
13599 (head) [!MODE_*]: Write fields of interest as arrays.
13600 (MAGIC_USTAR): Removed.
13601 (read_number) [MODE_NEWC]: Change to hex.
13602 (read_number) [!MODE_*]: Parse binary arrays.
13603 (grub_cpio_find_file): Factor out the code for better structure and
13604 always use read_number.
13605 (grub_cpio_mount): Use MAGIC and MAGIC2.
13606 (grub_cpio_dir): Exit on first hook non-0 return.
13607 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13608 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13609 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13610 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13611 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13612 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13613 * grub-core/fs/newc.c: New file.
13614 * grub-core/fs/odc.c: Likewise.
13615 * grub-core/fs/cpio_be.c: Likewise.
13616
58eba9ee
VS
136172011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 Fix handling of tar numbers occupying the whole field.
13620
13621 * grub-core/fs/cpio.c (read_number): New function.
13622 (grub_cpio_find_file): Use read_number instead of strtoull.
13623
a54a0e12
VS
136242011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13625
13626 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13627 occupying the whole field size.
13628
a6120aca
LA
136292011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13630
13631 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13632
a93964ce
VS
136332011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13634
13635 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13636
3ea1ca46
SG
136372011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13638
13639 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13640 TARGET_IMG_LDFLAGS.
13641
b87f7ef2
VS
136422011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13645 (mountinfo_entry): Increase the field size to take escaping into
13646 account.
13647 (find_root_device_from_libzfs): Add one byte to size of strings for
13648 security.
13649
62092395
VS
136502011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13651
13652 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13653 an assert.
13654 * util/grub-setup.c (setup): Likewise.
13655
1f0b1a77
VS
136562011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13657
13658 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13659 _LzmaDecodeA.
13660
8eba9997
VS
136612011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13662
13663 * docs/grub.texi (Internationalisation): New section.
13664
dd0c91e9
VS
136652011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13666
13667 * docs/grub.texi (Loopback booting): New section.
13668
136692011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13670
13671 * util/grub-mkstandalone.in: Fix minor typo errors.
13672
198e150a
VS
136732011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13676
13677 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13678 net/icmp.c and net/icmp6.c.
13679 (http): New module.
13680 (priority_queue): Likewise.
13681 * grub-core/io/bufio.c: Rewritten.
13682 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13683 TYPE_WITH_CONFIGFILE_OPTION.
13684 (legacy_commands): Add bootp and dhcp.
13685 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13686 (grub_legacy_parse): Likewise.
13687 * grub-core/lib/priority_queue.c: New file.
13688 * grub-core/net/arp.c: Add missing license header.
13689 (arp_find_entry): Removed.
13690 (arp_find_entry): Likewise.
13691 (grub_net_arp_resolve): Rename to ...
13692 (grub_net_arp_send_request): ...this.
13693 (grub_net_arp_receive): New card argument.
13694 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13695 Set router and DNS server.
13696 (grub_net_configure_by_dhcp_ack): Handle routing information.
13697 (grub_cmd_bootp): Set checksum.
13698 (grub_bootp_init): Remove net_dhcp.
13699 * grub-core/net/dns.c: New file.
13700 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13701 completion.
13702 (get_card_packet): Handle allocation.
13703 (grub_efinet_findcards): Set mtu.
13704 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13705 (get_card_packet): Handle allocation.
13706 (emucard): Set mtu.
13707 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13708 (GRUB_MOD_INIT): Set mtu.
13709 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13710 mtu.
13711 (get_card_packet): Handle allocation.
13712 (grub_ofnet_findcards): Set mtu.
13713 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13714 assert.
13715 (grub_net_recv_ethernet_packet): Handle IPv6.
13716 * grub-core/net/http.c: New file.
13717 * grub-core/net/icmp.c: Likewise.
13718 * grub-core/net/icmp6.c: Likewise.
13719 * grub-core/net/ip.c (ip6addr): New type.
13720 (ip6hdr): Likewise.
13721 (reassemble): Likewise.
13722 (cmp): New function.
13723 (reassembles): New variable.
13724 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13725 (id): New variable.
13726 (send_fragmented): New function.
13727 (grub_net_send_ip_packet): Rename to ...
13728 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13729 Handle non-UDP.
13730 (grub_net_recv_ip_packets): Rename to ...
13731 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13732 (free_rsm): New function.
13733 (free_old_fragments): Likewise.
13734 (grub_net_recv_ip4_packets): New function.
13735 (grub_net_send_ip6_packet): Likewise.
13736 (grub_net_send_ip_packet): Likewise.
13737 (grub_net_recv_ip6_packets): Likewise.
13738 (grub_net_recv_ip_packets): Likewise.
13739 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13740 (LINK_LAYER_CACHE_SIZE): New const.
13741 (link_layer_find_entry): New function.
13742 (grub_net_link_layer_add_address): Likewise.
13743 (grub_net_link_layer_resolve_check): Likewise.
13744 (grub_net_link_layer_resolve): Likewise.
13745 (grub_net_ipv6_get_slaac): Likewise.
13746 (grub_net_ipv6_get_link_local): Likewise.
13747 (grub_cmd_ipv6_autoconf): Likewise.
13748 (parse_ip): Handle one number representation.
13749 (parse_ip6): New functoion.
13750 (match_net): Handle IPv6.
13751 (grub_net_resolve_address): Handle IPv6 and DNS.
13752 (grub_net_resolve_net_address): Handle IPv6.
13753 (route_cmp): New function.
13754 (grub_net_route_address): Find best route.
13755 (grub_net_addr_to_str): Handle IPv6.
13756 (grub_net_addr_cmp): New function.
13757 (grub_net_add_addr): Register local route.
13758 (print_net_address): Handle net address.
13759 (grub_net_poll_cards): Retransmit TCP.
13760 (grub_net_poll_cards_idle_real): Likewise.
13761 (have_ahead): New function.
13762 (grub_net_seek_real): Use underlying seek.
13763 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13764 * grub-core/net/tcp.c: New file.
13765 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13766 (cmp): New function.
13767 (ack): Likewise.
13768 (tftp_receive): Handle unordered input.
13769 (destroy_pq): New function.
13770 (tftp_close): Close pq.
13771 * grub-core/net/udp.c: Put missing license header.
13772 (grub_net_udp_socket): New function.
13773 (udp_socket_register): Likewise.
13774 (grub_net_udp_close): Likewise.
13775 (grub_net_recv_udp_packet): Check checksum.
13776 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13777 * include/grub/misc.h (grub_memchr): New function.
13778 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13779 (grub_net_card_driver): Return buf in recv.
13780 (grub_net_slaac_mac_list): New struct.
13781 (grub_network_level_protocol_id): Add ipv6.
13782 (grub_net_network_level_addr): Likewise.
13783 (grub_net_network_level_net_addr): Likewise.
13784 (grub_net_app_protocol): Add seek.
13785 (grub_net_socket): Removed.
13786 (grub_net_sockets): Likewise.
13787 (grub_net_socket_register): Likewise.
13788 (grub_net_socket_unregister): Likewise.
13789 (FOR_NET_SOCKETS): Likewise.
13790 (grub_net_add_addr): Add const.
13791 (GRUB_NET_BOOTP_*): New enum.
13792 (grub_net_addr_cmp): New proto.
13793 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13794 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13795 (grub_net_hwaddr_to_str): NEw proto.
13796 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13797 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13798 (grub_dns_init): New proto.
13799 (grub_dns_fini): Likewise.
13800 (grub_net_tcp_retransmit): Likewise.
13801 (grub_net_link_layer_add_address): Likewise.
13802 (grub_net_link_layer_resolve_check): Likewise.
13803 (grub_net_link_layer_resolve): Likewise.
13804 (grub_net_dns_lookup): Likewise.
13805 (grub_net_add_dns_server): Likewise.
13806 (grub_net_remove_dns_server): Likewise.
13807 (GRUB_NET_TRIES): New const.
13808 (GRUB_NET_INTERVAL): Likewise.
13809 * include/grub/net/arp.h: Mostly rewritten.
13810 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13811 * include/grub/net/ip.h: Mostly rewritten.
13812 * include/grub/net/netbuff.h: Indent.
13813 * include/grub/net/tcp.h: New file.
13814 * include/grub/net/udp.h: Mostly rewritten.
13815 * include/grub/priority_queue.h: New file.
13816 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13817 (grub_swap_bytes64_compile_time): Likewise.
13818 (grub_cpu_to_be16_compile_time): Likewise.
13819 (grub_cpu_to_be32_compile_time): Likewise.
13820 (grub_cpu_to_be64_compile_time): Likewise.
13821 (grub_be_to_cpu64_compile_time): Likewise.
13822
215c1800
VS
138232011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13824
13825 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13826 UINT_TO_PTR with cast.
13827
c17e546c
VS
138282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13829
13830 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13831 don't use them.
13832
ff6b18b6
VS
138332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13834
13835 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13836 already there.
13837
70ffcc93
VS
138382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13839
13840 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13841 confusing ipxe.
13842
e5f4d260
VS
138432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13846 Add missing const attribute.
13847 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13848 Likewise.
13849 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13850 Likewise.
13851
8e54b4b7
VS
138522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13853
13854 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13855 misaligned access.
13856 (serpent_setkey): Likewise.
13857 (serpent_encrypt_internal): Likewise.
13858 (serpent_decrypt_internal): Likewise.
13859 (serpent_encrypt): Don't put an alignment-increasing cast.
13860 (serpent_decrypt): Likewise.
13861 (serpent_test): Likewise.
13862
813c0a2b
VS
138632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13866
f2b60fbd
VS
138672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13868
13869 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13870
13871 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13872 grub_addr_t casts.
13873 (PTR_TO_UINT64): Likewise.
13874 (PTR_TO_UINT32): Likewise.
13875
5ef5c511
VS
138762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13879 because of stack.
13880 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13881 limit.
13882
c476e6df
VS
138832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13886 text_width > available width a bit more gracefully.
13887
384ad7cc
VS
138882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13889
13890 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13891 current address calculation.
13892
96f8caf8
VS
138932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13894
13895 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13896 stack.
13897 (encode_block): Likewise.
13898
276b7a8b
VS
138992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13900
13901 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13902 certainety.
13903
e3fd394a
VS
139042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13907 non-RS part to avoid RS messing with GDT.
13908 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13909 Increase to suit in realmode routines.
13910
139112011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13912
13913 * grub-core/kern/i386/realmode.S: Increase alignment.
13914 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13915
ee9c2e7a
VS
139162011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13917
13918 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13919 be deterministic.
13920 (syndroms): Compute 0 syndrom.
13921 (rs_recover): Use 0 syndrom.
13922
7a7f7cc9
VS
139232011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13926
a14b16d1
VS
139272011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13928
13929 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13930 brackets.
13931
9f59e9fc
VS
139322011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13933
ca1b552c
VS
13934 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13935 account.
13936 (get_top_pad): Likewise.
13937 (get_right_pad): Likewise.
13938 (get_bottom_pad): Likewise.
13939
139402011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13941
13942 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13943
e739d698
VS
139442011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13945
13946 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13947 attribute as the structure isn't guaranteed to be properly aligned.
13948 (grub_efi_pci_device_path): Likewise.
13949 (grub_efi_pccard_device_path): Likewise.
13950 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13951 specify the size of `memory_type'.
13952 (grub_efi_vendor_device_path): Likewise.
13953 (grub_efi_controller_device_path): Likewise.
13954 (grub_efi_acpi_device_path): Likewise.
13955 (grub_efi_expanded_acpi_device_path): Likewise.
13956 (grub_efi_atapi_device_path): Likewise.
13957 (grub_efi_scsi_device_path): Likewise.
13958 (grub_efi_fibre_channel_device_path): Likewise.
13959 (grub_efi_1394_device_path): Likewise.
13960 (grub_efi_usb_device_path): Likewise.
13961 (grub_efi_usb_class_device_path): Likewise.
13962 (grub_efi_i2o_device_path): Likewise.
13963 (grub_efi_mac_address_device_path): Likewise.
13964 (grub_efi_ipv4_device_path): Likewise.
13965 (grub_efi_ipv6_device_path): Likewise.
13966 (grub_efi_infiniband_device_path): Likewise.
13967 (grub_efi_uart_device_path): Likewise.
13968 (grub_efi_vendor_messaging_device_path): Likewise.
13969 (grub_efi_hard_drive_device_path): Likewise.
13970 (grub_efi_cdrom_device_path): Likewise.
13971 (grub_efi_vendor_media_device_path): Likewise.
13972 (grub_efi_file_path_device_path): Likewise.
13973 (grub_efi_protocol_device_path): Likewise.
13974 (grub_efi_piwg_device_path): Likewise.
13975 (grub_efi_bios_device_path): Likewise.
13976
cb8f88ea
VS
139772011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13978
13979 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13980 (grub_ucs4_to_utf8_alloc): Likewise.
13981 (grub_ucs4_to_utf8): Likewise.
13982 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13983 (grub_ucs4_to_utf8_alloc): Likewise.
13984
309e5352
VS
139852011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 AFFS never uses unicode.
13988
13989 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13990 (grub_latin1_to_utf8): New inline function.
13991 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13992
e7987e1b
VS
139932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13994
13995 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13996 overflow.
13997
efc2616e
VS
139982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13999
14000 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
14001 (grub_squash_dirent_header): Likewise.
14002 (read_chunk): Don't double swap.
14003 (grub_squash_iterate_dir): Fix swap sizes.
14004
3c349f5a
VS
140052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14006
14007 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
14008
b453412d
VS
140092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14010
14011 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
14012 (grub_hfs_iterate_dir): Likewise.
14013
12e9d4d1
VS
140142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14015
14016 Fix video on platforms where unaligned access is forbidden.
14017 Make several optimisations while on it.
14018
14019 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
14020 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14021 (grub_video_fbblit_replace_32bit_1bit): Likewise.
14022 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14023 Disable.
14024 (grub_video_fbblit_replace_16bit_1bit):
14025 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14026 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14027 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
14028 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
14029 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14030 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14031 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
14032 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
14033 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
14034 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
14035 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
14036 (grub_video_fbblit_replace_index_RGB888): Likewise.
14037 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
14038 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
14039 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
14040 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
14041 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
14042 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14043 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14044 Disable.
14045 (grub_video_fbblit_blend_XXX565_1bit):
14046 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14047 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
14048 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
14049 void *.
14050 * grub-core/video/fb/video_fb.c (common_blitter)
14051 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
14052 (grub_video_fb_create_render_target_from_pointer)
14053 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
14054 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
14055 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
14056 definition.
14057 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
14058
ace96609
VS
140592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14060
14061 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
14062 HH22 and HM10 relocations.
14063
fd261d73
VS
140642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14065
14066 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
14067
e59b7857
VS
140682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
14071 allocation succeeded.
14072
9b4baaa4
VS
140732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
14076 argument a u8 pointer. All users updated.
14077 Handle unaligned buffers.
14078
dc713193
VS
140792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
14082 add_part to workaround compiler bug.
14083
30dd48c2
VS
140842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
14087
0c6087a8
VS
140882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14089
14090 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
14091 Reserve alignment invariants.
14092 (grub_multiboot_load): Likewise.
14093 (retrieve_video_parameters): Likewise.
14094 (grub_multiboot_make_mbi): Likewise.
14095
c2e77777
VS
140962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14097
14098 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
14099 incorrect pointer.
14100
b70b6d11
VS
141012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
14104 (grub_pata_pio_write): Likewise.
14105
02a2bf83
VS
141062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 Add noreturn attributes and remove unreachable code.
14109
14110 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
14111 code.
14112 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
14113 code. Mark as noreturn.
14114 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
14115 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
14116 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
14117 unreachable code.
14118 * grub-core/kern/main.c (grub_main): Mark as noreturn.
14119 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
14120 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
14121 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
14122 * include/grub/kernel.h (grub_main): Mark as noreturn.
14123 * include/grub/reader.h (grub_rescue_run): Likewise.
14124
2019d09e
VS
141252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14126
14127 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
14128 redundant declaration.
14129
d1c501ee
VS
141302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 * include/grub/net.h (grub_net_network_level_interfaces): Remove
14133 redundant declaration.
14134 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
14135
61664420
VS
141362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14137
14138 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
14139 to ensure alignment.
14140 (grub_hdparm_print_identify): Make argument uint16 * to ensure
14141 alignment. Ensure tmp alignment.
14142 (grub_cmd_hdparm): Ensure buf alignment.
14143 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
14144 to ensure alignment.
14145 (grub_ata_dumpinfo): Ensure text alignment.
14146 (grub_atapi_identify): Preserve alignment invariant.
14147 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
14148
0d51ee20
VS
141492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14150
14151 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
14152 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
14153 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
14154 * include/grub/misc.h (grub_reboot)
14155 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
14156 (grub_halt) [__mips__]: Likewise.
14157
753ef8c1
VS
141582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14159
14160 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
14161 Remove redundant declaration.
14162 (grub_mmap_get_post64): Likewise.
14163 (grub_mmap_get_upper): Likewise.
14164 (grub_mmap_get_lower): Likewise.
14165
85c85365
VS
141662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14167
14168 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
14169 uint32_t * to ensure alignment.
14170 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
14171
a23f2cc4
VS
141722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14173
93018f64
VS
14174 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
14175 uint16_t * to ensure alignment.
14176 (sun_pc_partition_map_iterate): Make `block' a union to ensure
14177 alignment.
14178
141792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14180
14181 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
14182 to ensure alignment.
14183 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
14184
58acccd6
VS
141852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 * grub-core/fs/ntfs.c (u16at): Make into inline function.
14188 Handle unaligned pointers.
14189 (u32at): Likewise.
14190 (u64at): Likewise.
14191 (fixup): Use byte access instead of v16at.
14192 (find_attr): Fix imporper usage of v32at.
14193 (read_data): Likewise.
14194 (list_file): Handle byte-swapping and unaligned strings.
14195 (grub_ntfs_label): Likewise.
14196
9b05cad7
VS
141972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14198
14199 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
14200 as it's not necessarily aligned.
14201
b3950b84
VS
142022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14203
14204 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
14205 redundant declaration.
14206 (grub_serial_init): Likewise.
14207 (grub_terminfo_init): Likewise.
14208
fcd232b7
VS
142092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14210
14211 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
14212 function.
14213 (ZAP_HASH_IDX): Likewise.
14214 (ZAP_LEAF_HASH_SHIFT): Likewise.
14215 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
14216 (LEAF_HASH): Likewise.
14217 (ZAP_LEAF_NUMCHUNKS): Likewise.
14218 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
14219 alignment invariants. Return pointer. All users updated.
14220 (ZAP_LEAF_ENTRY): Make into inline function.
14221 (NBBY): Removed.
14222 (xor): LIkewise.
14223 (xor_out): Use grub_crypto_xor.
14224 (dnode_get_path): Use grub_get_unaligned.
14225 (nvlist_find_value): Likewise.
14226 (grub_zfs_nvlist_lookup_uint64): Likewise.
14227 (grub_zfs_nvlist_lookup_string): Likewise.
14228 (get_nvlist_size): Likewise.
14229 (grub_zfs_open): Likewise.
14230 (fill_fs_info): Likewise.
14231 (grub_zfs_dir): Likewise.
14232 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
14233 alignment invariants.
14234 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
14235 necessarily aligned.
14236
f138623a
VS
142372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14238
14239 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
14240
564840dc
VS
142412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14242
14243 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
14244 arithmetic to conserve alignment invariants.
14245
9b40df20
VS
142462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14247
14248 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
14249 redundant declaration.
14250 (grub_efiemu_mm_obtain_request): Likewise.
14251 (grub_efiemu_prepare): Likewise.
14252
d1c930f9
VS
142532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
14256 to match types.
14257
4c5f3056
VS
142582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
14261 case of aunaligned recptr.
14262 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
14263 alignment.
14264 (grub_hfsplus_btree_search): Handle unaligned index.
14265
728cba91
VS
142662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
14269 to get freetag and skip.
14270
eb561f31
VS
142712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
14274 array.
14275 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
14276 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
14277
20993fbb
VS
142782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
14281 name for checksum and fix allocation algorithm.
14282
1f313b94
VS
142832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 * include/grub/types.h (grub_properly_aligned_t): New type.
14286 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
14287 (grub_get_unaligned16): Add explicit casts.
14288 (grub_get_unaligned32): Likewise.
14289 (grub_get_unaligned64): Likewise.
14290 (grub_set_unaligned16): New function.
14291 (grub_set_unaligned32): Likewise.
14292
47ae27ec
VS
142932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14294
14295 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14296
78c2cd1c
VS
142972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14298
14299 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
14300 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
14301 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
14302
53072f9b
VS
143032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14304
14305 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
14306 conditionals.
14307
055dc239
VS
143082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14309
14310 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
14311 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
14312
496bd074
VS
143132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 Unify and improve RAID and crypto xor.
14316
14317 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
14318 changed to grub_crypto_xor
14319 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
14320 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
14321 Use bigger types when possible.
14322
ef6e4335
VS
143232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14324
14325 * grub-core/disk/raid.c (scan_devices): Fix condition.
14326
5d048bf2
VS
143272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
14330 Make name a const ptr.
14331
ee533335
VS
143322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
14335 first argument a const pointer.
14336 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14337 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
14338 proto.
14339 (grub_children_iterate): Likewise.
14340 (grub_machine_mmap_iterate): Remove redundant declaration.
14341
cc8f3668
VS
143422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14343
14344 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14345 (grub_cmd_acpi) [!x86]: Disable EBDA.
14346
c5fc563a
VS
143472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14348
14349 Enable UTF8 in gnulib regexp.
14350
14351 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14352 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14353 (isupper): Use grub_isupper.
14354 (isascii): New inline function.
14355 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14356 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14357 * grub-core/normal/charset.c (grub_utf8_process): New function.
14358 (grub_utf8_to_utf16): Use grub_utf8_process.
14359 (grub_encode_utf8_character): New function.
14360 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14361 * include/grub/charset.h (grub_utf8_process): New declaration.
14362 (grub_encode_utf8_character): Likewise.
14363 * include/grub/misc.h (grub_islower): New inline function.
14364 (grub_isupper): Likewise.
14365 (grub_strchrsub): Moved down to fix the definitions.
14366
0af2346f
VS
143672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14368
14369 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14370 specification.
14371
74dbd244
VS
143722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 * include/grub/loader.h (grub_loader_register_preboot_hook):
14375 Use struct preboot * and not void * for handle. All users updated.
14376 (grub_loader_unregister_preboot_hook): Likewise.
14377
1bc8f60d
VS
143782011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14379
14380 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14381 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14382 UTF-16-BE. All users updated.
14383 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14384 (grub_hfsplus_iterate_dir): Likewise.
14385 (grub_hfsplus_label): Likewise.
14386
48d6e456
VS
143872011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14388
14389 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14390
bf3a3857
VS
143912011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14392
14393 Add missing const qualifiers.
14394
14395 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14396 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14397 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14398 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14399 (grub_lvm_check_flag): Likewise.
14400 * grub-core/efiemu/i386/coredetect.c
14401 (grub_efiemu_get_default_core_name): Likewise
14402 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14403 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14404 * grub-core/fs/ntfs.c (fixup): Likewise.
14405 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14406 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14407 (fzap_lookup): Likewise.
14408 (zap_lookup): Likewise.
14409 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14410 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14411 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14412 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14413 (grub_freebsd_add_meta_module): Likewise.
14414 (grub_cmd_freebsd_module): Likewise.
14415 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14416 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14417 (grub_xnu_writetree_get_size): Likewise.
14418 (grub_xnu_writetree_toheap_real): Likewise.
14419 (grub_xnu_find_key): Likewise.
14420 (grub_xnu_create_key): Likewise.
14421 (grub_xnu_create_value): Likewise.
14422 (grub_xnu_register_memory): Likewise.
14423 (grub_xnu_check_os_bundle_required): Likewise.
14424 (grub_xnu_scan_dir_for_kexts): Likewise.
14425 (grub_xnu_load_kext_from_dir): Likewise.
14426 * grub-core/normal/color.c (color_list): Likewise.
14427 * grub-core/normal/completion.c (current_word): Likewise.
14428 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14429 * grub-core/term/serial.c (grub_serial_find): Likewise.
14430 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14431 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14432 Likewise.
14433 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14434 (grub_freebsd_add_meta_module): Likewise.
14435 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14436 * include/grub/net.h (grub_net_card_driver): Likewise.
14437 (grub_net_card): Likewise.
14438 (grub_net_app_protocol): Likewise.
14439 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14440 * include/grub/serial.h (grub_serial_find): Likewise.
14441 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14442 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14443 (grub_xnu_create_value): Likewise.
14444 (grub_xnu_find_key): Likewise.
14445 (grub_xnu_scan_dir_for_kexts): Likewise.
14446 (grub_xnu_load_kext_from_dir): Likewise.
14447
14448 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14449 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14450 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14451 Moved from here ...
14452 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14453
112b4837
CW
144542011-11-28 Colin Watson <cjwatson@ubuntu.com>
14455
14456 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14457
49e891ac
VS
144582011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14461 (read_device): Fix size calculation.
14462
fd258e5c
RM
144632011-11-25 Robert Millan <rmh@gnu.org>
14464
14465 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14466 (find_root_device_from_libzfs): Add zpool output parser to be used
14467 as fallback when libzfs isn't available.
14468
78845dc2
SG
144692011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14470
14471 * po/Makefile.in.in: Add missing escape-continuation.
14472
adac5211
VS
144732011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
14476
10b64f1c
VS
144772011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14478
14479 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
14480
bb416954
VS
144812011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14482
14483 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14484
bdfe9eeb
VS
144852011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14486
14487 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14488
581ffa8a
VS
144892011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14490
14491 * grub-core/lib/adler32.c: Add missing license specification.
14492 * grub-core/lib/crc64.c: Likewise.
14493 * grub-core/loader/i386/pc/plan9.c: Likewise.
14494 * grub-core/partmap/plan.c: Likewise.
14495
2536cf64
LK
144962011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14497
14498 Add facility to debug GRUB with gdb under qemu.
14499
14500 * grub-core/gdb_grub.in: New file.
14501 * grub-core/gmodule.pl.in: Likewise.
14502 * grub-core/Makefile.core.def (gmodule.pl): New script.
14503 (gdb_grub): Likewise.
14504
bc108a4a
VS
145052011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 * util/grub-mount.c (argp_parser): Accept relative pathes.
14508 * util/grub-fstest.c (argp_parser): Likewise.
14509
111c1778
VS
145102011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14511
14512 Plan9 support.
14513
14514 * Makefile.util.def (libgrubmods): Add
14515 grub-core/partmap/plan.c.
14516 * docs/grub.texi: Notice Plan9 support.
14517 * grub-core/Makefile.core.def (plan9): New module.
14518 (part_plan): Likewise.
14519 * grub-core/loader/i386/pc/plan9.c: New file.
14520 * grub-core/partmap/plan.c: Likewise.
14521 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14522 define.
14523 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14524 * include/grub/mm.h (grub_extend_alloc): New inline function.
14525
c30be3b6
VS
145262011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 Make Reed-Solomon faster by using power of generator representation of
14529 GF(256)*.
14530
14531 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14532 (gf_double_t): Likewise.
14533 (gf_invert): Removed.
14534 (gf_powx): New array.
14535 (gf_powx_inv): Likewise.
14536 (scratch): Move higher.
14537 (gf_reduce): Removed.
14538 (gf_mul): Use powx.
14539 (gf_invert): Likewise.
14540 (init_inverts): Replaced with ...
14541 (init_powx): ...this. All users updated.
14542 (pol_evaluate): Replace multiplications with additions.
14543 (rs_encode): Likewise.
14544 (gauss_eliminate): Call gf_invert.
14545 (grub_reed_solomon_add_redundancy): Call init_powx.
14546 (grub_reed_solomon_recover): Call init_powx unconditionally.
14547
fa5aeffc
VS
145482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14549
14550 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14551
a346b81c
VS
145522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14555 disk->partiton for safety.
14556
d89ee414
VS
145572011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14560 Fix a memory leak.
14561 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
14562
91ee7b6d
VS
145632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14564
14565 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14566
91e5a33d
VS
145672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14568
14569 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14570
9edd7be2
VS
145712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14572
14573 Fix spaces handling in proc/self/mountinfo.
14574
14575 * util/getroot.c (unescape): New function.
14576 (grub_find_root_device_from_mountinfo): Use unescape.
14577
ba102053
VS
145782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14579
14580 Support ZFS embedding.
14581
14582 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14583 (grub_zfs_fs): Register grub_zfs_embed.
14584
aa94b870
VS
145852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14586
14587 Fix MIPS compilation.
14588
14589 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14590 * include/grub/offsets.h: Rename decompressor fields from
14591 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14592 * util/grub-mkimage.c (image_targets): Use new names.
14593
5fbdac14
VS
145942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14595
14596 Defer multiboot device parsing until we're in compressed part.
14597
14598 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14599 bsd_part. setdevice has fallen into disuse.
14600 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14601 (bsd_part): Likewise.
14602 (boot_dev): New variable.
14603 (multiboot_trampoline): Don't parse multiboot device.
14604 Pass multiboot device in %edx.
14605 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14606 grub_boot_device.
14607 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14608 Likewise.
14609 * grub-core/kern/i386/pc/startup.S: Save edx.
14610 (grub_boot_drive): Removed.
14611 (grub_install_dos_part): Likewise.
14612 (grub_install_bsd_part): Likewise.
14613 (grub_boot_device): New variable.
14614 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14615 (grub_install_bsd_part): Likewise.
14616 (grub_boot_drive): Likewise.
14617 (grub_boot_device): New variable.
14618 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14619 Removed.
14620 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14621 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14622 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14623 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14624 * util/grub-install.in: Remove redundant condition.
14625
691cbb58
VS
146262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 Fix bug introduced by previous commit.
14629
14630 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14631
60240b8b
VS
146322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 Use decompressors framework on i386-pc. It increases core size
14635 by 46 bytes but improves compatibility and maintainability.
14636
14637 * grub-core/Makefile.core.def (lzma_decompress): New image.
14638 (kernel): Add i386_pc_ldflags.
14639 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14640 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14641 to real_to_prot, prot_to_real and device info.
14642 * include/grub/offsets.h: Renamed decompressor offsets.
14643 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14644 (image_target_desc): Remove raw_size and rename decompressor fields.
14645 (compress_kernel): Handle lzma.
14646 (generate_image): Handle decompressors on i386-pc.
14647
e9d3421c
VS
146482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14649
14650 * configure.ac: Add -fno-asynchronous-unwind-tables.
14651
2b23074a
VS
146522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14653
14654 Move assembly code to C by using intwrap. It increases core size
14655 by 88 bytes but improves compatibility and maintainability.
14656
14657 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14658 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14659 ... here. Translated to C.
14660 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14661 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14662 ... here. Translated to C.
14663 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14664 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14665 ... here. Translated to C.
14666 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14667 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14668 ... here. Translated to C.
14669 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14670 * grub-core/term/i386/pc/console.c (grub_console_cls):
14671 ... here. Translated to C.
14672 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14673 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14674 ... here. Translated to C.
14675 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14676 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14677 Translated to C.
14678 * grub-core/term/i386/pc/console.c (int10_9): New function.
14679 (grub_console_putchar): Likewise.
14680 * include/grub/i386/pc/console.h: Removed the not anymore shared
14681 functions.
14682
678f4b67
VS
146832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14684
14685 Move grub_chainloader_real_boot out of the kernel.
14686
14687 * grub-core/Makefile.am: Remove machine/loader.h.
14688 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14689 Removed.
14690 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14691 variable.
14692 (grub_relocator16_keep_a20_enabled): Likewise.
14693 (grub_relocator16_boot): Fill new variables.
14694 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14695 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14696 relocator.
14697 (grub_chainloader_unload): Likewise.
14698 (grub_chainloader_cmd): Likewise.
14699 * include/grub/i386/pc/loader.h: Removed.
14700 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14701 and esi. All initialisers updated.
14702
4626edf6
VS
147032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
147042011-11-12 Colin Watson <cjwatson@ubuntu.com>
14705
14706 * Makefile.util.def (grub-mount): New util.
14707 * .bzrignore: Add grub-mount.
14708 * configure.ac: Check for fuse and enable grub-mount if available.
14709 * docs/man/grub-mount.h2m: New file.
14710 * util/grub-mount.c: Likewise.
14711
10f0117b
VS
147122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14713
14714 * grub-core/commands/efi/fixvideo.c: Gettextize.
14715 * grub-core/commands/hashsum.c: Likewise.
14716 * grub-core/commands/i386/cmostest.c: Likewise.
14717 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14718 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14719 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14720 * grub-core/commands/lsmmap.c: Likewise.
14721 * grub-core/commands/menuentry.c: Likewise.
14722 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14723 * grub-core/commands/setpci.c: Likewise.
14724 * grub-core/loader/i386/bsd.c: Likewise.
14725 * grub-core/loader/i386/linux.c: Likewise.
14726 * util/getroot.c: Likewise.
14727 * util/grub-editenv.c: Likewise.
14728 * util/grub-fstest.c: Likewise.
14729 * util/grub-mkfont.c: Likewise.
14730 * util/grub-mkimage.c: Likewise.
14731 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14732 * util/grub-pe2elf.c: Likewise.
14733 * util/grub-probe.c: Likewise.
14734 * util/grub-setup.c: Likewise.
14735 * util/ieee1275/ofpath.c: Likewise.
14736 * util/misc.c: Likewise.
14737 * util/raid.c: Likewise.
14738
566f779b
RM
147392011-11-11 Robert Millan <rmh@gnu.org>
14740
14741 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14742 __attribute__((unused)) from `os_dev', which *is* being used.
14743
b50787de
VS
147442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14745
14746 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14747 forgotten define.
14748 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14749 GRUB_IA64_DL_GOT_ALIGN.
14750 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14751 GRUB_IA64_DL_TRAMP_ALIGN.
14752
119d11c8
VS
147532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14754
14755 Replace grub_fatal with normal errors in i386 linux loader.
14756
14757 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14758 (allocate_pages): Check find_efi_mmap_size return value.
14759 (grub_e820_add_region): Return error.
14760 (grub_linux_boot): Check mmap return value.
14761
6e0632e2
VS
147622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 * grub-core/commands/acpihalt.c: Gettextized.
14765 * grub-core/commands/cacheinfo.c: Likewise.
14766 * grub-core/commands/cmp.c: Likewise.
14767 * grub-core/commands/efi/loadbios.c: Likewise.
14768 * grub-core/commands/gptsync.c: Likewise.
14769 * grub-core/commands/ieee1275/suspend.c: Likewise.
14770 * grub-core/commands/legacycfg.c: Likewise.
14771 * grub-core/commands/memrw.c: Likewise.
14772 * grub-core/commands/minicmd.c: Likewise.
14773 * grub-core/commands/parttool.c: Likewise.
14774 * grub-core/commands/time.c: Likewise.
14775 * grub-core/commands/videoinfo.c: Likewise.
14776 * grub-core/disk/geli.c: Likewise.
14777 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14778 * grub-core/disk/luks.c: Likewise.
14779 * grub-core/disk/lvm.c: Likewise.
14780 * grub-core/font/font_cmd.c: Likewise.
14781 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14782 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14783 * grub-core/gfxmenu/view.c: Likewise.
14784 * grub-core/kern/emu/hostdisk.c: Likewise.
14785 * grub-core/kern/emu/main.c: Likewise.
14786 * grub-core/kern/emu/misc.c: Likewise.
14787 * grub-core/kern/emu/mm.c: Likewise.
14788 * grub-core/kern/mips/arc/init.c: Likewise.
14789 * grub-core/kern/mips/loongson/init.c: Likewise.
14790 * grub-core/kern/partition.c: Likewise.
14791 * grub-core/lib/i386/halt.c: Likewise.
14792 * grub-core/lib/mips/arc/reboot.c: Likewise.
14793 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14794 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14795 * grub-core/loader/i386/xnu.c: Likewise.
14796 * grub-core/loader/multiboot.c: Likewise.
14797 * grub-core/net/bootp.c: Likewise.
14798 * grub-core/net/net.c: Likewise.
14799 * grub-core/normal/term.c: Likewise.
14800 * grub-core/partmap/bsdlabel.c: Likewise.
14801 * grub-core/parttool/msdospart.c: Likewise.
14802 * grub-core/term/gfxterm.c: Likewise.
14803 * grub-core/term/terminfo.c: Likewise.
14804 * grub-core/video/i386/pc/vbe.c: Likewise.
14805 * util/grub-menulst2cfg.c: Likewise.
14806 * util/grub-mkdevicemap.c: Likewise.
14807 * util/grub-mklayout.c: Likewise.
14808 * util/grub-mkrelpath.c: Likewise.
14809 * util/grub-script-check.c: Likewise.
14810 * util/ieee1275/grub-ofpathname.c: Likewise.
14811 * util/resolve.c: Likewise.
14812
073aa7a9
VS
148132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 Support %1$d syntax.
14816
14817 * tests/printf_unit_test.c: New file.
14818 * Makefile.util.def (printf_test): New test.
14819 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14820
c76b5417
VS
148212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14822
14823 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14824 fix.
14825
df067ad1
VS
148262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14829 dprintf.
14830 * grub-core/font/font.c (grub_font_load): Likewise.
14831
5b289bc5
VS
148322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14833
14834 * util/grub-macho2img.c: Add comment concerning gettext.
14835 * grub-core/lib/legacy_parse.c: Likewise.
14836
c1860f87
VS
148372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14838
14839 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14840 (grub_xvasprintf): Likewise.
14841
d35d0d37
VS
148422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 Add const keyword to grub_env_get and gettextize week days.
14845
14846 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14847 (grub_read_hook_datetime): Return const char *.
14848 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14849 updated.
14850 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14851 Mark for gettext.
14852 (grub_get_weekday_name): Return const char *. Call gettext.
14853 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14854 char * and len as the argument. All users updated.
14855 (grub_script_argv_split_append): Receive const char *.
14856 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14857 * include/grub/env.h (grub_env_get): Likewise.
14858 (grub_env_read_hook_t): Return const char *.
14859 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14860 (grub_script_argv_split_append): Likewise.
14861
9aed8a71
VS
148622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14863
14864 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14865
067fdf00
VS
148662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14867
14868 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14869 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14870
a8bd9d39
VS
148712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14872
14873 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14874 Fix prototype.
14875
f7ce5baf
VS
148762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 Fix mips compilation.
14879
14880 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14881 normal decoder.
14882 (hashes): Use in embed decoder as well (for sizes).
14883 (dec_stream_header): Fix embed decompressor logic.
14884 (dec_stream_footer): Likewise.
14885
9bb182f3
VS
148862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14889 an error and not a fatal on unrecognised relocation types.
14890
63a9e6f6
VS
148912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14892
14893 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14894 Issue error rather than printf on unknown arguments.
14895
4c458569
VS
148962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14897
14898 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14899 Make buf a const.
14900
e2d22baf
VS
149012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14902
14903 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14904 Fix module name.
14905
53dc8590
VS
149062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14907
14908 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14909 leftover debug printf.
14910
6c189294
VS
149112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14914
f7688369
VS
149152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14918 A stylistic fix.
14919
11a775a3
VS
149202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14923
33f784e8
SL
149242011-11-10 Shea Levy <slevy@tieronedesign.com>
14925
14926 Allow all modules to perform serial IO
14927
14928 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14929 * include/grub/serial.h (grub_serial_port_configure): New inline
14930 function.
14931 (grub_serial_port_fetch): Likewise.
14932 (grub_serial_port_put): Likewise.
14933 (grub_serial_port_fini): Likewise.
14934 (grub_serial_find): New proto.
14935
f6276525
VS
149362011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 Put symlink at the end of the node and fix a potential
14939 memory corruption.
14940
14941 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14942 Make symlink into an array.
14943 (set_rockridge): Set have_symlink and alloc_dirents.
14944 (grub_iso9660_read_symlink): Use new layout.
14945 (grub_iso9660_iterate_dir): Fix memory corruption.
14946 Use new layout.
14947 (grub_iso9660_dir): Set have_symlink.
14948 (grub_iso9660_open): Likewise.
14949
c3591189
VS
149502011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14951
14952 Remove local keyword.
14953
14954 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14955 (version_test_gt): Likewise.
14956 (version_find_latest): Likewise.
14957 (gettext_printf): Likewise.
14958 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14959
cb544caa
VS
149602011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14961
14962 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14963
45bd824d
VS
149642011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14965
14966 Fix ZFS memory and resource leaks.
14967
14968 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14969 All users updated.
14970 Free type on exit.
14971 (fill_vdev_info): New parameter inserted. All users updated.
14972 (check_pool_label): Likewise.
14973 (scan_disk): Likewise.
14974 (scan_devices): Close non-inserted disks.
14975 (fzap_iterate): Free l.
14976 (unmount_device): Free children descripto memory.
14977
ad9a2f44
VS
149782011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14979
14980 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14981 argument (access out of bounds).
14982
6b68db81
VS
149832011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14984
14985 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14986 >= 6 drives.
14987
28840fda
VS
149882011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14991 Fix declaration.
14992
8a5a3a5b
VS
149932011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 Fix several memory leaks.
14996
14997 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14998 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14999 (grub_cpio_dir): Likewise.
15000 * grub-core/fs/fat.c (grub_fat_label): Likewise.
15001 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
15002 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
15003 (grub_romfs_label): Likewise.
15004 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
15005 (squash_unmount): New function.
15006 (grub_squash_dir): Fix memory leak.
15007 (grub_squash_open): Likewise.
15008 (grub_squash_read): Likewise.
15009 (grub_squash_mtime): Likewise.
15010 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
15011 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
15012 * util/grub-fstest.c (fstest): Likewise.
15013
57b01250
VS
150142011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15015
15016 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
15017 avoid accessing beyond the array.
15018
19e81ba7
VS
150192011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
15022
52b656c0
VS
150232011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 Several AFFS fixes.
15026
15027 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
15028 (GRUB_AFFS_FLAG_FFS): Removed.
15029 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
15030 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
15031 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
15032 (grub_fshelp_node): Make block 32-bit.
15033 Add block_cache and last_block_cache.
15034 (grub_affs_read_block): Fill and use block cache.
15035 (grub_affs_read_file): Removed.
15036 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
15037 boot block.
15038 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
15039 safety.
15040 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
15041 space.
15042 (grub_affs_close): Free block cache.
15043 (grub_affs_read): Use grub_fshelp_read_file directly.
15044
438a746a
VS
150452011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15046
15047 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
15048 with no error set.
15049
49a45021
VS
150502011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15051
15052 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
15053 used variable.
15054 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15055 Likewise.
15056
3ae17eb8
VS
150572011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15058
15059 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
15060
15061 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
15062 byteswap when needed.
15063
27610c38
VS
150642011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15065
15066 Fix FreeBSD compilation.
15067
15068 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
15069 to avoid circular dependency.
15070 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
15071 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
15072 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
15073
4a19b601
VS
150742011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15075
15076 Fix ZFS crypto error types.
15077
15078 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
15079 (grub_gcm_decrypt): Likewise.
15080 (grub_zfs_load_key_real): Fix error code type. Handle possible error
15081 from PBKDF2.
15082
958ee221
VS
150832011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 Illumos support.
15086
15087 * Makefile.util.def (10_illumos): New script.
15088 * configure.ac: Set COND_HOST_ILLUMOS.
15089 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
15090 Support Illumos calls.
15091 (find_partition_start) [__sun__]: Likewise.
15092 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
15093 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
15094 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
15095 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
15096 device.
15097 * util/grub-probe.c (probe) [__sun__]: Do character check.
15098 * util/grub.d/10_illumos.in: New file.
15099
cac14fb6
VS
151002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15101
15102 Support escaped commas in hostdisk.
15103
15104 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
15105 (find_grub_drive): Use unescape_cmp.
15106 (make_device_name): Escape commas.
15107
78e08dc3
VS
151082011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15109
15110 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
15111
9f421dd1
VS
151122011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15113
15114 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
15115 variable.
15116
ed64e9e2
VS
151172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15118
15119 Support trampoline jumps on powerpc.
15120
15121 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
15122 __ia64__ path.
15123 (grub_dl_load_segments): Set mod->sz.
15124 (grub_dl_flush_cache): Flush whole space occupied by module, not just
15125 segments.
15126 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
15127 (jump): Likewise.
15128 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
15129 function.
15130 (trampoline): New struct.
15131 (trampoline_template): New const.
15132 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
15133 * include/grub/dl.h (grub_dl): Add sz element.
15134 [__powerpc__]: Follow __ia64__.
15135 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
15136 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
15137 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
15138 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
15139
3084ede4
VS
151402011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15141
15142 ZFS crypto support.
15143
15144 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
15145 * grub-core/Makefile.core.def (zfscrypt): New module.
15146 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
15147 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
15148 it. All users updated.
15149 (grub_zfs_decrypt): New var.
15150 (grub_zfs_load_key): Likewise.
15151 (zio_checksum_functions): Add SHA256+MAC.
15152 (zio_checksum_verify): Handle incomplete comparison due to MAC.
15153 (zio_read): Handle encrypted blocks.
15154 (zap_verify): Remove incorrect check.
15155 (fzap_iterate): Handle non-standard fzap.
15156 (zap_iterate): Likewise.
15157 (zap_iterate_u64): New function.
15158 (dnode_get_fullpath): Load keys.
15159 * grub-core/fs/zfs/zfscrypt.c: New file.
15160 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
15161 (grub_crypto_ecb_encrypt): Make input const.
15162 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
15163 (grub_crypto_ecb_encrypt): Make input const.
15164 (GRUB_CIPHER_AES): New macro.
15165 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
15166 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
15167 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
15168 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
15169 prefix. All users updated.
15170 (grub_zfs_add_key): New proto.
15171 (grub_zfs_decrypt): Likewise.
15172 (grub_zfs_load_key): Likewise.
15173 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
15174 * util/grub-fstest.c (options): Add -K option.
15175 (argp_parser): Likewise.
15176
b632b404
VS
151772011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15178
15179 Support zle compression on ZFS.
15180
15181 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
15182 (decomp_table): Add zle.
15183 * include/grub/zfs/zio.h (zio_compress): Add zle.
15184
c7ba4f69
VS
151852011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15186
15187 Support BtrFS embedding.
15188
15189 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
15190 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
15191 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
15192 * util/grub-setup.c (setup): Use fs embedding if available.
15193 Add additional sanity check.
15194
455377d9
VS
151952011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15196
15197 * util/grub-install.in: Fix condition for config_opt.
15198
c2fd16ca
VS
151992011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15200
15201 Support third redundancy strip on raidz3.
15202
15203 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
15204 Return error on singularity. All users updated.
15205 (read_device): Don't stop on 3rd failure on raidz3.
15206
8622923b
VS
152072011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15208
15209 Support case-insensitive ZFS subvolumes.
15210
15211 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
15212 All users updated.
15213 (zap_hash): Likewise.
15214 (name_cmp): New function.
15215 (zap_leaf_array_equal): New parameter case_insensitive.
15216 All users updated.
15217 (zap_leaf_lookup): Likewise.
15218 (fzap_lookup): Likewise.
15219 (zap_lookup): Likewise.
15220 (dnode_get_path): New parameter case_insensitive. Retrieve case
15221 sensitiviness of a volume. All users updated.
15222 (dnode_get_fullpath): New parameter case_insensitive.
15223 All users updated.
15224 (grub_zfs_dir): Set info.case_insensitiveness.
15225
95f2e860
VS
152262011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15227
15228 Support second redundancy strip on raidz(2,3).
15229
15230 * grub-core/fs/zfs/zfs.c (powx): New array.
15231 (powx_inv): Likewise.
15232 (poly): New const.
15233 (xor_out): New function.
15234 (gf_mul): Likewise.
15235 (recovery): Likewise.
15236 (read_device): Use second redundancy strip.
15237
11ee4389
VS
152382011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15239
15240 Use a power of generator representation of GF(256) multiplication group
15241 to save space time and complexity.
15242
15243 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
15244 (raid6_table2): Likewise.
15245 (powx): New array.
15246 (powx_inv): Likewise.
15247 (poly): New const.
15248 (grub_raid_block_mul): Replace with ...
15249 (grub_raid_block_mulx): ...this.
15250 (grub_raid6_init_table): Rewritten.
15251 (grub_raid6_recover): Use power of generator representation.
15252
09e2763f
VS
152532011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15254
15255 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
15256 for the right device.
15257
8bec9a28
VS
152582011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15259
15260 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
15261 expected by grub-mkimage and it's more clear since there is no implicit
15262 padding.
15263
dbd3a32e
VS
152642011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15265
15266 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
15267 disk.
15268 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15269
182c872a
PMH
152702011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
15271
15272 * util/grub-mkrescue.in: Fix handling xorriso option.
15273
1e51cabd
VS
152742011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15275
15276 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
15277 NULL.
15278
9cc3581d 152792011-11-03 crocket <crockabiscuit@gmail.com>
15280
15281 * util/grub.d/10_linux.in: Add Slackware initrd naming.
15282
158dc1ea
VS
152832011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 XZ CRC64 and SHA256 support.
15286
15287 * Makefile.util.def (libgrubmods): Add crc64.c.
15288 * grub-core/Makefile.core.def (crc64): New module.
15289 * grub-core/lib/crc64.c: New file.
15290 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
15291 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
15292 Fix the type.
15293 (MAX_HASH_SIZE): New define.
15294 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
15295 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
15296 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15297 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15298 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
15299 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
15300 Handle non-crc32 hashes.
15301 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
15302 (dec_stream_header): Handle non-crc32 hashes.
15303 (dec_stream_footer): Likewise.
15304 (dec_block_header): Likewise.
15305 (dec_main): Likewise.
15306 (xz_dec_init): Likewise.
15307 (xz_dec_reset): Likewise.
15308 (xz_dec_end): Likewise.
15309 * util/import_gcry.py: Add CRC64 line.
15310
9d9b3d2f
VS
153112011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15312
15313 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
15314 as well.
15315
7d0ac931
VS
153162011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15317
15318 Make reiserfs label retrieval similar to other *_label functions.
15319
15320 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
15321 (REISERFS_MAX_LABEL_LENGTH): Removed.
15322 (REISERFS_LABEL_OFFSET): Likewise.
15323 (grub_reiserfs_label): Rewritten.
15324
153252011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15326
15327 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
15328 field.
15329
cf5ba824
VS
153302011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15331
15332 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
15333
17744004
VS
153342011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
15337 drive failure on both raidz and raidz2.
15338
aca5aefc
VS
153392011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15340
15341 Fix RAIDZ(2) for >= 5 devices.
15342
15343 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15344 asize argument. All users updated.
15345
ce8ca56e
VS
153462011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 Fix RAIDZ(2).
15349
15350 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15351 (fill_vdev_info_real): Set ashift.
15352 (read_device): Rewrite RAIDZ part based on reverse engineering.
15353
7c01e783
VS
153542011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15357 don't report potentially unavialiable fields in debug output.
15358 (find_path): Fix double-free and memory leak.
15359
ce109e84
VS
153602011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 Read label on UFS1.
15363
15364 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15365 (grub_ufs_fs): Always set .label.
15366
87661123
VS
153672011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15368
15369 Use shifts in UFS.
15370
15371 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15372 (grub_ufs_data): New field log2_blksz.
15373 (grub_ufs_read_file): Use shifts.
15374 (grub_ufs_mount): Check block size and logarithm it.
15375
46bc1dc2
VS
153762011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15377
15378 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15379 long symlinks.
15380
19ee2987
VS
153812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15382
15383 Handle symlinks and long names on tar and cpio.
15384
15385 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15386 (ATTR_FILE): Likewise.
15387 (ATTR_DIR): Likewise.
15388 (ATTR_LNK): Likewise.
15389 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15390 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15391 L and K entries.
15392 (grub_cpio_mount): Zero-fill data.
15393 (handle_symlink): New function.
46bc1dc2
VS
15394 (grub_cpio_dir): Handle symlinks.
15395 (grub_cpio_open): Likewise.
15396 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 15397
c83a08d8
VS
153982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15399
15400 Fix iso9660 filename limitations and fix memory leaks.
15401
15402 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15403 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15404
45cdd3ea
VS
154052011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 Fix JFS file name length limitations.
15408
15409 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15410 (grub_jfs_diropen): Fix maximum filename length.
15411 (grub_jfs_getent): Fix filename length.
15412 (grub_jfs_lookup_symlink): Fix size checks.
15413
94ef05c2
VS
154142011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15417 string.
15418
785ab8c7
VS
154192011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15420
eb0b6b45
VS
15421 Leverage BFS implementation to read AFS.
15422
15423 * Makefile.util.def (libgrubmods): Add afs.c.
15424 * grub-core/Makefile.core.def (afs): New module
15425 * grub-core/fs/afs.c: New file.
15426 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15427
154282011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15429
15430 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 15431
c4a1628f
VS
154322011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15433
15434 * grub-core/fs/bfs.c: Run indent.
15435
5825b379
VS
154362011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 BFS implementation based on the specification.
15439
15440 * grub-core/fs/bfs.c: New file.
15441 * Makefile.util.def (libgrubmods): Add bfs.c.
15442 * grub-core/Makefile.core.def (bfs): New module.
15443
42b2a706
VS
154442011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15445
15446 * util/grub-fstest.c (cmd_cp): Clarify error message.
15447 (cmd_cmp): Likewise.
15448
61b99bfc
YB
154492011-10-30 Yves Blusseau <blusseau@zetam.org>
15450
15451 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15452 and befs_be.
15453
faba3d16
VS
154542011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15455
15456 Remove afs and befs because of copyright problem.
15457
15458 * grub-core/fs/afs.c: Removed.
15459 * grub-core/fs/afs_be.c: Removed.
15460 * grub-core/fs/befs.c: Removed.
15461 * grub-core/fs/befs_be.c: Removed.
15462 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15463 * grub-core/Makefile.core.def (afs): Removed.
15464 (afs_be): Likewise.
15465 (befs): Likewise.
15466 (befs_be): Likewise.
15467
c39224b0
VS
154682011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 Prefer rockridge over Joliet.
15471
15472 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
15473 to ...
15474 (set_rockridge): ... here.
15475 (grub_iso9660_mount): Check rockridge on the primary label when
15476 discovering. Ignore Joliet if Rockridge is present.
15477
e551115a
VS
154782011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15479
15480 Use shifts in nilfs2.
15481
15482 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
15483 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15484 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15485 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15486 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15487 (grub_nilfs2_entries_per_block): Replaced with ...
15488 (grub_nilfs2_log_entries_per_block_log): ... this.
15489 (grub_nilfs2_blocks_per_group): Replaced with ...
15490 (grub_nilfs2_blocks_per_group_log): ... this.
15491 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15492 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15493 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15494 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15495 (grub_nilfs2_palloc_entry_offset): Replaced ...
15496 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15497 (grub_nilfs2_dat_translate): Use shifts.
15498 (grub_nilfs2_read_inode): Likewise.
15499 (GRUB_MOD_INIT): Ensure that logs are correct.
15500
564dd58c
VS
155012011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 Use shifts in minix filesystem.
15504
15505 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
15506 (GRUB_MINIX_ZONE2SECT): Likewise.
15507 (grub_minix_data): Replace block_size with log_block_size.
15508 (grub_minix_read_file): Use shifts.
15509 (grub_minix_mount): Check block size and take a logarithm.
15510
ed9ba06d
VS
155112011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 Use shifts in squash4.
15514
15515 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15516 (squash_mount): Check block size and take logarithm.
15517 (direct_read): Use shifts.
15518
ad03fe76
VS
155192011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15520
15521 Correct befs block counting logic.
15522
15523 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15524 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15525 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15526 (grub_afs_read_inode): Use block_shift.
15527 (RANGE_SHIFT): New definition.
15528 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15529 unexpected conditions, use shifts and appropriate types.
15530 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15531
6563f63d
VS
155322011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15533
15534 * grub-core/disk/raid.c (scan_devices): Check partition.
15535 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15536
5b1ae25f
VS
155372011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 Support BFS (befs) UUID.
15540
15541 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15542 (grub_afs_small_data_element_header): New struct.
15543 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15544 (grub_afs_read_attribute) [MODE_BFS]: New function.
15545 (grub_afs_iterate_dir): Allocate for complete inode.
15546 (grub_afs_mount): Likewise.
15547 (grub_afs_uuid) [MODE_BFS]: New function.
15548 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15549
f8d82408
VS
155502011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15551
15552 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15553 (zfs_unmount): Fix memory leak.
15554
5773fb64
VS
155552011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15556
15557 Support NTFS reparse points.
15558
15559 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15560 (symlink_descriptor): New struct.
15561 (grub_ntfs_read_symlink): New function.
15562 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15563 (grub_ntfs_open): Likewise.
15564
91c3fdde
VS
155652011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15566
15567 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15568
3be82e10
VS
155692011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15570
15571 fstest xnu_uuid subcommand.
15572
15573 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15574 grub-core/commands/xnu_uuid.c.
15575 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15576 (fstest): Handle xnu_uuid.
15577 (options): Document xnu_uuid.
15578 (argp_parser): Parse xnu_uuid.
15579
8e32442e
VS
155802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15581
15582 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15583 -l argument. Add newline at the end if printing.
15584 (GRUB_MOD_INIT): Document -l.
15585
52a05075
VS
155862011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15587
15588 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15589
1869edb5
VS
155902011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15591
15592 ZFS multi-device and version 33 support.
15593
15594 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15595 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15596 (grub_zfs_data): Add multidev-ice-related fields.
15597 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15598 (dva_get_offset): Make dva const.
15599 (zfs_fetch_nvlist): New function.
15600 (fill_vdev_info_real): Likewise.
15601 (fill_vdev_info): Likewise.
15602 (check_pool_label): Likewise.
15603 (scan_disk): Likewise.
15604 (scan_devices): Likewise.
15605 (read_device): Likewise.
15606 (read_dva): Likewise.
15607 (zio_read_gang): Use read_dva.
15608 (zio_read_data): Likewise.
15609 (zap_leaf_lookup): Add missing endian conversion.
15610 (zap_verify): Add missing endian conversion. All users updated.
15611 (fzap_lookup): Likewise.
15612 (fzap_iterate): Likewise.
15613 (dnode_get_path): Handle SA bonus.
15614 (nvlist_find_value): Make input const. All users updated.
15615 (unmount_device): New function.
15616 (zfs_unmount): Use unmount_device.
15617 (zfs_mount): Use scan_disk.
15618 (zfs_mtime): New function.
15619 (grub_zfs_open): Handle system attributes.
15620 (fill_fs_info): Likewise.
15621 (grub_zfs_dir): Likewise.
15622 (grub_zfs_fs): Add mtime.
15623 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15624 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15625 (SA_MTIME_OFFSET): Likewise.
15626 (SA_SYMLINK_OFFSET): Likewise.
15627 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15628 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15629 (fstest): Support zfsinfo.
15630 (argp_parser): Likewise.
15631
186b4028
VS
156322011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15633
15634 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15635 error.
15636
156372011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
15638
15639 ZFS fixes.
15640
15641 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15642 sharing the same block. Iterate over correct number of indices.
15643 (dnode_get_path): Handle symlinks correctly.
15644
c0584900
VS
156452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15648
67e2bd71
VS
156492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15650
15651 Read label on HFS+.
15652
15653 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15654 (grub_hfsplus_btree_search): Fix types.
15655 (grub_hfsplus_label): Implement.
15656
e9cc6b7b
VS
156572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15658
15659 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15660
19832ddb
VS
156612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15664
66b40850
VS
156652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15666
15667 Fix symlink handling on iso9660.
15668
15669 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15670 All users updated.
15671 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15672 (grub_iso9660_read_symlink): Moved most of code ...
15673 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15674
db821363
VS
156752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15678 Use union to avoid breaking strict-aliasing rules.
15679
e1211949
VS
156802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15681
15682 Support multi-extent iso files.
15683
15684 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15685 Add node.
15686 (grub_fshelp_node): Revamp. All users updated.
15687 (FLAG_*): New enum.
15688 (read_node): New function.
15689 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15690 All users updated.
15691 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15692 (get_node_size): New function.
15693 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15694 entries.
15695 Fix memory leak on . and ..
15696 (grub_iso9660_read): Use read_node.
15697 (grub_iso9660_close): Free node.
15698
d4888031
VS
156992011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15700
15701 Fix tar 4G limit and handle paths containing dot.
15702
15703 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15704 (canonicalize): New function.
15705 (grub_cpio_find_file): Use canonicalize. Store offs in
15706 grub_disk_addr_t.
15707 (grub_cpio_dir): Use grub_disk_addr_t.
15708 (grub_cpio_open): Likewise.
15709
9f12e664
VS
157102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15711
15712 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15713
15714 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15715 unused flags.
15716 (grub_squash_inode): Add long_file and block_size.
15717 (grub_squash_cache_inode): New struct.
15718 (grub_squash_dirent): Make types into enum.
15719 (SQUASH_TYPE_LONG_REGULAR): New type.
15720 (grub_squash_frag_desc): Add field size.
15721 (SQUASH_BLOCK_FLAGS): New enum.
15722 (grub_squash_data): Use grub_squash_cache_inode.
15723 (grub_fshelp_node): Make ino_chunk 64-bit.
15724 (read_chunk): Minor argument change. All users updated.
15725 (squash_mount): Use correct le_to_cpu.
15726 (grub_squash_open): Handle LONG_REGULAR.
15727 (direct_read): New function.
15728 (grub_squash_read_data): Handle blocks correctly.
15729
9f326fba
VS
157302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15731
15732 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15733
f4d9b64b
VS
157342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15737
5bbd28b8
VS
157382011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15739
15740 Fix 2G limit on ZFS.
15741
15742 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15743 types.
15744 (uberblock_verify): Likewise.
15745 (dmu_read): Likewise.
15746 (grub_zfs_read): Likewise. Remove invalid cast.
15747
68c72069
VS
157482011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15749
15750 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15751 (grub_jfs_blkno): Fix incorrect shift.
15752 (grub_jfs_read_file): Use more appropriate types.
15753
6e536dc8
VS
157542011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 Support triple indirect on minix2 and minix3.
15757
15758 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15759 Declare triple_indir_zone.
15760 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15761 indirect.
15762
e0864e7a
VS
157632011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 Minix FS fixes.
15766
15767 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15768 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15769 Rename ctime to mtime. All users updated.
15770 (grub_minix_get_file_block): Fix types and double indirect computations.
15771
89481cab
VS
157722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15773
15774 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15775 if no label is found.
15776 (grub_fat_iterate_dir): Fix file size type.
15777 (grub_fat_iterate_dir): Likewise.
15778
f646e143
VS
157792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15780
15781 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15782 save some space.
15783 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15784 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15785
534d769e
VS
157862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15789
e084ba18
VS
157902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 * util/import_gcry.py: Accept space between # and include.
15793
3471ecdf
VS
157942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15795
15796 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15797
124df5f6
VS
157982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15801
15802 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15803 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15804 yylex_strncpy.
15805 * grub-core/script/yylex.l: Add fine-grained #pragma.
15806
4defb8d5
VS
158072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15808
15809 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15810 New inline function.
15811 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15812 Likewise.
15813 (memset) [GRUB_UTIL]: Likewise.
15814 (memcmp) [GRUB_UTIL]: Likewise.
15815
4e94ae65
VS
158162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15819 inline function rather than a define.
15820
18c575e5
VS
158212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15822
15823 * util/grub-setup.c: Add missing include.
15824
f8bc22a8
VS
158252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15826
15827 * util/ieee1275/grub-ofpathname.c: Add missing include.
15828
3ce69fc9
VS
158292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15832 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15833 Likewise.
15834
d1e293bb
VS
158352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15838 grub_memcmp usage.
15839
7a5c54a4
VS
158402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 * util/grub-install.in: Add datarootdir as per automake manual
15843 suggestion.
15844 * util/grub-mknetdir.in: Likewise.
15845
158462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15847
15848 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15849 suggestion.
15850 * util/grub.d/10_kfreebsd.in: Likewise.
15851 * util/grub.d/10_linux.in: Likewise.
15852 * util/grub.d/10_netbsd.in: Likewise.
15853 * util/grub.d/10_windows.in: Likewise.
15854 * util/grub.d/20_linux_xen.in: Likewise.
15855
766f7d08
VS
158562011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 Remove redundant grub_kernel_image_size.
15859
15860 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15861 _edata and _start.
15862 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15863 the small code. It moves it only by few bytes but simplifies the code.
15864 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15865 _start.
15866 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15867 (grub_kernel_image_size): Removed.
15868 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15869 (grub_kernel_image_size): Removed.
15870 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15871 compiled with Apple toolchain.
15872 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15873 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15874 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15875 (grub_total_module_size): Likewise.
15876 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15877 Removed.
15878 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15879 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15880 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15881 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15882 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15883 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15884 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15885 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15886 Removed.
15887 (grub_total_module_size): Removed.
15888 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15889 (image_targets): Likewise.
15890 Set .compressed_size to no field on sparc.
15891 (generate_image): Remove kernel_image_size handling.
15892
fcf1d672
SJ
158932011-10-19 Szymon Janc <szymon@janc.net.pl>
15894
15895 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15896 NULL pointer dereference.
15897
de9c615e
VS
158982011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15899
15900 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15901 done with a dedicated section.
15902
15903 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15904 Ensure the correct position of boot_path.
15905 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15906 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15907 other fields.
15908 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15909 * include/grub/boot.h: Removed. All references removed.
15910 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15911 Removed.
15912 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15913
e55599dc
VS
159142011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15915
15916 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15917 name.
15918
36dd20ad
VS
159192011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15920
15921 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15922
f8f72eb8
VS
159232011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15924
15925 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15926 Don't add the bogus brackets.
15927
a374751b
VS
159282011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 ExFAT support.
15931
15932 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15933 * grub-core/Makefile.core.def (exfat): New module.
15934 * grub-core/fs/exfat.c: New file.
15935 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15936 (GRUB_FAT_ATTR_*): Make into an enum.
15937 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15938 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15939 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15940 (GRUB_FAT_MAXFILE): Removed.
15941 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15942 (grub_current_fat_bpb_t): New type.
15943 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15944 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15945 (grub_fat_dir_node_t): New type.
15946 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15947 (fat_log2) [MODE_EXFAT]: Removed.
15948 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15949 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15950 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15951 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15952 (grub_fat_label) [MODE_EXFAT]: New function.
15953 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15954 reserved_first_sector to 0.
15955
544c2487
VS
159562011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 Move grub_reboot out of the kernel.
15959
15960 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15961 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15962 * grub-core/lib/efi/reboot.c: ... here.
15963 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15964 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15965 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15966 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15967 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15968 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15969 * grub-core/lib/ieee1275/reboot.c: ... here.
15970 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15971 * grub-core/lib/mips/arc/reboot.c: ... here.
15972 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15973 * grub-core/lib/mips/loongson/reboot.c: ...here.
15974 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15975 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15976 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15977 * include/grub/i386/reboot.h: New file.
15978 * include/grub/mips/loongson/ec.h: Fix includes.
15979 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15980 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15981 * grub-core/lib/i386/reboot.c: New file.
15982
a97501d2
VS
159832011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15984
15985 Make grub_prefix into module to fix the arbitrary limit and save
15986 some space.
15987
15988 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15989 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15990 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15991 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15992 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15993 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15994 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15995 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15996 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15997 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15998 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15999 * include/grub/ia64/efi/kernel.h: Removed.
16000 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
16001 (grub_prefix): Removed.
16002 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
16003 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
16004 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
16005 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
16006 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
16007 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
16008 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
16009 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
16010 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
16011 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
16012 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16013 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16014 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16015 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16016 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
16017 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
16018 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
16019 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16020 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
16021 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
16022 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
16023 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
16024 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
16025 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
16026 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
16027 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
16028 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
16029 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
16030 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
16031 from module.
16032 * util/grub-mkimage.c (image_target_desc): Removed prefix and
16033 prefix_end.
16034 (image_targets): Likewise.
16035 (generate_image): Put prefix as a module.
16036
39705fad
VS
160372011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16038
16039 Replace grub_module_iterate with FOR_MODULES.
16040
16041 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
16042 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
16043 (grub_efi_modules_addr): ...this.
16044 * grub-core/kern/efi/init.c (grub_modbase): New variable.
16045 (grub_efi_init): Set grub_modbase.
16046 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
16047 (grub_modbase): New variable.
16048 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
16049 (grub_modbase): New variable.
16050 (grub_machine_init): Set grub_modbase.
16051 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
16052 (grub_modbase): New variable.
16053 (grub_machine_init): Set grub_modbase.
16054 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
16055 (grub_modbase): New variable.
16056 (grub_machine_init): Set grub_modbase.
16057 * grub-core/kern/main.c (grub_module_iterate): Remove.
16058 (grub_modules_get_end): Use grub_modbase.
16059 (grub_load_modules): Use FOR_MODULES.
16060 (grub_load_config): Likewise.
16061 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
16062 (grub_modbase): New variable.
16063 (grub_machine_init): Set grub_modbase.
16064 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
16065 (grub_modbase): New variable.
16066 (grub_machine_init): Set grub_modbase.
16067 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
16068 Removed.
16069 (grub_modbase): New variable.
16070 (grub_machine_init): Set grub_modbase.
16071 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
16072 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
16073 (grub_module_iterate): Likewise.
16074 (grub_modbase): New variable declaration.
16075 (FOR_MODULES): New macro.
16076
2afb7f6c
VS
160772011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16078
16079 * configure.ac: Check for __ctzdi2 and __ctzsi2.
16080 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
16081
366e34fa
VS
160822011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16083
16084 Fix few obvious type discrepancies.
16085
16086 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
16087 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
16088 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
16089 variable.
16090 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
16091 and connected types.
16092 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
16093 offset.
16094 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
16095 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
16096 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
16097 and connected types.
16098
177b960e
VS
160992011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16100
16101 Fix python 3.x incompatibilities.
16102
16103 * gentpl.py: Put brackets around print strings.
16104 * util/import_gcry.py: Open explicitly as utf-8.
16105 Use in instead of has_key.
16106
3b619ae1
VS
161072011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16108
16109 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
16110 (GRUB_XFS_INO_AGBITS): Make into inline function.
16111 (GRUB_XFS_INO_INOINAG): Likewise.
16112 (GRUB_XFS_INO_AG): Likewise.
16113 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
16114 (GRUB_XFS_EXTENT_OFFSET): Likewise.
16115 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16116 (GRUB_XFS_EXTENT_SIZE): Likewise.
16117 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
16118 (GRUB_XFS_NEXT_DIRENT): Likewise.
16119 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
16120 (grub_xfs_read_file): Fix offset type.
16121
8bcebcb8
RM
161222011-10-15 Robert Millan <rmh@gnu.org>
16123
16124 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
16125
0017e5ef
RM
161262011-10-15 Robert Millan <rmh@gnu.org>
16127
16128 Fix build problem on FreeBSD and GNU/kFreeBSD.
16129
16130 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
16131
d8919552
VS
161322011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16133
16134 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
16135
16136 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
16137 types.
16138 (grub_hfsplus_btree_recoffset): Likewise.
16139 (grub_hfsplus_btree_recptr): Likewise.
16140 (grub_hfsplus_find_block): Likewise.
16141 (grub_hfsplus_btree_search): Likewise.
16142 (grub_hfsplus_read_block): Likewise.
16143 (grub_hfsplus_read_file): Likewise.
16144 (grub_hfsplus_mount): Likewise.
16145 (grub_hfsplus_btree_iterate_node): Likewise.
16146 (grub_hfsplus_btree_search): Likewise.
16147 (grub_hfsplus_iterate_dir): Likewise.
16148 (grub_hfsplus_read): A small code simplification.
16149
c81296b6
VS
161502011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 * grub-core/kern/emu/hostdisk.c
16153 (convert_system_partition_to_system_disk): Don't assume that children
16154 of mapper nodes are mapper nodes.
16155
0eb8ffb1
VS
161562011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16157
16158 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
16159 * include/grub/misc.h (grub_isxdigit): New function.
16160 * grub-core/video/colors.c (my_isxdigit): Removed. All users
16161 switched to grub_isxdigit.
16162 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
16163 number starting with a letter.
16164
a98f4a08
RM
161652011-10-09 Robert Millan <rmh@gnu.org>
16166
16167 LVM support for FreeBSD and GNU/kFreeBSD.
16168
16169 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
16170 GNU/kFreeBSD.
16171 (LVM_DEV_MAPPER_STRING): Move from here ...
16172 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
16173 * util/getroot.c: Include `<grub/util/lvm.h>'.
16174 (grub_util_get_dev_abstraction): Enable
16175 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
16176 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
16177 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
16178 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
16179 support it.
16180 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
16181 GNU/kFreeBSD.
16182 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
16183 when LVM abstraction is required for ${GRUB_DEVICE}.
16184
050e8e90
SJ
161852011-10-06 Szymon Janc <szymon@janc.net.pl>
16186
16187 Add support for LZO compression in GRUB:
16188 - import of minilzo library,
16189 - LZO decompression for btrfs,
16190 - lzop files decompression.
16191
16192 * grub-core/io/lzopio.c: New file.
16193 * grub-core/lib/adler32.c: Likewise.
16194 * grub-core/lib/minilzo/lzoconf.h: Likewise.
16195 * grub-core/lib/minilzo/lzodefs.h: Likewise.
16196 * grub-core/lib/minilzo/minilzo.c: Likewise.
16197 * grub-core/lib/minilzo/minilzo.h: Likewise.
16198 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
16199 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
16200 grub-core/lib/minilzo/minilzo.c to common.
16201 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
16202 cflags in cppflags.
16203 * grub-core/Makefile.core.def (btrfs): Likewise.
16204 * grub-core/Makefile.core.def (lzopio): New module.
16205 (adler32): Likewise.
16206 * grub-core/fs/btrfs.c: Include minilzo.h.
16207 (GRUB_BTRFS_COMPRESSION_LZO): New define.
16208 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
16209 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
16210 (grub_btrfs_lzo_decompress): New function.
16211 (grub_btrfs_extent_read): Add support for LZO compression type.
16212 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
16213 (GRUB_USHRT_MAX): Likewise.
16214 (GRUB_UINT_MAX): Likewise.
16215 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
16216 (UINT_MAX): Likewise.
16217 (CHAR_BIT): Likewise.
16218 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
16219 grub-core/lib/posix_wrap/limits.h
16220 (UCHAR_MAX): Likewise.
16221 * include/grub/file.h (grub_file_filter_id): New compression filter
16222 GRUB_FILE_FILTER_LZOPIO.
16223 * include/grub/file.h (grub_file_filter_id): Set
16224 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
16225 * include/grub/types.h (grub_get_unaligned16): New function.
16226 (grub_get_unaligned32): Likewise.
16227 (grub_get_unaligned64): Likewise.
16228 * util/import_gcry.py (cryptolist): Add adler32.
16229
0eb8ffb1
VS
162302011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
16231
16232 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
16233 in perspective decreases the complexity of build system and fixes
16234 compilation right now.
16235
ce79cc99 162362011-10-01 Ales Nesrsta <starous@volny.cz>
16237
16238 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
16239 (fixed problem related to using UHCI with coreboot).
16240
8667a314
BC
162412011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16242
16243 * gentpl.py: Use Autogen macros so that the output template file
16244 (Makefile.tpl) size is reduced.
16245
fc5efcc0
MK
162462011-09-29 Mads Kiilerich <mads@kiilerich.com>
16247
16248 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
16249 extra_dist.
16250
d1ab689d
ML
162512011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16252
16253 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
16254 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
16255
c05de032
ML
162562011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16257
16258 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
16259 _fullpath.
16260
cca7ccd8
ML
162612011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16262
16263 Remove extra declaration of sleep for mingw32.
16264
16265 * util/misc.c (sleep) [__MINGW32__]: Removed.
16266 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
16267
e0b0dc83
GS
162682011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
16269
16270 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
16271 type and packname.
16272 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
16273 Resurrected.
16274 (NETBSD_BTINFO_BOOTWEDGE): New definition.
16275 (grub_netbsd_btinfo_bootwedge): New struct.
16276 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16277 New function.
16278 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
16279
91a1a164
TH
162802011-09-28 Thomas Haller <thomas.haller@fen-net.de>
16281
16282 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
16283 loader.
16284
2ded951e
AB
162852011-09-28 Andreas Born <futur.andy@googlemail.com>
16286
16287 Fix incorrect identifiers in bash-completion.
16288
16289 * util/bash-completion.d/grub-completion.bash.in
16290 (_grub_mkpasswd-pbkdf2): Rename to ...
16291 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
16292 (_grub_script-check): Rename to ...
16293 (_grub_script_check): ... this. All users updated.
16294
69915030
VS
162952011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
16296
16297 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
16298 Return 0 if disk isn't biosdisk.
16299
20fd15f9
GS
163002011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16301
16302 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
16303 on NetBSD.
16304 * Makefile.util.def (grub-fstest): Likewise.
16305
1a7d7db9
GS
163062011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16307
16308 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
16309 Get sector size from disk label.
16310
2221ab6c
CW
163112011-09-05 Colin Watson <cjwatson@ubuntu.com>
16312
16313 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
16314 */README* as well as README*.
16315 Reported by: Axel Beckert.
16316
ca51c4a0
VS
163172011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16318
16319 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
16320 case of less than 256 MiB of RAM.
16321
ab80f326
VS
163222011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16323
16324 * grub-core/commands/wildcard.c (make_regex): Handle @.
16325
4155e697
VS
163262011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16327
16328 * util/grub-install.in: Move cryptodisk logic to appropriate place.
16329
ab178c08
SJ
163302011-08-21 Szymon Janc <szymon@janc.net.pl>
16331
16332 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
16333 AC_LANG_CONFTEST macros.
16334
7dc3c686
SJ
163352011-08-20 Szymon Janc <szymon@janc.net.pl>
16336
16337 Add grub-fstest option to uncompress data for commands.
16338
16339 * util/grub-fstest.c (uncompress): New var.
16340 (options): New option -u.
16341
fe8d4a7b
SJ
163422011-08-20 Szymon Janc <szymon@janc.net.pl>
16343
16344 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16345 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16346
a5219af1
SJ
163472011-08-20 Szymon Janc <szymon@janc.net.pl>
16348
16349 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16350 file type was not recognized correctly (not gzip or corrupted).
16351
f87abff5
VS
163522011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16353
16354 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16355 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16356
d94497ea
VS
163572011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16358
16359 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16360 loongson.
16361 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16362 video_radeon_fuloong2e.
16363 * grub-core/video/radeon_fuloong2e.c: New file.
16364 * include/grub/video.h (grub_video_id_t): Add new ID
16365 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16366
0d1fd011
VS
163672011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16368
16369 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16370 define.
16371 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16372 that PRID matches the detected subplatform and reset the subplatform
16373 if it doesn't.
16374
84beb0ee
VS
163752011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16376
16377 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16378
1227c133
VS
163792011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16380
16381 Fix PCI iterating on functions >= 4.
16382
16383 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16384 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16385 Removed.
16386 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16387 (grub_pci_read): Fix bitmask.
16388 (grub_pci_read_word): Likewise.
16389 (grub_pci_read_byte): Likewise.
16390 (grub_pci_write): Likewise.
16391 (grub_pci_write_word): Likewise.
16392 (grub_pci_write_byte): Likewise.
16393
9594c689
VS
163942011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16395
16396 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16397 can still be specified in TARGET_CFLAGS)
16398
14a2562c
VS
163992011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16400
16401 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16402
16403 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16404 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16405 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16406 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16407 (FULOONG): Rename to ...
16408 (FULOONG2F): ... this. All users updated.
16409 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16410 (machtype_fuloong2f_str): ... this.
16411 (machtype_fuloong2e_str): New string.
16412 Check for machtype_fuloong2e_str.
16413 * grub-core/loader/mips/linux.c (loongson_machtypes)
16414 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16415 * grub-core/term/serial.c (loongson_defserial)
16416 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16417 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16418 loongson_defserial.
16419 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16420 Rename to ...
16421 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16422 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16423 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16424 to IMAGE_FULOONG2F_FLASH. All users updated.
16425 (image_targets): Rename images.
16426 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16427
b526cbb6
SJ
164282011-08-19 Szymon Janc <szymon@janc.net.pl>
16429
16430 Make enable of disk cache statistics code configurable.
16431
16432 * configure.ac: --enable-cache-stats added.
16433 * config.h.in (DISK_CACHE_STATS): New define.
16434 * grub-core/Makefile.core.def (cacheinfo): New command.
16435 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16436 * grub-core/commands/cacheinfo.c: New file.
16437 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16438 moved to cacheinfo.c.
16439 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16440 debug code.
16441 * include/grub/disk.h: Likewise.
16442
fb739ccd
SJ
164432011-08-19 Szymon Janc <szymon@janc.net.pl>
16444
16445 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16446 * grub-core/Makefile.am: Likewise.
16447
2bba8cfd
VS
164482011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16449
16450 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16451 non-zero pull.
16452
43526629
VS
164532011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16454
16455 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16456 All users updated.
16457 (grub_jfs_lookup_symlink): Use correct starting inode.
16458
5c144cc8
VS
164592011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16460
16461 * util/grub-setup.c (main): Add missing gcry initialisation.
16462
b1257f65
VS
164632011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16464
16465 Don't accept text modes on EFI when booting Linux.
16466
16467 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16468 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16469
828bc390
ML
164702011-08-15 Mario Limonciello <mario_limonciello@dell.com>
164712011-08-15 Colin Watson <cjwatson@ubuntu.com>
16472
16473 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
16474 use of "/path/.." as in grub-install for EFI as well as handling
16475 symlinks correctly.
16476 Fixes Debian bug #637768.
16477
5f60ccac
CW
164782011-08-15 Colin Watson <cjwatson@ubuntu.com>
16479
16480 * util/grub-probe.c: Remove duplicate #include.
16481
6dc212f9
RM
164822011-08-10 Robert Millan <rmh@gnu.org>
16483
16484 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16485
16486 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16487 function.
16488 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16489 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16490
66816d85
RM
164912011-08-03 Robert Millan <rmh@gnu.org>
16492
16493 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16494 la_array as packed.
16495 Reported by: Zachary Bedell
16496
20168fca
CW
164972011-07-26 Colin Watson <cjwatson@ubuntu.com>
16498
16499 * configure.ac: The Loongson port requires grub-mkfont due to its
16500 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
16501 be built.
16502
303b6246
CW
165032011-07-26 Colin Watson <cjwatson@ubuntu.com>
16504
16505 * util/grub-install.in: Don't source grub-mkconfig_lib until after
16506 processing arguments (otherwise help2man fails when GRUB has not yet
16507 been installed).
16508
6795300e
VS
165092011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16510
41aa28ea
VS
16511 New script grub-mkstandalone.
16512
16513 * Makefile.util.def (grub-mkstandalone): New script.
16514 * docs/man/grub-mkstandalone.h2m: New file.
16515 * util/grub-mkstandalone.in: Likewise.
16516
165172011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16518
16519 Support ATA disks with 4K sectors.
6795300e
VS
16520
16521 * include/grub/ata.h (grub_ata): New member log_sector_size.
16522 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16523 (grub_ata_identify): Read sector size.
16524 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16525
92227597
VS
165262011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16527
16528 * util/grub-install.in: Don't use uhci outside of x86.
16529
c77069f5
VS
165302011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16531
16532 * util/grub-mkrescue.in: Add missing quotes.
16533
165342011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
16535
16536 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16537 dereference.
16538
583168a2
VS
165392011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16542
6be1c01f
VS
165432011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16544
16545 * include/grub/video.h: add missing EXPORT_FUND on
16546 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16547
a1167439
VS
165482011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16549
16550 * include/grub/mips/kernel.h: Fix define conflict.
16551
bf66054f
VS
165522011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16553
16554 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16555 all four ways.
16556
8fc4fa45
CW
165572011-07-21 Colin Watson <cjwatson@ubuntu.com>
16558
16559 Preferred resolution detection for VBE.
16560
16561 * grub-core/video/video.c (grub_video_edid_checksum): New function.
16562 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16563 the Flat Panel extension, in line with the X.org VESA driver.
16564 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16565 New function.
16566 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16567 (grub_vbe_bios_read_edid): Likewise.
16568 (grub_vbe_get_preferred_mode): Likewise.
16569 (grub_video_vbe_setup): When the mode is "auto", try to get the
16570 preferred mode from VBE, and use the largest mode that is no larger
16571 than the preferred mode (some BIOSes expose a preferred mode that is
16572 not in their mode list!). If this fails, fall back to 640x480 as a
16573 safe conservative choice.
16574 (grub_video_vbe_get_edid): New function.
16575 (grub_video_vbe_adapter): Add get_edid.
16576 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16577 (struct grub_video_adapter): Add get_edid.
16578 (grub_video_edid_checksum): Add prototype.
16579 (grub_video_edid_preferred_mode): Likewise.
16580 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16581 structure.
16582
16583 * grub-core/commands/videoinfo.c (print_edid): New function.
16584 (grub_cmd_videoinfo): Print EDID if available.
16585
16586 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16587 is more appropriate on a wider range of platforms than 640x480.
16588 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16589 documentation.
16590
ca5572a9
VS
165912011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16592
16593 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16594
e4bcf625
VS
165952011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16596
16597 * po/POTFILES.in: Regenerate.
16598
c4edd548
VS
165992011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16600
16601 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16602 incorrect memory usage.
16603
16a2bab0
VS
166042011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16605
16606 * util/grub-install.in: Source grub-mkconfig_lib.
16607
2e418de6
VS
166082011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16609
16610 Remove getroot.c from core on emu platform.
16611
16612 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16613 kern/emu/raid.c.
16614 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16615 useless.
16616 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16617 * util/getroot.c (get_win32_path): ... here.
16618 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16619 * util/getroot.c (fini_libzfs): ... here.
16620 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16621 * util/getroot.c (grub_get_libzfs_handle): ... here.
16622 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16623 Moved from here...
16624 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16625 * grub-core/kern/emu/misc.c
16626 (grub_make_system_path_relative_to_its_root): Moved from here...
16627 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16628 * grub-core/kern/emu/getroot.c: Moved from here ...
16629 * util/getroot.c: ... here. All users updated.
16630 * grub-core/kern/emu/raid.c: Moved from here ...
16631 * util/raid.c: ... here. All users updated.
16632
def9832a
VS
166332011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 * po/POTFILES.in: Regenerate.
16636
cd8fe79a
VS
166372011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16638
16639 Fix compilation on GNU/Linux.
16640
16641 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16642 Disable geli.
16643 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16644 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16645 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16646
a251b719
VS
166472011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
166482011-07-07 Michael Gorven <michael@gorven.za.net>
166492011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16650
16651 LUKS and GELI support.
16652
16653 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16654 grub-core/disk/luks.c, grub-core/disk/geli.c,
16655 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16656 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16657 grub-core/lib/arg.c.
16658 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16659 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16660 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16661 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16662 (grub-bin2h): Add libgcry.a.
16663 (grub-mkimage): Likewise.
16664 (grub-mkrelpath): Likewise.
16665 (grub-script-check): Likewise.
16666 (grub-editenv): Likewise.
16667 (grub-mkpasswd-pbkdf2): Likewise.
16668 (grub-pe2elf): Likewise.
16669 (grub-fstest): Likewise.
16670 (grub-mkfont): Likewise.
16671 (grub-mkdevicemap): Likewise.
16672 (grub-probe): Likewise.
16673 (grub-ofpath): Likewise.
16674 (grub-mklayout): Likewise.
16675 (example_unit_test): Likewise.
16676 (grub-menulst2cfg): Likewise.
16677 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16678 * grub-core/Makefile.core.def (cryptodisk): New module.
16679 (luks): Likewise.
16680 (geli): Likewise.
16681 * grub-core/disk/AFSplitter.c: New file.
16682 * grub-core/disk/cryptodisk.c: Likewise.
16683 * grub-core/disk/geli.c: Likewise.
16684 * grub-core/disk/luks.c: Likewise.
16685 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16686 grub_util_is_lvm.
16687 (grub_util_get_dm_abstraction): New function.
16688 (grub_util_follow_gpart_up): Likewise.
16689 (grub_util_get_geom_abstraction): Likewise.
16690 (grub_util_get_dev_abstraction): Use new functions.
16691 (grub_util_pull_device): Pull GELI and LUKS.
16692 (grub_util_get_grub_dev): Handle LUKS and GELI.
16693 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16694 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16695 (follow_geom_up): Removed.
16696 (grub_util_fd_seek): New function.
16697 (open_device): Use grub_util_fd_seek.
16698 (nread): Rename to ..
16699 (grub_util_fd_read): ... this. All users updated.
16700 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16701 (grub_crypto_cbc_decrypt): Likewise.
16702 (grub_crypto_hmac_write): Likewise.
16703 (grub_crypto_hmac_buffer): Likewise.
16704 (grub_password_get): Extend to util.
16705 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16706 New member modname.
16707 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16708 * include/grub/cryptodisk.h: New file.
16709 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16710 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16711 LUKS and GELI.
16712 (grub_util_follow_gpart_up): New proto.
16713 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16714 (grub_util_fd_read): Likewise.
16715 (grub_cryptodisk_cheat_mount): Likewise.
16716 (grub_util_cryptodisk_print_uuid): Likewise.
16717 (grub_util_get_fd_sectors): Likewise.
16718 * util/grub-fstest.c (mount_crypt): New var.
16719 (fstest): Mount crypto if requested.
16720 (options): New option -C.
16721 (argp_parser): Parse -C.
16722 (main): Init and fini gcry.
16723 * util/grub-install.in: Support cryptodisk install.
16724 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16725 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16726 cryptodisk.
16727 (prepare_grub_to_access_device): Likewise.
16728 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16729 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16730 (probe_cryptodisk_uuid): New function.
16731 (probe_abstraction): Likewise.
16732 (probe): Use new functions.
16733 * util/import_gcry.py: Create Makefile.utilgcry.def.
16734 Add modname member.
16735
9bfdcbbc
VS
167362011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16737
16738 Lazy device scanning.
16739
16740 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16741 (grub-setup): Remove util/raid.c.
16742 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16743 * grub-core/disk/lvm.c (scan_depth): New variable.
16744 (grub_lvm_iterate): Rescan if necessary.
16745 (find_lv): New function based on grub_lvm_open.
16746 (grub_lvm_open): Use find_lv. Rescan on error.
16747 (is_node_readable): New function.
16748 (is_lv_readable): Likewise.
16749 (grub_lvm_scan_device): Skip already found disks.
16750 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16751 Stop if searched device is found and readable.
16752 * grub-core/disk/raid.c (inscnt): New variable.
16753 (scan_depth): Likewise.
16754 (scan_devices): New function based on grub_raid_register. Abort if
16755 looked for device is found.
16756 (grub_raid_iterate): Rescan if needed.
16757 (find_array): NEw function based on -grub_raid_open.
16758 (grub_raid_open): Use find_array and rescan.
16759 (insert_array): Set became_readable_at.
16760 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16761 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16762 New function.
16763 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16764 (grub_util_pull_device): New function.
16765 (grub_util_get_grub_dev): Call grub_util_pull_device.
16766 * util/raid.c: Moved to ..
16767 * grub-core/kern/emu/raid.c: ... here.
16768 (grub_util_raid_getmembers): New parameter "bootable".
16769 All users updated. Support 1.x.
16770 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16771 All users updated.
16772 * include/grub/disk.h (grub_disk_pull_t): New enum.
16773 (grub_disk_dev): Change iterate prototype.
16774 All users updated.
16775 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16776 New proto.
16777 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16778 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16779 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16780 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16781 All users updated.
16782 * include/grub/util/raid.h: Removed.
16783
1c358e59
VS
167842011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16785
16786 * po/POTFILES.in: Regenerate.
16787
abee94ed
VS
167882011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16789
16790 Unify sparc init with other ieee1275.
16791
16792 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16793 instead of kern/sparc64/ieee1275/init.c.
16794 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16795 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16796 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16797 grub/machine/kernel.h.
16798 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16799 (grub_claim_heap) [__sparc__]: Use sparc version.
16800 (grub_machine_init): Moved args parsing to
16801 (grub_parse_cmdline): ...this.
16802 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16803 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16804 New definition.
16805 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16806
16807 Move BOOTP to separate file.
16808
16809 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16810 * grub-core/net/net.c: Move all BOOTP functions to
16811 * grub-core/net/bootp.c: ... here.
16812
16813 Use frame interface on PXE.
16814
16815 * grub-core/Makefile.core.def (pxecmd): Removed.
16816 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16817 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16818 * grub-core/i386/pc/pxe.c: Moved from here ...
16819 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16820 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16821 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16822
16823 EFI network support.
16824
16825 * grub-core/Makefile.core.def (efinet): New module.
16826 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16827 here...
16828 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16829 All users updated.
16830 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16831 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16832 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16833 * grub-core/net/drivers/efi/efinet.c: New file.
16834 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16835 (grub_efi_net_config): New extern var.
16836
16837 Various cleanups and bugfixes.
16838
16839 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16840 error.
16841 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16842 disk declared as partition.
16843 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16844 leak on failure.
16845 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16846 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16847 (grub_debug_zalloc): Likewise.
16848 (grub_debug_realloc): Likewise.
16849 (grub_debug_memalign): Likewise.
16850 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16851 Check that target is IPv4.
16852 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16853 local-mac-address as fallback.
16854 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16855 memory leak.
16856 * grub-core/net/ip.c (ipchksum): Rename to ...
16857 (grub_net_ip_chksum): ... this. All users updated.
16858 (grub_net_recv_ip_packets): Special handling for DHCP.
16859 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16860
16861 Unify prefix handling
16862
16863 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16864 (grub_machine_get_bootlocation): ... this.
16865 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16866 (grub_machine_get_bootlocation): ... this.
16867 (grub_prefix): New variable.
16868 (prefix): Removed.
16869 (root_dev): New variable.
16870 (dir): Likewise.
16871 (main): Use new variables.
16872 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16873 Revamped into ...
16874 (grub_machine_get_bootlocation): ... this.
16875 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16876 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16877 (grub_machine_get_bootlocation): ... this.
16878 (grub_machine_set_prefix): Removed.
16879 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16880 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16881 Revamped into ...
16882 (grub_machine_get_bootlocation): ... this.
16883 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16884 (grub_set_prefix_and_root): ... this. All users updated.
16885 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16886 Revamped into ...
16887 (grub_machine_get_bootlocation): ... this.
16888 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16889 (grub_machine_get_bootlocation): New proto.
16890 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16891
16892 Less intrusive and more reliable seek on network implementation.
16893
16894 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16895 (grub_file_seek): Don't call grub_file_net_seek.
16896 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16897 (grub_net_fs_read_real): .. this.
16898 (grub_net_seek_real): Use net->offset.
16899 (grub_net_fs_read): Seek if necessary.
16900
16901 Unify IEEE1275 netwotk config with the other platforms.
16902
16903 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16904 New variable.
16905 (grub_machine_get_bootlocation): Support network.
16906 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16907 Support type and device parsing.
16908 (grub_ieee1275_get_device_type): New function.
16909 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16910 into ...
16911 (grub_ieee1275_net_config_real): ... this.
16912 (grub_ofnet_probecards): Removed.
16913 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16914 * include/grub/ieee1275/ofnet.h: Removed.
16915 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16916 extern var.
16917 (grub_ieee1275_get_device_type): New function.
16918
16919 Unify network device closing across platforms and make more robust.
16920
16921 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16922 grub_grubnet_fini.
16923 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16924 already.
16925 * grub-core/net/net.c (grub_net_network_level_interface_register):
16926 Update num_ifaces.
16927 (grub_net_card_unregister): Close all interfaces.
16928 (receive_packets): Don't poll if no iterfaces are registered.
16929 Open if necessary.
16930 (grub_net_fini_hw): New function.
16931 (grub_net_restore_hw): Likewise.
16932 (fini_hnd): New variable.
16933 (GRUB_MOD_INIT): Register preboot hook.
16934 (GRUB_MOD_FINI): Run and unregister preboot hook.
16935
16936 Poll network cards when idle.
16937
16938 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16939 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16940 * grub-core/net/net.c (receive_packets): Save last poll time.
16941 (grub_net_poll_cards_idle_real): New function.
16942 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16943 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16944 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16945
16946 Rename ofnet interfaces.
16947
16948 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16949 (grub_ofnet_findcards): Use ofnet_%s names.
16950
16951 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16952
16953 Cleanup socket opening.
16954
16955 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16956 (grub_net_fs_close): Likewise.
16957 (grub_net_fs_read_real): Use eof member.
16958 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16959 (+grub_net_udp_close): New inline function.
16960
16961 * include/grub/net/tftp.h: Moved to the top of ...
16962 * grub-core/net/tftp.c: ... here.
16963 * include/grub/net/ip.h: Moved mostly to the top of ...
16964 * grub-core/net/ip.c: ... here.
16965 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16966 * grub-core/net/ethernet.c: ... here.
16967
16968 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16969
16970 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16971 FS name.
16972
16973 * include/grub/net/ip.h (ipv4_ini): Removed.
16974 (ipv4_fini): Likewise.
16975
16976 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16977 (grub_net_send_ip_packets): Likewise.
16978
cf1337aa
VS
169792011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16980
16981 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16982 grub_read_cmos prototype.
16983
93c06ff9
VS
169842011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16985
16986 VGA text support in qemu-mips
16987
16988 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16989 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16990 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16991 text.
16992 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16993 * grub-core/kern/vga_init.c: ... this.
16994 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16995 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16996 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16997 Adjust.
16998 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16999 GRUB_MACHINE_PCI_IO_BASE.
17000
748ccabe
VS
170012011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17002
17003 MIPS qemu flash support.
17004
17005 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
17006 magic.
17007 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
17008 (grub_machine_init): Probe memory if its size isn't known.
17009 * util/grub-mkimage.c (image_targets): Add flash targets.
17010 (generate_image): Handle flash targets.
17011
d7345994
VS
170122011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17013
17014 MIPS qemu at_keyboard support.
17015
17016 * gentpl.py (videoinkernel): Add qemu-mips.
17017 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
17018 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
17019 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
17020 modules.
17021 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
17022 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
17023 * grub-core/term/serial.c (grub_serial_register)
17024 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
17025
a07a81b3
VS
170262011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17027
17028 CMOS support on sparc.
17029
17030 * gentpl.py (cmos): Add powerpc and sparc.
17031 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
17032 powerpc and sparc.
17033 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
17034 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
17035 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
17036 grub_set_datetime_cmos.
17037 * grub-core/lib/ieee1275/cmos.c: New file.
17038 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
17039 (find_rtc): Set no_ieee1275_rtc on error.
17040 (grub_get_datetime): Call grub_get_datetime_cmos on error.
17041 (grub_set_datetime): Call grub_set_datetime_cmos on error.
17042 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
17043 fail. Move value to argument. All users updated
17044 (grub_cmos_write): Likewise.
17045 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
17046 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
17047 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
17048 grub_get_datetime_cmos and grub_set_datetime_cmos.
17049
77546584
GS
170502011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17051
17052 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
17053 sourcing grub-mkconfig_lib.
17054 * util/update-grub_lib.in: Likewise.
17055 * util/grub.d/00_header.in: Likewise.
17056 * util/grub.d/10_hurd.in: Likewise.
17057 * util/grub.d/10_kfreebsd.in: Likewise.
17058 * util/grub.d/10_linux.in: Likewise.
17059 * util/grub.d/10_netbsd.in: Likewise.
17060 * util/grub.d/10_windows.in: Likewise.
17061 * util/grub.d/20_linux_xen.in: Likewise.
17062 * util/grub.d/30_os-prober.in: Likewise.
17063
54894791
CW
170642011-06-28 Colin Watson <cjwatson@ubuntu.com>
17065
17066 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
17067 default_bg_color rather than black.
17068 (grub_gfxterm_fullscreen): Likewise.
17069 (grub_gfxterm_background_color_cmd): Save new background color in
17070 default_bg_color.
17071
8d5d8444
VS
170722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
17075
5afeb5bd
VS
170762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
17079 mismerge.
17080
ba7df45e
VS
170812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 Chainloading on coreboot support.
17084
17085 * grub-core/Makefile.core.def (chain): Add coreboot.
17086 * grub-core/loader/i386/coreboot/chainloader.c: New file.
17087
d0b526b2
VS
170882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17089
17090 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
17091 if it happens.
17092
5ff1d945
VS
170932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17094
17095 Implement time command.
17096
17097 * grub-core/Makefile.core.def (time): New module.
17098 * grub-core/commands/time.c: New file.
17099 * grub-core/script/parser.y: Remove "time" keyword.
17100 * grub-core/script/yylex.l: Likewise.
17101
5ebaad7e
VS
171022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17103
17104 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
17105
bdea3798
VS
171062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17107
17108 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
17109 when handling leftovers.
17110
b28c5655
VS
171112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17112
17113 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
17114 so that help2man doesn't fail.
17115
b6f945dc
VS
171162011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17117
17118 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
17119 type in pointers on sparc64.
17120 (get_card_packet): Likewise.
17121
f9b75e8a
CW
171222011-06-27 Colin Watson <cjwatson@ubuntu.com>
17123
17124 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
17125 with `*'.
17126 (grub_cmd_videoinfo): Fetch current video mode.
17127
1e3d9b86
VS
171282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17129
17130 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
17131 because of underlying system restrictions.
17132
efff4b1c
VS
171332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17134
17135 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
17136 necessary.
17137
9fc9ce37
VS
171382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17139
17140 Coreboot video support.
17141
17142 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
17143 (vbe): Likewise.
17144 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
17145 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
17146 here ...
17147 * grub-core/kern/i386/int.S: ... here.
17148 * grub-core/video/i386/pc/vbe.c: Updated includes.
17149 * grub-core/video/i386/pc/vga.c: Likewise.
17150 * include/grub/i386/coreboot/memory.h
17151 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
17152 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
17153 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
17154 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
17155 Disable interrupts.
17156 * include/grub/i386/pc/vga.h: Removed. All users updated.
17157
41bec7fe
VS
171582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17159
17160 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
17161 definitions for dprintf.
17162 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
17163
ca80309d
VS
171642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17165
17166 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
17167 prototype.
17168 (get_card_packet): Likewise.
17169
9e322ce8
YB
171702011-06-26 Yves Blusseau <blusseau@zetam.org>
17171
17172 Display the path of the file when file is not found
17173
17174 * grub-core/fs/fat.c: Display the filename when file is not found.
17175 * grub-core/fs/fshelp.c: Likewise.
17176 * grub-core/fs/hfs.c: Likewise.
17177 * grub-core/fs/jfs.c: Likewise.
17178 * grub-core/fs/minix.c: Likewise.
17179 * grub-core/fs/ufs.c: Likewise.
17180 * grub-core/fs/btrfs.c: Likewise.
17181 * grub-core/commands/i386/pc/play.c: Likewise.
17182
cbf597af
SJ
171832011-06-26 Szymon Janc <szymon@janc.net.pl>
17184
17185 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
17186 pointer checks before calling grub_free().
17187 * grub-core/commands/wildcard.c (match_devices): Likewise.
17188 * grub-core/commands/wildcard.c (match_files): Likewise.
17189 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
17190 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
17191 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
17192 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
17193 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
17194 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
17195 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
17196 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17197 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
17198
6295b32f
P
171992011-06-25 Patrick <p55@mailinator.com>
17200
17201 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
17202
77c0840b
VS
172032011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
17204
17205 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
17206 (grub_pxe_send): Likewise.
17207 (GRUB_MOD_INIT): Fix types.
17208
40ea05de
SJ
172092011-06-24 Szymon Janc <szymon@janc.net.pl>
17210
17211 * grub-core/io/xzio.c: Fix code style issues
17212
90162423
MRA
172132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
172142011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
17215
17216 Network infrastructure.
17217 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
17218
17219 * include/grub/net/arp.h: New file.
90162423
MRA
17220 * include/grub/net/device.h: Likewise.
17221 * include/grub/net/ethernet.h: Likewise.
17222 * include/grub/net/ip.h: Likewise.
17223 * include/grub/net/netbuff.h: Likewise.
17224 * include/grub/net/tftp.h: Likewise.
17225 * include/grub/net/udp.h: Likewise.
17226 * include/grub/ieee1275/ofnet.h: Likewise.
17227 * include/grub/emu/export.h: Likewise.
17228 * include/grub/net.h: Likewise.
17229 * grub-core/net/arp.c: Likewise.
17230 * grub-core/net/ethernet.c: Likewise.
17231 * grub-core/net/ip.c: Likewise.
17232 * grub-core/net/udp.c: Likewise.
17233 * grub-core/net/tftp.c: Likewise.
17234 * grub-core/net/netbuff.c: Likewise.
17235 * grub-core/net/net.c: Likewise.
17236 * grub-core/net/drivers/emu/emunet.c: Likewise.
17237 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
17238 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
17239 export.h.
17240 * grub-core/Makefile.core.def (net): New module.
17241 (tftp): Likewise.
17242 (ofnet): Likewise.
17243 (emunet): Likewise.
17244 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
17245 network protocols.
17246 * grub-core/kern/device.c (grub_net_open) : New variable.
17247 (grub_device_open): Handle network device.
17248 (grub_device_close): Likewise.
17249 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
17250 (grub_grubnet_fini): Likewise.
17251 (grub_file_seek): Seek in network device.
17252 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
17253 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
17254 network root.
17255 (grub_machine_fini): Call grub_grubnet_fini.
17256 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
17257 network.
17258 (grub_ieee1275_get_aliasdevname): New function.
17259 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17260 Add unofficial Solaris network info.
17261 (grub_multiboot_make_mbi): Likewise.
17262 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
17263 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
17264 * include/grub/device.h (grub_fs): Removed.
17265 * include/grub/err.h (grub_err_t): Add network-related values.
17266 * include/grub/i386/pc/pxe.h: Removed bootp parts.
17267 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
17268 (grub_ieee1275_get_aliasdevname): New proto.
17269 * include/grub/net.h: Rewritten.
423a1849 17270
031f22a0
VS
172712011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
17274 names.
17275
4388ca72
VS
172762011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17277
17278 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
17279 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
17280 it truncates the output.
17281 Reported by: Ximin Luo.
17282
98e2f506
VS
172832011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17284
17285 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
17286
2a5e94d8
VS
172872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
17290 partmap before abstraction.
17291
535c1910
AK
172922011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
17293
17294 * util/grub-mkconfig_lib.in: Add missing quotes.
17295
bc09e1a2
VS
172962011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17297
17298 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
17299 old method if mountinfo would return /dev/root and /dev/root doesn't
17300 exist.
17301
290766fb
VS
173022011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17303
17304 ZFS zlib support
17305
17306 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
17307 (decomp_table): Add zlib entries.
17308 (zio_read): USe 8 bits for compression function rather than 3.
17309 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
17310
173112011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17312
17313 * grub-core/disk/ahci.c: Add missing license statements.
17314 * grub-core/fs/romfs.c: Likewise.
17315 * grub-core/lib/ia64/setjmp.S: Likewise.
17316 * grub-core/loader/i386/pc/freedos.c: Likewise.
17317 * grub-core/loader/ia64/efi/linux.c: Likewise.
17318 * grub-core/video/colors.c: Likewise.
17319 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
17320
5ab3f48a
VS
173212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17322
17323 AHCI support.
17324
17325 * grub-core/Makefile.core.def (ata_pthru): Removed.
17326 (ahci): New module.
17327 (pata): Likewise.
17328 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
17329 on unload.
17330 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
17331 readwrite.
17332 (grub_hdparm_do_check_powermode_cmd): Likewise.
17333 (grub_hdparm_do_smart_cmd): Likewise.
17334 (grub_hdparm_set_val_cmd): Likewise.
17335 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
17336 * grub-core/disk/ahci.c: New file.
17337 * grub-core/disk/ata.c: Factor out the low-level part into ...
17338 * grub-core/disk/pata.c: ... here.
17339 * grub-core/disk/ata_pthru.c: Contents moved to ...
17340 * grub-core/disk/pata.c: ... here.
17341 * grub-core/disk/scsi.c (grub_scsi_names): New array.
17342 (grub_scsi_iterate): Use grub_scsi_names.
17343 (grub_scsi_open): Likewise.
17344 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17345 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17346 (grub_ata_regs_t): New struct.
17347 (grub_disk_ata_pass_through_parms): Likewise.
17348 (grub_ata_device): Renamed to ...
17349 (grub_ata): ... this.
17350 (grub_ata_dev): New struct.
17351 Removed all low-level inline functions.
17352 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17353 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17354 iterate hooks and open. All users updated.
17355 * util/grub-install.in: Handle AHCI disk module.
17356
c31dc5f5
SJ
173572011-06-23 Szymon Janc <szymon@janc.net.pl>
17358
17359 Add support for DRI and RSTn markers in JPEG files.
17360
17361 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17362 (JPEG_MARKER_RST0): Likewise.
17363 (JPEG_MARKER_RST1): Likewise.
17364 (JPEG_MARKER_RST2): Likewise.
17365 (JPEG_MARKER_RST3): Likewise.
17366 (JPEG_MARKER_RST4): Likewise.
17367 (JPEG_MARKER_RST5): Likewise.
17368 (JPEG_MARKER_RST6): Likewise.
17369 (JPEG_MARKER_RST7): Likewise.
17370 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17371 (grub_jpeg_decode_dri): New function.
17372 (grub_jpeg_decode_sos): Move image data related part into
17373 grub_jpeg_decode_data function.
17374 (grub_jpeg_decode_data): New function.
17375 (grub_jpeg_reset): New function.
17376 (grub_jpeg_decode_jpeg): Handle new markers.
17377
fe12fd5b
VS
173782011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17379
17380 * util/ieee1275/ofpath.c (check_sas): Close fd.
17381 (main): Free of_path.
17382 Reported by: David Volgyes <dvolgyes>.
17383
03147f46
VS
173842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17385
17386 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17387 Reported by: David Volgyes <dvolgyes>.
17388
cad3237f
VS
173892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17390
17391 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17392 file after stat.
17393 Reported by: David Volgyes <dvolgyes>.
17394
13548d26
VS
173952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17396
17397 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17398
17399 Reported by: David Volgyes <dvolgyes>.
17400
e061a1b5
VS
174012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17402
17403 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17404 Prevent memory leak.
17405
1abe47dc
VS
174062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17407
17408 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17409 (main): Close file.
e061a1b5 17410 Reported by: David Volgyes <dvolgyes>.
1abe47dc 17411
fbc62666
VS
174122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17415 to continue if allocation is failed.
17416
17417 Reported by: David Volgyes <dvolgyes>.
17418
e98c83e9
DV
174192011-06-23 David Volgyes <dvolgyes>
17420
17421 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17422 dereference.
17423
a199a8cd
VS
174242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 Fix spurious warning.
17427
17428 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17429 (acorn_partition_map_find): Use .bin member.
17430
e2d1dba0
VS
174312011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17434 /dev/root as a valid device.
17435
8a5d6919
JM
174362011-06-23 Jim Meyering <meyering@redhat.com>
17437
e2d1dba0
VS
17438 Avoid NULL deref in grub_device_open.
17439
8a5d6919
JM
17440 * grub-core/kern/device.c (grub_device_open): Don't dereference
17441 a NULL pointer upon failed grub_env_get.
17442
f7db6f4a
VS
174432011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17444
17445 Support non-512B sectors and agglomerate reads.
17446
17447 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17448 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17449 (disk_io_guid): Removed.
17450 (make_devices): Locate solely by BlockIO.
17451 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17452 (grub_efidisk_read): Use read_blocks.
17453 (grub_efidisk_write): Use write_blocks.
17454 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17455 log_sector_size.
17456 (get_safe_sectors): Handle non-512B sectors.
17457 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17458 sectors.
17459 (grub_biosdisk_write): Handle non-512B sectors.
17460 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17461 (grub_scsi_read): Remove special non-512B block handling (now handled
17462 one level up).
17463 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17464 and do sanity checks.
17465 (grub_disk_adjust_range): Handle non-512B sectors.
17466 (transform_sector): New function.
17467 (grub_disk_read_small): Likewise.
17468 (grub_disk_read): Rewritten.
17469 (grub_disk_write): Handle non-512B sectors.
17470 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17471 log_sector_size.
17472 (open_device): Use log_sector_size.
17473 (grub_util_biosdisk_read): Likewise.
17474 (grub_util_biosdisk_write): Likewise.
17475 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
17476 non-512B sectors.
17477 (pc_partition_map_embed): Likewise.
17478 * include/grub/disk.h (grub_disk): New field log_sector_size.
17479 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
17480 (GRUB_DISK_CACHE_BITS): Increased to 6.
17481 * util/grub-fstest.c (fstest): New command testload.
17482 (argp_parser): Likewise.
17483
881ac815
RM
174842011-06-16 Robert Millan <rmh@gnu.org>
17485
17486 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17487 `ata' driver on kernel of FreeBSD 9.
17488
17489 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17490 (get_ataraid_disk_name): New functions.
17491 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17492 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17493 get_ataraid_disk_name() and get_ada_disk_name().
17494
1e9aef7d
CW
174952011-06-13 Colin Watson <cjwatson@ubuntu.com>
17496
17497 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17498 input format.
17499
351c7c8a
CW
175002011-05-29 Colin Watson <cjwatson@ubuntu.com>
17501
17502 * docs/grub.texi (Obtaining and Building GRUB): Substitute
17503 `ftp.gnu.org' for `alpha.gnu.org'.
17504
6b4e6430
CW
175052011-05-27 Colin Watson <cjwatson@ubuntu.com>
17506
17507 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
17508 partitions under /dev/disk/by-id/.
17509
c64db050
CW
175102011-05-27 Colin Watson <cjwatson@ubuntu.com>
17511
17512 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
17513 after ten consecutive open failures. Scanning all the way up to
17514 10000 is excessive and can cause serious performance problems in
17515 some configurations.
17516 Fixes Ubuntu bug #787461.
17517
245f4aba
VS
175182011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17521 opening new one.
17522
f767c929
VS
175232011-05-21 Colin Watson <cjwatson@ubuntu.com>
175242011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17525
17526 Don't stat devices unless we have to.
17527
17528 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17529 dir == /dev/mapper.
17530 (grub_guess_root_device): Use already known os_dev if possible.
17531 * grub-core/kern/emu/hostdisk.c
17532 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17533 if device is known to be a dm one.
17534
f35fa3a6
CW
175352011-05-20 Colin Watson <cjwatson@ubuntu.com>
17536
17537 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17538 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17539 Reported by: Pawel Tecza.
17540
9a79fcf2
VS
175412011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17542
17543 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17544 (lsefisystab): Likewise.
17545 (lssal): Likewise.
17546 (lsefimmap): Likewise.
17547 (hdparm): Enable on qemu-mips.
17548 (setjmp): Add ia64 nodist.
17549 (serial): Simplify tags.
17550
63e3eea9
CW
175512011-05-18 Colin Watson <cjwatson@ubuntu.com>
17552
17553 * Makefile.util.def (grub-ofpathname): Install manual page.
17554
09728256
CW
175552011-05-18 Colin Watson <cjwatson@ubuntu.com>
17556
17557 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17558
8b63a142
CW
175592011-05-18 Colin Watson <cjwatson@ubuntu.com>
17560
17561 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
17562
e775d8ed
VS
175632011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17564
17565 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17566 into dprintf.
17567
bf947d36
VS
175682011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17569
17570 Use full 64-bit division.
17571
17572 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17573 (grub_divmod64): ... this.
17574 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17575 version.
17576
b84f26c5
CW
175772011-05-18 Colin Watson <cjwatson@ubuntu.com>
17578
17579 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17580 `source'.
17581
5626056f
CW
175822011-05-18 Colin Watson <cjwatson@ubuntu.com>
17583
17584 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17585 to avoid accidents when debugging with 'sh -x'.
17586 * grub-core/gensyminfo.sh.in: Likewise.
17587 * tests/example_scripted_test.in: Likewise.
17588 * tests/grub_cmd_regexp.in: Likewise.
17589 * tests/grub_script_blanklines.in: Likewise.
17590 * tests/grub_script_dollar.in: Likewise.
17591 * tests/grub_script_expansion.in: Likewise.
17592 * tests/grub_script_final_semicolon.in: Likewise.
17593 * tests/partmap_test.in: Likewise.
17594 * tests/util/grub-shell-tester.in: Likewise.
17595 * tests/util/grub-shell.in: Likewise.
17596
e2965f4a
CW
175972011-05-18 Colin Watson <cjwatson@ubuntu.com>
17598
17599 Move gfxmenu color handling to video, so that gfxterm can use it
17600 too.
17601
17602 * grub-core/gfxmenu/named_colors.c: Move to ...
17603 * grub-core/video/colors.c: ... here. Rename
17604 grub_gui_get_named_color to grub_video_get_named_color.
17605 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17606 * grub-core/video/colors.c (my_isxdigit): ... here.
17607 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17608 Move to ...
17609 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17610 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17611 to ...
17612 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17613
17614 * include/grub/gui.h (grub_gui_color_t): Move to ...
17615 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17616 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17617 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17618 * include/grub/gui.h (grub_gui_map_color): Move to ...
17619 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17620 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17621 to ...
17622 * include/grub/video.h (grub_video_get_named_color): ... here.
17623 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17624 * include/grub/video.h (grub_video_parse_color): ... here.
17625
17626 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17627 video/colors.c.
17628 (gfxmenu): Remove gfxmenu/named_colors.c.
17629 (video) [videomodules]: Add video/colors.c.
17630
17631 Add a background_color command.
17632
17633 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17634 function.
17635 (GRUB_MOD_INIT): Register background_color command.
17636 (GRUB_MOD_FINI): Unregister background_color command.
17637 (redraw_screen_rect): Allow blend/replace of text layer to be
17638 controlled independently from whether there is a background bitmap.
17639 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17640 changing bitmap.
17641
1e4b4390
VS
176422011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17643
26618ff0
VS
17644 Patch BPB in ntldr and chainloader --bpb.
17645
1e4b4390
VS
17646 * grub-core/fs/fat.c: Include grub/fat.h.
17647 (grub_fat_bpb): Moved to ...
17648 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17649 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17650 grub/ntfs.h.
17651 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17652 Moved from here...
17653 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17654 here.
17655 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17656 New function.
17657 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17658 (GRUB_MOD_INIT): Show --bpb.
17659 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17660 * grub-core/normal/main.c (features): New variable.
17661 (GRUB_MOD_INIT): Set feature_* variables.
17662 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17663 proto.
17664 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17665
cf02731e
VS
176662011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17667
17668 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17669 for cleanness.
17670
e3a1073f
VS
176712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17672
17673 FreeDOS direct loading support.
17674
17675 * docs/grub.texi (Supported OS): Add FreeDOS.
17676 * grub-core/Makefile.core.def (freedos): New module.
17677 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17678 variable.
17679 (grub_relocator16_boot): Handle %ebx.
17680 * grub-core/lib/i386/relocator16.S: Likewise.
17681 * grub-core/loader/i386/pc/freedos.c: New file.
17682
05caa461
VS
176832011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17684
17685 Long Linux command line support.
17686
17687 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17688 (maximal_cmdline_size): New variable.
17689 (allocate_pages): Use maximal_cmdline_size.
17690 (grub_cmd_linux): Set and use maximal_cmdline_size.
17691 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17692 (allocate_pages): Use maximal_cmdline_size.
17693 (grub_cmd_linux): Set and use maximal_cmdline_size.
17694 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17695 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17696 and cmdline_size.
17697
a2491e23
VS
176982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
176992011-05-18 Colin Watson <cjwatson@ubuntu.com>
17700
17701 Improve devmapper support
17702
17703 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17704 (grub_util_is_lvm): New function.
17705 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17706 than lvm if not dmraid.
17707 Handle mapped md nodes.
17708 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17709 (grub_util_device_is_mapped): ... this. Make always available. All users
17710 updated.
17711 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17712 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17713 dmraid nodes.
17714 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17715
6ad6223e
VS
177162011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17717
17718 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17719
17720 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17721 * grub-core/modinfo.sh.in: New file.
17722 * grub-core/Makefile.core.def (modinfo.sh): New script.
17723 * util/grub-mknetdir.in: Use modinfo.sh.
17724 * util/grub-mkrescue.in: Likewise.
17725
543a8f6e
VS
177262011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17727
17728 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17729 Fix potential usage of Elf32 instead of Elf64 when compiling on
17730 32-bit architecture. Add endianness macros while on it.
17731
4959e111
VS
177322011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17733
17734 Use mipsel- rather than mips- in directories involving mipsel ports to
17735 allow both endiannesses coexist.
17736
17737 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17738 mips. All conditions adjusted.
17739 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17740 variable.
17741 * util/grub-install.in: Adjust conditions to take renaming into account.
17742 * util/grub-mkimage.c (image_targets): Likewise. New target
17743 mips-qemu_mips-elf for bigendian mips.
17744
35341bbc
VS
177452011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17746
17747 Avoid unnecessary copying on MIPS.
17748
17749 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17750 early if src == dest.
17751 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17752 compression is none.
17753
b772baed
VS
177542011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17755
17756 Reduce memory footprint on SGI by putting modules before the kernel
17757 as opposed to after.
17758
17759 * grub-core/Makefile.core.def (kernel): Increase linking address.
17760 (none_decompress): Likewise.
17761 (xz_decompress): Likewise.
17762 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17763 address.
17764 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17765 layout change.
17766 (grub_arch_modules_addr): New function.
17767 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17768 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17769 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17770 here.
17771 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17772 (grub_total_modules_size): ... this. Make global.
17773 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17774 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17775 New definition.
17776 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17777 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17778 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17779 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17780 * util/grub-mkimage.c (image_target_desc): New flag
17781 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17782 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17783 (generate_image): Handle images with modules before kernel.
17784
566a1917
VS
177852011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17786
17787 Prevent potential loss of memory map by overwrite on qemu-mips.
17788
17789 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17790 Save ram size in $s4.
17791 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17792 All users changed to grub_arch_memsize.
17793 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17794 Loongson.
17795 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17796 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17797 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17798 external variable.
17799
5d420cd9
CW
178002011-05-17 Colin Watson <cjwatson@ubuntu.com>
17801
17802 * .bzrignore: Remove grub-dumpbios.
17803
d064b830
CW
178042011-05-17 Colin Watson <cjwatson@ubuntu.com>
17805
17806 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17807 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17808 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17809 existing options which append).
17810 * docs/grub.texi (Simple configuration): Document new options.
17811 Reported by: Ian Jackson. Fixes Debian bug #617538.
17812
3ca2b466
CW
178132011-05-17 Colin Watson <cjwatson@ubuntu.com>
17814
17815 * util/grub-fstest.c (cmd_cat): New function.
17816 (fstest): Handle CMD_CAT.
17817 (options): Add cat.
17818 (argp_parser): Handle cat.
17819
24c9143a
CW
178202011-05-17 Colin Watson <cjwatson@ubuntu.com>
17821
17822 * Makefile.util.def (grub-bin2h): Don't install.
17823 * docs/man/grub-bin2h.h2m: Remove.
17824
90f7ac19
VS
178252011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17826
17827 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17828 place.
17829
8d4a5178
VS
178302011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17831
17832 Reenable qemu-mips port.
17833
17834 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17835 Fix small arc bug while on it.
17836 * gentpl.py: Handle qemu_mips.
17837 * grub-core/Makefile.am: Likewise.
17838 * grub-core/Makefile.core.def: Likewise.
17839 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17840 inappropriate includes.
17841 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17842 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17843 * grub-core/kern/main.c (grub_modules_get_end)
17844 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17845 * grub-core/kern/mips/qemu-mips: Moved to ..
17846 * grub-core/kern/mips/qemu_mips: ... this.
17847 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17848 (grub_machine_init): Call terminfo_init and serial_init.
17849 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17850 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17851 New variable.
17852 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17853 parameter passing.
17854 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17855 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17856 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17857 * include/grub/mips/qemu_mips/cmos.h: New file.
17858 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17859 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17860 Removed.
17861 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17862 Use correct mips-style address.
17863 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17864 (GRUB_TICKS_PER_SECOND): Removed.
17865 (grub_get_rtc): Likewise.
17866 (grub_cpu_idle): Likewise.
17867 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17868 New definition.
17869 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17870 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17871 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17872 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17873 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17874 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17875 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17876 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17877
400b9371
VS
178782011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17879
17880 SGI ARCS port.
17881
17882 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17883 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17884 platforms.
17885 * configure.ac: New target mips-arc.
17886 * gentpl.py: Likewise.
17887 * grub-core/Makefile.am: Likewise.
17888 * grub-core/Makefile.core.def: Likewise.
17889 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17890 (none_decompress): Likewise.
17891 (lsdev): New module.
17892 (datetime): Use lib/arc/datetime.c on ARC.
17893 (part_dvh): New module.
17894 * grub-core/commands/arc/lsdev.c: New file.
17895 * grub-core/disk/arc/arcdisk.c: Likewise.
17896 * grub-core/kern/mips/arc/init.c: Likewise.
17897 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17898 aligned addresses.
17899 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17900 support.
17901 (grub_arch_dl_relocate_symbols): Likewise.
17902 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17903 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17904 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17905 platforms.
17906 * grub-core/lib/arc/datetime.c: New file.
17907 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17908 pci.h on non-loongson.
17909 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17910 (grub_linux_boot): Set unused registers to 0.
17911 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17912 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17913 * grub-core/mmap/mips/uppermem.c: ...here.
17914 * grub-core/partmap/dvh.c: New file.
17915 * grub-core/term/arc/console.c: Likewise.
17916 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17917 (grub_terminfo_set_current): Add terminal "arc".
17918 (grub_terminfo_readkey): Support ARC sequences.
17919 * include/grub/arc/arc.h: New file.
17920 * include/grub/arc/console.h: Likewise.
17921 * include/grub/disk.h (grub_disk_dev_id): Add
17922 GRUB_DISK_DEVICE_ARCDISK_ID.
17923 * include/grub/mips/arc/kernel.h: New file.
17924 * include/grub/mips/arc/memory.h: Likewise.
17925 * include/grub/mips/arc/time.h: Likewise.
17926 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17927 * include/grub/mips/kernel.h (grub_halt): ... here.
17928 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17929 here...
17930 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17931 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17932 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17933 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17934 proto.
17935 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17936 from here ...
17937 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17938 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17939 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17940 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17941 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17942 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17943 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17944 (grub_phys_addr_t): Moved from here ...
17945 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17946 (grub_vtop): Moved from here ...
17947 * include/grub/mips/memory.h (grub_vtop): ... here.
17948 (grub_map_memory): Moved from here ...
17949 * include/grub/mips/memory.h (grub_map_memory): ... here.
17950 (grub_unmap_memory): Moved from here ...
17951 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17952 (grub_machine_mmap_iterate): Moved from here ...
17953 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17954 (grub_mmap_get_lower): Moved from here ...
17955 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17956 (grub_mmap_get_upper): Moved from here ...
17957 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17958 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17959 here ...
17960 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17961 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17962 here ...
17963 * include/grub/mips/time.h (grub_get_rtc): ... here.
17964 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17965 here ...
17966 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17967 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17968 here ...
17969 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17970 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17971 definition.
17972 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17973 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17974 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17975 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17976 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17977 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17978 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17979 (GRUB_MACHINE_LINK_ADDR): Likewise.
17980 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17981 to 6.
17982 * util/grub-install.in: Run dvhtool on ARC.
17983 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17984 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17985
c8ecc840
VS
179862011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17987
17988 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17989 blocks.
17990
153a4b55
VS
179912011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17994 after enabling port.
17995
ff44d107
VS
179962011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 Skip incorrect USB devices.
17999
18000 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
18001 configcnt == 0.
18002 * include/grub/usb.h (grub_usb_err_t): New enum value
18003 GRUB_USB_ERR_BADDEVICE.
18004
638dbe4f
VS
180052011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18006
18007 Fuloong video init support.
18008
18009 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
18010 well.
18011 (grub_vga_read_arx): New function.
18012 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
18013 definition.
18014 (framebuffer): New members io, mmioptr and mmiobase.
18015 (read_sis_cmd): New function.
18016 (write_sis_cmd): Likewise.
18017 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
18018 rather than 640x400.
18019 * grub-core/video/sis315_init.c: New file.
18020
c3fc520c
VS
180212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
18024 non-loongson.
18025 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
18026 to grub_dl_register_symbol.
18027
67b1e5c9
VS
180282011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18029
18030 Fix compilation errors.
18031
18032 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
18033 potentially unused.
18034 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
18035 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
18036 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
18037 to loongson machines.
18038
b756f75f
VS
180392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18040
18041 Several FS mtime support.
18042
18043 * grub-core/fs/affs.c (grub_affs_time): New struct.
18044 (grub_affs_file): New field mtime.
18045 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
18046 type. Removed 'size'. New field 'di'. All users updated.
18047 (grub_affs_mount): Simplify checsum checking.
18048 (grub_affs_iterate_dir): New helper grub_affs_create_node.
18049 (grub_affs_dir): Handle mtime.
18050 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
18051 (grub_cpio_dir): Likewise.
18052 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
18053 (grub_hfs_filerec): New field mtime.
18054 (grub_hfs_dir): Handle mtime.
18055 (grub_hfs_mtime): New function.
18056 (grub_hfs_fs): Register grub_hfs_mtime.
18057 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
18058 (grub_iso9660_dir): New field mtime.
18059 (grub_fshelp_node): New field dirent.
18060 (iso9660_to_unixtime): New function.
18061 (iso9660_to_unixtime2): Likewise.
18062 (grub_iso9660_read_symlink): Use node->dirent.
18063 (grub_iso9660_iterate_dir): Likewise.
18064 (grub_iso9660_dir): Set mtime.
18065 (grub_iso9660_mtime): New function.
18066 (grub_iso9660_fs): Register grub_iso9660_mtime.
18067 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
18068 (grub_jfs_inode): New fields atime, ctime and mtime.
18069 (grub_jfs_dir): Set mtime.
18070 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18071 * grub-core/fs/ntfs.c (list_file): Set mtime.
18072 (grub_ntfs_dir): Likewise.
18073 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
18074 (grub_reiserfs_iterate_dir): Set mtime.
18075 (grub_reiserfs_dir): Likewise.
18076 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
18077 (grub_fshelp_node): Likewise.
18078 (grub_sfs_iterate_dir): Set mtime.
18079 (grub_sfs_dir): Likewise.
18080 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
18081 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
18082 (grub_xfs_inode): New fields atime, mtime, ctime.
18083 (grub_xfs_dir): Set mtime.
18084 * include/grub/datetime.h (grub_datetime2unixtime): New function.
18085 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
18086 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
18087
18088 Support UDF symlinks.
18089
18090 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
18091 (grub_ufs_read_symlink): New function. All users updated.
18092
18093 Check amiga partmap checksum.
18094
18095 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
18096 (grub_amiga_partition): Likewise.
18097 (amiga_partition_map_checksum): New function.
18098 (amiga_partition_map_iterate): Check checksum.
18099
5470225d
VS
181002011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18101
18102 ROMFS support.
18103
18104 * Makefile.util.def (libgrubmods.a): Add romfs.
18105 * grub-core/Makefile.core.def (romfs): New module.
18106 * grub-core/fs/romfs.c: New file.
18107
d4680a35
VS
181082011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18109
18110 Squashfs v4 support.
18111
18112 * Makefile.util.def (libgrubmods.a): Add squash4.
18113 * grub-core/Makefile.core.def (squash4): New module.
18114 * grub-core/fs/squash4.c: New file.
18115 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
18116 disk_input_start, disk_input.
18117 (get_byte): Handle disk_input.
18118 (grub_zlib_disk_read): New function.
18119 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
18120
bcb18e74
FZ
181212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
181222011-05-15 Feiran Zheng <famcool@gmail.com>
18123
18124 * Makefile.util.def (libgrubmods.a): Add minix3.
18125 * grub-core/Makefile.core.def (minix3): New module.
18126 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
18127 (GRUB_MINIX_BSIZE): Removed.
18128 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
18129 (grub_minix_ino_t): New type.
18130 (grub_minix_le_to_cpu_ino): New macro.
18131 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
18132 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
18133 (grub_minix_data): New field block_size.
18134 (grub_minix_read_file): Handle 64-bit correctly.
18135 * grub-core/fs/minix3.c: New file.
18136
32297d5f
TG
181372011-05-15 Tristan Gingold <gingold@free.fr>
181382011-05-15 Robert Millan <rmh.grub@aybabtu.com>
181392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18140
18141 IA64 support.
18142
18143 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
18144 * configure.ac: Add ia64-efi target.
18145 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
18146 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
18147 * gentpl.py: Add ia64_efi platform.
18148 Rename x86_efi to efi and Add ia64-efi. All users updated.
18149 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
18150 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
18151 Remove kern/generic/rtc_get_time_ms.c on EFI.
18152 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
18153 kern/ia64/dl_helper.c on ia64-efi.
18154 Add kern/emu/cache.c on emu.
18155 (linux): Use on loader/ia64/efi/linux.c on ia64.
18156 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
18157 whether symbol is a function.
18158 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
18159 (grub_symbol): New field 'isfunc'.
18160 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
18161 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
18162 (grub_dl_load_segments): Place all sections into the same region.
18163 [__ia64__]: Create trampolines and got.
18164 [GRUB_MACHINE_EMU]: Call mprotect.
18165 (grub_dl_resolve_symbols): Resolve symbol type as well.
18166 [__ia64__]: Create function descriptors.
18167 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
18168 (grub_rtc_get_time_ms): ... this. Expressions simplified.
18169 (grub_get_rtc): New function.
18170 * grub-core/kern/emu/cache.c [__ia64__]: New file.
18171 * grub-core/kern/emu/cache.S: Renamed to ...
18172 * grub-core/kern/emu/cache_s.S: ... this.
18173 [__ia64__]: Add a nop.
18174 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
18175 [__ia64__]: New function.
18176 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
18177 * grub-core/kern/ia64/dl.c: New file.
18178 * grub-core/kern/ia64/dl_helper.c: Likewise.
18179 * grub-core/kern/ia64/efi/init.c: New file.
18180 * grub-core/kern/ia64/efi/startup.S: Likewise.
18181 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
18182 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
18183 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
18184 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
18185 * grub-core/loader/ia64/efi/linux.c: New file.
18186 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
18187 (GRUB_MOD_DEP): Likewise.
18188 (grub_dl) [__ia64__]: New fields got and tramp.
18189 (grub_dl): New field 'base'.
18190 (grub_dl_register_symbol): New argument isfunc. All users updated.
18191 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
18192 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
18193 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
18194 (grub_ia64_dl_get_tramp_got_size): New proto.
18195 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
18196 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
18197 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
18198 * include/grub/efi/api.h: Skip call wrappers on ia64.
18199 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
18200 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
18201 * include/grub/elf.h (ELF_ST_INFO): New definition.
18202 * include/grub/ia64/efi/kernel.h: New file.
18203 * include/grub/ia64/efi/memory.h: Likewise.
18204 * include/grub/ia64/efi/time.h: Likewise.
18205 * include/grub/ia64/kernel.h: Likewise.
18206 * include/grub/ia64/setjmp.h: Likewise (from glibc).
18207 * include/grub/ia64/time.h: New file.
18208 * include/grub/ia64/types.h: Likewise.
18209 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
18210 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
18211 New protos.
18212 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
18213 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
18214 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
18215 * util/grub-mkimage.c (image_target_desc): New field pe_target.
18216 All users updated.
18217 (EFI64_HEADER_SIZE): New definition. All users updated.
18218 (image_targets): Add ia64-efi.
18219 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
18220 jumpers_addr. All users updated.
18221 Create function descriptors.
18222 (count_funcs): New function.
18223 (unaligned_uint32): New struct.
18224 (MASK20): New definition.
18225 (MASK19): Likewise.
18226 (MASKF21): Likewise.
18227 (add_value_to_slot_20b): New function.
18228 (add_value_to_slot_21_real): Likewise.
18229 (add_value_to_slot_21): Likewise.
18230 (ia64_kernel_trampoline): New struct.
18231 (nopm): New variable.
18232 (jump): Likewise.
18233 (make_trampoline): New function.
18234 (relocate_addresses): Handle ia64.
18235 (make_reloc_section): Likewise.
18236 (load_image): Likewise.
18237
983b414d
VS
182382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18239
18240 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
18241 warning. Move variables before code while on it.
18242
5d063cdc
VS
182432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18244
18245 Fuloong support.
18246
18247 * configure.ac: Rename yeeloong platform to loongson. All users updated.
18248 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
18249 * grub-core/boot/mips/loongson/fuloong.S: New file.
18250 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
18251 Explicitly init CS5536.
18252 [FULOONG]: Don't use serial until CS5536 is available.
18253 Set GPIO based on dumps.
18254 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
18255 [FULOONG]: Handle GPIO and memory controller differences.
18256 Parse machine type in $a2.
18257 * grub-core/boot/mips/startup_raw.S: Determine and save the
18258 architecture.
18259 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
18260 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
18261 init on architecture type.
18262 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18263 SIS315E. Don't init at_keyboard on fuloong.
18264 (grub_halt): Support Fuloong.
18265 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
18266 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
18267 (loongson_machtypes): New array.
18268 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
18269 type.
18270 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
18271 config. All users updated. Handle CS5536 serial.
18272 * grub-core/term/serial.c (grub_serial_register): Conditionalise
18273 default port on machine type. Register serial as inactive.
18274 * grub-core/video/sis315pro.c: New file.
18275 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
18276 definition.
18277 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
18278 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
18279 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
18280 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
18281 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
18282 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
18283 to ...
18284 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
18285 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
18286 definition.
18287 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
18288 (grub_arch_machine): New extern var.
18289 * include/grub/mips/loongson/serial.h
18290 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
18291 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
18292 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
18293 (GRUB_MACHINE_SERIAL_PORT0): ... this.
18294 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
18295 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
18296 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
18297 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
18298 * include/grub/term.h (grub_term_register_input_inactive): New inline
18299 function.
18300 (grub_term_register_output_inactive): Likewise.
18301 * include/grub/video.h (grub_video_driver_id): New value
18302 GRUB_VIDEO_DRIVER_SIS315PRO.
18303 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
18304 New field "names". All users updated.
18305 New field value IMAGE_FULOONG_FLASH.
18306 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
18307
6ada82d1
JU
183082011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
18309
18310 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
18311 and add some clarification.
18312
90c571a4
VS
183132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18314
18315 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
18316 platforms if kernel is compressed.
18317
de04eecf
VS
183182011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18319
18320 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
18321 unused modules since currently referrence counter isn't reliable and
18322 there isn't much memory to recover there anyway.
18323
57688121
VS
183242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18325
18326 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
18327 rather than resetting it to allow modules to reference themselves
18328 in init.
18329
3d2c7e35
VS
183302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18331
18332 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
18333 counter on dependencies since grub_dl_unref already handles this.
18334
b25db218
VS
183352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18336
18337 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
18338 on error if not already done.
18339
25a45338
VS
183402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18341
18342 Fix few potential memory misusage.
18343
18344 * grub-core/font/font.c (load_font_index): Don't free char_index to
18345 avoid double free.
b25db218
VS
18346 (grub_font_load): Zero-fill font at alloc for safety.
18347 Close file on error.
18348 (free_font): Free bmp_idx.
25a45338 18349
0cac83df
VS
183502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18351
18352 * docs/grub.texi (Installation): Fix several outdated claims.
18353
2217a143
VS
183542011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 Handle module_license on windows.
18357
18358 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18359 sections shifted.
18360 (insert_string): Make argument const char * instead of char *.
18361 (write_section_data): Handle long section names.
18362 Handle module_license.
18363
d4de6b01
VS
183642011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18365
18366 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18367 handle class-free menuentries.
18368 (grub_normal_add_menu_entry): Add a check to be sure.
18369
4c2a3b43
VS
183702011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18371
18372 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18373 PgUp and PgDown.
18374
85c6210f
VS
183752011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18376
18377 * configure.ac: Bump version to 1.99.
18378
36084912
VS
183792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18380
18381 Give ATA device a bit more time on first try in order to allow disks
18382 to spin up.
18383
18384 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18385 if dev->present is 1. Reset dev->present on failure.
18386 (grub_ata_device_initialize): Set dev->present to 1.
18387 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18388 (grub_ata_device): New member 'present'.
18389
bda0e219
VS
183902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18391
18392 * util/grub-mkimage.c (generate_image): Update hash.
18393
19e1c41b
VS
183942011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18395
18396 Flush caches on DMA memory.
18397
18398 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18399 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18400 (grub_dma_free): Likewise.
18401 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18402
91bbcc0c
VS
184032011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18404
18405 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18406 to avoid asm treating ld and sd as macros.
18407
60ddfad3
VS
184082011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18409
18410 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18411 decompressor.
18412
a298aa04
VS
184132011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18414
18415 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18416 grub_decompress_core since later would fail if grub_decompress_core
18417 is too far.
18418
9b44feca
VS
184192011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18420
18421 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18422 R_MIPS_JALR since it's used by newer compiler.
18423
56dbe7b4
VS
184242011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18425
18426 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18427
52856af2
VS
184282011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18429
18430 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18431 file_path to 0 for surety.
18432 (grub_chainloader_boot): Set exit_data to NULL.
18433 Unset the loader once done.
18434 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18435
9c9bfc6d
VS
184362011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18437
18438 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18439 unknown key into a dprintf.
18440
dd94a3df
VS
184412011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18444 on first non-existant partition.
18445
fa68d99c
VS
184462011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18447
18448 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18449 openning fails.
18450 Reported by: Mark Korenberg.
18451
157effb7
VS
184522011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18453
18454 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18455 overflow.
18456
ea75312f
VS
184572011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18458
18459 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18460 before closing to ensure that it will be readable by grub-setup.
18461
072b5d31
VS
184622011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18463
18464 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18465 (devpath_1): Use MAKE_PIWG_PATH.
18466 (devpath_2): Likewise.
18467 (devpath_3): Likewise.
18468 (devpath_4): Likewise.
18469 (devpath_5): Likewise.
18470 (devpath_6): Likewise.
18471
18472 The appleldr.mod was checked that to be binary identical to previous
18473 version.
18474
7fae0051
Z
184752011-05-05 Zach <mikezackles>
18476
18477 Support 2010 Macbooks.
18478
18479 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
18480 (devs): Add devpath_6.
18481
7c515bee
VS
184822011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18483
18484 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18485 /dev/random. /dev/urandom is good enough for our purposes (salting).
18486
ed660bd8
VS
184872011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18488
18489 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18490
ee5614b7
VS
184912011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18492
18493 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18494 hexadecimal.
18495
664889a6
VS
184962011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18497
18498 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18499 and not 0 on failure.
18500
bd405bbc
CW
185012011-05-03 Colin Watson <cjwatson@ubuntu.com>
18502
18503 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
18504 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
18505 disk; otherwise grub_fs_probe will not fall back to the next
18506 filesystem.
18507 (grub_pxefs_open): Likewise, for consistency.
18508 Reported and tested by: Ezekiel Grave.
18509
4ebff753
CW
185102011-05-03 Colin Watson <cjwatson@ubuntu.com>
18511
18512 * tests/partmap_test.in: Don't hardcode path to parted.
18513 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
18514
8f942553
CW
185152011-05-01 Colin Watson <cjwatson@ubuntu.com>
18516
18517 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18518 of `ls' to find out which devices are available.
18519
3c62402d
VS
185202011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18521
18522 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18523 than source address for efi mmap buffer.
18524
723f63f2
VS
185252011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18526
18527 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18528 wrong action on non-detecting the magic.
18529
68797f92
VS
185302011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18531
18532 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18533 already supplied by another part of the module (fixes compilation on
18534 FreeBSD).
18535
6be8715d
VS
185362011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18537
18538 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18539 match the one used by mdadm.
18540
e91dba5b
CW
185412011-04-21 Colin Watson <cjwatson@ubuntu.com>
18542
18543 * po/README: Add instructions for creating po/LINGUAS.
18544
c85140b3
CW
185452011-04-21 Colin Watson <cjwatson@ubuntu.com>
18546
18547 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18548 #551428.
18549
18550 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18551 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18552 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18553 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18554 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18555 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18556 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18557 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18558 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18559 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18560 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
18561 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
18562 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18563 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18564 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18565 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18566 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18567 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18568 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18569 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18570 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18571 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18572
92051871
CW
185732011-04-21 Colin Watson <cjwatson@ubuntu.com>
18574
18575 * grub-core/kern/emu/getroot.c
18576 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18577 test that was incorrectly reintroduced in r3214.
18578 Reported by: Ian Dall. Fixes Savannah bug #33133.
18579
b13f79a4
CW
185802011-04-21 Colin Watson <cjwatson@ubuntu.com>
18581
18582 Fix stack pointer handling in 16-bit relocator.
18583
18584 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18585 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18586 Fixes Ubuntu bug #683904.
18587
9b710a88
VS
185882011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18589
18590 * configure.ac: Bump version to 1.99~rc2.
18591
d97e7b59
VS
185922011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18593
18594 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18595 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18596 * grub-core/lib/x86_64/setjmp.S: Likewise.
18597 * grub-core/lib/mips/setjmp.S: Likewise.
18598 * grub-core/lib/powerpc/setjmp.S: Likewise.
18599 * grub-core/lib/sparc64/setjmp.S: Likewise.
18600
0624551c
VS
186012011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18602
18603 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18604 * grub-core/lib/efi/datetime.c: Likewise.
18605
e8f28d4c
VS
186062011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18607
18608 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18609 New function.
18610 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18611 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18612 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18613
bba79a15
VS
186142011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18615
18616 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18617 bitmap.
18618 (grub_gfxterm_term_init): Likewise.
18619
abc474ef
VS
186202011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 Take into account the decorations the computing menu entry width.
18623
18624 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18625 (grub_gfxmenu_create_box): Register get_border_width.
18626 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18627 if available.
18628 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18629 get_border_width.
18630
e74b3947
EP
186312011-04-18 Endres Puschner <code@e7p.de>
18632
18633 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18634 Don't skip first class.
18635
34faa595
VS
186362011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18637
18638 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18639 chunks.
18640 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18641
93a777e3
VS
186422011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18643
18644 Complete 64-bit division support.
18645
18646 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18647 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18648 * include/grub/misc.h (grub_divmod64): Rename to ...
18649 (grub_divmod64_full): ... this.
18650 (grub_divmod64): New inline function.
18651
a5102d94
VS
186522011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18653
18654 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18655
f3fb7b36
VS
186562011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18657
18658 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18659 performing the necessary test.
18660
9ac718b0
VS
186612011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18662
18663 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18664 (kfreebsd.elf): Likewise.
18665 (pc-chainloader.elf): Likewise.
18666 (ntldr.elf): Likewise.
18667
50d2cc5a
VS
186682011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18669
18670 Identify RAID by its UUID rather than (guessed) name.
18671
18672 * grub-core/disk/raid.c (ascii2hex): New function.
18673 (grub_raid_open): Accept mduuid/%s specification.
18674 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18675 (get_mdadm_uuid): ... this.
18676 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18677
e03f7bea
VS
186782011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18679
18680 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18681 to negative size.
18682
e74c3112
CW
186832011-04-13 Colin Watson <cjwatson@ubuntu.com>
18684
18685 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18686 btrfs subvolume.
18687 * util/grub.d/20_linux_xen.in: Likewise.
18688
78fa584f
CW
186892011-04-13 Colin Watson <cjwatson@ubuntu.com>
18690
18691 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18692 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18693
18694 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18695 Build a list of relevant visible mounts using the mnt_id and
18696 parent_mnt_id fields, and then scan that list at the end.
18697
9d5f8162
CW
186982011-04-12 Colin Watson <cjwatson@ubuntu.com>
18699
18700 * docs/grub.texi (normal): New section.
18701 (normal_exit): New section.
18702 (Embedded configuration): Add reference to normal.
18703 (GRUB only offers a rescue shell): Likewise.
18704 * docs/grub-dev.texi (Error Handling): Fix typo.
18705
09a9d66f
CW
187062011-04-12 Colin Watson <cjwatson@ubuntu.com>
18707
18708 * NEWS: Drop obsolete entry about probe-only btrfs support.
18709
0c676933
CW
187102011-04-12 Colin Watson <cjwatson@ubuntu.com>
18711
18712 * util/import_gcry.py: Fix typo.
18713
ec9f5e0d
VS
187142011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18715
18716 * NEWS: Add btrfs support.
18717
fe6b2cba
VS
187182011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
187192011-04-11 Colin Watson <cjwatson@ubuntu.com>
18720
18721 BtrFS support. Written by me (Vladimir) with important bugfixes and
18722 even more important testing by Colin.
18723
18724 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18725 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18726 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18727 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18728 mem_input_off and mem_input. All users updated to accept in-RAM input.
18729 (gzio_seek): New function.
18730 (test_zlib_header): Likewise.
18731 (grub_gzio_read): Likewise.
18732 (grub_zlib_decompress): Likewise.
18733 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18734 Accept partial and non-virtual mounts.
18735 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18736 avoid receiving /dev/dm-X as device.
18737 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18738 Handle bind and partial mounts.
18739 * grub-core/lib/crc.c: New file.
18740 * include/grub/deflate.h: Likewise.
18741 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18742 proto.
18743 * include/grub/lib/crc.h: New file.
18744
e745cf0c
VS
187452011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18746
18747 Implement automatic module license checking according to new GNU
18748 guidelines.
18749
18750 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18751 (grub_dl_load_core): Use grub_dl_check_license.
18752 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18753 (GRUB_MOD_LICENSE): Likewise.
18754 (GRUB_MOD_DUAL_LICENSE): Likewise.
18755 All modules updated.
18756
2a9bc016
CW
187572011-04-11 Colin Watson <cjwatson@ubuntu.com>
18758
18759 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18760 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18761 loaders.
18762 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18763
8a3bc88e
VS
187642011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18765
18766 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18767
af869a4a
VS
187682011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18769
18770 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18771 failed.
18772
9ee8d94f
VS
187732011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18774
18775 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18776 parenthesis in the middle of the filename.
18777
b01abe3e
VS
187782011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18779
18780 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18781 rather than trying to put initrd way too high.
18782 Reported by: Ryan Lortie <desrt@desrt.ca>
18783
335bda1e
VS
187842011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18785
18786 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18787 improperly removed string.
18788
5ca1a64d
VS
187892011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18790
18791 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18792 is_disk.
18793 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18794 (open_device) Likewise.
18795 (grub_util_biosdisk_close): Likewise.
d8ce9995 18796 Reported by: Mark Korenberg.
5ca1a64d 18797
cbac5b1e
AK
187982011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18799
18800 * util/grub-mkconfig_lib.in: Add missing quotes.
18801
088cdb65
CW
188022011-04-10 Colin Watson <cjwatson@ubuntu.com>
18803
18804 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18805 is NULL.
18806
8b8a81fa
VS
188072011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18808
18809 Dynamically count the number of lines for the lower banner.
18810
18811 * grub-core/normal/menu_entry.c (per_term_screen): New member
18812 num_entries.
18813 (print_down): Use num_entries.
18814 (update_screen): Likewise.
18815 (grub_menu_entry_run): Set num_entries.
18816 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18817 num_entries.
18818 (grub_print_message_indented): Move real part to ...
18819 (grub_print_message_indented_real): ... here. Additional argument
18820 dry_run.
18821 (draw_border): Additional argument num_entries.
18822 (print_message): Additional argument dry_run.
18823 (print_entries): Receive menu viewer data.
18824 (grub_menu_init_page): New argment num_entries.
18825 (menu_text_set_chosen_entry): Use num_entries.
18826 (grub_menu_try_text): Likewise.
18827 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18828 All users updated.
18829 (grub_ucs4_count_lines): New function.
18830 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18831 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18832 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18833 (grub_term_border_height): Likewise.
18834 (grub_term_num_entries): Likewise.
18835
277f955b
VS
188362011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18837
18838 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18839 Remove now unused string.
18840
536ce85a
CW
188412011-04-09 Colin Watson <cjwatson@ubuntu.com>
18842
18843 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18844 build system.
18845 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18846
18847 (Comment): Fix typo.
18848 (Getting started): General copy-editing.
18849 (Typical Development Experience): Likewise.
18850 (Error Handling): Likewise.
18851 (Video API): Likewise.
18852
2cf09e32
CW
188532011-04-09 Colin Watson <cjwatson@ubuntu.com>
18854
18855 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18856 throughout.
18857
1ec652f4
VS
188582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18859
18860 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18861 directory.
18862
2c583728
CW
188632011-04-08 Colin Watson <cjwatson@ubuntu.com>
18864
18865 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18866 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18867 "development".
18868
d7a565e9
VS
188692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18870
18871 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18872 grub_strcpy since the lines aren't necessarily 0-terminated.
18873
7c2e4909
VS
188742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18875
18876 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18877 root on legacy.
18878
34c09785
VS
188792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18880
18881 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18882 (GRUB_MOD_INIT): DEVICE isn't optional.
18883
6a6f8058
VS
188842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18885
18886 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18887 word on new line if it's too long anyway. Fixes a hang.
18888
2e335e90
VS
188892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18890
18891 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18892 const.
18893 * util/grub-setup.c (main): Reuse md device name if available.
18894 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18895 not GRUB name as argument.
18896 Based on patch by: Florian Wagner <fwagner>.
18897
10a7a867
VS
188982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18899
18900 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18901 Place mbi on low memory for better compatibility.
18902
7a3d6cd9
VS
189032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18904
18905 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18906
18dd6b47
VS
189072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
189082011-04-08 Colin Watson <cjwatson@ubuntu.com>
18909
18910 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18911 * conf/Makefile.common: Likewise.
18dd6b47 18912
3c0e3f14
VS
189132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18914
f7148863
VS
18915 * grub-core/normal/menu.c: Add missing include.
18916
189172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18918
18919 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18920
6d1fa41f
MZ
189212011-04-08 Martin Zuther <mzuther@mzuther.de>
18922
18923 * util/grub-mkconfig.in: Ignore emacsen backup.
18924
478182a8
VS
189252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18926
18927 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18928 on open.
18929 (grub_util_biosdisk_close): Likewise.
18930
72a89a54
VS
189312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18934 const attribute and use grub_isdigit.
18935
b5ebecfa
A
189362011-04-06 Andrey <dev_null@ukr.net>
18937
18938 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18939 gcc warning.
18940
7755f66e
VS
189412011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18944 useful grub_dprintf's.
18945
461121ff
VS
189462011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18949
2a961775
VS
189502011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18953
adf594cc
VS
189542011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18955
18956 Output errors if theme loading failed.
18957
18958 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18959 grub_gfxterm_fullscreen on error paths to ...
18960 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18961 theme loading error.
18962
665900a3
VS
189632011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18964
18965 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18966 space for older compilers.
18967 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18968
a562b479
VS
189692011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18970
18971 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18972 and report them as not RAID members since they are useless for GRUB.
18973 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18974
850e9373
VS
189752011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18976
18977 Increase LVM implementation robustness in order not to crash on
18978 configurations like pvmove. Previously code assumed that in some places
18979 only lvs or only pvs are used whereas it seems that they are used
18980 interchangeably.
18981
18982 * grub-core/disk/lvm.c (read_node): New function.
18983 (read_lv): Use read_node.
18984 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18985 Match volumes only at the end when all lvs are found. Take both
18986 pvs (first) and lvs (second) into account.
18987 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18988 mirror_* into node_*. All users updated.
18989 (grub_lvm_stripe): Merge this ...
18990 (grub_lvm_mirror): ... and this ...
18991 (grub_lvm_node): ... into this. All users updated.
18992
6f332153
VS
189932011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18994
18995 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18996 of function to allow further scanning for LVMs.
18997
829ea451
VS
189982011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18999
19000 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
19001 on failed seek as it breaks open fd reusage.
19002
09ceb9a5
VS
190032011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19004
19005 * util/grub-install.in: Add a recommendation to use --recheck before
19006 reporting bugs.
19007
67e11623
VS
190082011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19009
19010 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
19011 are obtained.
19012
caee5efd
VS
190132011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19014
19015 GRUB developper manual based on existing Internals section and
19016 contributions by the various authors with active copyright assignment.
19017
19018 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
19019 * docs/font_char_metrics.png: New file.
19020 * docs/font_char_metrics.txt: Likewise.
19021 * docs/grub-dev.texi: Likewise.
19022 * docs/grub.texi (Internals): Move from here ...
19023 * docs/grub-dev.texi: ... here.
19024
2cccc747
CW
190252011-04-01 Colin Watson <cjwatson@ubuntu.com>
19026
19027 Store the loopback device as data on loopback grub_disk structures,
19028 rather than the file it points to. This fixes use of freed memory
19029 if an existing loopback device is replaced.
19030
19031 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
19032 disk->data, not dev->file.
19033 (grub_loopback_read): Adjust file assignment to match.
19034 Fixes Ubuntu bug #742967.
19035
186ae367
CW
190362011-04-01 Colin Watson <cjwatson@ubuntu.com>
19037
19038 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
19039 when replacing an existing device.
19040
cfed2ad0
VS
190412011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
19042
19043 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
19044 memory corruptions.
19045
19046 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
19047 unsigned.
19048 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
19049 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
19050 (grub_jfs_read_inode): Likewise.
19051 (grub_jfs_opendir): Likewise. Remove now useless casts.
19052 (grub_jfs_getent): Likewise.
19053 Make ino a grub_uint32_t rather than int.
19054 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
19055 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
19056 division and module with bit operations.
19057 (grub_jfs_find_file): Make ino a grub_uint32_t.
19058 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
19059
05d2ed32
CW
190602011-04-01 Colin Watson <cjwatson@ubuntu.com>
19061
19062 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
19063 warning. (This was in fact always initialised before use, but GCC
19064 wasn't smart enough to prove that.)
19065 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
19066
91dc6073
VS
190672011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19068
19069 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
19070 stack alignment.
19071 (efi_wrap_1): Likewise.
19072 (efi_wrap_2): Likewise.
19073 (efi_wrap_3): Likewise.
19074 (efi_wrap_4): Likewise.
19075 (efi_wrap_5): Likewise.
19076 (efi_wrap_6): Likewise.
19077 (efi_wrap_10): Likewise.
19078 Based on information by: Red Hat/Peter Jones.
19079
a8afc1d1
CW
190802011-03-31 Colin Watson <cjwatson@ubuntu.com>
19081
19082 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
19083 set-but-not-used variable.
19084
a826cc7d
CW
190852011-03-31 Colin Watson <cjwatson@ubuntu.com>
19086
19087 * docs/grub.texi (Simple configuration): Be more explicit about
19088 GRUB_DEFAULT, and add an example.
19089 Reported by: Leslie Rhorer.
19090
875b67ba
CW
190912011-03-30 Colin Watson <cjwatson@ubuntu.com>
19092
19093 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
19094 shell".
19095
fd7cd914
AS
190962011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19097
19098 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
19099 * util/grub.d/20_linux_xen.in: Likewise.
19100
090b1b6a
VS
191012011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19102
19103 * util/grub.d/10_linux.in: Try alternative config filenames where
19104 we parse config file.
19105 * util/grub.d/20_linux_xen.in: Likewise.
19106
baad885c
AS
191072011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19108
19109 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
19110 * util/grub.d/20_linux_xen.in: Likewise.
19111
241e41f5
VS
191122011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19113
19114 * grub-core/disk/raid.c (insert_array): Add few potentially
19115 useful grub_util_info.
19116 (grub_raid_register): Likewise.
19117
56445fb2
VS
191182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19119
19120 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
19121 Preserve partition number in mdadm code path.
19122
c871b1c6
VS
191232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19124
19125 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
19126 few potentially useful grub_util_info.
19127
5e631b4f
CW
191282011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19129
19130 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
19131
2d5d0333
CW
191322011-03-30 Colin Watson <cjwatson@ubuntu.com>
19133
19134 * docs/grub.texi (default): Use @example rather than nested
19135 itemized lists to avoid breaking gendocs.
19136
3d7ed04e
CW
191372011-03-30 Colin Watson <cjwatson@ubuntu.com>
19138
19139 * docs/grub.texi (Future): Update.
19140
abf04200 191412011-03-30 Colin Watson <cjwatson@ubuntu.com>
19142
19143 * docs/grub.texi (Environment): New chapter.
19144 (Changes from GRUB Legacy): Link to "Environment block" section for
19145 details of limitations.
19146 (Simple configuration): Likewise. Link to documentation of gfxmode
19147 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
19148 respectively.
19149 (Shell-like scripting): Note that normal variables are stored in the
19150 environment.
19151 (gettext): Link to documentation of lang and locale_dir.
19152 (list_env): New section.
19153 (load_env): New section.
19154 (save_env): New section.
19155
19156 (Reporting bugs): Fix typo.
19157
e1ad0edd
VS
191582011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19159
19160 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
19161 the example.
19162
5d803174
VS
191632011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19164
19165 * grub-core/term/at_keyboard.c (set_scancodes)
19166 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
19167
2a2da1d0
CW
191682011-03-30 Colin Watson <cjwatson@ubuntu.com>
19169
19170 * docs/grub.texi (Menu-specific commands): Remove some semantics
19171 that were true in GRUB Legacy but not in GRUB 2.
19172 (submenu): New section.
19173 (false): New section.
19174 (read): New section.
19175 (true): New section.
19176
a7527639
CW
191772011-03-30 Colin Watson <cjwatson@ubuntu.com>
19178
19179 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
19180
191812011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
19182
19183 * docs/grub.texi (Simple configuration): Explain some of the
19184 current limitations of grub-mkconfig.
8a748df2 19185 Reported by: Leslie Rhorer.
e30af029 19186
fc858482
VS
191872011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19188
19189 Old macs search for boot.efi rather than for bootia32.efi.
19190
19191 * util/grub-install.in: Copy bootia32.efi to boot.efi.
19192 * util/grub-mkrescue.in: Likewise.
19193 Suggested by: Peter Jones.
19194
e1eb511d
VS
191952011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19196
19197 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
19198
70e75364
VS
191992011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19200
19201 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
19202 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
19203 (grub_lvm_mirror): New struct.
19204 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
19205 (grub_lvm_iterate): Iterate only visible volumes.
19206 (grub_lvm_read): Factor out to ..
19207 (read_lv): ... this. Support mirrors.
19208 (grub_lvm_read): New wrapper function.
19209 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
19210 stripped or mirrored.
19211
fc18f6a3
VS
192122011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19213
19214 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
19215
5c650f4c
CW
192162011-03-29 Colin Watson <cjwatson@ubuntu.com>
19217
19218 * docs/grub.texi (loopback): New section.
19219
61d7156b
CW
192202011-03-29 Colin Watson <cjwatson@ubuntu.com>
19221
19222 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
19223 removed -p option.
19224
994b8264
CW
192252011-03-29 Colin Watson <cjwatson@ubuntu.com>
19226
19227 * docs/grub.texi (BIOS installation): New section, partly based on
19228 previous text in other sections.
19229 (Installing GRUB using grub-install): Replace BIOS discussion with a
19230 cross-reference.
19231 (Images): Likewise.
19232
9e4d19e0
VS
192332011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19234
19235 * grub-core/kern/emu/hostdisk.c (find_partition_start)
19236 [HAVE_DIOCGDINFO]: Add safety checks.
19237
a307c0b2
VS
192382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19239
19240 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
19241 per default compiled in kernel and prior to 8.0 isn't shipped at all.
19242
b4db4f39
CW
192432011-03-29 Colin Watson <cjwatson@ubuntu.com>
19244
19245 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
19246 real_sb->size is zero (e.g. RAID-0), get the disk size from
19247 real_sb->data_size instead.
19248 Fixes Ubuntu bug #743136.
19249
35e5f84c
VS
192502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19251
19252 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
19253 printf clauses for printing size and start.
19254
d2e29d81
VS
192552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19256
19257 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
19258 Reported and tested by: Timothy Nikkel.
19259
ed5587af
VS
192602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19261
19262 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
19263 (dirty_region_add_real): ... this.
19264 (dirty_region_add): Don't discard margin refresh when performing
19265 scheduled repaint.
19266
a1dc717c
VS
192672011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19268
19269 * grub-core/lib/relocator.c (allocate_regstart)
19270 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
19271 terminals are capabple of malloc-free operation.
19272 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19273 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19274
9f3677d3
VS
192752011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
19276
19277 * util/grub-setup.c: Copy the partition table zone if floppy support
19278 is disabled, even if no partition table is found.
19279
19280 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
19281 during POST if an invalid partition table is contained in the PBR
19282 of the active partition when GRUB is installed to a partition.
19283
24148725
CW
192842011-03-28 Colin Watson <cjwatson@debian.org>
19285
19286 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
19287 comment.
19288
f329eda7
CW
192892011-03-28 Colin Watson <cjwatson@debian.org>
19290
19291 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
19292 to be specific about what kind of RAID device we're scanning for.
19293
c482ad98
SG
192942011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
19295
19296 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
19297 return freed string.
19298
5ee04984
VS
192992011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19300
19301 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
19302
f4727da9
VS
193032011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 Use libgeom on FreeBSD to detect partitions.
19306
19307 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
19308 (grub-mkrelpath): Likewise.
19309 (grub-script-check): Likewise.
19310 (grub-editenv): Likewise.
19311 (grub-mkpasswd-pbkdf2): Likewise.
19312 (grub-fstest): Likewise.
19313 (grub-mkfont): Likewise.
19314 (grub-mkdevicemap): Likewise.
19315 (grub-probe): Likewise.
19316 (grub-setup): Likewise.
19317 (grub-ofpathname): Likewise.
19318 (grub-mklayout): Likewise.
19319 (example_unit_test): Likewise.
19320 (grub-menulst2cfg): Likewise.
19321 * grub-core/Makefile.core.def (grub-emu): Likewise.
19322 (grub-emu-lite): Likewise.
19323 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
19324 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
19325 define HAVE_DIOCGDINFO.
19326 (follow_geom_up) [FreeBSD]: New function.
19327 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
19328 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
19329 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
19330 unconditionally of HAVE_DIOCGDINFO.
19331
82fe6c75
VS
193322011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19333
19334 Fix FreeBSD compilation problem.
19335
19336 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
19337 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
19338
4c6c9431
CW
193392011-03-24 Colin Watson <cjwatson@ubuntu.com>
19340
19341 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
19342 Switch back to page zero before loading a kernel, since some kernel
19343 drivers expect that.
19344 Thanks to: Felix Kuehling.
19345
c7064d94
VS
193462011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19347
19348 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19349 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19350 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19351
3f71cded
VS
193522011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19353
19354 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19355 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19356
ef6de21a
VS
193572011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19358
19359 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19360 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19361 malloc is disabled.
19362
8bc66a2c
VS
193632011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19364
19365 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19366 for modules headers when counting the needed allocation size.
19367
5657722c
VS
193682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19369
19370 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19371 if no ASCII character is found to prevent crash.
19372
41a85f55
AK
193732011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19374
19375 * grub-core/video/bitmap.c (match_extension): Ignore case.
19376
59e1e5f1
VS
193772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19378
19379 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19380
bd4d051a
VS
193812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19382
19383 * grub-core/script/parser.y: Declare "time" as valid argument.
19384
bae7fcc1
PJ
193852011-03-23 Peter Jones <pjones@redhat.com>
19386
19387 Fix incorrect assert failure reporting.
19388
19389 * grub-core/tests/example_functional_test.c (example_test): Add
19390 a failure comment.
19391 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19392 (failure_start): ...this. Check that malloc succeeded.
19393 Don't call xvasprintf. Return failure struct.
19394 (failure_append_vtext): New function.
19395 (failure_append_text): Likewise.
19396 (add_failure): Likewise.
19397 (grub_test_assert_helper): Likewise.
19398 * include/grub/test.h (grub_test_assert_helper): New declaration.
19399 (grub_test_assert): Macro rewritten.
19400
537dc9be
VS
194012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19402
19403 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19404
fa3e01bf
VS
194052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19406
19407 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19408
b1d28404
VS
194092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19410
19411 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19412 into GRUB-style one.
19413
2e3e2e09
VS
194142011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19415
19416 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19417 error and not grub_errno.
19418 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19419
ed57e557
VS
194202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19421
19422 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19423 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19424
d1611f01
VS
194252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19426
19427 * grub-core/efiemu/i386/pc/cfgtables.c
19428 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19429 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19430 (grub_xnu_unlock): Likewise.
19431 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19432
7d4e39d6
VS
194332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19434
19435 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19436 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19437 * grub-core/commands/hashsum.c (aliases): Likewise.
19438 * grub-core/commands/setpci.c (pci_registers): Likewise.
19439 * grub-core/disk/usbms.c (attach_hook): Likewise.
19440 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19441 (zio_checksum_table): Likewise.
19442 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19443 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19444 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19445 * grub-core/lib/relocator.c (leftovers): Likewise.
19446 (extra_blocks): Likewise.
19447 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19448 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19449 (modules_last): Likewise.
19450 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19451 (devices): Likewise.
19452 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19453 (modules_last): Likewise.
19454 * grub-core/normal/auth.c (users): Likewise.
19455 * grub-core/normal/context.c (initial_menu): Likewise.
19456 (current_menu): Likewise.
19457 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19458 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19459 (grub_serial_terminfo_input_template): Likewise.
19460 (grub_serial_terminfo_output_template): Likewise.
19461 (grub_serial_terminfo_input): Likewise.
19462 (grub_serial_terminfo_output): Likewise.
19463 (registered): Likewise.
19464 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19465
40fc4659
VS
194662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19467
19468 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19469 grub_video_mode_type_t.
19470 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19471 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
19472 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
19473
2da48d28
VS
194742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19475
19476 * util/grub-install.in: Correct the x86-64 name as x86_64.
19477
9b43bf39
CW
194782011-03-11 Colin Watson <cjwatson@ubuntu.com>
19479
19480 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
19481 initial chunk read from the kernel always includes GRUB's multiboot
19482 header, which is now outside the first sector.
19483
be1a7ce0
CW
194842011-03-09 Colin Watson <cjwatson@ubuntu.com>
19485
19486 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19487 cached mmap_size, so that this works correctly when called multiple
19488 times.
19489 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19490
83a3c48d
CW
194912011-03-09 Colin Watson <cjwatson@ubuntu.com>
19492
19493 * docs/grub.texi (Simple configuration): Tidy up formatting.
19494
57d75699
SJ
194952011-03-07 Szymon Janc <szymon@janc.net.pl>
19496
19497 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19498 Set-but-not-used variable removed.
19499
028501a0
VS
195002011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19501
19502 Workaround yet another IEEE1275 bug.
19503
19504 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
19505 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
19506 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
19507 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
19508 is set.
19509 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19510 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
19511
d998657d
VS
195122011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19515 error.
19516
fee7cdd4
CW
195172011-02-11 Colin Watson <cjwatson@ubuntu.com>
19518
19519 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19520 empty, since in that case we can only generate either nothing or a
19521 syntactically invalid configuration file.
19522 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19523
97286eb5
CW
195242011-02-09 Colin Watson <cjwatson@ubuntu.com>
19525
19526 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19527 (Making a GRUB bootable CD-ROM): Likewise.
19528 (Invoking grub-mkrescue): New section.
19529 Reported by: Yann Dirson. Fixes Debian bug #612585.
19530
22b28eb3
CW
195312011-02-09 Colin Watson <cjwatson@ubuntu.com>
19532
19533 * util/grub-install.in: Remove unnecessary brackets from tr
19534 arguments.
19535 * util/grub.d/10_hurd.in: Likewise.
19536 * util/grub.d/10_kfreebsd.in: Likewise.
19537 * util/grub.d/10_linux.in: Likewise.
19538 * util/grub.d/20_linux_xen.in: Likewise.
19539 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19540
7e735e43
CW
195412011-02-08 Colin Watson <cjwatson@ubuntu.com>
19542
19543 * include/grub/file.h (not_easly_seekable): Rename to ...
19544 (not_easily_seekable): ... this. Update all users.
19545
800f1881
CW
195462011-01-28 Colin Watson <cjwatson@ubuntu.com>
19547
19548 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19549 grub-mkrescue.
19550
3281d3d6
VS
195512011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19552
19553 * util/grub-mkimage.c (generate_image): Refuse to create the images
19554 bigger than the actual flash (512K) in Loongson machines. 512K is also
19555 the biggest chip supported by them.
19556
3533413c
VS
195572011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19558
19559 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19560
73ae4f4f
VS
195612011-01-22 Anthony DeRobertis <anthony@derobert.net>
19562
19563 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19564 super_offset field.
19565
37f4f608
VS
195662011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19567
19568 * util/grub-install.in: Ignore install device on platforms
19569 where it doesn't make sense. Always use UUIDs except on pc, efi and
19570 sparc64.
19571 Reported by: Daniel Kahn Gillmor.
19572
03a4ccb5
VS
195732011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19576
ffc8f4d8
VS
195772011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19578
19579 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19580 (iterate_real): Don't rely on partition being non-NULL.
19581
80f23be7
VS
195822011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19583
19584 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19585 supported platforms. Put a compile time assert for this rather than
19586 generate a warning with 32-bit shift.
19587
5d4f4dd5
VS
195882011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19589
19590 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19591 logical expression more readable.
19592
e489601a
VS
195932011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19594
19595 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19596 even if some elements have a name.
19597 Reported by: Alexander GQ Gerasiov.
19598
96e0a6ea
CW
195992011-01-22 Colin Watson <cjwatson@ubuntu.com>
19600
19601 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19602 path unreadable if `grub-probe -t abstraction' fails, for example if
19603 memberlist fails on an LVM volume group.
19604 Reported by: Darius Jahandarie.
19605
81431e2b
CW
196062011-01-22 Colin Watson <cjwatson@ubuntu.com>
19607
19608 * docs/grub.texi (Simple configuration): Document
19609 GRUB_PRELOAD_MODULES.
19610
5e79d66a
CW
196112011-01-17 Colin Watson <cjwatson@ubuntu.com>
19612
19613 * .bzrignore: Remove nonexistent grub-pbkdf2.
19614
646ada34
VS
196152011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19616
19617 * configure.ac: Bump version to 1.99~rc1.
19618
04360337
VS
196192011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19620
19621 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19622 for safety.
19623
46c9db88
VS
196242011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19625
19626 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19627 module.
19628
196292011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
19630
19631 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19632
4fbf1852
VS
196332011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19634
19635 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19636 diskdevid.
19637
f1632d4d
VS
196382011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19639
19640 Fix compilation on cygwin.
19641
19642 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19643 -R .drectve on cygwin.
19644 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19645 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19646 (COND_CYGWIN): New condition.
19647 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19648 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19649 not @TARGET_OBJ2ELF@.
19650 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19651 type to determine whether aux is to be used.
19652
0b5e127b
VS
196532011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19654
19655 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19656 realpath'ed device string.
19657 Handle floppy (somewhat).
19658 Issue error in unknown case rather than garbage.
19659 Reported by: Axel Beckert.
19660
173b71e9
VS
196612011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19662
19663 * util/grub.d/00_header.in (load_video): Handle the case when no video
19664 drivers available.
19665 Thanks to: Axel Beckert.
19666
f8f479db
VS
196672011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19668
19669 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19670 variable. Fixes problem on big endian platforms.
19671
8fc0a245
VS
196722011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19673
19674 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19675 It doesn't work well there.
19676
b8494fbe
VS
196772011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19678
19679 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19680 warning.
19681 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19682 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19683 counter.
19684
b44a558c
VS
196852011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19686
19687 Use alias->path rather than buggy "canon".
19688
19689 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19690 (ofdisk_hash_add): New argument curcan. All users updated.
19691
51fa856c
CW
196922011-01-11 Colin Watson <cjwatson@ubuntu.com>
19693
19694 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19695
9da068a5
VS
196962011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19697
19698 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19699 loadmask before doing any calculations. Use correct type for offset.
19700 (grub_linux_load64): Likewise.
19701
86205c94
CW
197022011-01-11 Colin Watson <cjwatson@ubuntu.com>
19703
19704 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19705 with NULL.
19706 (console_grub_equivalences_unshift): Likewise.
19707 Reported by: Daniel Dehennin.
19708
4531a206
VS
197092011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19710
19711 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19712 (set_env_limn_ro): Likewise.
19713 (GRUB_MOD_INIT): Likewise.
19714 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19715 ARRAY_SIZE while on it.
19716 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19717 * grub-core/normal/context.c (grub_env_export): Move from here ...
19718 * grub-core/kern/env.c (grub_env_export): ... here.
19719 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19720 prefix.
19721 * grub-core/kern/main.c (grub_main): Export root and prefix.
19722 * include/grub/env.h (grub_env_export): Export.
19723 Reported by: Seth Goldberg.
19724
45146057
VS
197252011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19726
19727 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19728 Take into account space used by ELF sections and multiboot palette.
19729 Reported by: Grégoire Sutre.
19730
f093110b
VS
197312011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19732
19733 * BUGS: New file.
19734
3395fe52
VS
197352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19736
19737 Pass more appropriate video id to Linux.
19738
19739 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19740 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19741 fill have_vga.
19742 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19743 shift params->lfb_size.
19744 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19745
c2fa6cbb
VS
197462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19747
19748 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19749
b3ff6ff0
VS
197502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19751
19752 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19753 separator and pass bootpath/devid even if only one of them is available.
19754 Reported by: Seth Goldberg.
19755
ae67942e
VS
197562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19757
19758 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19759 implementations bug on them.
19760
19761 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19762 memory.
19763 (filter_memory_map): Likewise.
19764
d570097a
VS
197652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19766
19767 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19768 Reported by: nebuchadnezzar.
19769
a508e776
VS
197702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19771
19772 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19773 Reported by: nebuchadnezzar.
19774
dcb883b1
VS
197752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19776
19777 Submenu default support.
19778
19779 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19780 auto_boot. All users updated.
19781 Declared static.
19782 Handle chosen and default with submenus.
19783 (grub_menu_execute_with_fallback): Declared static.
19784 Don't notify failure if autobooted. Upper level does it.
19785 (menuentry_eq): New function.
19786 (get_entry_number): Use menuentry_eq.
19787 (show_menu): New parameter "autobooted". All users updated.
19788 (grub_show_menu): Likewise.
19789 * include/grub/normal.h (grub_show_menu): Likewise.
19790 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19791 (grub_menu_execute_with_fallback): Likewise.
19792
6fef99b4
VS
197932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19794
19795 * util/grub-mklayout.c (usage): Update help text.
19796
47a77af5
VS
197972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19798
19799 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19800
ce6bb3ee
VS
198012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19802
19803 * util/grub-menulst2cfg.c (main): Trim the line.
19804
db87be2a
VS
198052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19806
19807 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19808 (grub_machine_init): Don't check amount of low memory as reportedly
19809 INT 12h can be broken and if low memory is too low we wouldn't have
19810 gotten into grub_machine_init anyway.
19811
c49849cc
VS
198122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19813
19814 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19815 (grub_machine_mmap_iterate): Take low memory into account
19816
b1969b30
VS
198172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19818
19819 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19820 badfs.
19821 Reported by: TiCPU.
19822
cf0eaf13
VS
198232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19824
19825 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19826 members errors.
19827
1f060f39
GS
198282011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19829
19830 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19831 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19832
a21e5672
GS
198332011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19834
19835 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19836 openbsd and netbsd types being in part_bsd module.
19837
c88172fa
VS
198382011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19839
19840 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19841 (_FILE_OFFSET_BITS): Likewise.
19842 Reported by: Seth Goldberg.
19843
53798c4b
GS
198442011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19845
19846 * configure.ac: Check for libdevmapper header.
19847
e7121b69
VS
198482011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19849
19850 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19851 avoid aliasing.
19852 (fzap_lookup): Likewise.
19853 (dnode_get): Likewise.
19854 (make_mdn): Likewise.
19855 (zfs_mount): Likewise.
19856 (fzap_iterate): Use temporary pointer to avoid aliasing.
19857 (grub_zfs_read): Likewise.
19858 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19859 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19860 pointers to avoid aliasing.
19861 (grub_cmd_xnu_kernel64): Likewise.
19862 (grub_xnu_load_driver): Likewise.
19863
fc836af9
VS
198642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19865
19866 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19867 aliasing warning.
19868 (grub_cmd_terminal_output): Likewise.
19869 Reported and tested by: Grégoire Sutre.
19870
f9f37648
VS
198712011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19872
19873 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19874 warning.
19875 Reported and tested by: Grégoire Sutre.
19876
ec1dfd63
VS
198772011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19878
19879 * configure.ac: Do CPU substitution even if it's specified explicitly.
19880 Reported and tested by: Alain Greppin.
19881
9462775a
VS
198822011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19883
19884 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19885 Reported and tested by: Alain Greppin.
19886
0fd48e35
VS
198872011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19888
19889 Satisfy some bison versions need for inttypes.h.
19890
19891 * grub-core/lib/posix_wrap/inttypes.h: New file.
19892 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19893 (int16_t): Likewise.
19894 (int32_t): Likewise.
19895 (int64_t): Likewise.
19896 Reported and tested by: Alain Greppin.
19897
43f1bc83
VS
198982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19901 Silence spurious warning.
19902 Reported and tested by: Alain Greppin.
19903
64d1f041
SJ
199042011-01-07 Szymon Janc <szymon@janc.net.pl>
19905
19906 * docs/grub.texi (Support automatic decompression): Update with xz
19907 decompression support.
19908
25953e10
SJ
199092011-01-07 Szymon Janc <szymon@janc.net.pl>
19910
19911 Improve loaders' kernel command line handling.
19912
19913 * grub-core/lib/cmdline.c: New file.
19914 * include/grub/lib/cmdline.h: Likewise.
19915 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19916 grub_create_loader_cmdline to create kernel command line.
19917 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19918 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19919 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19920 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19921 (linux): Add lib/cmdline.c on common.
19922
e72d259f
VS
199232011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19924
19925 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19926 inopos might be unaligned.
19927
c0cf26da
VS
199282011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19931 endian transformations.
19932 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19933 Based on report by: Doug Nazar.
19934
0ca09e6c
DN
199352011-01-07 Doug Nazar <nazard.michi@gmail.com>
19936
19937 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19938 array->members[i].start_sector.
19939 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19940
014b6806
VS
199412011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19942
19943 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19944 Reported and tested by: Grégoire Sutre.
19945
415502c2
CW
199462011-01-06 Colin Watson <cjwatson@ubuntu.com>
19947
19948 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19949 avoid causing test failures by clearing the screen.
19950
71b6a2b7
CW
199512011-01-06 Colin Watson <cjwatson@ubuntu.com>
19952
19953 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19954 Fix prefix check to handle the case where dir ends with a slash
19955 (most significantly, "/" itself).
19956 Reported by: Michael Vogt.
19957
b3f8d28a
VS
199582011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19959
19960 Run terminfo_cls on initing terminfo output to clear the screen and
19961 move the cursor to (0,0).
19962
19963 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19964 Call grub_terminfo_output_init.
19965 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19966 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19967 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19968
4c3e4f37
VS
199692011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19970
19971 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19972 only when needed.
19973
488f71f1
VS
199742011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19975
19976 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19977 CTRL.
19978
18a38098
VS
199792011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19980
19981 The E820 type 5 is BADRAM, not EXEC_CODE.
19982
19983 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19984 (GRUB_E820_BADRAM): New define.
19985 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19986 into reserved. Propagate BADRAM.
19987 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19988 (GRUB_E820_BADRAM): New define.
19989
9eae2084
VS
199902011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19991
19992 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19993 Ignore the memory post-4G.
19994 (grub_relocator_firmware_alloc_region): Additional debug statement.
19995
ebc71d28
VS
199962011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19997
19998 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19999 names.
20000 Reported by: David Pravec.
20001
446fa400
VS
200022011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20003
20004 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
20005 BIOSes.
20006
a0159f37
VS
200072011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20008
20009 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
20010 Prevent overflow.
20011 (grub_reed_solomon_recover): Likewise.
20012
e5146ca1
VS
200132011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20014
20015 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
20016
200172011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
20018
20019 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
20020 variable.
20021
5b1bdf12
CW
200222011-01-04 Colin Watson <cjwatson@ubuntu.com>
20023
20024 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
20025 descriptions of extract_legacy_entries_source and
20026 extract_legacy_entries_configfile.
20027 Reported by: Seung Soo, Ha.
20028
99d925aa
CW
200292011-01-03 Colin Watson <cjwatson@ubuntu.com>
20030
20031 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
20032 on devices that do not implement function 0.
20033
4af0504b
DV
200342011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
20035
20036 * grub-core/fs/hfsplus.c: Make parent unsigned.
20037 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
20038 overflows.
20039 (grub_hfsplus_cmp_extkey): Likewise
20040
469ee10a
VS
200412011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20042
20043 * util/grub-install.in: Correctly use bootloader_id and not
20044 GRUB_DISTRIBUTOR on efibootmgr line.
20045
323a8e9c
VS
200462011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20047
20048 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
20049
1b394975
IC
200502010-12-31 Ian Campbell <ijc@hellion.org.uk>
20051
20052 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
20053 Xen and reorder menu item wording to make it clearer that this entry
20054 will launch Xen. Print separate messages when loading Xen and
20055 Linux.
20056
275bff5f
VS
200572010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
20060 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
20061 loop in case of incorrect amiga partmap.
20062
307806cb
VS
200632010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20064
20065 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
20066 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
20067 Reported by:EHeM.
20068
b12b923e
VS
200692010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20070
20071 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
20072 spurious warning.
20073 Reported by: crocket
20074
14b48a19
VS
200752010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20076
20077 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
20078 Preload EFIemu.
20079 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
20080
693db2df
VS
200812010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20082
20083 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
20084 is loaded
20085 (grub_cmd_xnu_kextdir): Likewise.
20086 (grub_cmd_xnu_splash): Likewise.
20087
c7638645
VS
200882010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20089
20090 Avoid using Reed-Solomon with 0 redundancy.
20091
20092 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
20093 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
20094 or 0 redundancy.
20095 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
20096 (grub_reed_solomon_recover): Likewise.
20097
25dd4780
VS
200982010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20099
20100 Don't use disk subsystem in freebsd_boot.
20101
20102 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
20103 (freebsd_biosdev): Likewise.
20104 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
20105 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
20106
0b2db943
VS
201072010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
20108
20109 Handling of files of unknown size is currently limited. They can't be
20110 used e.g. for initrd or modules. Moreover gzip handling of not
20111 easily seekable files is buggy. Disable unknown file size for now. May
20112 be inefficient but works.
20113
20114 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
20115 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
20116
5c408d0f
MP
201172010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
20118
20119 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
20120 floppy probe.
20121
190a011a
JD
201222010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
20123
20124 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
20125
022d01b8
SL
201262010-12-25 Shea Levy <shlevy>
20127
20128 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
20129
c4855fdc
VS
201302010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20131
20132 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
20133 Windows Server 2008.
20134 Reported by: Devin Giddings.
20135
0354b867
VS
201362010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20137
20138 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
20139 writing an error message because of async power management.
20140 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
20141 (grub_reboot): Likewise.
20142
ab66c69f
JU
201432010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
20144
20145 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
20146 keep unit tests from failing when they shouldn't.
20147
1426ef35
CW
201482010-12-21 Colin Watson <cjwatson@ubuntu.com>
20149
20150 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
20151 previous patch increased the size of the RS code by 20 bytes (at
20152 least with gcc-4.4), so increase this by 20 bytes to match.
20153 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20154
20641b6b
CW
201552010-12-21 Colin Watson <cjwatson@ubuntu.com>
20156
20157 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
20158 scratch area. Make sure to initialise chosen in standalone mode as
20159 well as non-standalone.
20160 Reported by: Robert Hooker and Andy Whitcroft.
20161 Tested by: Andy Whitcroft.
20162
d060ad60
CW
201632010-12-21 Colin Watson <cjwatson@ubuntu.com>
20164
20165 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
20166 constructing a new unescaped string and passing it to grub_xputs in
20167 one go, rather than passing characters to grub_printf one at a time.
20168
b889cfad
CW
201692010-12-21 Colin Watson <cjwatson@ubuntu.com>
20170
20171 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
20172 initialising utf16.
20173
4e01b6c8
CW
201742010-12-21 Colin Watson <cjwatson@ubuntu.com>
20175
20176 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
20177 comment. Add an extra layer of quotation, requiring the output of
20178 this function to be used in a printf format string.
20179 (gettext_printf): New function.
20180 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
20181 Extract translatable strings from here-documents and use a temporary
20182 variable instead, so that xgettext can find them.
20183 * util/grub.d/10_kfreebsd.in: Likewise.
20184 * util/grub.d/10_linux.in: Likewise.
20185 * util/grub.d/20_linux_xen.in: Likewise.
20186
20187 * po/grub.d.sed: New file.
20188 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
20189 arguments. Set c-format flags on all strings extracted from
20190 util/grub.d/ (xgettext refuses to include these itself for strings
20191 it extracted from a shell file, but these really are c-format).
20192
5318fe98
VS
201932010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
20196 Avoid next pointing to nowhere.
20197
6c85b743
VS
201982010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20199
20200 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
20201 rather than assuming than rootblock is exactly in the middle.
20202 (grub_affs_label): Likewise.
20203
a2a08a35
VS
202042010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20205
20206 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
20207 reserved_first_sector to 0.
20208 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
20209 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
20210 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
20211
7059d1ec
VS
202122010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20213
20214 Fix handling of UTF-16 UDF labels.
20215
20216 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
20217 (read_string): .. here.
20218 (grub_udf_label): Use read_string.
20219
30aff4cb
BC
202202010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
20221
20222 * grub-core/normal/menu_entry.c (run): Execute commands from menu
20223 editor under argument scope.
20224 Reported by: Jordan Uggla
20225
5cf86f4b
VS
202262010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20227
20228 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
20229
32570200
CW
202302010-12-18 Colin Watson <cjwatson@ubuntu.com>
20231
20232 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
20233 line, and other keys scroll an entire page (previous handling was
20234 for \r and \n to scroll a page and other keys to scroll two lines).
20235
e1dffcf2
VS
202362010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20237
20238 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20239 Set ptrdest to correct get_physical_target_address rather than
20240 incorrect get_virtual_current_address.
20241
b04298cf 202422010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
20243
20244 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
20245 correct cat to grub_uint8_t * rather than grub_uint32_t *.
20246
5367ecd3
CW
202472010-12-10 Colin Watson <cjwatson@ubuntu.com>
20248
20249 * .bzrignore: Ignore grub-core/rs_decoder.S.
20250
1fb430f8
CW
202512010-12-10 Colin Watson <cjwatson@ubuntu.com>
20252
20253 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
20254 .mo/.mo.gz opening sequence to ...
20255 (grub_mofile_open_lang): ... here.
20256 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
20257 * util/grub.d/00_header.in (grub_lang): Include country part of
20258 locale.
20259 Reported by: Mario Limonciello.
20260
a94a6671
RM
202612010-12-09 Robert Millan <rmh@gnu.org>
20262
20263 * NEWS: Document addition of ZFS support.
20264
24b7938b
CW
202652010-12-04 Colin Watson <cjwatson@ubuntu.com>
20266
20267 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
20268 rather than `/ 2', as the latter requires -Wa,--divide which would
20269 require bumping our minimum binutils version.
20270
bddc3ef6
BC
202712010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
20272
20273 * util/grub-script-check.c (main): Print script line number on
20274 error.
20275
bf78d5b2
RM
202762010-12-01 Robert Millan <rmh@gnu.org>
20277
20278 * grub-core/fs/zfs/zfs.c: New file.
20279 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
20280 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
20281 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
20282 * grub-core/fs/zfs/zfsinfo.c: Likewise.
20283
20284 * include/grub/zfs/dmu.h: Likewise.
20285 * include/grub/zfs/dmu_objset.h: Likewise.
20286 * include/grub/zfs/dnode.h: Likewise.
20287 * include/grub/zfs/dsl_dataset.h: Likewise.
20288 * include/grub/zfs/dsl_dir.h: Likewise.
20289 * include/grub/zfs/sa_impl.h: Likewise.
20290 * include/grub/zfs/spa.h: Likewise.
20291 * include/grub/zfs/uberblock_impl.h: Likewise.
20292 * include/grub/zfs/vdev_impl.h: Likewise.
20293 * include/grub/zfs/zap_impl.h: Likewise.
20294 * include/grub/zfs/zap_leaf.h: Likewise.
20295 * include/grub/zfs/zfs.h: Likewise.
20296 * include/grub/zfs/zfs_acl.h: Likewise.
20297 * include/grub/zfs/zfs_znode.h: Likewise.
20298 * include/grub/zfs/zil.h: Likewise.
20299 * include/grub/zfs/zio.h: Likewise.
20300 * include/grub/zfs/zio_checksum.h: Likewise.
20301
20302 * Makefile.util.def: Build ZFS into libgrubmods.
20303 * grub-core/Makefile.core.def: Build zfs.mod.
20304
3f0f3831
SJ
203052010-11-30 Szymon Janc <szymon@janc.net.pl>
20306
20307 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
20308 variable.
20309 * grub-core/commands/wildcard.c (match_files): Likewise.
20310
3a4253b2
RM
203112010-11-30 Robert Millan <rmh@gnu.org>
20312
20313 * grub-core/loader/i386/bsd.c
20314 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
20315 whether kernel is loaded using grub_loader_is_loaded(), rather
20316 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
20317 certain error conditions.
20318
8c317b27
RM
203192010-11-30 Robert Millan <rmh@gnu.org>
20320
c5c9cd3e
RM
20321 * grub-core/commands/echo.c: Include `<grub/term.h>'.
20322 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 20323
49d3ab46
VS
203242010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20325
20326 Avoid using tricks for initialising endian variables.
20327
20328 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
20329 Make const.
20330 (GRUB_MOD_INIT): Don't byte-swap.
20331 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20332 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
20333 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
20334 (grub_swap_bytes32_compile_time): Likewise.
20335 (grub_cpu_to_le32_compile_time): Likewise.
20336 (grub_cpu_to_le16_compile_time): Likewise.
20337
f420a804
VS
203382010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20339
20340 * util/grub-setup.c (setup): Stop recommending --force. People who
20341 understand the dangers of blocklists are able to find this option
20342 anyway and the ones who don't shouldn't use it anyway.
20343
4e7db17b
RM
203442010-11-26 Robert Millan <rmh@gnu.org>
20345
20346 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20347 Update all users.
20348
9be57a0d
CW
203492010-11-26 Colin Watson <cjwatson@ubuntu.com>
20350
20351 Fix LVM-on-RAID probing.
20352
20353 * util/grub-probe.c (probe): Remember which disk was detected as
20354 RAID (perhaps an LVM physical volume). Use that disk's raidname
20355 rather than that of the top-level disk.
20356
2c7859b3 203572010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 20358
d7647bb6
BC
20359 Fix cmdline argument quotes for setparams command of menuentry
20360 definitions.
7e623b0d
BC
20361
20362 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20363 quotes for arguments.
f866fe80 20364 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 20365 grub_strchrsub function instead.
f866fe80 20366
7955bea0 20367 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 20368
74f72a64
CW
203692010-11-24 Colin Watson <cjwatson@ubuntu.com>
20370
20371 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20372 effort by skipping "." and ".." entries up-front.
20373 Suggested by: Michael Lazarev.
20374
5a407278
CW
203752010-11-24 Colin Watson <cjwatson@ubuntu.com>
20376
20377 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20378 ldflags to ldadd, to fix link line ordering.
20379 (none_decompress): Likewise.
20380
3030d8ec
CW
203812010-11-24 Colin Watson <cjwatson@ubuntu.com>
20382
20383 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20384 platforms.
20385 (grub-emu-lite): Remove kern/emu/cache.S.
20386
b7fbac12
CW
203872010-11-23 Colin Watson <cjwatson@ubuntu.com>
20388
20389 * util/deviceiter.c (compare_devices): If the by-id link for a
20390 device couldn't be resolved, fall back to sorting by the by-id link
20391 rather than segfaulting.
20392 Reported and tested by: Daniel Mierswa.
20393
5225f328
CW
203942010-11-23 Colin Watson <cjwatson@ubuntu.com>
20395
20396 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20397 ldflags, to fix link line ordering.
20398
038b3ce8
CW
203992010-11-23 Colin Watson <cjwatson@ubuntu.com>
20400
20401 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20402 linkers are picky about this.
20403
bf16e98e
CW
204042010-11-23 Colin Watson <cjwatson@ubuntu.com>
20405
20406 * grub-core/Makefile.am (command.lst): Adjust sed expression
20407 ordering so that extended and priority commands aren't treated as
20408 ordinary commands.
20409
7242bab6
CW
204102010-11-23 Colin Watson <cjwatson@ubuntu.com>
20411
20412 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20413 Remove byte-swapping function calls, which are not valid in
20414 structure initialisers.
20415 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20416 non-const.
20417 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20418 grub_gpt_partition_type_bios_boot.
20419
14e8b279
CW
204202010-11-22 Colin Watson <cjwatson@ubuntu.com>
20421
20422 Fix test program build on GNU/kFreeBSD.
20423
20424 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20425 $(LIBNVPAIR)' library dependencies.
20426
e6f63338 204272010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
20428
20429 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20430
cf8ffc38
CW
204312010-11-22 Colin Watson <cjwatson@ubuntu.com>
20432
20433 * util/grub-install.in: Remove excessive quoting that broke
20434 installations to RAID devices.
20435
7f8b0fd7
VS
204362010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20437
20438 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20439 bootloader version instead of 0.
20440
dfd240b1
VS
204412010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20442
20443 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20444 warning.
20445
7b61e609
VS
204462010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20447
20448 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20449 retrieve the metadat sector if size isn't known.
20450 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20451
9dfe92d0
RM
204522010-11-18 Robert Millan <rmh@gnu.org>
20453
20454 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20455 with grub_memcmp().
20456
41cc919e
VS
204572010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20458
20459 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20460 arrow.
20461 Reported by: Jordan Uggla.
20462
1afcc914
VS
204632010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20464
20465 Make better UTF compliant.
20466
20467 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20468 sequences as incorrect.
20469 (grub_is_valid_utf8): Likewise.
20470 (grub_utf8_to_ucs4): Likewise.
20471 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
20472 (grub_ucs4_to_utf8_alloc): Likewise.
20473 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
20474
f1808884
VS
204752010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20476
20477 Make legacy_source behave like source.
20478
20479 * grub-core/commands/legacycfg.c (legacy_file): Don't call
20480 grub_show_menu.
20481 (grub_cmd_legacy_source): Call grub_show_menu if needed.
20482
24ec575b
CW
204832010-11-16 Colin Watson <cjwatson@debian.org>
20484
20485 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20486 (-Wunused implies -Wunused-parameter, but not vice versa).
20487
72b7c7aa
CW
204882010-11-16 Colin Watson <cjwatson@ubuntu.com>
20489
20490 * configure.ac: Make error messages less confusing by testing for
20491 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20492 accepted, but produces a diagnostic if something else is wrong).
20493
e98937aa
VS
204942010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20495
20496 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20497 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20498 (now unused).
20499 (grub_keyboard_controller_init)
20500 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
20501 read the initial state since controller isn't inited yet.
20502
f6bbabc3
VS
205032010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
20506 allocate_regbeg may need to create new chunk header.
20507
22e7dbb2
VS
205082010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20509
20510 Fix quoting in legacy parser.
20511
20512 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20513 single quotes.
20514 (grub_legacy_parse): Likewise.
20515 Reported by: Jordan Uggla.
20516 Tested by: Jordan Uggla.
20517
03f80960
VS
205182010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20519
20520 Don't add -lgcc on i386 and x86_64.
20521
20522 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20523 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20524 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20525
779dc15b
VS
205262010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20527
20528 * configure.ac: Add -Wno-trampolines when supported.
20529
d20a3b37
MV
205302010-11-14 Modestas Vainius <modax@debian.org>
20531
20532 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20533 fakeraid.
20534
e5360933
GC
205352010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20536
20537 Add generic logical block size support for UDF.
20538
20539 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20540 (GRUB_UDF_BLKSZ): Removed.
20541 (struct grub_udf_data): New field "lbshift" to hold the logical block
20542 size of the file system in log2 format. All users updated.
20543 (sblocklist): Change type to unsigned.
20544 (grub_udf_mount): Change type of "sblklist" to unsigned.
20545 Move AVDP search before VRS recognition, because the latter requires
20546 knowledge of the logical block size, which is detected during the
20547 former.
20548 Detect and validate logical block size during AVDP search, adding
20549 support for block sizes 512, 1024 and 4096.
20550 Make VRS recognition independent of block size.
20551
cb0229c5
GC
205522010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20553
20554 Properly handle deleted files on UDF.
20555
20556 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20557 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20558 set.
20559
406858a8
GC
205602010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20561
20562 Support reading files larger than 2 GiB.
20563
20564 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20565 "offset" to grub_off_t.
20566 (grub_udf_read_file): Likewise for parameter "pos".
20567
130da6a7
VS
205682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20569
20570 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20571 unavailable.
20572 (Simple configuration): Refer to Changes from GRUB Legacy about
20573 save_env availability.
20574
65e93f6b
VS
205752010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20576
20577 * util/grub-install.in: Ignore empty partition table detection
20578 instead of trying to include part_ module.
20579
1fd08bf1
VS
205802010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20581
20582 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20583 LVM on RAID support.
20584
de1a024f
VS
205852010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20586
20587 Properly define WORDS_BIGENDIAN in wrapped environments.
20588
20589 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20590 definition.
20591 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20592
20593 Reported by: Manoel Rebelo Abranches.
20594 Tested by: Manoel Rebelo Abranches.
20595
bc5dd0b9
VS
205962010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20597
20598 * util/grub-mkconfig.in: Fix quoting.
20599
58c184be
VS
206002010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20601
20602 Support big ext2 files.
20603
20604 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20605 (grub_ext2_read_block): Support triple indirect blocks.
20606 (grub_ext2_read_file): Use 64-bit types and read size_high.
20607 (grub_ext2_open): Read size_high.
20608 Reported by: Ximin Luo.
20609 Tested by: Manoel Rebelo Abranches.
20610
5f0c02b3
VS
206112010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20612
20613 * util/grub-install.in: Handle filenames containing spaces.
20614 Reported by: Jordan Uggla.
20615 Tested by: Jordan Uggla.
20616
4417aae6
VS
206172010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20618
20619 * util/grub-mkconfig.in (grub_script_check): New variable.
20620 Use grub_script_check instead of grub-script-check.
20621 Reported by: Barry Jackson.
20622
7625a68e
VS
206232010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20624
20625 * docs/grub.texi (menu): Correct the order.
20626 Reported by: D. Hugh Redelmeier.
20627
10001ac5
VS
206282010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20629
20630 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20631 jump.
20632
9c4cf53b
MRA
206332010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20634
10001ac5
VS
20635 * include/grub/elfload.h (grub_elf32_size): New parameter.
20636 All users updated.
9c4cf53b
MRA
20637 Return maximum segments alignment.
20638 (grub_elf64_size): Likewise.
20639 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20640 Return maximum segments alignment.
20641 (grub_elf64_size): Likewise.
20642 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
20643 (grub_linux_claimmap_iterate): New function. Uses the
20644 "available" property in the "memory" node for memory allocation
20645 for kernel in the PowerPC loader.
9c4cf53b
MRA
20646 (grub_linux_load32): Correctly find linux entry point offset.
20647 (grub_linux_load64): Likewise.
20648
d2bf06bf
RM
206492010-11-07 Robert Millan <rmh@gnu.org>
20650
20651 On mips-yeeloong, build with -march=loongson2f when this flag is
20652 available (GCC >= 4.4).
20653 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20654 `-march=mips3'.
20655 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20656 or otherwise add -march=mips3.
20657
898c99a2
BC
206582010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20659
87220a68
BC
20660 Suppress shell expansion on echo '*' and echo "*" like cases.
20661 Reported by: Jordan Uggla.
898c99a2
BC
20662
20663 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20664 string arguments before shell expansion.
20665 * tests/grub_cmd_echo.in: New testcases.
20666
4f9b406a
RM
206672010-11-07 Robert Millan <rmh@gnu.org>
20668
20669 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20670 transition.
20671
80c6d25e
VS
206722010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20673
20674 * grub-core/kern/emu/hostdisk.c
20675 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20676
4a1a0153
VS
206772010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20678
20679 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20680 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20681 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20682
34706ddc
VS
206832010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20684
20685 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20686
6972dea9
VS
206872010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20688
20689 * util/grub-install.in: Replace useless recomendation to pass
20690 --modules with a recomendation to report a bug.
20691
9c693bd6
VS
206922010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20693
20694 Properly register serial terminfo.
20695 Reported by: Jordan Uggla
20696
20697 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20698 const.
20699 (grub_serial_terminfo_output_template): Likewise.
20700 (grub_cmd_serial): Register "serial" with terminfo.
20701 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20702 grub_serial_terminfo_output.
20703
6c9e4c0c
RM
207042010-11-05 Robert Millan <rmh@gnu.org>
20705
20706 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20707 needed).
20708
b9b3839f
RM
207092010-11-05 Robert Millan <rmh@gnu.org>
20710
20711 On Yeeloong, pass machine type information to Linux.
20712
20713 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20714 (LOONGSON_MACHTYPE): New macro, set to
20715 "machtype=lemote-yeeloong-2f-8.9inches".
20716 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20717 additional argument to Linux.
20718
1a3aaff4
RM
207192010-11-04 Robert Millan <rmh@gnu.org>
20720
20721 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20722 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20723 (its SATA disks are detected as slaveless IDE master drives on
20724 kFreeBSD).
20725 Reported by Carsten Aulbert.
20726
a75f4f62
CW
207272010-11-02 Colin Watson <cjwatson@ubuntu.com>
20728
20729 * util/bin2h.c (main): Fix spelling error in generated output.
20730
33b4b0c6
GS
207312010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20732
20733 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20734
2b36fbf4
VS
207352010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20736
20737 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20738 vga= option is supplied.
20739
74aaf558
VS
207402010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20741
20742 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20743 * util/grub.d/10_kfreebsd.in: Likewise.
20744 * util/grub.d/10_linux.in: Likewise.
20745 * util/grub.d/20_linux_xen.in: Likewise.
20746
6428dec3
VS
207472010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20748
20749 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20750 argument as an argument to no-argument option.
20751
f8729d98
VS
207522010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20753
20754 * util/grub.d/10_linux.in: Add missing load_video with explicit
20755 GRUB_GFXPAYLOAD_LINUX.
20756
89d68fa6
VS
207572010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20758
20759 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20760
3a1197cd
VS
207612010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20762
20763 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20764 elements with invlid index.
20765 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20766 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20767 members.
20768 * include/grub/raid.h (grub_raid_member): New struct.
20769 (grub_raid_array): Transform devices and start_sector into usage of
20770 grub_raid_member. All users updated
20771 (allocated_devs): New member.
20772
71574288
VS
207732010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20774
20775 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20776 is modified
20777
8d40ec65
BC
207782010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20779
20780 NetBSD build fix for getline function conflict from gnulib.
20781
20782 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20783 components that depend on gnulib headers.
20784 (libgrubmods.a): Renamed from earlier libgrub.a.
20785 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20786
95b9257e
VS
207872010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20788
20789 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20790 install rather than creating a broken install.
20791
26c53dc6
VS
207922010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20793
20794 * util/grub-setup.c (argp): Remove misleading example of installing to
20795 a partition.
20796
4171b3c5
VS
207972010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20798
20799 * util/grub-setup.c (setup): Clarify the error message.
20800
18568d18
VS
208012010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20802
20803 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20804
4f6a2e21
VS
208052010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20806
20807 * grub-core/kern/emu/misc.c
20808 (grub_make_system_path_relative_to_its_root)
20809 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20810
208112010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20812
20813 * grub-core/kern/emu/misc.c
20814 (grub_make_system_path_relative_to_its_root): Revert r2882.
20815
e138c458
VS
208162010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20817
20818 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20819 useless field head. All users updated.
20820 (free_subchunk): Correct handling of IN_REGION subchunk.
20821
0cbcdf0e
CW
208222010-10-22 Colin Watson <cjwatson@ubuntu.com>
20823
20824 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20825 (Supported kernels): Likewise.
20826
b65ea155
GS
208272010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20828
20829 Make mktemp invocations portable.
20830
20831 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20832 exit if mktemp fails.
20833 * tests/grub_script_blockarg.in: Likewise.
20834 * tests/partmap_test.in: Likewise.
20835 * tests/util/grub-shell-tester.in: Likewise.
20836 * tests/util/grub-shell.in: Likewise.
20837 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20838 * Makefile.am: Likewise, and chain shell commands with `&&'
20839 instead of ';'.
20840 * util/grub-mkrescue.in: Use the same explicit template as above, and
20841 exit if mktemp fails.
20842
05f43cdd
BC
208432010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20844
20845 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20846 Linux kernel, reported by Dennis Schridde.
20847
800e6a9b
SJ
208482010-10-17 Szymon Janc <szymon@janc.net.pl>
20849
20850 * grub-core/normal/auth.c (grub_auth_check_authentication):
20851 Set-but-not-used variable removed.
20852
d82df574
VS
208532010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20854
20855 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20856 32-bit linux protocol.
20857
7bced458
VS
208582010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20859
20860 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20861 cursor shape for sanity.
20862
5b027690
VS
208632010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20864
20865 * docs/grub.texi (Installation): Document buggy BIOS install.
20866
ba5f65cf
VS
208672010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20868
20869 * docs/grub.texi (Installation): Indent.
20870
fdf2ec9c
VS
208712010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20872
20873 * util/grub-setup.c (setup): New parameter allow_floppy.
20874 (arguments): New member allow_floppy.
20875 (argp_parser): Handle --allow-floppy.
20876 (main): Pass allow_floppy.
20877 * util/grub-install.in: New option --allow-floppy passed though to
20878 grub-setup.
20879
861dfd4c
VS
208802010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20881
20882 * util/grub-install.in: Handle partitionless disks.
20883
f77a8c24
VS
208842010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20885
20886 * util/grub-setup.c (setup): Don't clean blocklists before readability
20887 verfification.
20888
27d9ee32
VS
208892010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20890
20891 * docs/grub.texi (Installation): Document embedding zone. Remove
20892 obsolete grub-install example.
20893
6bdda8f8
SJ
208942010-10-16 Szymon Janc <szymon@janc.net.pl>
20895
20896 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20897 Set-but-not-used variable ifdef'ed.
20898 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20899 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20900 variable removed.
20901 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20902 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20903 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20904 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20905 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20906 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20907 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20908 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20909 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20910 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20911 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20912 Likewise.
20913
e19b016b
VS
209142010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20915
20916 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20917 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20918 enum value.
20919
6c8d3002
VS
209202010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20921
20922 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20923 synonym to _S5_. Needed for some DSDTs.
20924
c32b51c9
VS
209252010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20926
20927 Userspace ACPI parser debugging.
20928
20929 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20930 headers and add relevant defines. Don't include standard headers.
20931 (main) [GRUB_DSDT_TEST]: New function.
20932 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20933 Don't declare functions.
20934
fbfbeb39
VS
209352010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20936
20937 Remove dead grub_efi_mm_fini.
20938
20939 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20940 (ALLOCATED_PAGES_SIZE): Likewise.
20941 (MAX_ALLOCATED_PAGES): Likewise.
20942 (allocated_pages): Likewise.
20943 (grub_efi_allocate_pages): Don't record allocated pages.
20944 (grub_efi_free_pages): Likewise.
20945 (grub_efi_mm_init): Likewise.
20946 (grub_efi_mm_fini): Removed.
20947
65f7ed7c
VS
209482010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20949
20950 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20951 (grub_efi_mm_init): Take into account the memory map size increase.
20952
24977b44
VS
209532010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20954
20955 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20956 (serial_hw_put): Wait based on real time rather than port reads. Don't
20957 roken ports.
20958 * include/grub/serial.h (grub_serial_port): New field broken.
20959
1eb01cd2
RM
209602010-10-16 Robert Millan <rmh@gnu.org>
20961
20962 * grub-core/kern/emu/misc.c
20963 (grub_make_system_path_relative_to_its_root): Fix premature return
20964 when processing non-root ZFS filesystems.
5f8b440b 20965 Reported by Sergio Talens-Oliag.
1eb01cd2 20966
2d5fed60
RM
209672010-10-15 Robert Millan <rmh@gnu.org>
20968
20969 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20970 guarantee compressed ones are processed first.
20971
d0f4c1ea
VS
209722010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20973
20974 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20975 grub_efiemu_autocore.
20976
d87c681f
VS
209772010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20978
20979 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20980 rather than 0x1b.
20981 (grub_console_getkey): Use correct jae opcode rather than ja.
20982
219b3564
RM
209832010-10-12 Robert Millan <rmh@gnu.org>
20984
20985 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20986 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20987 variable. All references updated.
20988
20989 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20990
20c6bb7e
VS
209912010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20992
20993 Correctly distinguish mdraid flavours.
20994
20995 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20996 (insert_array): New argument raid.
20997 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20998 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20999 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
21000
74baff84
VS
210012010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
21002
21003 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
21004 handling of special keys.
21005
3ef068df 210062010-10-02 Aleš Nesrsta <starous@volny.cz>
21007
c7980ad9
VS
21008 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
21009 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 21010
a9455194 210112010-10-02 Aleš Nesrsta <starous@volny.cz>
21012
c7980ad9
VS
21013 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
21014 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
21015 users updated.
a9455194 21016 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 21017 Use right endpoint when querying descriptor.
a9455194 21018
441cfe65
VS
210192010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21020
21021 Clear out 0x80 color bit on EFI.
21022 Tested by: decoder
21023 Reported by: decoder and meta tech.
21024
21025 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
21026 (grub_console_setcolorstate): Clear out 0x80 bit.
21027 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
21028 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
21029 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
21030
bf26bcc4
VS
210312010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21032
21033 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
21034 Set to "auto".
21035
6e3c515d
VS
210362010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21037
21038 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
21039 mo_file after freeing.
21040
e6d983ba
VS
210412010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21042
21043 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
21044
74ccb5b5
VS
210452010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21046
21047 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
21048 flags.
21049
17821956
VS
210502010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21051
21052 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
21053 usage.
21054
ee74fa48
VS
210552010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21056
21057 Put terminfo into core on ieee1275 and yeeloong (needed for console).
21058
21059 * gentpl.py: New groups terminfoinkernel and terminfomodule.
21060 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
21061 and terminfo.h when needed.
21062 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
21063 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
21064 (terminfo): Enable only on terminfokernel.
21065 (extcmd): Likewise.
21066 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
21067 * include/grub/lib/arg.h: Likewise.
21068 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
21069 incorrect usage of ->.
21070
aa438e68
VS
210712010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21072
21073 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
21074 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
21075
57994012
VS
210762010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21077
21078 Fix coreboot compilation.
21079
21080 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21081 Take VBE info into account even if only text is supported.
21082 (fill_vbe_info): Take into account the case when only VGA text
21083 is supported.
21084 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
21085 on coreboot, multiboot and qemu.
21086
2a406611
VS
210872010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21088
21089 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
21090 debug messages.
21091 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
21092
d33613fc
VS
210932010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21094
21095 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
21096 parameters.
21097
44a1b432
VS
210982010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21099
21100 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
21101 if they were BSD-style.
21102
edde54e6
VS
211032010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * grub-core/boot/i386/pc/lnxboot.S: Replace
21106 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
21107 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
21108
b65830fa
VS
211092010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 Write embedding zone using Reed-Solomon.
21112
21113 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
21114 * grub-core/Makefile.am (rs_decoder.S): New target.
21115 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
21116 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
21117 (multiboot): Move to RS part.
21118 (post_reed_solomon): New label.
21119 (grub_boot_drive): Move to non-RS part since it's modified in memory
21120 on boot.
21121 Include rs_decoder.S.
21122 * grub-core/lib/reed_solomon.c: New file.
21123 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
21124 New definition.
21125 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
21126 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
21127 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
21128 * include/grub/partition.h (grub_partition_map): Change prototype of
21129 embed to allow returning additional sectors.
21130 * include/grub/reed_solomon.h: New file.
21131 * util/grub-setup.c (setup): Handle Reed-Solomon.
21132
0b4b227f
CW
211332010-09-28 Colin Watson <cjwatson@ubuntu.com>
21134
21135 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21136 i386 and x86-64 definedness tests.
21137
f772623b
YB
211382010-09-27 Yves Blusseau <blusseau@zetam.org>
21139
21140 Fix generation of kernel_syms.lst
21141
21142 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
21143 ASM_PREFIX
21144
8e57a6ca
RM
211452010-09-26 Robert Millan <rmh@gnu.org>
21146
21147 Support degraded ZFS arrays in "grub-probe -t device" resolution.
21148
21149 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
21150 the pool is an array of devices, iterate through it and return the
21151 first device that passes a stat() test (instead of blindly returning
21152 the first one).
21153
f9130836
RM
211542010-09-26 Robert Millan <rmh@gnu.org>
21155
21156 Build fixes for GNU/kFreeBSD.
21157
21158 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
21159 to programs that require ZFS conversion.
21160 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
21161 kernels that don't have FLOPPY_MAJOR.
21162
96510faf
BC
211632010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21164
21165 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
21166
449333eb
BC
211672010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21168
21169 Fix grub-emu build.
21170
21171 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
21172 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
21173 mdraid09 and mdraid1x.
21174
e1fd1939
CW
211752010-09-24 Colin Watson <cjwatson@ubuntu.com>
21176
21177 Re-enable grub-extras.
21178
21179 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
21180 avoid confusing Automake. Run autogen only twice, once for the top
21181 level and once for grub-core. Add Makefile.util.def and
21182 Makefile.core.def from extra modules to the appropriate autogen
21183 invocations. If Makefile.common exists in an extra module, include
21184 it in both Makefile.util.am and grub-core/Makefile.core.am;
21185 similarly, include any Makefile.util.common file in Makefile.util.am
21186 and any Makefile.core.common file in grub-core/Makefile.core.am.
21187 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
21188 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
21189 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
21190 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
21191
21192 * gentpl.py (gvar_add): Turn GVARS into a set.
21193 (global_variable_initializers): Sort global variables on output.
21194 (vars_init): New function.
21195 (first_time): Likewise.
21196 (library): Ensure that non-global variable initialisations are
21197 emitted before the first time we emit code for a library block.
21198 Append to variables rather than setting them. Only emit
21199 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
21200 each conditional path.
21201 (program): installdir() emits an Autogen macro, so must be passed to
21202 var_add rather than gvar_add.
21203 (data): Likewise.
21204 (script): Likewise.
21205 (rules): New function, centralising handling for different target
21206 types. Set up Guile association lists for first_time and vars_init,
21207 and send most output to a diversion so that variable initialisations
21208 can be emitted first.
21209 (module_rules): Use new rules function.
21210 (kernel_rules): Likewise.
21211 (image_rules): Likewise.
21212 (library_rules): Likewise.
21213 (program_rules): Likewise.
21214 (script_rules): Likewise.
21215 (data_rules): Likewise.
21216
21217 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
21218
21219 * .bzrignore: Add contrib and grub-core/contrib. Remove
21220 grub-core/Makefile.gcry.am.
21221
1d12cf29
YB
212222010-09-24 Yves Blusseau <blusseau@zetam.org>
21223
21224 * grub-core/lib/LzFind.c: Add missing include.
21225 * grub-core/lib/LzmaEnc.c: Likewise.
21226 * grub-core/script/lexer.c: Likewise.
21227 * grub-core/script/yylex.l: Likewise.
21228 * util/grub-macho2img.c: Likewise.
21229 * util/grub-menulst2cfg.c: Likewise.
21230 * util/grub-mklayout.c: Likewise.
21231 * util/grub-mkpasswd-pbkdf2.c
21232 * util/grub-mkrelpath.c: Likewise.
21233 * util/resolve.c: Likewise.
21234
dd363028
BC
212352010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
21236
21237 * Makefile.util.def (example_unit_test): Add
21238 grub-core/gnulib/libgnu.a.
21239
f5a109e2
GS
212402010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
21241
21242 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
21243
6d0fa83c
VS
212442010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
21245
21246 Support xz compression on yeeloong.
21247
21248 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
21249 * configure.ac: Check for LZMA.
21250 * grub-core/Makefile.core.def (xz_decompress): New target.
21251 (none_decompress): Likewise.
21252 * grub-core/boot/decompressor/minilib.c: New file.
21253 * grub-core/boot/decompressor/none.c: Likewise.
21254 * grub-core/boot/decompressor/xz.c: Likewise.
21255 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
21256 * grub-core/kern/mips/cache_flush.S: Likewise.
21257 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
21258 * grub-core/kern/mips/startup.S: Move first stage to ...
21259 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
21260 nomacro.
21261 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
21262 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
21263 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
21264 Allocate statically.
21265 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
21266 Allocate statically or use scratch. Don't check CRC32.
21267 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
21268 Allocate statically. Don't check CRC32.
21269 * include/grub/decompressor.h: New file.
21270 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
21271 Removed.
21272 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
21273 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
21274 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
21275 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
21276 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
21277 * util/grub-mkimage.c (grub_compression_t): New type.
21278 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
21279 (image_target_desc): New field default_compression.
21280 (image_targets): Adjust yeeloong targets.
21281 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
21282 (compress_kernel): New parameter comp.
21283 (generate_image): Likewise. Handle new compression case.
21284 (options): New option --compression
21285 (help): Likewise.
21286 (main): Handle new option.
21287
1b655af6
GS
212882010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
21289
21290 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
21291
8f03f0b5
CW
212922010-09-22 Colin Watson <cjwatson@ubuntu.com>
21293
21294 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21295 typo in __i386__ conditional.
21296
7835dfd3
VS
212972010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21298
21299 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
21300 include.
21301
e255597e
VS
213022010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21303
6d0fa83c 21304 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
21305
21306 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
21307 new tags as supported.
21308 (acpiv2_size): New function.
21309 (grub_multiboot_get_mbi_size): Take new tags into account.
21310 (grub_multiboot_make_mbi): Add new tags.
21311 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 21312
6cc14051 213132010-09-21 Aleš Nesrsta <starous@volny.cz>
21314
21315 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
21316 Added missing configuration of USB device.
21317
df7769d8
CW
213182010-09-21 Colin Watson <cjwatson@ubuntu.com>
21319
21320 * grub-core/normal/menu_entry.c (run): Make sure we always return
21321 a value.
21322
b031012d
CW
213232010-09-21 Colin Watson <cjwatson@ubuntu.com>
21324
21325 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
21326 NumberOfPages is UINT64 according to the UEFI specification, not
21327 UINTN. Fix printf format.
21328
174de8f3
CW
213292010-09-21 Colin Watson <cjwatson@ubuntu.com>
21330
21331 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
21332 `err' to grub_usb_err_t.
21333 Reported and tested by: KESHAV P.R.
21334
d7dbe923
CW
213352010-09-21 Colin Watson <cjwatson@ubuntu.com>
21336
21337 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
21338 tpart non-const, so that we can assign to it. (Since this is a
21339 typedef, the constness refers to the pointer rather than what it
21340 points to.)
21341
8d5e2af3
CW
213422010-09-21 Colin Watson <cjwatson@ubuntu.com>
21343
21344 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21345 $(top_srcdir)/grub-core/gnulib as well as
21346 $(top_builddir)/grub-core/gnulib.
21347 Reported by: KESHAV P.R.
21348
5c527783
CW
213492010-09-21 Colin Watson <cjwatson@ubuntu.com>
21350
21351 * util/grub-install.in: Fix the bootloader ID option to be
21352 consistently --bootloader-id, not --bootloader_id.
21353 Reported by: KESHAV P.R.
21354
d309a16e
CW
213552010-09-21 Colin Watson <cjwatson@ubuntu.com>
21356
21357 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21358 check hash checksum." consistently translatable.
21359
b830cd16
YB
213602010-09-21 Yves Blusseau <blusseau@zetam.org>
21361
21362 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21363 $(top_builddir).
21364
c4fe27a8
CW
213652010-09-21 Colin Watson <cjwatson@ubuntu.com>
21366
21367 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21368 (GRUB_MOD_INIT): Register sha1sum command.
21369 (GRUB_MOD_FINI): Unregister sha1sum command.
21370
a4c1d277
YB
213712010-09-21 Yves Blusseau <blusseau@zetam.org>
21372
21373 Keep boot and grub directory names in sync with utils scripts
21374
21375 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21376 * config.h.in: Add previous macros.
21377 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21378 * util/grub-install.in: Use $bootdir and $grubdir variables.
21379
4eff79d2
CW
213802010-09-21 Colin Watson <cjwatson@ubuntu.com>
21381
21382 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21383 convert partition names to disk names if the new `convert' parameter
21384 is set.
21385 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21386 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21387 disk in its own right. This can happen with Xen disk images.
21388
934d7e44
YB
213892010-09-21 Yves Blusseau <blusseau@zetam.org>
21390
21391 * util/grub-editenv.c: Update strings to avoid warnings when generating
21392 grub.pot file.
21393 * util/grub-setup.c: Likewise.
934d7e44 21394
df3367cc
VS
213952010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21396
21397 * configure.ac: Change version to 1.99~beta0.
21398
77a94e98
VS
213992010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21400
21401 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21402 Add BADRAM.
21403 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21404 Likewise.
21405 * include/multiboot.h: Resynced with specification.
21406 * include/multiboot2.h: Likewise.
21407
269004c1
CW
214082010-09-21 Colin Watson <cjwatson@ubuntu.com>
21409
21410 Fix po directory handling.
21411
21412 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21413 * grub-core/gnulib/Makefile.am: Import gettext module.
21414 * m4/gnulib-cache.m4: Likewise.
21415 * m4/gnulib-comp.m4: Likewise.
21416 * m4/gettext.m4: New file, from gnulib.
21417 * m4/glibc2.m4: Likewise.
21418 * m4/iconv.m4: Likewise.
21419 * m4/intdiv0.m4: Likewise.
21420 * m4/intl.m4: Likewise.
21421 * m4/intldir.m4: Likewise.
21422 * m4/intlmacosx.m4: Likewise.
21423 * m4/intmax.m4: Likewise.
21424 * m4/inttypes-pri.m4: Likewise.
21425 * m4/lcmessage.m4: Likewise.
21426 * m4/lib-ld.m4: Likewise.
21427 * m4/lib-link.m4: Likewise.
21428 * m4/lib-prefix.m4: Likewise.
21429 * m4/lock.m4: Likewise.
21430 * m4/nls.m4: Likewise.
21431 * m4/po.m4: Likewise.
21432 * m4/printf-posix.m4: Likewise.
21433 * m4/progtest.m4: Likewise.
21434 * m4/threadlib.m4: Likewise.
21435 * m4/uintmax_t.m4: Likewise.
21436 * m4/visibility.m4: Likewise.
21437 * po/Makefile.am: Remove.
21438 * po/Makefile.in.in: New file, from gettext.
21439 ($(DOMAIN).pot-update): Support POTFILES-shell.
21440 * po/Makevars: New file.
21441 * po/POTFILES-shell: Rename to ...
21442 * po/POTFILES-shell.in: ... this. Update.
21443 * po/POTFILES: Rename to ...
21444 * po/POTFILES.in: ... this. Update.
21445 * po/Rules-quot: New file, from gettext.
21446 * po/boldquot.sed: Likewise.
21447 * po/en@boldquot.header: Likewise.
21448 * po/en@quot.header: Likewise.
21449 * po/insert-header.sin: Likewise.
21450 * po/quot.sed: Likewise.
21451 * po/remove-potcdate.sin: Likewise.
21452
3e0fa5d0
VS
214532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21454
21455 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21456
ade9bd66
VS
214572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21458
21459 * util/grub.d/20_linux_xen.in: Use submenus.
21460
fc55cc4c
VS
214612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21462
21463 Support submenus.
21464
21465 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21466 parameter submenu. All users updated.
21467 * grub-core/normal/main.c (free_menu): Rename to ...
21468 (grub_normal_free_menu): ... this. Made global.
21469 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21470 if requested.
21471 * grub-core/normal/menu_entry.c (screen): New field submenu.
21472 (make_screen): Set submenu.
21473 (run): Open new context if requested.
21474 * include/grub/menu.h (grub_menu_entry): New field submenu.
21475 * include/grub/normal.h (grub_normal_free_menu): New proto.
21476
600cedf7
VS
214772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21478
21479 Menu entries extractor.
21480
21481 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
21482 variants.
21483 (GRUB_MOD_INIT): Register new variants.
21484 (GRUB_MOD_FINI): Unregister new variants.
21485 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21486 into grub_cmd_legacy_source.
21487 (grub_cmd_legacy_source): Implement extractor variants.
21488 (GRUB_MOD_INIT): Register new variants.
21489 (GRUB_MOD_FINI): Unregister new variants.
21490 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21491 as an extractor.
21492 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21493 search as an extractor.
21494 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21495 test as an extractor.
21496 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21497 as an extractor.
21498 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21499 (grub_env_new_context): New function.
21500 (grub_env_context_open): Likewise.
21501 (grub_env_extractor_open): Likewise.
21502 (grub_env_extractor_close): Likewise.
21503 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21504 grub_extractor_level.
21505 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
21506 * include/grub/env.h (grub_env_extractor_open): New proto.
21507 (grub_env_extractor_close): Likewise.
21508 * include/grub/normal.h (grub_extractor_level): New external variable.
21509
7bda3a87
VS
215102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21511
21512 Make cutmem accept a region specification.
21513 Suggested by: Samuel Thibault
21514
21515 * grub-core/mmap/mmap.c (parsemem): New function.
21516 (grub_cmd_cutmem): Handle new arguments.
21517
2ea57f88
VS
215182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21519
21520 New command cutmem.
21521
21522 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21523 (GRUB_MOD_INIT): Register new command.
21524 (GRUB_MOD_FINI): Unregister new command.
21525
74342e31
VS
215262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21527
21528 Support some annoying BSD and Minix subpartitions.
21529
21530 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21531 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21532 Properly handle concatenation.
21533 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21534 * grub-core/normal/completion.c (iterate_partition): Likewise.
21535 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21536 contain partition. All users updated.
21537 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21538 struct.
21539 (grub_openbsdlabel_partition_map): Likewise.
21540 (bsdlabel_partition_map_iterate): Rename to ..
21541 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21542 (bsdlabel_partition_map_iterate): New function.
21543 (netopenbsdlabel_partition_map_iterate): Likewise.
21544 (netbsdlabel_partition_map_iterate): Likewise.
21545 (openbsdlabel_partition_map_iterate): Likewise.
21546 (GRUB_MOD_INIT): Register new partmaps.
21547 (GRUB_MOD_FINI): Unregister new partmaps.
21548 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21549 (grub_partition_msdos_iterate): ... this. All users updated.
21550 Don't support embedding other than in a minix partition.
21551 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21552 proto.
21553 * include/grub/partition.h (grub_partition): New field msdostype.
21554 * util/grub-install.in: Handle openbsd and netbsd types being in
21555 part_bsd module.
21556
1e8d555b
VS
215572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21558
21559 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21560
21561 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
21562 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21563 (mdraid09): ... this.
21564 (mdraid1x): New module.
21565 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21566 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21567
899d8af4
VS
215682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21569
21570 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21571 vsprintf.
21572
40901acd
CW
215732010-09-20 Colin Watson <cjwatson@ubuntu.com>
21574
21575 * grub-core/commands/efi/lsefimmap.c: Correct header.
21576 * NEWS: Update.
21577
dfe3b247
CW
215782010-09-20 Colin Watson <cjwatson@ubuntu.com>
21579
21580 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21581 as printf format strings; the translations might contain '%' which
21582 could cause a crash.
21583 (main): Likewise.
21584 * util/grub-fstest.c (argp_parser): Likewise.
21585 * util/grub-setup.c (argp_parser): Likewise.
21586 (main): Likewise.
21587
3286a4b4
VS
215882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21589
21590 Use argp in grub-fstest.
21591
21592 * util/grub-fstest.c: Don't include getopt.h.
21593 Include argp.h.
21594 (root): New variable.
21595 (args_count): Likewise.
21596 (nparm): Likewise.
21597 (num_disks): Likewise.
21598 (images): Likewise.
21599 (cmd): Likewise.
21600 (debug_str): Likewise.
21601 (args): Likewise.
21602 (options): Transformed to argp.
21603 (usage): Removed.
21604 (main): Split argument parsing into ...
21605 (argp_parser): ... this. Changed to argp format.
21606 (argp): New variable.
21607 (main): Use argp_parse.
21608
3dccbe4b
TG
216092010-09-20 Tristan Gingold <gingold@free.fr>
216102010-09-20 Robert Millan <rmh.grub@aybabtu.com>
216112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21612
21613 * grub-core/commands/efi/lsefimmap.c: New file.
21614 * grub-core/Makefile.core.def (lsefimmap): New module.
21615 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21616
38c259a7
VS
216172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21618
21619 Pause the execution (10s max) if any errors are displayed so the user
21620 has a chance to see them.
21621
21622 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21623 (grub_print_error): Increment grub_err_printed_errors.
21624 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21625 execution if any errors were displayed.
21626 (show_menu): Remove old code for pause.
21627 * grub-core/normal/menu_entry.c (run): Likewise.
21628 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21629 users updated.
21630 (grub_normal_get_char_counter): Likewise.
21631 * include/grub/err.h (grub_err_printed_errors): New external variable.
21632 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21633
f218b09c
VS
216342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21635
21636 Support multiboot VBE info.
21637
21638 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21639 Take VBE info into account.
21640 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21641 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21642 Call fill_vbe_info when appropriate.
21643 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21644 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21645 as supported.
21646 (grub_multiboot_get_mbi_size): Take new tags into account.
21647 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21648 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21649 Call fill_vbe_tag when appropriate.
21650 (grub_multiboot_make_mbi): Properly align tags.
21651 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21652 function.
21653 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21654 proto.
21655 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21656
a9cc5438
VS
216572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21658
21659 Suport manual terminal geometry specification.
21660
21661 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21662 Save state in grub_ofconsole_terminfo_output.
21663 (grub_ofconsole_term): Use grub_terminfo_getwh.
21664 (grub_ofconsole_getwh): Removed.
21665 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21666 (grub_serial_term): Use grub_terminfo_getwh.
21667 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21668 (options): New struct.
21669 (OPTION_*): New enum.
21670 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21671 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21672 width and height.
21673 (grub_terminfo_getwh): New proto.
21674 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21675
1a8fed20
VS
216762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21677
21678 Handle legacy "terminal" command.
21679
21680 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21681 and FLAG_TERMINAL.
21682 (legacy_commands): Add terminal and title.
21683 (grub_legacy_parse): Handle terminal. Simplify title handling.
21684
41e9c57d
VS
216852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21686
21687 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21688 parameters overflow.
21689
61c874c5
CW
216902010-09-20 Colin Watson <cjwatson@ubuntu.com>
21691
21692 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21693 widthspec.h.
21694
21695 * docs/grub.texi (Shell-like scripting): Document `!'.
21696 (Network): Simplify using new i386-pc-pxe format. Mention
21697 grub-mknetdir.
21698
21699 * NEWS: Update.
21700
943682b4
CW
217012010-09-20 Colin Watson <cjwatson@ubuntu.com>
21702
21703 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21704 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21705 when needed.
21706
6d3d698d
CW
217072010-09-20 Colin Watson <cjwatson@ubuntu.com>
21708
21709 * grub-core/commands/efi/lsefisystab.c: Correct header.
21710 * grub-core/commands/efi/lssal.c: Likewise.
21711 * grub-core/commands/testload.c: Likewise.
21712
c982589f
CW
217132010-09-20 Colin Watson <cjwatson@ubuntu.com>
21714
21715 * util/grub-mkrescue.in: Add explicit root argument to --set to
21716 prevent the UUID being interpreted as an argument to --set (matches
21717 previous change to prepare_grub_to_access_device).
21718
a63c31b6
CW
217192010-09-20 Colin Watson <cjwatson@ubuntu.com>
21720
21721 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21722 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21723 the verbosity of later #ifs.
21724 (find_partition_start): Define this function on FreeBSD too.
21725 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21726 function.
21727 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21728 on FreeBSD.
21729
6439b8ee
YB
217302010-09-20 Yves Blusseau <blusseau@zetam.org>
21731
21732 * util/grub-editenv.c: Use argp instead of getopt.
21733
c5930ec8
YB
217342010-09-20 Yves Blusseau <blusseau@zetam.org>
21735
21736 * util/grub-setup.c: Use argp instead of getopt.
21737
15c69261
YB
217382010-09-20 Yves Blusseau <blusseau@zetam.org>
21739
21740 Use gnulib-tool to create gnulib source files.
21741
21742 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21743 grub-core/gnulib directories
21744 * .bzignore: Add **/.deps and autogenerated gnulib files
21745 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21746 of gnulib macros, add grub-core/gnulib/Makefile
21747 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21748 include m4 directory to aclocal.
21749 * Makefile.util.def: Remove direct compilation of gnulib source files
21750 and use the new grub-core/gnulib/libgnu.a.
21751 * build-aux/config.rpath: move config.rpath from top directory to
21752 build-aux
21753 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21754 in gnulib headers
21755 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21756 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21757 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21758 header.
21759 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21760 string.
21761
e511c9f5
YB
217622010-09-20 Yves Blusseau <blusseau@zetam.org>
21763
21764 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21765 grub-core/genmod.sh and grub-core/gensyminfo.sh
21766
c2dede05
BC
217672010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21768
21769 Add a test for echo command options.
21770
21771 * tests/grub_cmd_echo.in: New test.
21772 * Makefile.util.def: Rules for new test.
21773
c55f5018
SJ
217742010-09-20 Szymon Janc <szymon@janc.net.pl>
21775
21776 Remove crc.mod and move crc command to hashsum.mod.
21777 Remove lib/crc.c - users updated to use gcrypt implementation.
21778
21779 * grub-core/commands/crc.c: Removed.
21780 * grub-core/Makefile.core.def (crc): Module removed.
21781 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21782 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21783 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21784 * grub-core/lib/crc.c: Removed.
21785 * include/grub/lib/crc.h: Removed.
21786 * Makefile.util.def (crc): Remove lib/crc.c
21787 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21788 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21789 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21790 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21791 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21792 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21793
e0337366
VS
217942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21795
21796 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21797
742f9232
VS
217982010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21799
21800 Split config.h for util and core.
21801
21802 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21803 (ADDR32): Likewise.
21804 (DATA32): Likewise.
21805 (BSS_START_SYMBOL): Likewise.
21806 (END_SYMBOL): Likewise.
21807 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21808 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21809 * config.h.in: New file.
21810 * configure.ac: Use config-util.h as config define file.
21811 Rename MACHINE into GRUB_MACHINE. All users updated.
21812 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21813 updated.
21814 (NESTED_FUNC_ATTR): Likewise.
21815 Substitue new variables.
21816 (COND_HAVE_ASM_USCORE): New conditional.
21817 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21818 (kernel_syms.lst): Use ASM_PREFIX.
21819 * grub-core/kern/emu/console.c: Include config-util.h.
21820 * grub-core/kern/emu/misc.c: Likewise.
21821 * grub-core/kern/emu/mm.c: Likewise.
21822 * include/grub/emu/misc.h: Likewise.
21823 * include/grub/libgcc.h: Likewise.
21824
39feb0e8
VS
218252010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21828 constants usage.
21829 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21830 Fix GRUB_TERM_KEY_* constants usage.
21831 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21832
9af6dac3
VS
218332010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21834
21835 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21836 print pointer.
21837 * grub-core/bus/usb/uhci.c: Remove empty define.
21838 (grub_uhci_check_transfer): Add missing cast.
21839 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21840 print pointer.
21841 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21842 PRIuGRUB_SIZE.
21843 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21844
d6d94820
VS
218452010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21846
21847 * grub-core/Makefile.core.def (legacycfg): Add
21848 lib/i386/pc/vesa_modes_table.c on emu.
21849
3572f2b6
BC
218502010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21851
21852 Reduce number of temporary files generated by build system.
21853
21854 * grub-core/gencmdlist.sh: Removed.
21855 * grub-core/genfslist.sh: Removed.
21856 * grub-core/genhandlerlist.sh: Removed.
21857 * grub-core/genmodsrc.sh: Removed.
21858 * grub-core/genpartmaplist.sh: Removed.
21859 * grub-core/genparttoollist.sh: Removed.
21860 * grub-core/gentermiinallist.sh: Removed.
21861 * grub-core/genvideolist.sh: Removed.
21862
21863 * grub-core/genmod.sh.in: New file.
21864 * grub-core/gensyminfo.sh.in: New file.
21865
21866 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21867 * conf/Makefile.extra-dist: Update with new files.
21868 * gentpl.py: Remove rules related to unnecessary temporary files.
21869 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21870 and und-* files.
21871 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21872 genmod.sh scripts.
21873 * grub-core/bus/usb/uhci.c: Remove empty #define.
21874 * grub-core/genmoddep.awk: Updated with new syminfo format.
21875 * util/bash-completion.d/Makefile.am: Add config.log to
21876 CLEANFILES.
21877
c836b030
YB
218782010-09-19 Yves Blusseau <blusseau@zetam.org>
21879
21880 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21881
2f4e8053
BC
218822010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21883
21884 * util/grub-mkconfig.in: Check the config script for syntax errors
21885 before saving.
21886
75831c34
CW
218872010-09-19 Colin Watson <cjwatson@ubuntu.com>
218882010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21889
21890 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21891 platforms.
21892 * util/grub-install.in: Add EFI and IEEE1275 support.
21893 * util/i386/efi/grub-install.in: Removed.
21894 * util/ieee1275/grub-install.in: Likewise.
21895
eaf41b25
VS
218962010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21897
21898 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21899 (grub_cmd_cmosclean): Likewise.
21900 (GRUB_MOD_INIT): Register command cmosclean.
21901 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21902 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21903
1a9130dd
CPE
219042010-09-18 Carles Pina i Estany <carles@pina.cat>
219052010-09-18 Aleš Nesrsta <starous@volny.cz>
219062010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 Add keyboard layouts support.
21909
21910 * Makefile.util.def (grub-mklayout): New file.
21911 (grub-kbdcomp): New script.
21912 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21913 Add keyboard_layouts.h.
21914 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21915 commands/boot.c on yeeloong.
21916 (keylayouts): New module.
21917 * grub-core/bus/usb/ohci.c
21918 * grub-core/bus/usb/uhci.c
21919 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21920 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21921 (attach_root_port): Likewise.
21922 (poll_nonroot_hub): Likewise.
21923 (grub_usb_poll_devices): Likewise.
21924 (detach_device): Close transfer.
21925 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21926 function.
21927 (grub_usb_bulk_setup_readwrite): Likewise.
21928 (grub_usb_bulk_finish_readwrite): Likewise.
21929 * grub-core/commands/keylayouts.c: New file.
21930 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21931 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21932 aliases.
21933 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21934 support scancode 2.
21935 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21936 * include/grub/keyboard_layouts.h: New file.
21937 * util/grub-mklayout.c: New file.
21938 * util/grub-kbdcomp.in: Likewise.
21939
a1d84a5e
VS
219402010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21941
21942 Unify memory types.
21943
21944 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21945 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21946 types.
21947 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21948 (grub_upper_mem): Likewise.
21949 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21950 * include/grub/memory.h (grub_memory_type_t): New enum.
21951 All users updated.
21952
9696382e
VS
219532010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21954
21955 * grub-core/Makefile.core.def (lsapm): New module.
21956 * grub-core/commands/i386/pc/lsapm.c: New file.
21957 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21958 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21959 Likewise.
21960 * include/grub/i386/pc/apm.h: New file.
21961 * include/multiboot.h (multiboot_apm_info): New struct.
21962
219632010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21964
21965 GRUB-legacy configuration file support.
21966
21967 * Makefile.util.def (grub-menulst2cfg): New util.
21968 * docs/man/grub-menulst2cfg.h2m: New file.
21969 * grub-core/Makefile.core.def (legacycfg): New module.
21970 * grub-core/commands/legacycfg.c: New file.
21971 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21972 (grub_normal_add_menu_entry): ... this.
21973 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21974 (grub_normal_set_password): ...this.
21975 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21976 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21977 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21978 * grub-core/lib/legacy_parse.c: New file.
21979 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21980 * include/grub/i386/pc/vesa_modes_table.h: New file.
21981 * include/grub/legacy_parse.h: Likewise.
21982 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21983 * util/grub-menulst2cfg.c: New file.
21984
bf8d1338
CW
219852010-09-17 Colin Watson <cjwatson@ubuntu.com>
21986
21987 * grub-core/kern/emu/hostdisk.c
21988 (convert_system_partition_to_system_disk): Initialise node.
21989
9c0bad2e
CW
219902010-09-17 Colin Watson <cjwatson@ubuntu.com>
21991
21992 * grub-core/kern/emu/hostdisk.c
21993 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21994 leak.
21995 Reported and based on patch by: Modestas Vainius.
21996
a939d135
CW
219972010-09-17 Colin Watson <cjwatson@ubuntu.com>
21998
21999 Fix DM-RAID probing with recent versions of device-mapper udev
22000 rules.
22001
22002 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
22003 canonicalise device paths under /dev/mapper/.
22004 (convert_system_partition_to_system_disk): Compare the
22005 uncanonicalised path to /dev/mapper/ rather than the canonicalised
22006 path, since device nodes under /dev/mapper/ are often symlinks.
22007
0f7ee3c9
YB
220082010-09-17 Yves Blusseau <blusseau@zetam.org>
22009
22010 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
22011
10854d0d
YB
220122010-09-16 Yves Blusseau <blusseau@zetam.org>
22013
22014 * configure.ac: Avoid some annoying error messages if freetype-config
22015 program is not found.
22016
108538d8
CW
220172010-09-16 Colin Watson <cjwatson@ubuntu.com>
22018
22019 Support RAID on virtio devices, and others.
22020
22021 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
22022 Rename to ...
22023 [__MINGW32__] (grub_find_device): ... this.
22024 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
22025 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
22026 reasonable default if dir is NULL.
22027 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
22028 ...
22029 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
22030 (grub_guess_root_device): Update callers.
22031 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
22032
22033 * util/raid.c (grub_util_getdiskname): Remove.
22034 (grub_util_raid_getmembers): Use grub_find_device rather than
22035 grub_util_getdiskname.
22036
e5bfc130
CW
220372010-09-16 Colin Watson <cjwatson@ubuntu.com>
22038
22039 * docs/grub.texi (serial): Remove obsolete comment about GRUB
22040 needing to be compiled with serial support.
22041 (ls): Indicate that multiple files are accepted.
22042 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
22043 indicate that multiple files are accepted.
22044
be458ae2
CW
220452010-09-16 Colin Watson <cjwatson@ubuntu.com>
22046
22047 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
22048 libgrub_a_init.c, and util/bash-completion.d/grub.
22049
cb731b5e
VS
220502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22051
22052 * util/grub-setup.c (setup): Fix incorrect container semantics.
22053
35139e8a
VS
220542010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22055
22056 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
22057 misusage.
22058 Reported by: J. Nick Terry
22059
e50fca4a
VS
220602010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22061
22062 Move embedding routines to partmap sources files.
22063
22064 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
22065 [GRUB_UTIL]: New variable.
22066 (gpt_partition_map_iterate): Set part.parent.
22067 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
22068 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
22069 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
22070 New function.
22071 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
22072 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
22073 (grub_partition_map) [GRUB_UTIL]: New field embed.
22074 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
22075 (setup): Use ->embed.
22076
f00478b7
VS
220772010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22078
22079 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
22080 function.
22081 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
22082 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
22083
2b94e3ff
YB
220842010-09-15 Yves Blusseau <blusseau@zetam.org>
22085
22086 Add function to get completions from usage.
22087
22088 * util/bash-completion.d/grub-completion.bash.in: Add function to get
22089 completions from usage. Use LC_ALL=C to get options properly.
22090
2e04a006
VS
220912010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22092
22093 * grub-core/gnulib/basename-lgpl.c: Imported.
22094 * grub-core/gnulib/basename.c: Likewise.
22095 * grub-core/gnulib/dirname-lgpl.c: Likewise.
22096 * grub-core/gnulib/dirname.c: Likewise.
22097 * grub-core/gnulib/dirname.h: Likewise.
22098 * grub-core/gnulib/stripslash.c: Likewise.
22099
5dcdf93a
VS
221002010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22101
22102 * grub-core/gnulib/error.c: Resynced.
22103 * grub-core/gnulib/getopt.c: Likewise.
22104 * grub-core/gnulib/getopt_int.h: Likewise.
22105 * grub-core/gnulib/regex.h: Likewise.
22106 * grub-core/gnulib/regex_internal.c: Likewise.
22107 * grub-core/gnulib/regex_internal.h: Likewise.
22108
014f47b7
SJ
221092010-09-15 Szymon Janc <szymon@janc.net.pl>
22110
22111 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
22112 CRC calculations and validity checks.
22113 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
22114 calculations.
22115
dd521a4a
SJ
221162010-09-15 Szymon Janc <szymon@janc.net.pl>
22117
22118 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
22119
79c4eeb9
VS
221202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22121
22122 Fix incorrect echo options handling.
22123 Reported by: Yves Blusseau.
22124
22125 * include/grub/command.h (grub_command_flags_t): New flags
22126 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
22127 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
22128 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
22129
ed80f7d5
VS
221302010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22131
22132 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
22133 users updated.
22134 (GRUB_COMMAND_FLAG_MENU): Likewise.
22135 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22136 (GRUB_COMMAND_FLAG_TITLE): Removed.
22137 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22138 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
22139 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
22140 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
22141 (grub_command_flags_t): New enum. All users updated.
22142
5fe7620a
SG
221432010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
22144
22145 Fix solaris compilation.
22146
22147 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
22148 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
22149 (grub-emu-list): Likewise.
22150
545b752f
VS
221512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22152
22153 Remove deprecated root command.
22154
22155 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
22156 updated.
22157
6c1a338c
VS
221582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22159
22160 * util/i386/pc/grub-setup.c: Merge this ...
22161 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
22162 * util/grub-setup.c: ... into this.
22163 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
22164 New struct.
22165
221662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22167
22168 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
22169 possible.
22170
d2ea4551
VS
221712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22172
22173 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
22174 allocate p.
22175
3c3b5040
VS
221762010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22177
22178 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
22179 explicit root argument to set to prevent UUID to be interpreted as
22180 argument to set.
22181
b71c3fae
VS
221822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22183
22184 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
22185
275433e6
VS
221862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22187
22188 Don't export grub_gate_a20.
22189
22190 * grub-core/kern/i386/pc/init.c: Remove leftovers.
22191 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
22192 to ...
22193 (grub_gate_a20): ... this. All users updated.
22194 * include/grub/i386/pc/init.h: Removed. All users updated.
22195
a5dbb1f1
VS
221962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22197
22198 Create euro.pf2 which supports most European languages.
22199
22200 * Makefile.am (grubdata_DATA): Add euro.pf2.
22201 (euro.pf2): New target.
22202 (CLEANFILES): Add euro.pf2.
22203
62a747cb
VS
222042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22205
22206 * configure.ac: Disable emu-usb by default to prevent inadvertent
22207 device takeover.
22208
608e43b1
VS
222092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22210
22211 Disable usbserial on grub-emu since our libusb code isn't good enough
22212 yet.
22213
22214 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
22215 (usbserial_pl2303): Likewise.
22216 (usbserial_ftdi): Likewise.
22217
94564f81
VS
222182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22219
22220 * include/grub/disk.h (grub_disk): Remove has_partitions.
22221 All users updated.
22222 * disk/loopback.c (grub_loopback): Remove has_partitions.
22223 All users updated.
22224 (options): Remove partitions. All users updated.
22225 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
22226 * util/i386/pc/grub-setup.c (setup): copy partition table only when
22227 actual partition table is found.
22228
3352800b
VS
222292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22230
22231 Remove readability checks (too many false negatives).
22232
22233 * util/grub-install.in: Remove readability checks.
22234 * util/grub-mkconfig.in: Likewise.
22235 * util/grub.d/10_hurd.in: Likewise.
22236 * util/grub.d/10_kfreebsd.in: Likewise.
22237 * util/grub.d/10_linux.in: Likewise.
22238 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
22239 way.
22240
2419f17a
VS
222412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22242
22243 Enable acpi shutdown on all ACPI platforms.
22244
22245 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
22246 on coreboo, multiboot and EFI.
22247 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
22248 (grub_acpi_halt): Likewise.
22249 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
22250 (grub_cmd_halt): Don't call grub_acpi_halt directly.
22251 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
22252 * grub-core/lib/i386/halt.c (grub_halt)
22253 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
22254
0575c7c3
VS
222552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22256
22257 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
22258 context.
22259
54ac3cd1
VS
222602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22261
22262 * grub-core/video/efi_gop.c: Fix over-80-chars line.
22263 * grub-core/video/efi_uga.c: Likewise.
22264
b2a30ac5
VS
222652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22266
22267 Filter devaliases and never open same device twice.
22268
22269 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
22270 (last_ihandle): Likewise.
22271 (ofdisk_hash_ent): New member shortest.
22272 (ofdisk_hash_add): Add canonical path too.
22273 (scan): New function.
22274 (grub_ofdisk_iterate): Iterate over hashed entries.
22275 (compute_dev_path): Don't add :0.
22276 (grub_ofdisk_open): Don't really open the disk.
22277 (grub_ofdisk_close): Avoid closing unrelated disk.
22278 (grub_ofdisk_read): Implement reopen logic.
22279 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
22280 New function.
22281 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
22282 New proto.
22283
fb53b340
VS
222842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22285
22286 Fix sparc64.
22287
22288 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
22289 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
22290 right address. Add sparc64_ieee1275_ldflags.
22291 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
22292 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
22293 to grub_host_to_target_addr
22294 (load_image): Likewise.
22295
f452b040
VS
222962010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22297
22298 * grub-core/normal/completion.c (complete_file): Handle device
22299 containing slash.
22300 Fix based on patch by Doug Nazar.
22301
9b5b2541
VS
223022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22303
22304 grub-mknetdir script.
22305
22306 * Makefile.util.def (grub-mknetdir): New module.
22307 * tests/util/grub-shell.in: Support boot=net
22308 * util/grub-mknetdir.in: New file.
22309
9d2be652
VS
223102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22311
22312 videoinfo on non-vbe.
22313
22314 * grub-core/Makefile.core.def (vbeinfo): Removed.
22315 (vbetest): Removed.
22316 (videoinfo): New module.
22317 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
22318 * grub-core/commands/i386/pc/vbetest.c: Removed.
22319 * grub-core/commands/videoinfo.c: New file.
22320 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
22321 specification.
22322 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
22323 as vbetest.
22324 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
22325 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
22326 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
22327 mode_number. New parameter mode. All users updated.
22328 (grub_video_gop_iterate): New function.
22329 (grub_video_efi_gop): New member iterate.
22330 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
22331 (grub_vbe_set_video_mode): Remove setting useless fields.
22332 (vbe2videoinfo): New function.
22333 (grub_video_vbe_iterate): Likewise.
22334 (grub_video_vbe_setup): Use vbe2videoinfo.
22335 (grub_video_vbe_print_adapter_specific_info): New function.
22336 (grub_video_vbe_adapter): New fields iterate and
22337 print_adapter_specific_info.
22338 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
22339 All users updated.
22340 (grub_video_mode_info): New field mode_number.
22341 (grub_video_adapter): New fields iterate and
22342 print_adapter_specific_info.
22343
179503f5
TG
223442010-09-13 Tristan Gingold <gingold@free.fr>
223452010-09-13 Robert Millan <rmh.grub@aybabtu.com>
223462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22347
22348 * grub-core/commands/efi/lsefisystab.c: New file.
22349 * grub-core/commands/efi/lssal.c: Likewise.
22350 * grub-core/Makefile.core.def (lsacpi): New module.
22351 (lsefisystab): Likewise.
22352 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22353 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22354 (grub_efi_sal_system_table): New struct.
22355 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22356 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22357 (grub_efi_sal_system_table_platform_features): Likewise.
22358 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22359 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22360 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22361 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22362
cf9827de
VS
223632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22364
22365 Support explicit user claim that a device is BIOS-visible.
22366
22367 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22368 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22369 * grub-core/kern/emu/hostdisk.c
22370 (convert_system_partition_to_system_disk): Support mdX.
22371 (find_system_device): New parameter add. All users updated.
22372 (grub_util_biosdisk_is_present): New function.
22373 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22374 proto.
22375
53f0eb1f
VS
223762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22377
22378 Search hints support.
22379
22380 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22381 All users updated.
22382
b23ffd70
YB
223832010-09-13 Yves Blusseau <blusseau@zetam.org>
22384
22385 Bash completion script for util commands
22386
22387 * Makefile.am: Add util/bash-completion.d directory
22388 * configure.ac: Likewise.
22389 * util/bash-completion.d/Makefile.am: New file.
22390 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22391
d547dc28
VS
223922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22393
22394 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22395 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22396 Reported by: Yves Blusseau.
22397
2fc8ccb9
VS
223982010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22399
22400 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22401 partition size and offset.
22402
d8a84076
VS
224032010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22404
22405 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22406
84fb3b3d
VS
224072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22408
22409 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22410
768ec2e2
VS
224112010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22412
22413 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22414 (grub_xvasprintf): Likewise.
22415
4870900f
VS
224162010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22417
22418 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22419
faca6bec
VS
224202010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22421
22422 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22423 args ending with NULL.
22424
224252010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
22426
22427 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22428 pointer.
22429
3c70f225
SJ
224302010-09-11 Szymon Janc <szymon@janc.net.pl>
22431
22432 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22433
4df7996d
VS
224342010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22435
22436 Shutdown using ACPI.
22437
22438 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22439 * grub-core/commands/acpihalt.c: New file.
22440 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22441 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22442 (grub_acpi_halt): New proto.
22443 (GRUB_ACPI_SLP_EN): New const.
22444 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22445 (GRUB_ACPI_OPCODE_*): New enum.
22446 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22447
126b4c32
TG
224482010-09-11 Tristan Gingold <gingold@free.fr>
224492010-09-11 Robert Millan <rmh.grub@aybabtu.com>
224502010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22451
22452 * commands/lsacpi.c: New file.
22453 * grub-core/Makefile.core.def (lsacpi): New module.
22454 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22455 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22456 (grub_acpi_madt_entry_header): New struct.
22457 (grub_acpi_madt): Likewise.
22458 (grub_acpi_madt_entry_interrupt_override): Likewise.
22459 (grub_acpi_madt_entry_sapic): Likewise.
22460 (grub_acpi_madt_entry_lsapic): Likewise.
22461 (grub_acpi_madt_entry_platform_int_source): Likewise.
22462 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22463 (PRIuGRUB_UINT32_T): Likewise.
22464 (PRIxGRUB_UINT64_T): Likewise.
22465
1aa4fe88
VS
224662010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22467
22468 Implement loading palette on ieee1275_fb.
22469
22470 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22471 (have_setcolors): Likewise.
22472 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
22473 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
22474 (grub_video_ieee1275_set_palette): Implement.
22475
25761e13
VS
224762010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
224772010-09-11 Colin Watson <cjwatson@ubuntu.com>
22478
22479 * util/grub-install.in (grub_partition): New variable.
22480 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
22481 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
22482 Fixes a bug reported by Yves Blusseau.
22483
050abaea
VS
224842010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22485
22486 Fix emu on mipsel.
22487
22488 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22489 =grub_cpu_flush_cache on all mips and not only yeeloong.
22490 * configure.ac (COND_mips): New conditional.
22491 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22492 platforms.
22493 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22494 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22495 [GRUB_LINKER_HAVE_INIT]: New function.
22496 (grub_emu_post_init): Likewise.
22497 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22498 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22499 * include/grub/cache.h (_mips): Include mips/cache.h.
22500 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
22501 LVM and RAID prototypes.
22502 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
22503 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
22504 function.
22505
5ed7d816
CW
225062010-09-10 Colin Watson <cjwatson@ubuntu.com>
22507
22508 * util/grub-install.in: Don't try to verify core.img until after
22509 running grub-mkimage to create it.
22510
90367e04
RM
225112010-09-10 Robert Millan <rmh@gnu.org>
22512
22513 * util/grub.d/10_hurd.in: Add misc readability checks.
22514 * util/grub.d/10_kfreebsd.in: Likewise.
22515 * util/grub.d/10_linux.in: Likewise.
22516
c452fa66
CW
225172010-09-10 Colin Watson <cjwatson@ubuntu.com>
22518
22519 * util/grub-install.in: ${imgext} won't be defined here until the
22520 install branch is merged. For the meantime, only verify core.img on
22521 i386-pc and sparc64-ieee1275 platforms.
22522
c38fe9f4
RM
225232010-09-10 Robert Millan <rmh@gnu.org>
22524
22525 Solaris support in grub_find_zpool_from_dir(). Thanks
22526 Seth Goldberg for referring to getextmntent() facility.
22527
22528 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22529 `sys/mkdev.h'.
22530 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22531 `<sys/mnttab.h>'.
22532 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22533 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22534 method for finding zpool name.
22535
905f7773
CW
225362010-09-10 Colin Watson <cjwatson@ubuntu.com>
22537
22538 grub-fstest needs the host and hostfs modules while other utilities
22539 actively require those modules to be absent, so grub-fstest needs
22540 its own initialisation and finalisation code.
22541
22542 * Makefile.am (grub_fstest.pp): New target.
22543 (grub_fstest_init.lst): Likewise.
22544 (grub_fstest_init.c): Likewise.
22545 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22546
fb90b546
RM
225472010-09-10 Robert Millan <rmh@gnu.org>
22548
22549 * configure.ac: Check for `struct statfs.f_fstypename' and
22550 `struct statfs.f_mntfromname'.
22551
22552 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22553 kFreeBSD-specific code.
22554
66d4bea5
RM
225552010-09-10 Robert Millan <rmh@gnu.org>
22556
22557 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22558 on ZFS. Now non-main filesystems are supported as / too.
22559
b6a690ee
CW
225602010-09-09 Colin Watson <cjwatson@ubuntu.com>
22561
22562 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22563 and grub-core/disk/host.c to ...
22564 (grub-fstest): ... here. Having the host disk implementation
22565 present confuses grub-probe and other utility programs.
22566
22567 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22568 when writing to a file, not when writing to stdout.
22569
8901b00c 225702010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22571
22572 * tests/partmap_test.in: New test for partitions.
22573 * Makefile.util.def: Rules for new test.
22574
7bf45fdd
RM
225752010-09-09 Robert Millan <rmh@gnu.org>
22576
22577 * util/grub-probe.c (probe): Fix a pair of unhandled error
22578 conditions.
22579
4dfbc574
RM
225802010-09-09 Robert Millan <rmh@gnu.org>
22581
22582 Basic Btrfs support (detection and UUID).
22583
22584 * grub-core/fs/btrfs.c: New file.
22585 * Makefile.util.def (library): Register btrfs.c.
22586 * grub-core/Makefile.core.def: Likewise.
22587
6b8e78ae
RM
225882010-09-08 Robert Millan <rmh@gnu.org>
22589
22590 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22591 with (optional) parameters to specify device and relative path.
22592 * util/grub-install.in: Use is_path_readable_by_grub() to
22593 verify readability of a few critical files.
22594 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22595 verify readability of grub.cfg.new.
22596
27f21a8b
VS
225972010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22598
22599 Split minix.mod into minix.mod and minix2.mod.
22600
22601 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22602 * grub-core/Makefile.core.def (minix2): New module.
22603 * grub-core/fs/minix.c: Use definitions instead of runtime version
22604 checking.
22605 * grub-core/fs/minix2.c: New file.
22606
c0e53ea5
YB
226072010-09-08 Yves Blusseau <blusseau@zetam.org>
22608
22609 Add new --boot-directory option to replace --root-directory
22610
22611 * util/grub-install.in: Add new --boot-directory option
22612 * util/grub-reboot.in: Likewise.
22613 * util/grub-set-default.in: Likewise.
22614
b9fe6ea2
YB
226152010-09-08 Yves Blusseau <blusseau@zetam.org>
22616
22617 * util/grub-mkconfig.in: Use new variable.
22618
d87aedff
YB
226192010-09-08 Yves Blusseau <blusseau@zetam.org>
22620
22621 * configure.ac: Define some useful variables.
22622
e55e8495
VS
226232010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22624
22625 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22626 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22627 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22628 Use terminfo and don't use cursor-on/cursor-off unless it's known
22629 to work.
22630 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22631 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22632
6fa6d675
CW
226332010-09-08 Colin Watson <cjwatson@ubuntu.com>
22634
22635 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22636 starts with "(,", fill the drive containing the loaded image in
22637 between those two characters, but expect that a full partition
22638 specification including partition map names will follow.
22639
92f2aef0
RM
226402010-09-08 Robert Millan <rmh@gnu.org>
22641
22642 * configure.ac: Remove `--enable-grub-fstest' option.
22643 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22644
22645 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22646 `grub-fstest' instead of `grub-probe' for readability verification.
22647 * util/grub-probe.c (probe): Remove readability verification kludge.
22648
99fd620d
RM
226492010-09-08 Robert Millan <rmh@gnu.org>
22650
22651 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22652 initializing `GRUB_FS'.
22653
058e30ac 226542010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22655
22656 Not command (!) support to GRUB script.
22657
22658 * tests/grub_script_not.in: New test.
22659 * Makefile.util.def: Rules for new test.
22660
22661 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22662 ! command as a special case.
22663 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22664
b61d05ed 226652010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22666
058e30ac 22667 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22668 grub_free.
b61d05ed 22669
4d69c786 226702010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22671
22672 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22673
aa3119c4 226742010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22675
22676 * docs/grub.texi (Shell-like scripting): Documentation for break,
22677 continue, shift and return commands.
22678
db0f7e3d
VS
226792010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22680
22681 Rename CD-ROM to cd on BIOS.
22682
22683 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22684 "cd".
22685 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22686
88b87c93
VS
226872010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22688
22689 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22690 * util/grub-probe.c (main): Likewise.
22691 * util/i386/pc/grub-setup.c (main): Likewise.
22692 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22693 Reported and debugged by: alexxy
22694
294f324d
VS
226952010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22696
22697 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22698 diagnostic info.
22699
d7ee3441
JS
227002010-09-05 Jo Shields <directhex@apebox.org>
22701
22702 * util/grub.d/30_os-prober.in: Add missing classes.
22703
d7e06c1f
VS
227042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22705
22706 * docs/grub.texi (Theme file format): Document new position format.
22707
fc157e53
VS
227082010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22709
22710 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22711 a table. Use @code instead of @verbatim.
22712
506e9a1c
CB
227132010-09-05 Colin D Bennett <colin@gibibit.com>
22714
22715 Gfxmenu documentation.
22716
22717 * docs/grub.texi (Theme file format): New chapter.
22718
f0aff67c
SJ
227192010-09-05 Szymon Janc <szymon@janc.net.pl>
22720
22721 * grub-core/Makefile.core.def (xzio): New module.
22722 * grub-core/io/xzio.c: New file.
22723 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22724 * grub-core/lib/xzembed/xz_config.h: Likewise.
22725 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22726 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22727 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22728 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22729 * grub-core/lib/xzembed/xz_private.h: Likewise.
22730 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22731 * include/grub/file.h (grub_file_filter_id): New compression filter
22732 GRUB_FILE_FILTER_XZIO.
22733
82a85062
VS
227342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22735
22736 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22737 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22738 size.
22739
3579415d
VS
227402010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22741
22742 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22743 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22744
5124ae6d
VS
227452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22746
22747 Uncompressed checksum support.
22748
22749 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22750 (check_list): New parameter uncompress.
22751 (grub_cmd_hashsum): Handle --uncompress.
22752
9aadb3d1
VS
227532010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22754
22755 Reintroduce testload.
22756
22757 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22758 from here ...
22759 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22760 (GRUB_MOD_INIT): New function.
22761 (GRUB_MOD_FINI): Likewise.
22762 * grub-core/Makefile.core.def (testload): New module.
22763
a17792c3
SJ
227642010-09-05 Szymon Janc <szymon@janc.net.pl>
22765
22766 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22767 (uint8_t): New type.
22768 (uint16_t): Likewise.
22769 (uint32_t): Likewise.
22770 (uint64_t): Likewise.
22771
b81e40a3
SJ
227722010-09-05 Szymon Janc <szymon@janc.net.pl>
22773
22774 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22775
fc2ef117
VS
227762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22777
22778 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22779 Made static.
22780 (grub_gzfile_open): Removed. All users updated.
22781 (GRUB_MOD_INIT): New function.
22782 (GRUB_MOD_FINI): Likewise.
22783 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22784 (grub_file_filters_enabled): Likewise.
22785 (grub_file_open): Handle filters.
22786 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22787 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22788 * include/grub/file.h (grub_file_filter_id_t): New type.
22789 (grub_file_filter_t): Likewise.
22790 (grub_file_filters_all): New extern variable.
22791 (grub_file_filters_enabled): Likewise.
22792 (grub_file_filter_register): New inline function.
22793 (grub_file_filter_unregister): Likewise.
22794 (grub_file_filter_disable): Likewise.
22795 (grub_file_filter_disable_compression): Likewise.
22796 * include/grub/gzio.h: Removed.
22797
35ee15e0
BC
227982010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22799
22800 Filename expansion support for wildcards in GRUB script.
22801
22802 * tests/grub_script_expansion.in: New test.
22803 * Makefile.util.def: Rule for new test.
22804
22805 * grub-core/commands/wildcard.c: New file, implements filename
22806 expansion support for GRUB script.
22807 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22808 * grub-core/script/argv.c: Cosmetic changes.
22809 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22810 Refactored to perform wildcard expansion on arguments.
22811 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22812 struct.
22813
22814 * tests/util/grub-shell.in: Fix quoting for read input.
22815
5f0c4aca
BC
228162010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22817
22818 Support for updating environment variables with matched substrings
22819 of regexp.
22820
22821 * tests/grub_cmd_regexp.in: New test.
22822 * Makefile.util.def: Rule for new test.
22823
22824 * grub-core/commands/regexp.c: New option -s to update environment
22825 variables with regexp matches.
22826
3759a35f
SJ
228272010-09-04 Szymon Janc <szymon@janc.net.pl>
22828
22829 * include/grub/file.h (grub_file): New member not_easly_seekable.
22830 (grub_file_seekable): New inline function.
22831 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22832 easily seekable.
22833 (grub_gzio_open): Set not_easly_seekable.
22834 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22835 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22836
ed8c6dec
BC
228372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22838
22839 Support for options to appear multiple times on cmdline.
22840
22841 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22842 * grub-core/commands/extcmd.c: Support for repeatable option.
22843 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22844 repeatable option support.
22845
22846 Refactor menuentry into a regular command.
22847
22848 * grub-core/commands/menuentry.c: New file, menuentry command
22849 implementation.
22850 * grub-core/Makefile.core.def: Rule update for normal.mod.
22851 * grub-core/normal/main.c: Moved menuentry creation to
22852 grub-core/commands/menuentry.c.
22853 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22854 (grub_menu_execute_entry_real): Removed.
22855 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22856 function.
22857 (grub_script_execute_menuentry): Removed.
22858 * grub-core/script/parser.y (menuentry): Removed.
22859 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22860 * grub-core/script/yylex.l (menuentry): Removed.
22861 * include/grub/menu.h (grub_menu_init): New prototype.
22862 (grub_menu_fini): New prototype.
22863 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22864 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22865 (grub_script_execute_sourcecode): New prototype.
22866
dacd0cf0
BC
228672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22868
22869 "return" command for GRUB script functions.
22870
22871 * tests/grub_script_return.in: New test.
22872 * Makefile.util.def: Rules for new test.
22873
22874 * grub-core/script/execute.c (grub_script_return): New function.
22875 * grub-core/script/main.c: Register/unregister return commaond.
22876 * include/grub/script_sh.h (grub_script_return): New prototype.
22877
52e72f9d
BC
228782010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22879
22880 "setparams" command to update positional parameters.
22881
22882 * tests/grub_script_setparams.in: New test.
22883 * Makefile.util.def: Rules for new test.
22884
22885 * grub-core/script/argv.c (grub_script_argv_make): New function.
22886 * grub-core/script/execute.c (replace_scope): New function.
22887 (grub_script_setparams): New function.
22888 * grub-core/script/lexer.c: Remove unused variables.
22889 * grub-core/script/main.c: Register/unregister setparams command.
22890 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22891 (grub_script_setparams): New prototype.
22892
25b60c91
BC
228932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22894
22895 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22896 grub_free order.
22897
37e7bf68
BC
228982010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22899
22900 Support for passing block of commands as an argument to extcmds.
22901
22902 * Makefile.util.def: Rules for new test.
22903 * tests/grub_script_blockarg.in: New test.
22904 * grub-core/tests/test_blockarg.c: New file, block argument
22905 command used in the test.
22906
22907 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22908 (grub_register_extcmd_prio): New function prototype.
22909 (grub_extcmd_dispatcher): New function prototype.
22910 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22911 type.
22912 * include/grub/script_sh.h (struct grub_script): New members
22913 `children', `next_siblings' and `refcnt' for block arguments and
22914 reference counting.
22915 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22916 (grub_script_arg): New member `script' for block argument.
22917 (grub_script_argv): New member `script' for block argument.
22918 (grub_parser_param): New member `scripts' for block argument.
22919 (grub_script_mem_free): New extern function prototype.
22920 (grub_script_ref): New function prototype.
22921 (grub_script_unref): New function prototype.
22922
22923 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22924 extcmd form to support block arguments.
22925 * grub-core/script/argv.c: Block arguments support.
22926 * grub-core/script/execute.c: Likewise.
22927 * grub-core/script/lexer.c: Likewise.
22928 * grub-core/script/main.c: Likewise.
22929 * grub-core/script/script.c: Likewise.
22930 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22931 non-terminals.
22932
22933 * grub-core/commands/acpi.c: Update extcmd implementations with
22934 grub_extcmd_context_t.
22935 * grub-core/commands/cat.c: Likewise.
22936 * grub-core/commands/echo.c: Likewise.
22937 * grub-core/commands/extcmd.c: Likewise.
22938 * grub-core/commands/hashsum.c: Likewise.
22939 * grub-core/commands/hdparm.c: Likewise.
22940 * grub-core/commands/help.c: Likewise.
22941 * grub-core/commands/hexdump.c: Likewise.
22942 * grub-core/commands/i386/cpuid.c: Likewise.
22943 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22944 * grub-core/commands/i386/pc/halt.c: Likewise.
22945 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22946 * grub-core/commands/iorw.c: Likewise.
22947 * grub-core/commands/keystatus.c: Likewise.
22948 * grub-core/commands/loadenv.c: Likewise.
22949 * grub-core/commands/ls.c: Likewise.
22950 * grub-core/commands/lspci.c: Likewise.
22951 * grub-core/commands/memrw.c: Likewise.
22952 * grub-core/commands/probe.c: Likewise.
22953 * grub-core/commands/search_wrap.c: Likewise.
22954 * grub-core/commands/setpci.c: Likewise.
22955 * grub-core/commands/sleep.c: Likewise.
22956 * grub-core/disk/loopback.c: Likewise.
22957 * grub-core/hello/hello.c: Likewise.
22958 * grub-core/loader/i386/bsd.c: Likewise.
22959 * grub-core/loader/xnu.c: Likewise.
22960 * grub-core/term/gfxterm.c: Likewise.
22961 * grub-core/term/serial.c: Likewise.
22962 * grub-core/tests/lib/functional_test.c: Likewise.
22963
888d1500
BC
229642010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22965
22966 Multi-line quoted strings support.
22967
22968 * grub-core/script/lexer.c (append_newline): Removed.
22969 (grub_script_lexer_yywrap): Refactored.
22970 (grub_script_lexer_init): Refactored.
22971 * grub-core/script/yylex.l (yywrap): New function.
22972 (grub_lexer_resplit): New function.
22973 (grub_lexer_unput): New function.
22974 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22975 and resplit.
22976 * tests/grub_script_echo1.in: Added few more testcases.
22977
dda060dd
VS
229782010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22979
22980 * grub-core/kern/misc.c: Don't add abort alias in utils.
22981 Reported by: echoline.
22982
6556eba9
BC
229832010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22984
22985 Add missing files into "make dist" tarball for other platforms.
22986
22987 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22988 * conf/Makefile.common (dist_noinst_DATA): New variable.
22989 * conf/Makefile.extra-dist: Added missing make dist files.
22990 * grub-core/Makefile.core.def: Likewise.
22991
c8e7bf5f
VS
229922010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22993
22994 Compress grub_prefix.
22995
22996 * grub-core/boot/i386/pc/lnxboot.S: Use
22997 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22998 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22999 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
23000 GRUB_MACHINE_PREFIX_END. All users updated.
23001 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
23002 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
23003 + 0x40.
23004 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
23005 * util/grub-mkimage.c (image_target_desc): Change data_end to
23006 prefix_end. All users updated.
23007
a7c00cdb
VS
230082010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23009
23010 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
23011 value.
23012 (grub_openbsd_boot): Likewise.
23013 (grub_netbsd_boot): Likewise.
23014 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
23015 (grub_xnu_boot): Likewise.
23016
9f915872
VS
230172010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23018
23019 * configure.ac: Clean LIBS variable after tests.
23020
efa1bee7
CW
230212010-09-02 Colin Watson <cjwatson@ubuntu.com>
23022
23023 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
23024
61d720e5
VS
230252010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23026
23027 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
23028 echo if libdevmapper will be used.
23029
ef8e0ec8
IT
230302010-09-02 Ian Turner <Ian.Turner@deshaw.com>
23031
23032 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
23033 constant for the same file.
23034
03e261d8
VS
230352010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23036
23037 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
23038
c2a4eba6
CW
230392010-09-02 Colin Watson <cjwatson@ubuntu.com>
23040
23041 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
23042 grub-core/*.pp.
23043
9056cbf3
CW
230442010-09-02 Colin Watson <cjwatson@ubuntu.com>
23045
23046 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
23047 required by the boot protocol.
23048
23049 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
23050 ebp and edi members.
23051 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
23052 state.ebp and state.edi.
23053 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
23054 %ebp and %edi according to grub_relocator32_ebp and
23055 grub_relocator32_edi respectively.
23056 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
23057 and state.edi.
23058
529cc99a
VS
230592010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23060
23061 Add i386-pc-pxe image target.
23062
23063 * util/grub-mkimage.c (image_target_desc): New enum value
23064 IMAGE_I386_PC_PXE.
23065 (image_targets): New target i386-pc-pxe.
23066 (generate_image): Handle i386-pc-pxe image.
23067
9a093920
VS
230682010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23069
23070 Fix grub_pxe_scan.
23071
23072 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
23073 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
23074 All users updated.
23075 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
23076 (grub_pxe_pxenv): Correct type.
23077
f9cefc4e
CW
230782010-09-01 Colin Watson <cjwatson@ubuntu.com>
23079
23080 * NEWS: Document most of the important changes since 1.98.
23081
4066f57f
CW
230822010-09-01 Colin Watson <cjwatson@ubuntu.com>
23083
23084 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
23085 generated manual page) a little.
23086
da2891f9
CW
230872010-09-01 Colin Watson <cjwatson@ubuntu.com>
23088
23089 * docs/grub.texi: Add myself as an author.
23090
ad717fae
VS
230912010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23092
23093 * Makefile.util.def (libgrub.a): Add missing sunpc.
23094 Reported by: Seth Goldberg.
23095
eefe8abd
VS
230962010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23097
23098 Interrupt wrapping and code simplifications.
23099
9494ef9a
VS
23100 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
23101 x86_noieee1275 which are functionaly equivalent in this case.
23102 (grub-install): Make source on each platform explicit. Enable on
23103 all noemu.
23104 * gentpl.py (x86_efi_pc): Removed group.
23105 (x86_noefi): Likewise.
23106 (i386_noefi): Likewise.
23107 (x86_noieee1275): Likewise.
23108 (i386_noieee1275): Likewise.
23109 (i386_noefi_noieee1275): Likewise.
23110 (i386_pc_qemu_coreboot): Likewise.
23111 (i386_coreboot_multiboot): Likewise.
23112 (i386_pc_coreboot_multiboot_qemu): Likewise.
23113 (x86_noefi_mips): Likewise.
23114 (noieee1275): Likewise.
23115 (ieee1275_mips): Likewise.
23116 (noemu_noieee1275): Likewise.
23117 (cmos): New group.
23118 (usb): Likewise.
23119 (videoinkernel): Likewise.
23120 (videomodules): Likewise.
eefe8abd 23121 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
23122 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
23123 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
23124 include/grub/loader.h, include/grub/msdos_partition.h,
23125 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
23126 include/grub/machine/console.h, include/grub/machine/vga.h,
23127 include/grub/machine/vbe.h, include/grub/machine/init.h,
23128 include/grub/machine/kernel.h, include/grub/cpu/time.h,
23129 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 23130 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
23131 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
23132 * grub-core/Makefile.core.def (kernel): Explicit the source for
23133 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
23134 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
23135 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
23136 Use videoinkernel tag.
23137 (usb): Enable on all usb.
23138 (usbserial_common): Likewise.
23139 (usbserial_pl2303): Likewise.
23140 (usbserial_ftdi): Likewise.
23141 (uhci): Enable on all x86.
23142 (ohci): Enable on all pci.
23143 (cmostest): Enable on all CMOS.
23144 (acpi): Include commands/acpi.c on all platforms.
23145 (halt): Add relevant lib/*/halt.c.
23146 (hdparm): Enable on all pci.
23147 (lspci): Likewise.
23148 (usbtest): Enable on all usb.
23149 (ata): Enable on all pci.
23150 (ata_pthru): Likewise.
23151 (usbms): Enable on all usb.
23152 (usb_keyboard): Likewise.
23153 (font): Use tag videomodules.
23154 (bufio): Likewise.
23155 (datetime): Use tag cmos. Enable on all noemu.
23156 (mmap): Use tags common and x86.
23157 (gfxterm): Use tag videomodules.
23158 (bitmap): Likewise.
23159 (bitmap_scale): Likewise.
23160 (video_fb): Likewise.
23161 (video): Likewise.
23162 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
23163 adjust padding accordingly. All users updated.
23164 (grub_ohci_transaction): Fix bad format specification.
23165 (GRUB_MOD_INIT): Add asserts for struct size.
23166 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
23167 (grub_alloc_td): Likewise.
23168 (grub_free_queue): Likewise.
23169 (grub_uhci_transfer): Likewise.
23170 (grub_uhci_transaction): Fix bad format specification.
23171 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23172 (grub_usb_bulk_readwrite): Likewise.
23173 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
23174 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
23175 Made static.
23176 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
23177 Made static.
23178 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
23179 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
23180 Transformed into C.
23181 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
23182 Moved from here ...
23183 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
23184 ... here. Transformed into C. Made static.
23185 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
23186 Moved from here ...
23187 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
23188 ... here. Transformed into C. Made static.
23189 * grub-core/kern/i386/pc/startup.S
23190 (grub_biosdisk_check_int13_extensions): Moved from here ...
23191 * grub-core/disk/i386/pc/biosdisk.c
23192 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
23193 Made static.
23194 * grub-core/kern/i386/pc/startup.S
23195 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
23196 * grub-core/disk/i386/pc/biosdisk.c
23197 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
23198 Transformed into C. Made static.
23199 * grub-core/kern/i386/pc/startup.S
23200 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
23201 * grub-core/disk/i386/pc/biosdisk.c
23202 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
23203 Transformed into C. Made static.
23204 * grub-core/kern/i386/pc/startup.S
23205 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
23206 * grub-core/disk/i386/pc/biosdisk.c
23207 (grub_biosdisk_get_diskinfo_standard): ... here.
23208 Transformed into C. Made static.
23209 * grub-core/kern/i386/pc/startup.S
23210 (grub_biosdisk_get_num_floppies): Moved from here ...
23211 * grub-core/disk/i386/pc/biosdisk.c
23212 (grub_biosdisk_get_num_floppies): ... here.
23213 Transformed into C. Made static.
23214 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
23215 New function.
23216 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
23217 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
23218 Transformed into C. Made static.
23219 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
23220 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
23221 Transformed into C. Made static.
23222 * grub-core/kern/i386/ieee1275/init.c: Removed.
23223 * grub-core/kern/i386/misc.S: Likewise.
23224 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
23225 Splitted from here ...
23226 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
23227 Transformed into C. Made static. All users updated.
23228 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
23229 Transformed into C. Made static. All users updated.
23230 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
23231 Moved from here...
23232 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
23233 Transformed into C. Made static. All users updated.
23234 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
23235 Moved from here...
23236 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
23237 Transformed into C. Made static. All users updated.
23238 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
23239 Removed (replaced by C version).
23240 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
23241 Moved from here...
23242 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
23243 Transformed into C. Made static.
23244 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
23245 Moved from here...
23246 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
23247 ... here. Transformed into C.
23248 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
23249 Moved from here...
23250 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
23251 ... here. Transformed into C.
23252 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
23253 Moved from here...
23254 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
23255 ... here. Transformed into C. Made static.
23256 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
23257 Moved from here...
23258 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
23259 ... here. Transformed into C.
21ed554b
VS
23260 * grub-core/kern/i386/pc/startup.S
23261 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
23262 * grub-core/video/i386/pc/vbe.c
23263 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
23264 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
23265 Moved from here...
23266 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
23267 ... here. Transformed into C.
23268 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
23269 Moved from here...
23270 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
23271 ... here. Transformed into C.
23272 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
23273 Moved from here...
23274 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
23275 ... here. Transformed into C.
23276 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
23277 Moved from here...
23278 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
23279 ... here. Transformed into C.
23280 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
23281 Moved from here...
23282 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
23283 ... here. Transformed into C. Made static.
23284 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
23285 Moved from here...
23286 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
23287 ... here. Transformed into C. Made static.
23288 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
23289 Moved from here...
23290 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
23291 ... here. Transformed into C. Made static.
23292 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
23293 pxe_rm_entry as third argument.
23294 (grub_bios_interrupt): New function.
23295 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
23296 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
23297 of calling grub_stop.
23298 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
23299 * grub-core/lib/efi/halt.c (grub_halt): ...here.
23300 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
23301 * grub-core/lib/emu/halt.c (grub_halt): ... here.
23302 * grub-core/lib/i386/halt.c: Moved from here ...
23303 * grub-core/lib/i386/halt.c: ... here.
23304 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
23305 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
23306 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
23307 grub_stop_floppy.
23308 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
23309 * include/grub/i386/coreboot/init.h: Removed.
23310 * include/grub/i386/multiboot/init.h: Likewise.
23311 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
23312 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
23313 * include/grub/i386/pc/int.h: New file.
23314 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
23315 (grub_pxe_scan): Removed.
23316 (grub_pxe_call): Update prototype.
23317 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
23318 prototypes.
23319 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
23320 * include/grub/i386/qemu/init.h: Removed.
23321 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
23322 noreturn.
23323 (grub_halt): Likewise.
23324 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
23325 (grub_reboot): Likewise.
23326 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
23327 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
23328 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
23329
215dd471
RM
233302010-08-30 Robert Millan <rmh@gnu.org>
23331
23332 * NEWS: Document addition of ZFS support in `grub-install' and
23333 `grub-mkconfig'.
23334
ebd65b82
BC
233352010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
23336
23337 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
23338 dprintf output.
23339
11721d19
VS
233402010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23341
23342 Remove leftover embedding of font objects.
23343
23344 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23345 * util/grub-install.in (font): Removed.
23346 * util/grub-mkimage.c (generate_image): Remove font support. All users
23347 updated.
23348
37837d4e
VS
233492010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23350
23351 Remove leftover embedding of font objects.
23352
23353 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23354 * util/grub-install.in (font): Removed.
23355 * util/grub-mkimage.c (generate_image): Remove font support. All users
23356 updated.
23357
b4c1aae0
VS
233582010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23359
23360 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 23361 Reported by: Ian Turner
b4c1aae0 23362
8920a08d
VS
233632010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23364
23365 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23366 timeout to avoid indefinite boot stalling.
23367
f21db033
VS
233682010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23369
23370 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23371 (grub_env_write_color_highlight): Likewise.
23372
9a9de209
VS
233732010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23374
23375 * grub-core/normal/term.c (print_more): Return to normal and not
23376 to standard state after printing "---MORE---".
23377
3dca01d7
VS
233782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23379
23380 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23381 Mask out the bit 0x80 since it has other meaning that specifiing color.
23382
0b986c40
VS
233832010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23384
23385 New relocator. Allows for more kernel support and more straightforward
23386 loader writing.
23387
23388 * Makefile.am (BOOTTARGET): New variable.
23389 (QEMU32): Likewise.
23390 (linux.init.x86_64): New target.
23391 (linux.init.i386): Likewise.
23392 (multiboot.elf): Likewise.
23393 (kfreebsd.elf): Likewise.
23394 (kfreebsd.aout): Likewise.
23395 (pc-chainloader.elf): Likewise.
23396 (pc-chainloader.bin): Likewise.
23397 (ntldr.elf): Likewise.
23398 (ntldr.bin): Likewise.
23399 (multiboot2.elf): Likewise.
23400 (kfreebsd.init.x86_64): Likewise.
23401 (kfreebsd.init.i386): Likewise.
23402 (knetbsd.init.i386): Likewise.
23403 (kopenbsd.init.i386): Likewise.
23404 (knetbsd.init.x86_64): Likewise.
23405 (kopenbsd.init.x86_64): Likewise.
23406 (linux-initramfs.i386): Likewise.
23407 (linux-initramfs.x86_64): Likewise.
23408 (kfreebsd-mfsroot.i386.img): Likewise.
23409 (knetbsd.image.i386): Likewise.
23410 (kopenbsd.image.i386): Likewise.
23411 (kopenbsd.image.x86_64): Likewise.
23412 (knetbsd.miniroot-image.i386.img): Likewise.
23413 (kfreebsd-mfsroot.x86_64.img): Likewise.
23414 (knetbsd.image.x86_64): Likewise.
23415 (knetbsd.miniroot-image.x86_64.img): Likewise.
23416 (kfreebsd-mfsroot.i386.gz): Likewise.
23417 (bootcheck-kfreebsd-i386): Likewise.
23418 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23419 (bootcheck-kfreebsd-x86_64): Likewise.
23420 (knetbsd.miniroot-image.i386.gz): Likewise.
23421 (bootcheck-knetbsd-i386): Likewise.
23422 (bootcheck-kopenbsd-i386): Likewise.
23423 (bootcheck-kopenbsd-x86_64): Likewise.
23424 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23425 (bootcheck-knetbsd-x86_64): Likewise.
23426 (bootcheck-linux-i386): Likewise.
23427 (bootcheck-linux-x86_64): Likewise.
23428 (bootcheck-linux16-i386): Likewise.
23429 (bootcheck-linux16-x86_64): Likewise.
23430 (bootcheck-multiboot): Likewise.
23431 (bootcheck-multiboot2): Likewise.
23432 (bootcheck-kfreebsd-aout): Likewise.
23433 (bootcheck-pc-chainloader): Likewise.
23434 (bootcheck-ntldr): Likewise.
23435 (CLEANFILES): Add new targets.
23436 (BOOTCHECKS): New variable.
23437 (.PHONY): Add bootchecks.
23438 (SUCCESSFUL_BOOT_STRING): New variable.
23439 (BOOTCHECK_TIMEOUT): Likewise.
23440 (bootcheck): New target
23441 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23442 * configure.ac: Correct efiemu excuse.
23443 * docs/grub.texi (Supported kernels): New chapter.
23444 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23445 include/grub/mm_private.h. Simplify inclusion of
23446 include/grub/boot.h, include/grub/loader.h
23447 and include/grub/msdos_partition.h
23448 (KERNEL_HEADER_FILES) [i386_coreboot]:
23449 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23450 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23451 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23452 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23453 include/grub/machine/loader.h.
23454 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23455 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23456 extra_dist.
23457 (pci.mod): Enable on i386-multiboot.
23458 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23459 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23460 i386-qemu.
23461 (relocator.mod): Rewritten.
23462 (aout.mod): Enable on all x86.
23463 (bsd.mod): Likewise.
23464 (ntldr.mod): New module.
23465 (linux.mod): Use loader/i386/linux.c on all x86.
23466 (xnu.mod): Enable on all x86.
23467 (vga_text.mod): disable on EFI and QEMU.
23468 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23469 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23470 * grub-core/efiemu/loadcore.c: Likewise.
23471 * grub-core/efiemu/main.c: Likewise.
23472 (grub_efiemu_exit_boot_services): Removed.
23473 (grub_efiemu_finish_boot_services): Likewise.
23474 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
23475 function.
23476 * grub-core/efiemu/i386/nocfgtables.c: New file.
23477 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
23478 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
23479 (grub_efi_finish_boot_services): Moved from here ...
23480 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
23481 Fille finish memory map and related data.
23482 (finish_mmap_buf): New variable.
23483 (grub_efi_uintn_t finish_mmap_size): Likewise.
23484 (grub_efi_uintn_t finish_key): Likewise.
23485 (grub_efi_uintn_t finish_desc_size): Likewise.
23486 (grub_efi_uint32_t finish_desc_version): Likewise.
23487 (grub_efi_is_finished): Likewise.
23488 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23489 finished.
23490 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23491 (grub_elf64_phdr_iterate): Likewise.
23492 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23493 (grub_os_area_size): Likewise.
23494 (grub_machine_init): Don't reserve os area.
23495 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23496 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23497 * grub-core/kern/i386/loader.S: Removed.
23498 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23499 (grub_os_area_size): Likewise.
23500 (grub_machine_init): Don't reserve os area.
23501 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
23502 Don't call grub_dl_unload_all.
23503 Don't include loader.S.
23504 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
23505 Declare the memory after _end as available.
23506 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 23507 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 23508 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
23509 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
23510 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
23511 * include/grub/mm_private.h (grub_mm_header): ... here.
23512 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
23513 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
23514 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23515 (grub_mm_region): ..here. Removed addr. Added pre_size.
23516 All users updated.
23517 * grub-core/kern/mm.c (base): Renamed to ...
23518 (grub_mm_base): ... this. Made global.
23519 (grub_real_malloc): Alloc from end of region.
23520 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23521 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23522 * grub-core/kern/powerpc/cache_flush.S: ... here.
23523 * grub-core/lib/efi/relocator.c: New file.
23524 * grub-core/lib/i386/relocator.c: Rewritten.
23525 * grub-core/lib/i386/relocator16.S: New file.
23526 * grub-core/lib/i386/relocator32.S: Likewise.
23527 * grub-core/lib/i386/relocator64.S: Likewise.
23528 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23529 * grub-core/lib/i386/relocator_common.S: New file.
23530 * grub-core/lib/ieee1275/relocator.c: Likewise.
23531 * grub-core/lib/mips/relocator.c: Rewritten.
23532 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23533 stylistic adjustments.
23534 * grub-core/lib/powerpc/relocator.c: New file.
23535 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23536 * grub-core/lib/relocator.c: Rewritten.
23537 * grub-core/lib/x86_64/relocator_asm.S: New file.
23538 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23539 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23540 (bsd_tag): New struct.
23541 (tags): New variable.
23542 (tags_last): Likewise.
23543 (netbsd_module): New struct.
23544 (netbsd_mods): New variable.
23545 (netbsd_mods_last): Likewise.
23546 (openbsd_opts): New parameter "serial".
23547 (OPENBSD_SERIAL_ARG): New definition.
23548 (netbsd_opts): New parameter "serial".
23549 (NETBSD_SERIAL_ARG): New definition.
23550 (grub_freebsd_add_meta): Reorganised into ...
23551 (grub_bsd_add_meta): ...this. All users updated.
23552 (grub_freebsd_add_mmap): Reorganised into ...
23553 (generate_e820_mmap): ...this...
23554 (grub_bsd_add_mmap): ...and this. All users updated.
23555 (grub_freebsd_list_modules): Use tags.
23556 (grub_netbsd_add_meta_module): New function.
23557 (grub_netbsd_list_modules): Likewise.
23558 (grub_freebsd_boot): Use relocator and finish EFI.
23559 (grub_openbsd_boot): Likewise.
23560 (grub_netbsd_setup_video): New function.
23561 (grub_netbsd_add_modules): Likewise.
23562 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23563 and finish EFI.
23564 (grub_bsd_unload): Unload tags.
23565 (grub_bsd_load_aout): Use relocator.
23566 (grub_bsd_elf32_size_hook): New function.
23567 (grub_bsd_elf32_hook): Use relocator.
23568 (grub_bsd_elf64_size_hook): New function.
23569 (grub_bsd_elf64_hook): Use relocator.
23570 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23571 (grub_bsd_load): Zero-out openbsd_ramdisk.
23572 (grub_bsd_load): Use relocator.
23573 (grub_cmd_openbsd): Support serial.
23574 (grub_cmd_netbsd): Support modules.
23575 (grub_cmd_freebsd_module): Use relocator.
23576 (grub_netbsd_module_load): New function.
23577 (grub_cmd_netbsd_module): Likewise.
23578 (grub_cmd_openbsd_ramdisk): Likewise.
23579 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23580 kopenbsd_ramdisk.
23581 (GRUB_MOD_FINI): Unregister new commands.
23582 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23583 (grub_freebsd_load_elfmodule_obj): Use relocator.
23584 (grub_freebsd_load_elfmodule): Likewise.
23585 (grub_freebsd_load_elf_meta): Likewise.
23586 (grub_netbsd_load_elf_meta): New function.
23587 (grub_openbsd_find_ramdisk): Likewise.
23588 * grub-core/loader/i386/bsd_helper.S: Removed.
23589 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23590 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23591 * grub-core/loader/i386/efi/linux.c: Likewise.
23592 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23593 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23594 (DEFAULT_VIDEO_MODE): Likewise.
23595 (real_mode_target): New variable.
23596 (prot_mode_target): Likewise.
23597 (initrd_mem_target): Likewise.
23598 (relocator): Likewise.
23599 (efi_mmap_buf): Likewise.
23600 (efi_mmap_size): Likewise.
23601 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23602 (free_pages): Use relocator.
23603 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23604 (grub_linux_setup_video): Return error.
23605 (grub_linux_trampoline_start): Removed.
23606 (grub_linux_trampoline_end): Likewise.
23607 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23608 andd video parameters depending on firmware.
23609 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23610 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23611 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23612 (grub_cmd_initrd): Use relocator.
23613 * grub-core/loader/i386/linux_trampoline.S: Removed.
23614 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23615 (elf_sec_entsize): Likewise.
23616 (elf_sec_shstrndx): Likewise.
23617 (elf_sections): Likewise.
23618 (grub_multiboot_load): Use relocator.
23619 (grub_multiboot_get_mbi_size): Account for sections.
23620 (grub_multiboot_make_mbi): Use relocator and support sections.
23621 (grub_multiboot_add_elfsyms): New function.
23622 (grub_multiboot_free_mbi): Free sections.
23623 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23624 (grub_linux_real_target): Likewise.
23625 (grub_linux_real_chunk): Likewise.
23626 (grub_linux16_prot_size): Likewise.
23627 (grub_linux16_boot): Use relocator.
23628 (grub_linux_unload): Unload relocator.
23629 (grub_cmd_linux): Use relocator.
23630 (grub_cmd_initrd): Likewise.
23631 * grub-core/loader/i386/pc/ntldr.c: New file.
23632 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23633 Don't try to guess CPU frequency.
23634 (grub_xnu_set_video): Stretch bitmap.
23635 (grub_xnu_boot): Use relocator.
23636 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23637 (grub_linux_unload): Free relocator.
23638 (grub_linux_load32): Use relocator.
23639 (grub_linux_load64): Likewise.
23640 (grub_cmd_initrd): Likewise.
23641 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23642 (grub_multiboot_unload): Unload relocator.
23643 (grub_cmd_multiboot): Use relocator.
23644 (grub_cmd_module): Likewise.
23645 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23646 Use relocator and support sections.
23647 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23648 (elf_sec_entsize): Likewise.
23649 (elf_sec_shstrndx): Likewise.
23650 (elf_sections): Likewise.
23651 (grub_multiboot_load): Use relocator.
23652 (grub_multiboot_get_mbi_size): Account for sections.
23653 (grub_multiboot_make_mbi): Use relocator and support sections.
23654 (grub_multiboot_add_elfsyms): New function.
23655 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23656 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23657 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23658 Prototype changed. All users updated.
23659 (grub_xnu_align_heap): Simplified.
23660 (grub_xnu_writetree_toheap): Likewise.
23661 (grub_xnu_unload): Unload relocator.
23662 (grub_cmd_xnu_kernel): Use relocator.
23663 (grub_cmd_xnu_kernel64): Likewise.
23664 (grub_xnu_register_memory): Simplified.
23665 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23666 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23667 EFI is finished.
23668 (grub_console_checkkey): Likewise.
23669 (grub_console_getkey): Likewise.
23670 (grub_console_getwh): Likewise.
23671 (grub_console_getxy): Likewise.
23672 (grub_console_gotoxy): Likewise.
23673 (grub_console_cls): Likewise.
23674 (grub_console_setcolorstate): Likewise.
23675 (grub_console_setcursor): Likewise.
23676 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23677 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23678 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23679 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23680 * grub-core/tests/boot/kernel-8086.S: Likewise.
23681 * grub-core/tests/boot/kernel-i386.S: Likewise.
23682 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23683 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23684 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23685 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23686 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23687 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23688 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23689 * grub-core/tests/boot/linux.cfg: Likewise.
23690 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23691 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23692 * grub-core/tests/boot/linux16.cfg: Likewise.
23693 * grub-core/tests/boot/multiboot.cfg: Likewise.
23694 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23695 * grub-core/tests/boot/ntldr.cfg: Likewise.
23696 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23697 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23698 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23699 New definition.
23700 * include/grub/dl.h (grub_dl_unload_all): Removed.
23701 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23702 (grub_efi_finish_boot_services): Change prototype.
23703 (grub_efi_is_finished): New variable.
23704 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23705 Changed prototype.
23706 (grub_efiemu_finish_boot_services): Removed.
23707 (grub_machine_efiemu_init_tables): New prototype.
23708 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23709 (grub_elf64_phdr_iterate): Likewise.
23710 * include/grub/i386/bsd.h: Include relocator.h.
23711 (freebsd_tag_header): New struct.
23712 (grub_openbsd_bios_mmap): Removed.
23713 (grub_unix_real_boot): Removed.
23714 (grub_freebsd_load_elfmodule32): Changed prototype.
23715 (grub_freebsd_load_elfmodule_obj64): Likewise.
23716 (grub_freebsd_load_elf_meta32): Likewise.
23717 (grub_freebsd_load_elf_meta64): Likewise.
23718 (grub_freebsd_add_meta): Removed.
23719 (grub_netbsd_load_elf_meta32): New prototype.
23720 (grub_netbsd_load_elf_meta64): Likewise.
23721 (grub_bsd_add_meta): Likewise.
23722 (grub_openbsd_ramdisk_descriptor): New struct.
23723 (grub_openbsd_find_ramdisk32): New prototype.
23724 (grub_openbsd_find_ramdisk64): Likewise.
23725 * include/grub/i386/coreboot/loader.h: Removed.
23726 * include/grub/i386/efi/loader.h: Likewise.
23727 * include/grub/i386/ieee1275/loader.h: Likewise.
23728 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23729 to grub_uint32_t.
23730 * include/grub/i386/loader.h: Removed.
23731 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23732 value.
23733 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23734 (grub_phys_addr_t): New type.
23735 (grub_vtop): New inline function.
23736 (grub_map_memory): Likewise.
23737 (grub_unmap_memory): Likewise.
23738 * include/grub/i386/multiboot/loader.h: Removed.
23739 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23740 (NETBSD_BTINFO_CONSOLE): New definition.
23741 (NETBSD_BTINFO_SYMTAB): Likewise.
23742 (NETBSD_BTINFO_MODULES): Likewise.
23743 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23744 (grub_netbsd_bootinfo): New struct.
23745 (grub_netbsd_btinfo_common): Use explicit bitsize.
23746 (grub_netbsd_btinfo_mmap_entry): Removed.
23747 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23748 (grub_netbsd_btinfo_bootdisk): New struct.
23749 (grub_netbsd_btinfo_symtab): Likewise.
23750 (grub_netbsd_btinfo_serial): Likewise.
23751 (grub_netbsd_btinfo_modules): Likewise.
23752 (grub_netbsd_btinfo_framebuf): Likewise.
23753 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23754 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23755 Likewise.
23756 (grub_openbsd_bootargs): Use explicit bitsize.
23757 (grub_openbsd_bootarg_console): New struct.
23758 (GRUB_OPENBSD_COM_MAJOR): New definition.
23759 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23760 * include/grub/i386/pc/efiemu.h: Removed.
23761 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23762 * include/grub/i386/qemu/loader.h: Removed.
23763 * include/grub/i386/relocator.h: Rewritten.
23764 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23765 * include/grub/mips/memory.h: New file.
23766 * include/grub/mips/multiboot.h: Rewritten.
23767 * include/grub/mips/relocator.h: Rewritten.
23768 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23769 (grub_vtop): New function.
23770 (grub_map_memory): Likewise.
23771 (grub_unmap_memory): Likewise.
23772 * include/grub/misc.h (ALIGN_DOWN): New definition.
23773 * include/grub/mm.h (grub_mm_check_real): New proto.
23774 (GRUB_MM_CHECK): New definition.
23775 * include/grub/mm_private.h: New file.
23776 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23777 (grub_multiboot_get_mbi_size): Removed.
23778 (grub_multiboot_make_mbi): Change prottype.
23779 (grub_multiboot_set_accepts_video): New proto.
23780 (grub_multiboot_add_elfsyms): Likewise.
23781 (grub_multiboot_payload_eip): New variable.
23782 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23783 New prototype.
23784 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23785 New definition.
23786 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23787 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23788 * include/grub/powerpc/ieee1275/loader.h: Removed.
23789 * include/grub/powerpc/memory.h: New file.
23790 * include/grub/powerpc/relocator.h: Likewise.
23791 * include/grub/relocator.h: Likewise.
23792 * include/grub/relocator_private.h: Likewise.
23793 * include/grub/sparc64/ieee1275/loader.h: Removed.
23794 * include/grub/x86_64/memory.h: New file.
23795 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23796 (grub_xnu_heap_malloc): Likewise.
23797 (grub_xnu_heap_real_start): Removed.
23798 (grub_xnu_heap_start): Likewise.
23799 (grub_xnu_relocator): New variable.
23800 (grub_xnu_heap_target_start): Likewise.
23801 * tests/util/grub-shell.in: Support non-pc.
23802 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23803
5303b85d
VS
238042010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23805
23806 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23807 on malloc error.
23808 (grub_bidi_logical_to_visual): Check that malloc succeded.
23809 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23810 puts.
23811 (grub_xputs_normal): Likewise.
23812
d768d159
VS
238132010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23814
23815 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23816 extra_dist.
23817
238182010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23819
23820 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23821
5bf84df4
VS
238222010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23823
23824 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23825
3626810e
VS
238262010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23827
23828 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23829 dprintf.
23830
a7363f53
BC
238312010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23832
23833 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23834
902f75f6
VS
238352010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23836
23837 * grub-core/normal/term.c (print_more): Fix a memory leak.
23838 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23839 (grub_xputs_normal): Likewise.
23840
3c707967
VS
238412010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23842
23843 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23844 the begining of the string
23845
2053cc07
VS
238462010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23847
23848 * grub-core/script/script.c (grub_script_parse): Free parsed on
23849 failure.
23850
46422ebf
VS
238512010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23852
23853 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23854 on failure.
23855
9e0fa3f6
VS
238562010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23857
23858 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23859 return.
23860
3393cf16
VS
238612010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23862
23863 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23864 (scroll_up): Fix a memory leak.
23865
b17540cb
VS
238662010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23867
23868 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23869 errors.
23870
67140446
VS
238712010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23872
23873 Handle USB pendrives exposed as floppies.
23874
23875 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23876 floppy.
23877 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23878 Check for partitions on all devices.
23879
e35e46fc
VS
238802010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23881
23882 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23883 (readkey): Likewise.
23884
d24c6190
BC
238852010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23886
23887 Multiple variable names support to "export" command.
23888
23889 * normal/context.c (grub_cmd_export): "export" command supports
23890 multiple variable names.
23891
04ddcc6a
ST
238922010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23893
23894 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23895 --target=drive output to Mach device name.
23896
0c8b61d8
BC
238972010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23898
23899 New Automake based build system for GRUB.
23900
23901 * ABOUT-NLS: New file.
23902 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23903 in Makefile.util.def file.
23904 * Makefile.util.def: New file. Autogen build definitions file for
23905 GRUB host utils.
23906 * conf/Makefile.common: New file. Common variables for GRUB host
23907 utils and target modules.
23908 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23909 * docs/Makefile.am: New file. Automake file for docs.
23910 * gentpl.py: New file. Python script to generate Autogen
23911 template.
23912 * grub-core/Makefile.am: New file. GRUB target modules' rules
23913 that doesn't fit in Makefile.core.def file.
23914 * grub-core/Makefile.core.def: New file. Autogen build
23915 definitions file for GRUB target modules.
23916 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23917 specific setjmp.S file.
23918 * po/Makefile.am: New file.
23919
23920 * .bzrignore: New ignores.
23921 * INSTALL: New requirements, without Ruby.
23922 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23923 * autogen.sh: Updated to invoke autogen as necessary.
23924 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23925 and defines for Automake conditionals.
23926 * geninit.sh: Refactoring.
23927
23928 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23929 necessary.
23930 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23931 New prototype.
23932
23933 * include/grub/test.h: Fix functional test modules' naming.
23934 * grub-core/tests/example_functional_test.c: Fix test module name.
23935
23936 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23937 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23938 * util/grub-editenv.c: Likewise.
23939 * util/grub-fstest.c: Likewise.
23940 * util/grub-mkdevicemap.c: Likewise.
23941 * util/grub-mkfont.c: Likewise.
23942 * util/grub-mkimage.c: Likewise.
23943 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23944 * util/grub-probe.c: Likewise.
23945 * util/grub-script-check.c: Likewise.
23946 * util/i386/pc/grub-setup.c: Likewise.
23947 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23948
23949 * tests/util/grub-shell.in: Fix override directory path.
23950 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23951 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23952
23953 * util/lvm.c: Update #includes.
23954 * util/raid.c: Likewise.
23955 * util/resolve.c: Likewise.
23956 * grub-core/bus/emu/pci.c: Likewise.
23957 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23958 * grub-core/lib/posix_wrap/string.h: Likewise.
23959 * grub-core/kern/emu/main.c: Likewise.
23960
23961 * grub-core/gensymlist.sh: New file. Script for generating kernel
23962 symbols file.
23963 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23964
23965 * grub-core/gentrigtables.c: Fix unused variable warnings.
23966
23967 * Makefile.in: Removed.
23968 * conf/any-emu.rmk: Removed.
23969 * conf/common.rmk: Removed.
23970 * conf/i386-coreboot.rmk: Removed.
23971 * conf/i386-efi.rmk: Removed.
23972 * conf/i386-ieee1275.rmk: Removed.
23973 * conf/i386-multiboot.rmk: Removed.
23974 * conf/i386-pc.rmk: Removed.
23975 * conf/i386-qemu.rmk: Removed.
23976 * conf/i386.rmk: Removed.
23977 * conf/mips-yeeloong.rmk: Removed.
23978 * conf/mips.rmk: Removed.
23979 * conf/powerpc-ieee1275.rmk: Removed.
23980 * conf/sparc64-ieee1275.rmk: Removed.
23981 * conf/tests.rmk: Removed.
23982 * conf/x86-efi.rmk: Removed.
23983 * conf/x86_64-efi.rmk: Removed.
23984 * gendistlist.sh: Removed.
23985 * geninitheader.sh: Removed.
23986 * genkernsyms.sh.in: Removed.
23987 * genmk.rb: Removed.
23988 * gensymlist.sh.in: Removed.
23989 * mkinstalldirs: Removed.
23990 * boot: Moved ...
23991 * grub-core/boot: ... to here.
23992 * bus: Moved ...
23993 * grub-core/bus: ... to here.
23994 * commands: Moved ...
23995 * grub-core/commands: ... to here.
23996 * disk: Moved ...
23997 * grub-core/disk: ... to here.
23998 * efiemu: Moved ...
23999 * grub-core/efiemu: ... to here.
24000 * font: Moved ...
24001 * grub-core/font: ... to here.
24002 * fs: Moved ...
24003 * grub-core/fs: ... to here.
24004 * gencmdlist.sh: Moved ...
24005 * grub-core/gencmdlist.sh: ... to here.
24006 * genemuinit.sh: Moved ...
24007 * grub-core/genemuinit.sh: ... to here.
24008 * genemuinitheader.sh: Moved ...
24009 * grub-core/genemuinitheader.sh: ... to here.
24010 * genfslist.sh: Moved ...
24011 * grub-core/genfslist.sh: ... to here.
24012 * genhandlerlist.sh: Moved ...
24013 * grub-core/genhandlerlist.sh: ... to here.
24014 * genmoddep.awk: Moved ...
24015 * grub-core/genmoddep.awk: ... to here.
24016 * genmodsrc.sh: Moved ...
24017 * grub-core/genmodsrc.sh: ... to here.
24018 * genpartmaplist.sh: Moved ...
24019 * grub-core/genpartmaplist.sh: ... to here.
24020 * genparttoollist.sh: Moved ...
24021 * grub-core/genparttoollist.sh: ... to here.
24022 * genterminallist.sh: Moved ...
24023 * grub-core/genterminallist.sh: ... to here.
24024 * gentrigtables.c: Moved ...
24025 * grub-core/gentrigtables.c: ... to here.
24026 * genvideolist.sh: Moved ...
24027 * grub-core/genvideolist.sh: ... to here.
24028 * gettext: Moved ...
24029 * grub-core/gettext: ... to here.
24030 * gfxmenu: Moved ...
24031 * grub-core/gfxmenu: ... to here.
24032 * gnulib: Moved ...
24033 * grub-core/gnulib: ... to here.
24034 * hello: Moved ...
24035 * grub-core/hello: ... to here.
24036 * hook: Moved ...
24037 * grub-core/hook: ... to here.
24038 * io: Moved ...
24039 * grub-core/io: ... to here.
24040 * kern: Moved ...
24041 * grub-core/kern: ... to here.
24042 * lib: Moved ...
24043 * grub-core/lib: ... to here.
24044 * loader: Moved ...
24045 * grub-core/loader: ... to here.
24046 * mmap: Moved ...
24047 * grub-core/mmap: ... to here.
24048 * normal: Moved ...
24049 * grub-core/normal: ... to here.
24050 * partmap: Moved ...
24051 * grub-core/partmap: ... to here.
24052 * parttool: Moved ...
24053 * grub-core/parttool: ... to here.
24054 * script: Moved ...
24055 * grub-core/script: ... to here.
24056 * term: Moved ...
24057 * grub-core/term: ... to here
24058 * tests/example_functional_test.c: Moved ...
24059 * grub-core/tests/example_functional_test.c: ... to here.
24060 * tests/lib/functional_test.c: Moved ...
24061 * grub-core/tests/lib/functional_test.c: ... to here.
24062 * tests/lib/test.c: Moved ...
24063 * grub-core/tests/lib/test.c: ... to here.
24064 * video: Moved ...
24065 * grub-core/video: ... to here.
24066
645586e6
BC
240672010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24068
24069 Replace --enable-grub-emu-modules with grub-emu-lite.
24070
24071 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
24072 cache.S.
24073
24074 * include/grub/emu/misc.h (grub_emu_init): New prototype.
24075 * kern/emu/full.c: New file. For grub-emu specific initialization.
24076 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
24077 * kern/emu/main.c: Call initialization function grub_emu_init.
24078
24079 * Makefile.in: Include grub-emu-lite in install.
24080 * commands/parttool.c: Use grub_no_autoload to differentiate
24081 between grub-emu and grub-emu-lite.
24082 * include/grub/misc.h: New variable grub_no_autoload.
24083
24084 * conf/any-emu.rmk: New rules for grub-emu-lite.
24085 * configure.ac: Remove --enable-grub-emu-modules.
24086 * genmk.rb: Cleanup unnecessary rules.
24087 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
24088
24089 * normal/main.c: Don't load list files on grub-emu-lite.
24090 * util/misc.c (grub_arch_sync_caches): Removed.
24091
f86a4030
CW
240922010-08-23 Colin Watson <cjwatson@ubuntu.com>
24093
24094 * kern/mips/startup.S (grub_prefix): Update comment to refer to
24095 grub-mkimage rather than grub-mkelfimage.
24096 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
24097
06776944
VS
240982010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24099
24100 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
24101 a key after CapsLock or NumLock. It's just a qemu bug.
24102
df262419
VS
241032010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24104
24105 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
24106 needed by libusb wrapper.
24107
b40ea81b
ST
241082010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24109
24110 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
24111
dee50575
VS
241122010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24113
24114 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
24115 --nounzip is passed.
24116
fb1d7b79
VS
241172010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
24118
24119 USB hotunplugging and USB serial support.
24120
24121 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
24122 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
24123 (grub_uhci_transfer): Respect timeout and set *actual.
24124 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
24125 non-standard length.
24126 (grub_usb_device_attach): Autoload modules.
24127 (GRUB_MOD_INIT): Set grub_term_poll_usb.
24128 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
24129 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
24130 users updated.
24131 (grub_usb_add_hub): Fill nports and children.
24132 (attach_root_port): Receive hub instead of controller.
24133 All users updated. Fill hub->devices.
24134 (grub_usb_root_hub): Allocate hub->devices.
24135 (detach_device): New function.
24136 (poll_nonroot_hub): Fill children and detach devices.
24137 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
24138 actual arguments. All users updated.
24139 (grub_usb_bulk_read_extended): New function.
24140 * bus/usb/serial/common.c: New file.
24141 * bus/usb/serial/ftdi.c: Likewise.
24142 * bus/usb/serial/pl2303.c: Likewise.
24143 * commands/terminal.c (handle_command): Support wildcard.
24144 * commands/usbtest.c: Output "Unknown" instead of empty string.
24145 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
24146 (usbserial_common_mod_SOURCES): New variable.
24147 (usbserial_common_mod_CFLAGS): Likewise.
24148 (usbserial_common_mod_LDFLAGS): Likewise.
24149 (pkglib_MODULES): Add usbserial_pl2303.mod.
24150 (usbserial_pl2303_mod_SOURCES): New variable.
24151 (usbserial_pl2303_mod_CFLAGS): Likewise.
24152 (usbserial_pl2303_mod_LDFLAGS): Likewise.
24153 (pkglib_MODULES): Add usbserial_ftdi.mod.
24154 (usbserial_ftdi_mod_SOURCES): New variable.
24155 (usbserial_ftdi_mod_CFLAGS): Likewise.
24156 (usbserial_ftdi_mod_LDFLAGS): Likewise.
24157 (pkglib_MODULES): Add serial.mod.
24158 (serial_mod_SOURCES): New variable.
24159 (serial_mod_CFLAGS): Likewise.
24160 (serial_mod_LDFLAGS): Likewise.
24161 * conf/i386-pc.rmk: Likewise.
24162 * conf/mips-yeeloong.rmk: Likewise.
24163 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
24164 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24165 * disk/usbms.c (first_available_slot): New variable.
24166 (grub_usbms_attach): Don't reuse free slots due to potential cache
24167 problems.
24168 * include/grub/serial.h: Moved to ..
24169 * include/grub/ns8250.h: ...this.
24170 * include/grub/serial.h: New file.
24171 * include/grub/term.h (grub_term_poll_usb): New variable.
24172 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
24173 readkey. All users updated.
24174 (grub_terminfo_output_state): Pass term to put.
24175 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
24176 (grub_usb_controller_dev): Add timeout and actual arguments to
24177 transfer. All users updated.
24178 (grub_usb_interface): New field detach_data.
24179 (grub_usb_device): New fields children and nports.
24180 (grub_usb_ep_type_t): New type.
24181 (grub_usb_get_ep_type): New function.
24182 (grub_usb_bulk_read_extended): Likewise.
24183 * include/grub/usbdesc.h (grub_usb_desc): New type.
24184 * include/grub/usbserial.h: New file.
24185 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
24186 * kern/term.c (grub_term_poll_usb): New variable.
24187 (grub_getkey): Call grub_term_poll_usb if set.
24188 (grub_checkkey): Likewise.
24189 (grub_getkeystatus): Likewise.
24190 * term/serial.c: Moved controller-specific parts to ...
24191 * term/ns8250.c: ... here.
24192 * term/serial.c: Mostly rewritten.
24193 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
24194 according to spec.
24195
21a313de
RM
241962010-08-20 Robert Millan <rmh@gnu.org>
24197
24198 Make kFreeBSD code more generic to support ext2fs as root, ufs as
24199 a separate module and maybe other interesting combinations.
24200
24201 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
24202 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
24203 (kfreebsd_entry): Add generic filesystem module load routine.
24204 Map GRUB `ext2' to kFreeBSD `ext2fs'.
24205
63c734a6
CW
242062010-08-20 Colin Watson <cjwatson@ubuntu.com>
24207
24208 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
24209 "numcenter" (I misunderstood the purpose of this entry).
24210 * docs/grub.texi (sendkey): Likewise.
24211
c4d16542
CW
242122010-08-20 Colin Watson <cjwatson@ubuntu.com>
24213
24214 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
24215 status flag options; simply omitting the option is equivalent and
24216 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
24217 (keysym_table): Rename "num5numlock" to "numlock".
24218 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
24219 can uniformly say that only the last of multiple `sendkey'
24220 invocations has any effect.
24221 * docs/grub.texi (sendkey): New section.
24222
93541d66
CW
242232010-08-19 Colin Watson <cjwatson@ubuntu.com>
24224
24225 * commands/i386/pc/sendkey.c (options): Fix three typos.
24226
b4ece5e1
VS
242272010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
24228
24229 Implement sendkey support.
24230
24231 * commands/i386/pc/sendkey.c: New file.
24232 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
24233 (sendkey_mod_SOURCES): New variable.
24234 (sendkey_mod_CFLAGS): Likewise.
24235 (sendkey_mod_LDFLAGS): Likewise.
24236
51f1f5af
CW
242372010-08-18 Colin Watson <cjwatson@ubuntu.com>
24238
24239 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
24240 fix warnings from Autoconf.
24241
9da94e05
CW
242422010-08-18 Colin Watson <cjwatson@ubuntu.com>
24243
24244 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
24245 to avoid false positives with some assemblers that output things
24246 like "someprefix_func" as part of their output.
24247
729a0f2e
RM
242482010-08-15 Robert Millan <rmh@gnu.org>
24249
24250 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
24251 errors.
24252 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
24253 grub_get_libzfs_handle() errors.
24254
f3710e08
RM
242552010-08-14 Robert Millan <rmh@gnu.org>
24256
24257 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
24258 filesystem is not ZFS.
24259
7a3c13de
BC
242602010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24261
24262 Fix for misspelled color names defaulting to black/black (bug
24263 reported by Doug Nazar)
24264
24265 * include/grub/normal.h (grub_parse_color_name_pair): Add return
24266 status to prototype.
24267 * normal/color.c (grub_parse_color_name_pair): Return failure
24268 status.
24269 (grub_env_write_color_normal): Ignore bad color names.
24270 (grub_env_write_color_highlight): Likewise.
24271 * normal/main.c (GRUB_MOD_INIT): Set default color names.
24272
ab8ba50d
BC
242732010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24274
24275 "shift" command support to GRUB script.
24276
24277 * include/grub/script_sh.h (grub_script_shift): New prototype.
24278 * script/execute.c (grub_script_shift): New function.
24279 * script/main.c (grub_script_init): Register shift command.
24280 (grub_script_fini): Unregister shift command.
24281 * util/grub-script-check.c (grub_script_cmd_shift): New function.
24282
24283 * tests/grub_script_shift.in: New testcase.
24284 * conf/tests.rmk: Rules for new testcase.
24285
4d61999e
BC
242862010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24287
24288 "continue" command support to GRUB script.
24289
24290 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
24291 (grub_script_break): Continue support.
24292 * script/main.c (grub_script_init): Register continue command.
24293 (grub_script_fini): Unregister continue command.
24294
24295 * tests/grub_script_continue.in: New testcase.
24296 * conf/tests.rmk: Rules for new testcase.
24297
4df51e00
BC
242982010-08-12 BVK Chaitanya <bvk@dbook>
24299
24300 "break" command support to GRUB script.
24301
24302 * conf/common.rmk: Rule updates to grub-script-check.
24303 * include/grub/misc.h (grub_min): New function.
24304 * include/grub/script_sh.h (grub_script_init): New prototype.
24305 (grub_script_fini): New prototype.
24306 (grub_script_break): New prototype.
24307 * script/main.c (grub_script_init): New function.
24308 (grub_script_fini): New function.
24309 * script/execute.c (grub_script_break): New function.
24310 * normal/main.c: Calls to grub_script_{init,fini}.
24311 * util/grub-script-check.c (grub_script_break): New function.
24312
24313 * tests/grub_script_break.in: New testcase.
24314 * conf/tests.rmk: Rules for new test case.
24315
f12c8420
BC
243162010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24317
24318 Function parameters support to GRUB script.
24319
24320 * script/yylex.l (VARIABLE): Regular expression update.
24321 * script/function.c (grub_script_function_call): Moved ...
24322 * script/execute.c (grub_script_function_call): ... to here.
24323 (grub_script_execute_arglist_to_argv): Removed.
24324 (grub_script_arglist_to_argv): New function.
24325 * script/argv.c: New file.
24326 (grub_script_argv_free): New function.
24327 (grub_script_argv_next): Likewise.
24328 (grub_script_argv_append): Likewise.
24329 (grub_script_argv_split_append): Likewise.
24330 * include/grub/script_sh.h (grub_script_argv): New struct.
24331 (grub_script_argv_free): New function.
24332 (grub_script_argv_next): Likewise.
24333 (grub_script_argv_append): Likewise.
24334 (grub_script_argv_split_append): Likewise.
24335
24336 * conf/common.rmk (normal.mod): New source script/argv.c.
24337
24338 * tests/grub_script_echo1.in: More tests.
24339 * tests/grub_script_vars1.in: Likewise.
24340 * tests/grub_script_functions.in: New test case.
24341 * conf/tests.rmk: Rules for new testcase.
24342
8022b748
BC
243432010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24344
24345 Remove grub_script_cmdblock struct.
24346
24347 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24348 * script/parser.y: Likewise.
24349 * script/execute.c: Rename cmdblock suffix to cmdlist.
24350 * script/script.c: Likewise.
24351 * util/grub-script-check.c: Likewise.
24352
79a6ba61
YB
243532010-08-11 Yves Blusseau <blusseau@zetam.org>
24354
24355 * .bzrignore: add grub-macho2img
24356
d04b9414
VS
243572010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24358
24359 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24360
f947ab49
VS
243612010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24362
24363 Remove the dump of sm712 initialisation sequence.
24364
24365 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24366 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24367 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24368 (GRUB_VGA_CR_*): Added many registers.
24369 (GRUB_VGA_SR_*): Likewise.
24370 (GRUB_VGA_GR_*): Likewise.
24371 (grub_vga_write_arx): New function.
24372 (grub_video_hw_config): New struct.
24373 (grub_vga_set_geometry): New function.
24374 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24375 GRUB_PCI_CLASS_SUBCLASS_VGA.
24376 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24377 * video/sm712.c (grub_sm712_write_reg): New function
24378 (grub_sm712_read_reg): Likewise.
24379 (grub_sm712_sr_write): Likewise.
24380 (grub_sm712_gr_write): Likewise.
24381 (grub_sm712_cr_write): Likewise.
24382 (grub_sm712_write_arx): Likewise.
24383 (grub_sm712_cr_shadow_write): Likewise.
24384 (grub_sm712_write_dda_lookup): Likewise.
24385 (grub_video_sm712_setup): Initialise the video rather then
24386 blindly replay the dump.
24387 (main) [TEST]: Add a routine to be able to compile as standalone for
24388 tests.
24389 * video/sm712_init.c (sm712_init): Removed.
24390 (sm712_sr_seq1): New array.
24391 (sm712_sr_seq2): Likewise.
24392
f0206638
VS
243932010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24394
24395 * include/grub/vga.h: Add missing grub/pci.h include.
24396
2764da3b
YB
243972010-08-10 Yves Blusseau <blusseau@zetam.org>
24398
24399 * util/grub-macho2img.c (main): fix typo
24400
cf0c775e
VS
244012010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24402
24403 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24404 (grub_vga_gr_read): Likewise.
24405 (grub_vga_cr_write): Likewise.
24406 (grub_vga_cr_read): Likewise.
24407 (grub_vga_sr_write): Likewise.
24408 (grub_vga_sr_read): Likewise.
24409 (grub_vga_palette_read): Likewise.
24410 (grub_vga_palette_write): Likewise.
24411 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24412 (grub_sm712_sr_read): New function.
24413 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24414 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24415
07f360e9
RM
244162010-08-09 Robert Millan <rmh@gnu.org>
24417
24418 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24419 out unused variables on non-ZFS build.
24420
346c2072
RM
244212010-08-08 Robert Millan <rmh@gnu.org>
24422
24423 Fix path generation for sub-filesystems in ZFS.
24424
24425 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24426 missing slash.
24427
71175420
RM
244282010-08-08 Robert Millan <rmh@gnu.org>
24429
24430 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24431
0d8286f3
RM
244322010-08-08 Robert Millan <rmh@gnu.org>
24433
24434 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24435 exist, issue a proper error message (rely on `ls' for translated
24436 strings).
24437
55dd2924
RM
244382010-08-08 Robert Millan <rmh@gnu.org>
24439
24440 Fix grub-probe invocation.
24441
24442 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24443
d3dd9e80
RM
244442010-08-04 Robert Millan <rmh@gnu.org>
24445
24446 * configure.ac: Remove checks for getfsstat() and getmntany().
24447 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24448 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24449 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24450 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24451 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24452 function.
24453 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24454 via find_mount_point_from_dir() and getfsstat() / getmntany().
24455
0de22aa9
RM
244562010-08-04 Robert Millan <rmh@gnu.org>
24457
24458 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24459 (grub_find_zpool_from_mount_point): Merge into ...
24460 (grub_find_zpool_from_dir): ... this.
24461 * kern/emu/misc.c: Likewise.
24462
24463 * kern/emu/misc.c
24464 (grub_make_system_path_relative_to_its_root): Replace
24465 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24466 with grub_find_zpool_from_dir().
24467 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24468
62858144
RM
244692010-08-04 Robert Millan <rmh@gnu.org>
24470
24471 Support OpenSolaris in ZFS device resolution.
24472
24473 * configure.ac: Check for getmntany().
24474 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
24475 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
24476 support.
24477
9dd6fd50
RM
244782010-08-03 Robert Millan <rmh@gnu.org>
24479
24480 Fix grub-emu build.
24481
24482 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
24483 * include/grub/emu/misc.h: ... here.
24484
24485 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24486 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24487
24488 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24489 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24490 (grub_get_libzfs_handle): Move to ...
24491 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24492 (grub_get_libzfs_handle): ... here.
24493
c9f7ff97
BC
244942010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24495
24496 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24497 as command name case.
24498
a870a783
CW
244992010-08-02 Colin Watson <cjwatson@ubuntu.com>
24500
24501 * disk/raid.c (insert_array): Select unique numbers for named arrays
24502 as well, for use as keys in the disk cache.
24503
c7db243b
RM
245042010-08-01 Robert Millan <rmh@gnu.org>
24505
24506 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
24507 kFreeBSD device name, except on ZFS where the filesystem label is
24508 used.
24509 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
24510 `/boot/zfs/zpool.cache'.
24511 Set mountfrom kernel variable using ${kfreebsd_device}.
24512
f7abdefb
RM
245132010-08-01 Robert Millan <rmh@gnu.org>
24514
24515 Make it even harder to use uninitialized `libzfs_handle' (and
24516 make the interface a bit simpler).
24517
24518 * include/grub/util/misc.h (grub_util_init_libzfs)
24519 (libzfs_handle): Remove.
24520 (grub_get_libzfs_handle): New prototype.
24521
24522 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24523 attribute.
24524 (grub_util_init_libzfs): Remove.
24525 (grub_get_libzfs_handle): New function.
24526
24527 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24528 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24529 accessing `libzfs_handle' directly.
24530
c882acc0
RM
245312010-08-01 Robert Millan <rmh@gnu.org>
24532
24533 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24534 (grub_find_zpool_from_mount_point): New function prototypes.
24535
24536 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24537 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24538
24539 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24540 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24541 `static' attribute.
24542
24543 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24544 finding zpool from mount point into ...
24545 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24546
24547 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24548 requested path is part of a ZFS pool, use
24549 grub_find_zpool_from_mount_point() to detect its filesystem name,
24550 and generate a path with `/fsname@path' syntax.
24551
8bfe31d8
CW
245522010-08-01 Colin Watson <cjwatson@ubuntu.com>
24553
24554 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24555 (void) rather than () so that this is a proper prototype.
24556
553df63d
VS
245572010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24558
24559 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24560
8687cf07
VS
245612010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24562
24563 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24564 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24565
ea9be8ea
CW
245662010-08-01 Colin Watson <cjwatson@ubuntu.com>
24567
24568 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24569
6eea041a
CW
245702010-08-01 Colin Watson <cjwatson@ubuntu.com>
24571
24572 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24573
2cfb45df
CW
245742010-08-01 Colin Watson <cjwatson@ubuntu.com>
24575
24576 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24577 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24578 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24579 disable gfxpayload.
24580 (Shell-like scripting): Add real content.
24581 (Serial terminal): Suggest `terminal_input serial; terminal_output
24582 serial' rather than putting the two commands on separate lines,
24583 since console input will be inoperative after the first command.
24584 (menuentry): Document --class, --users, and --hotkey options.
24585 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24586 Vladimir Serbinenko).
24587
7decd202
VS
245882010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
245892010-08-01 Colin Watson <cjwatson@ubuntu.com>
24590
24591 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24592
c882acc0
RM
245932010-08-01 Robert Millan <rmh@gnu.org>
24594
24595 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24596 (grub_find_zpool_from_mount_point): New function prototypes.
24597
24598 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24599 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24600
24601 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24602 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24603 `static' attribute.
24604
24605 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24606 finding zpool from mount point into ...
24607 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24608
24609 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24610 requested path is part of a ZFS pool, use
24611 grub_find_zpool_from_mount_point() to detect its filesystem name,
24612 and generate a path with `/fsname@path' syntax.
24613
deb0caa3
RM
246142010-08-01 Robert Millan <rmh@gnu.org>
24615
24616 Prevent accidental use of uninitialized libzfs_handle.
24617
24618 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24619 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24620 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24621
ce04ef47
CW
246222010-08-01 Colin Watson <cjwatson@ubuntu.com>
24623
24624 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24625 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24626
ebf53056
RM
246272010-08-01 Robert Millan <rmh@gnu.org>
24628
24629 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 24630
3710bb6b
RM
246312010-07-31 Robert Millan <rmh@gnu.org>
24632
24633 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24634
8072efeb
RM
246352010-07-31 Robert Millan <rmh@gnu.org>
24636
24637 * kern/emu/misc.c: Add missing license header.
24638
3169f4c7
RM
246392010-07-31 Robert Millan <rmh@gnu.org>
24640
24641 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24642
24643 * include/grub/util/libnvpair.h: Include `<config.h>'.
24644 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24645 declaring libnvpair prototypes ourselves.
24646 * include/grub/util/libzfs.h: Include `<config.h>'.
24647 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24648 declaring libzfs prototypes ourselves.
24649
24650 (libzfs_handle): Moved to ...
24651 * include/grub/util/misc.h (libzfs_handle): ... here.
24652 Include `<grub/util/libzfs.h>'.
24653
c9a00aee
RM
246542010-07-30 Robert Millan <rmh@gnu.org>
24655
24656 * include/grub/emu/misc.h: Add missing license header.
24657
a184f9c8
RM
246582010-07-30 Robert Millan <rmh@gnu.org>
24659
24660 Enable `grub-probe -t device' resolution on ZFS.
24661
24662 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24663 * include/grub/util/libnvpair.h: New file.
24664 * include/grub/util/libzfs.h: New file.
24665
24666 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24667 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24668 `<grub/util/libnvpair.h>'.
24669 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24670
24671 (find_mount_point_from_dir): New static function.
24672 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24673 function.
24674 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24675 find_root_device_from_libzfs() before ressorting to find_root_device().
24676
24677 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24678 prototype.
24679 * util/misc.c: Include `<grub/util/libzfs.h>'.
24680 (grub_util_init_libzfs): New function.
24681 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24682 [HAVE_LIBZFS] (fini_libzfs): New static function.
24683 (grub_util_init_libzfs): New function.
24684 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24685
f7790cdd
RM
246862010-07-30 Robert Millan <rmh@gnu.org>
24687
24688 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24689 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24690 `warn_unused_result' attribute.
24691 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24692 (grub_xasprintf, grub_xvasprintf): Likewise.
24693 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24694
0806b63c
RM
246952010-07-29 Robert Millan <rmh@gnu.org>
24696
24697 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24698 (probe): Handle `PRINT_FS_LABEL'.
24699 (main): Handle `-t fs_label'.
24700
9f841f5c
RM
247012010-07-29 Robert Millan <rmh@gnu.org>
24702
24703 * configure.ac: Remove grub-mkisofs checks.
24704
46371121
VS
247052010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24706
24707 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24708 Reported by: Lennart Sorensen.
24709
247102010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24711
24712 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24713 prior to terminal_input/terminal_output separation. It's been over 1.5
24714 years and those versions weren't widely deployed.
24715
a9600892
CW
247162010-07-22 Colin Watson <cjwatson@ubuntu.com>
24717
24718 * disk/raid.c (insert_array): Don't count named arrays when looking
24719 for unused array numbers.
697e053c 24720 Reported and tested by: Michael Guntsche.
a9600892 24721
c03507df
CW
247222010-07-20 Colin Watson <cjwatson@ubuntu.com>
24723
24724 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24725 implementation of this so that grub-emu links again, with a note
24726 that this should support hotplugging in the future.
24727
b26f1c11
CW
247282010-07-20 Colin Watson <cjwatson@ubuntu.com>
24729
24730 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24731
efc9d7f1
CW
247322010-07-20 Colin Watson <cjwatson@ubuntu.com>
24733
24734 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24735 handle on failure.
24736 (grub_loopback_close): Remove empty function.
24737 (grub_loopback_dev): Remove close method.
24738
dd8ff5c9
CW
247392010-07-20 Colin Watson <cjwatson@ubuntu.com>
24740
24741 Disable EFI cursor when the EFI console becomes inactive.
24742
24743 * term/efi/console.c (grub_efi_console_init): New function.
24744 (grub_efi_console_fini): New function.
24745 (grub_console_term_output): Register init and fini methods.
24746
5e3bec67
VS
247472010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24748
24749 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24750 sh script.
24751
afaec079
VS
247522010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24753
24754 * disk/loopback.c (grub_loopback): Replace filename with file.
24755 (delete_loopback): Handle new semantics.
24756 (grub_cmd_loopback): Likewise.
24757 (grub_loopback_iterate): Likewise.
24758 (grub_loopback_close): Likewise.
24759
a6a11f3c
VS
247602010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24761
24762 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24763 with -p "".
24764 Reported by: Tito Keitel.
24765
64a638b0
VS
247662010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24767
24768 * docs/grub.texi (Naming convention): Document new naming convention.
24769
ab8ba957
VS
247702010-07-20 Vadim Solomin <vadic052@gmail.com>
247712010-07-20 Colin Watson <cjwatson@ubuntu.com>
24772
24773 Generate device.map in something closer to the old ordering.
24774
24775 * util/deviceiter.c (struct device): New declaration.
24776 (compare_file_names): Rename to ...
24777 (compare_devices): ... this. Sort by kernel name in preference to
24778 the stable by-id name, but keep the latter as a fallback comparison.
24779 Update header comment.
24780 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24781 of `struct device' rather than of plain file names.
24782
a29d6a4b
TF
247832010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24784
24785 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24786 on i386.
24787
39d824e8
VS
247882010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24789
24790 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24791 hardcoding size.
24792 (setv1table): Likewise.
24793
f058276b
FZ
247942010-07-20 Colin Watson <cjwatson@ubuntu.com>
24795
24796 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24797 removing the homehost if present.
24798 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24799 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24800 removing the homehost if present.
24801 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24802 if possible.
24803 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24804
24805 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24806 parameter. Set its pointer target to 0.
24807 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24808 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24809 `data_offset' value from the superblock for 1.x metadata.
24810 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24811 data on the device.
24812 (insert_array): Record the start sector of data on the device.
24813 (grub_raid_register): Pass start_sector parameters to
24814 grub_raid_list->detect and insert_array.
24815 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24816 member.
24817 (struct grub_raid): Add start_sector parameter to `detect'.
24818
24819 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24820 __attribute__ ((packed)), leaving a comment.
24821 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24822 (grub_mdraid_detect_09): ... here and ...
24823 (grub_mdraid_detect_1x): ... here.
24824
248252010-07-20 Peter Henn <peter.henn@web.de>
24826
24827 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24828 chunk size and disk size, which are already given as sector counts
24829 as distinct from the 0.90 units. Fetch the correct device number
24830 from the role table instead of using the table index.
24831
248322010-07-20 Felix Zielcke <fzielcke@z-51.de>
24833
24834 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24835 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24836 (WriteMostly1): New macro.
24837 Set array->name to NULL for metadata format 0.90. Add support for
24838 metadata 1.x. Fix some comments.
24839 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24840 few comments.
24841 * util/getroot.c (grub_util_get_grub_dev): Add support for
24842 /dev/md/name style devices.
24843
4b761da9
CW
248442010-07-20 Colin Watson <cjwatson@ubuntu.com>
24845
24846 * .bzrignore: Ignore 20_linux_xen.
24847
5771289a
CW
248482010-07-17 Colin Watson <cjwatson@ubuntu.com>
24849
24850 * util/import_unicode.py: Remove unnecessary imports.
24851
5dab68df
AN
248522010-07-17 Aleš Nesrsta <starous@volny.cz>
24853
24854 Hotplugging and USB hub support.
24855
24856 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24857 (grub_ohci): Likewise.
24858 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24859 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24860 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24861 (GRUB_OHCI_CTRL_EDS): Likewise.
24862 (GRUB_OHCI_BULK_EDS): Likewise.
24863 (GRUB_OHCI_TDS): Likewise.
24864 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24865 (grub_ohci_ed_phys2virt): New function.
24866 (grub_ohci_virt_to_phys): Likewise.
24867 (grub_ohci_td_phys2virt): Likewise.
24868 (grub_ohci_td_virt2phys): Likewise.
24869 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24870 attachment.
24871 (grub_ohci_find_ed): New function.
24872 (grub_ohci_alloc_td): Likewise.
24873 (grub_ohci_free_td): Likewise.
24874 (grub_ohci_free_tds): Likewise.
24875 (grub_ohci_transfer): Use previously allocated memory.
24876 (grub_ohci_portstatus): Reset status changed bit.
24877 (grub_ohci_detect_dev): Supply status changed.
24878 (grub_ohci_fini_hw): Free memory.
24879 (grub_ohci_restore_hw): Reallocate memory.
24880 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24881 Reset status change.
24882 (grub_uhci_detect_dev): Supply status_change.
24883 * bus/usb/usb.c (attach_hooks): New var.
24884 (grub_usb_device_attach): New function.
24885 (grub_usb_register_attach_hook_class): Likewise.
24886 (grub_usb_unregister_attach_hook_class): Likewise.
24887 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24888 (grub_usb_add_hub): Reset connection changed bit.
24889 (attach_root_port): New function.
24890 (grub_usb_root_hub): Likewise.
24891 (poll_nonroot_hub): Likewise.
24892 (grub_usb_poll_devices): Likewise.
24893 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24894 * disk/usbms.c (grub_usbms_open): Use device hooks.
24895 (grub_usbms_iterate) :Poll devices.
24896 (grub_usbms_finddevs): Split into ...
24897 (grub_usbms_attach): ... this ...
24898 (grub_usbms_attach): ... and this.
24899 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24900 in detect_dev.
24901 (grub_usb_interface): New fields attached and detach_hook.
24902 (grub_usb_attach_hook_class): New type.
24903 (grub_usb_attach_desc): New struct.
24904 (grub_usb_register_attach_hook_class): New function.
24905 (grub_usb_unregister_attach_hook_class): Likewise.
24906 (grub_usb_poll_devices): Likewise.
24907 (grub_usb_device_attach): Likewise.
24908 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24909 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24910
3222efaf
VS
249112010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24912
24913 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24914 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24915 delta determination style. Works with most NetBSD partitions too.
24916
139b714a
VS
249172010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24918
24919 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24920 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24921
986aad56
VS
249222010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24923
24924 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24925
99be513c
AB
249262010-07-14 Anton Blanchard <anton@samba.org>
24927
24928 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24929 ET_DYN files.
24930
18075f62
GS
249312010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24932
24933 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24934
8d9a5b15
GS
249352010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24936
24937 * kern/partition.c (grub_partition_check_containment): New function to
24938 check that a partition is physically contained in a parent. Since
24939 offsets are relative (and non-negative), this reduces to checking that
24940 the partition ends before its parent.
24941 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24942 (grub_partition_iterate): Likewise.
24943 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24944 comments.
24945 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24946 partitions that start before their parent, and add debug printfs.
24947
19563c25
CW
249482010-07-13 Colin Watson <cjwatson@ubuntu.com>
24949
24950 * Makefile.in (.SUFFIX): Spell correctly, as ...
24951 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24952 bare module name without `.mod', e.g. `test') tried to invoke a
24953 Modula-2 compiler.
24954
1a1f1e67
CW
249552010-07-13 Colin Watson <cjwatson@ubuntu.com>
24956
24957 * README: Point to the Info manual.
24958
811b0dca
JS
249592010-07-13 Jiro SEKIBA <jir@unicus.jp>
24960
24961 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24962 2nd superblock position from partition size.
24963
e4f4eafc
CW
249642010-07-10 Colin Watson <cjwatson@ubuntu.com>
24965
24966 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24967 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24968 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24969 outputs.
24970
4274c30f
VS
249712010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24972
24973 Restructure SCSI .id handling.
24974 Reported and tested by: Aleš Nesrsta.
24975
24976 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24977 (grub_atapi_dev): Changed .name to "ata". New field .id.
24978 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24979 (grub_usbms_dev): New field .id.
24980 * disk/scsi.c (grub_scsi_iterate): Generate name.
24981 (grub_scsi_open): Parse name.
24982 * include/grub/scsi.h (grub_make_scsi_id): New function.
24983 (grub_scsi_dev): Change iterate and open to number instead of naming
24984 busses. All users updated.
24985 (grub_scsi): Remove name. Add .bus.
24986
5bc24388
VS
249872010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24988
24989 * commands/help.c (grub_cmd_help): Fix a typo.
24990
249975ba
VS
249912010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24992
24993 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24994 Reported and tested by: Colin Watson.
24995
3eaac1a1
VS
249962010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24997
24998 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24999 in this context.
25000
becce1b1
VS
250012010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
25002
25003 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
25004
f7bf0918
CW
250052010-07-07 Colin Watson <cjwatson@ubuntu.com>
25006
25007 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
25008 indentation.
25009
0b0f9620
CW
250102010-07-06 Colin Watson <cjwatson@ubuntu.com>
25011
25012 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
25013 and disk/raid6_recover.c.
25014 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25015 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25016
1e545469
CW
250172010-07-06 Colin Watson <cjwatson@ubuntu.com>
25018
25019 * term/gfxterm.c (repaint_schedulded): Rename to ...
25020 (repaint_scheduled): ... this. Update all callers.
25021 (repaint_was_schedulded): Rename to ...
25022 (repaint_was_scheduled): ... this. Update all callers.
25023
5357687a
CW
250242010-07-06 Colin Watson <cjwatson@ubuntu.com>
25025
25026 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
25027 which we expect to be handled by upper layers.
25028
29d7e783
BC
250292010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
25030
25031 * bus/usb/usbhub.c: #include time.h header.
25032
37582066
CW
250332010-07-06 Colin Watson <cjwatson@ubuntu.com>
25034
25035 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
25036 entry_name also for entries without stat blocks (e.g. ".."); fixes
25037 corruption of the first entry in a directory.
25038
c8c06953
CW
250392010-07-06 Colin Watson <cjwatson@ubuntu.com>
25040
25041 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
25042 after setting gfxterm as the active terminal. GRUB_BACKGROUND
25043 doesn't work otherwise.
25044
e75056f1
CW
250452010-07-05 Colin Watson <cjwatson@ubuntu.com>
25046
25047 * docs/grub.texi (Features): Update list of supported file systems.
25048 (GNU/Linux): Update for GRUB 2.
25049 (Serial terminal): Remove mention of --disable-serial, which was a
25050 GRUB Legacy configure option. Update instructions to use
25051 `terminal_input' and `terminal_output' rather than `terminal'.
25052 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
25053 configuration' and `Installing GRUB using grub-install'.
25054 (Menu entry editor): Update for GRUB 2.
25055 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
25056 Document new -a, -u, and -v options.
25057 (initrd): New section.
25058 (initrd16): New section.
25059 (linux): New section.
25060 (linux16): New section.
25061 (search): The `var' argument to `--set' is optional.
25062 (GRUB only offers a rescue shell): Go into a little more detail on
25063 drive ordering.
25064
5cf69151
CW
250652010-07-05 Colin Watson <cjwatson@ubuntu.com>
25066
25067 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
25068
e3f90044
CW
250692010-07-05 Colin Watson <cjwatson@ubuntu.com>
25070
25071 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
25072 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
25073
38d8f4f3
CW
250742010-07-05 Colin Watson <cjwatson@ubuntu.com>
25075
25076 * util/i386/pc/grub-setup.c (setup): Rename prefix to
25077 install_prefix, in line with install_dos_part and install_bsd_part.
25078 Add new prefix variable, which is copied to install_prefix after
25079 comparing core.img in memory with the one read from disk in the
25080 no-embedding case, and use that rather than overwriting
25081 install_prefix immediately when installing to a partition.
25082 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
25083 Bicakci.
25084
57ebd41e
GS
250852010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25086
25087 * configure.ac: Avoid == in test command, it's not portable.
25088 * util/grub.d/30_os-prober.in: Likewise.
25089
cb7f64b2
CW
250902010-07-04 Colin Watson <cjwatson@ubuntu.com>
25091
25092 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
25093
6b654bb0
GS
250942010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25095
25096 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
25097 multiple (top-level) partmaps.
25098
72a2026d
VS
250992010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25100
25101 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 25102 Reported by: Tino Keitel.
72a2026d 25103
df3eb88f
VS
251042010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25105
25106 Bidi and diacritics support.
25107
25108 * Makefile.in (widthspec.bin): New target.
25109 (widthspec.h): Likewise.
25110 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
25111 * autogen.sh: Generate unidata.c.
25112 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
25113 * commands/ls.c (grub_ls_list_devices): Likewise.
25114 (grub_ls_list_files): Likewise.
25115 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
25116 (grub_mini_cmd_lsmod): Likewise.
25117 * commands/read.c: Likewise.
25118 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
25119 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
25120 * lib/arg.c (grub_arg_show_help): Likewise.
25121 * lib/crypto.c (grub_password_get): Likewise.
25122 * normal/auth.c (grub_username_get): Likewise.
25123 * normal/misc.c (grub_normal_print_device_info): Likewise.
25124 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
25125 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
25126 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
25127 (normal/charset.c_DEPENDENCIES): New variable.
25128 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
25129 (pkglib_MODULES): Remove charset.mod.
25130 (charset_mod_SOURCES): Removed.
25131 (charset_mod_CFLAGS): Likewise.
25132 (charset_mod_LDFLAGS): Likewise.
25133 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
25134 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
25135 and term/tparm.c.
25136 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25137 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25138 (kernel_img_HEADERS): Add terminfo.h.
25139 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
25140 Fill ->font. Reverse ascii bitmaps.
25141 (grub_font_get_xheight): New function.
25142 * font/font.c (grub_font_get_string_width): Moved from here ...
25143 * gfxmenu/font.c (grub_font_get_string_width): ... here.
25144 * font/font.c (grub_font_draw_string): Moved from here ...
25145 * gfxmenu/font.c (grub_font_draw_string): ... here.
25146 * font/font.c (grub_font_dup_glyph): New function.
25147 (grub_font_blit_glyph): Likewise.
25148 (grub_font_blit_glyph_mirror): Likewise.
25149 (blit_comb): Likewise.
25150 (grub_font_construct_dry_run): Likewise.
25151 (grub_font_get_constructed_device_width): Likewise.
25152 (grub_font_construct_glyph): Likewise.
25153 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
25154 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
25155 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
25156 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
25157 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
25158 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
25159 (grub_font_get_xheight): New proto.
25160 (grub_font_get_constructed_device_width): Likewise.
25161 (grub_font_construct_glyph): Likewise.
25162 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
25163 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
25164 * include/grub/font.h (grub_font_draw_string): Moved from here ...
25165 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
25166 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
25167 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
25168 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
25169 (grub_console_getcharwidth): Likewise.
25170 * include/grub/misc.h (grub_xputs): New proto.
25171 (grub_puts): Inlined.
25172 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
25173 (grub_normal_get_line_counter): Removed.
25174 (grub_install_newline_hook): Likewise.
25175 (grub_normal_get_char_counter): New proto.
25176 (grub_normal_reset_more): Likewise.
25177 (grub_xputs_normal): Likewise.
25178 * include/grub/powerpc/ieee1275/console.h: Removed.
25179 * include/grub/sparc64/ieee1275/console.h: Likewise.
25180 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
25181 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
25182 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
25183 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
25184 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
25185 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
25186 (grub_term_input): Pass reference to self. All users updated.
25187 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
25188 Pass reference to self. New fields normal_color, highlight_color and
25189 data. All users updated.
25190 (grub_putchar): Removed.
25191 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
25192 (grub_unicode_estimate_width): New function.
25193 (grub_term_getcharwidth): Add defaults.
25194 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
25195 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
25196 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
25197 (grub_cls): Remove EXPORT_FUNC.
25198 (grub_setcolorstate): Inline.
25199 (grub_newline_hook): Removed.
25200 * include/grub/terminfo.h: Rewritten. All users updated.
25201 * include/grub/unicode.h: New file.
25202 * include/grub/video.h (grub_video_signed_rect): New type.
25203 * kern/emu/console.c (grub_console_highlight_color): Removed.
25204 (grub_console_normal_color): Likewise.
25205 (grub_console_standard_color): Made static.
25206 (grub_ncurses_putchar): Remove mapping.
25207 (grub_ncurses_getcharwidth): Removed.
25208 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25209 (grub_ncurses_setcolor): Removed.
25210 (grub_ncurses_getcolor): Likewise.
25211 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
25212 (grub_console_putchar): ... this.
25213 (grub_console_putchar): Handle argument difference.
25214 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
25215 console_init_early and console_init_lately.
25216 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
25217 * kern/misc.c (grub_puts): Removed.
25218 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
25219 (grub_vsnprintf_real): Remove str = NULL support.
25220 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
25221 * normal/charset.c (grub_utf8_to_ucs4): ... here.
25222 * kern/term.c (grub_putcode): Renamed to ...
25223 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
25224 (grub_putchar): Removed.
25225 (grub_xputs_dumb): New function.
25226 (grub_xputs): New variable.
25227 * lib/charset.c: Move from here ...
25228 * normal/charset.c: ... to here.
25229 (grub_ucs4_to_utf8): New function.
25230 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
25231 (join_types): New variable.
25232 (unpack_join): New function.
25233 (bidi_types): New variable.
25234 (unpack_bidi): New function.
25235 (get_bidi_type): Likewise.
25236 (get_join_type): Likewise.
25237 (is_mirrored): Likewise.
25238 (grub_unicode_get_comb_type): Likewise.
25239 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
25240 (is_type_after): Likewise.
25241 (grub_unicode_aglomerate_comb): Likewise.
25242 (bidi_line_wrap): Likewise.
25243 (grub_bidi_line_logical_to_visual): Likewise.
25244 (grub_bidi_logical_to_visual): Likewise.
25245 (grub_unicode_mirror_code): Likewise.
25246 (grub_unicode_shape_code): Likewise.
25247 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
25248 Don't use grub_putchar.
25249 * normal/main.c (grub_normal_init_page): Use grub_putcode.
25250 (grub_normal_reader_init): Likewise.
25251 (grub_xputs_saved): New variable.
25252 (GRUB_MOD_INIT): Set grub_xputs.
25253 (GRUB_MOD_FINI): Restore grub_xputs.
25254 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
25255 (menu_init): Avoid printing gfxmenu error.
25256 (show_menu): Use grub_normal_get_char_counter.
25257 * normal/menu_entry.c (update_screen): Fix out-of-array.
25258 (complete): Avoid NULL dereferencing.
25259 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
25260 * normal/menu_text.c (print_spaces): Removed.
25261 (grub_print_ucs4): Likewise.
25262 (grub_print_message_indented): Use grub_print_ucs4.
25263 (print_message): Use grub_putcode.
25264 (print_entry): Hanlde diacritics.
25265 * normal/term.c (term_state): New type.
25266 (grub_more_lines): Removed.
25267 (term_states): New variable.
25268 (grub_normal_line_counter): Renamed to ..
25269 (grub_normal_char_counter): ...this. All users updated.
25270 (grub_normal_get_line_counter): Renamed to ...
25271 (grub_normal_get_char_counter): ... this.
25272 (grub_normal_reset_more): New function.
25273 (process_newline): Removed.
25274 (print_more): New function.
25275 (grub_install_newline_hook): Removed.
25276 (map_code): New function.
25277 (grub_puts_terminal): Use grub_print_ucs4.
25278 (putglyph): New function.
25279 (putcode_real): Likewise.
25280 (grub_putcode): Use putcode_real.
25281 (get_maxwidth): New function.
25282 (get_startwidth): Likewise.
25283 (print_ucs4_terminal): Likewise.
25284 (find_term_state): Likewise.
25285 (put_glyphs_terminal): Likewise.
25286 (print_backlog): Likewise.
25287 (print_ucs4_real): Likewise.
25288 (grub_print_ucs4): Likewise.
25289 (grub_xputs_normal): Likewise.
25290 * term/efi/console.c (grub_console_putchar): Output diacritics.
25291 (grub_console_getcharwidth): Removed.
25292 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25293 * term/gfxterm.c (clear_char): Free chars.
25294 (scroll_up): Avoid leaking memory.
25295 (grub_gfxterm_putchar): Support diacritics.
25296 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25297 * term/i386/pc/console.c (grub_console_term_output): Declare as
25298 GRUB_TERM_CODE_TYPE_VGA.
25299 * term/i386/pc/vga.c (grub_vga_term): Declare as
25300 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
25301 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
25302 GRUB_TERM_CODE_TYPE_VGA.
25303 * term/i386/vga_common.c (map_char): Removed.
25304 (grub_console_putchar): Likewise.
25305 (grub_console_getcharwidth): Likewise.
25306 * term/ieee1275/ofconsole.c: Simplify using terminfo.
25307 (colors): Reordered to match terminfo.
25308 (grub_ofconsole_normal_color): Removed.
25309 (grub_ofconsole_writeesc): Likewise.
25310 (grub_ofconsole_highlight_color): Likewise.
25311 (grub_ofconsole_getcharwidth): Likewise.
25312 (grub_ofconsole_setcolorstate): Likewise.
25313 (grub_ofconsole_setcolor): Likewise.
25314 (grub_ofconsole_getcolor): Likewise.
25315 (grub_ofconsole_readkey): Renamed to ...
25316 (readkey): ... this. Remove escape sequence handling. Return -1 on no
25317 key.
25318 (grub_ofconsole_checkkey): Removed.
25319 (grub_ofconsole_getkey): Likewise.
25320 (grub_ofconsole_getxy): Likewise.
25321 (grub_ofconsole_gotoxy): Likewise.
25322 (grub_ofconsole_cls): Likewise.
25323 (grub_ofconsole_refresh): Likewise.
25324 (grub_ofconsole_terminfo_input): New struct.
25325 (grub_ofconsole_terminfo_output): Likewise.
25326 (grub_ofconsole_term_input): Use terminfo.
25327 (grub_ofconsole_term_output): Likewise.
25328 (grub_console_init): Split into ...
25329 (grub_console_init_early): ...this and ...
25330 (grub_console_init_lately): ...this. Use terminfo.
25331 (grub_ofconsole_putchar): Renamed to ...
25332 (put): ... this. Remove mapping.
25333 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25334 * term/serial.c: Simplify using terminfo.
25335 (xpos): Removed.
25336 (ypos): Likewise.
25337 (keep_track): Likewise.
25338 (registered): Likewise.
25339 (input_buf): Likewise.
25340 (npending): Likewise.
25341 (serial_translate_key_sequence): Likewise.
25342 (fill_input_buf): Likewise.
25343 (grub_serial_checkkey): Likewise.
25344 (grub_serial_getkey): Likewise.
25345 (grub_serial_getxy): Likewise.
25346 (grub_serial_gotoxy): Likewise.
25347 (grub_serial_putchar): Likewise.
25348 (grub_serial_cls): Likewise.
25349 (grub_serial_setcolorstate): Likewise.
25350 (grub_serial_setcursor): Likewise.
25351 (serial_hw_init): Use serial_hw_fetch.
25352 (grub_serial_terminfo_input): New variable.
25353 (grub_serial_terminfo_output): Likewise.
25354 (grub_serial_term_input): Use terminfo.
25355 (grub_serial_term_output): Likewise.
25356 * term/terminfo.c (putstr): Use put.
25357 (grub_terminfo_all_free): New function
25358 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25359 (grub_terminfo_output_register): New function.
25360 (grub_terminfo_output_unregister): Likewise.
25361 (grub_terminfo_getxy): Likewise.
25362 (grub_terminfo_readkey): Likewise.
25363 (grub_terminfo_checkkey): Likewise.
25364 (grub_terminfo_getkey): Likewise.
25365 (grub_terminfo_input_init): Likewise.
25366 (print_terminfo): Likewise.
25367 (grub_cmd_terminfo): Handle encoding.
25368 (grub_terminfo_gotoxy): Track position.
25369 (grub_terminfo_cls): Likewise.
25370 (grub_terminfo_putchar): Likewise.
25371 (grub_terminfo_setcolorstate): Handle colors
25372 (grub_terminfo_cursor_on): This ...
25373 (grub_terminfo_cursor_off): ... and this merged into ...
25374 (grub_terminfo_setcursor): ... this.
25375 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25376 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25377 * unicode/BidiMirroring.txt: Likewise.
25378 * unicode/UnicodeData.txt: Likewise.
25379 * unicode/COPYING: Likewise.
25380 * util/grub-editenv.c (grub_putchar): Removed.
25381 (grub_xputs_real): New function.
25382 (grub_xputs): New variable.
25383 * util/grub-fstest.c (grub_putchar): Removed.
25384 (grub_xputs_real): New function.
25385 (grub_xputs): New variable.
25386 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25387 (grub_xputs_real): New function.
25388 (grub_xputs): New variable.
25389 * util/grub-probe.c (grub_putchar): Removed.
25390 (grub_xputs_real): New function.
25391 (grub_xputs): New variable.
25392 * util/grub-script-check.c (grub_putchar): Removed.
25393 (grub_xputs_real): New function.
25394 (grub_xputs): New variable.
25395 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25396 (grub_xputs_real): New function.
25397 (grub_xputs): New variable.
25398 * util/import_unicode.py: New file.
25399 * util/grub-mkfont.c (ft_errmsgs): New array.
25400 (grub_glyph_info): Make bitmap a pointer.
25401 (file_formats): New type WIDTH_SPEC.
25402 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25403 (options): Add width-spec.
25404 (help): Likewise.
25405 (add_char): Renamed to ...
25406 (add_glyph): ... this.
25407 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25408 (glyph_replace): New type.
25409 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25410 (add_char): New function.
25411 (add_subst): Likewise.
25412 (process_cursive): Likewise.
25413 (add_font): Handle GSUB.
25414 (write_font_width_spec): New function.
25415 (main): Sort glyphs.
25416 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25417 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25418 * kern/term.c (grub_cls): Moved from here...
25419 * normal/term.c (grub_cls): ... here.
25420
50f0bcda
CW
254212010-07-02 Colin Watson <cjwatson@ubuntu.com>
25422
25423 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25424 suitable for using within the format argument of printf when
25425 converting grub_size_t.
25426 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25427 "x" to convert grub_size_t arguments.
25428
40372103
VS
254292010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25430
25431 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25432 too long captions.
25433 (list_get_minimal_size): Take selection box into account.
25434
942a10c7
VS
254352010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25436
25437 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25438 NULL font.
25439
2bdb2892
CW
254402010-07-02 Colin Watson <cjwatson@ubuntu.com>
25441
25442 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25443 devices when iterating over /dev/disk/by-id; they will be handled
25444 later if appropriate, which they aren't always (e.g. LVM).
25445
e03ed6c1
CW
254462010-07-02 Colin Watson <cjwatson@ubuntu.com>
25447
25448 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25449 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25450 fails.
25451 (grub_halt): Likewise.
25452 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25453 reset-all fails.
25454 (grub_halt): Don't return, even if all of shut-down, power-off, and
25455 poweroff fail.
25456
47695765
CW
254572010-07-02 Colin Watson <cjwatson@ubuntu.com>
25458
25459 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25460 arguments, not three.
25461
507736c8
CW
254622010-07-02 Colin Watson <cjwatson@ubuntu.com>
25463
25464 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25465 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25466 LVM-on-RAID is handled correctly.
25467
e3c8cd37
CW
254682010-07-02 Colin Watson <cjwatson@ubuntu.com>
25469
25470 * docs/grub.texi (Changes from GRUB Legacy): New section.
25471 (Future): Fix typo.
25472
8d4a2fec
CW
254732010-07-02 Colin Watson <cjwatson@ubuntu.com>
25474
25475 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
25476 grub.d/README accidentally ends up executable for one reason or
25477 another. Ignore it.
25478
1c4827be
VS
254792010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25480
25481 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
25482 (gpt_partition_map_iterate): Support non-512B sectors.
25483
d9a0c941
VS
254842010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25485
25486 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25487 Tested by: Seth Goldberg.
25488
48f27e87
VS
254892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25490
25491 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25492 Properly align mbi.
25493 Reported by: Seth Goldberg.
25494
b0c4f956
VS
254952010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25496
25497 * util/grub-mkrescue.in: Avoid module duplication.
25498
105a2e8c
SF
254992010-07-01 Sean Finney <seanius@seanius.net>
25500
25501 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
25502
5944958c
SF
255032010-07-01 Sean Finney <seanius@seanius.net>
25504
25505 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
25506
255072010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25508
25509 * disk/lvm.c (grub_lvm_checkvalue): New function.
25510 (grub_lvm_check_flag): Likewise.
25511
b79889ba
RM
255122010-07-01 Robert Millan <rmh@gnu.org>
25513
25514 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25515 Support 'p' as partition separator on kernel of FreeBSD (used
25516 with GPT labels).
25517 (grub_util_biosdisk_get_grub_dev): Likewise.
25518
ec1d04f1
VS
255192010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25520
25521 Yeeloong firmware port.
25522
25523 * boot/mips/yeeloong/fwstart.S: New file.
25524 * bus/cs5536.c (gpiodump): New const.
25525 (set_io_space): New function.
25526 (set_iod): Likewise.
25527 (set_p2d): Likewise.
25528 (grub_cs5536_init_geode): Likewise.
25529 * commands/mips/yeeloong/lsspd.c: New file.
25530 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25531 (serial_mod_SOURCES): New variable.
25532 (serial_mod_CFLAGS): Likewise.
25533 (serial_mod_LDFLAGS): Likewise.
25534 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25535 term/terminfo.c and term/tparm.c.
25536 (pkglib_IMAGES): Add fwstart.img.
25537 (fwstart_img_SOURCES): New variable.
25538 (fwstart_img_CFLAGS): Likewise.
25539 (fwstart_img_ASFLAGS): Likewise.
25540 (fwstart_img_LDFLAGS): Likewise.
25541 (fwstart_img_FORMAT): Likewise.
25542 (pkglib_MODULES): Add lsspd.mod.
25543 (lsspd_mod_SOURCES): New variable.
25544 (lsspd_mod_CFLAGS): Likewise.
25545 (lsspd_mod_LDFLAGS): Likewise.
25546 (pkglib_MODULES): Add halt.mod.
25547 (halt_mod_SOURCES): New variable.
25548 (halt_mod_CFLAGS): Likewise.
25549 (halt_mod_LDFLAGS): Likewise.
25550 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25551 (serial_mod_SOURCES): Removed.
25552 (serial_mod_CFLAGS): Likewise.
25553 (serial_mod_LDFLAGS): Likewise.
25554 * disk/ata.c (check_device): New function.
25555 (grub_ata_device_initialize): Use check_device.
25556 (grub_ata_iterate): Recheck devices.
25557 (grub_ata_open): Likewise.
25558 (grub_atapi_iterate): Likewise.
25559 (grub_atapi_open): Likewise.
25560 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
25561 (GRUB_ATA_CH1_PORT1): Likewise.
25562 (GRUB_ATA_CH0_PORT2): Likewise.
25563 (GRUB_ATA_CH1_PORT2): Likewise.
25564 * include/grub/mips/loongson.h: New file.
25565 * include/grub/mips/yeeloong/ec.h: Likewise.
25566 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25567 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25568 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25569 * include/grub/misc.h (grub_halt): Declare as noreturn.
25570 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25571 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25572 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25573 (UART_ENABLE_DTRRTS): Likewise.
25574 (UART_ENABLE_MODEM): Removed.
25575 (UART_ENABLE_OUT2): New const.
25576 * include/grub/term.h (grub_term_register_input_active): New function.
25577 (grub_term_register_output_active): Likewise.
25578 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25579 argument.
25580 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25581 (init_pci): New function.
25582 (grub_machine_init): Execute platform init when firmware. Init serial.
25583 (grub_halt): Implement.
25584 (grub_exit): Likewise.
25585 (grub_reboot): Likewise.
25586 * term/serial.c (serial_hw_init): Update macros.
25587 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25588 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25589 (image_targets): New target mipsel-yeeloong-flash.
25590 (generate_image): Support IMAGE_YEELOONG_FLASH.
25591 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25592 (grub_video_sm712_setup): Init card.
25593 (grub_video_sm712_set_palette): Removed.
25594 * video/sm712_init.c: New file.
25595
ff4a70d2
CW
255962010-06-30 Colin Watson <cjwatson@ubuntu.com>
25597
25598 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25599 PATH when running help2man and then run it on the unadorned
25600 executable names, rather than passing $(builddir)/* paths to
25601 help2man. This avoids the build directory ending up in generated
25602 manual pages.
25603
1246efeb
CW
256042010-06-29 Colin Watson <cjwatson@ubuntu.com>
25605
25606 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25607 to avoid accidents when debugging with 'sh -x'.
25608 * util/grub-mkrescue.in: Likewise.
25609 * util/grub.d/00_header.in: Likewise.
25610 * util/grub.d/10_hurd.in: Likewise.
25611 * util/grub.d/10_kfreebsd.in: Likewise.
25612 * util/grub.d/10_linux.in: Likewise.
25613 * util/grub.d/10_netbsd.in: Likewise.
25614 * util/grub.d/10_windows.in: Likewise.
25615 * util/grub.d/20_linux_xen.in: Likewise.
25616 * util/grub.d/30_os-prober.in: Likewise.
25617 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25618
1ba9b889
CW
256192010-06-29 Colin Watson <cjwatson@ubuntu.com>
25620
25621 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25622 last character in the buffer.
25623 Reported by: Vladimir Serbinenko.
25624
dccaf99d
RM
256252010-06-29 Robert Millan <rmh@gnu.org>
25626
25627 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25628 (Command-line and menu entry commands): Document `badram' command.
25629
d500ed12
RM
256302010-06-28 Robert Millan <rmh@gnu.org>
25631
25632 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25633 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25634 command using ${GRUB_BADRAM} as parameter.
25635
20bc84a6
CW
256362010-06-28 Colin Watson <cjwatson@ubuntu.com>
25637
25638 * docs/grub.texi (Device map): New section.
25639 (Themes): New section (stub).
25640 * Makefile.in (docs/grub.info): The info documentation now builds
25641 without errors. Make sure it stays that way.
25642
4045dee1
VS
256432010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25644
25645 Use normal parser for menu entries.
25646 Reported by: Thomas Frauendorfer
25647
25648 * include/grub/parser.h (grub_parser_execute): Don't export.
25649 * normal/menu.c (grub_menu_execute_entry_real): New function.
25650 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25651
bca58c7b
CW
256522010-06-28 Colin Watson <cjwatson@ubuntu.com>
25653
25654 * docs/grub.texi (Embedded configuration): New section (replacing
25655 old "Preset Menu" stub).
25656 (Images): New section.
25657 (configfile): Note that any menu entries defined in `file' are shown
25658 immediately.
25659
dec53e63
JT
256602010-06-28 Josh Triplett <josh@joshtriplett.org>
25661
25662 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25663
c06e40f7
CW
256642010-06-28 Colin Watson <cjwatson@ubuntu.com>
25665
25666 * util/grub-install.in: Add --debug-image= option.
25667
cb88052b
CW
256682010-06-28 Colin Watson <cjwatson@ubuntu.com>
25669
25670 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25671 possible on Linux.
25672
25673 * util/deviceiter.c (check_device): Rename to ...
25674 (check_device_readable_unique): ... this. Update all callers.
25675 Maintain and check a list of which devices (by canonicalized name)
25676 have already been seen.
25677 (clear_seen_devices): New function.
25678 (compare_file_names) [__linux__]: New function.
25679 (grub_util_iterate_devices): Clear the list of seen devices on exit
25680 and (just in case) on entry.
25681 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25682 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25683 seen-devices list, superseded by general code in check_device.
25684
bbe34652
CW
256852010-06-28 Colin Watson <cjwatson@ubuntu.com>
25686
25687 * commands/cat.c (options): New variable.
25688 (grub_cmd_cat): Parse options. If the --dos option is given, print
25689 DOS-style "\r\n" line endings as simple newlines (Debian bug
25690 #586358).
25691 (GRUB_MOD_INIT): Use extcmd.
25692 (GRUB_MOD_FINI): Likewise.
25693 * docs/grub.texi (cat): Document --dos.
25694
412e09f3
VS
256952010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25696
25697 XEN with Linux grub-mkconfig support.
25698
25699 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25700 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25701 GRUB_CMDLINE_XEN_DEFAULT.
25702 * util/grub.d/20_linux_xen.in: New file.
25703
53f3ef38 257042010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
25705
25706 Initialise VGA video on qemu ourselves.
25707
25708 * boot/i386/qemu/boot.S: Don't call 0xc000.
25709 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25710 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25711 (kernel_img_HEADERS): Add pci.h.
25712 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25713 * configure.ac: Force unifont on qemu and yeeloong.
25714 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25715 (grub_vga_palette_write): Use correct register.
25716 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25717 Call grub_qemu_init_cirrus.
25718 * kern/i386/qemu/init.c: New file.
25719 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25720
25721 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25722
c75be4fb
PR
257232010-06-26 Pavel Roskin <proski@gnu.org>
25724
25725 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25726 13.
25727
d8034603
CW
257282010-06-26 Colin Watson <cjwatson@ubuntu.com>
25729
25730 * docs/grub.texi (Simple configuration): Explain that
25731 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25732 set to `true' to disable their respective recovery entries, not
25733 merely set.
25734
3fa06487
CW
257352010-06-26 Colin Watson <cjwatson@ubuntu.com>
25736
25737 Make the `source' command slightly faster.
25738
25739 * normal/main.c (grub_normal_execute): Don't re-read list files when
25740 nested.
25741
e9b29642
CW
257422010-06-23 Colin Watson <cjwatson@ubuntu.com>
25743
25744 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25745 field position and mask size to red fields from mode_info, not
25746 green.
25747 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25748 Remove redundant tag->common.framebuffer_type assignment.
25749 Reported by: Seth Goldberg.
25750
e726542f
CW
257512010-06-23 Colin Watson <cjwatson@ubuntu.com>
25752
25753 Sync up other versions of the Linux loader with Robert Millan's
25754 change of 2010-01-09, "Make loader output a bit more user-friendly".
25755
25756 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25757 grub_dprintf().
25758 (grub_cmd_linux): Likewise.
25759 (grub_cmd_initrd): Likewise.
25760 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25761 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25762
d6e98a17
CW
257632010-06-21 Colin Watson <cjwatson@ubuntu.com>
25764
25765 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25766 larger than MEMORY_MAP_SIZE.
25767
14d3f08e
BC
257682010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25769
25770 Fix parallel build.
25771
25772 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25773 dependency.
25774 * script/parser.y: #include grub_script.tab.h header.
25775
4f9613a3
VS
257762010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25777
25778 Support >3GiB and <16MiB RAM in i386-qemu.
25779
25780 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25781 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25782 (grub_lower_mem): Removed.
25783 (grub_upper_mem): Likewise.
25784 (mem_size): Made static.
25785 (above_4g): New variable.
25786 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25787 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25788 support.
25789
05e51879
VS
257902010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25791
25792 Cirrus 5446 and Bochs video cards support.
25793
25794 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25795 video_bochs.mod
25796 (video_cirrus_mod_SOURCES): New variable.
25797 (video_cirrus_mod_CFLAGS): Likewise.
25798 (video_cirrus_mod_LDFLAGS): Likewise.
25799 (video_bochs_mod_SOURCES): Likewise.
25800 (video_bochs_mod_CFLAGS): Likewise.
25801 (video_bochs_mod_LDFLAGS): Likewise.
25802 * include/grub/vga.h: New file.
25803 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25804 (grub_video_fb_set_page_t): New type.
25805 (grub_video_fb_setup): New prototype.
25806 (grub_video_fb_swap_buffers): Likewise.
25807 (grub_video_fb_get_info_and_fini): Likewise.
25808 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25809 (CRTC_DATA_PORT): Likewise.
25810 (CRTC_CURSOR): Likewise.
25811 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25812 (CRTC_CURSOR_ADDR_LOW): Likewise.
25813 (CRTC_CURSOR_DISABLE): Likewise.
25814 (update_cursor): Use grub_vga_cr_write.
25815 (grub_vga_text_setcursor): Likewise.
25816 * video/bochs.c: New file.
25817 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25818 (palette): Likewise.
25819 (palette_size): Likewise.
25820 (framebuffer): New variable.
25821 (grub_video_fb_init): Use 'framebuffer'.
25822 (grub_video_fb_fini): Likewise.
25823 (grub_video_fb_get_info): Likewise.
25824 (grub_video_fb_get_palette): Likewise.
25825 (grub_video_fb_set_palette): Likewise.
25826 (grub_video_fb_set_viewport): Likewise.
25827 (grub_video_fb_get_viewport): Likewise.
25828 (grub_video_fb_map_color): Likewise.
25829 (grub_video_fb_map_rgb): Likewise.
25830 (grub_video_fb_map_rgba): Likewise.
25831 (grub_video_fb_unmap_color): Likewise.
25832 (grub_video_fb_unmap_color_int): Likewise.
25833 (grub_video_fb_fill_rect): Likewise.
25834 (grub_video_fb_blit_bitmap): Likewise.
25835 (grub_video_fb_blit_render_target): Likewise.
25836 (grub_video_fb_scroll): Likewise.
25837 (grub_video_fb_create_render_target): Likewise.
25838 (grub_video_fb_doublebuf_blit_init): Likewise.
25839 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25840 (doublebuf_pageflipping_update_screen): New function.
25841 (doublebuf_pageflipping_init): Likewise.
25842 (grub_video_fb_setup): Likewise.
25843 (grub_video_fb_swap_buffers): Likewise.
25844 (grub_video_fb_get_info_and_fini): Likewise.
25845 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25846 All users updated.
25847 (doublebuf_pageflipping_commit): Restructured into ...
25848 (doublebuf_pageflipping_set_page): ... this.
25849 (doublebuf_pageflipping_update_screen): Removed.
25850 (doublebuf_pageflipping_init): Likewise.
25851 (double_buffering_init): Likewise.
25852 (grub_video_vbe_setup): Use grub_video_fb_setup.
25853 (grub_video_vbe_swap_buffers): Removed.
25854 (grub_video_vbe_set_active_render_target): Likewise.
25855 (grub_video_vbe_get_active_render_target): Likewise.
25856 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25857 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25858 grub_video_fb_set_active_render_target and
25859 grub_video_fb_get_active_render_target.
25860 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25861 (SEQUENCER_DATA_PORT): Likewise.
25862 (MAP_MASK_REGISTER): Likewise.
25863 (CRTC_ADDR_PORT): Likewise.
25864 (CRTC_DATA_PORT): Likewise.
25865 (START_ADDR_HIGH_REGISTER): Likewise.
25866 (START_ADDR_LOW_REGISTER): Likewise.
25867 (GRAPHICS_ADDR_PORT): Likewise.
25868 (GRAPHICS_DATA_PORT): Likewise.
25869 (READ_MAP_REGISTER): Likewise.
25870 (INPUT_STATUS1_REGISTER): Likewise.
25871 (INPUT_STATUS1_VERTR_BIT): Likewise.
25872 (get_map_mask): Use grub_vga_sr_read.
25873 (set_map_mask): Use grub_vga_sr_write.
25874 (set_read_map): Use grub_vga_gr_write.
25875 (set_start_address): Use grub_vga_cr_write.
25876 * video/sm712.c (framebuffer): Remove leftover fields.
25877
4321c64a
CW
258782010-06-20 Colin Watson <cjwatson@ubuntu.com>
25879
25880 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25881 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25882 instead. Replace the gfxterm backend check with a check that
25883 ${GRUB_PREFIX}/video.lst is non-empty.
25884 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25885 again.
25886 (load_video): New generated function. Call it before loading
25887 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25888 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25889 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25890 * docs/grub.texi (Simple configuration): Document
25891 GRUB_VIDEO_BACKEND.
25892
258932010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25894
25895 Use video functions in linux and xnu loaders.
25896
25897 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25898 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25899 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25900 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25901 loader/i386/pc/linux.c.
25902 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25903 (find_line_len): Removed.
25904 (find_framebuf): Likewise.
25905 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25906 * loader/i386/efi/xnu.c: Removed.
25907 * loader/i386/pc/xnu.c: Moved from here...
25908 * loader/i386/xnu.c: ...here.
25909
25910 Enable priorities in video drivers.
25911
25912 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25913 (grub_video_adapter): New field prio.
25914 (grub_video_register): Respect prio when inserting.
25915 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25916 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25917 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25918 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25919 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25920 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25921 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25922
25923 Fix SDL driver ID.
25924
25925 * include/grub/video.h (grub_video_driver_id_t): New value
25926 GRUB_VIDEO_DRIVER_SDL.
25927 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25928
7d24e434
CW
259292010-06-17 Colin Watson <cjwatson@ubuntu.com>
25930
25931 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25932 argument to printf.
25933 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25934
c88a83f6
CW
259352010-06-17 Colin Watson <cjwatson@ubuntu.com>
25936
25937 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25938 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25939
094dfb69
CW
259402010-06-17 Colin Watson <cjwatson@ubuntu.com>
25941
25942 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25943 directly, and recommend grub-install instead.
25944 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25945
2164da6b
CW
259462010-06-17 Colin Watson <cjwatson@ubuntu.com>
25947
25948 Fix i386-pc prefix handling with nested partitions (Debian bug
25949 #585068). Note that the case where the core image is booted using
25950 multiboot and relocated from its original location still requires
25951 more work.
25952
25953 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25954 with "(,", fill the boot drive in between those two characters, but
25955 expect that a full partition specification including partition map
25956 names will follow.
25957 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25958 specified, write a prefix without the drive name but including a
25959 full partition specification.
25960
044e2e60
CW
259612010-06-16 Colin Watson <cjwatson@ubuntu.com>
25962
25963 * util/grub-mkconfig.in: Ignore non-option arguments, for
25964 compatibility with older versions (before 2010-06-12) which did the
25965 same. In particular, this makes it easier to ship an update-grub
25966 wrapper which is compatible with that used with GRUB Legacy (Debian
25967 bug #586056).
25968
5591324f
GS
259692010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25970
25971 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25972 for manual page generation.
25973
662e24d5
GS
259742010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25975
25976 * po/POTFILES: Remove leftover commands/handler.c.
25977
8d70754e
CW
259782010-06-14 Colin Watson <cjwatson@ubuntu.com>
25979
25980 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25981 left this script non-functional.
25982
41160e2e
CW
259832010-06-14 Colin Watson <cjwatson@ubuntu.com>
25984
25985 * docs/man/grub-emu.h2m: New file.
25986
b5309cc1
CW
259872010-06-13 Colin Watson <cjwatson@ubuntu.com>
25988
25989 * docs/grub.texi (Commands): Document reduced command set in rescue
25990 mode.
25991 (cpuid): New section.
25992
fcb2d090
GS
259932010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25994
25995 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25996 new partition naming style.
25997 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25998
96e5c556
BC
259992010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
26000
26001 Add "-o grub.iso" like cmdline options support.
26002
26003 * util/grub-install.in: Improve cmdline option parsing.
26004 * util/grub-mkconfig.in: Likewise.
26005 * util/grub-mkrescue.in: Likewise.
26006 * util/grub-reboot.in: Likewise.
26007 * util/grub-set-default.in: Likewise.
26008 * util/i386/efi/grub-install.in: Likewise.
26009 * util/ieee1275/grub-install.in: Likewise.
26010 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26011
c16be99b
CW
260122010-06-12 Colin Watson <cjwatson@ubuntu.com>
26013
26014 * .bzrignore: Ignore 41_custom.
26015
ce08a9fb
TS
260162010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26017
26018 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
26019
7beac90c
CW
260202010-06-12 Colin Watson <cjwatson@ubuntu.com>
26021
26022 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
26023 prototype declarations.
26024
26025 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
26026 generating fs, partmap, and video lists.
26027 * include/grub/fs.h (grub_fs_register): Omit prototype if
26028 GRUB_LST_GENERATOR is defined.
26029 * include/grub/partition.h (grub_partition_map_register): Likewise.
26030 * include/grub/video.h (grub_video_register): Likewise.
26031
1c8f0f8d
JM
260322010-06-12 Javier Martín <lordhabbit@gmail.com>
26033
26034 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
26035
a6085973
TS
260362010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26037
26038 * util/grub-mkrescue.in: Support --xorriso argument.
26039
25c56d29
VS
260402010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26041
26042 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
26043 Suggested by: Thomas Schmitt.
26044
e03e4b24
VS
260452010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26046
26047 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
26048 Suggested by: Thomas Schmitt.
26049
57711df6
VS
260502010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26051
26052 custom.cfg support.
26053
26054 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
26055 * util/grub.d/41_custom.in: New file.
26056
ee62c427
CW
260572010-06-12 Colin Watson <cjwatson@ubuntu.com>
26058
26059 * util/grub-mkrescue.in (make_image): Remove sh module, which has
26060 been merged back into normal.
26061
283af07a
CW
260622010-06-11 Colin Watson <cjwatson@ubuntu.com>
26063
26064 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
26065 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
26066
56a0d956
CW
260672010-06-11 Colin Watson <cjwatson@ubuntu.com>
26068
26069 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
26070 when generating manual pages.
26071 * docs/man/grub-bin2h.h2m: New file.
26072 * docs/man/grub-editenv.h2m: New file.
26073 * docs/man/grub-fstest.h2m: New file.
26074 * docs/man/grub-install.h2m: New file.
26075 * docs/man/grub-macho2img.h2m: New file.
26076 * docs/man/grub-mkconfig.h2m: New file.
26077 * docs/man/grub-mkdevicemap.h2m: New file.
26078 * docs/man/grub-mkfont.h2m: New file.
26079 * docs/man/grub-mkimage.h2m: New file.
26080 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
26081 * docs/man/grub-mkrelpath.h2m: New file.
26082 * docs/man/grub-mkrescue.h2m: New file.
26083 * docs/man/grub-ofpathname.h2m: New file.
26084 * docs/man/grub-pe2elf.h2m: New file.
26085 * docs/man/grub-probe.h2m: New file.
26086 * docs/man/grub-reboot.h2m: New file.
26087 * docs/man/grub-script-check.h2m: New file.
26088 * docs/man/grub-set-default.h2m: New file.
26089 * docs/man/grub-setup.h2m: New file.
26090
3a37e322
VS
260912010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
26092
26093 Use FOR_* macros instead of *_iterate whenever possible.
26094
26095 * commands/handler.c: Removed.
26096 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
26097 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
26098 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26099 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
26100 (grub_probe_SOURCES): Remove kern/parser.c.
26101 (util/grub-script-check.c_DEPENDENCIES): Removed.
26102 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
26103 and grub_script_check_init.c.
26104 (grub_script_check_init.lst): Removed.
26105 (grub_script_check_init.h): Likewise.
26106 (grub_script_check_init.c): Likewise.
26107 (pkglib_MODULES): Remove handler.mod and sh.mod.
26108 (handler_mod_SOURCES): Removed.
26109 (handler_mod_CFLAGS): Likewise.
26110 (handler_mod_LDFLAGS): Likewise.
26111 (normal_mod_SOURCES): Remove normal/handler.c.
26112 Add script/main.c, script/script.c, script/execute.c,
26113 script/function.c, script/lexer.c, grub_script.tab.c
26114 and grub_script.yy.c.
26115 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26116 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26117 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
26118 (grub_setup_SOURCES): Remove kern/parser.c.
26119 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26120 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
26121 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
26122 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26123 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26124 (grub_setup_SOURCES): Remove kern/parser.c.
26125 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26126 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
26127 * include/grub/command.h (grub_command_iterate): Removed.
26128 (FOR_COMMANDS): New macro.
26129 * include/grub/dl.h (grub_dl): New member next.
26130 (grub_dl_iterate): Removed.
26131 (grub_dl_head): New variable declaration.
26132 (FOR_DL_MODULES): New macro.
26133 * include/grub/fs.h: Include list.h.
26134 (grub_fs): Make next first element.
26135 (grub_fs_list): New variable declaration.
26136 (grub_fs_register): Make inline.
26137 (grub_fs_unregister): Likewise.
26138 (grub_fs_iterate): Removed.
26139 (FOR_FILESYSTEMS): New macro.
26140 * include/grub/handler.h: Removed.
26141 * include/grub/list.h (grub_list_hook_t): Removed.
26142 (grub_list_test_t): Likewise.
26143 (grub_list_pop): Likewise.
26144 (grub_list_iterate): Likewise.
26145 (grub_list_insert): Likewise.
26146 (FOR_LIST_ELEMENTS): New macro.
26147 * include/grub/parser.h (grub_parser_class): Removed.
26148 (grub_parser_register): Likewise.
26149 (grub_parser_unregister): Likewise.
26150 (grub_parser_get_current): Likewise.
26151 (grub_parser_set_current): Likewise.
26152 (grub_register_rescue_parser): Likewise.
26153 (grub_rescue_parse_line): New function.
26154 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
26155 * include/grub/script_sh.h (grub_script_function_list): New variable
26156 declaration.
26157 (FOR_SCRIPT_FUNCTIONS): New macro.
26158 (grub_script_function_iterate): Removed.
26159 (grub_normal_parse_line): New prototype.
26160 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
26161 (FOR_DISABLED_TERM_INPUTS): Likewise.
26162 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26163 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26164 * include/grub/video.h (grub_video_adapter): Move 'next' to first
26165 element.
26166 (grub_video_register): Inline.
26167 (grub_video_unregister): Likewise.
26168 (grub_video_adapter_list): New variable declaration.
26169 (grub_video_iterate): Removed.
26170 (FOR_VIDEO_ADAPTERS): New macro.
26171 * kern/dl.c (grub_dl_list): Removed. All users updated.
26172 (grub_dl_iterate): Removed.
26173 * kern/fs.c (grub_fs_list): Make global.
26174 (grub_fs_register): Removed.
26175 (grub_fs_unregister): Likewise.
26176 (grub_fs_iterate): Likewise.
26177 * kern/handler.c: Removed.
26178 * kern/list.c (grub_list_pop): Removed.
26179 (grub_list_iterate): Likewise.
26180 (grub_list_insert): Likewise.
26181 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
26182 (grub_prio_list_insert): Don't use grub_list_insert.
26183 * kern/main.c (grub_register_rescue_parser): Don't call
26184 grub_register_rescue_parser.
26185 * kern/parser.c (grub_parser_class): Removed.
26186 (grub_parser_execute): Use grub_rescue_parse_line.
26187 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
26188 (grub_rescue_parser): Removed.
26189 (grub_register_rescue_parser): Likewise.
26190 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
26191 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
26192 (grub_auth_check_authentication): Likewise.
26193 * normal/completion.c (iterate_command): Removed.
26194 (grub_normal_do_completion): Use FOR_COMMANDS.
26195 * normal/handler.c: Removed.
26196 * normal/main.c (read_config_file): Remove parser changing.
26197 (grub_normal_execute): Don't call read_handler_list.
26198 (grub_normal_read_line_real): Statically allocate prompt.
26199 (grub_cmdline_run): Use grub_normal_parse_line.
26200 (GRUB_MOD_FINI): Don't call free_handler_list.
26201 * normal/menu_entry.c (run): Likewise.
26202 * script/function.c (grub_script_function_list): Make global.
26203 (grub_script_function_iterate): Removed.
26204 * script/main.c (grub_normal_parse_line): Make global.
26205 (grub_sh_parser): Removed.
26206 (GRUB_MOD_INIT): Likewise.
26207 (GRUB_MOD_FINI): Likewise.
26208 * tests/lib/functional_test.c (grub_functional_test): Use
26209 FOR_LIST_ELEMENTS.
26210 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
26211 (grub_test_run): Use FOR_LIST_ELEMENTS.
26212 * tests/lib/unit_test.c (main): Likewise.
26213 * util/deviceiter.c (grub_util_iterate_devices): Don't use
26214 grub_list_pop.
26215 * util/grub-fstest.c (grub_term_input_class): Removed.
26216 (grub_term_output_class): Likewise.
26217 * util/grub-probe.c: Likewise.
26218 * util/i386/pc/grub-setup.c: Likewise.
26219 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26220 * util/grub-script-check.c (main): Don't call grub_init_all and
26221 grub_fini_all.
26222 * video/video.c (grub_video_adapter_list): Make global.
26223 (grub_video_register): Removed.
26224 (grub_video_unregister): Likewise.
26225 (grub_video_iterate): Likewise.
26226
6289c3a7
VS
262272010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
26228
26229 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
26230 reported by Henrique Ferreiro.
26231
91460247
RM
262322010-06-09 Robert Millan <rmh@gnu.org>
26233
26234 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
26235 ones, when both are available.
26236
0ea7c4f9
GS
262372010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26238
26239 Make --version uniform and avoid hard-coded program name.
26240
26241 * util/grub-mkimage.c (main): Use `program_name' instead of
26242 hard-coded string.
26243 * util/i386/pc/grub-setup.c (main): Likewise.
26244 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
26245 * util/grub-install.in: Save the basename of $0 in $self, and use the
26246 latter in informational messages. Use the same format for --version
26247 as the binary programs.
26248 * util/grub-mkconfig.in: Likewise.
26249 * util/grub-mkrescue.in: Likewise.
26250 * util/grub-reboot.in: Likewise.
26251 * util/grub-set-default.in: Likewise.
26252 * util/i386/efi/grub-install.in: Likewise.
26253 * util/ieee1275/grub-install.in: Likewise.
26254 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26255
e8a6f3b6
GS
262562010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26257
26258 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
26259 embedding area. Use <= instead of == when checking for non-emptiness.
26260
f4d095d7
GS
262612010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26262
26263 * configure.ac: Add `.' to the directories searched for unifont.
26264
50e532ca
CW
262652010-06-08 Colin Watson <cjwatson@ubuntu.com>
26266
26267 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
26268 grub_script.yy.h.
26269
d39f3dec
CW
262702010-06-08 Colin Watson <cjwatson@ubuntu.com>
26271
26272 * docs/grub.texi (History): Expand to cover GRUB 2.
26273 (Serial terminal): Refer to `terminal_input' and `terminal_output'
26274 commands, not `terminal'.
26275 (serial): Likewise.
26276 (terminal_input): New section.
26277 (terminal_output): New section.
26278 (uppermem): New section (stub).
26279 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
26280
6ef0ddb4
CW
262812010-06-08 Colin Watson <cjwatson@ubuntu.com>
26282
26283 * docs/grub.texi (Security): Menu entries are unrestricted by
26284 default, not restricted to superusers as I had previously thought.
26285 Reword to account for this.
26286
e0f4c438
CW
262872010-06-07 Colin Watson <cjwatson@ubuntu.com>
26288
26289 * kern/emu/misc.c (device_mapper_null_log): New function.
26290 (grub_device_mapper_supported): New function.
26291 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
26292 prototype.
26293 * kern/emu/hostdisk.c (find_partition_start): Check whether
26294 device-mapper is supported before trying to use it.
26295 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
26296
da908200
CW
262972010-06-07 Colin Watson <cjwatson@ubuntu.com>
26298
26299 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
26300 (File name syntax): Likewise.
26301 (help): --all is no longer supported in GRUB 2. Be more precise
26302 about pattern matching.
26303
fb55c3ac
CW
263042010-06-07 Colin Watson <cjwatson@ubuntu.com>
26305
26306 * normal/completion.c (grub_normal_do_completion): When completing
26307 arguments to "set" and the current word contains an equals sign,
26308 skip to after the equals sign before starting completion.
26309
258c2573
CW
263102010-06-07 Colin Watson <cjwatson@ubuntu.com>
26311
26312 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
26313
ee75515e
CW
263142010-06-07 Colin Watson <cjwatson@ubuntu.com>
26315
26316 * docs/grub.texi (Network): New section.
26317 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
26318 `(nd)' as in GRUB Legacy.
26319 (pxe_unload): New section.
26320
a6a700aa
CW
263212010-06-07 Colin Watson <cjwatson@ubuntu.com>
26322
26323 * docs/grub.texi (Troubleshooting): `echo' is not usually available
26324 in the rescue shell, so recommend using `set' instead. Thanks,
26325 Jordan Uggla.
26326
4003dd38
CW
263272010-06-07 Colin Watson <cjwatson@ubuntu.com>
26328
26329 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
26330 (password): New section.
26331 (password_pbkdf2): New section.
26332 (search): New section.
26333 (Security): New section.
26334 (Troubleshooting): New section, currently very incomplete.
26335 (Invoking grub-mkpasswd-pbkdf2): New section.
26336 (Internals): New section, currently very incomplete.
26337
e1cbcc40
CW
263382010-06-07 Colin Watson <cjwatson@ubuntu.com>
26339
26340 * util/grub.d/00_header.in: Add some more quoting (of
26341 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
26342 work again.
26343 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26344
db8fa1ad
CW
263452010-06-07 Colin Watson <cjwatson@ubuntu.com>
26346
26347 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26348 to `count', fixing variable shadowing that broke the -c option.
26349
263502010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
26351
26352 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26353 in case they contain spaces.
26354
f28a9212
CW
263552010-06-04 Colin Watson <cjwatson@ubuntu.com>
26356
26357 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26358 "part_" to partmap module names, in line with grub-install.
26359 Reported by: Jindřich Makovička (Debian bug #584426).
26360
9cdfe32f
CW
263612010-06-04 Colin Watson <cjwatson@ubuntu.com>
26362
26363 * util/grub-mkimage.c: Make target-related error messages slightly
26364 more helpful; -O talks about "format". Explicitly point to the use
26365 of -O if no target is specified.
26366 Reported by: Didier Raboud (Debian bug #584415).
26367
795b593a
CW
263682010-06-03 Colin Watson <cjwatson@ubuntu.com>
26369
26370 * INSTALL: Document several build requirements for optional features
26371 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26372
9d9b5833
GS
263732010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26374
26375 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26376 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26377 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26378
0819fec8
CW
263792010-06-02 Colin Watson <cjwatson@ubuntu.com>
26380
26381 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26382 Thanks to Jordan Uggla for spotting this.
26383
49396b4f
VS
263842010-06-02 Aleš Nesrsta <starous@volny.cz>
26385
26386 Finally make USB usable.
26387
26388 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26389 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26390 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26391 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26392 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26393 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26394 (GRUB_OHCI_FSMPS): Likewise.
26395 (GRUB_OHCI_PERIODIC_START): Likewise.
26396 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26397 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26398 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26399 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26400 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26401 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26402 (grub_ohci_transaction): Likewise.
26403 (grub_ohci_transfer): Improve condition detection algorithms.
26404 Handle toggle property. Program the transactions correctly.
26405 Improve error handling. Various important fixups.
26406 (grub_ohci_portstatus): Put register writes in right order.
26407 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26408 (grub_uhci_transfer): Don't show "failed" message on success.
26409 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26410 array.
26411 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26412 determine its size.
26413 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26414 before initialization is completed. Use IN direction for empty
26415 transfers. Use last_trans and compute toggle.
26416 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26417 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26418 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26419 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26420 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26421 (grub_usb_device): Increase toggle to 256.
26422 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26423 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26424 GRUB_USBMS_SUBCLASS_SFF8070.
26425 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26426 (grub_scsi_inquiry): New member page and alloc_length.
26427 (grub_scsi_request_sense): New structure.
26428 (grub_scsi_request_sense_data): Likewise.
26429 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26430 control.
26431 * disk/scsi.c (grub_scsi_request_sense): New function.
26432 (grub_scsi_test_unit_ready): Likewise.
26433 (grub_scsi_inquiry): Fill new fields.
26434 (grub_scsi_read_capacity): Likewise.
26435 (grub_scsi_read10): Add request sense at the end.
26436 (grub_scsi_read12): Likewise.
26437 (grub_scsi_write10): Likewise.
26438 (grub_scsi_write12): Likewise.
26439 (grub_scsi_open): Add Test Unit Ready.
26440 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26441 Support additional subclasses. Con't clear halt yet. Activate the
26442 proper config. Calculate LUNs correctly.
26443 (grub_usbms_transfer): Various important fixups.
26444
264452010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26446
26447 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26448 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26449 (grub_ohci_fini_hw): New function.
26450 (grub_ohci_restore_hw): Likewise.
26451 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26452 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26453 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26454
264552010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26456
26457 Dedicated DMA allocations.
26458
26459 * bus/pci.c (grub_memalign_dma32): New function
26460 (grub_dma_free): Likewise.
26461 (grub_dma_get_virt): Likewise.
26462 (grub_dma_get_phys): Likewise.
26463 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26464 (grub_ohci_pci_iter): Use dma32_alloc.
26465 (grub_ohci_transfer): Likewise.
26466 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26467 (grub_usb_bulk_readwrite): Likewise.
26468 * include/grub/pci.h: Add declarations.
26469
264702010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26471
26472 CS5536 support.
26473
26474 * bus/cs5536.c: New file.
26475 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
26476 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
26477 (cs5536_mod_SOURCES): New variable.
26478 (cs5536_mod_CFLAGS): Likewise.
26479 (cs5536_mod_LDFLAGS): Likewise.
26480 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
26481 machine/pci.h.
26482 (kernel_img_SOURCES): Add bus/cs5536.c.
26483 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26484 usb_keyboard.mod.
26485 (usb_mod_SOURCES): New variable.
26486 (usb_mod_CFLAGS): New variable.
26487 (usb_mod_LDFLAGS): New variable.
26488 (usbtest_mod_SOURCES): New variable.
26489 (usbtest_mod_CFLAGS): New variable.
26490 (usbtest_mod_LDFLAGS): New variable.
26491 (ohci_mod_SOURCES): New variable.
26492 (ohci_mod_CFLAGS): New variable.
26493 (ohci_mod_LDFLAGS): New variable.
26494 (usbms_mod_SOURCES): New variable.
26495 (usbms_mod_CFLAGS): New variable.
26496 (usbms_mod_LDFLAGS): New variable.
26497 (usb_keyboard_mod_SOURCES): New variable.
26498 (usb_keyboard_mod_CFLAGS): New variable.
26499 (usb_keyboard_mod_LDFLAGS): New variable.
26500 * include/grub/smbus.h: New file.
26501 * include/grub/cs5536.h: New file.
26502
0b35b2a9
CW
265032010-06-02 Colin Watson <cjwatson@ubuntu.com>
26504
26505 * util/grub.d/00_header.in: Add safety check to make sure that
26506 ${locale_dir} exists before trying to probe it.
26507
ca0afd5b
CW
265082010-06-02 Colin Watson <cjwatson@ubuntu.com>
26509
26510 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
26511 per the GNU Coding Standards; this is now too obscure to be worth
26512 documenting.
26513 (QNX): Likewise.
26514 (chainloader): Remove cross-reference to `SCO UnixWare'.
26515
1c41aa78
CW
265162010-06-02 Colin Watson <cjwatson@ubuntu.com>
26517
26518 * docs/grub.texi (Chain-loading): New section.
26519 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26520 adjusted for GRUB 2.
26521 (SCO UnixWare): Likewise.
26522 (QNX): Likewise.
26523 (chainloader): Add reference to `Block list syntax'.
26524 (drivemap): New section.
26525 (parttool): New section.
26526
bb8ea0f5
CW
265272010-06-02 Colin Watson <cjwatson@ubuntu.com>
26528
26529 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26530 the grub shell'.
26531 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26532 (Installing GRUB using grub-install): Remove reference to the grub
26533 shell; mention `grub-mkimage' and `grub-setup' instead.
26534 (Invoking grub-install): Likewise.
26535 (Interface): Add reference to `Menu entry editor'.
26536 (serial): Remove `--device' option.
26537
288dd6ed
CW
265382010-06-02 Colin Watson <cjwatson@ubuntu.com>
26539
26540 * docs/grub.texi (Configuration): New section, documenting
26541 configuration file generation using grub-mkconfig. I've left a slot
26542 for documenting the full shell scripting format but have not yet
26543 started on writing that up.
26544 (Invoking grub-mkconfig): New section.
26545
34c9f0e9
CW
265462010-06-02 Colin Watson <cjwatson@ubuntu.com>
26547
26548 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26549 (GNU GRUB manual): Likewise.
26550 (General commands): Update description of `terminfo' for GRUB 2.
26551
9121567e
CW
265522010-06-02 Colin Watson <cjwatson@ubuntu.com>
26553
26554 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26555 (GRUB_MOD_INIT): Fix capitalisation.
26556 * docs/grub.texi (Command-line and menu entry commands): Document
26557 gettext and gptsync commands.
26558
ab631611
CW
265592010-06-02 Colin Watson <cjwatson@ubuntu.com>
26560
26561 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
26562 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26563
bde4a9ac
CW
265642010-06-01 Colin Watson <cjwatson@ubuntu.com>
26565
26566 Add btrfs probing support, currently only in the single-device case.
26567
26568 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26569 function.
26570 (grub_guess_root_device): Call find_root_device_from_mountinfo
26571 before looking in /dev.
26572
b1d17e10
VS
265732010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26574
26575 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26576 GRUB_DISK_SIZE_UNKNOWN.
26577 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26578
dfbfe004
JS
265792010-05-31 Jiro SEKIBA <jir@unicus.jp>
26580
26581 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26582 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26583 corrupted or not synced properly.
26584
c2ffc8e9
VS
265852010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26586
26587 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26588 Reported by: Seth Goldberg.
26589
56293166
VS
265902010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26591
26592 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26593 addition of dest.
26594 Reported by: Seth Goldberg.
26595
7620e7de
VS
265962010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26597
26598 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26599 Reported by: Seth Goldberg.
26600
c837af3f
VS
266012010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26602
26603 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26604 64-bit address as signed on MIPS.
26605
c7c75cf4
CW
266062010-05-28 Colin Watson <cjwatson@ubuntu.com>
26607
26608 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26609 to the empty string.
26610
fa4b8490
BC
266112010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26612
26613 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26614
26615 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26616 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26617 * kern/misc.c (__enable_execute_stack): Disable on
26618 GRUB_MACHINE_EMU.
26619
a33075b9
CW
266202010-05-28 Colin Watson <cjwatson@ubuntu.com>
26621
26622 Make grub-probe work with symbolic links under /dev/mapper as well
26623 as with real block devices. The Linux world seems to be (at best)
26624 in transition here, and GRUB shouldn't get caught in the middle.
26625
26626 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26627 /dev/mapper.
26628
d8708134
CW
266292010-05-27 Colin Watson <cjwatson@ubuntu.com>
26630
26631 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26632 input files (in which case exit zero).
26633
db2102a0
CW
266342010-05-27 Colin Watson <cjwatson@ubuntu.com>
26635
26636 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26637 return NULL for various reasons even if it has a maximum-length
26638 buffer: for example, there might be a symlink loop, or the path
26639 might exceed PATH_MAX. If this happens, return NULL.
26640
5fdba519
RM
266412010-05-27 Robert Millan <rmh@gnu.org>
26642
26643 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26644 partmap module to handle cross-partmap setups.
26645 Reported by Orestes Mas. Gràcies!
26646
d1d368e4
CW
266472010-05-27 Colin Watson <cjwatson@ubuntu.com>
26648
26649 * util/grub-mkrescue.in: Initialise override_dir rather than
26650 assuming that it's unset or empty in the environment.
26651
95ac3c73
GS
266522010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26653
26654 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26655 variable index into p_index to suppress a warning with -Wshadow.
26656
7d8c0213
BC
266572010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26658
26659 * INSTALL: Added flex >= 2.5.35 requirement.
26660
db4d5813
VS
266612010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26662
26663 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26664
f24f4300
VS
266652010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26666
26667 cmostest support.
26668
26669 * commands/i386/cmostest.c: New file.
26670 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26671 (cmostest_mod_SOURCES): New variable.
26672 (cmostest_mod_CFLAGS): Likewise.
26673 (cmostest_mod_LDFLAGS): Likewise.
26674 * conf/i386-pc.rmk: Likewise.
26675 * docs/grub.texi (Vendor power-on keys): New section.
26676 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26677 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26678 and GRUB_BUTTON_CMOS_ADDRESS.
26679 * util/grub.d/00_header.in: Handle powering-on by separate button.
26680
ad603f61
VS
266812010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26682
26683 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26684 Removed drawing_scrollbar argument. All users updated
26685 Fixes #29792.
26686 Reported by Jo Shields
26687
3ecb080a
VS
266882010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26689
26690 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26691 buffer since gfxterm handles double repaint.
26692
5f2316c1
VS
266932010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26694
26695 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26696 * term/gfxterm.c (real_scroll): Likewise.
26697
9a25f885
VS
266982010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26699
26700 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26701 before calling BIOS.
26702
39fbb79a
VS
267032010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26704
26705 * include/grub/i18n.h: Always enable grub_gettext.
26706
228cfa97
VS
267072010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26708
26709 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26710 partition naming style.
26711
21717c8f
CW
267122010-05-21 Colin Watson <cjwatson@ubuntu.com>
26713
26714 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26715 not the first option.
26716
c0f48e65
CW
267172010-05-20 Colin Watson <cjwatson@ubuntu.com>
26718
26719 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26720
96779aec
CW
267212010-05-20 Colin Watson <cjwatson@ubuntu.com>
26722
26723 * util/misc.c: Move inclusion of <limits.h> to ...
26724 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26725
fa9d256e
GS
267262010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26727
26728 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26729 Fix merge error in NetBSD code.
26730 (find_partition_start) [__NetBSD__]: Likewise.
26731
123b7a85
BC
267322010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26733
26734 Fix grub-mkrescue usage unit testing.
26735
26736 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26737
74276c0d
CF
267382010-05-18 Christian Franke <franke@computer.org>
26739
26740 * util/grub.d/10_windows.in: Use path names instead of
26741 drive letters to prevent warning from Cygwin 1.7.
26742 Add drivemap command to menuentry if needed.
26743
c4f7b523
ST
267442010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26745
26746 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26747 gnumach and gnumach.gz.
26748
95b97950
VS
267492010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26750
26751 * include/grub/i18n.h (gettext): Inline instead of using #define.
26752 (grub_gettext): Likewise.
26753 (_): Likewise.
26754
01b8d2d7
VS
267552010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26756
26757 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26758 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26759 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26760 (main): Add a slash after pkglibdirroot.
26761
654e1d1e
VS
267622010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26763
26764 * util/grub-install.in: Add missing "in" keyword.
26765
26966aeb
VS
267662010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26767
26768 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26769 Reported by: Seth Goldberg.
26770
75006747
VS
267712010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26772
26773 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26774
74cbf5bd
CW
267752010-05-18 Colin Watson <cjwatson@ubuntu.com>
26776
26777 * configure.ac: Check for Linux device-mapper support.
26778
26779 * util/hostdisk.c (device_is_mapped): New function.
26780 (find_partition_start): New function, partly broken out from
26781 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26782 device-mapper support added.
26783 (linux_find_partition): Use find_partition_start.
26784 (convert_system_partition_to_system_disk): Add `st' argument.
26785 Support Linux /dev/mapper/* devices if device-mapper support is
26786 available; only DM-RAID devices are understood at present.
26787 (find_system_device): Add `st' argument. Pass it to
26788 convert_system_partition_to_system_disk.
26789 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26790 find_system_device and convert_system_partition_to_system_disk. Use
26791 find_partition_start.
26792
26793 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26794 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26795 * util/deviceiter.c [__linux__]: Define MINOR.
26796 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26797 * util/mkdevicemap.c (grub_putchar): New function.
26798 (grub_getkey): New function.
26799 (grub_refresh): New function.
26800 (main): Set debug=all if -v -v is used.
26801
355b51e9
CW
268022010-05-18 Colin Watson <cjwatson@ubuntu.com>
26803
26804 Fix build with non-GNU libcs.
26805
26806 * util/misc.c (canonicalize_file_name): Move to ...
26807 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26808 grub_make_system_path_relative_to_its_root.
26809
7fb5c25f
CW
268102010-05-18 Colin Watson <cjwatson@ubuntu.com>
26811
26812 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26813 we handle finding grub-mkimage. Default to finding grub-mkimage in
26814 ${bindir} with program_transform_name applied, and provide a
26815 --grub-mkimage option to override this.
26816
1d3293d6
VS
268172010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26818
26819 Remove grub-mkisofs.
26820
26821 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26822 (grub_mkisofs_SOURCES): Removed.
26823 (grub_mkisofs_CFLAGS): Removed.
26824 * util/mkisofs/defaults.h: Removed.
26825 * util/mkisofs/eltorito.c: Likewise.
26826 * util/mkisofs/exclude.h: Likewise.
26827 * util/mkisofs/hash.c: Likewise.
26828 * util/mkisofs/include/: Likewise.
26829 * util/mkisofs/include/fctldefs.h: Likewise.
26830 * util/mkisofs/include/mconfig.h: Likewise.
26831 * util/mkisofs/include/prototyp.h: Likewise.
26832 * util/mkisofs/include/statdefs.h: Likewise.
26833 * util/mkisofs/iso9660.h: Likewise.
26834 * util/mkisofs/joliet.c: Likewise.
26835 * util/mkisofs/match.c: Likewise.
26836 * util/mkisofs/match.h: Likewise.
26837 * util/mkisofs/mkisofs.c: Likewise.
26838 * util/mkisofs/mkisofs.h: Likewise.
26839 * util/mkisofs/msdos_partition.h: Likewise.
26840 * util/mkisofs/multi.c: Likewise.
26841 * util/mkisofs/name.c: Likewise.
26842 * util/mkisofs/rock.c: Likewise.
26843 * util/mkisofs/tree.c: Likewise.
26844 * util/mkisofs/write.c: Likewise.
26845
5dde9afe
VS
268462010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26847
26848 Unify grub-mkimage accross platforms.
26849
26850 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26851 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26852 (grub_mkelfimage_SOURCES): Removed.
26853 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26854 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26855 (bin_UTILITIES): Add grub-mkimage.
26856 (grub_mkimage_SOURCES): New variable.
26857 (kernel_img_HEADERS): Remove machine/kernel.h.
26858 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26859 (pkglib_PROGRAMS): Add kernel.img.
26860 (kernel_img_HEADERS): Add machine/kernel.h.
26861 (kernel_img_FORMAT): Removed.
26862 (bin_UTILITIES): Remove grub-mkimage.
26863 (grub_mkimage_SOURCES): Removed.
26864 (grub_mkimage_CFLAGS): Likewise.
26865 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26866 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26867 (pkglib_PROGRAMS): Add kernel.img.
26868 (bin_UTILITIES): Remove grub-mkimage.
26869 (grub_mkimage_SOURCES): Removed.
26870 (grub_mkimage_CFLAGS): Likewise.
26871 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26872 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26873 (pkglib_PROGRAMS): Add kernel.img.
26874 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26875 (pkglib_PROGRAMS): Add kernel.img.
26876 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26877 (grub_mkimage_SOURCES): Removed.
26878 (grub_mkimage_CFLAGS): Likewise.
26879 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26880 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26881 (pkglib_PROGRAMS): Add kernel.img.
26882 (bin_UTILITIES): Remove grub-mkimage.
26883 (grub_mkimage_SOURCES): Removed.
26884 (grub_mkimage_CFLAGS): Likewise.
26885 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26886 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26887 (grub_mkimage_SOURCES): Removed.
26888 (grub_mkimage_CFLAGS): Likewise.
26889 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26890 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26891 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26892 (grub_pe32_optional_header): ... this.
26893 (grub_pe64_optional_header): ... and this. All users updated.
26894 (GRUB_PE32_PE32_MAGIC): Split into ..
26895 (GRUB_PE32_PE32_MAGIC): .. this.
26896 (GRUB_PE32_PE64_MAGIC): .. and this.
26897 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26898 * include/grub/elf.h (PT_GNU_STACK): New definition.
26899 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26900 * include/grub/i386/efi/kernel.h: Likewise.
26901 * include/grub/i386/kernel.h: Likewise.
26902 * include/grub/i386/pc/kernel.h: Likewise.
26903 * include/grub/i386/qemu/boot.h: Likewise.
26904 * include/grub/mips/kernel.h: Likewise.
26905 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26906 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26907 * include/grub/powerpc/kernel.h: Likewise.
26908 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26909 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26910 * include/grub/sparc64/kernel.h: Likewise.
26911 * include/grub/x86_64/efi/kernel.h: Likewise.
26912 * include/grub/x86_64/kernel.h: Likewise.
26913 * include/grub/offsets.h: New file.
26914 * include/grub/kernel.h (grub_module_info): Split into ...
26915 (grub_module_info32): ... this.
26916 (grub_module_info64): ... and this.
26917 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26918 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26919 (grub_boot_blocklist): Moved from here ...
26920 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26921 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26922 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26923 * include/grub/types.h (grub_target_to_host16): Removed.
26924 (grub_target_to_host32): Likewise.
26925 (grub_target_to_host64): Likewise.
26926 (grub_host_to_target16): Likewise.
26927 (grub_host_to_target32): Likewise.
26928 (grub_host_to_target64): Likewise.
26929 (grub_host_to_target_addr): Likewise.
26930
26931 Support grub-mkrescue for efi, coreboot and qemu.
26932
26933 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26934 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26935 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26936 * util/grub-mkrawimage.c: Moved from here ...
26937 * util/grub-mkimage.c: ... here. All users updated.
26938 (ALIGN_ADDR): Use image_target.
26939 (TARGET_NO_FIELD): New const.
26940 (image_target_desc): New type.
26941 (image_targets): New array.
26942 (grub_target_to_host64): Use image_target.
26943 (grub_target_to_host32): Likewise.
26944 (grub_target_to_host16): Likewise.
26945 (grub_host_to_target64): Likewise.
26946 (grub_host_to_target32): Likewise.
26947 (grub_host_to_target16): Likewise.
26948 (grub_host_to_target_addr): Likewise.
26949 (generate_image): Handle multiimage.
26950 (main): Require -O parameter. All users updated.
26951 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26952 util/efi/grub-mkimage.c
26953 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26954 New option --rom-directory.
26955 Use xorriso.
26956 * util/i386/efi/grub-mkimage.c: Removed.
26957 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26958 (grub_target_to_host32): Likewise.
26959 (grub_target_to_host64): Likewise.
26960 (grub_host_to_target16): Likewise.
26961 (grub_host_to_target32): Likewise.
26962 (grub_host_to_target64): Likewise.
26963 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26964 (grub_target_to_host32): Likewise.
26965 (grub_target_to_host64): Likewise.
26966 (grub_host_to_target16): Likewise.
26967 (grub_host_to_target32): Likewise.
26968 (grub_host_to_target64): Likewise.
26969
f4fc97d0
BC
269702010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26971
26972 Source tree is reorganized for emu build.
26973
26974 * include/grub/util/console.h: Move from here...
26975 * include/grub/emu/console.h: ...to here.
26976 * include/grub/util/getroot.h: Move from here...
26977 * include/grub/emu/getroot.h: ...to here.
26978 * include/grub/util/hostdisk.h: Move from here...
26979 * include/grub/emu/hostdisk.h: ...to here.
26980 * util/console.c: Move from here...
26981 * kern/emu/console.c: ...to here.
26982 * util/getroot.c: Move from here...
26983 * kern/emu/getroot.c: ...to here.
26984 * util/grub-emu.c: Move from here...
26985 * kern/emu/main.c: ...to here.
26986 * util/hostdisk.c: Move from here...
26987 * kern/emu/hostdisk.c: ...to here.
26988 * util/hostfs.c: Move from here...
26989 * kern/emu/hostfs.c: ...to here.
26990 * util/mm.c: Move from here...
26991 * kern/emu/mm.c: ...to here.
26992 * util/pci.c: Move from here...
26993 * bus/emu/pci.c: ...to here.
26994 * util/sdl.c: Move from here...
26995 * video/emu/sdl.c: ...to here.
26996 * util/time.c: Move from here...
26997 * kern/emu/time.c: ...to here.
26998 * util/usb.c: Move from here...
26999 * bus/usb/emu/usb.c: ...to here.
27000
27001 * include/grub/emu/misc.h: New header for grub-emu functions.
27002 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
27003
27004 * conf/any-emu.rmk: Rule updates for above renames.
27005 * conf/common.rmk: Likewise.
27006 * conf/i386-pc.rmk: Likewise.
27007 * conf/i386-qemu.rmk: Likewise.
27008 * conf/mips.rmk: Likewise.
27009 * conf/sparc64-ieee1275.rmk: Likewise.
27010 * conf/x86-efi.rmk: Likewise.
27011
27012 * disk/lvm.h: #include updates for above renames.
27013 * util/grub-mkrelpath.c: Likewise.
27014 * util/grub-probe.c: Likewise.
27015 * util/i386/pc/grub-setup.c: Likewise.
27016 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27017 * kern/emu/console.c: Likewise.
27018 * kern/emu/getroot.c: Likewise.
27019 * kern/emu/hostdisk.c: Likewise.
27020 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
27021
27022 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
27023 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
27024 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
27025 * util/misc.c: Remove grub-emu functions.
27026
cced9145
VS
270272010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
27028
27029 Fix gfxmenu crash.
27030 Reported by: Thorsten Grützmacher.
27031
27032 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
27033 timeout hook.
27034 (circprog_set_property): Register and unregister timeout hook.
27035 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
27036 (label_destroy): Free template. and unregister hook.
27037 (label_set_state): New function.
27038 (label_set_property): Handle templates and hooks.
27039 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
27040 timeout hook.
27041 (progress_bar_set_property): Register and unregister timeout hook.
27042 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
27043 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
27044 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
27045 (update_timeout_visit): Removed.
27046 (update_timeouts): New function.
27047 (redraw_timeouts): Likewise.
27048 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
27049 (grub_gfxmenu_clear_timeout): Likewise.
27050 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
27051 (grub_gfxmenu_timeout_notify): Likewise.
27052 (grub_gfxmenu_timeout_notifications): New external variable.
27053 (grub_gfxmenu_timeout_register): New function.
27054 (grub_gfxmenu_timeout_unregister): Likewise.
27055
c6e5caab
VS
270562010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27057
27058 Transform (broken) vga terminal into (working) vga video driver.
27059
27060 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
27061 video/i386/pc/vga.c.
27062 * include/grub/video.h (grub_video_driver_id):
27063 Add GRUB_VIDEO_DRIVER_VGA.
27064 * term/i386/pc/vga.c: Renamed to ...
27065 * video/i386/pc/vga.c: ...this
27066 (DEBUG_VGA): Removed.
27067 (CHAR_WIDTH): Likewise.
27068 (CHAR_HEIGHT): Likewise.
27069 (TEXT_WIDTH): Likewise.
27070 (TEXT_HEIGHT): Likewise.
27071 (DEFAULT_FG_COLOR): Likewise.
27072 (DEFAULT_BG_COLOR): Likewise.
27073 (colored_char): Likewise.
27074 (xpos): Likewise.
27075 (ypos): Likewise.
27076 (cursor_state): Likewise.
27077 (fg_color): Likewise.
27078 (bg_color): Likewise.
27079 (text_buf): Likewise.
27080 (page): Likewise.
27081 (font): Likewise.
27082 (framebuffer): New variable.
27083 (set_read_map): Disabled.
27084 (setup): New variable.
27085 (is_target): Likewise.
27086 (grub_vga_mod_init): Likewise.
27087 (grub_vga_mod_fini): Likewise.
27088 (check_vga_mem): Likewise.
27089 (write_char): Likewise.
27090 (write_cursor): Likewise.
27091 (scroll_up): Likewise.
27092 (grub_vga_putchar): Likewise.
27093 (grub_vga_getcharwidth): Likewise.
27094 (grub_vga_getwh): Likewise.
27095 (grub_vga_getxy): Likewise.
27096 (grub_vga_gotoxy): Likewise.
27097 (grub_vga_cls): Likewise.
27098 (grub_vga_setcolorstate): Likewise.
27099 (grub_vga_setcursor): Likewise.
27100 (grub_video_vga_init): New function.
27101 (grub_video_vga_setup): Likewise.
27102 (grub_video_vga_fini): Likewise.
27103 (update_target): Likewise.
27104 (grub_video_vga_blit_bitmap): Likewise.
27105 (grub_video_vga_blit_render_target): Likewise.
27106 (grub_video_vga_set_active_render_target): Likewise.
27107 (grub_video_vga_get_active_render_target): Likewise.
27108 (grub_video_vga_swap_buffers): Likewise.
27109 (grub_video_vga_set_palette): Likewise.
27110 (grub_video_vga_get_info_and_fini): Likewise.
27111 (grub_vga_term): Removed.
27112 (grub_video_vga_adapter): New variable.
27113 (GRUB_MOD_INIT): Register a video driver instead of terminal.
27114 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
27115
2bf61a98
VS
271162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27117
27118 * video/readers/jpeg.c: Indented.
27119
09ddcd11
VS
271202010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27121
27122 Various jpeg cleanups.
27123
27124 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
27125 (grub_jpeg_decode_quan_table): Use sizeof.
27126 (grub_jpeg_decode_du): Use ARRAY_SIZE.
27127
e5507505
PH
271282010-05-05 Peter Hurley <No e-mail available> (tiny change)
27129
27130 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
27131 tables. Ignore non-last ac bit.
27132 (grub_jpeg_decode_quan_table): Likewise.
27133
7e720a9b
VS
271342010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27135
27136 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
27137 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
27138 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27139 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
27140 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
27141 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
27142
a7fc080b
VS
271432010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27144
27145 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
27146 error.
27147
2bf6012d
VS
271482010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27149
27150 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
27151
265d68cd
VS
271522010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27153
27154 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
27155 condition.
27156
271572010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
27158
27159 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
27160 part.
27161
265d68cd 271622010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
27163
27164 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
27165 pointers.
27166
265d68cd 271672010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
27168
27169 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
27170
d1b61374
CF
271712010-05-01 Christian Franke <franke@computer.org>
27172
27173 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
27174 Remove broken Cygwin path conversion.
27175 * util/misc.c: [__CYGWIN__] Add include and define.
27176 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
27177 for Cygwin 1.7.
27178 (make_system_path_relative_to_its_root): Simplify loop, replace early
27179 return by break.
27180 [__CYGWIN__] Add conversion to win32 path.
27181 Include "/" case in trailing slash removal.
27182
3558c6e9
VS
271832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27184
27185 * kern/main.c (grub_load_config): Fix copy-pasted comment.
27186 Reported by: Seth Goldberg
27187
f5f3ff93
VS
271882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27189
27190 * commands/help.c (grub_cmd_help): Fix a typo.
27191 Reported by: Seth Goldberg
27192
d8b5cd40
VS
271932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27194
27195 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
27196 name and add N_.
27197 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
27198 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
27199 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
27200 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
27201 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
27202 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
27203 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27204 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27205 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27206 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27207 * normal/context.c (GRUB_MOD_INIT): Likewise.
27208 * normal/main.c (GRUB_MOD_INIT): Likewise.
27209 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27210 * term/serial.c (GRUB_MOD_INIT): Likewise.
27211 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27212
88c14915
VS
272132010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27214
27215 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
27216 extra == 0.
27217
165134bc
VS
272182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27219
27220 * commands/iorw.c: New file.
27221 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
27222 (iorw_mod_SOURCES): New variable.
27223 (iorw_mod_CFLAGS): Likewise.
27224 (iorw_mod_LDFLAGS): Likewise.
27225
c5ac9b32
VS
272262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27227
27228 Hotkey support
27229
27230 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
27231 * normal/main.c (hotkey_aliases): New variable.
27232 (grub_normal_add_menu_entry): Parse "--hotkey".
27233 * normal/menu_text.c (run_menu): Handle hotkeys.
27234
ce60689c
VS
272352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27236
27237 * kern/i386/coreboot/init.c (grub_machine_init): Call
27238 grub_machine_mmap_init on qemu.
27239
0359d006
VS
272402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27241
27242 * boot/i386/qemu/boot.S: Add a missing .code16.
27243
7819a456
VS
272442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27245
27246 Use LBIO on coreboot.
27247
27248 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
27249 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
27250 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
27251 New declaration.
27252 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
27253 grub_machine_mmap_init on coreboot.
27254 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
27255 GRUB_LINUXBIOS_MEMBER_LINK.
27256 (grub_machine_mmap_iterate): Fix declaration.
27257 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
27258
7210dca9
VS
272592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27260
27261 Split coreboot and multiboot ports.
27262
27263 * conf/i386-multiboot.rmk: New file.
27264 * configure.ac: Add multiboot port.
27265 * include/grub/i386/multiboot/boot.h: New file.
27266 * include/grub/i386/multiboot/console.h: Likewise.
27267 * include/grub/i386/multiboot/init.h: Likewise.
27268 * include/grub/i386/multiboot/kernel.h: Likewise.
27269 * include/grub/i386/multiboot/loader.h: Likewise.
27270 * include/grub/i386/multiboot/memory.h: Likewise.
27271 * include/grub/i386/multiboot/serial.h: Likewise.
27272 * include/grub/i386/multiboot/time.h: Likewise.
27273 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
27274 * loader/multiboot.c: Likewise.
27275 * loader/multiboot_mbi2.c: Likewise.
27276 * util/grub-mkrescue.in: Generate multiboot rescue.
27277
6f8aaf68
VS
272782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27279
3080f7a7
VS
27280 * kern/parser.c (grub_parser_execute): Cope with read-only config.
27281
272822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27283
27284 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
27285
27286 * commands/terminal.c (abstract_terminal): New struct.
27287 (handle_command): New function. Based on grub_cmd_terminal_input.
27288 (grub_cmd_terminal_input): Use handle_command.
27289 (grub_cmd_terminal_output): Use handle_command.
27290
a8ebb841
BC
272912010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
27292
27293 Fix comment handling.
27294
27295 * tests/grub_script_comments.in: New testcase.
27296 * conf/tests.rmk: Rules for new testcase.
27297 * script/yylex.l: Updated flex rules.
27298
bb06ba08
ST
272992010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
27300
27301 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
27302 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
27303 if argc is 1.
bb06ba08 27304
cc9d2425
VS
273052010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27306
27307 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
27308 autogen issues.
27309
460d8402
CF
273102010-04-26 Christian Franke <franke@computer.org>
27311
27312 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
27313 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
27314 (grub_get_prefix): Remove function.
27315 * util/grub-emu.c (main): Replace grub_get_prefix () call by
27316 make_system_path_relative_to_its_root ().
27317 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
27318
553c01f9
CF
273192010-04-24 Christian Franke <franke@computer.org>
27320
27321 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
27322 (kernel_img_LDFLAGS): Remove -static-libgcc.
27323
2aec1692
CF
273242010-04-24 Christian Franke <franke@computer.org>
27325
27326 * configure.ac: Do not CHECK_BSS_START_SYMBOL
27327 and CHECK_END_SYMBOL if grub-emu is built.
27328 Unset TARGET_OBJ2ELF if grub-emu is built
27329 without module support.
27330
f67dc308
JS
273312010-04-24 Jiro SEKIBA <jir@unicus.jp>
27332
27333 Nilfs2 support.
27334
27335 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
27336 (grub_fstest_SOURCES): Likewise.
27337 (pkglib_MODULES): Add nilfs2.mod.
27338 (nilfs2_mod_SOURCES): New variable.
27339 (nilfs2_mod_CFLAGS): Likewise.
27340 (nilfs2_mod_LDFLAGS): Likewise.
27341 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27342 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27343 * fs/nilfs2.c: New file.
27344
4ba8d354
VS
273452010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27346
27347 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27348 is not supported.
27349
0d2c20c6
GS
273502010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27351
27352 Add grub-mkconfig support for NetBSD.
27353
27354 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27355 * util/grub-mkconfig.in: export new NetBSD specific variables.
27356 * po/POTFILES-shell: added 10_netbsd.in.
27357 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27358
bc4a2d83
BC
273592010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27360
27361 Fix emu build with grub-emu-pci and grub-emu-modules.
27362
27363 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27364 functions.
27365 * include/grub/libpciaccess.h: New file.
27366 * conf/any-emu.rmk: Update kernel headers for emu build.
27367
f48c87aa
VS
273682010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27369
27370 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27371
18959385
VS
273722010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27373
27374 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27375
0037de3f
VS
273762010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27377
27378 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27379 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27380 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27381 util/ieee1275/ofpath.c.
27382 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27383 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27384 * include/grub/sparc64/ieee1275/boot.h
27385 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27386 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27387 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27388 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27389 const char *.
27390 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27391 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27392 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27393 install.
27394
38e55e90
GS
273952010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27396
27397 * util/grub-mkconfig.in: Corrected two == equality tests.
27398 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27399 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27400 expect a number appended to it.
27401 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27402 expects a number appended to it.
27403
a9e6ff28
VS
274042010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27405
27406 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27407
0b830b8f
VS
274082010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27409
27410 * util/hostdisk.c (make_device_name): Change to new partition naming.
27411
0973daeb
VS
274122010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27413
27414 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27415
460d8402 274162010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
27417
27418 * Makefile.in: Add missing localedir setting.
27419
0b456309
CW
274202010-04-14 Colin Watson <cjwatson@ubuntu.com>
27421
27422 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27423 mistake in r2156. Noticed by Anthony Fok.
27424
27425 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27426 @localedir@.
27427 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27428
08f46d62
BC
274292010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27430
27431 Fix a spurious, uninitialized variable warning.
27432
27433 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27434 Initialize variable, shdr.
27435 (grub_freebsd_load_elfmodule): Likewise.
27436 (grub_freebsd_load_elf_meta): Likewise.
27437
8c4a72d4
BC
274382010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27439
27440 Fix for escaped dollar in double quoted strings.
27441
27442 * script/yylex.l: Updated flex rules.
27443 * conf/tests.rmk: Rule for new testcase.
27444 * tests/grub_script_dollar.in: New testcase.
27445
ce44826e
CPE
274462010-04-13 Carles Pina i Estany <carles@pina.cat>
274472010-04-13 Colin Watson <cjwatson@ubuntu.com>
27448
27449 Enclose all translated strings in grub.cfg in single quotes, and
27450 escape them appropriately (Ubuntu bug #552921).
27451
27452 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27453 * util/grub.d/10_hurd.in: Use it.
27454 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27455 * util/grub.d/10_linux.in (linux_entry): Likewise.
27456
4b0cd8f8
VS
274572010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27458
27459 Fix cygwin compilation.
27460
27461 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27462 * include/grub/misc.h (__register_frame_info)
27463 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27464 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27465 * kern/misc.c (__register_frame_info)
27466 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27467 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27468
01fcf061
VS
274692010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27470
27471 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
27472
5d04b11e
VS
274732010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27474
27475 Unify libgcc processing.
27476
27477 * Makefile.in (kernel_img_LDFLAGS): New variable.
27478 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
27479 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
27480 overwriting.
27481 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
27482 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
27483 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27484 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27485 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27486 overwriting. Remove -lgcc and -static-libgcc
27487 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27488 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27489 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27490 (kernel_img_LDFLAGS): Append instead of overwriting.
27491 Remove -lgcc and -static-libgcc
27492 * conf/sparc64-ieee1275.rmk: Likewise.
27493 * include/grub/powerpc/libgcc.h: Move to ...
27494 * include/grub/libgcc.h: .. this.
27495 * include/grub/libgcc.h: Don't export most of the function on x86.
27496 (__bswapsi2): New export.
27497 (__bswapdi2): Likewise.
27498 * include/grub/mips/libgcc.h: Removed.
27499 * include/grub/sparc64/libgcc.h: Likewise.
27500
b7f3ac29
VS
275012010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27502
27503 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
27504 disk_info_msg (conflicts with gettexting into languages with cases).
27505
2c7031b1
GS
275062010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
27507
27508 Add grub-probe support for NetBSD.
27509
27510 * util/getroot.c (find_root_device): Convert block device to
27511 character device on NetBSD.
27512 * util/probe.c (probe): Require character device on NetBSD.
27513 * util/hostdisk.c: NetBSD specific headers.
27514 (configure_device_driver): new function to tune device driver
27515 parameters (currently only for NetBSD floppy driver).
27516 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27517 via disklabel ioctl).
27518 (open_device): call configure_device_driver on NetBSD.
27519 (convert_system_partition_to_system_disk): NetBSD specific code.
27520 (device_is_wholedisk): Likewise.
27521 (grub_util_biosdisk_get_grub_dev): Likewise.
27522 (make_device_name): Fixed a typo in bsd_part_str.
27523 * configure.ac: check for opendisk() and getrawpartition() on
27524 NetBSD and set LIBUTIL.
27525 * Makefile.in: add LIBUTIL to LIBS.
27526
f516290c
BC
275272010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27528
27529 Documentation fix.
27530
27531 * util/grub-script-check.c: Better help message.
27532
d8dcc0df
BC
275332010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27534
27535 Fix FreeBSD build.
27536
27537 * configure.ac: Flex version check.
27538 * conf/common.rmk: Add -Wno-error to sh.mod.
27539 * script/yylex.l: Remove all #pragma.
27540
6734334a
VS
275412010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27542
27543 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27544 prototype.
27545 Reported by: Seth Goldberg.
27546
daea6abd
VS
275472010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27548
27549 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27550 Rename "module" to "module2".
27551 Reported by: Seth Goldberg.
27552
f2fd9d2b
VS
275532010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27554
27555 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27556 EXPORT_FUNC.
27557 Reported by: Seth Goldberg.
27558
be124579
VS
275592010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27560
27561 * lib/posix_wrap/locale.h: Add missing file.
27562 Reported by: Seth Goldberg.
27563
ef5da797
VS
275642010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27565
27566 grub-emu module load support.
27567
27568 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27569 NO_DYNAMIC_MODULES switched to this.
27570 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27571 (CFLAGS): Likewise.
27572 * conf/any-emu.rmk: Generate symlist.
27573 (kernel_img_HEADERS): Add util/datetime.h.
27574 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27575 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27576 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27577 kern/$(target_cpu)/cache.S.
27578 * configure.ac (grub-emu-modules): New option.
27579 * genmk.rb: Handle multiple source lists.
27580 * include/grub/sdl.h: New file.
27581 * include/grub/libusb.h: Likewise.
27582 * util/grub-emu.c (main): Hanle (host) root.
27583 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27584 GRUB_ERR_UNKNOWN_DEVICE.
27585 * util/misc.c: Move mm functions to ...
27586 * util/mm.c: ... here. All users updated.
27587
47822096
VS
275882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27589
27590 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27591 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27592 missing files.
27593 (maintainer-clean): Remove libgcrypt-grub.
27594
5d7e7445
VS
275952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27596
27597 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27598
25f4e252
EC
275992010-04-09 EFI Coder <eficoder@hotmail.com>
27600
27601 * normal/menu_text.c (print_message): Clean up the message and show
27602 the Fn information when on EFI
27603 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27604
027de555
VS
276052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27606
27607 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27608 All users updated.
27609 * normal/crypto.c (read_crypto_list): Likewise.
27610 * normal/dyncmd.c (read_command_list): Likewise.
27611 * normal/term.c (read_terminal_list): Likewise.
27612 * normal/main.c (read_lists): Use explicit prefix.
27613 (read_lists_hook): Use read_lists.
27614 (grub_normal_execute): Likewise.
27615
47779711
VS
276162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27617
27618 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27619 Reported by: Thomas Schmitt.
27620 Add -no-emul-boot to grub-mkisofs parameters.
27621
1118c32e
VS
276222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27623
27624 * font/font.c: Indented.
27625
7d652447
BC
276262010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27627
27628 Elif support to GRUB script (by Deepak Vankadaru).
27629
27630 * tests/grub_script_if.in: New testcase.
27631 * conf/tests.rmk: Rule for new testcase.
27632 * script/parser.y: Grammar rules for elif.
27633
34bb22df
BC
276342010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27635
27636 While and until loops support to GRUB script.
27637
27638 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27639 (grub_script_create_cmdwhile): New function prototype.
27640 (grub_script_execute_cmdwhile): New function prototype.
27641 * script/execute.c (grub_script_execute_cmdwhile): New function.
27642 * script/parser.y (command): New commands.
27643 (whilecmd): New grammar rule.
27644 (untilcmd): New grammar rule.
27645 * script/script.c (grub_script_create_cmdwhile): New function.
27646 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27647 function.
27648
27649 * tests/grub_script_while1.in: New testcase.
27650 * conf/tests.rmk: Rule for new testcase.
27651
e215d8e0
VS
276522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27653
27654 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27655 as *.jpg.
27656
d7c43ba1
MV
276572010-04-09 Mario Vazquez <mariovazq@gmail.com>
27658
27659 GRUB_BACKGROUND support.
27660
27661 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27662 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27663
d64795c0
VS
276642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27665
27666 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27667 Idea by: Mario Vazquez
d64795c0
VS
27668
27669 * util/grub.d/00_header.in: Load pf2 and image modules.
27670
f267f83a
VS
276712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27672
27673 grub-mkconfig multiple terminal support.
27674
27675 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27676 * util/grub.d/00_header.in: Likewise.
27677
b7841ceb
VS
276782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27679
27680 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27681 we use cd $(srcdir).
27682
df60998c
CW
276832010-04-08 Colin Watson <cjwatson@ubuntu.com>
27684
27685 * util/grub.d/10_linux.in: Only use the first word of
27686 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27687 spaces in GRUB_DISTRIBUTOR.
27688 * util/grub.d/10_kfreebsd.in: Likewise.
27689 * util/grub.d/10_hurd.in: Likewise.
27690
fa09c82e
BC
276912010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27692
14e18ae3 27693 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
27694
27695 * tests/util/grub-shell.in: Remove -serial stdio option.
27696
daf892b3
BC
276972010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27698
27699 POSIX header file wrappers.
27700
27701 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27702 equivalents.
27703 * lib/posix_wrap/ctype.h: Likewise.
27704 * lib/posix_wrap/errno.h: Likewise.
27705 * lib/posix_wrap/langinfo.h: Likewise.
27706 * lib/posix_wrap/limits.h: Likewise.
27707 * lib/posix_wrap/localcharset.h: Likewise.
27708 * lib/posix_wrap/stdint.h: Likewise.
27709 * lib/posix_wrap/stdio.h: Likewise.
27710 * lib/posix_wrap/stdlib.h: Likewise.
27711 * lib/posix_wrap/string.h: Likewise.
27712 * lib/posix_wrap/sys/types.h: Likewise.
27713 * lib/posix_wrap/unistd.h: Likewise.
27714 * lib/posix_wrap/wchar.h: Likewise.
27715 * lib/posix_wrap/wctype.h: Likewise.
27716 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27717 (grub_script.yy.h): Likewise.
27718 * script/yylex.l: Remove POSIX emulation #defines.
27719 * Makefile.in (POSIX_CFLAGS): New variable.
27720 (GNULIB_UTIL_CFLAGS): Likewise.
27721
27722 Regexp support.
27723
27724 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27725 (regexp_mod_SOURCES): New variable.
27726 (regexp_mod_CFLAGS): Likewise.
27727 (regexp_mod_LDFLAGS): Likewise.
27728 * commands/regexp.c: New file.
27729 * gnulib/regcomp.c: New file. Imported from gnulib.
27730 * gnulib/regex.c: Likewise.
27731 * gnulib/regex_internal.c: Likewise.
27732 * gnulib/regex_internal.h: Likewise.
27733 * gnulib/regexec.c: Likewise.
27734 * gnulib/regex.h: Likewise.
27735
974ac4f7
VS
277362010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27737
27738 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27739 unsupported video mode types.
27740
2622c3ff
VS
277412010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27742
27743 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27744
064cb524
VS
277452010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27746
27747 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27748 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27749
a8c3b552
VS
277502010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27751
27752 Remove unused grub_vga_get_font.
27753
27754 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27755 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27756
187bbe3d
GS
277572010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27758
27759 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27760 * include/grub/misc.h: Likewise.
27761
b9396631
GS
277622010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27763
27764 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27765 for which failure is fatal.
27766
50479feb
GS
277672010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27768
27769 * util/grub-install.in: Use mkdir -p to create grub directory.
27770 * util/i386/efi/grub-install.in: Likewise.
27771 * util/ieee1275/grub-install.in: Likewise.
27772
b1654fdf
GS
277732010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27774
27775 * Makefile.in (LEX): new variable.
27776
bd5a6415
GS
277772010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27778
27779 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27780 `=' and added double quotes on operands of this equality test.
27781
3db3a82b
VS
277822010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27783
27784 * Makefile.in (uninstall): Remove a leftover debug echo.
27785 Reported by: Grégoire Sutre
27786
38023412
VS
277872010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27788
27789 MIPS multiboot2 support.
27790
27791 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27792 (multiboot2_mod_SOURCES): New variable.
27793 (multiboot2_mod_CFLAGS): Likewise.
27794 (multiboot2_mod_LDFLAGS): Likewise.
27795 (multiboot2_mod_ASFLAGS): Likewise.
27796 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27797 definition.
27798 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27799 (MULTIBOOT_MBI_REGISTER): Likewise.
27800 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27801 (MULTIBOOT_ELF32_MACHINE): Likewise.
27802 (MULTIBOOT_ELF64_MACHINE): Likewise.
27803 * include/grub/mips/multiboot.h: New file.
27804 * include/grub/video.h (grub_video_driver_id): New type
27805 GRUB_VIDEO_DRIVER_SM712.
27806 (grub_video_get_info_and_fini): Export.
27807 (grub_video_get_palette): Likewise.
27808 (grub_video_get_driver_id): Likewise.
27809 * include/multiboot2.h: Resynced with spec.
27810 * loader/i386/multiboot.c: Moved from here ...
27811 * loader/multiboot.c: ... here. All users updated.
27812 (grub_multiboot_boot): Use platform-specific macros.
27813 * loader/i386/multiboot_elfxx.c: Moved from here ...
27814 * loader/multiboot_elfxx.c: ... here. All users updated.
27815 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27816 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27817 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27818
47674667
VS
278192010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27820
27821 Import gnulib argp module.
27822
27823 * gnulib/argp-ba.c: New file.
27824 * gnulib/argp-eexst.c: Likewise.
27825 * gnulib/argp-fmtstream.c: Likewise.
27826 * gnulib/argp-fmtstream.h: Likewise.
27827 * gnulib/argp-fs-xinl.c: Likewise.
27828 * gnulib/argp-help.c: Likewise.
27829 * gnulib/argp-namefrob.h: Likewise.
27830 * gnulib/argp-parse.c: Likewise.
27831 * gnulib/argp-pin.c: Likewise.
27832 * gnulib/argp-pv.c: Likewise.
27833 * gnulib/argp-pvh.c: Likewise.
27834 * gnulib/argp-version-etc.c: Likewise.
27835 * gnulib/argp-version-etc.h: Likewise.
27836 * gnulib/argp-xinl.c: Likewise.
27837 * gnulib/argp.h: Likewise.
27838
495442ed
VS
278392010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27840
27841 * kern/device.c (grub_device_iterate): Clear errors after failed
27842 opening device.
27843
f9fd65df
VS
278442010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27845
27846 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27847 returned by firmware.
27848
af09641e
VS
278492010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27850
27851 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27852 compilation on coreboot and qemu
27853
016883a5
VS
278542010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27855
27856 * include/multiboot2.h: Resync with spec.
27857
f97e1f7d
VS
278582010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27859
27860 Multiboot2 tag support
27861
27862 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27863 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27864 Remove loader/multiboot_loader.c.
27865 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27866 (grub_multiboot2_real_boot): Likewise.
27867 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27868 (grub_get_multiboot_mmap_count): New proto.
27869 (grub_fill_multiboot_mmap): Likewise.
27870 (grub_multiboot_set_video_mode): Likewise.
27871 (grub_multiboot_set_console): Likewise.
27872 (grub_multiboot_load): Likewise.
27873 (grub_multiboot_load_elf): Likewise.
27874 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27875 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27876 * include/multiboot.h: Resynced with specification.
27877 * include/multiboot2.h: Resynced with specification.
27878 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27879 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27880 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27881 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27882 users updated.
27883 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27884 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27885 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27886 Removed.
27887 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27888 Moved from here...
27889 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27890 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27891 Moved from here...
27892 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27893 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27894 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27895 All users updated.
27896 * loader/i386/multiboot_mbi2.c: New file.
27897
3506b90b
VS
278982010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27899
27900 Resync with gnulib.
27901
27902 * Makefile.in (GNULIB_CFLAGS): New variable.
27903 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27904 (grub_script_check_CFLAGS): New variable.
27905 * gnulib/alloca.h: Resync with gnulib.
27906 * gnulib/error.c: Likewise.
27907 * gnulib/error.h: Likewise.
27908 * gnulib/fnmatch.c: Likewise.
27909 * gnulib/fnmatch_loop.c: Likewise.
27910 * gnulib/getdelim.c: Likewise.
27911 * gnulib/getline.c: Likewise.
27912 * gnulib/getopt.c: Likewise.
27913 * gnulib/getopt1.c: Likewise.
27914 * gnulib/getopt_int.h: Likewise.
27915 * gnulib/gettext.h: Likewise.
27916 * gnulib/progname.c: Likewise.
27917 * gnulib/progname.h: Likewise.
27918
394a3120
GS
279192010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27920
27921 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27922 which is the case with --disabled-nls.
27923
27924 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27925 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27926 * util/misc.c: Likewise.
27927 * util/mkisofs/mkisofs.c: Likewise.
27928 * util/mkisofs/mkisofs.h: Likewise.
27929
969d1c78
VS
279302010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27931
27932 Simplify Apple CC support.
27933
27934 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27935 Add 0 byte at the end not to have a symbol with empty target.
27936 * mmap/i386/pc/mmap_helper.S: Likewise.
27937 * genmk.rb: Ignore errors 2030 and 2050.
27938 * kern/i386/pc/startup.S: Use LOCAL when possible.
27939
8d2977bb
BC
279402010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27941
27942 Testcase and the fix for final semicolon on cmdline.
27943
27944 * tests/grub_script_final_semicolon.in: New testcase.
27945 * conf/tests.rmk: Rules for the new testcase.
27946 * script/parser.y: Grammar fix.
27947
a7bd6915
BC
279482010-03-26 BVK Chaitanya <bvk@localhost>
27949
27950 Blank lines testcase for GRUB script.
27951
27952 * tests/grub_script_blanklines.in: New testcase.
27953 * conf/tests.rmk: Rules for the new testcase.
27954
e4ff6628
VS
279552010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27956
27957 Don't use __FILE__.
27958
27959 * genmk.rb: Add -DGRUB_FILE to all C targets.
27960 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27961 * include/grub/list.h: Likewise.
27962 * include/grub/misc.h: Likewise.
27963 * include/grub/mm.h: Likewise.
27964 * include/grub/test.h: Likewise.
27965 * kern/mm.c: Likewise.
27966 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27967
6a5cf6b6
VS
279682010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27969
27970 Sunpc partitions support.
27971
27972 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27973 (grub_fstest_SOURCES): Likewise.
27974 (pkglib_MODULES): Add part_sunpc.mod.
27975 (part_sunpc_mod_SOURCES): New variable.
27976 (part_sunpc_mod_CFLAGS): Likewise.
27977 (part_sunpc_mod_LDFLAGS): Likewise.
27978 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27979 * partmap/sunpc.c: New file.
27980
746d9045
BC
279812010-03-26 BVK Chaitanya <bvk@localhost>
27982
27983 For loop support to GRUB script.
27984
27985 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27986 (grub_script_create_cmdfor): New function prototype.
27987 (grub_script_execute_cmdfor): New function prototype.
27988 * script/execute.c (grub_script_execute_cmdfor): New function.
27989 * script/parser.y (command): New for command.
27990 (forcmd): New grammar rule.
27991 * script/script.c (grub_script_create_cmdfor): New function.
27992 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27993 function.
27994 * tests/grub_script_for1.in: New testcase.
27995 * conf/tests.rmk: Rules for new testcase.
27996
18486b18
VS
279972010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27998
27999 Nested partitions
28000
28001 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
28002 'partition' is NULL, grub_partition_get_start already does that.
28003 * commands/loadenv.c (check_blocklists): Likewise.
28004 (write_blocklists): Likewise.
28005 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
28006 (grub_fstest_SOURCES): Likewise.
28007 (pkglib_MODULES): Add part_bsd.mod.
28008 (part_bsd_mod_SOURCES): New variable.
28009 (part_bsd_mod_CFLAGS): Likewise.
28010 (part_bsd_mod_LDFLAGS): Likewise.
28011 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
28012 (grub_emu_SOURCES): Likewise.
28013 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28014 * include/grub/bsdlabel.h: New file.
28015 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
28016 'get_name'.
28017 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
28018 (grub_partition_map_list): New variable.
28019 (grub_partition_map_register): Inline.
28020 (grub_partition_map_unregister): Likewise.
28021 (FOR_PARTITION_MAPS): New macro.
28022 (grub_partition_map_iterate): Removed.
28023 (grub_partition_get_start): Handle nested partitions.
28024 * include/grub/msdos_partition.h: Remove bsd-related entries.
28025 (grub_pc_partition): Remove.
28026 * kern/disk.c (grub_disk_close): Free partition data.
28027 (grub_disk_adjust_range): Handle nested partitions.
28028 * kern/partition.c (grub_partition_map_probe): New function.
28029 (grub_partition_probe): Parse name to number, handle subpartitions.
28030 (get_partmap): New function.
28031 (grub_partition_iterate): Handle subpartitions.
28032 (grub_partition_get_name): Likewise.
28033 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
28034 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
28035 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
28036 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
28037 Set 'number'.
28038 (acorn_partition_map_probe): Remove.
28039 (acorn_partition_map_get_name): Likewise.
28040 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
28041 Set 'number'.
28042 Set 'index' to 0 since there can be only one partition entry per sector.
28043 (amiga_partition_map_probe): Remove.
28044 (amiga_partition_map_get_name): Likewise.
28045 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
28046 Set 'number'.
28047 Set 'offset' and 'index' to real positions of partitions.
28048 (apple_partition_map_probe): Remove.
28049 (apple_partition_map_get_name): Likewise.
28050 * partmap/bsdlabel.c: New file.
28051 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
28052 Set 'number'.
28053 Allocate 'data' so it can be correctly freed.
28054 Set 'index' to offset inside sector.
28055 (gpt_partition_map_probe): Remove.
28056 (gpt_partition_map_get_name): Likewise.
28057 * partmap/msdos.c (grub_partition_parse): Remove.
28058 (pc_partition_map_iterate): Don't force raw access.
28059 Set 'number'.
28060 Make 'ext_offset' a local variable.
28061 (pc_partition_map_probe): Remove.
28062 (pc_partition_map_get_name): Remove.
28063 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
28064 Set 'number'.
28065 (sun_partition_map_probe): Remove.
28066 (sun_partition_map_get_name): Likewise.
28067 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
28068 (grub_pcpart_type): Likewise.
28069 * util/hostdisk.c (open_device): Handle new numbering scheme.
28070 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
28071 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
28072 * util/grub-probe.c (probe_partmap): Handle nested paritions.
28073 * util/grub-install.in: Insert all subpartition modules.
28074 * util/ieee1275/grub-install.in: Likewise.
28075
a3940f88
AG
280762010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
28077
28078 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
28079 grammar.
28080
21b99926 280812010-03-24 Colin Watson <cjwatson@ubuntu.com>
28082
28083 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
28084
bed1d352
CW
280852010-03-21 Colin Watson <cjwatson@ubuntu.com>
28086
28087 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
28088 match where 'make install' puts them.
28089 * util/i386/efi/grub-install.in: Likewise.
28090
c9f58427
CW
280912010-03-19 Colin Watson <cjwatson@ubuntu.com>
28092
28093 * .bzrignore: Add gentrigtables, grub-script-check,
28094 grub_script_check_init.c, grub_script_check_init.h, and
28095 trigtables.c.
28096
f84afb27
VS
280972010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
28098
28099 * kern/parser.c: Indented.
28100
ed0e3d30
VS
281012010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28102
28103 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
28104
0ea81d98
VS
281052010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28106
28107 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
28108 alpha_mask_size == 0 case.
28109
0cdc2a09
BC
281102010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
28111
28112 GRUB shell lexer and parser improvements.
28113
28114 * conf/any-emu.rmk: Build rule updates.
28115 * conf/common.rmk: Likewise.
28116 * conf/i386-coreboot.rmk: Likewise.
28117 * conf/i386-efi.rmk: Likewise.
28118 * conf/i386-ieee1275.rmk: Likewise.
28119 * conf/i386-pc.rmk: Likewise.
28120 * conf/powerpc-ieee1275.rmk: Likewise.
28121 * conf/x86_64-efi.rmk: Likewise.
28122
28123 * configure.ac: Configure check for flex.
28124
28125 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
28126 types.
28127 (grub_lexer_param): Struct member updates.
28128 (grub_parser_param): Likewise.
28129 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
28130 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
28131 (grub_script_lexer_init): Prototype update.
28132 (grub_script_lexer_record_start): Likewise.
28133 (grub_script_lexer_record_stop): Likewise.
28134 (grub_script_lexer_yywrap): New function prototype.
28135 (grub_script_lexer_fini): Likewise.
28136 (grub_script_execute_argument_to_string): Removed by...
28137 (grub_script_execute_argument_to_argv): ...better version.
28138
28139 * script/execute.c (ROUND_UPTO): New macro.
28140 (grub_script_execute_cmdline): Out of memory fixes.
28141 (grub_script_execute_menuentry): Likewise.
28142 (grub_script_execute_argument_to_string): Removed. Update all
28143 users by...
28144 (grub_script_execute_argument_to_argv): ...better version.
28145 * script/function.c (grub_script_function_create): Use
28146 grub_script_execute_argument_to_argv instead of
28147 grub_script_execute_argument_to_string.
28148
28149 * script/lexer.c (check_varstate): Removed.
28150 (check_textstate): Removed.
28151 (grub_script_lexer_record_start): Likewise.
28152 (grub_script_lexer_record_stop): Likewise.
28153 (recordchar): Replaced with...
28154 (grub_script_lexer_record): ...new function.
28155 (nextchar): Removed.
28156 (grub_script_lexer_init): Rewritten.
28157 (grub_script_yylex): Rewritten.
28158 (append_newline): New function.
28159 (grub_script_lexer_yywrap): New function.
28160 (grub_script_lexer_fini): New function.
28161 (grub_script_yyerror): Sets error flag.
28162
28163 * script/yylex.l: New file.
28164 (grub_lexer_yyfree): Wrapper for flex yyffre.
28165 (grub_lexer_yyalloc): Likewise.
28166 (grub_lexer_yyrealloc): Likewise.
28167 * script/parser.y: Refactored.
28168
28169 * script/script.c (grub_script_arg_add): Out of memory fixes.
28170 (grub_script_add_arglist): Likewise.
28171 (grub_script_create_cmdline): Likewise.
28172 (grub_script_create_cmdmenu): Likewise.
28173 (grub_script_add_cmd): Likewise.
28174 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
28175 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
28176 unnecessary code.
28177
28178 * tests/grub_script_echo1.in: New testcase.
28179 * tests/grub_script_vars1.in: New testcase.
28180 * tests/grub_script_echo_keywords.in: New testcase.
28181
1d63a066
VS
281822010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28183
28184 Remove some redundancy in build system.
28185
28186 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
28187 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
28188 (TARGET_LDFLAGS): Add -nostdlib.
28189 (TARGET_IMG_LDFLAGS): Likewise.
28190 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
28191 anything since mmap isn't available.
28192 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
28193 Add util/time.c.
28194 (pkglib_MODULES): Remove reboot.mod.
28195 (reboot_mod_SOURCES): Removed.
28196 (reboot_mod_CFLAGS): Likewise.
28197 (reboot_mod_LDFLAGS): Likewise.
28198 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
28199 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
28200 (DEFSYMFILES): Add kernel_syms.lst.
28201 (kernel_img_HEADERS): Add common headers.
28202 (symlist.c): New target.
28203 (kernel_syms.lst): Likewise.
28204 (pkglib_MODULES): Add memdisk.mod.
28205 (memdisk_mod_SOURCES): New variable.
28206 (memdisk_mod_CFLAGS): Likewise.
28207 (memdisk_mod_LDFLAGS): Likewise.
28208 (pkglib_MODULES): Add reboot.mod.
28209 (reboot_mod_SOURCES): New variable.
28210 (reboot_mod_CFLAGS): Likewise.
28211 (reboot_mod_LDFLAGS): Likewise.
28212 (pkglib_MODULES): Add date.mod.
28213 (date_mod_SOURCES): New variable.
28214 (date_mod_CFLAGS): Likewise.
28215 (date_mod_LDFLAGS): Likewise.
28216 (pkglib_MODULES): Add datehook.mod.
28217 (datehook_mod_SOURCES): New variable.
28218 (datehook_mod_CFLAGS): Likewise.
28219 (datehook_mod_LDFLAGS): Likewise.
28220 (pkglib_MODULES): Add lsmmap.mod.
28221 (lsmmap_mod_SOURCES): New variable.
28222 (lsmmap_mod_CFLAGS): Likewise.
28223 (lsmmap_mod_LDFLAGS): Likewise.
28224 (pkglib_MODULES): Add boot.mod.
28225 (boot_mod_SOURCES): New variable.
28226 (boot_mod_CFLAGS): Likewise.
28227 (boot_mod_LDFLAGS): Likewise.
28228 * conf/i386-coreboot.rmk: Removed redundant parts.
28229 * conf/i386-ieee1275.rmk: Likewise.
28230 * conf/i386-pc.rmk: Likewise.
28231 * conf/mips-yeeloong.rmk: Likewise.
28232 * conf/mips.rmk: Likewise.
28233 * conf/powerpc-ieee1275.rmk: Likewise.
28234 * conf/sparc64-ieee1275.rmk: Likewise.
28235 * conf/x86_64-efi.rmk: Likewise.
28236 * conf/i386-coreboot.rmk: Moved qemu parts ..
28237 * conf/i386-qemu.rmk: ... here
28238 * conf/i386-efi.rmk: Moved common parts to...
28239 * conf/x86-efi.rmk: ... here.
28240 * conf/i386.rmk: Added modules common to all x86 variants.
28241 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
28242 * disk/memdisk.c: Remove grub/machine/kernel.h.
28243 * gensymlist.sh.in: Include symbol.h.
28244 * hook/datehook.c: Correct module name.
28245 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
28246 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
28247 * include/grub/i386/efi/serial.h: New file.
28248 * include/grub/x86_64/efi/serial.h: Likewise.
28249 * util/time.c: Likewise.
28250 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
28251
463ac55f
CK
282522010-03-14 Colin King <colin.king@ubuntu.com>
282532010-03-14 Colin Watson <cjwatson@ubuntu.com>
28254
28255 Shrink the pre-partition-table part of boot.img by eight bytes.
28256
28257 * boot/i386/pc/boot.S (ERR): New macro.
28258 (chs_mode): Use ERR.
28259 (geometry_error): Likewise.
28260 (hd_probe_error): Remove. This is only used once, so we wrwite
28261 it inline instead.
28262 (read_error): Instead of printing read_error_string, just set up
28263 %si and fall through to ...
28264 (error_message): ... this new function, also used by ERR.
28265
08e46ede
CW
282662010-03-14 Colin Watson <cjwatson@ubuntu.com>
28267
28268 Speed up consecutive hostdisk operations on the same device.
28269
28270 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
28271 (grub_util_biosdisk_open): Initialise disk->data.
28272 (struct linux_partition_cache): New structure.
28273 (linux_find_partition): Cache partition start positions; these are
28274 expensive to compute on every read and write.
28275 (open_device): Cache open file descriptor in disk->data, so that we
28276 don't have to reopen it and flush the buffer cache for consecutive
28277 operations on the same device.
28278 (grub_util_biosdisk_close): New function.
28279 (grub_util_biosdisk_dev): Set `close' member.
28280
28281 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
28282 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
28283 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28284 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
28285 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
28286
4a6d2d06
VS
282872010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28288
28289 Compile parts of grub-emu as modules.
28290
28291 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
28292 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
28293 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
28294 (all-local): Add $(GRUB_EMU).
28295 (install-local): Install $(GRUB_EMU).
28296 (uninstall): Uninstall $(GRUB_EMU).
28297 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
28298 * kern/dl.c: Likewise.
28299 * commands/sleep.c: Not include machine/time.h.
28300 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
28301 (COMMON_CFLAGS): Likewise.
28302 (sbin_UTILITIES): Remove grub-emu.
28303 (grub_emu_SOURCES): Removed.
28304 (kernel_img_RELOCATABLE): New variable.
28305 (pkglib_PROGRAMS): Add kernel.img.
28306 (kernel_img_SOURCES): New variable
28307 (kernel_img_CFLAGS): Likewise.
28308 (kernel_img_LDFLAGS): Likewise.
28309 (TARGET_NO_STRIP): Likewise.
28310 (TARGET_NO_DYNAMIC_MODULES): Likewise.
28311 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
28312 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
28313 (grub-emu): New target.
28314 (GRUB_EMU): New variable.
28315 * configure.ac: Whitelist -emu as possible x86_64 architecture.
28316 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
28317 * loader/xnu.c: Likewise.
28318 * include/grub/pci.h: Likewise.
28319 * genemuinit.sh: New file.
28320 * genemuinitheader.sh: Likewise.
28321 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
28322 Support TARGET_NO_DYNAMIC_MODULES.
28323 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
28324 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
28325 * disk/loopback.c: Likewise.
28326 * font/font_cmd.c: Likewise.
28327 * partmap/acorn.c: Likewise.
28328 * partmap/amiga.c: Likewise.
28329 * partmap/apple.c: Likewise.
28330 * partmap/gpt.c: Likewise.
28331 * partmap/msdos.c: Likewise.
28332 * partmap/sun.c: Likewise.
28333 * parttool/msdospart.c: Likewise.
28334 * term/gfxterm.c: Likewise.
28335 * video/bitmap.c: Likewise.
28336 * video/readers/jpeg.c: Likewise.
28337 * video/readers/png.c: Likewise.
28338 * video/readers/tga.c: Likewise.
28339 * video/video.c: Likewise.
28340 * util/grub-emu.c (read_command_list): Removed.
28341 (main): Don't call util_init_nls.
28342 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28343 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28344
91fdd2ed
VS
283452010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28346
28347 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28348 date.mod, datehook.mod.
28349 (datetime_mod_SOURCES): New variable.
28350 (datetime_mod_CFLAGS): Likewise.
28351 (datetime_mod_LDFLAGS): Likewise.
28352 (date_mod_SOURCES): Likewise.
28353 (date_mod_CFLAGS): Likewise.
28354 (date_mod_LDFLAGS): Likewise.
28355 (datehook_mod_SOURCES): Likewise.
28356 (datehook_mod_CFLAGS): Likewise.
28357 (datehook_mod_LDFLAGS): Likewise.
28358 * conf/sparc64-ieee1275.rmk: Likewise.
28359 * lib/ieee1275/datetime.c: New file.
28360
873ccae6
VS
283612010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28362
28363 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28364 (ieee1275_fb_mod_SOURCES): New variable.
28365 (ieee1275_fb_mod_CFLAGS): Likewise.
28366 (ieee1275_fb_mod_LDFLAGS): Likewise.
28367 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28368 New proto.
28369 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28370 (HEAP_MAX_ADDR): Likewise.
28371 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28372 type.
28373 Correct stop condition.
28374 (grub_ieee1275_devices_iterate): New function.
28375 * video/ieee1275.c: New file.
28376
601c97c0
VS
283772010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28378
28379 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28380
28381 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28382 as scratch.
28383 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28384 SCRATCH_PAD_DISKBOOT as scratch.
28385 (bootit): Pass Openfirmware pointer in %o4.
28386 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28387 of 0x200000.
28388 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28389 with util/grub-mkrawimage.c.
28390 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28391 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28392 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28393 (grub_aout_load) [GRUB_UTIL]: Likewise.
28394 * include/grub/kernel.h (grub_modules_get_end): New proto.
28395 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28396 (SCRATCH_PAD_BOOT): New definition.
28397 (SCRATCH_PAD_DISKBOOT): Likewise.
28398 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28399 * include/grub/sparc64/ieee1275/ieee1275.h
28400 (grub_ieee1275_original_stack): New variable
28401 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28402 New definition
28403 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28404 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28405 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28406 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28407 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28408 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28409 (grub_platform_image_format_t): New type.
28410 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28411 * kern/main.c (grub_modules_get_end)
28412 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28413 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28414 (codestart): Switch stacks.
28415 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28416 variable.
28417 (grub_heap_init): Use grub_modules_get_end.
28418 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28419 stack.
28420 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28421 (main): Likewise.
28422 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28423
d68b491e
TG
284242010-03-14 Thorsten Glaser <tg@mirbsd.org>
28425
28426 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28427
4e02ed50
MK
284282010-03-08 Matt Kraai <kraai@ftbfs.org>
28429
28430 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28431 bug #559005).
28432
1f15fc1e
VS
284332010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28434
28435 * genmoddep.awk: Output all missing symbols and not only first.
28436
fce5d8ff
VS
284372010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28438
28439 * NEWS: Put the date of 1.98 release.
28440
d1e8a02f
VS
284412010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28442
28443 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28444 ft2build.h.
28445
696fd607
VS
284462010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28447
28448 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28449 completition in the middle of string.
28450
33e2e6f3
VS
284512010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28452
28453 * util/grub-mkrescue.in: Use mktemp with explicit template.
28454
b1f6d291
VS
284552010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28456
28457 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28458
2ac227c7
VS
284592010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28460
28461 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28462 right pointer.
28463
8f9a632b
VS
284642010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28465
28466 Fix FreeBSD compilation.
28467
28468 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28469 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28470
60b03859
VS
284712010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28472
28473 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
28474
48a5a769
VS
284752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28476
28477 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
28478
3ab4bd77
VS
284792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28480
28481 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28482
d116e0d8
RM
284832010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28484
28485 Support relative image path in theme file.
28486
28487 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28488 (image_set_property): Handle theme_dir and relative path.
28489
c7ef54aa
VS
284902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28491
28492 * configure.ac: Alias amd64 to x86_64.
28493
fcee14ed
VS
284942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28495
28496 * NEWS: mention multiboot on EFI.
28497
d0780363
VS
284982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28499
28500 * kern/main.c (grub_load_modules): Handle errors from init functions of
28501 embeded modules.
28502
41168ea4
VS
285032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28504
28505 * normal/autofs.c (autoload_fs_module): Handle errors.
28506
b54d93ac
VS
285072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28508
28509 Disable linux.mod on qemu-mips since it's not functional and leads
28510 to compilation failure.
28511
28512 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
28513 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
28514 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28515 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28516 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28517 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28518 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28519 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28520 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28521 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28522 Reported by: BVK Chaitanya
28523
fc8345da
JU
285242010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28525
28526 * INSTALL: Add gettext as a dependency and add qemu to a new section
28527 "Prerequisites for make-check".
28528
4760f979
CF
285292010-03-04 Christian Franke <franke@computer.org>
28530
28531 * util/grub-pe2elf.c: Add missing include "progname.h".
28532
f209b5b2
VS
285332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28534
28535 * normal/crypto.c (read_crypto_list): Fix a typo.
28536 Reported by: Seth Goldberg.
28537
b4b7be98
VS
285382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28539
28540 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 28541 Reported by: Seth Goldberg.
b4b7be98 28542
c0ee0385
VS
285432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28544
28545 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28546 ascii.bitmaps.
28547
a8efbf64
VS
285482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28549
28550 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 28551 Reported by: Seth Goldberg.
a8efbf64 28552
08dcd913
VS
285532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28554
28555 * util/i386/efi/grub-install.in: Copy gettext files.
28556
c4d0b332
VS
285572010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28558
28559 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28560
c6f2fe52
VS
285612010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28562
28563 Wait for user entry basing on presence of output rather than on errors.
28564
28565 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28566 (grub_install_newline_hook): Likewise.
28567 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28568 * normal/menu.c (show_menu): Check line_counter to determine presence
28569 of output.
28570 * normal/term.c (grub_normal_line_counter): New variable.
28571 (grub_normal_get_line_counter): New function.
28572 (grub_install_newline_hook): Likewise.
28573
5382b1e4
VS
285742010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28575
28576 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28577
5519963b
VS
285782010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28579
28580 * configure.ac: Update version to 1.98.
28581
72b28631
VS
285822010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28583
28584 * util/grub.d/10_linux.in (linux_entry): Don't default to
28585 gfxpayload=keep if Linux doesn't support video handover.
28586
c140a180
VS
285872010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28588
28589 Don't compile video modules on yeeloong since video subsystem is part
28590 of kernel.
28591
28592 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28593 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28594 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28595 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28596 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28597 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28598 * include/grub/bitmap_scale.h: Likewise.
28599 * include/grub/bufio.h: Likewise.
28600 * include/grub/font.h: Likewise.
28601 * include/grub/gfxterm.h: Likewise.
28602 * include/grub/video.h: Likewise.
28603 * include/grub/vbe.h: Don't include video_fb.h.
28604 * video/i386/pc/vbe.c: Include video_fb.h.
28605 * commands/i386/pc/vbetest.c: Include video.h.
28606
a0ca21c2
CW
286072010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28608
28609 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28610 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28611 default entry if GRUB_SAVEDEFAULT=true. This allows using
28612 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28613 saving a new default on every boot.
28614
4a8a763c
VS
286152010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28616
28617 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28618 * normal/term.c (read_terminal_list): Likewise.
28619 * normal/main.c (grub_normal_init_page): Likewise.
28620 (grub_normal_read_line_real): Likewise.
28621
607ffde2
VS
286222010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28623
28624 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28625 memory leak.
28626 Reported by: Seth Goldberg.
28627
2b8fa975
CW
286282010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28629
28630 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28631 duplicate declaration of `start'.
28632
618307dd
VS
286332010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28634
28635 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28636 filename.
28637 Reported by: Georgy Buranov
28638
7dd05b96 286392010-02-20 Carles Pina i Estany <carles@pina.cat>
28640
28641 * util/grub-mkrawimage.c (usage): Change string formatting to
28642 improve gettext.
28643
d1484a42
MRA
286442010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28645
28646 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28647 backspace keys.
28648
42b1d186
VS
286492010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28650
28651 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28652 Reported by: Michael Suchanek.
28653
286542010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28655
28656 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28657 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28658
d9f31a41
VS
286592010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28660
28661 Remove any reference to non-free fonts.
28662
28663 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28664 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28665 uses non-free components.
28666 * font/font.c (grub_font_get_name): Remove example name.
28667 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28668 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28669 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28670 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28671
2793c71e
GB
286722010-02-16 Georgy Buranov <gburanov@gmail.com>
28673
28674 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28675
402e3779
VS
286762010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28677
28678 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28679 Double divisor.
28680 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28681 features.
28682 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28683
0dd1e0dd
VS
286842010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28685
28686 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28687
6fa7cfce
ST
286882010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28689
28690 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28691 * docs/grub.texi (Command-line and menu entry commands): Document play
28692 command.
28693
37c8483b
ST
286942010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28695
28696 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28697 parse arguments as inline tempo and notes. Move code for playing notes
28698 to...
28699 (play): ... new function.
28700
14da0fb7
ST
287012010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28702
28703 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28704 grub_uint16_t instead of short.
28705 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28706 disk from little endian to cpu endianness.
28707
04459e70
ST
287082010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28709
28710 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28711 GRUB_TICKS_PER_SECOND instead of 120.
28712
a0876943
VS
287132010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28714
28715 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28716 escape sequence after \e.
28717
e29f95dc
VS
287182010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28719
28720 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28721 non-ASCII characters.
28722
d27859b2
VS
287232010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28724
28725 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28726 set root in single quotes to prevent \, from being unescaped.
28727
bc028f2f
VS
287282010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28729
28730 Prevent unknown commands from stopping menuentry execution.
28731
28732 * script/execute.c (grub_script_execute_cmdline): Print error after
28733 unknown command.
28734
095f5f82
VS
287352010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28736
28737 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28738 Reported by: Pavel Pisa.
28739
8c717950
VS
287402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28741
28742 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28743
904935c3
VS
287442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28745
28746 Merge grub_ieee1275_map_physical into grub_map and rename to
28747 grub_ieee1275_map
28748
28749 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28750 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28751 Remove.
28752 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28753 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28754 necessary.
28755 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28756
5b59a4e3
VS
287572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28758
28759 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28760 opening and not after.
28761
69e137e8
VS
287622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28763
28764 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28765 constants.
28766
2c0fcc36
VS
287672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28768
28769 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28770 (alloc_phys): Use ALIGN_UP instead of align_addr.
28771
8c6052ce
VS
287722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28773
28774 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28775
17cec782
VS
287762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28777
28778 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28779
e0128bbd
VS
287802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28781
28782 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28783 verbose dprintf.
28784
ca62070b
VS
287852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28786
28787 Fix over-4GiB seek on sparc64.
28788
28789 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28790 Replace pos_i and pos_lo with pos. All users updated.
28791 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28792 New constant.
28793 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28794 Likewise.
28795 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28796 and pos_lo.
28797
bdca2607
VS
287982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28799
28800 * util/grub-mkrawimage.c (main): Call set_program_name.
28801
da278c4d
VS
288022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28803
28804 Properly align 64-bit targets.
28805
28806 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28807 (generate_image): Use ALIGN_ADDR.
28808
b274d734
VS
288092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28810
28811 Properly create cross-endian images.
28812
28813 * include/grub/types.h (grub_host_to_target_addr): New macro
28814 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28815
82da2062
VS
288162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28817
28818 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28819
7cae4377
VS
288202010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28821
28822 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28823
28824 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28825 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28826 (grub_linux_boot): Divide by 64K when on VESA.
28827
65a533e7
VS
288282010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28829
28830 Support GRUB_GFXPAYLOAD_LINUX.
28831
28832 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28833 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28834
dd01d397
VS
288352010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28836
28837 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28838 to show messages instead of discarding them.
28839 Process errors after executing command and not before. Keep old method
28840 too as precaution.
28841
660960d6
VS
288422010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28843
28844 * configure.ac: Check for ft2build.h.
28845
62509f04
VS
288462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28847
28848 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28849
473df63d
VS
288502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28851
28852 * genkernsyms.sh.in: Use TARGET_CC.
28853
c98d2a13
CW
288542010-02-07 Colin Watson <cjwatson@ubuntu.com>
28855
28856 * NEWS: Update.
28857
6e14234c
VS
288582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28859
28860 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28861 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28862 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28863
b255e9cf
YB
288642010-02-07 Yves Blusseau <blusseau@zetam.org>
28865
6e14234c 28866 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28867
98e6959d
VS
288682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28869
28870 Fix warnings in grub-emu when compiling with maximum warning options.
28871
28872 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28873 (grub_arch_modules_addr): Return 0 and not NULL.
28874 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28875 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28876 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28877 of disk to dsk to avoid shadowing.
74e4934e
VS
28878 (find_free_slot): Fix prototype.
28879 * util/getroot.c (grub_util_is_dmraid): Make static.
28880 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28881 Add missing prototype.
28882 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28883
74e31b5c
VS
288842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28885
28886 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28887 appropriately.
28888
6b2ad14b
VS
288892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28890
28891 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28892 code out.
28893
8f891adc
VS
288942010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28895
28896 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28897 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28898 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28899 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28900 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28901 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28902
74b45184
VS
289032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28904
28905 * include/grub/err.h (grub_err_printf): Don't export.
28906
a4bced77
VS
289072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28908
28909 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28910
007d0695
VS
289112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28912
28913 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28914 * kern/misc.c (grub_gettext_dummy): Make static.
28915
b6c0d9c2
VS
289162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28917
28918 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28919 by non-valid ones.
28920 * kern/term.c (grub_putchar): Likewise.
28921
f51a90d0
VS
289222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28923
28924 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28925 buggy hook call and memory leak.
28926
6846cec5
VS
289272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28928
28929 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28930
468d69fe
VS
289312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28932
28933 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28934
51906b8c
VS
289352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28936
28937 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28938 modevar.
28939 Return grub_errno on allocation error.
28940
09706ce5
VS
289412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28942
28943 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28944
911df80c
YB
289452010-02-06 Yves Blusseau <blusseau@zetam.org>
28946
28947 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28948 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28949
3746a6bc
VS
289502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28951
28952 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28953 non-pxe disk.
28954 (grub_pxefs_open): Likewise.
28955
09706ce5
VS
289562010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28957
28958 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28959 * util/grub.d/10_kfreebsd.in: Likewise.
28960 * util/grub.d/10_linux.in: Likewise.
28961
7cc192d9
VS
289622010-02-06 Colin D Bennett <colin@gibibit.com>
28963
28964 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28965 (gfxmenu_mod_SOURCES): New variable.
28966 (gfxmenu_mod_CFLAGS): Likewise.
28967 (gfxmenu_mod_LDFLAGS): Likewise.
28968 * include/grub/term.h (grub_term_set_current_output): Declare
28969 argument as const.
28970 * docs/gfxmenu-theme-example.txt: New file.
28971 * gfxmenu/gfxmenu.c: Likewise.
28972 * gfxmenu/gui_box.c: Likewise.
28973 * gfxmenu/gui_canvas.c: Likewise.
28974 * gfxmenu/gui_circular_progress.c: Likewise.
28975 * gfxmenu/gui_image.c: Likewise.
28976 * gfxmenu/gui_label.c: Likewise.
28977 * gfxmenu/gui_list.c: Likewise.
28978 * gfxmenu/gui_progress_bar.c: Likewise.
28979 * gfxmenu/gui_string_util.c: Likewise.
28980 * gfxmenu/gui_util.c: Likewise.
28981 * gfxmenu/icon_manager.c: Likewise.
28982 * gfxmenu/model.c: Likewise.
28983 * gfxmenu/named_colors.c: Likewise.
28984 * gfxmenu/theme_loader.c: Likewise.
28985 * gfxmenu/view.c: Likewise.
28986 * gfxmenu/widget-box.c: Likewise.
28987 * include/grub/gfxmenu_model.h: Likewise.
28988 * include/grub/gfxmenu_view.h: Likewise.
28989 * include/grub/gfxwidgets.h: Likewise.
28990 * include/grub/gui.h: Likewise.
28991 * include/grub/gui_string_util.h: Likewise.
28992 * include/grub/icon_manager.h: Likewise.
28993
289942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28995
28996 Agglomerate scrolling in gfxterm.
28997
28998 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28999 (grub_virtual_screen_setup): Initialise 'total_screen'.
29000 (write_char): Split to ...
29001 (paint_char): ... this ...
29002 (write_char): ... and this.
29003 (paint_char): Handle delayed scrolling.
29004 (draw_cursor): Likewise.
29005 (scroll_up): Split to ...
29006 (real_scroll): ... this ...
29007 (scroll_up): ... and this.
29008 (real_scroll): Handle multi-line scroll and draw below-the-bottom
29009 characters.
29010 (grub_gfxterm_refresh): Call real_scroll.
29011
290122010-02-06 Colin D Bennett <colin@gibibit.com>
29013
29014 * include/grub/misc.h (grub_iscntrl): New inline function.
29015 (grub_isalnum): Likewise.
29016 (grub_strtol): Likewise.
29017
290182010-02-06 Colin D Bennett <colin@gibibit.com>
29019
29020 * normal/menu_text.c (get_entry_number): Move from here ...
29021 * normal/menu.c (get_entry_number): ... moved here.
29022 * include/grub/menu.h (grub_menu_get_default_entry_index):
29023 New prototype.
29024 * normal/menu.c (grub_menu_get_default_entry_index): New function.
29025 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
29026 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
29027 (grub_menu_viewer_should_return): Likewise.
29028 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
29029 * normal/menu_text.c (run_menu): Enable menu switching.
29030 * normal/menu_viewer.c (should_return): New variable.
29031 (menu_viewer_changed): Likewise.
29032 (grub_menu_viewer_show_menu): Handle menu viewer changes.
29033 (grub_menu_viewer_should_return): New function.
29034 (menuviewer_write_hook): Likewise.
29035 (grub_menu_viewer_init): Likewise.
29036
290372010-02-06 Colin D Bennet <colin@gibibit.com>
290382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29039
29040 Support for gfxterm in a window.
29041
29042 * include/grub/gfxterm.h: New file.
29043 * include/grub/video.h (struct grub_video_rect): New declaration.
29044 (grub_video_rect_t): Likewise.
29045 * term/gfxterm.c (struct grub_gfxterm_window): New type.
29046 (refcount): New variable.
29047 (render_target): Likewise.
29048 (window): Likewise.
29049 (repaint_callback): Likewise.
29050 (grub_virtual_screen_setup): Use 'render_target'.
29051 (init_window): New function.
29052 (grub_gfxterm_init_window): Likewise.
29053 (grub_gfxterm_init): Check reference counter.
29054 Use init_window.
29055 (destroy_window): New function.
29056 (grub_gfxterm_destroy_window): Likewise.
29057 (grub_gfxterm_fini): Check reference counter.
29058 Use destroy_window.
29059 (redraw_screen_rect): Restore viewport.
29060 Use 'render_target' and 'window'.
29061 Call 'repaint_callback'.
29062 (write_char): Use 'render_target'.
29063 (draw_cursor): Likewise.
29064 (scroll_up): Restore viewport.
29065 Use 'render_target' and 'window'.
29066 Call 'repaint_callback'.
29067 (grub_gfxterm_cls): Likewise.
29068 (grub_gfxterm_refresh): Use 'window'.
29069 (grub_gfxterm_set_repaint_callback): New function.
29070 (grub_gfxterm_background_image_cmd): Use 'window'.
29071 (grub_gfxterm_get_term): New function.
29072 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
29073
290742010-02-06 Colin D Bennett <colin@gibibit.com>
29075
29076 Bitmap scaling support.
29077
29078 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
29079 (bitmap_scale_mod_SOURCES): New variable.
29080 (bitmap_scale_mod_CFLAGS): Likewise.
29081 (bitmap_scale_mod_LDFLAGS): Likewise.
29082 * include/grub/bitmap_scale.h: New file.
29083 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
29084 (background_image_cmd_options): New variable.
29085 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
29086 (cmd): Rename and change type to ...
29087 (background_image_cmd_handle): ... this. All users updated.
29088 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
29089 * video/bitmap_scale.c: New file.
29090
290912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29092
29093 SDL support.
29094
29095 * Makefile.in (LIBSDL): New variable.
29096 (enable_grub_emu_sdl): Likewise.
29097 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
29098 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
29099 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
29100 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
29101 * util/sdl.c: New file.
29102
291032010-02-06 Colin D Bennett <colin@gibibit.com>
291042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29105
29106 Double buffering support.
29107
29108 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
29109 * include/grub/video.h: Update comment.
29110 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
29111 New type.
29112 (grub_video_fb_doublebuf_blit_init): New prototype.
29113 * term/gfxterm.c (scroll_up): Support double buffering.
29114 (grub_gfxterm_refresh): Likewise.
29115 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
29116 (grub_video_fb_doublebuf_blit_init): Likewise.
29117 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
29118 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
29119 'displayed_page', 'render_page' and 'update_screen'.
29120 (grub_video_vbe_fini): Free offscreen buffer.
29121 (doublebuf_pageflipping_commit): New function.
29122 (doublebuf_pageflipping_update_screen): Likewise.
29123 (doublebuf_pageflipping_init): Likewise.
29124 (double_buffering_init): Likewise.
29125 (grub_video_vbe_setup): Enable doublebuffering.
29126 (grub_video_vbe_swap_buffers): Implement.
29127 (grub_video_vbe_set_active_render_target): Handle double buffering.
29128 (grub_video_vbe_get_active_render_target): Likewise.
29129 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
29130 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
29131 (grub_video_vbe_enable_double_buffering): Likewise.
29132 (grub_video_vbe_swap_buffers): Use update_screen.
29133 (grub_video_set_mode): Use double buffering.
29134
291352010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29136
29137 * maintainance/gentrigtables.py: Remove.
29138 * lib/trig.c: Likewise.
29139
29140 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
29141
29142 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
29143 `trigtables.c'.
29144 (trigtables.c): New rule.
29145 (gentrigtables): Likewise.
29146 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
29147
291482010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29149
29150 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
29151 integer constants.
29152
291532010-02-06 Colin D Bennet <colin@gibibit.com>
29154
29155 Trigonometry support.
29156
29157 * include/grub/trig.h: New file.
29158 * lib/trig.c: Likewise.
29159 * maintainance/gentrigtables.py: Likewise.
29160 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
29161 (trig_mod_SOURCES): New variable.
29162 (trig_mod_CFLAGS): Likewise.
29163 (trig_mod_LDFLAGS): Likewise.
29164
5562834e
VS
291652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29166
29167 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
29168 disk devices.
29169
4f8528fc
VS
291702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29171
29172 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
29173 error.
29174
2b4068e9
VS
291752010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29176
29177 * util/hostdisk.c (open_device): Don't use partition device when reading
29178 before the partition.
29179 (grub_util_biosdisk_read): Don't read from partition and before the
29180 partition in single operation.
29181 (grub_util_biosdisk_write): Don't write to partition and before the
29182 partition in single operation.
29183
399f6e4d
TL
291842010-02-03 Torsten Landschoff <torsten@debian.org>
29185
29186 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29187 last sectors.
29188
996649b0
VS
291892010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29190
29191 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
29192 CDROM reads.
29193 (grub_biosdisk_write): Refuse to write to CDROM.
29194
3b205d4d
VS
291952010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29196
29197 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
29198
61e89d9d
VS
291992010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29200
29201 * font/font.c (find_glyph): Check that bmp_idx is available before
29202 using it.
29203 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
29204 with (font == NULL).
29205
bf7fcba2
CS
292062010-01-28 Christian Schmitt <chris@ilovelinux.de>
29207
29208 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
29209
f45d2663
BC
292102010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
29211
29212 * include/grub/script_sh.h (sourcecode): Add const qualifier.
29213 * util/grub-script-check.c (getline): Fix empty lines case.
29214
ec1444e6
RM
292152010-01-28 Robert Millan <rmh.grub@aybabtu.com>
29216
29217 * Makefile.in (check): Exit with fail status when one of the tests
29218 fails.
29219 * tests/example_functional_test.c (example_test): Fix reversed assert.
29220 * tests/example_unit_test.c (example_test): Likewise.
29221
2e1cb9bb
CW
292222010-01-28 Colin Watson <cjwatson@ubuntu.com>
29223
29224 * util/grub.d/10_linux.in: This script does not use any of the
29225 contents of gettext.sh, only the external command `gettext', so stop
29226 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
29227 the same prefix as GRUB.)
29228 * util/grub.d/10_kfreebsd.in: Likewise.
29229
63533ab0
VS
292302010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29231
29232 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
29233 of the line.
29234
989e1f93
VS
292352010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29236
29237 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29238 last sectors.
29239
e709ebe2
VS
292402010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29241
29242 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
29243 having a 4KiB and not 32KiB buffer size.
29244
27dea7ed
RM
292452010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29246
29247 * util/hostfs.c: Include `<errno.h>'.
29248 (grub_hostfs_read): Handle errors from fseeko() and fread().
29249
67667b9c
RM
292502010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29251
29252 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
29253 loop when using read hooks on files whose size isn't sector-aligned.
29254
c294d9d8
RM
292552010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29256
29257 Remove unused parameter.
29258
29259 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
29260 (grub_iso9660_open): Remove initialization of `data->length'.
29261
af75a9f1
RM
292622010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29263
29264 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
29265 memleak conditions.
29266
254e2ce5 292672010-01-27 Carles Pina i Estany <carles@pina.cat>
29268
29269 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
29270 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
29271
b510928c 292722010-01-26 Carles Pina i Estany <carles@pina.cat>
29273
29274 * util/bin2h.c (usage): Fix warning (space after backslash).
29275
aa2f9dd2 292762010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 29277
29278 * font/font.c: Include `grub/fontformat.h.
29279 Remove font file format constants.
29280 (grub_font_load): Use the new macros.
29281 * include/grub/fontformat.h: New file.
29282 * util/grub-mkfont.c: Include `grub/fontformat.c'.
29283 (write_font_pf2): Use the new macros.
29284
94e7e712
RM
292852010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29286
29287 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
29288 does.
29289
3973a59a
RM
292902010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29291
29292 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
29293
29294 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
29295 (_start): Macroify `0x7F'.
29296
29297 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
29298 (make_install_device): Use "(pxe)" as fallback prefix when booting
29299 via PXE.
29300
42e0cba3
GS
293012010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
29302
29303 * configure.ac: Reset LIBS after check for libgcc symbols.
29304
847effd8
CW
293052010-01-25 Colin Watson <cjwatson@ubuntu.com>
29306
29307 * util/hostdisk.c (open_device): Add trailing newline to debug
29308 message.
29309
ea4a7e35
GS
293102010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
29311
29312 * configure.ac: Check for `limits.h'.
29313 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
29314
67951a53
RM
293152010-01-24 Robert Millan <rmh.grub@aybabtu.com>
29316
29317 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
29318 capitalize error strings.
29319
c273d4ce
ST
293202010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
29321
29322 * util/grub.d/10_hurd.in: Add a recovery mode.
29323
69be5b74
VS
293242010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
29325
29326 * configure.ac: Check for libgcc symbols with -nostdlib.
29327
fc9e5810
BC
293282010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
29329
29330 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
29331
4b358c0a
VS
293322010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29333
29334 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
29335 stack since heap may be unavailable at that point.
29336 (grub_ofconsole_gotoxy): Likewise.
29337
454fcd1c
VS
293382010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29339
29340 * configure.ac: Check for _restgpr_14_x.
29341 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
29342 and _savegpr_* prototypes.
29343
566863ca
RM
293442010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29345
29346 Use generic grub_reboot() for i386-efi.
29347
29348 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29349 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29350 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29351
bf86e59a
VS
293522010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29353
29354 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29355 presence of "prefix" variable as it breaks when normal.mod is
29356 embedded.
29357
d645e0f8
VS
293582010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29359
29360 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29361 stack since heap is unavailable at that point.
29362
f9ab2e25
VS
293632010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29364
29365 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29366 (grub_freebsd_bootinfo): Rewritten.
29367 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29368
01fc7054
VS
293692010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29370
29371 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29372
caab4fd6
RM
293732010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29374
29375 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29376 domain now.
29377
67eb1427
FZ
293782010-01-20 Felix Zielcke <fzielcke@z-51.de>
29379
29380 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29381 around for handling "/" to the correct fix. Fix a memory leak. Use
29382 xstrdup instead of strdup.
29383
a9ed4ff3
VS
293842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29385
29386 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29387
293882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
29389
29390 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29391
29392 * font/font.c (struct grub_font): New member 'bmp_idx'.
29393 (font_init): Initialise 'bmp_idx'.
29394 (load_font_index): Fill 'bmp_idx'.
29395 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29396
48209f4f
VS
293972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29398
29399 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29400 unnecessary calls.
29401
9f0a4bb7
VS
294022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29403
29404 Move context handling out of the kernel.
29405
29406 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29407 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29408 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29409 * conf/i386-efi.rmk: Likewise.
29410 * conf/i386-ieee1275.rmk: Likewise.
29411 * conf/i386-pc.rmk: Likewise.
29412 * conf/powerpc-ieee1275.rmk: Likewise.
29413 * conf/sparc64-ieee1275.rmk: Likewise.
29414 * conf/x86_64-efi.rmk: Likewise.
29415 * include/grub/env.h: Include grub/menu.h.
29416 (grub_env_var_type): Removed.
29417 (grub_env_var): Replaced field 'type' with 'global'.
29418 (grub_env_find): New prototype.
29419 (grub_env_context_open): Remove EXPORT_FUNC.
29420 (grub_env_context_close): Likewise.
29421 (grub_env_export): Likewise.
29422 (grub_env_set_data_slot): Removed.
29423 (grub_env_get_data_slot): Likewise.
29424 (grub_env_unset_data_slot): Likewise.
29425 (grub_env_unset_menu): New prototype.
29426 (grub_env_set_menu): Likewise.
29427 (grub_env_get_menu): Likewise.
29428 * include/grub/env_private.h: New file.
29429 * include/grub/normal.h (grub_context_init): New prototype.
29430 (grub_context_fini): Likewise.
29431 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29432 * normal/context.c (grub_cmd_export): ... to here.
29433 * kern/env.c: Include env_private.h.
29434 (HASHSZ): Moved to include/grub/env_private.h.
29435 (grub_env_context): Likewise.
29436 (grub_env_sorted_var): Likewise.
29437 (current_context): Renamed from this ...
29438 (grub_current_context): ...to this. 'static' removed. All users updated.
29439 (grub_env_find): Removed 'static'.
29440 (grub_env_context_open): Moved to normal/context.c.
29441 (grub_env_context_close): Likewise.
29442 (grub_env_export): Likewise.
29443 (mangle_data_slot_name): Removed.
29444 (grub_env_set_data_slot): Likewise.
29445 (grub_env_get_data_slot): Likewise.
29446 (grub_env_unset_data_slot): Likewise.
29447 * kern/main.c (grub_set_root_dev): Don't export root.
29448 It will be done later.
29449 (grub_main): Don't export prefix.
29450 It will be done later.
29451 * normal/context.c: New file.
29452 * normal/main.c (free_menu): Use grub_env_unset_menu.
29453 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29454 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29455 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29456 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29457
8dd35b8c
VS
294582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29459
29460 setpci support.
29461
29462 * commands/setpci.c: New file.
29463 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29464 (setpci_mod_SOURCES): New variable.
29465 (setpci_mod_CFLAGS): Likewise.
29466 (setpci_mod_LDFLAGS): Likewise.
29467
449193d5
VS
294682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29469
29470 Byte-addressable PCI configuration space.
29471
29472 * bus/pci.c (grub_pci_make_address): Use byte address instead of
29473 dword address.
29474 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
29475 GRUB_PCI_REG_CACHELINE.
29476 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
29477 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
29478 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
29479 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
29480 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
29481 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
29482 grub_pci_make_address.
29483 (lock_rom_area): Likewise.
29484 * commands/lspci.c (grub_lspci_iter): Use macroses
29485 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29486 of grub_pci_make_address.
29487 * disk/ata.c (grub_ata_pciinit): Likewise.
29488 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29489 (GRUB_PCI_REG_VENDOR): Likewise.
29490 (GRUB_PCI_REG_DEVICE): Likewise.
29491 (GRUB_PCI_REG_COMMAND): Likewise.
29492 (GRUB_PCI_REG_STATUS): Likewise.
29493 (GRUB_PCI_REG_REVISION): Likewise.
29494 (GRUB_PCI_REG_CLASS): Likewise.
29495 (GRUB_PCI_REG_CACHELINE): Likewise.
29496 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29497 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29498 (GRUB_PCI_REG_BIST): Likewise.
29499 (GRUB_PCI_REG_ADDRESSES): Likewise.
29500 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29501 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29502 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29503 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29504 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29505 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29506 (GRUB_PCI_REG_CIS_POINTER): Likewise.
29507 (GRUB_PCI_REG_SUBVENDOR): Likewise.
29508 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
29509 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
29510 (GRUB_PCI_REG_CAP_POINTER): Likewise.
29511 (GRUB_PCI_REG_IRQ_LINE): Likewise.
29512 (GRUB_PCI_REG_IRQ_PIN): Likewise.
29513 (GRUB_PCI_REG_MIN_GNT): Likewise.
29514 (GRUB_PCI_REG_MAX_LAT): Likewise.
29515 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29516 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29517 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 29518 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
29519 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29520 space.
29521
96d73208
RM
295222010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29523
29524 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29525 can be reliably determined to be supported.
29526
d4484482
RM
295272010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29528
29529 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29530 that VESA is supported.
29531 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29532 supported.
29533
00308ecf
VS
295342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29535
29536 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29537
f66924a4
RM
295382010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29539
29540 * util/misc.c (make_system_path_relative_to_its_root): Work around
29541 special-casing of "/", as previous incarnation of this routine did.
29542
cbca0ada
VS
295432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29544
29545 Fix any-emu compilation.
29546
29547 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29548 * grub_bin2h_SOURCES: New variable.
29549
34a66d99
RM
295502010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29551
29552 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29553
94fabf58
RM
295542010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29555
29556 * util/grub.d/00_header.in: Fix handling of locale_dir.
29557
02cf98ca
VS
295582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29559
29560 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
29561 as possible unifont location (Gentoo).
29562 Reported by: Alexander Brüning
29563
327dbcd7
VS
295642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29565
29566 Don't try to generate lists for kernel.img.
29567
29568 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29569 (pkglib_MODULES): Remove kernel.img.
29570 (kernel_img_EXPORTS): Removed.
29571 (kernel_img_RELOCATABLE): New variable.
29572 * conf/x86_64-efi.rmk: Likewise.
29573 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29574
ca467290
VS
295752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29576
29577 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29578 grub_xasprintf or grub_snprintf.
29579 (grub_vsprintf): Likewise.
29580 (grub_snprintf): New proto.
29581 (grub_vsnprintf): Likewise.
29582 (grub_xasprintf): Likewise.
29583 (grub_xvasprintf): Likewise.
29584 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29585 (grub_sprintf): Removed.
29586 (grub_vsnprintf): New function.
29587 (grub_snprintf): Likewise.
29588 (grub_xvasprintf): Likewise.
29589 (grub_xasprintf): Likewise.
29590 (grub_vsprintf): Renamed to ...
29591 (grub_vsnprintf_real): ...this. New argument max_len.
29592
aca655fd
BC
295932010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29594
29595 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29596 fix grub-script-check warning.
29597
7ee92c32
VS
295982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29599
29600 * include/grub/font.h (grub_font_load): Fix prototype.
29601
f80927ca
VS
296022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29603
29604 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29605
119c50ea
VS
296062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29607
29608 * include/grub/x86_64/at_keyboard.h: New file.
29609
47d5f3c1
VS
296102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29611
29612 * loader/mips/linux.c: Include missing grub/i18n.h.
29613
55ff5266
RM
296142009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29615
29616 * normal/menu.c (notify_execution_failure): Clarify error message.
29617
c893cc87
RM
296182009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29619
29620 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29621 return value (and revert all return statements). Update users.
29622
917dd370
CW
296232010-01-20 Dan Merillat <debian@dan.merillat.org>
29624
29625 * kern/device.c (grub_device_iterate): Allocate new part_ent
29626 structure based on sizeof (*p) rather than sizeof (p->next), to
29627 account for structure padding.
29628
29629 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29630 disk is NULL, which might happen for LVM physical volumes with no
29631 LVM signature.
29632
d4a4ee57
RM
296332009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29634
29635 * loader/mips/linux.c (grub_cmd_initrd)
29636 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29637
296382009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29639
29640 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29641 (grub_video_video_init, grub_video_bitmap_init)
29642 (grub_font_manager_init, grub_term_gfxterm_init)
29643 (grub_at_keyboard_init): New extern declarations.
29644 (grub_machine_init): Initialize gfxterm and at_keyboard.
29645
29646 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29647
29648 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29649 `gfxterm.mod' into core image.
29650
29651 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29652 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29653 (kernel_img_FORMAT): Copy to ...
29654
29655 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29656 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29657 (kernel_img_FORMAT): ... here, and ...
29658
29659 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29660 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29661 (kernel_img_FORMAT): ... here.
29662
29663 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29664 and input (at_keyboard) terminals in kernel.
29665 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29666
29667 (pkglib_MODULES): Remove `pci.mod'.
29668 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29669 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29670 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29671 (at_keyboard_mod_LDFLAGS): Remove variables.
29672
296732010-01-11 Felix Zielcke <fzielcke@z-51.de>
29674
29675 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29676
296772009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29678
29679 * include/grub/mips/libgcc.h: Only export symbols for functions
29680 that libgcc provides.
29681
296822009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29683
29684 MIPS support.
29685
29686 * bus/bonito.c: New file.
29687 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29688 GRUB_PCI_NUM_DEVICES.
29689 * term/i386/pc/serial.c: Move to ...
29690 * term/serial.c: ... here. All users updated.
29691 * util/i386/pc/grub-mkimage.c: Move to ...
29692 * util/grub-mkrawimage.c: ... here. All users updated.
29693 * term/i386/pc/at_keyboard.c: Move to ...
29694 * term/at_keyboard.c: ... here. All users updated.
29695 * conf/mips-qemu-mips.rmk: New file.
29696 * conf/mips-yeeloong.rmk: Likewise.
29697 * conf/mips.rmk: Likewise.
29698 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29699 mipsel-qemu-mips.
29700 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29701 to port addresses.
29702 (grub_ata_pciinit): Support CS5536.
29703 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29704 * font/font_cmd.c (loadfont_command): Open file before passing it to
29705 grub_font_load.
29706 (pseudo_file_read): New function.
29707 (pseudo_file_close): Likewise.
29708 (pseudo_fs): New structure.
29709 (load_font_module): New function.
29710 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29711 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29712 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29713 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29714 * include/grub/i386/at_keyboard.h: Split into ...
29715 * include/grub/at_keyboard.h: ... this ...
29716 * include/grub/i386/at_keyboard.h: ... and this.
29717 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29718 New prototype.
29719 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29720 updated.
29721 (grub_elf64_size): Likewise.
29722 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29723 filename.
29724 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29725 * include/grub/i386/coreboot/serial.h: Rewritten.
29726 * include/grub/i386/ieee1275/serial.h: Include
29727 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29728 * include/grub/i386/pc/serial.h: Moved from here ...
29729 * include/grub/serial.h: ... to here. All users updated.
29730 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29731 (GRUB_PCI_NUM_BUS): Likewise.
29732 (GRUB_PCI_NUM_DEVICES): Likewise.
29733 (grub_pci_device_map_range): Add missing volatile keyword.
29734 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29735 * include/grub/mips/at_keyboard.h: New file.
29736 * include/grub/mips/cache.h: Likewise.
29737 * include/grub/mips/io.h: Likewise.
29738 * include/grub/mips/kernel.h: Likewise.
29739 * include/grub/mips/libgcc.h: Likewise.
29740 * include/grub/mips/pci.h: Likewise.
29741 * include/grub/mips/qemu-mips/boot.h: Likewise.
29742 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29743 * include/grub/mips/qemu-mips/loader.h: Likewise.
29744 * include/grub/mips/qemu-mips/memory.h: Likewise.
29745 * include/grub/mips/qemu-mips/serial.h: Likewise.
29746 * include/grub/mips/qemu-mips/time.h: Likewise.
29747 * include/grub/mips/relocator.h: Likewise.
29748 * include/grub/mips/time.h: Likewise.
29749 * include/grub/mips/types.h: Likewise.
29750 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29751 * include/grub/mips/yeeloong/boot.h: Likewise.
29752 * include/grub/mips/yeeloong/kernel.h: Likewise.
29753 * include/grub/mips/yeeloong/loader.h: Likewise.
29754 * include/grub/mips/yeeloong/memory.h: Likewise.
29755 * include/grub/mips/yeeloong/pci.h: Likewise.
29756 * include/grub/mips/yeeloong/serial.h: Likewise.
29757 * include/grub/mips/yeeloong/time.h: Likewise.
29758 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29759 * kern/elf.c (grub_elf32_size): New parameter. All users
29760 updated.
29761 (grub_elf64_size): Likewise.
29762 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29763 Load modules before saying "Welcome to GRUB!".
29764 Call grub_refresh after saying "Welcome to GRUB!".
29765 * kern/mips/cache.S: New file.
29766 * kern/mips/cache_flush.S: Likewise.
29767 * kern/mips/dl.c: Likewise.
29768 * kern/mips/init.c: Likewise.
29769 * kern/mips/qemu-mips/init.c: Likewise.
29770 * kern/mips/startup.S: Likewise.
29771 * kern/mips/yeeloong/init.c: Likewise.
29772 * kern/term.c (grub_putcode): Handle NULL terminal.
29773 (grub_getcharwidth): Likewise.
29774 (grub_getkey): Likewise.
29775 (grub_checkkey): Likewise.
29776 (grub_getkeystatus): Likewise.
29777 (grub_getxy): Likewise.
29778 (grub_getwh): Likewise.
29779 (grub_gotoxy): Likewise.
29780 (grub_cls): Likewise.
29781 (grub_setcolorstate): Likewise.
29782 (grub_setcolor): Likewise.
29783 (grub_getcolor): Likewise.
29784 (grub_refresh): Likewise.
29785 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29786 (write_jump): Add hatch nop.
29787 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29788 * lib/mips/setjmp.S: New file.
29789 * loader/mips/linux.c: Likewise.
29790 * term/i386/pc/at_keyboard.c: Move from here ...
29791 * term/at_keyboard.c: ... to here.
29792 * term/i386/pc/serial.c: Moved from here ...
29793 * term/serial.c: ... to here. All users updated.
29794 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29795 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29796 (serial_translate_key_sequence): Avoid deadlock.
29797 (grub_serial_getkey): Handle backspace.
29798 (grub_serial_putchar): Fix newline handling.
29799 * util/i386/pc/grub-mkimage.c: Move from here ...
29800 * util/grub-mkrawimage.c: ... to here. All users updated.
29801 (generate_image): New parameters 'font_path' and 'format'.
29802 Support embedding font.
29803 Use grub_host_to_target* instead of grub_cpu_to_le*.
29804 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29805 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29806 (options): New option "--font".
29807 (usage): Likewise.
29808 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29809 (main): Handle "--font".
29810 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29811 (grub_virtual_screen_setup): Set bg_color_display.
29812 (redraw_screen_rect): Use bg_color_display instead of incorrect
29813 bg_color.
29814 (grub_gfxterm_cls): Likewise.
29815 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29816 Support embedding config file.
29817 (add_segments): Likewise.
29818 (options): New option "--config".
29819 (main): Handle "--config".
29820 * video/sm712.c: New file.
29821
25c2b5b3
RM
298222010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29823
29824 Fix parallel builds.
29825
29826 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29827 font.c depend on ascii.h).
29828
298292010-01-12 Carles Pina i Estany <carles@pina.cat>
29830
29831 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29832
298332010-01-11 Carles Pina i Estany <carles@pina.cat>
29834
29835 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29836 By default: disabled.
29837 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29838 parameter.
29839
298402010-01-10 Carles Pina i Estany <carles@pina.cat>
29841
29842 * font/font.c: Update copyright years.
29843 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29844
298452010-01-10 Carles Pina i Estany <carles@pina.cat>
29846
29847 * font/font.c: Include `ascii.h'.
29848 (ASCII_BITMAP_SIZE): New macro.
29849 (ascii_font_glyph): Define.
29850 (ascii_glyph_lookup): New function.
29851 (grub_font_get_string_width): Change comment. If glyph not found, use
29852 ascii_glyph_lookup.
29853 (grub_font_get_glyph_with_fallback): If glyph not available returns
29854 ascii_glyph_lookup.
29855 * util/grub-mkfont.c (file_formats): New enum.
29856 (options): Add `ascii-bitmaps' new option.
29857 (usage): Add `asii-bitmaps' new option.
29858 (write_font_ascii_bitmap): New function.
29859 (write_font): Rename to ...
29860 (write_font_p2): ... this. Remove print_glyphs call.
29861 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29862 used. Call print_glyphs.
29863 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29864
298652010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29866
29867 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29868 (grub_bin2h_SOURCES): New variable.
29869 * util/bin2h.c: New file.
29870
915fc1b8
VS
298712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29872
29873 * include/multiboot.h: Resynced with spec.
29874 * include/multiboot2.h: Likewise.
29875 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29876 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29877
9444b678
RM
298782010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29879
29880 * include/grub/term.h (grub_term_register_input,
29881 grub_term_register_output): Check return of terminal init()
29882 routines, and abort if errors are raised.
29883
29884 * commands/terminal.c: Update copyright year.
29885
cba98e8d
RM
298862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29887
29888 * commands/terminal.c (grub_cmd_terminal_input)
29889 (grub_cmd_terminal_output): Check return of terminal init()
29890 routines, and abort if errors are raised.
29891
6f7db5d6
VS
298922010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29893
29894 * include/grub/i386/bsd.h: Fix include pathes.
29895
262bff8d
VS
298962010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29897
29898 Add missing *BSD copyright headers.
29899
29900 * include/grub/aout.h: Add BSD licence.
29901 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29902 * include/grub/i386/freebsd_linker.h: ... here,
29903 * include/grub/i386/freebsd_reboot.h: ... here,
29904 * include/grub/i386/netbsd_bootinfo.h: ... here,
29905 * include/grub/i386/netbsd_reboot.h: ... here,
29906 * include/grub/i386/openbsd_bootarg.h: ... here,
29907 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29908 licence to each file.
29909
b2cab848
RM
299102010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29911
29912 * acinclude.m4: Remove `nop' assembly instruction; it's not
29913 implemented by all architectures.
29914
2cb6be4b
RM
299152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29916
29917 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29918 ELILO. This is no longer necessary.
29919
a2eaee15
BC
299202010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29921
29922 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29923
29924 * util/grub-script-check.c: grub-script-check tool.
29925 * conf/common.rmk: Make rules for grub-script-check.
29926
88d17012
RM
299272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29928
29929 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29930 spotting it back in 2008. Shame on me for forgetting he did.
29931
29932 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29933
8040619d
RM
299342010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29935
29936 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29937 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29938 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29939 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29940 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29941 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29942
a0c2a0f6
RM
299432010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29944
29945 * include/grub/test.h: Add license header.
29946 * tests/example_functional_test.c: Likewise.
29947 * tests/example_unit_test.c: Likewise.
29948 * tests/lib/functional_test.c: Likewise.
29949 * tests/lib/test.c: Likewise.
29950 * tests/lib/unit_test.c: Likewise.
29951
b0b13907
VS
299522010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29953
29954 Use flag-based instead of hook-based video mode selection and "auto"
29955 keyword.
29956
29957 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29958 (grub_video_set_mode): Changed prototype. All users updated.
29959 (grub_video_check_mode_flag): New inline function.
29960 * video/video.c (parse_modespec): New function.
29961 (grub_video_set_mode): Parse flags and keywords.
29962
ea379330 299632010-01-17 Carles Pina i Estany <carles@pina.cat>
29964
29965 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29966 fprintf call.
29967
e15c215e
FZ
299682010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29969
29970 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29971
409ae1c9 299722010-01-16 Carles Pina i Estany <carles@pina.cat>
29973
29974 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29975 string.
29976 * util/grub-emu.c (usage): Likewise.
29977 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29978 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29979 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29980 * util/i386/pc/grub-setup.c (usage): Likewise.
29981
70a14d3d 299822010-01-16 Carles Pina i Estany <carles@pina.cat>
29983
29984 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29985 the message.
29986 (grub_util_info): Likewise.
29987 (grub_util_error): Likewise.
29988 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29989 and/or new lines in `grub_util_warna', `grub_util_info',
29990 `grub_util_error' calls.
29991 * util/getroot.c: Likewise.
29992 * util/grub-editenv.c: Likewise.
29993 * util/grub-emu.c: Likewise.
29994 * util/grub-fstest.c: Likewise.
29995 * util/grub-mkdevicemap.c: Likewise.
29996 * util/grub-mkfont.c: Likewise.
29997 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29998 * util/grub-mkrelpath.c: Likewise.
29999 * util/grub-pe2elf.c: Likewise.
30000 * util/grub-probe.c: Likewise.
30001 * util/hostdisk.c: Likewise.
30002 * util/i386/efi/grub-mkimage.c: Likewise.
30003 * util/i386/pc/grub-mkimage.c: Likewise.
30004 * util/i386/pc/grub-setup.c: Likewise.
30005 * util/ieee1275/ofpath.c: Likewise.
30006 * util/mkisofs/eltorito.c: Likewise.
30007 * util/mkisofs/rock.c: Likewise.
30008 * util/mkisofs/write.c: Likewise.
30009 * util/raid.c: Likewise.
30010 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30011 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30012
a0b766fc
VS
300132010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30014
30015 Enable multiboot on non-pc.
30016
30017 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
30018 multiboot.mod and multiboot2.mod to ...
30019 * conf/i386.rmk (pkglib_MODULES): ... here.
30020 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
30021 Moved to ...
30022 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
30023 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
30024 Moved to ...
30025 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
30026 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
30027 Moved to ...
30028 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
30029 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
30030 Moved to ...
30031 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
30032 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
30033 relocator.mod.
30034 (ata_mod_SOURCES): Removed.
30035 (ata_mod_CFLAGS): Likewise.
30036 (ata_mod_LDFLAGS): Likewise.
30037 (relocator_mod_SOURCES): Removed.
30038 (relocator_mod_CFLAGS): Likewise.
30039 (relocator_mod_ASFLAGS): Likewise.
30040 (relocator_mod_LDFLAGS): Likewise.
30041 Include i386.mk.
30042 * include/grub/x86_64/multiboot.h: New file.
30043 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
30044 Terminate EFI.
30045
884ade56
VS
300462010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30047
30048 Video multiboot support.
30049
30050 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
30051 New prototype.
30052 * include/multiboot.h: Resynced with multiboot specification.
30053 * include/multiboot2.h: Likewise.
30054 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
30055 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
30056 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
30057 (HAS_VGA_TEXT): Likewise.
30058 (accepts_video): New variable.
30059 (grub_multiboot_set_accepts_video): New function.
30060 (grub_multiboot_get_mbi_size): Account for video structures.
30061 (set_video_mode): New function.
30062 (retrieve_video_parameters): Likewise.
30063 (grub_multiboot_make_mbi): Fill video fields.
30064
0d90e8a6
VS
300652010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30066
30067 Video driver ids.
30068
30069 * include/grub/video.h (grub_video_driver_id): New type.
30070 (grub_video_adapter): New member 'id'. All users updated.
30071 (grub_video_get_driver_id): New proto.
30072 * video/video.c (grub_video_get_driver_id): New function.
30073
5c71db1b 300742010-01-14 Carles Pina i Estany <carles@pina.cat>
30075
30076 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
30077 `var=val'.
30078
cca15b52 300792010-01-14 Carles Pina i Estany <carles@pina.cat>
30080
30081 * normal/cmdline.c (print_completion): Gettextizze.
30082
c586fbb2 300832001-01-14 Carles Pina i Estany <carles@pina.cat>
30084
30085 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
30086
ba2f6848 300872010-01-14 Carles Pina i Estany <carles@pina.cat>
30088
30089 * gettext/gettext.c (grub_gettext_translate): Push and pop
30090 grub_errno.
30091 (grub_gettext_delete_list): Change comment style.
30092 * kern/err.c (grub_error): Gettextizze.
30093 (grub_fatal): Gettextizze.
30094
0a46429a
RM
300952010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30096
30097 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
30098 (grub_linux16_real_boot): ... this.
30099 * kern/i386/loader.S: Likewise.
30100 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
30101 (grub_linux16_boot): New function. Switches to text mode and calls
30102 grub_linux16_real_boot().
30103
30104 * loader/i386/bsd.c: Include `<grub/video.h>'.
30105 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
30106 text mode before calling grub_unix_real_boot().
30107
30108 * loader/i386/multiboot.c: Include `<grub/video.h>'.
30109 (grub_multiboot_boot): Switch to text mode before calling
30110 grub_relocator32_boot().
30111
30112 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
30113 (grub_chainloader_boot): Switch to text mode before calling
30114 grub_chainloader_real_boot().
30115
d6f93a66
RM
301162010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
301172010-01-05 Colin Watson <cjwatson@ubuntu.com>
30118
30119 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
30120 non-empty value.
30121
301222010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
301232010-01-05 Colin Watson <cjwatson@ubuntu.com>
30124
30125 * util/grub.d/00_header.in: Define a "savedefault" function for use
30126 in menu entries.
30127 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
30128
301292010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
301302010-01-05 Colin Watson <cjwatson@ubuntu.com>
30131
30132 * util/grub-mkconfig_lib.in (save_default_entry): Only set
30133 saved_entry if boot_once is unset.
30134 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
30135 previous saved entry (i.e. grub-reboot).
30136
301372009-12-08 Colin Watson <cjwatson@ubuntu.com>
30138
30139 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
30140
301412009-12-08 Colin Watson <cjwatson@ubuntu.com>
30142
30143 * util/grub.d/00_header.in: Use `set var=val' rather than plain
30144 `var=val'.
30145 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
30146
301472009-12-08 Colin Watson <cjwatson@ubuntu.com>
30148
30149 * util/grub-reboot.in: Fix --version output.
30150 * util/grub-set-default.in: Likewise.
30151
301522009-12-08 Colin Watson <cjwatson@ubuntu.com>
30153
30154 * util/grub.d/00_header.in: Silently ignore zero-sized environment
30155 blocks.
30156
301572009-12-08 Colin Watson <cjwatson@ubuntu.com>
30158
30159 * util/grub.d/00_header.in: Quote the value assigned to `default',
30160 in case it contains spaces.
30161
301622009-12-08 Colin Watson <cjwatson@ubuntu.com>
30163
30164 * util/grub.d/30_os-prober.in: Fix merge error that moved a
30165 `save_default_entry' call from the macosx case to the linux case.
30166
301672009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
301682009-10-25 Colin Watson <cjwatson@ubuntu.com>
30169
30170 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
30171 in `chosen' environment variable.
30172 * normal/menu_text.c (get_entry_number): Check if the variable
30173 matches the title of a menu entry.
30174 (run_menu): Pass menu to get_entry_number.
30175
30176 * util/grub-reboot.in: New file.
30177 * util/grub-set-default.in: New file.
30178 * conf/common.rmk (grub-reboot): New utility.
30179 (grub-set-default): New utility.
30180
30181 * util/grub-mkconfig_lib.in (save_default_entry): New function.
30182 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
30183 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
30184 move it to `saved_entry' for the next boot. Load environment on
30185 initialisation.
30186 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
30187 * util/grub.d/10_hurd.in: Likewise.
30188 * util/grub.d/10_linux.in (linux_entry): Likewise.
30189 * util/grub.d/10_windows.in: Likewise.
30190 * util/grub.d/30_os-prober.in: Likewise.
30191
30192 * util/grub-install.in: Create environment block.
30193 * util/i386/efi/grub-install.in: Likewise.
30194 * util/ieee1275/grub-install.in: Likewise.
30195 * util/sparc64/ieee1275/grub-install.in: Likewise.
30196
0934d184
BC
301972010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
30198
30199 Unit testing framework for GRUB.
30200
30201 * Makefile.in: Test framework build rules for 'make check'.
30202 * conf/tests.rmk: Build rules for individual tests and framework.
30203
30204 * include/grub/test.h: Header file for whitebox tests.
30205 * tests/lib/functional_test.c: Framework support for whitebox
30206 functional tests.
30207 * tests/lib/test.c: Common whitebox testing code for unit and
30208 functional tests.
30209 * tests/lib/unit_test.c: Framework support for whitebox unit
30210 tests.
30211
30212 * tests/util/grub-shell-tester.in: Support utility for grub-script
30213 tests.
30214 * tests/util/grub-shell.in: Utility to execute grub-script
30215 commands in a Qemu instance.
30216
30217 * tests/example_functional_test.c: Example whitebox functional
30218 test.
30219 * tests/example_grub_script_test.in: Example grub-script test.
30220 * tests/example_scripted_test.in: Example scripted test.
30221 * tests/example_unit_test.c: Example whitebox unit test.
30222
9c4ffeeb
VS
302232010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
30224
30225 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
30226 Add loader/i386/multiboot_mbi.c.
30227 (multiboot2_mod_SOURCES): Likewise.
30228 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
30229 (multiboot2_mod_SOURCES): Likewise.
30230 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
30231 (grub_multiboot_make_mbi): Likewise.
30232 (grub_multiboot_free_mbi): Likewise.
30233 (grub_multiboot_init_mbi): Likewise.
30234 (grub_multiboot_add_module): Likewise.
30235 (grub_multiboot_set_bootdev): Likewise.
30236 * loader/i386/multiboot.c (mbi): Removed.
30237 (mbi_dest): Likewise.
30238 (alloc_mbi): New variable.
30239 (grub_multiboot_payload_size): Removed. All users updated.
30240 (grub_multiboot_pure_size): New variable.
30241 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
30242 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
30243 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
30244 (grub_fill_multiboot_mmap): Likewise.
30245 (grub_multiboot_get_bootdev): Likewise.
30246 (grub_multiboot): Use multiboot_mbi functions.
30247 * loader/i386/multiboot_mbi.c: New file.
30248
17383dfe
VS
302492010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30250
30251 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
30252 it would result in module crash.
30253
c1f28820
VS
302542010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30255
30256 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
30257 (grub_ofconsole_getwh): Split to ...
30258 (grub_ofconsole_getwh): ... this.
30259 (grub_ofconsole_dimensions): ...and this.
30260 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
30261
58655a16
RM
302622010-01-13 Robert Millan <rmh.grub@aybabtu.com>
30263
30264 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
30265
10891398
VS
302662010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30267
30268 * loader/i386/pc/multiboot2.c: Removed stalled file.
30269
0b8a223c
VS
302702010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30271
30272 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
30273 Reported by: Grégoire Sutre
30274
92ab12b0
RM
302752010-01-11 Robert Millan <rmh.grub@aybabtu.com>
30276
30277 * util/misc.c (canonicalize_file_name): New function.
30278 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
30279 instead of realpath().
30280
a788afb6
CW
302812010-01-11 Colin Watson <cjwatson@ubuntu.com>
30282
30283 * util/grub-install.in (usage): Clarify meaning of --root-directory,
30284 and make it clearer that it's optional. Based on confusion
30285 witnessed on IRC.
30286
ffa8e3d2
VS
302872010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30288
30289 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
30290 in premature implicit newline.
30291
e9060a9d
VS
302922010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30293
30294 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
30295 which resulted in garbled command line at the end of screen.
30296
f0d0c0b7
RM
302972010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30298
30299 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
30300 initialization with similar approach as with other Linux loaders.
30301
0e60bae7
RM
303022010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30303
30304 Fix i386-ieee1275 build.
30305
30306 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
30307 and grub_term_height() for video_{width,height} initialization.
30308
303092010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
30310
30311 Fix grub-emu build.
30312
30313 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
30314
cdb3f378
RM
303152010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
303162010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30317
30318 Support for multiple terminals.
30319
30320 * Makefile.in (pkglib_DATA): terminal.lst.
30321 (terminal.lst): New target.
30322 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
30323 (GRUB_MOD_INIT(handler)): Likewise.
30324 (GRUB_MOD_FINI(handler)): Likewise.
30325 * commands/help.c (grub_cmd_help): Handle multiple terminals.
30326 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
30327 * commands/sleep.c (do_print): Use grub_term_restore_pos.
30328 (grub_cmd_sleep): Use grub_term_save_pos.
30329 * commands/terminal.c: New file.
30330 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
30331 commands/terminal.c and lib/charset.c.
30332 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
30333 (pkglib_MODULES): Add terminal.mod.
30334 (terminal_mod_SOURCES): New variable.
30335 (terminal_mod_CFLAGS): Likewise.
30336 (terminal_mod_LDFLAGS): Likewise.
30337 * genhandlerlist.sh: Don't handle terminals.
30338 * genmk.rb: Generate terminal-*.lst.
30339 * genterminallist.sh: New file.
30340 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
30341 (grub_is_valid_utf8): Likewise.
30342 (grub_utf8_to_ucs4_alloc): Likewise.
30343 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30344 (grub_menu_register_viewer): Changed argument.
30345 (grub_menu_try_text): New proto.
30346 (grub_gfxmenu_try_hook): New declaration.
30347 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30348 (grub_menu_init_page): Additional argument term.
30349 (grub_normal_init_page): Likewise.
30350 (grub_cmdline_get): Arguments simplified.
30351 (grub_utf8_to_ucs4_alloc): Removed.
30352 (grub_print_ucs4): Additional argument term.
30353 (grub_getstringwidth): Likewise.
30354 (grub_print_message_indented): Likewise.
30355 (grub_menu_text_register_instances): New proto.
30356 (grub_show_menu): Likewise.
30357 (read_terminal_list): Likewise.
30358 (grub_set_more): Likewise.
30359 * include/grub/parser.h: Include handler.h.
30360 * include/grub/reader.h: Rewritten.
30361 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30362 (GRUB_TERM_WIDTH): Changed to function.
30363 (GRUB_TERM_HEIGHT): Likewise.
30364 (GRUB_TERM_BORDER_WIDTH): Likewise.
30365 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30366 (GRUB_TERM_NUM_ENTRIES): Likewise.
30367 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30368 (GRUB_TERM_CURSOR_X): Likewise.
30369 (grub_term_input_class): Likewise.
30370 (grub_term_output_class): Likewise.
30371 (grub_term_outputs_disabled): New declaration.
30372 (grub_term_inputs_disabled): Likewise.
30373 (grub_term_outputs): Likewise.
30374 (grub_term_inputs): Likewise.
30375 (grub_term_register_input): Rewritten.
30376 (grub_term_register_output): Likewise.
30377 (grub_term_unregister_input): Likewise.
30378 (grub_term_unregister_output): Likewise.
30379 (FOR_ACTIVE_TERM_INPUTS): New macro.
30380 (FOR_DISABLED_TERM_INPUTS): Likewise.
30381 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30382 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30383 * include/grub/terminfo.h: Add oterm argument to all protypes.
30384 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30385 Use grub_rescue_run.
30386 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30387 All users updated.
30388 * kern/reader.c: Removed. All users updated.
30389 * kern/rescue_reader.c (grub_rescue_init): Removed.
30390 (grub_rescue_reader): Likewise.
30391 (grub_register_rescue_reader): Likewise.
30392 (grub_rescue_run): New function based on kern/reader.c.
30393 * kern/term.c: Adapted for multiterm.
30394 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30395 (grub_is_valid_utf8): Likewise.
30396 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30397 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30398 right terminal.
30399 * loader/i386/linux.c (grub_linux_boot): Likewise.
30400 * normal/auth.c (grub_username_get): New function.
30401 (grub_auth_check_authentication): Use grub_username_get.
30402 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30403 * normal/color.c: Adapt for multiterm.
30404 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30405 (grub_normal_init_page): Additional argument term.
30406 (read_lists): Call read_terminal_lists.
30407 (grub_enter_normal_mode): Call grub_cmdline_run.
30408 Handle grub_normal_exit_level.
30409 (grub_cmd_normal): Make reentrant.
30410 (grub_cmd_normal_exit): New function.
30411 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30412 * normal/menu.c: Adapt for multiterm.
30413 * normal/menu_entry.c: Likewise.
30414 * normal/menu_text.c: Likewise.
30415 * normal/menu_viewer.c: Removed. All users updated.
30416 * normal/term.c: New file.
30417 * util/console.c: Change order of includes to workaround a bug in
30418 ncurses headers.
30419 * term/terminfo.c: New argument oterm on all exported functions.
30420 All users updated.
30421 * util/grub-editenv.c (grub_term_input_class): Removed.
30422 (grub_term_output_class): Likewise.
30423
1a064917
RM
304242010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30425
30426 Make loader output a bit more user-friendly.
30427
30428 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30429 is being loaded. Likewise for the Hurd.
30430
30431 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30432 that kernel of FreeBSD ${version} is being loaded.
30433
30434 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30435 grub_dprintf().
30436 (grub_cmd_initrd): Likewise.
30437 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30438 that Linux ${version} is being loaded. Likewise for initrd.
30439
5ce0a83a 304402010-01-09 Carles Pina i Estany <carles@pina.cat>
30441
30442 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30443
809bbfeb 304442010-01-08 Carles Pina i Estany <carles@pina.cat>
30445
30446 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30447 (GRUB_MOD_INIT): Gettextizze.
30448 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30449 (GRUB_MOD_INIT): Gettextizze.
30450 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30451 (grub_cmd_linux): Capitalise Linux.
30452 (GRUB_MOD_INIT): Gettextizze.
30453 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30454 (grub_cmd_linux): Capitalise Linux.
30455 (GRUB_MOD_INIT): Gettextizze.
30456 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30457 (grub_cmd_linux): Capitalise Linux.
30458 (GRUB_MOD_INIT): Gettextizze.
30459 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30460 (GRUB_MOD_INIT): Gettextizze.
30461 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30462 (grub_cmd_linux): Capitalise Linux.
30463 (GRUB_MOD_INIT): Gettextizze.
30464 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30465 (grub_cpu_xnu_init): Gettextizze.
30466 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30467 (GRUB_MOD_INIT): Gettextizze.
30468 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30469 (GRUB_MOD_INIT): Gettextizze.
30470 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30471 (grub_linux_load64): Capitalise Linux.
30472 (GRUB_MOD_INIT): Gettextizze.
30473 * loader/xnu.c: Include `<grub/i18n.h>'.
30474 (GRUB_MOD_INIT): Gettextizze.
30475 * po/POTFILES: Add `loader/efi/appleloader.c',
30476 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
30477 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
30478 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
30479 `loader/i386/xnu.c', `loader/multiboot_loader.c',
30480 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
30481 and `loader/xnu.c'.
30482
b394b2ca
RM
304832010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30484
30485 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30486
304872010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
30488
30489 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30490 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30491 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30492
bc8b32b3
RM
304932010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30494
30495 Reset Multiboot 2 support. New loader implements the draft in
30496 /branches/multiboot2 and shares as much code as possible with the
30497 production Multiboot 1 implementation.
30498
30499 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30500 * loader/multiboot2.c: Likewise.
30501 * loader/i386/multiboot_helper.S: Likewise.
30502 * include/multiboot2.h: Replace with latest version from the draft
30503 in /branches/multiboot2.
30504
30505 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
30506 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
30507 and `loader/multiboot2.c'.
30508 (pkglib_MODULES): Add `multiboot2.mod'.
30509 (multiboot2_mod_SOURCES): New variable.
30510 (multiboot2_mod_LDFLAGS): Likewise.
30511 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
30512
30513 * conf/i386-pc.rmk: Likewise.
30514
30515 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30516 (multiboot_mod_SOURCES): Remove variable.
30517 (multiboot_mod_LDFLAGS): Likewise.
30518 (multiboot_mod_CFLAGS): Likewise.
30519
30520 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30521 `<multiboot2.h>' instead of `<multiboot.h>'.
30522 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30523 (MULTIBOOT_HEADER_MAGIC): New macros.
30524
30525 * loader/multiboot_loader.c (module_version_status): Remove variable.
30526 (find_multi_boot2_header): Remove function.
30527 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30528 logic. Always check for the Multiboot version we're compiling for.
30529 (grub_cmd_module_loader): Likewise.
30530 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30531 command instead of `multiboot'.
30532
5d2c52b8
RM
305332010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30534
30535 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30536 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30537 all users.
30538
53108d92
RM
305392010-01-07 Robert Millan <rmh.grub@aybabtu.com>
305402010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30541
30542 Fix breakage introduced with previous commit.
30543
30544 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30545 commands.
30546 * normal/handler.c (read_handler_list): Revert part of previous commit
30547 affecting this file.
30548 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30549 (grub_normal_execute): ... here.
30550
e2e936b2
RM
305512010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30552
30553 Merge prefix-redefinition-fix branch.
30554
30555 * normal/autofs.c (read_fs_list): Make function capable of being
30556 run multiple times, gracefuly replacing the previous data
30557 structures.
30558 * normal/dyncmd.c (read_command_list): Likewise.
30559 * normal/handler.c (read_handler_list): Likewise.
30560 * normal/main.c (read_lists): New function. Calls all the
30561 list reading functions.
30562 (grub_normal_execute): Use read_lists() instead of calling all
30563 list reading functions explicitly. Register read_lists() as a
30564 variable hook attached to ${prefix}.
30565
607a3701
VS
305662010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30567
30568 Merge crypto branch.
30569
30570 * Makefile.in (pkglib_DATA): Add crypto.lst.
30571 (crypto.lst): New target.
30572 * commands/hashsum.c: New file.
30573 * commands/password.c (check_password): Use grub_crypto_memcmp.
30574 * commands/password_pbkdf2.c: New file.
30575 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30576 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30577 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30578 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30579 -I$(srcdir)/lib/libgcrypt_wrap.
30580 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30581 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30582 password_pbkdf2.mod.
30583 (crypto_mod_SOURCES): New variable.
30584 (crypto_mod_CFLAGS): Likewise.
30585 (crypto_mod_LDFLAGS): Likewise.
30586 (hashsum_mod_SOURCES): New variable.
30587 (hashsum_mod_CFLAGS): Likewise.
30588 (hashsum_mod_LDFLAGS): Likewise.
30589 (pbkdf2_mod_SOURCES): New variable.
30590 (pbkdf2_mod_CFLAGS): Likewise.
30591 (pbkdf2_mod_LDFLAGS): Likewise.
30592 (password_pbkdf2_mod_SOURCES): New variable.
30593 (password_pbkdf2_mod_CFLAGS): Likewise.
30594 (password_pbkdf2_mod_LDFLAGS): Likewise.
30595 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30596 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30597 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30598 Include conf/gcry.rmk.
30599 * include/grub/auth.h: Rewritten.
30600 * include/grub/crypto.h: New file.
30601 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30602 * include/grub/normal.h (read_crypto_list): New prototype.
30603 * lib/crypto.c: New file.
30604 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30605 * lib/pbkdf2.c: Likewise.
30606 * normal/auth.c (grub_auth_strcmp): Removed.
30607 (grub_iswordseparator): Likewise.
30608 (grub_auth_strword): Likewise.
30609 (is_authenticated): Use grub_strword.
30610 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30611 and grub_strword. Pass entered password to authentication callback.
30612 * normal/crypto.c: New file.
30613 * normal/main.c: Call read_crypto_list.
30614 * util/grub-mkpasswd-pbkdf2.c: New file.
30615 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30616
42841caa
VS
306172010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30618
30619 Fix descent and ascent calculation.
30620
30621 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30622 (options): New option "asce".
30623 (usage): Likewise.
30624 (add_char): Ignore invalid glyphs for descent calculation.
30625 Calculate ascent from actual content.
30626 (print_glyphs): Use 'asce'.
30627 (write_font): Likewise. Allow ascent override.
30628 (main): Handle "asce" option.
30629
e7730de7 306302010-01-06 Carles Pina i Estany <carles@pina.cat>
30631
30632 * kern/err.c: Include `<grub/i18n.h>'.
30633 (grub_print_error): Add full stop. Gettextizze.
30634 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30635 (grub_bsd_load_elf): Capitalise ELF.
30636 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30637 (grub_cmd_freebsd_module): Likewise.
30638 (grub_cmd_freebsd_module_elf): Likewise.
30639 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30640
40e3a41f 306412010-01-06 Carles Pina i Estany <carles@pina.cat>
30642
30643 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30644 * commands/search_file.c (HELP_MESSAGE): New macro.
30645 * commands/search_label.c (HELP_MESSAGE): Likewise.
30646 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30647 * po/POTFILES: Add `commands/search_file.c',
30648 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30649 `commands/search.c'.
30650
83507e68
RM
306512010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30652
30653 * config.rpath: Update from Gnulib.
30654
465c787b
YB
306552010-01-05 Yves Blusseau <blusseau@zetam.org>
30656
30657 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30658
6581dd3a
YB
306592010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30660
30661 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30662
3bff18c5
CW
306632010-01-05 Colin Watson <cjwatson@ubuntu.com>
30664
30665 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30666 arguments to fread so that we get a return value in bytes, rather
30667 than something that will normally be rounded down to 0.
30668 Adjust error handling to avoid producing garbage when size_t is not
30669 the same size as long long.
30670
a1368118
CW
306712010-01-05 Colin Watson <cjwatson@ubuntu.com>
30672
30673 * util/mkisofs/write.c (padblock_write): Check return value of
30674 fread.
30675
7c302978
RM
306762010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30677
30678 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30679 floppy images now.
30680
30681 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30682
e33ace06
RM
306832010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30684
30685 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30686 instead of manual alignment.
30687 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30688 verbose). Avoid attempts to read past end of the device
30689 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30690 but GRUB_DISK_CACHE_SIZE may exceed that).
30691
4b856776
RM
306922010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30693
30694 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30695 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30696 it to upper layer.
30697
52c2d97f
VS
306982010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30699
30700 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30701 New constant.
30702 (grub_efi_piwg_device_path): New structure
30703 (grub_efi_piwg_device_path_t): New type.
30704 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30705 (devpath_1): Transform to a structure. All users updated.
30706 (devpath_2): Likewise.
30707 (devpath_3): Likewise.
30708 (devpath_4): Likewise.
30709 (devpath_5): Likewise.
30710
98ff6a54
VS
307112010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30712
30713 * loader/efi/appleloader.c: Restored. Update all users.
30714
3a73dcb6
RM
307152010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30716
30717 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30718
30719 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30720 (struct boot_blocklist): Move from here ...
30721 * include/grub/i386/pc/boot.h [ASM_FILE]
30722 (struct grub_boot_blocklist): ... to here. Update all users.
30723 (setup): Only initialize `start' member of `first_block'
30724 structure. Add assert() calls to verify the other members.
30725
30726 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30727 (generate_image): Fix broken blocklist length initialization.
30728 Add assert() call to verify blocklist `segment' field.
30729
ab0eeb0c
RM
307302010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30731
30732 * loader/efi/appleloader.c: Remove. Update all users.
30733
58bc8bd5
RM
307342010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30735
30736 * boot/i386/pc/boot.S: Update copyright year.
30737 * boot/i386/pc/cdboot.S: Likewise.
30738 * boot/i386/pc/diskboot.S: Likewise.
30739 * boot/i386/pc/lnxboot.S: Likewise.
30740 * boot/i386/pc/pxeboot.S: Likewise.
30741 * bus/pci.c: Likewise.
30742 * commands/cmp.c: Likewise.
30743 * commands/help.c: Likewise.
30744 * commands/hexdump.c: Likewise.
30745 * commands/i386/pc/halt.c: Likewise.
30746 * commands/i386/pc/play.c: Likewise.
30747 * commands/i386/pc/vbeinfo.c: Likewise.
30748 * commands/ls.c: Likewise.
30749 * commands/test.c: Likewise.
30750 * disk/dmraid_nvidia.c: Likewise.
30751 * disk/i386/pc/biosdisk.c: Likewise.
30752 * disk/ieee1275/nand.c: Likewise.
30753 * disk/ieee1275/ofdisk.c: Likewise.
30754 * disk/lvm.c: Likewise.
30755 * disk/raid.c: Likewise.
30756 * disk/raid6_recover.c: Likewise.
30757 * disk/scsi.c: Likewise.
30758 * fs/affs.c: Likewise.
30759 * fs/cpio.c: Likewise.
30760 * fs/ext2.c: Likewise.
30761 * fs/hfs.c: Likewise.
30762 * fs/iso9660.c: Likewise.
30763 * fs/ntfs.c: Likewise.
30764 * fs/sfs.c: Likewise.
30765 * fs/udf.c: Likewise.
30766 * fs/ufs.c: Likewise.
30767 * fs/xfs.c: Likewise.
30768 * gencmdlist.sh: Likewise.
30769 * genmk.rb: Likewise.
30770 * include/grub/disk.h: Likewise.
30771 * include/grub/efi/api.h: Likewise.
30772 * include/grub/efi/efi.h: Likewise.
30773 * include/grub/efi/pe32.h: Likewise.
30774 * include/grub/elf.h: Likewise.
30775 * include/grub/fs.h: Likewise.
30776 * include/grub/i386/at_keyboard.h: Likewise.
30777 * include/grub/i386/pc/memory.h: Likewise.
30778 * include/grub/i386/pc/vbe.h: Likewise.
30779 * include/grub/i386/pci.h: Likewise.
30780 * include/grub/i386/tsc.h: Likewise.
30781 * include/grub/ieee1275/ieee1275.h: Likewise.
30782 * include/grub/ntfs.h: Likewise.
30783 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30784 * include/grub/sparc64/libgcc.h: Likewise.
30785 * include/grub/symbol.h: Likewise.
30786 * include/grub/types.h: Likewise.
30787 * include/multiboot2.h: Likewise.
30788 * io/gzio.c: Likewise.
30789 * kern/device.c: Likewise.
30790 * kern/disk.c: Likewise.
30791 * kern/efi/efi.c: Likewise.
30792 * kern/efi/mm.c: Likewise.
30793 * kern/elf.c: Likewise.
30794 * kern/file.c: Likewise.
30795 * kern/i386/dl.c: Likewise.
30796 * kern/i386/pc/init.c: Likewise.
30797 * kern/i386/pc/startup.S: Likewise.
30798 * kern/ieee1275/ieee1275.c: Likewise.
30799 * kern/ieee1275/init.c: Likewise.
30800 * kern/main.c: Likewise.
30801 * kern/mm.c: Likewise.
30802 * kern/powerpc/dl.c: Likewise.
30803 * kern/sparc64/dl.c: Likewise.
30804 * kern/x86_64/dl.c: Likewise.
30805 * lib/hexdump.c: Likewise.
30806 * loader/efi/appleloader.c: Likewise.
30807 * loader/i386/ieee1275/linux.c: Likewise.
30808 * loader/i386/pc/chainloader.c: Likewise.
30809 * loader/i386/pc/linux.c: Likewise.
30810 * loader/i386/pc/multiboot2.c: Likewise.
30811 * loader/ieee1275/multiboot2.c: Likewise.
30812 * loader/multiboot2.c: Likewise.
30813 * loader/multiboot_loader.c: Likewise.
30814 * loader/powerpc/ieee1275/linux.c: Likewise.
30815 * normal/completion.c: Likewise.
30816 * normal/menu_entry.c: Likewise.
30817 * partmap/apple.c: Likewise.
30818 * util/grub.d/10_hurd.in: Likewise.
30819 * util/hostfs.c: Likewise.
30820 * video/readers/png.c: Likewise.
30821
e2d70b5c
CW
308222010-01-03 Colin Watson <cjwatson@ubuntu.com>
30823
30824 * include/grub/misc.h (GNUC_PREREQ): New macro.
30825 (ATTRIBUTE_ERROR): New macro.
30826 * include/grub/list.h (grub_bad_type_cast_real): Use
30827 ATTRIBUTE_ERROR.
30828
a173283f 308292010-01-03 Carles Pina i Estany <carles@pina.cat>
30830
30831 * normal/menu_text.c (print_message): Change messages.
30832
7fa7ff74 308332010-01-03 Carles Pina i Estany <carles@pina.cat>
30834
30835 * normal/menu_entry.c (store_completion): Gettextizze.
30836
136d24f6 308372010-01-03 Carles Pina i Estany <carles@pina.cat>
30838
30839 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30840
f936862e 308412010-01-03 Carles Pina i Estany <carles@pina.cat>
30842
30843 * po/POTFILES: Sort correctly.
30844
29c44ad1 308452010-01-03 Carles Pina i Estany <carles@pina.cat>
30846
30847 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30848 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30849 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30850 full stop.
30851 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30852 summary. Gettextizze the strings.
30853 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30854 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30855 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30856 full stop.
30857 (GRUB_MOD_INIT): Remove command name from summary.
30858 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30859 summary.
30860 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30861 * term/i386/pc/serial.c (options): Add full stops.
30862 (GRUB_MOD_INIT): Remove command name from the summary.
30863
77a79592 308642010-01-03 Carles Pina i Estany <carles@pina.cat>
30865
30866 * commands/acpi.c: Gettextizze help strings and/or options. Include
30867 `grub/i18n.h' if needed.
30868 * commands/blocklist.c: Likewise.
30869 * commands/boot.c: Likewise.
30870 * commands/cat.c: Likewise.
30871 * commands/cmp.c: Likewise.
30872 * commands/configfile.c: Likewise.
30873 * commands/crc.c: Likewise.
30874 * commands/date.c: Likewise.
30875 * commands/echo.c: Likewise.
30876 * commands/efi/fixvideo.c: Likewise.
30877 * commands/efi/loadbios.c: Likewise.
30878 * commands/gptsync.c: Likewise.
30879 * commands/halt.c: Likewise.
30880 * commands/handler.c: Likewise.
30881 * commands/hdparm.c: Likewise.
30882 * commands/hexdump.c: Likewise.
30883 * commands/i386/cpuid.c: Likewise.
30884 * commands/i386/pc/drivemap.c: Likewise.
30885 * commands/i386/pc/halt.c: Likewise.
30886 * commands/i386/pc/pxecmd.c: Likewise.
30887 * commands/i386/pc/vbeinfo.c: Likewise.
30888 * commands/i386/pc/vbetest.c: Likewise.
30889 * commands/ieee1275/suspend.c: Likewise.
30890 * commands/keystatus.c: Likewise.
30891 * commands/loadenv.c: Likewise.
30892 * commands/ls.c: Likewise.
30893 * commands/lsmmap.c: Likewise.
30894 * commands/lspci.c: Likewise.
30895 * commands/memrw.c: Likewise.
30896 * commands/minicmd.c: Likewise.
30897 * commands/parttool.c: Likewise.
30898 * commands/password.c: Likewise.
30899 * commands/probe.c: Likewise.
30900 * commands/read.c: Likewise.
30901 * commands/reboot.c: Likewise.
30902 * commands/search.c: Likewise.
30903 * commands/sleep.c: Likewise.
30904 * commands/test.c: Likewise.
30905 * commands/true.c: Likewise.
30906 * commands/usbtest.c: Likewise.
30907 * commands/videotest.c: Likewise.
30908 * commands/xnu_uuid.c: Likewise.
30909 * disk/loopback.c: Likewise.
30910 * hello/hello.c: Likewise.
30911 * loader/i386/bsd.c: Likewise.
30912 * term/i386/pc/serial.c: Likewise.
30913 * po/POTFILES: Add new files.
30914
da8d5c53
CW
309152010-01-02 Colin Watson <cjwatson@ubuntu.com>
30916
30917 * term/i386/pc/at_keyboard.c
30918 (keyboard_controller_wait_untill_ready): Rename to ...
30919 (keyboard_controller_wait_until_ready): ... this. Update all users.
30920
33937904 309212010-01-01 Carles Pina i Estany <carles@pina.cat>
30922
30923 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30924 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30925 string using string width.
30926 * normal/menu_text.c (grub_print_message_indented): Use
30927 grub_print_spaces and not print_spaces.
30928 (print_timeout): Likewise.
30929 (print_spaces): Move to...
30930 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30931
3fd3b8d8
RM
309322010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30933
30934 Import from Gnulib.
30935
30936 * gnulib/getdelim.c: New file.
30937 * gnulib/getline.c: Likewise.
30938
33433555
VS
309392009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30940
30941 * include/grub/list.h (grub_assert_fail): Removed.
30942 (grub_bad_type_cast_real): New function.
30943 (grub_bad_type_cast): New macro.
30944 (GRUB_AS_LIST): Use grub_bad_type_cast.
30945 (GRUB_AS_LIST_P): Likewise.
e44721e8 30946 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30947 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30948 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30949 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30950 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30951
f5a51306
VS
309522009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30953
30954 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30955 Fix syntax error.
30956
90d1e879
RM
309572009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30958
30959 * configure.ac: Check for TARGET_CFLAGS initialization before we
30960 initialize it ourselves (sigh).
30961 Move a few modifications to TARGET_CFLAGS to be unconditional
30962 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30963 eh_frame)
30964
30965 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30966 * term/i386/pc/at_keyboard.c
30967 (keyboard_controller_wait_untill_ready): Likewise.
30968 (keyboard_controller_led): Rename `led_status' paramter to avoid
30969 name conflict.
30970
465b5a81 309712009-12-28 Carles Pina i Estany <carles@pina.cat>
30972
30973 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30974 quotes.
30975
c181849b
VS
309762009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30977
30978 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30979
9c8739a4
VS
309802009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30981
30982 * normal/menu_text.c (grub_print_message_indented): Prevent
30983 past-the-end-of-array dereference.
30984
3e74249c
VS
309852009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30986
30987 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30988 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30989
64fd18ed 309902009-12-27 Carles Pina i Estany <carles@pina.cat>
30991
30992 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30993 * normal/main.c (grub_normal_read_line): Remove a space from the
30994 default prompt.
30995
714af9b9 309962009-12-27 Carles Pina i Estany <carles@pina.cat>
30997
30998 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30999 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31000 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31001 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31002 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31003 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31004 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31005
82f3e412 310062009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 31007
31008 * video/readers/jpeg.c (cmd): Declare.
31009 (grub_cmd_jpegtest): Use `grub_command_t' type.
31010 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31011 Assign to `cmd'.
31012 (GRUB_MOD_FINI): Use `cmd' to unregister.
31013 * video/readers/png.c (cmd): Declare.
31014 (grub_cmd_pngtest): Use `grub_command_t' type.
31015 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31016 Assign to `cmd'.
31017 (GRUB_MOD_FINI): Use `cmd' to unregister.
31018 * video/readers/tga.c (cmd): Declare.
31019 (grub_cmd_tgatest): Use `grub_command_t' type.
31020 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31021 Assign to `cmd'.
31022 (GRUB_MOD_FINI): Use `cmd' to unregister.
31023
82f3e412 310242009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 31025
31026 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
31027 stops.
31028 * kern/corecmd.c (grub_register_core_commands): Likewise.
31029 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
31030 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31031 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
31032 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31033 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31034 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
31035 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31036 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
31037 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31038 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31039 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31040 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31041 * normal/handler.c (insert_handler): Likewise.
31042 * normal/main.c (GRUB_MOD_INIT): Likewise.
31043 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
31044
fdcdbb66 310452009-12-26 Carles Pina i Estany <carles@pina.cat>
31046
31047 * commands/help.c (grub_cmd_help): Print the command name before the
31048 summary.
31049 (GRUB_MOD_INIT): Remove command name from the summary.
31050 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 31051 string as summary.
fdcdbb66 31052 * lib/arg.c (find_long): Print the command name before the summary.
31053 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
31054 summary.
31055 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
31056 * commands/cat.c (GRUB_MOD_INIT): Likewise.
31057 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
31058 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31059 * commands/crc.c (GRUB_MOD_INIT): Likewise.
31060 * commands/date.c (GRUB_MOD_INIT): Likewise.
31061 * commands/echo.c (GRUB_MOD_INIT): Likewise.
31062 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
31063 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31064 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31065 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
31066 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
31067 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
31068 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
31069 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31070 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
31071 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
31072 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
31073 * commands/ls.c (GRUB_MOD_INIT): Likewise.
31074 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31075 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31076 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31077 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
31078 * commands/password.c (GRUB_MOD_INIT): Likewise.
31079 * commands/probe.c (GRUB_MOD_INIT): Likewise.
31080 * commands/read.c (GRUB_MOD_INIT): Likewise.
31081 * commands/search.c (GRUB_MOD_INIT): Likewise.
31082 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
31083 * commands/test.c (GRUB_MOD_INIT): Likewise.
31084 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
31085 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
31086 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
31087 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
31088 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
31089 * lib/arg.c (GRUB_MOD_INIT): Likewise.
31090 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
31091 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31092 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31093 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31094 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
31095 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
31096 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
31097 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
31098
9c288be2
VS
310992009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31100
31101 Use search command for preliminar UUID search.
31102
31103 * commands/search.c: Split into ...
31104 * commands/search_wrap.c: ...this
31105 * commands/search.c: ...and this.
31106 * commands/search_file.c: New file.
31107 * commands/search_label.c: New file.
31108 * commands/search_uuid.c: New file.
31109 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
31110 Add commands/search_wrap.c, commands/search_file.c,
31111 commands/search_label.c and commands/search_uuid.c.
31112 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
31113 (search_mod_SOURCES): Set to commands/search_wrap.c.
31114 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
31115 search_label.mod.
31116 (search_fs_file_mod_SOURCES): New variable.
31117 (search_fs_file_mod_CFLAGS): Likewise.
31118 (search_fs_file_mod_LDFLAGS): Likewise.
31119 (search_label_mod_SOURCES): Likewise.
31120 (search_label_mod_CFLAGS): Likewise.
31121 (search_label_mod_LDFLAGS): Likewise.
31122 (search_fs_uuid_mod_SOURCES): New variable.
31123 (search_fs_uuid_mod_CFLAGS): Likewise.
31124 (search_fs_uuid_mod_LDFLAGS): Likewise.
31125 (fs_file_mod_SOURCES): Removed.
31126 (fs_file_mod_CFLAGS): Likewise.
31127 (fs_file_mod_LDFLAGS): Likewise.
31128 (fs_uuid_mod_SOURCES): Removed.
31129 (fs_uuid_mod_CFLAGS): Likewise.
31130 (fs_uuid_mod_LDFLAGS): Likewise.
31131 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
31132 Set to util/grub-install.in.
31133 * disk/fs_file.c: Removed.
31134 * disk/fs_uuid.c: Likewise.
31135 * include/grub/search.h: New file.
31136 * util/grub-install.in: Handle sparc64.
31137 Create and use load.cfg.
31138 * util/sparc64/ieee1275/grub-install.in: Removed.
31139
db943399
VS
311402009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31141
31142 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
31143 Ignore return status if CF is cleared.
31144 (grub_biosdisk_get_diskinfo_standard): Likewise.
31145
3fdae612
RM
311462009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31147
31148 * term/i386/pc/at_keyboard.c
31149 (keyboard_controller_wait_untill_ready): New function.
31150 (grub_keyboard_controller_write, grub_keyboard_controller_read)
31151 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
31152 for keyboard polling, rather than duplicate the same loop. This
31153 saves a few bytes in code size.
31154
7ebaa2b4
VS
311552009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31156
31157 Support for (pxe[:server[:gateway]]) syntax and
31158 use environment variable for PXE.
31159
31160 * commands/i386/pc/pxecmd.c (options): Removed.
31161 (print_ip): Removed.
31162 (grub_cmd_pxe): Removed
31163 (grub_cmd_pxe_unload): New function.
31164 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
31165 (grub_pxe_your_ip): Made static.
31166 (grub_pxe_default_server_ip): Likewise.
31167 (grub_pxe_default_gateway_ip): Likewise.
31168 (grub_pxe_blksize): Likewise.
31169 (parse_ip): New function.
31170 (grub_pxe_open): Support server and gateway specification.
31171 (grub_pxe_close): Free disk->data.
31172 (grub_pxefs_open): Use disk->data.
31173 (grub_pxefs_read): Likewise.
31174 (grub_env_write_readonly): New function.
31175 (set_mac_env): Likewise.
31176 (set_env_limn_ro): Likewise.
31177 (parse_dhcp_vendor): Likewise.
31178 (grub_pxe_detect): Set the environment variables.
31179 (set_ip_env): New function.
31180 (write_ip_env): Likewise.
31181 (grub_env_write_pxe_default_server): Likewise.
31182 (grub_env_write_pxe_default_gateway): Likewise.
31183 (grub_env_write_pxe_blocksize): Likewise.
31184 (GRUB_MOD_INIT(pxe)): Set environment variables.
31185 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
31186 (grub_pxe_mac_addr_t): ... this. All users updated.
31187 (grub_pxe_your_ip): Removed.
31188 (grub_pxe_server_ip): Likewise.
31189 (grub_pxe_gateway_ip): Likewise.
31190 (grub_pxe_blksize): Likewise.
31191
ec5f98ab 311922009-12-25 Carles Pina i Estany <carles@pina.cat>
31193
31194 * commands/help.c: Include `<grub/i18n.h>'.
31195 (grub_cmd_help): Gettextizze.
31196 (GRUB_MOD_INIT): Likewise.
31197 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
31198 (GRUB_MOD_INIT): Gettextizze.
31199 * commands/search.c: Include `<grub/i18n.h>'.
31200 (options): Gettextizze.
31201 (GRUB_MOD_INIT): Gettextizze.
31202 * lib/arg.c: Include `<grub/i18n.h>'.
31203 (help_options): Gettextizze.
31204 (find_long): Likewise.
31205 (grub_arg_show_help): Likewise.
31206 * normal/dyncmd.c: Include `<grub/i18n.h>'.
31207 (read_command_list): Gettextizze.
31208 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 31209 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 31210
22815526
RM
312112009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31212
31213 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
31214 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
31215 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
31216 (led_status): New variable.
31217 (keyboard_controller_led): New function.
31218 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
31219 update led status for caps lock, num lock and scroll lock.
31220
0ad46fd7
FZ
312212009-12-25 Felix Zielcke <fzielcke@z-51.de>
31222
31223 * util/hostdisk.c (open_device): Fix a comment.
31224
d0e158c2
RM
312252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31226
31227 * util/grub-install.in (host_os): New variable.
31228 * util/i386/efi/grub-install.in (host_os): Likewise.
31229
401c0ad6
RM
312302009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31231
31232 * util/mkisofs/write.c (padblock_write): Abort when given an
31233 excedingly large embed image, instead of silently truncating it.
31234
d14d3370
RM
312352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31236
31237 * include/multiboot.h: Indentation fixes.
31238
eeed10b4
RM
312392009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31240
31241 * include/multiboot.h (struct multiboot_aout_symbol_table)
31242 (struct multiboot_elf_section_header_table): New structure
31243 declarations (stolen from GRUB Legacy).
31244 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
31245 table information.
31246
31247 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
31248 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
31249 type aliases.
31250
681c70ab
RM
312512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31252
31253 * include/multiboot.h: Make comments src2texi-friendly.
31254
e4d47d8d
RM
312552009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31256
31257 For consistency with [multiboot]/docs/boot.S.
31258
31259 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
31260 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
31261 (MULTIBOOT_MAGIC2): Rename from this ...
31262 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
31263
a0b70bda
RM
312642009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31265
31266 * include/multiboot.h: Remove `<grub/types.h>'.
31267 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
31268 types. Update all users.
31269
61ba42be 312702009-12-25 Carles Pina i Estany <carles@pina.cat>
31271
31272 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
31273 `couldn't' and `can not' by `cannot'.
31274 * commands/i386/pc/drivemap.c: Likewise.
31275 * disk/ata.c: Likewise.
31276 * disk/ieee1275/nand.c: Likewise.
31277 * fs/affs.c: Likewise.
31278 * fs/fat.c: Likewise.
31279 * fs/hfs.c: Likewise.
31280 * fs/hfsplus.c: Likewise.
31281 * fs/iso9660.c: Likewise.
31282 * fs/jfs.c: Likewise.
31283 * fs/minix.c: Likewise.
31284 * fs/reiserfs.c: Likewise.
31285 * fs/sfs.c: Likewise.
31286 * fs/udf.c: Likewise.
31287 * fs/ufs.c: Likewise.
31288 * fs/xfs.c: Likewise.
31289 * loader/powerpc/ieee1275/linux.c: Likewise.
31290 * loader/sparc64/ieee1275/linux.c: Likewise.
31291 * util/grub-probe.c: Likewise.
31292 * util/misc.c: Likewise.
31293
7fd0baee 312942009-12-24 Carles Pina i Estany <carles@pina.cat>
31295
31296 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
31297 grub_errno calls.
31298 * commands/acpi.c: Likewise.
31299 * commands/blocklist.c: Likewise.
31300 * commands/efi/loadbios.c: Likewise.
31301 * commands/i386/pc/drivemap.c: Likewise.
31302 * commands/loadenv.c: Likewise.
31303 * commands/memrw.c: Likewise.
31304 * commands/password.c: Likewise.
31305 * commands/videotest.c: Likewise.
31306 * disk/ata.c: Likewise.
31307 * disk/ata_pthru.c: Likewise.
31308 * disk/dmraid_nvidia.c: Likewise.
31309 * disk/ieee1275/nand.c: Likewise.
31310 * disk/ieee1275/ofdisk.c: Likewise.
31311 * disk/loopback.c: Likewise.
31312 * disk/lvm.c: Likewise.
31313 * disk/mdraid_linux.c: Likewise.
31314 * disk/raid.c: Likewise.
31315 * disk/raid6_recover.c: Likewise.
31316 * disk/scsi.c: Likewise.
31317 * efiemu/main.c: Likewise.
31318 * efiemu/mm.c: Likewise.
31319 * efiemu/pnvram.c: Likewise.
31320 * efiemu/symbols.c: Likewise.
31321 * font/font.c: Likewise.
31322 * fs/cpio.c: Likewise.
31323 * fs/hfsplus.c: Likewise.
31324 * fs/iso9660.c: Likewise.
31325 * fs/jfs.c: Likewise.
31326 * fs/minix.c: Likewise.
31327 * fs/ntfs.c: Likewise.
31328 * fs/ntfscomp.c: Likewise.
31329 * fs/reiserfs.c: Likewise.
31330 * fs/ufs.c: Likewise.
31331 * fs/xfs.c: Likewise.
31332 * gettext/gettext.c: Likewise.
31333 * include/grub/auth.h: Likewise.
31334 * kern/elf.c: Likewise.
31335 * kern/file.c: Likewise.
31336 * kern/ieee1275/init.c: Likewise.
31337 * kern/ieee1275/mmap.c: Likewise.
31338 * kern/ieee1275/openfw.c: Likewise.
31339 * kern/powerpc/dl.c: Likewise.
31340 * kern/sparc64/dl.c: Likewise.
31341 * lib/arg.c: Likewise.
31342 * loader/i386/bsd.c: Likewise.
31343 * loader/i386/bsdXX.c: Likewise.
31344 * loader/i386/efi/linux.c: Likewise.
31345 * loader/i386/efi/xnu.c: Likewise.
31346 * loader/i386/ieee1275/linux.c: Likewise.
31347 * loader/i386/linux.c: Likewise.
31348 * loader/i386/multiboot.c: Likewise.
31349 * loader/i386/pc/linux.c: Likewise.
31350 * loader/i386/pc/multiboot2.c: Likewise.
31351 * loader/i386/xnu.c: Likewise.
31352 * loader/ieee1275/multiboot2.c: Likewise.
31353 * loader/macho.c: Likewise.
31354 * loader/machoXX.c: Likewise.
31355 * loader/multiboot2.c: Likewise.
31356 * loader/multiboot_loader.c: Likewise.
31357 * loader/powerpc/ieee1275/linux.c: Likewise.
31358 * loader/sparc64/ieee1275/linux.c: Likewise.
31359 * loader/xnu.c: Likewise.
31360 * loader/xnu_resume.c: Likewise.
31361 * mmap/i386/pc/mmap.c: Likewise.
31362 * normal/menu_viewer.c: Likewise.
31363 * partmap/acorn.c: Likewise.
31364 * partmap/amiga.c: Likewise.
31365 * partmap/apple.c: Likewise.
31366 * script/lexer.c: Likewise.
31367 * term/gfxterm.c: Likewise.
31368 * term/i386/pc/serial.c: Likewise.
31369 * term/i386/pc/vga.c: Likewise.
31370 * term/ieee1275/ofconsole.c: Likewise.
31371 * term/terminfo.c: Likewise.
31372 * video/bitmap.c: Likewise.
31373 * video/efi_gop.c: Likewise.
31374 * video/efi_uga.c: Likewise.
31375 * video/fb/video_fb.c: Likewise.
31376 * video/i386/pc/vbe.c: Likewise.
31377 * video/readers/tga.c: Likewise.
31378 * video/video.c: Likewise.
31379
0ad46fd7 313802009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
31381
31382 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31383 * commands/lspci.c: Likewise.
31384 * commands/probe.c: Likewise.
31385 * commands/xnu_uuid.c: Likewise.
31386 * conf/i386-coreboot.rmk: Likewise.
31387 * conf/i386-efi.rmk: Likewise.
31388 * conf/i386-ieee1275.rmk: Likewise.
31389 * conf/i386-pc.rmk: Likewise.
31390 * conf/powerpc-ieee1275.rmk: Likewise.
31391 * conf/sparc64-ieee1275.rmk: Likewise.
31392 * conf/x86_64-efi.rmk: Likewise.
31393 * fs/i386/pc/pxe.c: Likewise.
31394 * gettext/gettext.c: Likewise.
31395 * include/grub/efi/graphics_output.h: Likewise.
31396 * include/grub/i386/pc/memory.h: Likewise.
31397 * kern/env.c: Likewise.
31398 * kern/i386/qemu/startup.S: Likewise.
31399 * lib/i386/pc/biosnum.c: Likewise.
31400 * lib/i386/relocator.c: Likewise.
31401 * lib/i386/relocator_asm.S: Likewise.
31402 * lib/relocator.c: Likewise.
31403 * loader/i386/bsd.c: Likewise.
31404 * loader/i386/multiboot.c: Likewise.
31405 * loader/i386/pc/chainloader.c: Likewise.
31406 * loader/i386/xnu.c: Likewise.
31407 * loader/xnu.c: Likewise.
31408 * normal/main.c: Likewise.
31409 * normal/menu_text.c: Likewise.
31410 * util/getroot.c: Likewise.
31411 * util/grub-mkconfig_lib.in: Likewise.
31412 * util/grub.d/00_header.in: Likewise.
31413 * util/i386/pc/grub-mkimage.c: Likewise.
31414 * util/mkisofs/eltorito.c: Likewise.
31415 * util/mkisofs/exclude.h: Likewise.
31416 * util/mkisofs/hash.c: Likewise.
31417 * util/mkisofs/iso9660.h: Likewise.
31418 * util/mkisofs/joliet.c: Likewise.
31419 * util/mkisofs/mkisofs.c: Likewise.
31420 * util/mkisofs/mkisofs.h: Likewise.
31421 * util/mkisofs/multi.c: Likewise.
31422 * util/mkisofs/name.c: Likewise.
31423 * util/mkisofs/rock.c: Likewise.
31424 * util/mkisofs/tree.c: Likewise.
31425 * util/mkisofs/write.c: Likewise.
31426 * video/efi_gop.c: Likewise.
31427
009ec743
VS
314282009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31429
31430 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31431 size counting.
31432
0ad46fd7 314332009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
31434
31435 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31436 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31437
d3d30ea0
VS
314382009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31439
31440 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31441 (GRUB_MOD_INIT(memrw)): Update help line.
31442
a34f5c70
VS
314432009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31444
31445 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31446 Use grub_extcmd_t. All users updated.
31447 (options): New variable.
31448 (grub_cmd_read): Restructure for readability. Support "-v" option.
31449 (grub_cmd_write): Restructure for readability.
31450
0ad46fd7 314512009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
31452
31453 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31454
0ad46fd7 314552009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
31456
31457 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31458 with the actual contents of the correspondending make variable.
31459 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31460 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31461 specifying `*.lst' and `efiemu??.o'
31462
0ad46fd7 314632009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
31464
31465 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31466 after function name.
31467 Noticed by Rene Engelhard <rene@debian.org>.
31468
dc77a799
VS
314692009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31470
31471 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
31472 (options): New variable.
31473 (iospace): Likewise.
31474 (grub_lspci_iter): List IO spaces if "-i" was given.
31475 (grub_cmd_lspci): Parse options.
31476 (GRUB_MOD_INIT(lspci)): Use extcmd.
31477 (GRUB_MOD_FINI(lspci)): Likewise.
31478
0ad46fd7 314792009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
31480
31481 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
31482 `function' keyword.
31483 Patch by Tony Mancill <tmancill@debian.org>.
31484
b5d5993b
VS
314852009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31486
31487 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31488 (grub_uhci_portstatus): Likewise.
31489 (grub_uhci_portstatus): Add necessary delay.
11d18281 31490 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 31491
941903f2 314922009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 31493
941903f2 31494 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31495 (GRUB_MOD_INIT): Likewise.
31496 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 31497 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31498 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 31499 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31500 (enable_rom_area): Likewise.
31501 (GRUB_MOD_INIT): Likewise.
31502 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31503 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
31504 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31505 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
31506 * commands/hexdump.c (options): Likewise.
31507 * commands/i386/cpuid.c (options): Likewise.
31508 (GRUB_MOD_INIT): Likewise.
31509 * commands/i386/pc/drivemap.c (options): Likewise.
31510 (GRUB_MOD_INIT): Likewise.
31511 * commands/i386/pc/halt (options): Likewise.
31512 (GRUB_MOD_INIT): Likewise.
31513 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31514 * commands/i386/pc/pxecmd.c (options): Likewise.
31515 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31516 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31517 * commands/keystatus.c (options): Likewise.
31518 (GRUB_MOD_INIT): Likewise.
31519 * commands/loadenv.c (options): Likewise.
31520 * commands/ls.c (options): Likewise.
31521 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31522 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31523 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31524 * commands/parttool.c (helpmsg): Likewise.
31525 * commands/probe.c (options): Likewise.
31526 * commands/read.c (GRUB_MOD_INIT): Likewise.
31527 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31528 * commands/search.c (options): Likewise.
31529 * commands/sleep.c (options): Likewise.
31530 * commands/test.c (GRUB_MOD_INIT): Likewise.
31531 * commands/true.c (GRUB_MOD_INIT): Likewise.
31532 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31533 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31534 * lib/arg.c (help_options): Likewise.
e9bbb4e7 31535 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31536 `$(XGETTEXT)'.
98a50553 31537 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 31538
0ad46fd7 315392009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 31540
ef3c2c3a 31541 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
31542 instead of specifying them explicit.
31543
7922f68b
RM
315442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31545
31546 * NEWS: Add grub-probe support for GNU/Hurd.
31547
537ce47f
RM
315482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31549
31550 * NEWS: gettext was added after 1.97.
31551
9b214e3a
RM
315522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31553
31554 * util/mkisofs/msdos_partition.h: New file (based on
31555 include/grub/msdos_partition.h).
31556 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31557 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31558 (ld_options, main): Recognize --protective-msdos-label.
31559 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31560 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
31561 (padblock_write): If `use_protective_msdos_label' is set, patch a
31562 protective DOS-style label in the output image.
31563
31564 * util/grub-mkrescue.in: Use --protective-msdos-label.
31565
e9309813
RM
315662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31567
31568 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31569 boot.
31570
0ae56929
RM
315712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31572
31573 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31574 variables.
31575 (ld_options, main): Recognize `--embedded-boot'.
31576 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31577 declarations.
31578 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31579 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31580 (padblock_write): Likewise. Rewrite to support embedded boot image.
31581
31582 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31583 for BIOS-based disk boot instead of only ElTorito.
31584
b15937b1
RM
315852009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31586
31587 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31588 build (not needed for bootstrap).
31589
52cc3ce0
RM
315902009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31591
31592 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31593 from i386-pc build (not needed for bootstrap).
31594 Rewrite a pair of strings.
31595
36f5ff04
RM
315962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31597
31598 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31599
973c6c85 316002009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
31601
31602 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31603
05d21547
AB
316042009-12-21 Andreas Born <futur.andy@googlemail.com>
31605
31606 * kern/env.c (grub_env_context_open): Mark exported variable for
31607 reexport.
31608
0175d51f
AB
316092009-12-21 Andreas Born <futur.andy@googlemail.com>
31610
31611 * kern/env.c (grub_env_export): Create nonexistent variables before
31612 exporting.
31613
7f39d92f 316142009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 31615
7f39d92f 31616 * include/grub/auth.h: Include `<grub/i18n.h>'.
31617 (GRUB_GET_PASSWORD): Gettextizze string.
31618 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31619 menu_text.c.
31620 (grub_utf8_to_ucs4_alloc): Fix indentation.
31621 (grub_print_ucs4): Likewise.
31622 (grub_getstringwidth): Likewise.
31623 (print_message_indented): New declaration.
31624 * normal/auth.c: Include `<grub/i18n.h>'.
31625 (grub_auth_check_authentication): Gettexttize string.
31626 * normal/cmdline.c: Include `<grub/i18n.h>'.
31627 (grub_cmdline_get): Gettextizze.
31628 * normal/color.c: Include `<grub/i18n.h>'.
31629 (grub_parse_color_name_pair): Gettexttize strings.
31630 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31631 string (use `print_message_indented').
31632 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31633 `include/grub/normal.h'.
31634 (print_message_indented): Renamed to ...
31635 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31636 used in normal/main.c).
31637 (print_message): Use `grub_print_message_indented' instead of
31638 `print_message_indented'.
31639 (print_timeout): Likewise.
31640 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31641 (grub_normal_print_device_info): Gettexttize strings.
31642 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31643
3041d898
VS
316442009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31645
31646 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31647 of arguments. Return number of tokens and not arguments. All users
31648 updated.
31649
de15bf8e
VS
316502009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31651
31652 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31653 non-MSDOS paritions.
31654
e0a6ca52
VS
316552009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31656
31657 * include/grub/types.h (UNUSED): Removed since it conflicts with
31658 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31659 Reported by Grégoire Sutre.
31660
b99518d1 316612009-12-19 Carles Pina i Estany <carles@pina.cat>
31662
31663 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31664 (grub_print_ucs4_alloc): Likewise.
31665 (grub_getstringwidth): Likewise.
31666 * normal/main.c (grub_normal_init_page): Gettextize version string.
31667 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31668 (getstringwidth): Renamed to ...
31669 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31670 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31671 (grub_print_ucs4): Remove `static' qualifer (now used in
31672 normal/main.c).
31673 * po/POTFILES: Add normal/main.c.
31674
bfd5e52b 316752009-12-19 Carles Pina i Estany <carles@pina.cat>
31676
31677 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31678 (print_message_indented): Add `margin_left' and `margin_right'
31679 parameters.
31680 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31681 strings.
31682 (print_timeout): Use `print_message_indented' to print the message.
31683 Deletes `second_stage' parameter.
31684 (run_menu): Update `print_timeout' calls.
31685
5a1ad2b9
VS
316862009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31687
31688 Fix console palette on OpenFirmware.
31689
31690 * term/ieee1275/ofconsole.c (MAX): Removed.
31691 (colors): Redone based on VGA palette.
31692 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31693 colors are supported.
31694 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31695
b045f00a
VS
316962009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31697
31698 Fix potential EfiEmu double prepare.
31699
31700 * efiemu/main.c (prepared): New variable
31701 (grub_efiemu_unload): Set prepare to '0'.
31702 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31703
31704 set_virtual_address_map support.
31705
31706 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31707 prototype.
31708 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31709 prototype.
31710 (grub_efiemu_crc32): Likewise.
31711 (grub_efiemu_crc64): Likewise.
31712 (grub_efiemu_set_virtual_address_map): Likewise.
31713 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31714 New definition.
31715 (grub_autoefi_set_virtual_address_map): Likewise.
31716 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31717 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31718 Restructure flow to accomodate it.
31719 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31720 (grub_efiemu_crc): Recompute CRC32.
31721 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31722 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31723 * efiemu/symbols.c (relocated_handle): New variable.
31724 (grub_efiemu_free_syms): Free relocated_handle.
31725 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31726 (grub_efiemu_write_sym_markers): New function.
31727 (grub_efiemu_set_virtual_address_map): Likewise.
31728
31729 Newer XNU parameters.
31730
31731 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31732 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31733 (grub_xnu_fill_devicetree): New prototype.
31734 (grub_xnu_heap_real_start): New variable.
31735 * loader/xnu.c (get_name_ptr): New function.
31736 (grub_xnu_load_driver): Fill namelen and name.
31737
31738 64-bit xnu support.
31739
31740 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31741 and 'loader/macho64.c'.
31742 * conf/i386-pc.rmk: Likewise.
31743 * conf/x86_64-efi.rmk: Likewise.
31744 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31745 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31746 * include/grub/macho.h (grub_macho_segment64): New structure.
31747 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31748 (grub_macho_size32): ... to this.
31749 (grub_macho32_get_entry_point): Renamed from ...
31750 (grub_macho_get_entry_point32): ... to this.
31751 (grub_macho_contains_macho64): New prototype.
31752 (grub_macho_size64): Likewise.
31753 (grub_macho_get_entry_point64): Likewise.
31754 (grub_macho32_load): Renamed from ...
31755 (grub_macho_load32): ... to this.
31756 (grub_macho32_filesize): Renamed from ...
31757 (grub_macho_filesize32): ... to this.
31758 (grub_macho32_readfile): Renamed from ...
31759 (grub_macho_readfile32): ... to this.
31760 (grub_macho_filesize64): New prototype.
31761 (grub_macho_readfile64): Likewise.
31762 (grub_macho_parse32): Likewise.
31763 (grub_macho_parse64): Likewise.
31764 * loader/macho.c: Split into ...
31765 * loader/machoXX.c: ... and this. Replace 32 with XX.
31766 * loader/macho32.c: New file.
31767 * loader/macho64.c: Likewise.
31768 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31769 (grub_cmd_xnu_kernel): Make 32-bit only.
31770 (grub_cmd_xnu_kernel64): New function.
31771 (grub_xnu_load_driver): Support Mach-O 64.
31772 (grub_cmd_xnu_mkext): Likewise.
31773 * util/grub.d/30_os-prober.in (osx_entry): New function.
31774 Generate entries for 64-bit boot too.
31775
31776 Eliminate ad-hoc tree format in XNU and EfiEmu.
31777
31778 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31779 * efiemu/pnvram.c: Rewritten to use environment variables.
31780 All users updated.
31781
31782 Inline utf16_to_utf8.
31783
31784 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31785 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31786 All users updated.
31787 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31788
31789 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31790 * commands/usbtest.c (grub_usb_get_string): ... move here.
31791 (usb_print_str): Fix error handling.
31792 * include/grub/usb.h (grub_usb_get_string): Remove.
31793
31794 UTF-8 to UTF-16 transformation.
31795
31796 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31797 (charset_mod_SOURCES): New variable.
31798 (charset_mod_CFLAGS): Likewise.
31799 (charset_mod_LDFLAGS): Likewise.
31800 * include/grub/utf.h: New file.
31801 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31802
31803 Support for device properties.
31804
31805 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31806 (grub_xnu_devprop_device_header): Likewise.
31807 (grub_xnu_devprop_device_descriptor): Likewise.
31808 (grub_xnu_devprop_add_device): New prototype.
31809 (grub_xnu_devprop_remove_device): Likewise.
31810 (grub_xnu_devprop_remove_property): Likewise.
31811 (grub_xnu_devprop_add_property_utf8): Likewise.
31812 (grub_xnu_devprop_add_property_utf16): Likewise.
31813 (grub_cpu_xnu_init): Likewise.
31814 (grub_cpu_xnu_fini): Likewise.
31815 (grub_cpu_xnu_unload): Likewise.
31816 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31817 (property_descriptor): Likewise.
31818 (devices): New variable.
31819 (grub_xnu_devprop_remove_property): New function.
31820 (grub_xnu_devprop_add_device): Likewise.
31821 (grub_xnu_devprop_remove_device): Likewise.
31822 (grub_xnu_devprop_add_property): Likewise.
31823 (grub_xnu_devprop_add_property_utf8): Likewise.
31824 (grub_xnu_devprop_add_property_utf16): Likewise.
31825 (hextoval): Likewise.
31826 (grub_cpu_xnu_fill_devprop): Likewise.
31827 (grub_cmd_devprop_load): Likewise.
31828 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31829 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31830 (cmd_devprop_load): New variable.
31831 (grub_cpu_xnu_init): New function.
31832 (grub_cpu_xnu_fini): Likewise.
31833 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31834 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31835 (grub_cmd_xnu_devtree): Likewise.
31836 (hextoval): New function.
31837 (unescape): Likewise.
31838 (grub_xnu_fill_devicetree): Likewise.
31839
31840 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31841 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31842
0945f181
VS
318432009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31844
31845 Workaround for broken ATI VBE.
31846
31847 * video/i386/pc/vbe.c (last_set_mode): New variable.
31848 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31849 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31850 (grub_video_vbe_setup): Don't check for reserved flag.
31851
0ad46fd7 318522009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31853
31854 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31855 the `find' command.
31856
c179ebe4
VS
318572009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31858
31859 UUID support for HFS.
31860
31861 * fs/hfs.c (grub_hfs_uuid): New function.
31862 (grub_hfs_fs): New value .uuid.
31863 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31864
0ad46fd7 318652009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31866
31867 Fix a segfault with parsing unknown long options.
31868
31869 * util/grub-mkrelpath.c (options): Zero terminate it.
31870
c4a3e41a
CPE
318712009-12-13 Carles Pina i Estany <carles@pina.cat>
31872
31873 * include/grub/misc.h (grub_puts): New declaration.
31874 (grub_puts_): Likewise.
a22008a6 31875 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31876 (grub_puts_): Likewise.
31877
2e8a7602
RM
318782009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31879
31880 * util/grub-probe.c (probe): Improve error message.
31881
b50b77b9
RM
318822009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31883
31884 * loader/i386/multiboot_elfxx.c
31885 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31886 initialization.
31887
318882009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31889
31890 Relocator framework
31891
31892 * loader/i386/xnu_helper.S: Removed. All users updated.
31893 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31894 (relocator_mod_SOURCES): New variable.
31895 (relocator_mod_CFLAGS): Likewise.
31896 (relocator_mod_LDFLAGS): Likewise.
31897 (relocator_mod_ASFLAGS): Likewise.
31898 * conf/x86_64.rmk: Likewise.
31899 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31900 (grub_multiboot_payload_entry_offset): Likewise.
31901 (grub_multiboot_forward_relocator): Likewise.
31902 (grub_multiboot_forward_relocator_end): Likewise.
31903 (grub_multiboot_backward_relocator): Likewise.
31904 (grub_multiboot_backward_relocator_end): Likewise.
31905 (grub_multiboot_payload_eip): New variable.
31906 (grub_multiboot_payload_orig): Likewise.
31907 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31908 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31909 * include/grub/i386/memory.h
31910 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31911 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31912 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31913 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31914 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31915 * include/grub/i386/relocator.h: New file.
31916 * include/grub/x86_64/relocator.h: Likewise.
31917 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31918 (XNU_RELOCATOR): New macro.
31919 (grub_xnu_launcher_start): Remove.
31920 (grub_xnu_launcher_end): Likewise.
31921 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31922 (grub_xnu_heap_real_start): Remove.
31923 (grub_xnu_heap_start): Change to void *. All users updated.
31924 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31925 * lib/i386/relocator.c: New file.
31926 * lib/i386/relocator_asm.S: Likewise.
31927 * lib/i386/relocator_backward.S: Likewise.
31928 * lib/mips/relocator.c: Likewise.
31929 * lib/mips/relocator_asm.S: Likewise.
31930 * lib/relocator.c: Likewise.
31931 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31932 (entry): Removed.
31933 (playground): Likewise.
31934 (grub_multiboot_payload_orig): New variable.
31935 (grub_multiboot_payload_dest): Likewise.
31936 (grub_multiboot_payload_size): Likewise.
31937 (grub_multiboot_payload_eip): Likewise.
31938 (grub_multiboot_payload_esp): Likewise.
31939 (grub_multiboot_boot): Use grub_relocator32_boot.
31940 (grub_multiboot_unload): Free relocators.
31941 (grub_multiboot): Setup stack. Use relocators.
31942 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31943 (grub_multiboot_load_elfXX): Use relocators.
31944 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31945 (grub_multiboot_payload_size): Likewise.
31946 (grub_multiboot_payload_dest): Likewise.
31947 (grub_multiboot_payload_entry_offset): Likewise.
31948 (grub_multiboot_forward_relocator): Likewise.
31949 (grub_multiboot_backward_relocator): Likewise.
31950 (grub_multiboot_real_boot): Likewise.
31951 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31952 (grub_xnu_entry_point): Likewise.
31953 (grub_xnu_arg1): Likewise.
31954 (grub_xnu_stack): Likewise.
31955 (grub_xnu_launch): Removed.
31956 (grub_xnu_boot_resume): New function.
31957 (grub_xnu_boot): Use relocators.
31958 * loader/i386/xnu_helper.S: Removed.
31959 * loader/xnu.c (grub_xnu_heap_start): New variable.
31960 (grub_xnu_heap_size): Likewise.
31961 (grub_xnu_heap_malloc): Use relocators.
31962 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31963
29eb90c6
VS
319642009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31965
31966 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31967 anything.
31968
31027430
CPE
319692009-12-13 Carles Pina i Estany <carles@pina.cat>
31970
31971 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31972 GRUB_ERR_NONE before calling grub_env_set.
31973
dc0c71d9
RM
319742009-12-12 Robert Millan <rmh@aybabtu.com>
31975
31976 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31977 * genmk.rb (video): New variable.
31978 (CLEANFILES, VIDEOFILES): Add #{video}.
31979 (#{video}): New target rule.
31980 * genvideolist.sh: New file.
31981 * Makefile.in (pkglib_DATA): Add video.lst.
31982 (video.lst): New target rule.
31983 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31984 `video.lst'.
31985 * util/grub.d/30_os-prober.in: Replace `vbe' with
31986 ${GRUB_VIDEO_BACKEND}.
31987
2a4bfcf0
RM
319882009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31989
31990 * THANKS: Add David Miller.
31991
2a3aa4d5
RM
319922009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31993
31994 libpciaccess support.
31995
31996 * Makefile.in (LIBPCIACCESS): New variable.
31997 (enable_grub_emu_pci): Likewise.
31998 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31999 util/pci.c and commands/lspci.c.
32000 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
32001 * configure.ac (grub-emu-pci): New option.
32002 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
32003 (grub_pci_device_unmap_range): Likewise.
32004 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
32005 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
32006 (grub_pci_address_t) [!GRUB_UTIL]: New type.
32007 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
32008 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
32009 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
32010 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
32011 * include/grub/pciutils.h: New file.
32012 * util/pci.c: Likewise.
32013
0ad46fd7 320142009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
32015
32016 * util/misc.c: Don't include <errno.h> twice.
32017
0ad46fd7 320182009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
32019
32020 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
32021 name in an error message.
32022 (grub_biosdisk_rw): Likewise.
32023
2e59983c
VS
320242009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32025
32026 Eliminate NTFS 4Gib barrier.
32027
32028 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
32029 (read_run_data): Likewise.
32030 (grub_ntfs_read_run_list): Likewise.
32031 (grub_ntfs_read_block): Likewise.
32032 (grub_ntfs_iterate_dir): Likewise.
32033 (read_mft): Likewise.
32034 (read_data): Likewise.
32035 Use COM_LOG_LEN.
32036 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
32037 to avoid 64-bit division
32038 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
32039 (grub_ntfs_rlst): Use grub_disk_addr_t.
32040
71ee178a
VS
320412009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32042
32043 Eliminate grub-fstest 4Gib barrier.
32044
32045 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
32046 (read_file): Fix error reporting.
32047
2520d4b8
VS
320482009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32049
32050 Eliminate hexdump 4Gib barrier.
32051
32052 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
32053 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
32054
e1f27065
VS
320552009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32056
32057 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
32058 Fixes amarsh bug.
32059
1a0f7f45
RM
320602009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
32061
32062 Remove miscellaneous files in distclean target.
32063
32064 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
32065
c631d9fb
CW
320662009-12-09 Colin Watson <cjwatson@ubuntu.com>
32067
32068 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
32069 if they're already set. This resolves the conflict between my
32070 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
32071 fixing the --grub-probe option again.
32072 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
32073 change on 2009-10-06, so that we now once again source
32074 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32075
7c7b6106
RM
320762009-12-08 Robert Millan <rmh.grub@aybabtu.com>
32077
32078 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
32079 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
32080 `util/devicemap.c'.
32081
e3069ec1
CPE
320822009-12-08 Carles Pina i Estany <carles@pina.cat>
32083
32084 * include/grub/misc.h (grub_printf_): New declaration.
32085 * kern/misc.c (grub_printf_): New definition.
32086 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
32087 instead of `grub_printf' and `_'.
32088 * normal/menu_entry.c (store_completion): Likewise.
32089 (run): Likewise.
32090 (grub_menu_entry_run): Likewise.
32091 * normal/menu_text.c (grub_wait_after_message): Likewise.
32092 (notify_booting): Likewise.
32093 (notify_fallback): Likewise.
32094 (notify_execution_failure): Likewise.
32095
d6ceebf1
CW
320962009-12-07 Colin Watson <cjwatson@ubuntu.com>
32097
32098 * configure.ac: Check for vasprintf.
32099 * util/misc.c (asprintf): Move allocation from here ...
32100 (vasprintf): ... to here. New function.
32101 (xasprintf): New function.
32102 * include/grub/util/misc.h (vasprintf, xasprintf): Add
32103 prototypes.
32104 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
32105 * util/grub-mkfont.c (write_font): Likewise.
32106 * util/grub-probe.c (probe): Likewise.
32107 * util/hostdisk.c (make_device_name): Likewise.
32108
de6daa8b
DM
321092009-12-06 David S. Miller <davem@sunset.davemloft.net>
32110
32111 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
32112 anything even prefixed with 'cdrom' as a cdrom.
32113
0ad46fd7 321142009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
32115
32116 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
32117 mount points.
32118
98d3dc02
CPE
321192009-12-05 Carles Pina i Estany <carles@pina.cat>
32120
32121 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
32122 grub_gettext_msg_list.
32123 (grub_gettext_gettranslation_from_position): Return const char *
32124 and not char *.
a2c1332b 32125 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
32126 returns from the list if existing there.
32127 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
32128 (grub_gettext_delete_list): Delete the list.
32129 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
32130 lang environment variable is changed.
32131 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
32132
b283f108
VS
321332009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32134
32135 Rename kernel.mod to kernel.img.
32136
32137 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
32138 (kernel_mod_EXPORTS): Rename to ...
32139 (kernel_img_EXPORTS): ... this.
32140 (kernel_mod_SOURCES): Rename to ...
32141 (kernel_img_SOURCES): ... this.
32142 (kernel_mod_HEADERS): Rename to ...
32143 (kernel_img_HEADERS): ... this. All users updated.
32144 (kernel_mod_CFLAGS): Rename to ...
32145 (kernel_img_CFLAGS): ... this.
32146 (kernel_mod_ASFLAGS): Rename to ...
32147 (kernel_img_ASFLAGS): ... this.
32148 (kernel_mod_LDFLAGS): Rename to ...
32149 (kernel_img_LDFLAGS): ... this.
32150 * conf/x86_64-efi.rmk: Likewise.
32151 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
32152 (read_kernel_image): ... this. All users updated.
32153 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
32154
69055f8a
CPE
321552009-12-05 Carles Pina i Estany <carles@pina.cat>
32156
32157 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
32158 (print_spaces): New function.
32159 (grub_print_ucs4): New function.
32160 (getstringwidth): New function.
32161 (print_message_indented): New function.
32162 (print_message): Gettexttize strings using print_message_indented.
32163 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
32164 width.
32165 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 32166 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
32167 Gettextize.
32168 * normal/menu_entry.c (store_completion): Cleanup the gettextized
32169 string.
32170 (run): Likewise.
32171 (grub_menu_entry_run): Likewise.
32172 * PO/POTFILES: Add normal/menu_entry.c.
32173
f616f51c
VS
321742009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32175
32176 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
32177
57bbe3be
CPE
321782009-12-05 Carles Pina i Estany <carles@pina.cat>
32179
32180 * util/grub-install.in: Install gettext .mo files.
32181 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
32182
013d67a1
CPE
321832009-12-05 Carles Pina i Estany <carles@pina.cat>
32184
32185 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
32186 grub_dprintf.
32187
fb954db0
RM
321882009-12-05 Robert Millan <rmh.grub@aybabtu.com>
32189
32190 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
32191 non-firmware-dependant one in realmode.S takes precedence.
32192
6b8474f8
RM
321932009-12-04 Robert Millan <rmh.grub@aybabtu.com>
32194
32195 * commands/halt.c: Replace misc arch-specific headers with
32196 `<grub/misc.h>'.
32197 * commands/reboot.c: Likewise.
32198 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
32199 `<grub/misc.h>'.
32200 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
32201 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
32202 (kernel_img_SOURCES): ... to here.
32203
32204 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
32205 * include/grub/i386/pc/init.h: Likewise.
32206 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32207 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32208
32209 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
32210
32211 * include/grub/i386/halt.h: Remove.
32212 * include/grub/i386/reboot.h: Likewise.
32213
32214 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
32215
4b2e6ca2
DM
322162009-12-03 David S. Miller <davem@sunset.davemloft.net>
32217
32218 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
32219 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
32220 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
32221 "progname.h"
32222 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32223 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32224 (usage): Add missing comma in printf.
32225
5239348f
RM
322262009-12-02 Robert Millan <rmh.grub@aybabtu.com>
32227
32228 Use the same reboot approach on i386 coreboot and qemu as we do on
32229 BIOS.
32230
32231 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
32232 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
32233 * kern/i386/reboot.c: Remove.
32234 * include/grub/i386/reboot.h (grub_reboot): Export function.
32235 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
32236 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
32237 0xf000:0xfff0 instead of 0xffff:0x0000.
32238 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
32239 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
32240
ef34cbd4
RM
322412009-11-30 Robert Millan <rmh.grub@aybabtu.com>
32242
32243 Fix $srcdir != $objdir build.
32244
32245 * Makefile.in (po/%.po): Rewrite as ...
32246 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
32247
dc9837ea
ST
322482009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
32249
32250 Fix GNU/Hurd grub-install crash.
32251 * util/grub-probe.c (probe): Try to access `path' only when it is not
32252 NULL.
32253
2f857f98
VS
322542009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32255
32256 Correct module naming.
32257
32258 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32259 (GRUB_MOD_INIT(efi_uga)): ... to this
32260 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32261 (GRUB_MOD_FINI(efi_uga)): ... to this
32262 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32263 (GRUB_MOD_INIT(efi_gop)): ... to this
32264 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32265 (GRUB_MOD_FINI(efi_gop)): ... to this
32266
c5448046
RM
322672009-11-28 Robert Millan <rmh.grub@aybabtu.com>
32268
32269 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
32270 translatable.
32271 (usage): Translate `arg' strings using gettext().
32272 Thanks to Jordi Mallach for the suggestion.
32273
c85184ad
VS
322742009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32275
32276 GOP support. Based on patch from Bean
32277 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32278
32279 * video/efi_gop.c: New file.
32280 * include/grub/efi/graphics_output.h: Likewise.
32281 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
32282 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32283 variables.
32284 * conf/x86_64-efi.rmk: Likewise.
32285
8a4c48d8
VS
322862009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32287
32288 Rename efi_fb to efi_uga.
32289
32290 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32291 'efi_uga.mod'.
32292 (efi_fb_mod_SOURCES): Rename this ...
32293 (efi_uga_mod_SOURCES): ... to this.
32294 (efi_fb_mod_CFLAGS): Rename this ...
32295 (efi_uga_mod_CFLAGS): ... to this.
32296 (efi_fb_mod_LDFLAGS): Rename this ...
32297 (efi_uga_mod_LDFLAGS): ... to this.
32298 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32299 'efi_uga.mod'.
32300 (efi_fb_mod_SOURCES): Rename this ...
32301 (efi_uga_mod_SOURCES): ... to this.
32302 (efi_fb_mod_CFLAGS): Rename this ...
32303 (efi_uga_mod_CFLAGS): ... to this.
32304 (efi_fb_mod_LDFLAGS): Rename this ...
32305 (efi_uga_mod_LDFLAGS): ... to this.
32306 * video/efi_fb.c: Move this ...
32307 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
32308
fb6c1a7b
RM
323092009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32310
32311 * po/README: New file. Explain our PO file workflow.
32312
3bc7896c
RM
323132009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32314
32315 * po/ChangeLog: Remove. Move relevant entries back to ...
32316 * ChangeLog: ... here.
32317 * po/ca.po: Remove (now handled by TLP).
32318 * po/id.po: Likewise.
32319 * po/zh_CN.po: Likewise.
32320 * Makefile.in (LINGUAS): Initialize in a way that supports
32321 empty set.
32322
9ed4841d
RM
323232009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32324
32325 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
32326 reliing on po/LINGUAS.
32327 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
32328 (po/%.po): ... this.
32329
0ad46fd7 323302009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
32331
32332 * util/i386/efi/grub-mkimage.c: Include "progname.h".
32333 (main): Use `program_name' instead of nonexistent `progname'.
32334
e30dd392
FZ
323352009-11-26 Felix Zielcke <fzielcke@z-51.de>
32336
32337 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32338 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
32339
7656de4f
RM
323402009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32341
32342 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32343 commit.
32344 * conf/i386-efi.rmk: Likewise.
32345 * conf/i386-ieee1275.rmk: Likewise.
32346 * conf/powerpc-ieee1275.rmk: Likewise.
32347 * conf/sparc64-ieee1275.rmk: Likewise.
32348 * conf/x86_64-efi.rmk: Likewise.
32349
db77c4d4
FZ
323502009-11-26 Felix Zielcke <fzielcke@z-51.de>
32351
32352 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32353
a755bb04
FZ
323542009-11-26 Felix Zielcke <fzielcke@z-51.de>
32355
32356 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32357
8a4c07fd
RM
323582009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32359
32360 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32361 (grub_mkdevicemap_SOURCES): New variable.
32362 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32363 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32364 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32365 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32366 (grub_mkdevicemap_SOURCES): Remove.
32367 * conf/i386-efi.rmk: Likewise.
32368 * conf/i386-ieee1275.rmk: Likewise.
32369 * conf/i386-pc.rmk: Likewise.
32370 * conf/powerpc-ieee1275.rmk: Likewise.
32371 * conf/sparc64-ieee1275.rmk: Likewise.
32372 * conf/x86_64-efi.rmk: Likewise.
32373 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32374 (usage): Fix strings to use `program_name'.
32375 (main): Initialize gettext.
32376 * util/grub-editenv.c: Likewise.
32377 * util/grub-emu.c: Likewise.
32378 * util/grub-fstest.c: Likewise.
32379 * util/grub-mkdevicemap.c: Likewise.
32380 * util/grub-mkfont.c: Likewise.
32381 * util/grub-mkrelpath.c: Likewise.
32382 * util/grub-pe2elf.c: Likewise.
32383 * util/grub-probe.c: Likewise.
32384 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32385 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32386 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32387
32388 * util/misc.c: Include `"progname.h"'.
32389 (progname): Remove variable.
32390 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32391
6f61ed55
FZ
323922009-11-25 Felix Zielcke <fzielcke@z-51.de>
32393
32394 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32395 printf and print a newline after the menuentry header line.
32396 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32397
f022876b
FZ
323982009-11-25 Felix Zielcke <fzielcke@z-51.de>
32399
32400 autoconf >= 2.60 support $(localedir).
32401
32402 * INSTALL: Note that autoconf 2.60 is required.
32403 * configure.ac (AC_PREREQ): Bump to 2.60.
32404 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32405 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32406
6717926e
YB
324072009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32408
32409 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32410 aclocal is run.
32411
08806a54
RM
324122009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32413
32414 * normal/main.c (grub_normal_read_line): Fix off-by-one
32415 buffer overflow.
32416
13b33fba
RM
324172009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32418
32419 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32420 "parser.grub" in grub_command_execute() call.
32421
4a8572e9
CPE
324222009-11-24 Carles Pina i Estany <carles@pina.cat>
32423
32424 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32425 * conf/i386-efi.rmk: Likewise.
32426 * conf/i386-ieee1275.rmk: Likewise.
32427 * conf/i386-pc.rmk: Likewise.
32428 * conf/powerpc-ieee1275.rmk: Likewise.
32429 * conf/sparc64-ieee1275.rmk: Likewise.
32430 * conf/x86_64-efi.rmk: Likewise.
32431 * gettext/gettex.c: Include <grub/i18n.h>.
32432 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32433 here ...
32434 * include/grub/i18n.h: ... to here
32435 * include/grub/i18n.h: ... to here.
32436 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 32437 (grub_gettext_dummy): Move above user.
4a8572e9 32438
bee48093
FZ
324392009-11-24 Felix Zielcke <fzielcke@z-51.de>
32440
32441 * util/Makefile.in (install-local): Convert a `for' into a normal
32442 shell expansion.
32443
a031e91c
RM
324442009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32445
32446 * autogen.sh: Add automake call.
32447 * config.guess: Remove.
32448 * config.sub: Likewise.
32449 * install-sh: Likewise.
32450
26bec39d
FZ
324512009-11-24 Felix Zielcke <fzielcke@z-51.de>
32452
32453 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32454
8e2532fd
FZ
324552009-11-24 Felix Zielcke <fzielcke@z-51.de>
32456
32457 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32458 function to a normal shell `for'.
32459
fefa1b7d
FZ
324602009-11-24 Felix Zielcke <fzielcke@z-51.de>
32461
32462 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32463
4501250b
FZ
324642009-11-24 Felix Zielcke <fzielcke@z-51.de>
32465
32466 * util/grub-mkrelpath.c: New file.
32467 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32468 (grub_mkrelpath_SOURCES): New variable.
32469 * include/grub/util/misc.h: New function prototype.
32470 * util/misc.c (make_system_path_relative_to_its_root): New function.
32471
32472 * util/grub-mkconfig_lib.in (bindir): New variable.
32473 (grub_mkrelpath): Likewise.
32474 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
32475
32476 * util/probe.c (probe): Make the file path relative to its root.
32477 Change a info message to use the GRUB path. Enable again the
32478 check if we can read the file with GRUB facilities.
32479
32480 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
32481 to its root.
32482
11d9778b
FZ
324832009-11-24 Felix Zielcke <fzielcke@z-51.de>
32484
32485 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32486 platform.
32487
4465287d
FZ
324882009-11-24 Felix Zielcke <fzielcke@z-51.de>
32489
32490 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32491 strncmp().
32492
62b47f22
FZ
324932009-11-24 Felix Zielcke <fzielcke@z-51.de>
32494
32495 * util/getroot.c (grub_util_is_dmraid): New function.
32496 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32497 devices as normal ones, not as LVM.
32498
1eafb9b9 324992009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
32500
32501 * conf/common.rmk: Add grub-gettext_lib target and updates
32502 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
32503 LDFLAGS.
32504 * gettext/gettext.c: New file. (Reads mo files).
32505 * include/grub/file.h (grub_file_pread): New prototype.
32506 * include/grub/i18n.h (_): New prototype.
32507 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
32508 prototypes.
32509 * kern/misc.c (grub_gettext_dummy): New function.
32510 * normal/menu_text.c: Include <grub/i18n.h>.
32511 * normal/menu_text.c (print_timeout): Gettexttize string.
32512 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
32513 * po/POTFILES: Add `normal/menu_text.c'.
32514 * po/ca.po: Add new translations.
c3ea6bd4
CPE
32515 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32516 gettext module and defines locale_dir and lang in grub.cfg.
32517 * NEWS: Add gettext support.
32518
0fdb2568
RM
325192009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32520
32521 * util/hostdisk.c: Include `<grub/i18n.h>'.
32522 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32523 (make_device_name): Rewrite using asprintf.
32524 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32525 (find_system_device): If a device is not found, generate one just
32526 by reusing the OS path name.
32527 (read_device_map): Make it permissible for device.map not to exist.
32528
f515aa62
RM
325292009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32530
32531 * script/sh/execute.c: Move from here ...
32532 * script/execute.c: ... to here. Update all users.
32533 * script/sh/function.c: Move from here ...
32534 * script/function.c: ... to here. Update all users.
32535 * script/sh/lexer.c: Move from here ...
32536 * script/lexer.c: ... to here. Update all users.
32537 * script/sh/main.c: Move from here ...
32538 * script/main.c: ... to here. Update all users.
32539 * script/sh/parser.y: Move from here ...
32540 * script/parser.y: ... to here. Update all users.
32541 * script/sh/script.c: Move from here ...
32542 * script/script.c: ... to here. Update all users.
32543
f84b481b
RM
325442009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32545
32546 * configure.ac: Detect all `emu' platforms. Define
32547 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32548 --enable-grub-emu logic. Disable include/grub/machine
32549 symlink on `emu' platforms.
32550
32551 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32552 * gensymlist.sh.in: Likewise.
32553
32554 * include/grub/i386/coreboot/machine.h: Remove file.
32555 * include/grub/i386/efi/machine.h: Likewise.
32556 * include/grub/i386/ieee1275/machine.h: Likewise.
32557 * include/grub/i386/pc/machine.h: Likewise.
32558 * include/grub/i386/qemu/machine.h: Likewise.
32559 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32560 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32561 * include/grub/x86_64/efi/machine.h: Likewise.
32562
32563 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32564 * commands/halt.c: Likewise.
32565 * commands/reboot.c: Likewise.
32566 * include/grub/autoefi.h: Likewise.
32567 * include/grub/i386/at_keyboard.h: Likewise.
32568 * include/grub/i386/kernel.h: Likewise.
32569 * include/grub/i386/loader.h: Likewise.
32570 * include/grub/i386/pc/memory.h: Likewise.
32571 * kern/dl.c: Likewise.
32572 * kern/i386/coreboot/init.c: Likewise.
32573 * loader/i386/bsd.c: Likewise.
32574 * loader/i386/linux.c: Likewise.
32575 * loader/multiboot_loader.c: Likewise.
32576 * term/i386/pc/serial.c: Likewise.
32577 * term/usb_keyboard.c: Likewise.
32578
32579 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32580 `<grub/machine/machine.h>'
32581 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32582 * util/misc.c: Remove `<grub/machine/machine.h>' and
32583 `<grub/machine/time.h>'.
32584
32585 * Makefile.in (enable_grub_emu): Remove variable.
32586 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32587
32588 * conf/any-emu.rmk: New file.
32589 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32590 (grub_emu_init.c): Move from here ...
32591 * conf/any-emu.rmk: ... to here.
32592
32593 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32594 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32595 * conf/any-emu.rmk: ... to here.
32596
4efeab03
RM
325972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32598
32599 * include/grub/parser.h (grub_parser_register): Document need
32600 of `name' parameter.
32601 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32602 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32603 "sh" to "grub".
32604
ea1dd8bf
RM
326052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32606
32607 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32608 `$(XGETTEXT)'.
32609 * include/grub/i18n.h (N_): New macro.
32610 * util/mkisofs/mkisofs.h: Likewise.
32611 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32612 around N_().
32613 (usage): Use gettext() to translate help strings when printing them.
32614
0c140626
RM
326152009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32616
32617 Based on patch from Bean
32618 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32619
32620 * video/efi_fb.c: New file.
32621 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32622 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32623 variables.
32624 * conf/x86_64-efi.rmk: Likewise.
32625
87d58298
RM
326262009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32627
32628 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32629 * util/i386/pc/grub-setup.c: Likewise.
32630
994cc3a3
ST
326312009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32632
32633 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32634 <hurd/fs.h>
32635 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32636 file_get_storage_info to implement grub_guess_root_device.
32637
26a61d6a
FZ
326382009-11-21 Felix Zielcke <fzielcke@z-51.de>
32639
32640 * Makefile.in (target): Use make's builtin $(shell) function
32641 instead of calling directly $(SHELL) to create the locale directories,
32642 inside the $(foreach) function.
32643
74ff1dd5
FZ
326442009-11-21 Felix Zielcke <fzielcke@z-51.de>
32645
32646 * util/grub-mkrescue.in: Print an error and usage if output option
32647 has not been given.
32648
0b787d0e
FZ
326492009-11-21 Felix Zielcke <fzielcke@z-51.de>
32650
32651 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32652 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32653 root and /boot are on different devices.
32654
1164b270
RM
326552009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32656
32657 Fix build for srcdir != objdir.
32658
32659 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32660 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32661 $(srcdir).
32662 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32663 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32664 reference for input.
32665
13774a2f
RM
326662009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32667
32668 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32669 or hardlinking it). Remove -J option, Joliet is not compatible with
32670 multiple source directories.
32671
efda854e
RM
326722009-11-21 Carles Pina i Estany <carles@pina.cat>
326732009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32674
32675 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32676 (process_input_dir): New function. Process an arbitrary input
32677 directory.
32678 Misc adjustments to support both "override mode" and system-wide mode.
32679
6c09890c
FZ
326802009-11-20 Felix Zielcke <fzielcke@z-51.de>
32681
32682 * configure.ac (UNIFONT_BDF): Rename to ...
32683 (FONT_SOURCE): ... this. Update all users.
32684
a797824f
FZ
326852009-11-20 Felix Zielcke <fzielcke@z-51.de>
32686
32687 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32688 to the list of unifont files to look for.
32689
cd4f42b0
RM
326902009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32691
32692 Patch from Joe Auricchio <jauricchio@gmail.com>
32693 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32694 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32695 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32696
393c783d
FZ
326972009-11-19 Felix Zielcke <fzielcke@z-51.de>
32698
32699 * Makefile.in (install-local): Add a missing backslash.
32700
b2f1e327
FZ
327012009-11-19 Felix Zielcke <fzielcke@z-51.de>
32702
32703 * include/grub/x86_64/io.h: New file.
32704
f577f7a0
RM
327052009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32706
32707 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32708 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32709 Include `"progname.h"'.
32710 (main): Initialize gettext.
32711 * util/i386/pc/grub-setup.c: Gettexttize.
32712 * util/i386/pc/grub-mkimage.c: Likewise.
32713
32714 * Makefile.in (po/*.po): Redefine as ...
32715 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32716
3bc7896c
RM
32717 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32718
c37943b6
RM
327192009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32720
32721 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32722 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32723 (program_name): Remove.
32724 (main): Initialize gettext support.
6323f705
RM
32725 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32726 Include `<libintl.h>'.
32727 (_): New macro.
c37943b6
RM
32728
32729 * util/mkisofs/eltorito.c: Gettexttize.
32730 * util/mkisofs/joliet.c: Likewise.
32731 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
32732 * util/mkisofs/multi.c: Likewise.
32733 * util/mkisofs/rock.c: Likewise.
32734 * util/mkisofs/tree.c: Likewise.
32735 * util/mkisofs/write.c: Likewise.
32736
3bc7896c
RM
32737 * po/POTFILES: Update with new files.
32738
5ce77c6e
RM
327392009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32740
32741 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32742 * util/mkisofs/iso9660.h: Likewise.
32743 * util/mkisofs/joliet.c: Likewise.
32744 * util/mkisofs/mkisofs.c: Likewise.
32745 * util/mkisofs/mkisofs.h: Likewise.
32746 * util/mkisofs/rock.c: Likewise.
32747 * util/mkisofs/tree.c: Likewise.
32748 * util/mkisofs/write.c: Likewise.
32749
32750 * util/mkisofs/eltorito.c (rcsid): Remove.
32751 * util/mkisofs/hash.c: Likewise.
32752 * util/mkisofs/joliet.c: Likewise.
32753 * util/mkisofs/name.c: Likewise.
32754 * util/mkisofs/rock.c: Likewise.
32755 * util/mkisofs/tree.c: Likewise.
32756 * util/mkisofs/write.c: Likewise.
32757
1dabbc77
RM
327582009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32759
32760 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32761 instead of static allocation.
32762 * util/mkisofs/match.h: Likewise.
32763
633877cb
RM
327642009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32765
3bc7896c
RM
32766 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32767 and `util/grub.d/10_linux.in'.
633877cb
RM
32768 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32769 translatable Shell files.
32770
af1c0c85
RM
327712009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32772
32773 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32774
769ae37b
RM
327752009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32776
32777 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 32778 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
32779 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32780 Add gettext initialization.
32781 (kfreebsd_entry): Make menuentry output translatable.
32782
327832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32784
32785 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32786 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32787 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32788 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32789 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 32790 * po/LINGUAS: New file.
769ae37b
RM
32791
327922009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32793
32794 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32795 other things).
32796 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32797 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32798 bindtextdomain() calls for gettext initialization.
32799
328002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32801
32802 * gnulib/progname.c: New file (imported from Gnulib).
32803 * gnulib/progname.h: Likewise.
32804 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32805 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32806 (usage): Replace `progname' with `program_name'.
32807 (main): Use set_program_name() for program name initialization.
32808
328092009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32810
32811 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32812 from here ...
32813 * Makefile.in (CPPFLAGS): ... to here.
32814
328152009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32816
32817 * aclocal.m4: Move from here ...
32818 * acinclude.m4: ... to here.
32819 * autogen.sh: Add call to `aclocal'.
32820 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32821
328222009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32823
32824 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32825 (LINGUAS): New variable.
32826 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32827 (install-local): Install MO files.
32828 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32829 * include/grub/i18n.h: New file.
3bc7896c
RM
32830 * po/POTFILES: New file.
32831 * po/ca.po: New file.
769ae37b
RM
32832 * util/grub.d/10_linux.in (bindir): New variable.
32833 Add gettext initialization.
32834 (linux_entry): Make menuentry output translatable.
32835 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32836 (usage): Make --help output translatable.
32837 (main): Initialize gettext.
32838
02c0a6ad
RM
328392009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32840
32841 * import_gcry.py: New file (written by Vladimir with minor
32842 adjustments).
32843 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32844 ciphers.
32845 * INSTALL: Document that Python is required for bootstrap.
32846
328472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32848
32849 Import ciphers from libgcrypt 1.4.4.
32850
32851 * lib/libgcrypt/cipher/ChangeLog
32852 * lib/libgcrypt/cipher/ac.c
32853 * lib/libgcrypt/cipher/arcfour.c
32854 * lib/libgcrypt/cipher/bithelp.h
32855 * lib/libgcrypt/cipher/blowfish.c
32856 * lib/libgcrypt/cipher/camellia-glue.c
32857 * lib/libgcrypt/cipher/camellia.c
32858 * lib/libgcrypt/cipher/camellia.h
32859 * lib/libgcrypt/cipher/cast5.c
32860 * lib/libgcrypt/cipher/cipher.c
32861 * lib/libgcrypt/cipher/crc.c
32862 * lib/libgcrypt/cipher/des.c
32863 * lib/libgcrypt/cipher/dsa.c
32864 * lib/libgcrypt/cipher/ecc.c
32865 * lib/libgcrypt/cipher/elgamal.c
32866 * lib/libgcrypt/cipher/hash-common.c
32867 * lib/libgcrypt/cipher/hash-common.h
32868 * lib/libgcrypt/cipher/hmac-tests.c
32869 * lib/libgcrypt/cipher/md.c
32870 * lib/libgcrypt/cipher/md4.c
32871 * lib/libgcrypt/cipher/md5.c
32872 * lib/libgcrypt/cipher/primegen.c
32873 * lib/libgcrypt/cipher/pubkey.c
32874 * lib/libgcrypt/cipher/rfc2268.c
32875 * lib/libgcrypt/cipher/rijndael-tables.h
32876 * lib/libgcrypt/cipher/rijndael.c
32877 * lib/libgcrypt/cipher/rmd.h
32878 * lib/libgcrypt/cipher/rmd160.c
32879 * lib/libgcrypt/cipher/rsa.c
32880 * lib/libgcrypt/cipher/seed.c
32881 * lib/libgcrypt/cipher/serpent.c
32882 * lib/libgcrypt/cipher/sha1.c
32883 * lib/libgcrypt/cipher/sha256.c
32884 * lib/libgcrypt/cipher/sha512.c
32885 * lib/libgcrypt/cipher/tiger.c
32886 * lib/libgcrypt/cipher/twofish.c
32887 * lib/libgcrypt/cipher/whirlpool.c
32888
af2f93ac
RM
328892009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32890
32891 Fix build for systems without error().
32892
32893 * gnulib/error.c: New file (imported from Gnulib).
32894 * gnulib/error.h: Likewise.
32895 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32896 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32897 (this variable is now used by error()).
32898
73fb3dd5
FZ
328992009-11-16 Felix Zielcke <fzielcke@z-51.de>
32900
814f5e96
FZ
32901 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32902 instead of relying that char is signed.
73fb3dd5 32903
a691ca33
VS
329042009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32905
32906 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32907 blocksize different from specified.
32908 (grub_pxefs_read): Likewise.
32909
2af8f0f4
FZ
329102009-11-16 Felix Zielcke <fzielcke@z-51.de>
32911
32912 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32913
32914 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32915 (grub_ata_readwrite): Likewise. Update 2 format strings.
32916 (grub_atapi_read): Likewise.
32917
32918 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32919 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32920 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32921 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32922 (ata_mod_LDFLAGS): Move from here ...
32923 * conf/i386.rmk: ... to here ...
32924 * conf/x86_64-efi.rmk: ... and here.
32925 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32926 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32927
83bdecaf
RM
329282009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32929
32930 Relicense multiboot.h, with RMS' blessing.
32931
32932 * include/multiboot.h: Change to X11 license.
32933
fd6fd3d7
RM
329342009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32935
32936 Support --version in grub-mkisofs.
32937
32938 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32939 (OPTION_VERSION): New macro.
32940 (ld_options): Recognize --version.
32941 (usage): Move `program_name' from here ...
32942 (program_name): ... to here. Add `static' qualifier.
32943 (main): Recognize `OPTION_VERSION'.
32944
16a88c49
FZ
329452009-11-15 Felix Zielcke <fzielcke@z-51.de>
32946
32947 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32948 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32949
a4158476
RM
329502009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32951
32952 Fix help2man generation for mkisofs.
32953
32954 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32955 (usage): Send output to stdout (rather than stderr).
32956
fc2208b0
RM
329572009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32958
32959 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32960 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32961 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32962 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32963 (bin_SCRIPTS): Add `grub-mkfloppy'.
32964 (grub_mkfloppy_SOURCES): New variable.
32965
32966 * util/grub-mkrescue.in: New file.
32967 * util/i386/pc/grub-mkfloppy.in: New file.
32968
32969 * util/i386/coreboot/grub-mkrescue.in: Remove.
32970 * util/i386/pc/grub-mkrescue.in: Remove.
32971
8d0edf4a
RM
329722009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32973
32974 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32975 from here ...
32976 * include/multiboot.h (struct multiboot_header): ... to here. Update
32977 all users.
32978 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32979 from here ...
32980 * include/multiboot.h (struct multiboot_info): ... to here. Update
32981 all users.
32982 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32983 from here ...
32984 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32985 Update all users.
32986 * include/grub/multiboot.h (struct grub_mod_list): Move
32987 from here ...
32988 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32989 Update all users.
32990
a73f5969
RM
329912009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32992
32993 * include/multiboot2.h (multiboot_word): Rename from this ...
32994 (multiboot2_word): ... to this. Update all users.
32995 (multiboot_header): Rename from this ...
32996 (multiboot2_header): ... to this. Update all users.
32997 (multiboot_tag_header): Rename from this ...
32998 (multiboot2_tag_header): ... to this. Update all users.
32999 (multiboot_tag_start): Rename from this ...
33000 (multiboot2_tag_start): ... to this. Update all users.
33001 (multiboot_tag_name): Rename from this ...
33002 (multiboot2_tag_name): ... to this. Update all users.
33003 (multiboot_tag_module): Rename from this ...
33004 (multiboot2_tag_module): ... to this. Update all users.
33005 (multiboot_tag_memory): Rename from this ...
33006 (multiboot2_tag_memory): ... to this. Update all users.
33007 (multiboot_tag_unused): Rename from this ...
33008 (multiboot2_tag_unused): ... to this. Update all users.
33009 (multiboot_tag_end): Rename from this ...
33010 (multiboot2_tag_end): ... to this. Update all users.
33011
1c8927f0
RM
330122009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33013
33014 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
33015 this platform we should support Multiboot1 first.
33016
33017 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
33018 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
33019 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
33020
6e1e0d89
RM
330212009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33022
33023 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
33024 of write calls (converting them to fwrite() if they aren't already).
33025 (get_torito_desc): Likewise.
33026 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
33027
7f2b34d8
RM
330282009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33029
33030 * util/i386/pc/grub-install.in: Move from here ...
33031 * util/grub-install.in: ... to here. Update all users.
33032
c0ef3311
CW
330332009-11-11 Colin Watson <cjwatson@ubuntu.com>
33034
33035 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
33036
e1f240ff
RM
330372009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33038
33039 Support for El Torito without floppy emulation.
33040
33041 * util/mkisofs/eltorito.c: Include `<errno.h>'.
33042 (init_boot_catalog): Improve error handling.
33043 (get_torito_desc): Don't use floppy emulation unless requested by
33044 user. Patch boot information table when requested via
33045 `-boot-info-table'.
33046 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
33047 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
33048 (use_boot_info_table): New variables.
33049 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
33050 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
33051 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
33052 `--eltorito-emul-floppy'.
33053 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
33054 and `OPTION_ELTORITO_EMUL_FLOPPY'.
33055 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
33056 (use_boot_info_table, get_731): New prototypes.
33057 * util/mkisofs/write.c (get_731): New function.
33058
af7d4de5
FZ
330592009-11-11 Felix Zielcke <fzielcke@z-51.de>
33060
33061 Fix the generation of the man page.
33062
33063 * util/pc/i386/grub-install.in: Source
33064 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33065
2c55dbc0
RM
330662009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33067
33068 Large file support for grub-mkisofs.
33069
33070 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
33071 * util/mkisofs/mkisofs.c (next_extent, last_extent)
33072 (session_start): Upgrade type to `uint64_t'. Update all users.
33073 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
33074 (struct directory_entry): Upgrade type of `starting_block' and
33075 `size' to `uint64_t'. Update all users.
33076 (struct deferred): Remove unused structure.
33077 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
33078 Update all users.
33079 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
33080 file is larger than `UINT32_MAX'.
33081 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
33082 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
33083 return value.
33084 (struct deferred_write): Upgrade type of `extent' and `size' to
33085 `uint64_t'. Update all users.
33086 (last_extent_written): Upgrade type to `uint64_t'. Update all
33087 users.
33088 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
33089 Update all users. Upgrade type of `remain' to `int64_t' and
33090 `use' to `size_t'. Use error() to handle fread() errors.
33091 (write_files): Rely on write_one_file() rather than calling
33092 xfwrite() directly.
33093
6a9cead5
FZ
330942009-11-09 Felix Zielcke <fzielcke@z-51.de>
33095
33096 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
33097
4825d790
RM
330982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33099
33100 * util/mkisofs/fnmatch.c: Remove.
33101 * util/mkisofs/getopt1.c: Likewise.
33102 * util/mkisofs/getopt.c: Likewise.
33103 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
33104 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
33105 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
33106 `gnulib/getopt1.c' and `gnulib/getopt.c'.
33107 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
33108
33109 * configure.ac: Detect `mingw32msvc' host_os.
33110 Check for lstat(), getuid() and getgid().
33111
33112 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
33113 instances of `u_char' with `uint8_t'.
33114
33115 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
33116 [!HAVE_GETUID] (getuid): New function (stub).
33117 [!HAVE_GETGID] (getgid): Likewise.
33118 [!HAVE_LSTAT] (lstat): Likewise.
33119 [!S_IROTH] (S_IROTH): New macro (dummy).
33120 [!S_IRGRP] (S_IRGRP): Likewise.
33121
84b860d8
RM
331222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33123
33124 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
33125 conditional expression).
33126
66e9b712
RM
331272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33128
33129 Import from Gnulib.
33130
33131 * gnulib/fnmatch.c: New file.
33132 * gnulib/fnmatch.h: Likewise.
33133 * gnulib/fnmatch_loop.c: Likewise.
33134 * gnulib/getopt.c: Likewise.
33135 * gnulib/getopt.h: Likewise.
33136 * gnulib/getopt1.c: Likewise.
33137 * gnulib/getopt_int.h: Likewise.
33138 * gnulib/gettext.h: Likewise.
33139
34f4a5b0
RM
331402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33141
33142 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
33143 * normal/handler.c (read_handler_list): Likewise.
33144
ac451143
RM
331452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33146
33147 Misc cleanup.
33148
33149 * kern/command.c (grub_register_command_prio): Use
33150 grub_zalloc() instead of explicitly zeroing data.
33151 * kern/list.c: Include `<grub/mm.h>'.
33152 (grub_named_list_find): Replace `0' with `NULL'.
33153 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
33154 (fs_module_list): Change type to `grub_named_list_t'. Update all
33155 users.
33156 * normal/dyncmd.c (read_command_list): Add space between function
33157 call and parenthesis.
33158 * normal/handler.c (read_handler_list): Likewise.
33159
4089b167
RM
331602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33161
33162 * normal/auth.c (punishment_delay): Moved from here ...
33163 (grub_auth_strcmp): ... to here (inside function).
33164
325f5037
RM
331652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33166
33167 * include/grub/list.h (struct grub_named_list): Remove `const'
33168 qualifier from `name'.
33169 (struct grub_prio_list): Likewise.
33170
7aea29a3
RM
331712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33172
33173 * normal/auth.c: Include `<grub/time.h>'.
33174 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
33175
3fd6f044
RM
331762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33177
33178 * normal/auth.c (punishment_delay): New variable.
33179 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
33180 (grub_auth_check_authentication): Punish failed login attempts with
33181 an incremental (2^N) delay.
33182
a4cd68e4
RM
331832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33184
33185 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
33186 path with $(srcdir).
33187
7ad12f43
VS
331882009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33189
33190 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
33191
c1129f03
RM
331922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33193
33194 * util/i386/coreboot/grub-mkrescue.in: New file.
33195 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
33196 variables.
33197
33198 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
33199 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
33200 * configure.ac: Add header and function checks to satisfy grub-mkisofs
33201 requirements.
33202 * util/mkisofs/defaults.h: New file.
33203 * util/mkisofs/eltorito.c: Likewise.
33204 * util/mkisofs/exclude.h: Likewise.
33205 * util/mkisofs/fnmatch.c: Likewise.
33206 * util/mkisofs/getopt.c: Likewise.
33207 * util/mkisofs/getopt1.c: Likewise.
33208 * util/mkisofs/hash.c: Likewise.
33209 * util/mkisofs/include/fctldefs.h: Likewise.
33210 * util/mkisofs/include/mconfig.h: Likewise.
33211 * util/mkisofs/include/prototyp.h: Likewise.
33212 * util/mkisofs/include/statdefs.h: Likewise.
33213 * util/mkisofs/iso9660.h: Likewise.
33214 * util/mkisofs/joliet.c: Likewise.
33215 * util/mkisofs/match.c: Likewise.
33216 * util/mkisofs/match.h: Likewise.
33217 * util/mkisofs/mkisofs.c: Likewise.
33218 * util/mkisofs/mkisofs.h: Likewise.
33219 * util/mkisofs/multi.c: Likewise.
33220 * util/mkisofs/name.c: Likewise.
33221 * util/mkisofs/rock.c: Likewise.
33222 * util/mkisofs/tree.c: Likewise.
33223 * util/mkisofs/write.c: Likewise.
33224
ec8bb77d
VS
332252009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33226
33227 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
33228 being insecure.
33229
3716b12c
RM
332302009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33231
33232 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
33233 `grub-mkimage' (and use $0 when possible).
33234
b97b7b91
RM
332352009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33236
33237 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
33238 error message for excessively large memory map.
33239
04114812
RM
332402009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33241
33242 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
33243 executable bit.
33244
e4eb2373
RM
332452009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33246
33247 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
33248 message for coreboot users.
33249
c926e1d5 332502009-11-07 Robert Millan <rmh.grub@aybabtu.com>
33251
33252 Fix build with GNU gold.
33253
33254 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
33255 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
33256 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
33257 link addresses.
33258 * aclocal.m4: Likewise.
33259
86e5b1db 332602009-11-04 Felix Zielcke <fzielcke@z-51.de>
33261
33262 * configure.ac (AC_PREREQ): Bump to 2.59d.
33263 * INSTALL: Make it more clear when Autoconf and Ruby are
33264 needed and when to run `./autogen.sh'.
33265
246cd78f 332662009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
33267
33268 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
33269 OSes.
33270
4f9dfb37 332712009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33272
33273 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
33274
b82bd5e1 332752009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33276
33277 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
33278 giving it to GNU Mach.
33279
ff1a9bca 332802009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33281
33282 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
33283 GNU partition number to get internal GRUB partition number.
33284
61697d9c 332852009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33286
33287 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
33288 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
33289
a50569e1 332902009-11-01 Robert Millan <rmh.grub@aybabtu.com>
33291
33292 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
33293 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
33294 case.
33295
5b153867 332962009-11-01 Felix Zielcke <fzielcke@z-51.de>
33297
33298 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
33299
d9e2cd70 333002009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33301
33302 Fix build problem.
33303
33304 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
33305 `-isystem=$(srcdir)/include'.
33306
805111a4 333072009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33308
33309 * util/i386/pc/grub-install.in: Remove hint that device.map should be
33310 checked (grub-install doesn't currently rely on it).
33311
fa6e945f 333122009-10-29 Robert Millan <rmh.grub@aybabtu.com>
33313
33314 Revert SVN r2660.
33315
33316 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
33317 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33318 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
33319 * conf/i386-ieee1275.rmk: Likewise.
33320 * conf/i386-pc.rmk: Likewise.
33321 * conf/powerpc-ieee1275.rmk: Likewise.
33322 * conf/sparc64-ieee1275.rmk: Likewise.
33323 * conf/x86_64-efi.rmk: Likewise.
33324
cee15086 333252009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33326
33327 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
33328
95b9239e 333292009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33330
33331 * include/grub/misc.h: Stop checking for APPLE_CC.
33332
2ed19dfd 333332009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33334
33335 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
33336 doesn't cause an infinite call loop.
33337
fdcdde19 333382009-10-28 Felix Zielcke <fzielcke@z-51.de>
33339
33340 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
33341 strings.
33342
cefabfe1 333432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33344
33345 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33346 variable.
33347 * Makefile.in: Likewise.
33348
ed96ab6d 333492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33350
33351 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33352
0579b753 333532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33354
33355 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33356
478df409 333572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33358
33359 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33360
083d1679 333612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33362
33363 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33364 from here ...
33365 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33366
5947ae32 333672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33368
33369 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33370 in $(MAKEINFO) invocation. This makes it clear in output that
33371 errors are being ignored.
33372
94180ff6 333732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33374
33375 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33376 from here ...
33377 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33378 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33379 * conf/i386-ieee1275.rmk: Likewise.
33380 * conf/i386-pc.rmk: Likewise.
33381 * conf/powerpc-ieee1275.rmk: Likewise.
33382 * conf/sparc64-ieee1275.rmk: Likewise.
33383 * conf/x86_64-efi.rmk: Likewise.
33384
9031b03a 333852009-10-26 Colin Watson <cjwatson@ubuntu.com>
33386
33387 * util/grub-editenv.c (main): If only a command is given, use
33388 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33389 (usage): FILENAME is now optional and has a default.
33390
e4f6809b 333912009-10-26 Colin Watson <cjwatson@ubuntu.com>
33392
33393 Improve grub-mkconfig performance when there are several menu
33394 entries on a single filesystem.
33395
33396 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33397 prepare_grub_to_access_device.
33398 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33399 * util/grub.d/30_os-prober.in: Likewise.
33400
67937d4d 334012009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33402
33403 * util/grub.d/10_freebsd.in: Remove.
33404 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33405 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33406
ee3756cc 334072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33408
5c35048e 33409 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 33410
4dea1c6f 334112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33412
33413 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33414 grub_util_error() call.
33415
042484d7 334162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33417
33418 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33419 `reserved_first_sector' member.
33420 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33421 `reserved_first_sector' to 1.
33422 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33423 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33424 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33425 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33426 filesystems which begin at first sector.
33427 (options): New option --skip-fs-probe.
33428 (main): Handle --skip-fs-probe and pass it to setup().
33429
d64448a7 334302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33431
33432 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33433 (memset): Fix function prototype.
33434
508d42ec 334352009-10-25 Robert Millan <rmh.grub@aybabtu.com>
334362009-10-25 Vasily Averin <vvs@parallels.com>
33437
33438 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33439 `dirent.direntlen == 0'.
33440
b240e30c 334412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33442
33443 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33444 `cpio'.
33445 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33446
346e7fbe 334472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33448
33449 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33450 `__trampoline_setup' and `__ucmpdi2'.
33451 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33452 that libgcc provides.
33453
cdb308b0 334542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33455
33456 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33457 * include/grub/sparc64/libgcc.h (memset): Likewise.
33458 * include/grub/misc.h (memset, memcmp): New function prototypes.
33459
fb26abc2 334602009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33461
33462 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33463 `cpio'.
33464 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33465
f6693890 334662009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33467
33468 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33469 * docs/grub.cfg: Compensate for recent change in multiboot
33470 loader (since 2009-08-14 it won't pass filename to payload).
33471 * util/grub.d/10_hurd.in: Likewise.
33472
0933cdc0 334732009-10-21 Felix Zielcke <fzielcke@z-51.de>
33474
33475 * config.guess: Update to latest version from config git
33476 repository.
33477 * config.sub: Likewise.
33478
3b2fe8c2 334792009-10-20 Robert Millan <rmh.grub@aybabtu.com>
33480
33481 Fix build on sparc64.
33482
33483 * configure.ac: Perform checks for libgcc symbols before
33484 adding `-nostdlib' to LDFLAGS.
33485
46695a62 334862009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33487
33488 Let user specify OpenBSD root device.
33489
33490 * loader/i386/bsd.c (openbsd_root): New variable.
33491 (openbsd_opts): New option 'root'.
33492 (OPENBSD_ROOT_ARG): New macro.
33493 (grub_openbsd_boot): Use 'openbsd_root'.
33494 (grub_cmd_openbsd): Fill 'openbsd_root'.
33495
d2b6b7fc 334962009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33497
33498 * NEWS: Misc adjustments.
33499
421bd7ac 335002009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33501
33502 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
33503
f1d29d87 335042009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33505
33506 * configure.ac: Bump version to 1.97.
33507
6f3cd880 335082009-10-16 Colin Watson <cjwatson@ubuntu.com>
33509
33510 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
33511 -mno-3dnow on x86 architectures. Some toolchains enable these
33512 features by default, but they rely on registers that aren't enabled
33513 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
33514
035f7122 335152009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33516
33517 Make entry text a bit more readable.
33518
33519 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33520
44998e58 335212009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33522
33523 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33524
cd2851b3 335252009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33526
33527 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33528 operations.
33529
c6f3b249 335302009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33531
33532 * configure.ac: Add missing dollar.
33533
6b5886ba 335342009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33535
33536 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33537
33538 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33539 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33540 exports.
33541 * include/grub/sparc64/libgcc.h: Likewise. Use
33542 preprocessor conditionals.
33543
e9d66f6d 335442009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33545
33546 * conf/common.rmk (grub-dumpbios): Remove rule.
33547 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33548 * util/grub-dumpbios.in: Remove file.
33549
9155bc17 335502009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33551
33552 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33553 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33554
33555 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33556 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33557 users.
33558
33559 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33560 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
33561 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
33562 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33563 users.
33564
bf7f7a18 335652009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33566
33567 * term/tparm.c: Switch to GPLv3.
33568
86564c26 335692009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33570
33571 * include/grub/i386/cpuid.h: Add header protection.
33572
5c936493 335732009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33574
33575 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33576
33577 * include/grub/i386/cpuid.h: New file.
33578 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33579 (has_longmode): Rename to ...
33580 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33581 `static' attribute.
33582 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33583 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33584 on a CPU that doesn't implement AMD64 instruction set.
33585
186e7cf2 335862009-10-06 Colin Watson <cjwatson@ubuntu.com>
33587
33588 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33589 that version.texi is rebuilt on version number changes.
33590
83b65c4a 335912009-10-06 Colin Watson <cjwatson@ubuntu.com>
33592
33593 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33594 Fixes bug #27602.
33595
d244281c 335962009-10-06 Colin Watson <cjwatson@ubuntu.com>
33597
33598 * util/i386/pc/grub-install.in: Source
33599 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33600 that the --grub-probe option will work.
33601 * util/sparc64/ieee1275/grub-install.in: Likewise.
33602
da25306d 336032009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33604
33605 * configure.ac: Bump version to 1.97~beta4.
33606
e8ee83c0 336072009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33608
33609 Resync grub-mkdevicemap in x86_64-efi.
33610
33611 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33612 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33613 `util/devicemap.c'.
33614
50dcabcf 336152009-10-01 Colin Watson <cjwatson@ubuntu.com>
33616
33617 * util/grub-editenv.c (create_envblk_file): Write new block with a
33618 .new suffix and then rename it into place, to ensure atomic
33619 creation.
33620
0e51c3a7 336212009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33622
33623 Do not automatically install headers.
33624
33625 * Makefile.in (include_DATA): Remove. Update all users.
33626
31299a95 336272009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33628
33629 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33630 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33631
33632 * util/osdetect.lua: Remove.
33633 * script/lua/lauxlib.c: Likewise.
33634 * script/lua/ldebug.c: Likewise.
33635 * script/lua/grub_main.c: Likewise.
33636 * script/lua/lauxlib.h: Likewise.
33637 * script/lua/ldebug.h: Likewise.
33638 * script/lua/ltablib.c: Likewise.
33639 * script/lua/liolib.c: Likewise.
33640 * script/lua/lstrlib.c: Likewise.
33641 * script/lua/lualib.h: Likewise.
33642 * script/lua/ldo.c: Likewise.
33643 * script/lua/ldump.c: Likewise.
33644 * script/lua/ldo.h: Likewise.
33645 * script/lua/loslib.c: Likewise.
33646 * script/lua/lundump.c: Likewise.
33647 * script/lua/grub_lib.c: Likewise.
33648 * script/lua/ldblib.c: Likewise.
33649 * script/lua/lundump.h: Likewise.
33650 * script/lua/lmem.c: Likewise.
33651 * script/lua/grub_lib.h: Likewise.
33652 * script/lua/lmathlib.c: Likewise.
33653 * script/lua/lstate.c: Likewise.
33654 * script/lua/ltm.c: Likewise.
33655 * script/lua/lvm.c: Likewise.
33656 * script/lua/lmem.h: Likewise.
33657 * script/lua/lstate.h: Likewise.
33658 * script/lua/ltm.h: Likewise.
33659 * script/lua/ltable.c: Likewise.
33660 * script/lua/lvm.h: Likewise.
33661 * script/lua/llex.c: Likewise.
33662 * script/lua/lgc.c: Likewise.
33663 * script/lua/grub_lua.h: Likewise.
33664 * script/lua/loadlib.c: Likewise.
33665 * script/lua/lfunc.c: Likewise.
33666 * script/lua/lopcodes.c: Likewise.
33667 * script/lua/lparser.c: Likewise.
33668 * script/lua/ltable.h: Likewise.
33669 * script/lua/llex.h: Likewise.
33670 * script/lua/lgc.h: Likewise.
33671 * script/lua/lfunc.h: Likewise.
33672 * script/lua/lbaselib.c: Likewise.
33673 * script/lua/lopcodes.h: Likewise.
33674 * script/lua/lparser.h: Likewise.
33675 * script/lua/lzio.c: Likewise.
33676 * script/lua/linit.c: Likewise.
33677 * script/lua/lobject.c: Likewise.
33678 * script/lua/llimits.h: Likewise.
33679 * script/lua/lstring.c: Likewise.
33680 * script/lua/lzio.h: Likewise.
33681 * script/lua/lapi.c: Likewise.
33682 * script/lua/lcode.c: Likewise.
33683 * script/lua/lua.h: Likewise.
33684 * script/lua/lobject.h: Likewise.
33685 * script/lua/lstring.h: Likewise.
33686 * script/lua/lapi.h: Likewise.
33687 * script/lua/lcode.h: Likewise.
33688 * script/lua/luaconf.h: Likewise.
33689
cb8a2c38 336902009-09-26 Colin Watson <cjwatson@ubuntu.com>
33691
33692 * docs/grub.texi (Command-line and menu entry commands): Document
33693 date and echo commands.
33694
6b9b6276 336952009-09-24 Pavel Roskin <proski@gnu.org>
33696
33697 * include/grub/kernel.h (struct grub_module_header): Remove
33698 `grub_module_header_types'. Make `type' unsigned. Make `size'
33699 32-bit on all platforms.
33700 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33701 8-bit field. Use grub_host_to_target32() for `size'.
33702 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33703 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33704 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33705
4e5a02a7 337062009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33707
33708 Fix "lost keypress" bug in at_keyboard.
33709
33710 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33711 Checks for readyness of input buffer (without flushing it).
33712 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33713 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33714
c6dcedf6 337152009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33716
33717 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33718 size check within GRUB_MACHINE_PCBIOS section.
33719
74c958b1 337202009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33721
33722 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33723 return value.
33724 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33725 KEYBOARD_ISREADY check.
33726 (grub_at_keyboard_checkkey): Rename to ...
33727 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33728 Remove gratuitous cast.
33729
ff420223 337302009-09-23 Colin Watson <cjwatson@ubuntu.com>
33731
33732 * configure.ac: Call AC_PROG_MKDIR_P.
33733 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33734 version.texi in $(builddir) rather than $(srcdir).
33735 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33736 to makeinfo's @include search path.
33737
d96875df 337382009-09-23 Felix Zielcke <fzielcke@z-51.de>
33739
33740 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33741
9b3f8365 337422009-09-23 Felix Zielcke <fzielcke@z-51.de>
33743
33744 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33745 for `*.dpkg-new'.
33746
c44c90db 337472009-09-21 Colin Watson <cjwatson@ubuntu.com>
33748
33749 Build info documentation. Some code borrowed from Automake.
33750
33751 * configure.ac: Check for makeinfo.
33752 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33753 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33754 docs/version.texi.
33755 (MOSTLYCLEANFILES): Add vti.tmp.
33756 (docs/version.texi, docs/stamp-vti): Update automatically.
33757 (docs/grub.info): Build info documentation. Use --force and ignore
33758 errors for now.
33759 (all-local): Add $(INFOS).
33760 (install-local): Install info files.
33761 (uninstall): Uninstall info files.
33762 * docs/version.texi: Remove from revision control. This file is
33763 automatically generated on build now.
33764 * gendistlist.sh: Add `*.info'.
33765
e0b37bb5 337662009-09-21 Felix Zielcke <fzielcke@z-51.de>
33767
33768 * kern/term.c: Fix indentation.
33769
5a78865b 337702009-09-21 Felix Zielcke <fzielcke@z-51.de>
33771
33772 * util/hostdisk.c: Fix a comment.
33773
dace7e8a 337742009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33775
33776 Fix regression introduced in r2539.
33777
33778 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33779 to 0xA1.
33780
a83d079b 337812009-09-19 Colin Watson <cjwatson@ubuntu.com>
33782
33783 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 33784 os-prober. Under normal operation, it does not print anything to
33785 stderr; if it does, we need to debug it, and throwing away stderr
33786 makes that excessively difficult.
a83d079b 33787
be94a509 337882009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33789
33790 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33791
63f745e8 337922009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33793
33794 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33795 AC_LANG_PROGRAM from autoconf.
33796 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33797 prototypes (fixes warning).
33798
33799 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33800 `--disable-werror' was used.
33801
bbb2a70f 338022009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33803
33804 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33805 uninitialized `lastaddr'.
33806
77c24f1d 338072009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33808
0f0b8c87 33809 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33810
07197f23 338112009-09-14 Colin Watson <cjwatson@ubuntu.com>
33812
33813 * commands/test.c (get_fileinfo): Return immediately if
33814 grub_fs_probe fails.
33815
dabf1798 338162009-09-14 José Martínez <xosemp@gmail.com>
33817
33818 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33819
d52109a7 338202009-09-14 Colin Watson <cjwatson@ubuntu.com>
33821
33822 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33823 output.
33824
56532179 338252009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33826
33827 * configure.ac: Remove --enable-grub-pe2elf. Only build
33828 grub-pe2elf when needed by the build system itself.
33829 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33830
8ef070f5 338312009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33832
33833 * configure.ac: Bump version to 1.97~beta3.
33834 * docs/version.texi: Likewise.
33835
61229557 338362009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33837
33838 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33839 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33840 from here ...
33841 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33842 (grub_linux_setup_video): ... to here (with some adjustments).
33843
5c9f8d84 338442009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33845
33846 Fix memory corruption issue (spotted by Colin Watson).
33847
33848 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33849 causing returned size to be stored in an incorrect memory location.
33850 Fix use of uninitialized value when storing the returned size.
33851
e8f5d6e9 338522009-09-12 Yves Blusseau <blusseau@zetam.org>
33853
33854 Change clean rules to properly remove files
33855
33856 * genmk.rb: add new clean rules
33857 * Makefile.in (clean): add the new targets
33858 (mostlyclean): likewise
33859
cda2a409 338602009-09-11 Colin Watson <cjwatson@ubuntu.com>
33861
33862 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33863 to grub_uint64_t.
33864 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33865 non-resident files.
33866
86695375 338672009-09-11 Colin Watson <cjwatson@ubuntu.com>
33868
33869 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33870 part of bug #27349.
33871
8aa1541a 338722009-09-10 Felix Zielcke <fzielcke@z-51.de>
33873
33874 * util/grub-mkconfig.in: Make the created config mode 400 and
33875 print a warning if it fails.
33876
48d9bb0a 338772009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33878
33879 * util/grub.d/40_custom.in: Ask user to type custom entries below
33880 comment, rather than below 'exec tail' line.
33881
3b0521be 338822009-09-10 Colin Watson <cjwatson@ubuntu.com>
33883
33884 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33885 visible in grub.cfg.
33886
50051d55 338872009-09-10 Colin Watson <cjwatson@ubuntu.com>
33888
33889 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33890 file.
33891
c0d34387 338922009-09-10 Felix Zielcke <fzielcke@z-51.de>
33893
33894 * docs/grub.cfg: Add an example menu entry for memtest86+.
33895
80a608f3 338962009-09-09 Felix Zielcke <fzielcke@z-51.de>
33897
a2094832 33898 * config.guess: Update to latest version from config git.
80a608f3 33899 * config.sub: Likewise.
33900
99423078 339012009-09-08 Colin Watson <cjwatson@ubuntu.com>
33902
33903 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33904 unknown-command case. Fixes bug #27320.
33905
44454e4c 339062009-09-08 Felix Zielcke <fzielcke@z-51.de>
33907
33908 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33909 `help' if the command exists.
33910
e30d87ad 339112009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33912
33913 * INSTALL: Require GCC 4.1.3 or later.
33914
9a86f1ec 339152009-09-06 Yves Blusseau <blusseau@zetam.org>
33916
33917 * Makefile.in (RMKFILES): add i386-qemu.rmk
33918 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33919 $(srcdir)/stamp-h.in
33920
7f26d466 339212009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33922
33923 * util/grub-probe.c (probe): Comment out buggy codepath, which
33924 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33925 should be re-enabled after 1.97.
33926
3a613259 339272009-09-05 Felix Zielcke <fzielcke@z-51.de>
33928
33929 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33930 find searches for.
33931
197f76c7 339322009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33933
33934 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33935 unnecessary calls to grub_error.
33936
70ba68ce 339372009-09-04 Colin Watson <cjwatson@ubuntu.com>
33938
33939 * NEWS: Mention `keystatus' and Unicode fonts.
33940
4ff0d7a4 339412009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33942
33943 * configure.ac: Bump version to 1.97~beta2.
33944 * docs/version.texi: Likewise.
33945
77c55a87 339462009-09-03 Colin Watson <cjwatson@ubuntu.com>
33947
33948 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33949 containing unwind information in some cases where it previously did
33950 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33951 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33952 discussion.
33953
f79572cd 339542009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33955
33956 Embedding loadenv module into grub-emu
33957
33958 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33959 commands/loadenv.c
33960 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33961 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33962 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33963 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33964 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33965 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33966
93a81088 339672009-09-03 Magnus Granberg <zorry@ume.nu>
33968
33969 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33970 include -fPIE in the default specs.
33971 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33972 to TARGET_CFLAGS.
33973
160034b2 339742009-09-03 Felix Zielcke <fzielcke@z-51.de>
33975
33976 * INSTALL: Note that GNU Bison 2.3 or later is required.
33977
087c07c4 339782009-09-03 Colin Watson <cjwatson@ubuntu.com>
33979
33980 * kern/i386/pc/startup.S: Fix typo.
33981
cbf978c0 339822009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33983
33984 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33985 according to GCS.
33986
339872009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33988
33989 * docs/grub.texi (Naming convention): Describe one-based partition
33990 numbering.
33991 (Device syntax): Likewise.
33992 (File name syntax): Likewise.
33993 (Block list syntax): Likewise.
33994 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33995 menu.lst.
33996 (File name syntax): Likewise.
33997 (Command-line and menu entry commands): Document acpi, blocklist,
33998 crc, export, insmod, keystatus, ls, set, and unset commands.
33999
f3e8cdfd 340002009-09-02 Colin Watson <cjwatson@ubuntu.com>
34001
34002 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
34003 to avoid implying that only one of --shift, --ctrl, or --alt may be
34004 used.
34005
c0bc232b 340062009-09-02 Colin Watson <cjwatson@ubuntu.com>
34007
34008 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
34009 rather than comparing against S_IFREG, which will almost never work.
34010
aa0f752d 340112009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
34012
34013 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
34014 (write_blocklists): Likewise.
34015
ecb3166a 340162009-09-01 Colin Watson <cjwatson@ubuntu.com>
34017
34018 * script/lua/grub_lua.h (fputs): Supply a format string as the first
34019 argument to grub_printf.
34020
c403a125 340212009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 34022
34023 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 34024 non GNU test.
31aba781 34025
b5e7312c 340262009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34027
34028 * kern/file.c (grub_file_read): Spelling fix
34029
fe00f472 340302009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34031
34032 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
34033 loading of headers in some cases.
34034
cc55302e 340352009-08-30 Robert Millan <rmh.grub@aybabtu.com>
34036
34037 * configure.ac: Bump version to 1.97~beta1.
34038 * docs/version.texi: Likewise.
34039
5c90cdd2 340402009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 34041
34042 * include/grub/i386/xnu.h: Add license header.
34043 include grub/err.h explicitly.
34044
c90edae4 340452009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34046
34047 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
34048 to `ufs' in the vfs.root.mountfrom kernel parameter.
34049
d8888b5c 340502009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34051
34052 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
34053
34054 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
34055 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
34056
34057 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
34058 `ARRAY_SIZE' macro.
34059
6f07b921 340602009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34061
34062 * kern/file.c (grub_file_read): Check offset.
34063 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
34064 * fs/jfs.c (grub_jfs_read_file): Likewise.
34065 * fs/ntfs.c (grub_ntfs_read): Likewise.
34066 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
34067 * fs/minix.c (grub_minix_read_file): Correct offset check.
34068 * fs/ufs.c (grub_ufs_read_file): Likewise.
34069
b4f34077 340702009-08-28 Colin Watson <cjwatson@ubuntu.com>
34071
34072 * term/i386/pc/console.c (bios_data_area): Cast
34073 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
34074
e7c69859 340752009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34076
34077 1-bit optimised blitters.
34078
34079 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
34080 prototype.
34081 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34082 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34083 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34084 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34085 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34086 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34087 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
34088 function.
34089 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34090 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34091 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34092 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34093 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34094 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34095 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
34096 when possible.
34097 * video/video.c (grub_video_get_blit_format): Return
34098 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
34099
a57da43f 341002009-08-28 Colin Watson <cjwatson@ubuntu.com>
34101
34102 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
34103 the first argument to grub_printf.
34104
4cbe67e5 341052009-08-28 Colin Watson <cjwatson@ubuntu.com>
341062009-08-28 Robert Millan <rmh.grub@aybabtu.com>
34107
34108 Add `getkeystatus' terminal method. Add a new `keystatus' command
34109 to query it.
34110
34111 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
34112 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
34113 modifier key bitmasks.
34114 (struct grub_term_input): Add `getkeystatus' member.
34115 (grub_getkeystatus): Add prototype.
34116 * kern/term.c (grub_getkeystatus): New function.
34117
34118 * include/grub/i386/pc/memory.h
34119 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
34120 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
34121 Data Area layout.
34122 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
34123 (grub_console_term_input): Set `getkeystatus' member.
34124 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
34125 constants.
34126 (grub_usb_keyboard_getreport): Likewise.
34127 (grub_usb_keyboard_checkkey): Likewise.
34128 (grub_usb_keyboard_getkeystatus): New function.
34129 (grub_usb_keyboard_term): Set `getkeystatus' member.
34130
34131 * commands/keystatus.c: New file.
34132 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
34133 (keystatus_mod_SOURCES): New variable.
34134 (keystatus_mod_CFLAGS): Likewise.
34135 (keystatus_mod_LDFLAGS): Likewise.
34136 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
34137 commands/keystatus.c.
34138 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34139 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34140 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34141 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34142 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34143 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 34144
6e2a9085 341452009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34146
34147 Split befs.mod and afs.mod into *_be.mod and *.mod
34148
34149 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
34150 (grub_fstest_SOURCES): Likewise.
34151 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
34152 (afs_be_mod_SOURCES): New variable.
34153 (afs_be_mod_CFLAGS): Likewise.
34154 (afs_be_mod_LDFLAGS): Likewise.
34155 (befs_be_mod_SOURCES): Likewise.
34156 (befs_be_mod_CFLAGS): Likewise.
34157 (befs_be_mod_LDFLAGS): Likewise.
34158 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
34159 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34160 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34161 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34162 (grub_emu_SOURCES): Likewise.
34163 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34164 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34165 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34166 * fs/afs_be.c: New file.
34167 * fs/befs_be.c: New file.
34168 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
34169 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
34170 (U16): Replaced with ...
34171 (grub_afs_to_cpu16): ...this. All users updated.
34172 (U32): Replaced with ...
34173 (grub_afs_to_cpu32): ...this. All users updated.
34174 (U64): Replaced with ...
34175 (grub_afs_to_cpu64): ...this. All users updated.
34176 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
34177 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 34178 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 34179 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34180 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34181 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34182 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34183 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34184 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34185 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34186 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34187
32a71655 341882009-08-26 Bean <bean123ch@gmail.com>
34189
34190 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
34191 64-bit number.
34192 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
34193 (grub_xfs_inode_block): Change return type to grub_uint64_t.
34194 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
34195
552bf6c5 341962009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34197
34198 NetBSD memory map support.
34199
34200 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
34201 (grub_netbsd_btinfo_mmap_header): New structure.
34202 (grub_netbsd_btinfo_mmap_entry): Likewise.
34203 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
34204
1ae2078c 342052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34206
34207 Enable bsd.mod on coreboot.
34208
34209 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
34210 (bsd_mod_SOURCES): New variable.
34211 (bsd_mod_CFLAGS): Likewise.
34212 (bsd_mod_LDFLAGS): Likewise.
34213 (bsd_mod_ASFLAGS): Likewise.
34214 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
34215 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
34216
beefc598 342172009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34218
34219 Cleanup NetBSD root support.
34220
34221 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
34222 grub_bsd_get_device.
34223 Fix typo.
34224
3b76e68b 342252009-08-25 Felix Zielcke <fzielcke@z-51.de>
34226
34227 * util/grub.d/00_header.in: Move check for the video backend of
34228 gfxterm from here ...
34229 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
34230 a suitable video backend.
34231
aea664ea 342322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34233
34234 Fix breakage in grub-setup.
34235
34236 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
34237 "msdos_partition_map".
34238
ff747d50 342392009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34240
34241 Fix breakage in normal/auth.c.
34242
34243 * normal/auth.c (grub_iswordseparator): New function.
34244
e7e1f93f 342452009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34246
34247 Authentication support.
34248
34249 * commands/password.c: New file.
34250 * conf/common.rmk (pkglib_MODULES): Add password.mod.
34251 (password_mod_SOURCES): New variable.
34252 (password_mod_CFLAGS): Likewise.
34253 (password_mod_LDFLAGS): Likewise.
34254 (normal_mod_SOURCES): Add normal/auth.c.
34255 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
34256 normal/auth.c.
34257 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34258 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34259 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34260 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34261 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34262 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34263 * include/grub/auth.h: New file.
34264 * include/grub/err.h (grub_err_t): New enum value
34265 GRUB_ERR_ACCESS_DENIED.
34266 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
34267 'users'.
34268 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
34269 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
34270 users updated.
34271 * normal/auth.c: New file.
34272 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
34273 (grub_cmdline_run): Don't allow to go to command line without
34274 authentication.
34275 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
34276 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
34277 menuentry without superuser rights.
34278 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
34279 user isn't a superuser.
34280
70f1161d 342812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34282
34283 Save space by inlining misc.c functions.
34284
34285 * kern/misc.c (grub_iswordseparator): Made static.
34286 * kern/misc.c (grub_strcat): Moved from here ...
34287 * include/grub/misc.h (grub_strcat): ... here. Inlined.
34288 * kern/misc.c (grub_strncat): Moved from here ...
34289 * include/grub/misc.h (grub_strncat): ... here. Inlined.
34290 * kern/misc.c (grub_strcasecmp): Moved from here ...
34291 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
34292 * kern/misc.c (grub_strncasecmp): Moved from here ...
34293 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
34294 * kern/misc.c (grub_isalpha): Moved from here ...
34295 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
34296 * kern/misc.c (grub_isdigit): Moved from here ...
34297 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
34298 * kern/misc.c (grub_isgraph): Moved from here ...
34299 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
34300 * kern/misc.c (grub_tolower): Moved from here ...
34301 * include/grub/misc.h (grub_tolower): ... here. Inlined.
34302
48e40bff 343032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34304
34305 * script/sh/function.c (grub_script_function_find): Cut error message
34306 not to flood terminal.
34307 * script/sh/lexer.c (grub_script_yylex): Remove command line length
34308 limit.
34309 * script/sh/script.c (grub_script_arg_add): Duplicate string.
34310
c385bfc3 343112009-08-24 Colin Watson <cjwatson@ubuntu.com>
34312
34313 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
34314 `report' grub_uint8_t *.
34315 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
34316 Use a 50-millisecond timeout rather than just repeating
34317 grub_usb_keyboard_getreport 50 times.
34318 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
34319
2d21e3e8 343202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34321
34322 Rename *_partition_map to part_*
34323
34324 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
34325 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
34326 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
34327 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
34328 All users updated.
34329 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
34330 All users updated.
34331 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
34332 * util/grub-probe.c (probe_partmap): Don't transform partition name
34333 to get module name.
34334
dd103c4e 343352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34336
34337 Fix OpenBSD and NetBSD support.
34338
34339 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
34340 memory address conflict.
34341 (OPENBSD_MMAP_ACPI): New definition.
34342 (OPENBSD_MMAP_NVS): Likewise.
34343 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34344 and OPENBSD_MMAP_NVS.
34345 Add memory map terminator
34346 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 34347 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 34348
16c84d74 343492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34350
34351 Let user specify NetBSD root device.
34352
34353 * loader/i386/bsd.c (netbsd_root): New variable.
34354 (netbsd_opts): New option 'root'.
34355 (NETBSD_ROOT_ARG): New macro.
34356 (grub_netbsd_boot): Use 'netbsd_root'.
34357 (grub_bsd_unload): Free 'netbsd_root'.
34358 (grub_cmd_netbsd): Fill 'netbsd_root'.
34359
adb29902 343602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34361
34362 Support for 64-bit NetBSD.
34363
34364 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34365 point when booting non-FreeBSD.
34366
f5ae9f74 343672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34368
34369 Support --no-smp and --no-acpi for NetBSD.
34370
34371 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34372 (NETBSD_AB_NOACPI): Likewise.
34373 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34374 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34375
de74f136 343762009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34377
34378 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34379 errors.
34380 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34381 errors. Call grub_error when needed.
34382
e9a925da 343832009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34384
34385 * commands/search.c (search_fs): Try searching without autoload first.
34386 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34387 filesystem module explicitly for faster booting.
34388
5174302b 343892009-08-23 Colin Watson <cjwatson@ubuntu.com>
34390
34391 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34392
c8c80635 343932009-08-23 Colin Watson <cjwatson@ubuntu.com>
34394
34395 * util/grub.d/30_os-prober.in: Disable os-prober if
34396 `GRUB_DISABLE_OS_PROBER' was set to true.
34397
71acf5e5 343982009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34399
34400 * partmap/pc.c: Rename to ...
34401 * partmap/msdos.c: ... this. Update all users.
34402 (grub_pc_partition_map): Rename to ...
34403 (grub_msdos_partition_map): ... this. Update all users.
34404
34405 * parttool/pcpart.c: Rename to ...
34406 * parttool/msdospart.c: ... this. Update all users.
34407
34408 * include/grub/pc_partition.h: Rename to ...
34409 * include/grub/msdos_partition.h: ... this. Update all users.
34410 (grub_pc_partition_bsd_entry): Rename to ...
34411 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34412 (grub_pc_partition_disk_label): Rename to ...
34413 (grub_msdos_partition_disk_label): ... this. Update all users.
34414 (grub_pc_partition_entry): Rename to ...
34415 (grub_msdos_partition_entry): ... this. Update all users.
34416 (grub_pc_partition_mbr): Rename to ...
34417 (grub_msdos_partition_mbr): ... this. Update all users.
34418 (grub_pc_partition): Rename to ...
34419 (grub_msdos_partition): ... this. Update all users.
34420 (grub_pc_partition_is_empty): Rename to ...
34421 (grub_msdos_partition_is_empty): ... this. Update all users.
34422 (grub_pc_partition_is_extended): Rename to ...
34423 (grub_msdos_partition_is_extended): ... this. Update all users.
34424 (grub_pc_partition_is_bsd): Rename to ...
34425 (grub_msdos_partition_is_bsd): ... this. Update all users.
34426
34427 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34428 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34429 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34430 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34431 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34432 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34433 (gpt_mod_LDFLAGS): Rename to ...
34434 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34435 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34436 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34437 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34438 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34439 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34440 (part_gpt_mod_LDFLAGS): ... this.
34441 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34442 `pcpart.mod' to `msdospart.mod'.
34443 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34444 to ...
34445 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34446 (msdospart_mod_LDFLAGS): ... this.
34447
c11fded5 344482009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34449
34450 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34451 (openbsd_opts): Likewise.
34452 (netbsd_opts): Likewise.
34453 (freebsd_flags): Added 0 terminator.
34454 (openbsd_flags): Likewise.
34455 (netbsd_flags): Likewise.
34456 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34457 (grub_cmd_freebsd): Transformed into extended command.
34458 (grub_cmd_openbsd): Likewise.
34459 (grub_cmd_netbsd): Likewise.
34460 (cmd_freebsd): Changed type to grub_extcmd_t.
34461 (cmd_openbsd): Likewise.
34462 (cmd_netbsd): Likewise.
34463 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34464 grub_cmd_openbsd as extended commands.
34465 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34466 cmd_netbsd and cmd_openbsd
34467
11d1c769 344682009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34469
34470 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34471
7a9094e5 344722009-08-21 Pavel Roskin <proski@gnu.org>
34473
5496c37e 34474 * Makefile.in (install-local): When checking if a file is in the
34475 build directory, use "test -e" to detect symlinks.
34476
7a9094e5 34477 * Makefile.in (install-local): Remove all files in
34478 $(DESTDIR)$(pkglibdir) before installing new files there.
34479
e53cea11 344802009-08-18 Felix Zielcke <fzielcke@z-51.de>
34481
34482 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
34483 grub-mkelfimage.
34484
9aced544 344852009-08-18 Felix Zielcke <fzielcke@z-51.de>
34486
34487 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34488 explicitly specified by the user.
34489
b7da6bab 344902009-08-18 Pavel Roskin <proski@gnu.org>
34491
34492 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34493 grub_uint8_t pointer for data.
34494 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34495 Likewise.
34496 * video/fb/fbutil.c: Remove unnecessary casts.
34497
19f1b335 344982009-08-17 Michal Suchanek <hramrach@centrum.cz>
34499
34500 VBE cleanup.
34501
34502 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
34503 (grub_vbe_set_video_mode): Save active mode info
34504 only after setting the mode.
34505 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
34506 second argument.
34507
2f467aa9 345082009-08-17 Michal Suchanek <hramrach@centrum.cz>
34509
34510 Rename variables for clarity.
34511
34512 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
34513 (active_vbe_mode_info): ... this. All users updated.
34514 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34515 All users updated.
34516 (initial_mode): Rename to ...
34517 (initial_vbe_mode): ... this. All users updated.
34518 (mode_in_use): Rename to ..
34519 (vbe_mode_in_use): ... this. All users updated.
34520 (mode_list): Rename to ..
34521 (vbe_mode_list): ... this. All users updated.
34522 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34523 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34524 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34525 'mode_list_size' to 'vbe_mode_list_size'.
34526 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34527 'best_mode_info' to 'best_vbe_mode_info' and
34528 'best_mode' to 'best_vbe_mode'
34529
6025fcd7 345302009-08-17 Michal Suchanek <hramrach@centrum.cz>
34531
34532 Remove duplicate grub_video_fb_get_video_ptr.
34533
34534 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34535 (grub_video_fb_get_video_ptr): ... this.
34536 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34537 * video/fb/fbutil.c: Add comment about addressing.
34538 (get_data_ptr): Rename to ...
34539 (grub_video_fb_get_video_ptr): ... this. All users updated.
34540 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34541
cc8c6faf 345422009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34543
34544 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34545 grub_dprintf() that was just added.
34546
08aa61f0 345472009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34548
34549 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34550 (DEFAULT_VIDEO_MODE): Remove macros.
34551 (grub_linux_boot): Remove assumption that Linux has FB support,
34552 and use "text" as default video mode.
34553
7cef4f75 345542009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34555
34556 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34557 grub_dprintf.
34558 * fs/fat.c (grub_fat_read_data): Likewise.
34559
e1f39873 345602009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34561
34562 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34563 payload.
34564 (grub_module): Likewise.
34565
c166d79e 345662009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34567
34568 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34569 mbi->cmdline but free playground.
34570
c60cee8e 345712009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34572
34573 Handle group offset on UFS1.
34574
34575 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34576 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34577
c0d8b5d4 345782009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34579
34580 Split ufs.mod into ufs1.mod and ufs2.mod.
34581
34582 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34583 (grub_fstest_SOURCES): Likewise.
34584 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34585 (ufs_mod_SOURCES): Remove.
34586 (ufs_mod_CFLAGS): Likewise.
34587 (ufs_mod_LDFLAGS): Likewise.
34588 (ufs1_mod_SOURCES): New variable.
34589 (ufs1_mod_CFLAGS): Likewise.
34590 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 34591 (ufs2_mod_SOURCES): New variable.
34592 (ufs2_mod_CFLAGS): Likewise.
34593 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 34594 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34595 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34596 Likewise.
34597 (grub_emu_SOURCES): Likewise.
34598 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34599 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34600 (grub_setup_SOURCES): Likewise.
34601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34602 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34603 (grub_setup_SOURCES): Likewise.
34604 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34605 Likewise.
34606 * fs/ufs2.c: New file.
34607 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34608
d3539132 346092009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34610
34611 Framebuffer split.
34612
34613 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34614 subsystem at the end.
34615 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34616 (video_fb_mod_SOURCES): New variable.
34617 (video_fb_mod_CFLAGS): Likewise.
34618 (video_fb_mod_LDFLAGS): Likewise.
34619 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34620 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34621 * video/i386/pc/vbeblit.c: Moved from here ...
34622 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34623 * video/i386/pc/vbefill.c: Moved from here ...
34624 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34625 * video/i386/pc/vbeutil.c: Moved from here ...
34626 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34627 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34628 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34629 * include/grub/i386/pc/vbefill.h: Moved from here ...
34630 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34631 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34632 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34633 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34634 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34635 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34636 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34637 (grub_video_adapter): Added 'get_info_and_fini'.
34638 (grub_video_get_info_and_fini): New prototype.
34639 (grub_video_set_mode): make modestring const char *.
34640 * loader/i386/linux.c (grub_linux_setup_video): Use
34641 grub_video_get_info_and_fini.
34642 (grub_linux_boot): Move modesetting just before booting.
34643 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34644 grub_video_get_info_and_fini.
34645 * video/i386/pc/vbe.c: Moved framebuffer part ...
34646 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34647 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34648 grub_video_fbstd_colors and grub_video_fb_set_palette.
34649 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34650 grub_video_fb_init.
34651 (grub_video_vbe_fini): Use grub_video_fb_fini.
34652 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34653 render_target and use grub_video_fb_set_active_render_target and
34654 grub_video_fb_set_palette.
34655 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34656 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34657 (grub_video_vbe_adapter): Use framebuffer.
34658 * video/video.c (grub_video_get_info_and_fini): New function.
34659 (grub_video_set_mode): Make modestring const char *.
34660 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34661 values are already initialised.
34662
d404ee56 346632009-08-14 Pavel Roskin <proski@gnu.org>
34664
34665 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34666 ABS and APPLE_CC.
34667 * boot/i386/pc/diskboot.S: Likewise.
34668 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34669 sectors allow compilation on MacOSX.
34670 * conf/i386-pc.rmk: Enable unconditional compilation of
34671 lnxboot.img.
34672
9a10df16 346732009-08-13 Colin Watson <cjwatson@ubuntu.com>
34674
34675 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34676 * util/grub.d/00_header.in: Enter interruptible sleep if
34677 GRUB_HIDDEN_TIMEOUT is set.
34678
be3c9ca7 346792009-08-13 Yves Blusseau <blusseau@zetam.org>
34680
34681 * include/grub/symbol.h: Add the LOCAL macro.
34682 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34683 starting with "L_".
34684
1f9e557e 346852009-08-13 Pavel Roskin <proski@gnu.org>
34686
9ca62843 34687 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34688 any modern compilers we support.
34689
1f9e557e 34690 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34691 Use local labels starting with "L_" so that Apple assembler
34692 knows they are local.
34693
81623db6 346942009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34695
34696 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34697 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34698 (bsd_kernel_types): ... this enum.
34699
34700 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34701 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34702 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34703
34704 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34705 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34706 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34707 messages.
34708
f5d35e7a 347092009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34710
34711 * util/grub-dumpdevtree: Moved from here ...
34712 * util/i386/efi/grub-dumpdevtree: ... to here.
34713 (hexify): New function. Converts a string to its hex version.
34714 Generate hex versions of "efi" and "device-properties" by calling
34715 hexify() on the ASCII strings rather than by hardcoding numbers.
34716
d1e1d527 347172009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34718
34719 * fs/jfs.c: Update copyright year.
34720
1ebbe064 347212009-08-08 Felix Zielcke <fzielcke@z-51.de>
34722
34723 * util/grub.d/00_header.in: Fix a comment.
34724 * util/grub.d/10_linux.in: Likewise.
34725 * util/grub.d/10_windows.in: Likewise.
34726 * util/grub.d/10_hurd.in: Likewise.
34727
a78c8d24 347282009-08-08 Felix Zielcke <fzielcke@z-51.de>
34729
34730 * util/grub-mkconfig.in: Allow the user to specify the used font
34731 with GRUB_FONT.
34732
29a6b9e8 347332009-08-08 Pavel Roskin <proski@gnu.org>
34734
b5f16cc4 34735 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34736 available, xfs.mod needs it now.
34737
2f5cb827 34738 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34739 the "g" modifier in sed when the intention is to strip something
34740 once. This fixes comparison of kernels with multiple dashes.
34741
29a6b9e8 34742 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34743 on it. Add missing space before closing bracket. Fix
34744 misleading formatting.
34745
892a3d98 347462009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34747
34748 * docs/grub.texi: Major overhaul. Remove all sections that are
34749 specific to GRUB Legacy, or mostly composed of Legacy-specific
34750 information.
34751
ed94253f 347522009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34753
34754 * docs/version.texi: New file. Provides version information for
34755 grub.texi.
34756
126d6628 347572009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34758
34759 * docs/grub.texi: Update CVS information to SVN.
34760 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34761
998b5aa9 347622009-08-07 Felix Zielcke <fzielcke@z-51.de>
34763
34764 * util/grub-mkconfig.in: Remove a wrong `fi'.
34765
818e094a 347662009-08-07 Felix Zielcke <fzielcke@z-51.de>
34767
34768 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34769 (grub_jfs_uuid): New function.
34770 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34771
b969c52f 347722009-08-07 Felix Zielcke <fzielcke@z-51.de>
34773
34774 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34775 of it to ...
34776 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34777 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34778
7a4894cc 347792009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34780
34781 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34782 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34783 Update all users.
34784
34785 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34786 not just "vmlinu[zx]".
34787 Moved from here ...
34788 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34789 all users.
34790
34791 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34792 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34793 all users.
34794
4e2171f8 347952009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34796
34797 * util/grub.d/10_freebsd.in: Use an absolute device path for
34798 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34799
6dcfcb32 348002009-08-06 Felix Zielcke <fzielcke@z-51.de>
34801
34802 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34803 handling of multiple abstraction modules.
34804
f56a8756 348052009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34806
34807 Fix a bug resulting in black screen when loading Linux using a
34808 packed video mode.
34809
34810 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34811 function.
34812
34813 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34814 (grub_vbe_bios_getset_dac_palette_width): New function.
34815 (grub_vbe_bios_get_dac_palette_width)
34816 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34817 grub_vbe_bios_getset_dac_palette_width()).
34818
34819 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34820 check for return status.
34821 (grub_vbe_get_video_mode_info): When getting information for a packed
34822 mode (<= 8 bpp), obtain DAC palette width using
34823 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34824 {red,green,blue}_mark_size.
34825
222671b2 348262009-08-04 Felix Zielcke <fzielcke@z-51.de>
34827
ecb1a6d9 34828 * commands/search.c (options): Fix help output to match actual code.
222671b2 34829
f84114f5 348302009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34831
34832 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34833 of homegrown code.
34834
bd288a20 348352009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34836
34837 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34838 on XFS or ReiserFS.
34839
8aab5e25 348402009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34841
34842 Support Apple partition map with sector size different from 512 bytes.
34843
34844 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34845 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34846 and 'apart.partmap_size'.
34847
6ad6258a 348482009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
348492009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34850
34851 Fix cpuid command.
34852
34853 * commands/i386/cpuid.c (options): New variable.
34854 (grub_cmd_cpuid): Return real error.
34855 (GRUB_MOD_INIT(cpuid)): Declare options.
34856
67459bc6 348572009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34858
34859 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34860 valid.
34861
fbc6ab54 348622009-07-31 Bean <bean123ch@gmail.com>
34863
34864 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34865 log2_inode.
34866 (grub_fshelp_node): Move inode field to the end.
34867 (grub_xfs_data): Remove inode field.
34868 (grub_xfs_inode_block): Calculate inode size using sblock.
34869 (grub_xfs_inode_offset): Likewise.
34870 (grub_xfs_read_inode): Calculate inode size using sblock.
34871 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34872 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34873 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34874 to match inode size.
34875 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34876 not accessible when data is null.
34877 (grub_xfs_open): Likewise.
34878
f45d6cfc 348792009-07-31 Bean <bean123ch@gmail.com>
34880
34881 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34882 Don't change pv->disk if it's already set.
34883
34884 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34885 (grub_raid_register): ... here.
34886 (grub_raid_rescan): Removed.
34887
34888 * include/grub/raid.h (grub_raid_rescan): Removed.
34889
34890 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34891 (fstest): Replace grub_raid_rescan with module fini function followed
34892 by init function.
34893
34894 * util/grub-probe.c: Add include file <grub/raid.h>.
34895 (probe_raid_level): New function.
34896 (probe): Detect abstraction by walking the disk device, support two
34897 level of abstraction (LVM on RAID) when detecting partition map.
34898
24443b5a 348992009-07-31 Pavel Roskin <proski@gnu.org>
34900
34901 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34902 to grub_zalloc(), it was erroneous.
34903 Reported by Bean <bean123ch@gmail.com>
34904
a275d9e7 349052009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34906
34907 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34908 embedding zone, not only the first one.
a275d9e7 34909
56c5a47f 349102009-07-29 Joe Auricchio <jauricchio@gmail.com>
34911
34912 * term/gfxterm.c (clear_char): New function.
34913 (grub_virtual_screen_setup): Use clear_char.
34914 (scroll_up): Likewise.
34915 (grub_virtual_screen_cls): Likewise.
34916
67bb323a 349172009-07-29 Felix Zielcke <fzielcke@z-51.de>
34918
34919 * util/deviceiter.c (get_acceleraid_disk_name): New static
34920 function.
34921 (grub_util_iterate_devices): Handle Accelraid devices.
34922 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34923
388a7c75 349242009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34925
34926 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34927 separator for the suggested gfxpayload string (';' collides with the
34928 parser and needs escaping).
34929
3bb7abcf 349302009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34931
34932 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34933 Clear direction flag before jumping to OS.
34934 (grub_multiboot2_real_boot): Likewise.
34935
2ddd36d7 349362009-07-28 Felix Zielcke <fzielcke@z-51.de>
34937
34938 * util/i386/pc/grub-install: Fix parsing of --disk-module
34939 option.
34940
c521b62b 349412009-07-28 Felix Zielcke <fzielcke@z-51.de>
34942
34943 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34944 when embedding.
34945
880e0a0c 349462009-07-26 Felix Zielcke <fzielcke@z-51.de>
34947
34948 * util/grub-mkconfig.in (package_version): New variable.
34949 Use it do display the version.
34950
2366e356 349512009-07-25 Felix Zielcke <fzielcke@z-51.de>
34952
34953 * kern/file.c (grub_file_open): Revert to previous check with
34954 grub_errno.
34955
7ad8c80e 349562009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34957
34958 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34959 from help line. It's out of sync with code.
34960
72b9658b 349612009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34962
34963 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34964 entries on failed boot.
34965
77435277 349662009-07-25 Felix Zielcke <fzielcke@z-51.de>
34967
34968 * kern/file.c (grub_file_open): Fix an error check.
34969
fcaa8b21 349702009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34971
35d16c74 34972 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34973 partition map couldn't be identified.
fcaa8b21 34974
48904cd1 349752009-07-23 Pavel Roskin <proski@gnu.org>
34976
ef3c317f 34977 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34978 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34979 case of little endian words becomes just an optimization.
34980 Respect const modifier.
ad8ea1f4 34981 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34982
48904cd1 34983 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34984 to avoid loss of upper bits if align is unsigned and shorter
34985 than addr.
34986
260c9a89 349872009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34988
34989 UUID support for UFS
34990
34991 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34992 (grub_ufs_uuid): New function.
34993 (grub_ufs_fs): add .uuid
34994
f76ce889 349952009-07-21 Pavel Roskin <proski@gnu.org>
34996
34997 * kern/dl.c (grub_dl_check_header): Make static.
34998
6a6cbcaf 349992009-07-21 Felix Zielcke <fzielcke@z-51.de>
35000
35001 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
35002 add drivemap for Vista. It breaks Windows 7.
35003
cffcddb2 350042009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35005
35006 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
35007 128 bytes
35008
1ef44b80 350092009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35010
35011 Add BFS support
35012
35013 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
35014 (grub_fstest_SOURCES): Likewise.
35015 (pkglib_MODULES): Add befs.mod.
35016 (befs_mod_SOURCES): New variable.
35017 (befs_mod_CFLAGS): Likewise.
35018 (befs_mod_LDFLAGS): Likewise.
35019 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35020 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35021 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35022 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35023 (grub_setup_SOURCES): Likewise.
35024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35025 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35026 (grub_setup_SOURCES): Likewise.
35027 * fs/befs.c: New file.
35028 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
35029 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
35030 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
35031 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
35032 (B_KEY_INDEX_ALIGN): New declaration.
35033 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
35034 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
35035 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
35036 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
35037 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
35038 (grub_afs_mount) [MODE_BFS]: Likewise.
35039 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
35040 (grub_afs_fs): Use GRUB_AFS_FSNAME
35041 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
35042 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
35043 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
35044 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
35045
4f253044 350462009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
35047
35048 * util/getroot.c (find_root_device): Add support for MacOSX.
35049 * util/hostdisk.c: Likewise.
35050
57a55913 350512009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35052
35053 * font/font.c (find_glyph): Check whether a font is present to avoid
35054 segmentation fault.
75421ca9 35055
350562009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 35057
35058 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
35059
e98cd0c2 350602009-07-20 Pavel Roskin <proski@gnu.org>
35061
35062 * configure.ac: Trim excessively wordy excuses.
35063
1d2d169a 350642009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35065
35066 Add symlink, mtime and label support to AtheFS.
35067
35068 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
35069 (grub_afs_iterate_dir): Handle symlinks.
35070 (grub_afs_open): Use grub_afs_read_symlink.
35071 (grub_afs_dir): Likewise.
35072 Pass mtime.
35073 (grub_afs_label): New function.
35074 (grub_afs_fs): Add grub_afs_label.
35075 (grub_afs_read_symlink): New function.
35076
186f3189 350772009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35078
35079 Fix AtheFS support.
35080
35081 * fs/afs.c: Fix comments style.
35082 (grub_afs_blockrun): Declare as packed.
35083 (grub_afs_datastream): Likewise.
35084 (grub_afs_bnode): Likewise.
35085 (grub_afs_btree): Likewise.
35086 (grub_afs_sblock): Likewise.
35087 Declare `name' as char.
35088 (grub_afs_inode): Declare as packed.
35089 Change void *vnode to grub_uint32_t unused.
35090 (grub_afs_iterate_dir): Check that key_size is positive.
35091 (grub_afs_mount): Don't read superblock twice.
75421ca9 35092 (grub_afs_dir): Don't free node in case of error,
186f3189 35093 grub_fshelp_find_file already handles this.
35094 (grub_afs_open): Likewise.
35095
5680109e 350962009-07-19 Pavel Roskin <proski@gnu.org>
35097
35098 * Makefile.in: Remove LIBLZO and enable_lzo.
35099 * conf/i386-pc.rmk: Remove lzo support.
35100 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
35101 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
35102 support.
35103 * kern/i386/pc/lzo1x.S: Remove.
35104 * kern/i386/pc/startup.S: Remove lzo support.
35105 * util/i386/pc/grub-mkimage.c: Likewise.
35106
ac70fa32 351072009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
35108
35109 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
35110 * fs/xfs.c (grub_xfs_dir): Likewise.
35111 * fs/afs.c (grub_afs_dir): Likewise.
35112 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
35113 (grub_iso9660_open): Likewise.
35114 * fs/jfs.c (grub_jfs_open): Likewise.
35115 * fs/ext2.c (grub_ext2_dir): Likewise.
35116 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
35117 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 35118
eab58da2 351192009-07-16 Pavel Roskin <proski@gnu.org>
35120
d2838156 35121 * configure.ac: Never add "-c" to CFLAGS.
35122
55c70904 35123 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
35124
43e6200c 35125 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
35126 grub_cv_cc_efiemu should be used.
35127
ce7a733d 35128 * configure.ac: Typo fixes.
35129
eab58da2 35130 * kern/mm.c (grub_zalloc): New function.
35131 (grub_debug_zalloc): Likewise.
35132 * include/grub/mm.h: Declare grub_zalloc() and
35133 grub_debug_zalloc().
35134 * util/misc.c (grub_zalloc): New function.
35135 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
35136 instead of grub_malloc(), remove unneeded initializations.
35137 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
35138 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
35139 * commands/parttool.c (grub_cmd_parttool): Likewise.
35140 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
35141 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
35142 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
35143 * disk/usbms.c (grub_usbms_finddevs): Likewise.
35144 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
35145 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
35146 (grub_cmd_efiemu_pnvram): Likewise.
35147 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
35148 * fs/iso9660.c (grub_iso9660_mount): Likewise.
35149 (grub_iso9660_iterate_dir): Likewise.
35150 * fs/jfs.c (grub_jfs_opendir): Likewise.
35151 * fs/ntfs.c (list_file): Likewise.
35152 (grub_ntfs_mount): Likewise.
35153 * kern/disk.c (grub_disk_open): Likewise.
35154 * kern/dl.c (grub_dl_load_core): Likewise.
35155 * kern/elf.c (grub_elf_file): Likewise.
35156 * kern/env.c (grub_env_context_open): Likewise.
35157 (grub_env_set): Likewise.
35158 (grub_env_set_data_slot): Likewise.
35159 * kern/file.c (grub_file_open): Likewise.
35160 * kern/fs.c (grub_fs_blocklist_open): Likewise.
35161 * loader/i386/multiboot.c (grub_module): Likewise.
35162 * loader/xnu.c (grub_xnu_create_key): Likewise.
35163 (grub_xnu_create_value): Likewise.
35164 * normal/main.c (grub_normal_add_menu_entry): Likewise.
35165 (read_config_file): Likewise.
35166 * normal/menu_entry.c (make_screen): Likewise.
35167 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35168 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
35169 * script/sh/script.c (grub_script_parse): Likewise.
35170 * video/bitmap.c (grub_video_bitmap_create): Likewise.
35171 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
35172 * video/readers/png.c (grub_png_output_byte): Likewise.
35173 (grub_video_reader_png): Likewise.
35174
830afef7 351752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 35176
35177 Enable all targets that can be built by default
35178
830afef7 35179 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 35180 grub-mkfont and grub-fstest if they can be built
35181
ee293aee 351822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35183
35184 Fix hang and segmentation fault in grub-emu-usb
35185
35186 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
35187 * util/usb.c (grub_libusb_devices): likewise
35188 (grub_libusb_init): rename to ...
35189 (GRUB_MOD_INIT (libusb)):...this
35190 (grub_libusb_fini): rename to ..
35191 (GRUB_MOD_FINI (libusb)):...this
35192 * disk/usbms.c (grub_usbms_transfer): fix retry logic
35193 * include/grub/disk.h (grub_raid_init): removed, it's useless
35194 (grub_raid_fini): likewise
35195 (grub_lvm_init): likewise
35196 (grub_lvm_fini): likewise
35197 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
35198 by grub_init_all
35199
94414221 352002009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35201
35202 Fix libusb
35203
35204 * Makefile.in (LIBUSB): new macro
35205 * genmk.rb (Utility/print_tail): new method
35206 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
35207 (top level): call util.print_tail at the end.
35208
59ade63d 352092009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35210
35211 Make FreeBSD accept zpool.cache
35212
35213 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
35214 type is /boot/zfs/zpool.cache
35215
a58da8c7 352162009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35217
35218 Fix 64-bit efiemu
35219
35220 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
35221 correct wrong typedef
35222 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
35223
20591577 352242009-07-15 Pavel Roskin <proski@gnu.org>
35225
560ca572 35226 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
35227 * kern/disk.c (struct grub_disk_cache): Likewise.
35228
e8e8e4fd 35229 * commands/probe.c (options): Typo fix.
35230
fde24e10 35231 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
35232 Increase to 0x5a to accommodate FAT32. Adjust other offsets
35233 accordingly.
35234 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
35235
379c54c1 35236 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
35237 the end of "Error" to make the message more readable.
35238
7bd8f5bf 35239 * boot/i386/pc/boot.S (kernel_segment): Remove.
35240 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
35241 for destination.
35242
40b132c5 35243 * boot/i386/pc/boot.S (boot_version): Remove.
35244 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
35245 Remove.
35246
20591577 35247 * include/grub/i386/pc/boot.h: Sort all offsets.
35248 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
35249 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
35250 * boot/i386/pc/boot.S: Assert location of every offset listed in
35251 include/grub/i386/pc/boot.h.
35252
2df32b2c 352532009-07-13 Pavel Roskin <proski@gnu.org>
35254
44b5d879 35255 * include/grub/i386/coreboot/machine.h: Rename
35256 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
35257 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
35258 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
35259
17dc3751 35260 * kern/dl.c: Force native word size to suppress warnings when
35261 compiling grub-emu.
35262
2df32b2c 35263 * kern/device.c (grub_device_iterate): Change struct part_ent to
35264 hold the name, not a pointer to it. Use one grub_malloc() per
35265 partition, not two. Free partition_name if grub_malloc() fails.
35266 Set ents to NULL only before grub_partition_iterate() is called.
35267
75c59f59 352682009-07-11 Bean <bean123ch@gmail.com>
35269
35270 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
35271 childname.
35272
0ae1bf88 352732009-07-10 Bean <bean123ch@gmail.com>
352742009-07-10 Robert Millan <rmh.grub@aybabtu.com>
35275
35276 * kern/ieee1275/openfw.c (grub_children_iterate)
35277 (grub_devalias_iterate): Fix size evaluation for property or path
35278 strings, which was broken since r2132.
35279
8279cade 352802009-07-07 Pavel Roskin <proski@gnu.org>
35281
7d8a52d3 35282 * commands/search.c (search_file): Merge into ...
35283 (search_fs): ... this. Accept search type as argument.
35284 (grub_cmd_search): Pass search type to search_fs().
35285
25f9a05a 35286 * include/grub/util/console.h: New file.
35287 * util/console.c: Use it instead of grub/machine/console.h.
35288 * util/grub-emu.c: Likewise.
35289
8279cade 35290 * lib/arg.c (find_long_option): Remove.
35291 (find_long): Add `len' argument, make `s' const char *.
35292 (grub_arg_parse): Parse long options in place, not in a
35293 temporary buffer.
35294
4a11b60f 352952009-07-06 Pavel Roskin <proski@gnu.org>
35296
99f68041 35297 * commands/search.c (search_fs): Fix potential NULL pointer
35298 dereference.
35299
4a11b60f 35300 * commands/search.c (search_fs): Replace QUID macro with quid_fn
35301 function pointer.
35302
e110f4de 353032009-07-06 Daniel Mierswa <impulze@impulze.org>
35304
35305 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
35306 comparison.
35307
46eeb6a2 353082009-07-05 Pavel Roskin <proski@gnu.org>
35309
bab74958 35310 * include/grub/i386/linux.h (struct linux_kernel_params):
35311 Restore padding3, it's still needed.
35312
46eeb6a2 35313 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
35314 FreeBSD.
35315 * util/osdetect.lua: Likewise.
35316
b4a1dc79 353172009-07-05 Bean <bean123ch@gmail.com>
35318
35319 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
35320
35321 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
35322 (grub_lua_getenv): Likewise.
35323 (grub_lua_setenv): Likewise.
35324 (save_errno): New function.
35325 (push_result): Likewise.
35326 (grub_lua_enum_device): Likewise.
35327 (grub_lua_enum_file): Likewise.
35328 (grub_lua_file_open): Likewise.
35329 (grub_lua_file_close): Likewise.
35330 (grub_lua_file_seek): Likewise.
35331 (grub_lua_file_read): Likewise.
35332 (grub_lua_file_getline): Likewise.
35333 (grub_lua_file_getsize): Likewise.
35334 (grub_lua_file_getpos): Likewise.
35335 (grub_lua_file_eof): Likewise.
35336 (grub_lua_file_exist): Likewise.
35337 (grub_lua_add_menu): Likewise.
35338
35339 * script/lua/grub_lua.h (isupper): New inline function.
35340 (islower): Likewise.
35341 (ispunct): Likewise.
35342 (isxdigit): Likewise.
35343 (strcspn): Change to normal function.
35344 (strpbkr): New function declaration.
35345 (memchr): Likewise.
35346
35347 * script/lua/grub_main.c (scan_str): New function.
35348 (strcspn): Likewise.
35349 (strpbrk): Likewise.
35350 (memchr): Likewise.
35351
35352 * script/lua/linit.c (lualibs): Enable the string library.
35353
35354 * util/osdetect.lua: New file.
35355
2da92295 353562009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35357
35358 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35359 `capabilities' member.
35360
b2582ec9 353612009-07-02 Pavel Roskin <proski@gnu.org>
35362
35363 * genparttoollist.sh: Add missing newline at the end.
35364
32622956 353652009-07-01 Pavel Roskin <proski@gnu.org>
35366
87a7339e 35367 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35368
d23af54e 35369 * util/hostdisk.c (open_device): Remove `const' from
35370 `sysctl_size', as sysctlbyname() can change it (in this case it
35371 doesn't actually happen).
35372
c94b18a9 35373 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35374 using signed long int constants.
35375
c6cd3ef0 35376 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35377 constant to avoid a warning on FreeBSD.
35378
0df63420 35379 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35380 where it's needed.
35381
999577f1 35382 * Makefile.in: Install include/grub/machine symlink.
35383
6f41557f 35384 * Makefile.in: When installing symlinks, use "cp -fR", which
35385 works on FreeBSD and MacOSX.
35386 From Yves Blusseau <cl7m42e02@sneakemail.com>
35387
c8d22988 35388 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35389 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35390
1b96e952 35391 * util/misc.c: Move grub_reboot() and grub_halt() ...
35392 * util/grub-emu.c: ... here. Make main_env static.
35393 * include/grub/util/misc.h: Remove main_env.
35394
2ef0084d 35395 * kern/mm.c: Use correct format to print size_t.
35396
32622956 35397 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35398 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35399 * kern/powerpc/dl.c: Likewise.
35400 * kern/sparc64/dl.c: Likewise.
35401 * kern/x86_64/dl.c: Likewise.
35402
3f7f0cd0 354032009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35404
35405 Fix grub-emu build on sparc64-ieee1275.
35406
75421ca9 35407 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 35408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35409
211d06b5 354102009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35411
35412 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35413 (grub_reboot, grub_halt): New functions.
35414
35415 * util/i386/pc/misc.c: Delete. Update all users.
35416 * util/sparc64/ieee1275/misc.c: Likewise.
35417 * util/powerpc/ieee1275/misc.c: Likewise.
35418
aaf53e3c 354192009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35420
35421 * conf/i386.rmk (setjmp_mod_SOURCES)
35422 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35423 * conf/common.rmk (setjmp_mod_SOURCES)
35424 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35425 to use $(target_cpu).
35426 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35427 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35428 * conf/powerpc-ieee1275.rmk: Likewise.
35429 * conf/sparc64-ieee1275.rmk: Likewise.
35430
35431 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35432 $(target_cpu) for kern/$(target_cpu)/dl.c.
35433 * conf/i386-efi.rmk: Likewise.
35434 * conf/i386-ieee1275.rmk: Likewise.
35435 * conf/x86_64-efi.rmk: Likewise.
35436 * conf/i386-coreboot.rmk: Likewise.
35437 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35438 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35439 kern/$(target_cpu)/cache.S.
35440 * conf/sparc64-ieee1275.rmk: Likewise.
35441
a337130b 354422009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35443
35444 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35445 type to `grub_uint8_t', and adjust `padding9' accordingly.
35446
c6fe4d53 354472009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35448
b09db61d 35449 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35450
c6fe4d53 35451 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35452 assembly in final jump, using register constraints.
35453
b09db61d 35454 (grub_linux_boot): For text mode, initialize `have_vga' using
35455 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35456
35457 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35458 right before the final jump.
35459
35460 Set `video_mode' to 0x3.
35461
35462 Document initialization of `video_page', `video_mode' and
35463 `video_ega_bx'.
35464
28333ad0 354652009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35466
35467 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35468 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 35469 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 35470
02164e1b 354712009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35472
35473 Fix build on Debian / sparc.
35474
35475 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
35476
18b6c557 354772009-06-28 Pavel Roskin <proski@gnu.org>
35478
85f2aab6 35479 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
35480 fix a warning.
35481
18b6c557 35482 * util/grub.d/10_linux.in: Match SUSE style initrd names.
35483
ad760f81 354842009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35485
35486 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35487 `err'.
35488
87a4623b 354892009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35490
35491 Revert r2338.
35492
35493 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35494 file can't be opened. grub_file_open() is already supposed to set
75421ca9 35495 grub_errno / grub_errmsg appropriately.
87a4623b 35496 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35497
8231fb77 354982009-06-27 Pavel Roskin <proski@gnu.org>
354992009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35500
35501 * include/grub/dl.h: Include grub/elf.h.
35502 (struct grub_dl): Add symtab field.
35503 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
35504 GRUB_MODULES_MACHINE_READONLY.
35505 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
35506 of the header for read-only modules.
35507 (grub_dl_unload): Free mod->symtab for read-only modules.
35508 * kern/i386/dl.c: Use mod->symtab.
35509 * kern/powerpc/dl.c: Likewise.
35510 * kern/sparc64/dl.c: Likewise.
35511 * kern/x86_64/dl.c: Likewise.
35512
35513 * conf/i386-qemu.rmk: New file.
35514 * kern/i386/qemu/startup.S: Likewise.
35515 * kern/i386/qemu/mmap.c: Likewise.
35516 * boot/i386/qemu/boot.S: Likewise.
35517 * include/grub/i386/qemu/time.h: Likewise.
35518 * include/grub/i386/qemu/serial.h: Likewise.
35519 * include/grub/i386/qemu/kernel.h: Likewise.
35520 * include/grub/i386/qemu/console.h: Likewise.
35521 * include/grub/i386/qemu/boot.h: Likewise.
35522 * include/grub/i386/qemu/init.h: Likewise.
35523 * include/grub/i386/qemu/machine.h: Likewise.
35524 * include/grub/i386/qemu/loader.h: Likewise.
35525 * include/grub/i386/qemu/memory.h: Likewise.
35526
35527 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35528 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35529 [qemu] (pkglib_IMAGES): Add `boot.img'.
35530 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35531 [qemu] (boot_img_FORMAT): New variables.
35532 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35533 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35534 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35535 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35536 [qemu] (kernel_img_FORMAT): New variables.
35537
35538 * configure.ac: Recognise `i386-qemu'.
35539
35540 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35541 (for no compression).
35542 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35543 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35544 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35545 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35546 ifdefs).
35547
97fe384e 355482009-06-27 Pavel Roskin <proski@gnu.org>
35549
35550 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35551 read.
35552 * efiemu/prepare32.c: Likewise.
35553 * efiemu/prepare64.c: Likewise.
35554
c402ab17 355552009-06-26 Pavel Roskin <proski@gnu.org>
35556
35557 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35558 * include/grub/elf.h: Define symbols without "32" or "64" based
35559 on GRUB_TARGET_WORDSIZE.
35560 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
35561 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
35562 ELF definitions.
35563 * efiemu/loadcore64.c: Likewise.
35564 * loader/i386/bsd32.c: Likewise.
35565 * loader/i386/bsd64.c: Likewise.
35566 * kern/dl.c: Remove own ELF definitions.
35567 * util/i386/efi/grub-mkimage.c: Likewise.
35568
9bbdfd4d 355692009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35570
35571 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35572 segment 0x0 unconditionally, because the reference generated by
35573 GAS is an absolute address.
35574
a42ce6e9 355752009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35576
35577 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35578 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35579
c952cf92 355802009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35581
35582 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35583 indexes. Check for -f explicitly.
cc3752ad 35584 (search_file): Improve error message.
35585 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 35586
132a0a59 355872009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35588
35589 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35590 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35591
387a140c 355922009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35593
35594 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35595 * conf/i386-ieee1275.rmk: Likewise.
35596 * conf/i386-coreboot.rmk: Likewise.
35597
35598 * kern/i386/pc/startup.S (grub_stop): Remove function.
35599 * kern/i386/ieee1275/startup.S: Likewise.
35600 * kern/i386/coreboot/startup.S: Likewise.
35601 * kern/i386/misc.S (grub_stop): New function.
35602
41da9665 356032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35604
35605 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35606 * kern/i386/realmode.S (real_to_prot): ... to here.
35607
bf337234 356082009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35609
35610 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35611 with `kernel.img'.
35612 (kernel_elf_SOURCES): Rename to ...
35613 (kernel_img_SOURCES): ... this.
35614 (kernel_elf_HEADERS): Rename to ...
35615 (kernel_img_HEADERS): ... this. Update all users.
35616 (kernel_elf_ASFLAGS): Rename to ...
35617 (kernel_img_ASFLAGS): ... this.
35618 (kernel_elf_CFLAGS): Rename to ...
35619 (kernel_img_CFLAGS): ... this.
35620 (kernel_elf_LDFLAGS): Rename to ...
35621 (kernel_img_LDFLAGS): ... this.
35622 * conf/i386-coreboot.rmk: Likewise.
35623 * conf/powerpc-ieee1275.rmk: Likewise.
35624
35625 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35626 with "kernel.img".
35627
f52196ff 356282009-06-21 Pavel Roskin <proski@gnu.org>
35629
c3cee413 35630 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35631 to match nested functions.
35632 * loader/sparc64/ieee1275/linux.c: Likewise.
35633
f52196ff 35634 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35635
58750afc 356362009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35637
35638 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35639 all i386 platforms.
35640
15355c7d 356412009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35642
35643 Fix asm file handling on ELF, and remove workarounds.
35644
35645 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 35646 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35647 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35648 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35649
3f3ec72b 356502009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35651
35652 Load BSD ELF modules
35653
35654 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35655 and loader/i386/bsd64.c
35656 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35657 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35658 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35659 (grub_freebsd_load_elfmodule32): New declaration
35660 (grub_freebsd_load_elfmoduleobj64): Likewise
35661 (grub_freebsd_load_elf_meta32): Likewise
35662 (grub_freebsd_load_elf_meta64): Likewise
35663 (grub_freebsd_add_meta): Likewise
35664 (grub_freebsd_add_meta_module): Likewise
35665 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35666 (grub_freebsd_add_meta_module): Likewise and move module-specific
35667 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35668 (grub_cmd_freebsd): Add elf-kernel specific parts
35669 based on grub_freebsd_add_meta_module
35670 (grub_cmd_freebsd_module): Add type parsing moved from
35671 grub_freebsd_add_meta_module
35672 (grub_cmd_freebsd_module_elf): New function
35673 (cmd_freebsd_module_elf): New variable
35674 (GRUB_MOD_INIT): Register freebsd_module_elf
35675 * loader/i386/bsd32.c: New file
35676 * loader/i386/bsd64.c: Likewise
35677 * loader/i386/bsdXX.c: Likewise
35678 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35679 (grub_elf64_load): Likewise
35680 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35681 All users updated
35682 (grub_elf64_load_hook_t): Likewise
35683
0db15301 356842009-06-21 Colin Watson <cjwatson@ubuntu.com>
35685
35686 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35687 variable.
35688 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35689 don't write a menu entry for recovery mode.
35690
546796c1 356912009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35692
35693 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35694 after it's no longer needed.
35695
cd7310d5 356962009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35697
35698 * include/grub/i386/loader.h (grub_linux_prot_size)
35699 (grub_linux_tmp_addr, grub_linux_real_addr)
35700 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35701 GRUB_MACHINE_PCBIOS.
35702 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35703 common grub_util_info() call to ...
35704 (generate_image): ... here.
35705 Fix use of uninitialized memory, comparison of signed with
35706 unsigned integers and memory leak.
35707 Remove bogus module address message.
35708
ab32d3b5 357092009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35710
35711 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35712 grub_raid_register
35713 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35714
024ef597 357152009-06-19 Pavel Roskin <proski@gnu.org>
35716
35717 * configure.ac: Remove stray AC_MSG_CHECKING.
35718
3ac72b51 357192009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35720
35721 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 35722
e14cd814 357232009-06-18 Pavel Roskin <proski@gnu.org>
35724
35725 * conf/common.rmk: Add fs_file.mod.
35726 * disk/fs_file.c: New file.
35727 * include/grub/disk.h (enum grub_disk_dev_id): Add
35728 GRUB_DISK_DEVICE_FILE_ID.
35729
26586d98 357302009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35731
35732 Fix build with Apple's toolchain. Part 2
35733
35734 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35735 a fake start
35736
26de2bcd 357372009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35738
35739 Fix build with Apple's toolchain. Part 1
35740
35741 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35742 for long calls
35743 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35744 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35745 Apple's toolchain
35746
09b3490b 357472009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35748
35749 Fix warnings
35750
35751 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35752 (decomp_block): initialize ch
35753 use grub_memcpy instead of memcpy
35754
c22a006a 357552009-06-17 Pavel Roskin <proski@gnu.org>
35756
d3638678 35757 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35758 version, use declarations needed to use vga_text as the startup
35759 console.
35760
c22a006a 35761 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35762 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35763 the kernel.
35764 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35765 and grub_at_keyboard_fini(), it's done on module load and
35766 unload.
35767
05b129e0 357682009-06-17 Felix Zielcke <fzielcke@z-51.de>
35769
35770 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35771 file can't be found.
35772 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35773
cf24ed9e 357742009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35775
35776 Fix newline handling
35777
35778 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 35779 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 35780 (grub_script_yylex): don't segfault on unterminated script
35781 newline terminates command and variable
35782
74aa8e4b 357832009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35784
35785 avoid double grub_adjust_range call. Bug reported by David Simner
35786
35787 * kern/disk.c (grub_disk_write): change to raw disk access before
35788 calling disk_read
35789
1bd265f3 357902009-06-17 Colin Watson <cjwatson@ubuntu.com>
35791
35792 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35793 spaces, for the benefit of help2man.
35794 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35795
a2d08c06 357962009-06-16 Pavel Roskin <proski@gnu.org>
35797
35798 * kern/i386/halt.c: Include grub/machine/init.h.
35799 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35800
b97bcb19 358012009-06-16 Felix Zielcke <fzielcke@z-51.de>
35802
35803 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35804 drivemap menuentry.
35805
0644f96c 358062009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35807
35808 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35809 `echo' command.
35810
3ef17a2e 358112009-06-16 Pavel Roskin <proski@gnu.org>
35812
35813 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35814 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35815 save %dx, we only need %dl and we never change it.
35816 * boot/i386/pc/cdboot.S: Don't set the root drive.
35817 * boot/i386/pc/pxeboot.S: Likewise.
35818 * include/grub/i386/pc/boot.h: Remove
35819 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35820 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35821 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35822 * kern/i386/pc/init.c (make_install_device): Remove references
35823 to grub_root_drive.
35824 * kern/i386/pc/startup.S: Likewise.
35825 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35826
693fe637 358272009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35828
35829 xnu_uuid command
35830
35831 * commands/xnu_uuid.c: new file
35832 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35833 (xnu_uuid_mod_SOURCES): new variable
35834 (xnu_uuid_mod_CFLAGS): likewise
35835 (xnu_uuid_mod_LDFLAGS): likewise
35836 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35837 * conf/i386-ieee1275.rmk: likewise
35838 * conf/i386-pc.rmk: likewise
35839 * conf/powerpc-ieee1275.rmk: likewise
35840 * conf/sparc64-ieee1275.rmk: likewise
35841 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35842
c9da87d0 358432009-06-16 Pavel Roskin <proski@gnu.org>
35844
35845 * configure.ac: Avoid '==' in test command, it's not portable.
35846
9c6f4596 358472009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35848
35849 Probe command
35850
35851 * commands/probe.c: new file
35852 * conf/common.rmk (pkglib_MODULES): add probe.mod
35853 (probe_mod_SOURCES): new variable
35854 (probe_mod_CFLAGS): likewise
35855 (probe_mod_LDFLAGS): likewise
35856 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35857 * conf/i386-ieee1275.rmk: likewise
35858 * conf/i386-pc.rmk: likewise
35859 * conf/powerpc-ieee1275.rmk: likewise
35860 * conf/sparc64-ieee1275.rmk: likewise
35861
70b7f9fd 358622009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35863
35864 Fix handling of string like \"hello\" and "a
35865 b"
35866
35867 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35868 (grub_script_yylex): fix parsing of quoting, escaping and newline
35869
71c79a6b 358702009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35871
dd74360c 35872 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35873 handling
dd74360c 35874
0644f96c 358752009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35876
35877 * util/grub-mkconfig.in: Fix parsing of --output option.
35878
e40893c3 358792009-06-12 Pavel Roskin <proski@gnu.org>
35880
35881 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35882 genmk.rb don't need to be generated or installed.
35883
3a1acfe2 358842009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35885
35886 * commands/i386/pc/drivemap_int13h.S: add more comments
35887
3a4575d4 358882009-06-11 Pavel Roskin <proski@gnu.org>
35889
0658e928 35890 * Makefile.in (uninstall): Uninstall manuals.
35891
ca0388f0 35892 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35893 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35894 and update-grub_lib in two places.
35895 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35896
e3b27c39 35897 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35898 a compiler warning.
35899
3a4575d4 35900 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35901 `entry_lo' to fix variable shadowing.
35902
af1f4f55 359032009-06-11 Christian Franke <franke@computer.org>
35904
35905 * kern/misc.c (__enable_execute_stack): Add missing return type
35906 to prevent gcc warning.
35907
5225e649 359082009-06-11 Felix Zielcke <fzielcke@z-51.de>
35909
35910 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35911
7d83bd47 359122009-06-11 Pavel Roskin <proski@gnu.org>
35913
c1cb63ba 35914 * Makefile.in: Don't rely on any scripts being executable.
35915 Always use $(SHELL) to run shell scripts.
35916
7d83bd47 35917 * configure.ac: Always define ___main if using -nostdlib. This
35918 fixes tests on Cygwin.
35919
948f48e7 359202009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35921
35922 UDF fix
35923
7d83bd47 35924 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35925 is in bytes and not in blocks
7d83bd47 35926
8ada9bc1 359272009-06-11 Pavel Roskin <proski@gnu.org>
35928
35929 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35930 warning.
35931
25ad2323 359322009-06-11 Felix Zielcke <fzielcke@z-51.de>
35933
35934 * util/grub.d/30_os-prober.in: Fix a comment. Source
35935 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35936 to set the root device. Place drivemap command in the generated
35937 chain entry.
35938
e65acb0c 359392009-06-11 Pavel Roskin <proski@gnu.org>
35940
35941 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35942 have long been resolved.
35943
f285fe2d 359442009-06-11 Colin Watson <cjwatson@ubuntu.com>
35945
bd47b0b5 35946 * util/grub.d/10_linux.in: Capitalise "Linux".
35947
f285fe2d 35948 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35949
a0c62e4e 359502009-06-11 Pavel Roskin <proski@gnu.org>
35951
b6783cb2 35952 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35953 fix a gcc warning and ensure that the function won't ever exit.
35954
dde032e8 35955 * kern/i386/ieee1275/init.c: Add missing prototype for
35956 grub_stop_floppy().
35957
22cd079d 35958 * loader/ieee1275/multiboot2.c [__i386__]: Include
35959 grub/cpu/multiboot.h.
35960
a0c62e4e 35961 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35962 casts to short - they are not portable and cause warnings. Fix
35963 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35964
63963d17 359652009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35966
35967 Drivemap fixes
35968
35969 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35970 new function
35971 (grub_get_root_biosnumber_saved): new variable
35972 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35973 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35974 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35975 %dx after the call if necessary
35976 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35977 (boot_mod_SOURCES): remove
35978 (boot_mod_CFLAGS): remove
35979 (boot_mod_LDFLAGS): remove
35980 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35981 (boot_mod_SOURCES): new variable
35982 (boot_mod_CFLAGS): likewise
35983 (boot_mod_LDFLAGS): likewise
35984 * conf/i386-efi.rmk: likewise
35985 * conf/i386-ieee1275.rmk: likewise
35986 * conf/i386-pc.rmk: likewise
35987 * conf/powerpc-ieee1275.rmk: likewise
35988 * conf/sparc64-ieee1275.rmk: likewise
35989 * conf/x86_64-efi.rmk: likewise
35990 * include/grub/i386/pc/biosnum.h: new file
35991 * lib/i386/pc/biosnum.c: likewise
35992 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35993 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35994 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35995
33abf7ae 359962009-06-10 Pavel Roskin <proski@gnu.org>
35997
5ac35b35 35998 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35999 Use separate variables. Read only the file size at the end, but
36000 not the checksum that we don't use.
36001
5c5215d5 36002 * kern/file.c (grub_file_read): Use void pointer for the buffer.
36003 Adjust all callers.
36004
27d5fef7 36005 * kern/ieee1275/openfw.c: Remove libc includes.
36006 * kern/ieee1275/cmain.c: Likewise.
36007 * include/grub/ieee1275/ieee1275.h: Likewise.
36008
33abf7ae 36009 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
36010 compiler warnings.
36011
19d50c2b 360122009-06-10 Felix Zielcke <fzielcke@z-51.de>
36013
36014 * Makefile.in: Remove all trailing whitespace.
36015 * conf/i386-pc.rmk: Likewise.
36016 * conf/powerpc-ieee1275.rmk: Likewise.
36017 * conf/sparc64-ieee1275.rmk: Likewise.
36018 * docs/grub.texi: Likewise.
36019 * docs/texinfo.tex: Likewise.
36020 * disk/fs_uuid.c: Likewise.
36021 * disk/lvm.c: Likewise.
36022 * disk/scsi.c: Likewise.
36023 * disk/ata.c: Likewise.
36024 * disk/ieee1275/ofdisk.c: Likewise.
36025 * disk/i386/pc/biosdisk.c: Likewise.
36026 * disk/host.c: Likewise.
36027 * disk/raid.c: Likewise.
36028 * disk/efi/efidisk.c: Likewise.
36029 * disk/usbms.c: Likewise.
36030 * disk/memdisk.c: Likewise.
36031 * disk/loopback.c: Likewise.
36032 * kern/powerpc/dl.c: Likewise.
36033 * kern/device.c: Likewise.
36034 * kern/dl.c: Likewise.
36035 * kern/sparc64/dl.c: Likewise.
36036 * kern/ieee1275/ieee1275.c: Likewise.
36037 * kern/term.c: Likewise.
36038 * kern/fs.c: Likewise.
36039 * kern/i386/dl.c: Likewise.
36040 * kern/i386/pc/startup.S: Likewise.
36041 * kern/i386/pc/init.c: Likewise.
36042 * kern/i386/pc/mmap.c: Likewise.
36043 * kern/i386/pc/lzo1x.S: Likewise.
36044 * kern/i386/ieee1275/init.c: Likewise.
36045 * kern/i386/realmode.S: Likewise.
36046 * kern/i386/tsc.c: Likewise.
36047 * kern/partition.c: Likewise.
36048 * kern/corecmd.c: Likewise.
36049 * kern/file.c: Likewise.
36050 * kern/efi/efi.c: Likewise.
36051 * kern/efi/init.c: Likewise.
36052 * kern/efi/mm.c: Likewise.
36053 * kern/main.c: Likewise.
36054 * kern/err.c: Likewise.
36055 * kern/env.c: Likewise.
36056 * kern/disk.c: Likewise.
36057 * kern/generic/millisleep.c: Likewise.
36058 * kern/generic/rtc_get_time_ms.c: Likewise.
36059 * kern/misc.c: Likewise.
36060 * kern/parser.c: Likewise.
36061 * genmk.rb: Likewise.
36062 * configure.ac: Likewise.
36063 * boot/i386/pc/diskboot.S: Likewise.
36064 * boot/i386/pc/pxeboot.S: Likewise.
36065 * boot/i386/pc/boot.S: Likewise.
36066 * boot/i386/pc/lnxboot.S: Likewise.
36067 * boot/i386/pc/cdboot.S: Likewise.
36068 * parttool/pcpart.c: Likewise.
36069 * video/readers/tga.c: Likewise.
36070 * video/video.c: Likewise.
36071 * video/bitmap.c: Likewise.
36072 * lib/envblk.c: Likewise.
36073 * lib/i386/setjmp.S: Likewise.
36074 * fs/xfs.c: Likewise.
36075 * fs/afs.c: Likewise.
36076 * fs/fat.c: Likewise.
36077 * fs/ntfs.c: Likewise.
36078 * fs/udf.c: Likewise.
36079 * fs/affs.c: Likewise.
36080 * fs/iso9660.c: Likewise.
36081 * fs/hfs.c: Likewise.
36082 * fs/fshelp.c: Likewise.
36083 * fs/ext2.c: Likewise.
36084 * fs/jfs.c: Likewise.
36085 * fs/reiserfs.c: Likewise.
36086 * fs/hfsplus.c: Likewise.
36087 * fs/minix.c: Likewise.
36088 * fs/cpio.c: Likewise.
36089 * fs/sfs.c: Likewise.
36090 * fs/ufs.c: Likewise.
36091 * efiemu/prepare.c: Likewise.
36092 * efiemu/loadcore_common.c: Likewise.
36093 * efiemu/runtime/efiemu.sh: Likewise.
36094 * efiemu/runtime/efiemu.S: Likewise.
36095 * efiemu/runtime/efiemu.c: Likewise.
36096 * efiemu/pnvram.c: Likewise.
36097 * efiemu/main.c: Likewise.
36098 * efiemu/i386/pc/cfgtables.c: Likewise.
36099 * efiemu/i386/loadcore64.c: Likewise.
36100 * efiemu/i386/loadcore32.c: Likewise.
36101 * efiemu/loadcore.c: Likewise.
36102 * efiemu/symbols.c: Likewise.
36103 * efiemu/mm.c: Likewise.
36104 * include/grub/autoefi.h: Likewise.
36105 * include/grub/datetime.h: Likewise.
36106 * include/grub/term.h: Likewise.
36107 * include/grub/hfs.h: Likewise.
36108 * include/grub/lvm.h: Likewise.
36109 * include/grub/i386/tsc.h: Likewise.
36110 * include/grub/i386/linux.h: Likewise.
36111 * include/grub/i386/xnu.h: Likewise.
36112 * include/grub/i386/efiemu.h: Likewise.
36113 * include/grub/i386/pc/biosdisk.h: Likewise.
36114 * include/grub/i386/pc/memory.h: Likewise.
36115 * include/grub/i386/pc/vbe.h: Likewise.
36116 * include/grub/parttool.h: Likewise.
36117 * include/grub/video.h: Likewise.
36118 * include/grub/memory.h: Likewise.
36119 * include/grub/fs.h: Likewise.
36120 * include/grub/partition.h: Likewise.
36121 * include/grub/xnu.h: Likewise.
36122 * include/grub/efi/api.h: Likewise.
36123 * include/grub/efi/pe32.h: Likewise.
36124 * include/grub/efi/memory.h: Likewise.
36125 * include/grub/multiboot.h: Likewise.
36126 * include/grub/usbdesc.h: Likewise.
36127 * include/grub/multiboot2.h: Likewise.
36128 * include/grub/acpi.h: Likewise.
36129 * include/grub/efiemu/efiemu.h: Likewise.
36130 * include/grub/disk.h: Likewise.
36131 * include/grub/ieee1275/ieee1275.h: Likewise.
36132 * include/grub/net.h: Likewise.
36133 * include/grub/machoload.h: Likewise.
36134 * include/grub/macho.h: Likewise.
36135 * include/multiboot.h: Likewise.
36136 * genmoddep.awk: Likewise.
36137 * normal/main.c: Likewise.
36138 * normal/menu_entry.c: Likewise.
36139 * normal/menu_viewer.c: Likewise.
36140 * normal/completion.c: Likewise.
36141 * normal/cmdline.c: Likewise.
36142 * normal/misc.c: Likewise.
36143 * normal/datetime.c: Likewise.
36144 * bus/usb/usbtrans.c: Likewise.
36145 * bus/usb/ohci.c: Likewise.
36146 * bus/usb/uhci.c: Likewise.
36147 * bus/usb/usb.c: Likewise.
36148 * mmap/efi/mmap.c: Likewise.
36149 * mmap/i386/pc/mmap_helper.S: Likewise.
36150 * mmap/i386/pc/mmap.c: Likewise.
36151 * mmap/i386/mmap.c: Likewise.
36152 * mmap/i386/uppermem.c: Likewise.
36153 * mmap/mmap.c: Likewise.
36154 * commands/acpi.c: Likewise.
36155 * commands/echo.c: Likewise.
36156 * commands/blocklist.c: Likewise.
36157 * commands/loadenv.c: Likewise.
36158 * commands/usbtest.c: Likewise.
36159 * commands/boot.c: Likewise.
36160 * commands/parttool.c: Likewise.
36161 * commands/search.c: Likewise.
36162 * commands/cat.c: Likewise.
36163 * commands/i386/pc/play.c: Likewise.
36164 * commands/i386/pc/drivemap.c: Likewise.
36165 * commands/i386/pc/vbeinfo.c: Likewise.
36166 * commands/i386/pc/acpi.c: Likewise.
36167 * commands/i386/pc/vbetest.c: Likewise.
36168 * commands/ls.c: Likewise.
36169 * commands/cmp.c: Likewise.
36170 * commands/test.c: Likewise.
36171 * commands/efi/acpi.c: Likewise.
36172 * commands/gptsync.c: Likewise.
36173 * commands/help.c: Likewise.
36174 * partmap/amiga.c: Likewise.
36175 * partmap/apple.c: Likewise.
36176 * partmap/acorn.c: Likewise.
36177 * partmap/pc.c: Likewise.
36178 * partmap/sun.c: Likewise.
36179 * partmap/gpt.c: Likewise.
36180 * script/sh/lexer.c: Likewise.
36181 * script/sh/function.c: Likewise.
36182 * font/font.c: Likewise.
36183 * font/font_cmd.c: Likewise.
36184 * loader/powerpc/ieee1275/linux.c: Likewise.
36185 * loader/efi/chainloader.c: Likewise.
36186 * loader/multiboot_loader.c: Likewise.
36187 * loader/macho.c: Likewise.
36188 * loader/i386/multiboot.c: Likewise.
36189 * loader/i386/linux.c: Likewise.
36190 * loader/i386/pc/linux.c: Likewise.
36191 * loader/i386/pc/multiboot2.c: Likewise.
36192 * loader/i386/pc/chainloader.c: Likewise.
36193 * loader/i386/pc/xnu.c: Likewise.
36194 * loader/i386/bsd_trampoline.S: Likewise.
36195 * loader/i386/efi/linux.c: Likewise.
36196 * loader/i386/multiboot_elfxx.c: Likewise.
36197 * loader/i386/bsd_helper.S: Likewise.
36198 * loader/i386/bsd.c: Likewise.
36199 * loader/i386/linux_trampoline.S: Likewise.
36200 * loader/i386/xnu_helper.S: Likewise.
36201 * loader/i386/xnu.c: Likewise.
36202 * loader/i386/bsd_pagetable.c: Likewise.
36203 * loader/i386/multiboot_helper.S: Likewise.
36204 * loader/xnu.c: Likewise.
36205 * loader/xnu_resume.c: Likewise.
36206 * io/gzio.c: Likewise.
36207 * term/efi/console.c: Likewise.
36208 * term/terminfo.c: Likewise.
36209 * term/ieee1275/ofconsole.c: Likewise.
36210 * term/i386/pc/serial.c: Likewise.
36211 * term/i386/pc/vesafb.c: Likewise.
36212 * term/i386/pc/vga.c: Likewise.
36213 * term/usb_keyboard.c: Likewise.
36214 * term/gfxterm.c: Likewise.
36215 * aclocal.m4: Likewise.
36216 * util/lvm.c: Likewise.
36217 * util/grub.d/30_os-prober.in: Likewise.
36218 * util/grub.d/10_hurd.in: Likewise.
36219 * util/console.c: Likewise.
36220 * util/grub-macho2img.c: Likewise.
36221 * util/grub-probe.c: Likewise.
36222 * util/hostfs.c: Likewise.
36223 * util/i386/pc/grub-mkimage.c: Likewise.
36224 * util/i386/pc/grub-setup.c: Likewise.
36225 * util/i386/efi/grub-mkimage.c: Likewise.
36226 * util/grub-mkconfig.in: Likewise.
36227 * util/raid.c: Likewise.
36228 * util/resolve.c: Likewise.
36229 * util/grub-mkdevicemap.c: Likewise.
36230 * util/grub-emu.c: Likewise.
36231 * util/getroot.c: Likewise.
36232 * util/hostdisk.c: Likewise.
36233 * util/usb.c: Likewise.
36234 * util/grub-editenv.c: Likewise.
36235 * util/misc.c: Likewise.
36236
d2d49665 362372009-06-10 Felix Zielcke <fzielcke@z-51.de>
36238
36239 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
36240 `genparttoollist.sh'.
36241 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
36242 Add `*.sh' to the list find searches for and change `mdate.sh'
36243 to `mdate-sh'.
36244
fe052e37 362452009-06-10 Pavel Roskin <proski@gnu.org>
36246
2763ac18 36247 * include/grub/multiboot2.h: Provide compatibility defines for
36248 multiboot2.h.
36249 * include/multiboot2.h: Include stdint.h only if needed, using
36250 angle brackets.
36251 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
36252 grub/multiboot2.h.
36253 * loader/ieee1275/multiboot2.c: Likewise.
36254 * loader/multiboot2.c: Likewise.
36255 * loader/multiboot_loader.c: Likewise.
36256
437e6adc 36257 * configure.ac: Use -nostdlib when probing for the target. It
36258 should not be required to have libc for the target.
36259
06a6836c 36260 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
36261 they fail without libc headers for the target.
36262 * include/grub/powerpc/libgcc.h: Use weak attribute for all
36263 exports.
36264 * include/grub/sparc64/libgcc.h: Likewise. Don't use
36265 preprocessor conditionals.
36266
fe052e37 36267 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
36268 build system doesn't need to be aware of the tar.c internals.
36269
afd22553 362702009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 36271
afd22553 36272 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 36273
6b787c4f 362742009-06-09 Robert Millan <rmh.grub@aybabtu.com>
36275
36276 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
36277 disk limit to 26 for IDE, Virtio, Xen and SCSI.
36278
362792009-06-09 Felix Zielcke <fzielcke@z-51.de>
36280
36281 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 36282 aren't available if ata.mod gets used.
6b787c4f 36283
473d1e45 362842009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 36285
473d1e45 36286 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 36287 initialising controller.
473d1e45 36288 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 36289
255a27d4 362902009-06-08 Felix Zielcke <fzielcke@z-51.de>
36291
36292 * util/i386/pc/grub-install.in: Add a parameter --disk-module
36293 to choose between ata and biosdisk module on i386-pc.
36294
473d1e45 362952009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 36296
d55842d8 36297 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
36298 Subclass and Programming Interface fields in terms of the 3 byte
36299 Class Code register.
36300 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36301
fa5db0b1 36302 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
36303 interface is OHCI. Add grub_dprintf for symmetry with
36304 bus/usb/uhci.c.
36305 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
36306 interface is UHCI. Add interf variable for programming
36307 interface. Print interface with class/subclass.
36308
c0947beb 36309 * bus/usb/ohci.c: Set interf with correct field.
36310
69da8877 36311 * bus/usb/uhci.c: Remove unneeded doubled lines.
36312 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
36313 Remove whitespace inside comment.
36314
9e172e30 363152009-06-08 Robert Millan <rmh.grub@aybabtu.com>
36316
36317 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
36318 as fallback an equivalent option without depth.
36319
de65ee2b 363202009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36321
36322 Not fail if unable to retrieve C/H/S on LBA disks
36323
473d1e45 36324 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 36325 if unable to retrieve C/H/S on LBA disks
36326
b57ea2c9 363272009-06-08 Pavel Roskin <proski@gnu.org>
36328
36329 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
36330 about aliasing.
36331
af361263 363322009-06-08 Felix Zielcke <fzielcke@z-51.de>
36333
36334 * Makefile.in (uninstall): Remove all $lib_DATA files.
36335
4c9ec6b3 363362009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36337
36338 Bugfix: install on partitionless device
36339
36340 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
36341 is a whole disk
36342
e76fc924 363432009-06-08 Felix Zielcke <fzielcke@z-51.de>
36344
36345 * Makefile.in (uninstall): Remove all $include_DATA files.
36346
ba5a0d05 363472009-06-08 Felix Zielcke <fzielcke@z-51.de>
36348
36349 * commands/true.c: New file. Implement the true and false commands.
36350 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36351 (true_mod_SOURCES): New variable.
36352 (true_mod_CFLAGS): Likewise.
36353 (true_mod_LDFLAGS): Likewise.
36354
c8048e32 363552009-06-05 Colin D Bennett <colin@gibibit.com>
36356
36357 Optimized font character lookup using binary search instead of linear
36358 search. Fonts now are required to have the character index ordered by
36359 code point.
36360
36361 * font/font.c (load_font_index): Verify that fonts have ordered
36362 character indices.
36363 (find_glyph): Use binary search instead of linear search to find a
36364 character in a font.
36365
408305be 363662009-06-05 Michael Scherer <misc@mandriva.org>
36367
36368 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36369 uses case sensitive btree.
36370 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36371 only for case insensitive filesystems.
36372
8ee1e0d9 363732009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36374
36375 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36376 * conf/common.rmk (search_mod_CFLAGS): likewise
36377
a9966eb1 363782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36379
473d1e45 36380 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 36381 compensate a compiler bug
36382
9e7100fb 363832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36384
473d1e45 36385 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 36386 instead of '\b'
473d1e45 36387
ede21d71 363882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36389
36390 Definitions for creating asm symbols with Apple's CC
36391
36392 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36393 [APPLE_CC] (VARIABLE): likewise
36394
9dbf7653 363952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36396
36397 Disable lnxboot.img when compiled
36398 with Apple's CC
36399
36400 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36401 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36402 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36403 [! APPLE_CC] (CODE_LENG): skip
36404 [! APPLE_CC] (setup_sects): likewise
36405 [! APPLE_CC]: skip filling
473d1e45 36406
e93cdc3d 364072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36408
36409 Address in trampolines based on 32-bit registers when compiled
36410 with Apple's CC
36411
473d1e45 36412 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 36413 for addresses
36414 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36415
6c688477 364162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36417
36418 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36419
36420 * kern/misc.c [APPLE_CC] (memcpy): new function
36421 [APPLE_CC] (memmove): likewise
36422 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 36423 (memcpy): define alias conditionally on !APPLE_CC
6c688477 36424 (memset): likewise
36425 (abort): likewise
36426 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36427 APPLE_CC are defined
36428 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36429 (grub_assert_fail): make prototype conditional
36430
e37ffc5c 364312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36432
36433 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36434
473d1e45 36435 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36436 grub-macho2img
e37ffc5c 36437 (CLEANFILES): add grub-macho2img
36438 (grub_macho2img_SOURCES): new variable
36439 * kern/i386/pc/startup.S (bss_start): new variable
36440 (bss_end): likewise
36441 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36442 * util/grub-macho2img.c: new file
36443
cf00df31 364442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36445
36446 Use objconv when compiling with Apple's CC
36447
36448 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36449 (efiemu64.o): likewise
36450 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36451 when compiling with Apple's CC
36452 (efiemu64_s.o): likewise
36453 * configure.ac: check for objconv when compiling with Apple's CC
36454 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 36455
d119a20c 364562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36457
36458 Define segment as well as section when compiling with
36459 Apple's CC
36460
36461 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36462 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36463 (efiemu_convert_pointer): likewise
36464 (efiemu_set_virtual_address_map): likewise
36465 (efiemu_convert_pointer): likewise
36466 (efiemu_getcrc32): likewise
36467 (init_crc32_table): likewise
36468 (reflect): likewise
36469 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36470 (GRUB_MOD_DEP): likewise
473d1e45 36471
c8600122 364722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36473
36474 Allow a compilation without -mcmodel=large
36475
36476 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
36477 when compiled without -mcmodel=large
473d1e45 36478 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 36479 without -mcmodel=large
473d1e45 36480 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 36481 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 36482
e8df1d4e 364832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36484
36485 Remove nested functions in efiemu core
36486
36487 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 36488
cc6c3ac1 364892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36490
36491 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36492
36493 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36494 temporary storage
473d1e45 36495 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36496 using Apple's CC
cc6c3ac1 36497 (grub_cpu_is_tsc_supported): likewise
36498 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 36499
3e325901 365002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36501
36502 Absolute addressing through constant with Apple's cc
36503
36504 * kern/i386/pc/startup.S: Define necessary constants
36505 and address through it when using ABS with Apple's CC
36506 * boot/i386/pc/diskboot.S: likewise
36507 * boot/i386/pc/boot.S: likewise
36508 * boot/i386/pc/lnxboot.S: likewise
36509 * boot/i386/pc/cdboot.S: likewise
36510 * mmap/i386/pc/mmap_helper.S: likewise
36511 * commands/i386/pc/drivemap_int13h.S: likewise
36512
2b167a72 365132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36514
36515 Check if compiler is apple cc
36516
36517 * Makefile.in (ASFLAGS): new variable
36518 (TARGET_ASFLAGS): likewise
36519 (TARGET_MODULE_FORMAT): likewise
36520 (TARGET_APPLE_CC): likewise
36521 (OBJCONV): likewise
36522 (TARGET_IMG_CFLAGS): likewise
36523 (TARGET_CPPFLAGS): add includedir
36524 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36525 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36526 Check for linker script only if compiler isn't Apple's CC
36527 (TARGET_MODULE_FORMAT): set
36528 (TARGET_APPLE_CC): likewise
36529 (TARGET_ASFLAGS): likewise
36530 (ASFLAGS): likewise
36531 Check for objcopy only if compiler isn't Apple's CC
36532 Check for BSS symbol only if compiler isn't Apple's CC
36533 * genmk.rb: adapt nm options if we use Apple's utils
36534 * aclocal.m4 (grub_apple_cc): new test
36535 (grub_apple_target_cc): likewise
473d1e45 36536
fb14123e 365372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36538
36539 Simplify sed expressions and improve awk
36540
36541 * Makefile.in (install-local): simplify sed expression
36542 * gencmdlist.sh: likewise
36543 * genmoddep.awk: avoid adding module as a dependency of itself
36544
5b889789 365452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36546
36547 Add missing start symbols
36548
36549 * boot/i386/pc/boot.S: add start
fb14123e 36550 * boot/i386/pc/pxeboot.S: likewise
473d1e45 36551
fd2bf2e3 365522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36553
36554 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 36555
36556 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 36557 (relocate_addresses): consider both r_addend and value at offset
36558 (make_mods_section): zerofill modinfo and header
36559 (convert_elf): write prefix here
473d1e45 36560
5389763d 365612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36562
36563 Use .asciz instead of .string
36564
36565 * i386/pc/diskboot.S: use .asciz instead of .string
36566 * i386/pc/boot.S: likewise
36567 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36568 (GRUB_MOD_NAME): likewise
473d1e45 36569
3eb5ed4e 365702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36571
36572 gfxpayload support
36573
36574 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36575 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36576 (grub_video_setup): remove
36577 (grub_video_set_mode): new prototype
36578 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36579 (vid_mode): remove
36580 (linux_vesafb_res): compile only on PCBIOS
36581 (grub_linux_boot): support gfxpayload
36582 * loader/i386/pc/xnu.c (video_hook): new function
36583 (grub_xnu_set_video): support gfxpayload
36584 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36585 (DEFAULT_VIDEO_HEIGHT): likewise
36586 (DEFAULT_VIDEO_FLAGS): likewise
36587 (DEFAULT_VIDEO_MODE): new definition
36588 (video_hook): new function
36589 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 36590 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 36591 loading xnu
36592 * video/video.c (grub_video_setup): removed
473d1e45 36593 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 36594 grub_video_setup
36595
4b0e1143 365962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36597
36598 Avoid calling biosdisk in drivemap
36599
36600 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36601 (revparse_biosdisk): likewise
36602 (list_mappings): derive name from id directly
36603 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 36604
fda6cb98 366052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36606
36607 Script fixes
36608
36609 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36610 (grub_lexer_param): add tokenonhold
36611 (grub_script_create_cmdline): remove cmdline. All callers updated
36612 (grub_script_function_create): make functionname
36613 grub_script_arg. All callers updated
36614 (grub_script_execute_argument_to_string): new prototype
36615 * kern/parser.c (state_transitions): reorder
36616 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 36617 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 36618 make global
36619 (grub_script_execute_cmdline): use new format
36620 * script/sh/function.c (grub_script_function_create): make functionname
36621 grub_script_arg. All callers updated
473d1e45 36622 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 36623 (grub_script_yylex): remove
36624 (grub_script_yylex2): renamed to ...
36625 (grub_script_yylex): ...renamed
36626 parse the expressions like a${b}c
36627 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36628 (GRUB_PARSER_TOKEN_VAR): remove
36629 (GRUB_PARSER_TOKEN_NAME): likewise
36630 ("if"): declare as typeless
36631 ("while"): likewise
36632 ("function"): likewise
36633 ("else"): likewise
36634 ("then"): likewise
36635 ("fi"): likewise
36636 (text): remove
36637 (argument): likewise
36638 (script): accept empty scripts and make exit on error
36639 (arguments): use GRUB_PARSER_TOKEN_ARG
36640 (function): likewise
36641 (command): move error handling to script
36642 (menuentry): move grub_script_lexer_ref before
473d1e45 36643 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 36644 argument. All callers updated
36645
f4448a07 366462009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36647
36648 Prevent GRUB from probing floppies during boot.
36649
36650 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36651 * commands/search.c (options): Add --no-floppy.
36652 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36653 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36654 --no-floppy when searching for UUIDs.
36655
2bf5885a 366562009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36657
36658 Simplify the code duplication in commands/search.c.
36659
36660 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36661 (search_fs): ... this. Update all users.
36662
f6fd460a 366632009-06-03 Felix Zielcke <fzielcke@z-51.de>
36664
36665 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36666
cbb3c83e 366672009-05-28 Pavel Roskin <proski@gnu.org>
36668
57788cfd 36669 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36670 Remove the original symlink explicitly.
36671
cbb3c83e 36672 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36673 just one slash. That's how grub_fshelp_find_file() does it.
36674
cd0d5e30 366752009-05-26 Pavel Roskin <proski@gnu.org>
36676
f0f8bbe2 36677 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36678 to `str'.
36679
cd0d5e30 36680 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36681 possibly unused.
36682
8c2cab51 366832009-05-25 Christian Franke <franke@computer.org>
36684
36685 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36686 register.
36687 (grub_atapi_identify): Add wait after drive select.
36688 (grub_ata_identify): Do more strict status register check before
36689 calling grub_atapi_identify (). Suppress error message if status
36690 register is 0x00 after command failure. Add status register
36691 check after PIO read to avoid bogus identify due to stuck DRQ.
36692 Thanks to Pavel Roskin for testing.
36693 (grub_device_initialize): Remove unsafe status register check.
36694 Thanks to 'phcoder' for problem report and patch.
36695 Prevent sign extension in debug message.
36696
230c0ad6 366972009-05-23 Colin D Bennett <colin@gibibit.com>
36698
36699 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36700 definition file, and functions defined in `normal/menu.c' have had
36701 their prototypes moved to `include/grub/menu.h' for consistency.
36702
36703 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36704 from normal.h.
36705 (grub_menu_get_entry): Likewise.
36706 (grub_menu_get_timeout): Likewise.
36707 (grub_menu_set_timeout): Likewise.
36708 (grub_menu_execute_entry): Likewise.
36709 (grub_menu_execute_with_fallback): Likewise.
36710 (grub_menu_entry_run): Likewise.
36711
36712 * include/grub/normal.h: Re-ordered and grouped function
36713 prototypes by file that the function is defined in.
36714 (grub_menu_execute_callback): Removed; moved to menu.h.
36715 (grub_menu_get_entry): Likewise.
36716 (grub_menu_get_timeout): Likewise.
36717 (grub_menu_set_timeout): Likewise.
36718 (grub_menu_execute_entry): Likewise.
36719 (grub_menu_execute_with_fallback): Likewise.
36720 (grub_menu_entry_run): Likewise.
36721 (grub_menu_addentry): Renamed from this ...
36722 (grub_normal_add_menu_entry): ... to this.
36723
36724 * normal/main.c (grub_menu_addentry): Renamed from this ...
36725 (grub_normal_add_menu_entry): ... to this.
36726
36727 * script/sh/execute.c (grub_script_execute_menuentry): Update
36728 reference to renamed grub_menu_addentry function.
36729
861f03a5 367302009-05-23 Felix Zielcke <fzielcke@z-51.de>
36731
36732 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36733
96b1619a 367342009-05-22 Pavel Roskin <proski@gnu.org>
36735
bf6a5fb2 36736 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36737 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36738 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36739 compiling for the i386 targets, but not for the utilities.
36740
96b1619a 36741 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36742 to grub_uint8_t.
36743 (grub_root_drive): Likewise.
36744 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36745 remove alignment.
36746 (grub_root_drive): Change size to byte.
36747 (grub_start_addr): Remove.
36748 (grub_end_addr): Likewise.
36749 (grub_apm_bios_info): Likewise.
36750
b729776b 367512009-05-21 Felix Zielcke <fzielcke@z-51.de>
36752
36753 * normal/i386: Remove.
36754 * normal/powerpc: Likewise.
36755 * normal/sparc64: Likewise.
36756 * normal/x86_64: Likewise.
36757
0a15ce80 367582009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36759
36760 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 36761 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 36762 * loader/i386/xnu_helper.S: Likewise
d6da58e6 36763
33db9015 367642009-05-18 Colin D Bennett <colin@gibibit.com>
36765
d6da58e6 36766 Display error messages when parsing a Lua statement fails.
36767 Previously, executing a syntactically invalid statement like
36768 ")foo" or "bar;" would silently fail.
33db9015 36769
36770 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 36771 (grub_lua_parse_line): Improved reporting of Lua parser and
36772 execution errors.
33db9015 36773
46422c89 367742009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36775
36776 Remove -Werror which causes build to fail on some systems
36777
36778 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36779 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36780 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 36781
22f53a96 367822009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36783
36784 trampoline for linux on 64-bit platform
36785
18f547ad 36786 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36787 loader/i386/efi/linux_trampoline.S
36788 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 36789 declaration
d6da58e6 36790 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36791 here
22f53a96 36792 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36793 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36794 trampoline
22f53a96 36795 (jumpvector): removed
36796 (grub_linux_trampoline_start): new declaration
36797 (grub_linux_trampoline_end): likewise
36798 (grub_linux_boot): use trampoline when on 64-bit platform
36799 * loader/i386/linux.c: likewise
36800
cb5a0f40 368012009-05-16 Pavel Roskin <proski@gnu.org>
36802
36803 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36804 const to avoid a warning.
36805 (grub_lua_setenv): Likewise.
36806 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36807 lmsg to fix a warning.
36808
334f2c28 368092009-05-16 Felix Zielcke <fzielcke@z-51.de>
36810
36811 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36812 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36813 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36814 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36815 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36816 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36817 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36818 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36819
59e5d3ec 368202009-05-16 Felix Zielcke <fzielcke@z-51.de>
36821
36822 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36823
9d87a1ba 368242009-05-16 Bean <bean123ch@gmail.com>
36825
36826 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36827 (lua_mod_SOURCES): New variable.
36828 (lua_mod_CFLAGS): Likewise.
36829 (lua_mod_LDFLAGS): Likewise.
36830
36831 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36832 (setjmp_mod_SOURCES): New variable.
36833 (setjmp_mod_CFLAGS): Likewise.
36834 (setjmp_LDFLAGS): Likewise.
36835
36836 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36837 (setjmp_mod_SOURCES): New variable.
36838 (setjmp_mod_CFLAGS): Likewise.
36839 (setjmp_LDFLAGS): Likewise.
36840
36841 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36842 (setjmp_mod_SOURCES): New variable.
36843 (setjmp_mod_CFLAGS): Likewise.
36844 (setjmp_LDFLAGS): Likewise.
36845
36846 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36847 (setjmp_mod_SOURCES): New variable.
36848 (setjmp_mod_CFLAGS): Likewise.
36849 (setjmp_LDFLAGS): Likewise.
36850
36851 * normal/i386/setjmp.S: Moved from here ...
36852 * lib/i386/setjmp.S: ... Moved here
36853 * normal/x86_64/setjmp.S: Moved from here ...
36854 * lib/x86_64/setjmp.S: ... Moved here
36855 * normal/powerpc/setjmp.S: Moved from here ...
36856 * lib/powerpc/setjmp.S: ... Moved here
36857 * normal/sparc64/setjmp.S: Moved from here ...
36858 * lib/sparc64/setjmp.S: ... Moved here
36859
36860 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36861 returns_twice in mingw.
36862
36863 * script/lua/grub_lib.c: New file.
36864 * script/lua/grub_lib.h: Likewise.
36865 * script/lua/grub_lua.h: Likewise.
36866 * script/lua/grub_main.c: Likewise.
36867 * script/lua/lapi.c: Likewise.
36868 * script/lua/lapi.h: Likewise.
36869 * script/lua/lauxlib.c: Likewise.
36870 * script/lua/lauxlib.h: Likewise.
36871 * script/lua/lbaselib.c: Likewise.
36872 * script/lua/lcode.c: Likewise.
36873 * script/lua/lcode.h: Likewise.
36874 * script/lua/ldblib.c: Likewise.
36875 * script/lua/ldebug.c: Likewise.
36876 * script/lua/ldebug.h: Likewise.
36877 * script/lua/ldo.c: Likewise.
36878 * script/lua/ldo.h: Likewise.
36879 * script/lua/ldump.c: Likewise.
36880 * script/lua/lfunc.c: Likewise.
36881 * script/lua/lfunc.h: Likewise.
36882 * script/lua/lgc.c: Likewise.
36883 * script/lua/lgc.h: Likewise.
36884 * script/lua/linit.c: Likewise.
36885 * script/lua/liolib.c: Likewise.
36886 * script/lua/llex.c: Likewise.
36887 * script/lua/llex.h: Likewise.
36888 * script/lua/llimits.h: Likewise.
36889 * script/lua/lmathlib.c: Likewise.
36890 * script/lua/lmem.c: Likewise.
36891 * script/lua/lmem.h: Likewise.
36892 * script/lua/loadlib.c: Likewise.
36893 * script/lua/lobject.c: Likewise.
36894 * script/lua/lobject.h: Likewise.
36895 * script/lua/lopcodes.c: Likewise.
36896 * script/lua/lopcodes.h: Likewise.
36897 * script/lua/loslib.c: Likewise.
36898 * script/lua/lparser.c: Likewise.
36899 * script/lua/lparser.h: Likewise.
36900 * script/lua/lstate.c: Likewise.
36901 * script/lua/lstate.h: Likewise.
36902 * script/lua/lstring.c: Likewise.
36903 * script/lua/lstring.h: Likewise.
36904 * script/lua/lstrlib.c: Likewise.
36905 * script/lua/ltable.c: Likewise.
36906 * script/lua/ltable.h: Likewise.
36907 * script/lua/ltablib.c: Likewise.
36908 * script/lua/ltm.c: Likewise.
36909 * script/lua/ltm.h: Likewise.
36910 * script/lua/lua.h: Likewise.
36911 * script/lua/luaconf.h: Likewise.
36912 * script/lua/lualib.h: Likewise.
36913 * script/lua/lundump.c: Likewise.
36914 * script/lua/lundump.h: Likewise.
36915 * script/lua/lvm.c: Likewise.
36916 * script/lua/lvm.h: Likewise.
36917 * script/lua/lzio.c: Likewise.
36918 * script/lua/lzio.h: Likewise.
36919
5e898c9d 369202009-05-16 Bean <bean123ch@gmail.com>
36921
36922 * include/grub/kernel.h (grub_module_header_types): Add type
36923 OBJ_TYPE_CONFIG.
36924
36925 * kern/main.c (grub_load_config): New function.
36926 (grub_main): Call grub_load_config to read boot config.
36927
36928 * grub-mkimage (generate_image): New parameter config_path.
36929 (options): New option --config.
36930 (main): Parse --config option, and pass it to generate_image.
36931
cf353a47 369322009-05-14 Christian Franke <franke@computer.org>
36933
36934 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36935 This fixes build on Cygwin.
36936
3834887f 369372009-05-14 Pavel Roskin <proski@gnu.org>
36938
36939 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36940 jump. This saves two bytes, so the typical case of 2 swapped
36941 drives would fit 32 bytes.
36942
8090fc01 369432009-05-13 Pavel Roskin <proski@gnu.org>
36944
ac963883 36945 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36946 grub_uint32_t to avoid a warning.
36947
8090fc01 36948 * loader/i386/linux.c (allocate_pages): When assigning
36949 real_mode_mem, cast through grub_size_t to fix a warning. The
36950 code already makes sure that the value would fit a pointer.
36951 (grub_linux_setup_video): Cast render_target->data to
36952 grub_size_t to fix a warning.
36953
18f547ad 369542009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36955
36956 * commands/i386/pc/drivemap.c: New file - implement drivemap
36957 command.
36958 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36959 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36960
6f6a8b28 369612009-05-13 Pavel Roskin <proski@gnu.org>
36962
36963 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36964 embedding_area_exists.
36965
15fbf4c4 369662009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36967
36968 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36969 it easier to understand / work with.
59978c8a 36970 Improve warning messages for cases where there's no embedding area,
36971 or when it is too small (or core.img too large).
15fbf4c4 36972
238e871f 369732009-05-13 Pavel Roskin <proski@gnu.org>
36974
0ab3a9a4 36975 * loader/i386/pc/multiboot2.c: Add necessary includes for
36976 grub_multiboot2_real_boot().
36977
a2c8c5f8 36978 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36979 PX record is always little-endian. We only need the lower 2
36980 bytes of the mode.
36981
faec96af 36982 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36983 facilitate code reuse.
36984 (grub_cpio_mount): Use "struct head", not a char buffer. This
36985 fixes a warning reported by gcc 4.4.
36986
238e871f 36987 * kernel/disk.c (grub_disk_read): Use void pointer for the
36988 buffer.
36989 (grub_disk_write): Use const void pointer for the buffer.
36990 Adjust all callers. Remove unnecessary casts.
36991
901d2f0c 369922009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36993
36994 * util/i386/pc/grub-install.in: Update copyright year.
36995
18f547ad 369962009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36997
36998 gptsync
36999
37000 * commands/gptsync.c: new file
37001 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
37002 (gptsync_mod_SOURCES): new variable
37003 (gptsync_mod_CFLAGS): likewise
37004 (gptsync_mod_LDFLAGS): likewise
18f547ad 37005 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 37006 new definition
37007 (GRUB_PC_PARTITION_TYPE_HFS): likewise
37008 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
37009 * conf/i386-ieee1275.rmk: likewise
37010 * conf/i386-pc.rmk: likewise
37011 * conf/powerpc-ieee1275.rmk: likewise
37012
b4ba690a 370132009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37014
37015 Fixed grub-emu
37016
37017 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
37018 (grub_dl_ref): likewise
37019
317e1a44 370202009-05-08 Robert Millan <rmh.grub@aybabtu.com>
37021
37022 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
37023 split in two functions (one for msdos and one for gpt).
37024
041b8094 370252009-05-08 Pavel Roskin <proski@gnu.org>
37026
752473c2 37027 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
37028 not modified.
37029
041b8094 37030 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
37031 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
37032 Initialize them with -1. Add sanity check for bad1. Eliminate
37033 nerr variable.
37034
172800ce 370352009-05-08 David S. Miller <davem@davemloft.net>
37036
37037 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
37038
29aa5e81 370392009-05-06 Robert Millan <rmh.grub@aybabtu.com>
37040
37041 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 37042 existence.
29aa5e81 37043
96613b62 370442009-05-05 Felix Zielcke <fzielcke@z-51.de>
37045
37046 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 37047 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 37048
eef73c8a 370492009-05-05 David S. Miller <davem@davemloft.net>
37050
37051 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
37052
119494b5 370532009-05-05 Pavel Roskin <proski@gnu.org>
37054
37055 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
37056 of grub_dl_ref() and grub_dl_unref().
37057 * commands/parttool.c: Remove preprocessor conditionals around
37058 grub_dl_ref() and grub_dl_unref().
37059 * fs/affs.c: Likewise.
37060 * fs/afs.c: Likewise.
37061 * fs/cpio.c: Likewise.
37062 * fs/ext2.c: Likewise.
37063 * fs/fat.c: Likewise.
37064 * fs/hfs.c: Likewise.
37065 * fs/hfsplus.c: Likewise.
37066 * fs/iso9660.c: Likewise.
37067 * fs/jfs.c: Likewise.
37068 * fs/minix.c: Likewise.
37069 * fs/ntfs.c: Likewise.
37070 * fs/reiserfs.c: Likewise.
37071 * fs/sfs.c: Likewise.
37072 * fs/udf.c: Likewise.
37073 * fs/ufs.c: Likewise.
37074 * fs/xfs.c: Likewise.
37075 * include/grub/dl.h: Likewise.
37076 * loader/xnu.c: Likewise.
37077
de5fd76e 370782009-05-04 Pavel Roskin <proski@gnu.org>
37079
37080 * commands/acpi.c: Remove unused variable my_mod.
37081 * partmap/amiga.c: Likewise.
37082 * partmap/apple.c: Likewise.
37083 * partmap/gpt.c: Likewise.
37084 * partmap/pc.c: Likewise.
37085 * partmap/sun.c: Likewise.
37086 * term/gfxterm.c: Likewise.
37087 * term/i386/pc/vesafb.c: Likewise.
37088 * term/i386/pc/vga.c: Likewise.
37089
983598ad 370902009-05-04 David S. Miller <davem@davemloft.net>
37091
37092 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
37093 pointer args to grub_ieee1275_get_property().
37094
8aadec43 37095 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
37096
9554b15e 37097 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
37098 devices, and do not traverse down under controller nodes.
37099
67e23c90 37100 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
37101 (grub_ofdisk_open): Use it to un-escape "," characters.
37102 * kern/disk.c (find_part_sep): New.
37103 (grub_disk_open): Use it to find the first non-escaped ','
37104 character in the disk name.
37105 * util/ieee1275/devicemap.c (escape_of_path): New.
37106 (grub_util_emit_devicemap_entry): Use it.
37107 * util/sparc64/ieee1275/grub-install.in: Update script to
37108 strip partition specifiers properly by not triggering on
37109 '\' escaped ',' characters.
37110
74bfdd2f 371112009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37112
37113 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
37114 to 0x300.
37115 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
37116 resolutions.
37117 (linux_vesafb_modes): Add a lot of additional modes to the list (based
37118 on documentation from Wikipedia).
37119
4241d2b1 371202009-05-04 Pavel Roskin <proski@gnu.org>
37121
37122 * disk/ata.c: Spelling fixes.
37123 * disk/raid.c: Likewise.
37124 * disk/usbms.c: Likewise.
37125 * disk/dmraid_nvidia.c: Likewise.
37126 * kern/ieee1275/openfw.c: Likewise.
37127 * kern/ieee1275/init.c: Likewise.
37128 * kern/ieee1275/cmain.c: Likewise.
37129 * boot/i386/pc/cdboot.S: Likewise.
37130 * video/readers/png.c: Likewise.
37131 * video/i386/pc/vbe.c: Likewise.
37132 * fs/udf.c: Likewise.
37133 * fs/hfs.c: Likewise.
37134 * fs/reiserfs.c: Likewise.
37135 * efiemu/runtime/efiemu.c: Likewise.
37136 * efiemu/main.c: Likewise.
37137 * efiemu/mm.c: Likewise.
37138 * include/grub/elf.h: Likewise.
37139 * include/grub/xnu.h: Likewise.
37140 * include/grub/usbdesc.h: Likewise.
37141 * include/grub/usb.h: Likewise.
37142 * include/grub/script_sh.h: Likewise.
37143 * include/grub/lib/LzmaEnc.h: Likewise.
37144 * include/grub/efiemu/efiemu.h: Likewise.
37145 * include/grub/command.h: Likewise.
37146 * normal/menu.c: Likewise.
37147 * normal/main.c: Likewise.
37148 * normal/datetime.c: Likewise.
37149 * bus/usb/uhci.c: Likewise.
37150 * mmap/i386/uppermem.c: Likewise.
37151 * mmap/mmap.c: Likewise.
37152 * commands/acpi.c: Likewise.
37153 * commands/test.c: Likewise.
37154 * partmap/apple.c: Likewise.
37155 * font/font.c: Likewise.
37156 * loader/sparc64/ieee1275/linux.c: Likewise.
37157 * loader/macho.c: Likewise.
37158 * loader/i386/bsd_trampoline.S: Likewise.
37159 * loader/i386/bsd.c: Likewise.
37160 * loader/xnu.c: Likewise.
37161 * term/i386/pc/vesafb.c: Likewise.
37162 * term/usb_keyboard.c: Likewise.
37163 * util/resolve.c: Likewise.
37164 * util/getroot.c: Likewise.
37165
0cfc0083 371662009-05-04 Felix Zielcke <fzielcke@z-51.de>
37167
37168 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
37169
7c1d00cd 371702009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37171
37172 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
37173 build error.
37174
b01f0548 371752009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37176
37177 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
37178 parameter only available on BIOS.
37179
ecc3eb22 371802009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37181
37182 Removed wrong semicolon in declaration
37183
37184 * grub/misc.h (grub_dprintf): remove semicolon
37185
112972a9 371862009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37187
37188 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
37189 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
37190 is done by grub_cmd_linux() now).
37191 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
37192 restore video to text mode.
37193 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
37194 indicates lack of "vga=" parameter. "vga=0" is mapped to
37195 `GRUB_LINUX_VID_MODE_NORMAL'.
37196
afd5c115 371972009-05-04 Felix Zielcke <fzielcke@z-51.de>
37198
37199 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
37200 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
37201 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 37202 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 37203 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
37204 `grub_script.tab.c'.
37205
37206 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37207 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37209 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37210 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37211
faa517ce 37212 * Makefile.in: Remove duplicated 2008 in Copyright line.
37213
ae0c0bdc 372142009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37215
473d1e45 37216 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 37217 unconditionally.
37218 * include/grub/util/misc.h (grub_util_warn): New declaration.
37219
37220 * util/i386/pc/grub-install.in: Understand --force and pass it down
37221 to grub-setup.
37222
37223 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
37224 down to setup().
37225 (setup): Improve error messages and add warnings when requested to
37226 install in odd layouts. Refuse to install using blocklists unless
37227 --force was set.
37228
18f547ad 372292009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 37230
37231 * disk/raid.c (grub_raid_scan_device): Improve debug message.
37232
6d260daa 372332009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37234
37235 Updated copyright year
37236
37237 * fs/hfsplus.c: updated copyright year
18f547ad 37238
69f853f8 372392009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37240
37241 HFS+ UUID
37242
18f547ad 37243 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 37244 in the space previously used by unused3
37245 (grub_hfsplus_uuid): new function
37246 (grub_hfsplus_fs): added uuid field
37247
4c402e73 372482009-05-03 Pavel Roskin <proski@gnu.org>
37249
37250 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
37251 suppress warnings. It's no longer needed.
37252 * disk/host.c: Likewise.
37253 * disk/ata_pthru.c: Likewise.
37254 * disk/loopback.c: Likewise.
37255 * hook/datehook.c: Likewise.
37256 * parttool/pcpart.c: Likewise.
37257 * fs/i386/pc/pxe.c: Likewise.
37258 * fs/ntfscomp.c: Likewise.
37259 * efiemu/main.c: Likewise.
37260 * mmap/mmap.c: Likewise.
37261 * commands/crc.c: Likewise.
37262 * commands/hexdump.c: Likewise.
37263 * commands/hdparm.c: Likewise.
37264 * commands/acpi.c: Likewise.
37265 * commands/echo.c: Likewise.
37266 * commands/minicmd.c: Likewise.
37267 * commands/blocklist.c: Likewise.
37268 * commands/memrw.c: Likewise.
37269 * commands/loadenv.c: Likewise.
37270 * commands/usbtest.c: Likewise.
37271 * commands/lsmmap.c: Likewise.
37272 * commands/boot.c: Likewise.
37273 * commands/parttool.c: Likewise.
37274 * commands/configfile.c: Likewise.
37275 * commands/search.c: Likewise.
37276 * commands/ieee1275/suspend.c: Likewise.
37277 * commands/cat.c: Likewise.
37278 * commands/i386/pc/pxecmd.c: Likewise.
37279 * commands/i386/pc/play.c: Likewise.
37280 * commands/i386/pc/halt.c: Likewise.
37281 * commands/i386/pc/vbeinfo.c: Likewise.
37282 * commands/i386/pc/vbetest.c: Likewise.
37283 * commands/lspci.c: Likewise.
37284 * commands/date.c: Likewise.
37285 * commands/handler.c: Likewise.
37286 * commands/ls.c: Likewise.
37287 * commands/test.c: Likewise.
37288 * commands/cmp.c: Likewise.
37289 * commands/efi/loadbios.c: Likewise.
37290 * commands/efi/fixvideo.c: Likewise.
37291 * commands/halt.c: Likewise.
37292 * commands/help.c: Likewise.
37293 * commands/reboot.c: Likewise.
37294 * hello/hello.c: Likewise.
37295 * script/sh/main.c: Likewise.
37296 * loader/xnu.c: Likewise.
37297 * term/terminfo.c: Likewise.
37298 * term/i386/pc/serial.c: Likewise.
37299 * term/usb_keyboard.c: Likewise.
37300
515b5079 373012009-05-03 David S. Miller <davem@davemloft.net>
37302
37303 * normal/menu.c: Include grub/parser.h
37304
dfc31a22 373052009-05-03 Pavel Roskin <proski@gnu.org>
37306
2fee74f1 37307 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
37308 not char*.
37309 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
37310 Suggested by Javier Martín <lordhabbit@gmail.com>
37311
dfc31a22 37312 * util/i386/pc/grub-mkrescue.in: Allow for the case when
37313 efiemu??.o doesn't exist.
37314 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
37315 copying.
37316
18f547ad 373172009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 37318
37319 FreeBSD 64-bit support
37320
18f547ad 37321 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 37322 and loader/i386/bsd_trampoline.S
37323 (bsd_mod_ASFLAGS): new variable
37324 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
37325 (FREEBSD_MODTYPE_KERNEL64): likewise
37326 (grub_bsd64_trampoline_start): likewise
37327 (grub_bsd64_trampoline_end): likewise
37328 (grub_bsd64_trampoline_selfjump): likewise
37329 (grub_bsd64_trampoline_gdt): likewise
37330 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
37331 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
37332 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
37333 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 37334 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 37335 of "attrib" member
37336 * loader/i386/bsd_pagetable.c: new file
37337 * loader/i386/bsd_trampoline.S: likewise
37338 * loader/i386/bsd.c (ALIGN_QWORD): new macro
37339 (ALIGN_VAR): likewise
37340 (entry_hi): new variable
37341 (kern_end_mdofs): likewise
37342 (is_64bit): likewise
37343 (grub_freebsd_add_meta): use ALIGN_VAR
37344 (grub_e820_mmap): new declaration
37345 (grub_freebsd_add_mmap): new function
37346 (grub_freebsd_add_meta_module): support 64 bit kernels
37347 (grub_freebsd_list_modules): use ALIGN_VAR
37348 (gdt_descriptor): new declaration
37349 (grub_freebsd_boot): support 64 bit kernels
37350 (grub_bsd_elf64_hook): new function
37351 (grub_bsd_load_elf): support elf64
37352
038c5720 373532009-05-03 Bean <bean123ch@gmail.com>
37354
37355 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37356 after we get the result of if statement.
37357
fc45fb58 373582009-05-03 Bean <bean123ch@gmail.com>
37359
37360 * Makefile.in (enable_efiemu): New variable.
37361
37362 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37363 set.
37364 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37365 path.
37366 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37367 path, add -mno-red-zone option.
37368 (efiemu64_s.o): Likewise.
37369 (efiemu64.o): Use macro $^ for source file.
37370
37371 * configure.ac (--enable-efiemu): New option.
37372
bbee0f2b 373732009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37374
37375 xnu support
37376
37377 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37378 (pkglib_MODULES): add xnu.mod
37379 (xnu_mod_SOURCES): new variable
37380 (xnu_mod_CFLAGS): likewise
37381 (xnu_mod_LDFLAGS): likewise
37382 (xnu_mod_ASFLAGS): likewise
37383 * conf/i386-pc.rmk: likewise
37384 * conf/x86_64-efi.rmk: likewise
7dd4a573 37385 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 37386 new declaration
37387 * include/grub/i386/macho.h: new file
37388 * include/grub/i386/xnu.h: likewise
37389 * include/grub/macho.h: likewise
37390 * include/grub/machoload.h: likewise
37391 * include/grub/x86_64/macho.h: likewise
37392 * include/grub/x86_64/xnu.h: likewise
37393 * include/grub/xnu.h: likewise
37394 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37395 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37396 * loader/i386/efi/xnu.c: new file
37397 * loader/i386/pc/xnu.c: likewise
37398 * loader/i386/xnu.c: likewise
37399 * loader/i386/xnu_helper.S: likewise
37400 * loader/macho.c: likewise
37401 * loader/xnu.c: likewise
37402 * loader/xnu_resume.c: likewise
37403 * util/grub-dumpdevtree: likewise
37404 * include/grub/i386/pit.h: include grub/err.h
37405 (grub_pit_wait): export
37406 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 37407
5caf964d 374082009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37409
37410 Efiemu
7dd4a573 37411
5caf964d 37412 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 37413 _linux_efi, linux_efi.
37414 new files in grub-emu
5caf964d 37415 new targets efiemu32.o and efiemu64.o
37416 * loader/linux_normal_efiemu.c: likewise
37417 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 37418 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 37419 files to copy
37420 * include/grub/autoefi.h: new file
7dd4a573 37421 * include/grub/i386/efiemu.h: likewise
5caf964d 37422 * include/grub/i386/pc/efiemu.h: likewise
37423 * include/grub/efi/api.h: add LL suffix when necessary
37424 new definitions relating to tables
37425 * include/grub/efiemu/efiemu.h: new file
37426 * include/grub/efiemu/runtime.h: likewise
37427 * efiemu/prepare.c: likewise
37428 * efiemu/loadcore_common.c: likewise
37429 * efiemu/loadcore64.c: likewise
37430 * efiemu/runtime/efiemu.sh: likewise
37431 * efiemu/runtime/efiemu.S: likewise
37432 * efiemu/runtime/efiemu.c: likewise
37433 * efiemu/runtime/config.h: likewise
37434 * efiemu/prepare32.c: likewise
37435 * efiemu/main.c: likewise
37436 * efiemu/modules/pnvram.c: likewise
37437 * efiemu/modules/i386: likewise
37438 * efiemu/modules/i386/pc: likewise
37439 * efiemu/modules/acpi.c: likewise
37440 * efiemu/i386/pc/cfgtables.c: likewise
37441 * efiemu/i386/loadcore64.c: likewise
37442 * efiemu/i386/loadcore32.c: likewise
37443 * efiemu/prepare64.c: likewise
37444 * efiemu/loadcore.c: likewise
37445 * efiemu/symbols.c: likewise
37446 * efiemu/mm.c: likewise
37447 * efiemu/loadcore32.c: likewise
7dd4a573 37448
374492009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 37450
37451 ACPI spoofing
37452
37453 * commands/acpi.c: new file
37454 * commands/i386/pc/acpi.c: likewise
37455 * commands/efi/acpi.c: likewise
37456 * include/grub/acpi.h: likewise
37457 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37458 (acpi_mod_SOURCES): new variable
37459 (acpi_mod_CFLAGS): likewise
37460 (acpi_mod_LDFLAGS): likewise
37461 * conf/i386-efi.rmk: likewise
37462 * conf/x86_64-efi.rmk: likewise
37463
7dd4a573 374642009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 37465
37466 Missing part from mmap patch
37467
37468 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37469 (grub_mmap_unregister)
37470 (grub_mmap_free_and_unregister): use grub_mmap_register
37471
7dd4a573 374722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 37473
37474 Mmap services
37475
37476 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
37477 * loader/i386/linux.c (find_mmap_size): likewise
37478 (allocate_pages): likewise
37479 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
37480 (grub_fill_multiboot_mmap): likewise
37481 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
37482 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
37483 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37484 (OPENBSD_MMAP_RESERVED): likewise
37485 * include/grub/i386/pc/memory.h: include grub/memory.h
37486 (grub_lower_mem): removed
37487 (grub_upper_mem): likewise
37488 (GRUB_MACHINE_MEMORY_ACPI): new definition
37489 (GRUB_MACHINE_MEMORY_NVS): likewise
37490 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37491 (GRUB_MACHINE_MEMORY_HOLE): likewise
37492 (grub_machine_mmap_register): likewise
37493 (grub_machine_mmap_unregister): likewise
37494 (grub_machine_get_upper): likewise
37495 (grub_machine_get_lower): likewise
37496 (grub_machine_get_post64): likewise
37497 * include/grub/i386/efi/memory.h: new file
37498 * include/grub/x86_64/efi/memory.h: likewise
37499 * include/grub/efi/memory.h: likewise
37500 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
37501 (mmap_mod_SOURCES): new variable
37502 (mmap_mod_LDFLAGS): likewise
37503 (mmap_mod_ASFLAGS): likewise
37504 * conf/i386-coreboot.rmk: likewise
37505 * conf/i386-ieee1275.rmk: likewise
37506 * conf/i386-efi.rmk: likewise
37507 * conf/x86_64-efi.rmk: likewise
37508 * include/grub/types.h (UINT_TO_PTR): new macro
37509 (PTR_TO_UINT32): likewise
37510 (PTR_TO_UINT64): likewise
37511 * include/grub/memory.h: new file
37512 * mmap/i386/pc/mmap.c: likewise
37513 * mmap/i386/pc/mmap_helper.S: likewise
37514 * mmap/i386/uppermem.c: likewise
37515 * mmap/mmap.c: likewise
37516 * mmap/efi/mmap.c: likewise
7dd4a573 37517 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 37518 grub_upper_mem
37519 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37520 (grub_upper_mem): likewise
37521 (grub_machine_init): don't use grub_upper_mem,
37522 make grub_lower_mem local
37523 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37524 grub_mmap_iterate and grub_mmap_get_upper
37525 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37526
d558e6b5 375272009-05-02 Bean <bean123ch@gmail.com>
37528
37529 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37530 script/sh/parser.y.
37531 (pkglib_MODULES): Add normal.mod and sh.mod.
37532 (normal_SOURCES): New variable.
37533 (normal_mod_CFLAGS): Likewise.
37534 (normal_mod_LDFLAGS): Likewise.
37535 (sh_mod_SOURCES): Likewise.
37536 (sh_mod_CFLAGS): Likewise.
37537 (sh_mod_LDFLAGS): Likewise.
37538
37539 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37540 script/sh/lexer.c_DEPENDENCIES.
37541 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37542 kern/rescue_reader.c and kern/rescue_parser.c.
37543 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37544 (grub_emu_SOURCES): Change source files.
37545 (pkglib_MODULES): Remove normal.mod.
37546 (normal_SOURCES): Removed.
37547 (normal_mod_CFLAGS): Likewise.
37548 (normal_mod_LDFLAGS): Likewise.
37549 * conf/i386-coreboot.rmk: Likewise.
37550 * conf/i386-efi.rmk: Likewise.
37551 * conf/i386-ieee1276.rmk: Likewise.
37552 * conf/powerpc-ieee1275.rmk: Likewise.
37553 * conf/sparc64-ieee1275.rmk: Likewise.
37554 * conf/x86_64-efi.rmk: Likewise.
37555
37556 * include/grub/command.h (grub_command_execute): New inline function.
37557
37558 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37559
37560 * include/grub/normal.h: Remove <grub/setjmp.h>.
37561 (grub_fs_module_list): Moved to normal/autofs.c.
37562 (grub_exit_env): Removed.
37563 (grub_command_execute): Likewise.
37564 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37565 parameter script.
37566 (read_command_list): New function declaration.
37567 (read_fs_list): Likewise.
37568
37569 * include/parser.h: Include <grub/reader.h>.
37570 (grub_parser_split_cmdline): Change type of getline parameter.
37571 (grub_parser): New structure.
37572 (grub_parser_class): New variable.
37573 (grub_parser_execute): New function declaration.
37574 (grub_register_rescue_parser): Likewise.
37575 (grub_parser_register): New inline function.
37576 (grub_parser_unregister): Likewise.
37577 (grub_parser_get_current): Likewise.
37578 (grub_parser_set_current): Likewise.
37579
37580 * include/grub/reader.h: New file.
37581 * kern/reader.c: Likewise.
37582 * kern/rescue_parser.c: Likewise.
37583 * kern/rescue_reader.c: Likewise.
37584 * normal/autofs.c: Likewise.
37585 * normal/dyncmd.c: Likewise.
37586
37587 * include/grub/rescue.h: Removed.
37588 * normal/command.h: Likewise.
37589
37590 * include/grub/script.h: Moved to ...
37591 * include/grub/script_sh.h: ... Moved here.
37592 * normal/execute.c: Moved to ...
37593 * script/sh/execute.c: ... Moved here.
37594 * normal/function.c: Moved to ...
37595 * script/sh/function.c: ... Moved here.
37596 * normal/lexer.c: Moved to ...
37597 * script/sh/lexer.c: ... Moved here.
37598 * normal/parser.y: Moved to ...
37599 * script/sh/parser.y: ... Moved here.
37600 * normal/script.c: Moved to ...
37601 * script/sh/script.c: ... Moved here.
37602
37603 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37604 <grub/reader.h>.
37605 (grub_exit_env): Removed.
37606 (fs_module_list): Moved to normal/autofs.c.
37607 (grub_file_getline): Don't handle comment here.
37608 (free_menu): Skip removed field entry->commands.
37609 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37610 script parameter.
37611 (read_config_file): Removed nested parameter, change getline function.
37612 (grub_enter_normal_mode): Removed.
37613 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37614 (read_command_list): Likewise.
37615 (autoload_fs_module): Moved to normal/autofs.c.
37616 (read_fs_list): Likewise.
37617 (reader_nested): New variable.
37618 (grub_normal_execute): Run parser.sh to switch to sh parser.
37619 (grub_cmd_rescue): Removed.
37620 (cmd_normal): Removed.
37621 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37622 rescue command.
37623 (grub_cmdline_run): New function.
37624 (grub_normal_reader_init): Likewise.
37625 (grub_normal_read_line): Likewise.
37626 (grub_env_write_pager): Likewise.
37627 (cmdline): New variable.
37628 (grub_normal_reader): Likewise.
37629 (GRUB_MOD_INIT): Register normal reader and set as current, register
37630 pager hook, register normal command with grub_register_command_prio,
37631 so that it won't show up in command.lst.
37632 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37633 grub_fs_autoload_hook.
37634
37635 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37636 (grub_menu_execute_entry): Replace grub_script_execute with
37637 grub_parser_execute, change parameter to grub_command_execute.
37638
37639 * normal/menu_text.c: Remove <grub/script.h>.
37640
37641 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37642 and <grub/parser.h>.
37643 (run): Change editor_getline to use new parser interface. Change
37644 parameter to grub_command_execute.
37645
37646 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37647 <grub/reader.h> and <grub/parser.h>.
37648 (grub_load_normal_mode): Execute normal command.
37649 (grub_main): Call grub_register_core_commands,
37650 grub_register_rescue_parser and grub_register_rescue_reader, use
37651 grub_reader_loop to enter input loop.
37652
7dd4a573 37653 * kern/parser.c (grub_parser_split_cmdline): Change type of
37654 getline parameter.
d558e6b5 37655 (grub_parser_class): New variable.
37656 (grub_parser_execute): New function.
37657
37658 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37659 * loader/multiboot2.c: Likewise.
37660 * loader/sparc64/ieee1275/linux.c: Likewise.
37661
37662 * util/grub-emu.c (read_command_list): New dummy function.
37663
18db813d 376642009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37665
37666 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37667 count to 16 for CCISS and IDA.
37668
6c67de15 376692009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37670
37671 * normal/menu_text.c (grub_wait_after_message): Print a newline
37672 after waiting for user input.
37673
37674 * loader/i386/linux.c: Include `<grub/normal.h>'.
37675 (grub_cmd_linux): Improve the error message about `ask' mode, by
37676 waiting for user input so it's not missed (we can do this, since
37677 user requested interaction).
37678
d9dc87b0 376792009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37680
37681 Added missing lst to grub-mkrescue
37682
37683 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37684 and ${input_dir}/parttool.lst
37685
ac8a2baa 376862009-04-30 David S. Miller <davem@davemloft.net>
37687
ad22a610 37688 * util/hostdisk.c (device_is_wholedisk): New function.
37689 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37690 zero only if device_is_wholedisk() returns true.
37691
6966215d 37692 * util/hostdisk.c (convert_system_partition_to_system_disk):
37693 Handle virtual disk devices named /dev/vdiskX as found on sparc
37694 and powerpc.
37695
ac8a2baa 37696 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37697 lettered partition specifier is found, convert to numbered.
37698
979b4fb4 376992009-04-29 David S. Miller <davem@davemloft.net>
37700
e2bf39b2 37701 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37702 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37703
3c64e104 37704 * normal/command.c: Add missing newline at end of file.
37705
979b4fb4 37706 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37707 warnings.
37708 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37709 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37710 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37711 ihandles have a 32-bit type but need to be stored in a "void *".
37712
136d9f82 377132009-04-28 Pavel Roskin <proski@gnu.org>
37714
9459c306 37715 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37716 not disk. Adjust all dependencies.
2e08a26a 37717 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 37718 grub_disk_close().
37719
136d9f82 37720 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37721 parent's partition, don't copy it by reference, as it gets freed
37722 on close.
37723
7dd4a573 377242009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 37725
37726 Preboot hooks support
37727
37728 * commands/boot.c (struct grub_preboot_t): new declaration
37729 (preboots_head): new variable
37730 (preboots_tail): likewise
37731 (grub_loader_register_preboot_hook): new function
37732 (grub_loader_unregister_preboot_hook): likewise
37733 (grub_loader_set): launch preboot hooks
37734 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37735 (grub_loader_register_preboot_hook): new declaration
37736 (grub_loader_unregister_preboot_hook): likewise
37737
5af922b5 377382009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37739
37740 Warning fix
37741
7dd4a573 37742 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37743 calling grub_dprintf
37744
a5562c30 377452009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37746
37747 Bug and warning fixes
37748
7dd4a573 37749 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 37750 declaration
37751 * commands/test.c (test_parse): fixed bug with file tests and corrected
37752 declaration of find_file
37753
4006f85c 377542009-04-26 Pavel Roskin <proski@gnu.org>
37755
37756 * Makefile.in: Don't install empty manual pages if help2man is
37757 missing. Use help2man option for output, not shell redirection.
37758
5c77c3de 377592009-04-26 David S. Miller <davem@davemloft.net>
37760
37761 * util/grub-mkdevicemap.c (make_device_map): Add missing
37762 NESTED_FUNC_ATTR to process_device().
37763
033b10a8 377642009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37765
37766 Test command
37767
37768 * commands/test.c: rewritten to use bash-like test
37769
e4343593 377702009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37771
37772 Parttool autoloading and improvements
37773
7dd4a573 37774 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 37775 (parttool.lst): new target
37776 * genmk.rb: generate parttool-*
37777 (CLEANFILES): add #{parttool}
37778 (PARTTOOLFILES): new variable
37779 * genparttoollist.sh: new file
7dd4a573 37780 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 37781 (grub_pcpart_type): likewise
37782 * commands/parttool.c (helpmsg): new variable
37783 (grub_cmd_parttool): output help if not enough arguments are supplied
37784 autoload modules
37785 (GRUB_MOD_INIT(parttool)): use helpmsg
37786
0d312500 377872009-04-24 David S. Miller <davem@davemloft.net>
37788
7dd4a573 37789 Avoiding opening same device multiple times in device iterator.
0d312500 37790
37791 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37792 and use it to build a list of partitions in iterate_disk() and
0d312500 37793 iterate_partition().
37794
ac20caff 37795 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37796 on disk->data.
37797
0dcf7495 37798 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37799 grub_devalias_iterate() result instead of unconditional 0.
37800 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37801 Also, capture hook return value, either directly or via
37802 grub_children_iterate(), and propagate to caller.
37803 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37804 grub_children_iterate): Return value is now 'int' instead of
37805 'grub_err_t'.
37806 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37807 like a proper iterator, stopping when hooks return non-zero.
37808 (grub_devalias_iterate): Likewise.
37809
c8c08833 378102009-04-23 David S. Miller <davem@davemloft.net>
37811
37812 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37813
f01005a8 378142009-04-22 David S. Miller <davem@davemloft.net>
37815
37816 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37817 is larger than address_cells, use that value for address_cells too.
37818
4e8269da 37819 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37820 IEEE1275_MAX_PATH_LEN): Define.
37821 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37822 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37823 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37824 'devtype'. Explicitly NULL terminate devalias expansion.
37825
a1447506 37826 * util/sparc64/ieee1275/misc.c: New file.
37827 * util/sparc64/ieee1275/grub-setup.c: New file.
37828 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37829 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37830 * util/sparc64/ieee1275/grub-install.in: New file.
37831 * util/ieee1275/ofpath.c: New file.
37832 * util/ieee1275/devicemap.c: New file.
37833 * util/devicemap.c: New file.
37834 * util/deviceiter.c: New file.
37835 * kern/sparc64/ieee1275/init.c: New file.
37836 * include/grub/util/ofpath.h: New file.
37837 * include/grub/util/deviceiter.h: New file.
37838 * util/grub-mkdevicemap.c: Include deviceiter.h.
37839 Implement using grub_util_emit_devicemap_entry and
37840 grub_util_iterate_devices.
37841 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37842 util/devicemap.c into grub-mkdevicemap
37843 * conf/i386-efi.rmk: Likewise.
37844 * conf/i386-ieee1275.rmk: Likewise.
37845 * conf/i386-pc.rmk: Likewise.
37846 * conf/powerpc-ieee1275.rmk: Likewise.
37847 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37848 images and installation utilities. Build kernel as image
37849 instead of as elf binary. Use common rules as much as possible.
37850
7dd4a573 378512009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37852
37853 Correct GPT definition
37854
7dd4a573 37855 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37856 of "attrib" member
37857
c6c5219f 378582009-04-19 Felix Zielcke <fzielcke@z-51.de>
37859
37860 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37861
0552ff9f 378622009-04-19 David S. Miller <davem@davemloft.net>
37863
37864 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37865 (grub_rescue_cmd_linux): Rename to...
37866 (grub_cmd_linux): and fix prototype.
37867 (grub_rescue_cmd_initrd): Rename to...
37868 (grub_cmd_initrd): and fix prototype.
37869 (cmd_linux, cmd_initrd): New.
37870 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37871 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37872
d1a282fc 378732009-04-17 Pavel Roskin <proski@gnu.org>
37874
07c5039f 37875 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37876 format.
37877 (grub_ohci_transfer): Likewise.
37878
b012002d 37879 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37880
1bc09c35 37881 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37882 return without a value. Fix inconsistent indentation.
37883
e0ff9126 37884 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37885 match struct grub_fs.
37886
d1a282fc 37887 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37888 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37889 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37890 * commands/lspci.c (grub_lspci_iter): Likewise.
37891
a96df3f2 378922009-04-16 Bean <bean123ch@gmail.com>
37893
37894 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37895 value.
37896
41bb0fe9 378972009-04-15 Pavel Roskin <proski@gnu.org>
37898
37899 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37900 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37901 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37902 definitions.
37903
596c6970 379042009-04-15 Felix Zielcke <fzielcke@z-51.de>
37905
37906 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37907 that no multiple data or metadata areas are supported and `Unknown
596c6970 37908 metadata header'.
37909
7dd4a573 379102009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37911
37912 Move loader out of the kernel
37913
37914 * kern/loader.c: moved to ...
37915 * commands/boot.c: ... moved here
37916 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37917 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37918 * include/grub/kernel.h (grub_machine_fini): export
37919 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37920 (grub_loader_set): likewise
37921 (grub_loader_unset): likewise
37922 (grub_loader_boot): likewise
37923 * conf/common.rmk: new module boot.mod
37924 (pkglib_MODULES): add boot.mod
37925 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37926 (grub_emu_SOURCES): likewise
37927 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37928 (grub_emu_SOURCES): likewise
37929 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37930 (grub_emu_SOURCES): likewise
37931 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37932 (grub_emu_SOURCES): likewise
37933 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37934 (grub_emu_SOURCES): likewise
7dd4a573 37935 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37936 (grub_emu_SOURCES): likewise
0d5d5653 37937 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37938 (grub_emu_SOURCES): likewise
0d5d5653 37939
7dd4a573 379402009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37941
37942 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37943
5999d619 37944 * kern/misc.c (grub_itoa): Removed function
37945 (grub_ltoa): likewise
37946 (grub_vsprintf): use grub_lltoa
37947
7dd4a573 379482009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37949
37950 Restore grub-emu
37951
37952 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37953 * conf/i386-coreboot.rmk: likewise
37954 * conf/i386-ieee1275.rmk: likewise
37955 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37956
20318222 379572009-04-15 Felix Zielcke <fzielcke@z-51.de>
37958
37959 * INSTALL: Add that `./autogen.sh' needs to be run before
37960 `./configure.'.
37961
d05f0df3 379622009-04-14 Bean <bean123ch@gmail.com>
37963
37964 * Makefile.in (pkglib_DATA): Add handler.lst.
37965 (handler.lst): New rule.
37966
37967 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37968 * conf/i386-coreboot.rmk: Likewise.
37969 * conf/i386-ieee1275.rmk: Likewise.
37970 * conf/i386-efi.rmk: Likewise.
37971 * conf/x86_64-efi.rmk: Likewise.
37972 * conf/powerpc-ieee1275.rmk: Likewise.
37973 * conf/sparc64-ieee1275.rmk: Likewise.
37974
37975 * genhandlerlist.sh: New file.
37976
37977 * genmk.rb: Add rules to generate handler.lst.
37978
37979 * include/grub/normal.h (grub_file_getline): New function definition.
37980 (read_handler_list): Likewise.
37981 (free_handler_list): Likewise.
37982
37983 * include/grub/term.h (grub_term_register_input): Add name parameter
37984 for auto generation of handler.lst.
37985 (grub_term_register_output): Likewise.
37986
37987 * normal/handler.c: New file.
37988
37989 * normal/main.c (get_line): Renamed to grub_file_getline.
37990 (read_config_file): Use the newly renamed grub_file_getline.
37991 (read_command_list): Likewise.
37992 (read_fs_list): Likewise.
37993 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37994 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37995
37996 * term/efi/console.c (grub_console_init): Add name parameter for auto
37997 generation of handler.lst.
37998 * term/gfxterm.c: Likewise.
37999 * term/i386/pc/at_keyboard.c: Likewise.
38000 * term/i386/pc/console.c: Likewise.
38001 * term/i386/pc/serial.c: Likewise.
38002 * term/i386/pc/vesafb.c: Likewise.
38003 * term/i386/pc/vga.c: Likewise.
38004 * term/i386/pc/vga_text.c: Likewise.
38005 * term/ieee1275/ofconsole.c: Likewise.
38006 * term/usb_keyboard.c: Likewise.
38007
33c846be 380082009-04-14 Bean <bean123ch@gmail.com>
38009
38010 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
38011 properly with null character.
38012
4484e01e 380132009-04-14 Felix Zielcke <fzielcke@z-51.de>
38014
38015 * configure: Remove.
38016 * config.h.in: Likewise.
f93d668e 38017 * stamp-h.in: Likewise.
4484e01e 38018 * DISTLIST: Likewise.
38019 * conf/common.mk: Likewise.
38020 * conf/i386-coreboot.mk: Likewise.
38021 * conf/i386-efi.mk: Likewise.
38022 * conf/i386-ieee1275.mk: Likewise.
38023 * conf/i386.mk: Likewise.
38024 * conf/i386-pc.mk: Likewise.
38025 * conf/powerpc-ieee1275.mk: Likewise.
38026 * conf/sparc64-ieee1275.mk: Likewise.
38027 * conf/x86_64-efi.mk: Likewise.
38028
38029 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
38030 develop on GRUB.
38031
7dd4a573 380322009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 38033 David S. Miller <davem@davemloft.net>
38034
38035 * util/hostdisk.c (make_device_name): Fix buffer length
38036 calculations.
38037
e25b5a8c 380382009-04-14 Felix Zielcke <fzielcke@z-51.de>
38039
38040 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
38041 <sys/param.h> and <sys/sysctl.h>.
38042 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
38043 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
38044 opening the device and reset them afterwards.
38045
1f1f580c 380462009-04-13 Pavel Roskin <proski@gnu.org>
38047
38048 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
38049 Reported by John Stanley <jpsinthemix@verizon.net>
38050
7ebc2d6b 380512009-04-13 Robert Millan <rmh@aybabtu.com>
38052
38053 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 38054 that name for menuentries when appropriate.
7ebc2d6b 38055
d8ba3667 380562009-04-13 Felix Zielcke <fzielcke@z-51.de>
38057
38058 * util/grub.d/10_freebsd.in: Add a missing `fi'.
38059
cba416eb 380602009-04-13 Robert Millan <rmh@aybabtu.com>
38061
38062 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
38063 to Linux, simply abort telling the user it's no longer supported.
38064
a547a745 380652009-04-13 Felix Zielcke <fzielcke@z-51.de>
38066
38067 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 38068 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 38069 `freebsd_loadenv' only when devices.hints exist.
38070
232a769c 380712009-04-13 Pavel Roskin <proski@gnu.org>
38072
38073 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
38074
c3012039 380752009-04-13 Felix Zielcke <fzielcke@z-51.de>
38076
38077 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
38078 partition number.
38079 (grub_drive): Likewise.
38080
234022fe 380812009-04-13 David S. Miller <davem@davemloft.net>
38082
38083 * kern/sparc64/ieee1275/ieee1275.c: New file.
38084 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
38085 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
38086 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
38087 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
38088 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
38089 grub_ieee1275_alloc_physmem): Declare new exported functions.
38090
d8e1836c 38091 * include/grub/sparc64/ieee1275/loader.h: New file.
38092 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38093 * include/grub/sparc64/kernel.h: Likewise.
38094 * loader/sparc64/ieee1275/linux.c: Likewise.
38095
96bd81ec 38096 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
38097 (grub_fstest_SOURCES): Likewise.
38098
6a4737e5 38099 * util/hostdisk.c (make_device_name): Do not make any assumptions
38100 about the length of drive names.
38101
1d7a72fd 38102 * kern/dl.c (grub_dl_load_file): Close file immediately when
38103 we are done using it.
38104
56bc2471 381052009-04-12 David S. Miller <davem@davemloft.net>
38106
38107 * kern/misc.c (grub_ltoa): Fix cast when handling negative
38108 values. Noticed by Pavel Roskin.
38109
df38d0bb 38110 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
38111 target compiler.
7dd4a573 38112
e382e93a 38113 * genmk.rb: Add more flexible image type specification, also
38114 pass --strip-unneeded to objcopy.
38115 * conf/i386-pc.rmk: Use *_FORMAT.
38116 * conf/i386-pc.mk: Rebuilt.
38117
f5dbbca9 38118 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
38119 (OFDISK_HASH_SZ): Define.
38120 (ofdisk_hash): New hash table.
38121 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
38122 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
38123 instead of device phandle which is not unique.
38124
91c88b12 38125 * kern/sparc64/ieee1275/init.c: Delete, replace with...
38126 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
38127 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
38128 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
38129 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
38130 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
38131 GRUB_KERNEL_MACHINE_DATA_END): Define.
38132 (grub_kernel_image_size, grub_total_module_size): Declare.
38133
5b5d4aa5 381342009-04-12 Pavel Roskin <proski@gnu.org>
38135
7dd4a573 38136 * configure.ac: Change the logic when we check for target tools.
38137 Do it when the target is specified and it's different from the
38138 specified value of the host.
5b5d4aa5 38139
c91e1793 381402009-04-11 Felix Zielcke <fzielcke@z-51.de>
38141
38142 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
38143 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
38144 GNU/kFreeBSD. Check if a device is a character device. Use
38145 DIOCGMEDIASIZE to get the size.
38146 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
38147 support for GNU/kFreeBSD.
38148 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
38149 is a character device instead of a block device. Add support for
38150 FreeBSD device names.
38151
38152 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
38153 is a character device instead of a block device.
38154
38155 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
38156 is a character device instead of a block device.
38157
b1ac8644 381582009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
38159
38160 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
38161 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
38162 FreeBSD. Check if a device is a character device. Use
38163 DIOCGMEDIASIZE to get the size.
38164 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
38165 support for FreeBSD.
38166 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
38167 is a character device instead of a block device. Add support for
38168 FreeBSD device names.
38169
38170 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
38171 a character device instead of a block device.
38172 (grub_util_check_char_device): New function.
38173
38174 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
38175 a character device instead of a block device.
38176
38177 * include/grub/util/getroot.h (grub_util_check_char_device): New
38178 prototype.
38179
a3f7515a 381802009-04-11 David S. Miller <davem@davemloft.net>
38181
38182 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
38183 static libgcc.
38184 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
38185 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
38186 function, if present.
38187 (__bswapdi2): Likewise.
38188
0d44993d 38189 * include/grub/sparc64/ieee1275/boot.h: New file.
38190 * boot/sparc64/ieee1275/boot.S: Likewise.
38191 * boot/sparc64/ieee1275/diskboot.S: Likewise.
38192
ed3d2bc2 38193 * kern/misc.c (grub_ltoa): New function.
38194 (grub_vsprintf): Use it to format 'long' integers.
38195
d3bfb59c 381962009-04-10 David S. Miller <davem@davemloft.net>
38197
38198 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
38199 slots are of type grub_ieee1275_cell_t.
38200 (grub_nand_read): Likewise.
38201 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
38202 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
38203 macros are used to compare values in arg/ret block of the call.
38204 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38205 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
38206 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
38207 grub_ieee1275_instance_to_path, grub_ieee1275_write,
38208 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
38209 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
38210 grub_ieee1275_close, grub_ieee1275_set_property,
38211 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
38212 grub_ieee1275_cell_t.
38213 * kern/ieee1275/openfw.c (grub_map): Likewise.
38214 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
38215 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
38216
450e2238 38217 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
38218 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
38219 (grub_devalias_iterate): Likewise.
38220
7dd4a573 382212009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 38222
38223 UFS improvements
38224
38225 * fs/ufs.c (INODE_NBLOCKS): new definition
38226 (struct grub_ufs_dirent): added fields for non-BSD dirents
38227 (grub_ufs_get_file_block): fixed double indirect handling
38228 (grub_ufs_lookup_symlink): use more robust way to determine whether
38229 symlink is inline
38230 (grub_ufs_find_file): support for non-BSD dirents
38231 (grub_ufs_dir): support for non-BSD dirents
38232
e7e6862a 382332009-04-10 Bean <bean123ch@gnail.com>
38234
38235 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
38236 attribute, otherwise the size would be wrong for i386 platform.
38237
38238 * include/grub/pci.h (grub_pci_read_word): New inline function.
38239 (grub_pci_read_byte): Likewise.
38240 (grub_pci_write): Likewise.
38241 (grub_pci_write_word): Likewise.
38242 (grub_pci_write_byte): Likewise.
38243
38244 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
38245
38246 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
38247 (find_framebuf): Scan pci to locate the frame buffer address.
38248
38249 * commands/efi/fixvideo.c: New file.
38250
38251 * commands/efi/loadbios.c: Likewise.
38252
38253 * commands/memrw.c: Likewise.
38254
38255 * util/grub-dumpbios.in: Likewise.
38256
38257 * conf/common.rmk (grub-dumpbios): New utility.
38258 (pkglib_MODULES): New module memrw.mod.
38259 (memrw_mod_SOURCE): New macro.
38260 (memrw_mod_CFLAGS): Likewise.
38261 (memrw_mod_LDFLAGS): Likewise.
38262
7dd4a573 38263 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38264 fixvideo.mod.
38265 (loadbios_mod_SOURCE): New macro.
38266 (loadbios_mod_CFLAGS): Likewise.
38267 (loadbios_mod_LDFLAGS): Likewise.
38268 (fixvideo_mod_SOURCE): Likewise.
38269 (fixvideo_mod_CFLAGS): Likewise.
38270 (fixvideo_mod_LDFLAGS): Likewise.
38271
7dd4a573 38272 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38273 fixvideo.mod.
38274 (loadbios_mod_SOURCE): New macro.
38275 (loadbios_mod_CFLAGS): Likewise.
38276 (loadbios_mod_LDFLAGS): Likewise.
38277 (fixvideo_mod_SOURCE): Likewise.
38278 (fixvideo_mod_CFLAGS): Likewise.
38279 (fixvideo_mod_LDFLAGS): Likewise.
38280
af63ada2 382812009-04-08 Felix Zielcke <fzielcke@z-51.de>
38282
38283 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
38284
c2cdde70 382852009-04-07 David S. Miller <davem@davemloft.net>
38286
38287 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
38288 support for R_SPARC_OLO10 relocations. Fix compile warning for
38289 R_SPARC_WDISP30 case.
ea3f72cf 38290 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 38291
761319cf 382922009-04-06 Pavel Roskin <proski@gnu.org>
38293
1007d1f5 38294 * include/grub/misc.h (ARRAY_SIZE): New macro.
38295 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
38296 New macro.
38297 * loader/i386/linux.c (allocate_pages): Use free_pages().
38298 (grub_linux_unload): Don't use free_pages().
38299 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
38300 wrong index. Treat all other modes as text modes.
38301 (grub_cmd_linux): Initialize vid_mode unconditionally to
38302 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
38303
761319cf 38304 * commands/help.c (print_command_help): Use cmd->prio, not
38305 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
38306
ea761d40 383072009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 38308
ea761d40 38309 Parttool
38310
38311 * parttool/pcpart.c: new file
38312 * commands/parttool.c: likewise
38313 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
38314 (parttool_mod_SOURCES): new variable
38315 (parttool_mod_CFLAGS): likewise
38316 (parttool_mod_LDFLAGS): likewise
38317 (pcpart_mod_SOURCES): likewise
38318 (pcpart_mod_CFLAGS): likewise
38319 (pcpart_mod_LDFLAGS): likewise
7dd4a573 38320 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 38321 and parttool/pcpart.c
38322 * conf/i386-efi.rmk: likewise
38323 * conf/i386-ieee1275.rmk: likewise
38324 * conf/i386-pc.rmk: likewise
38325 * conf/powerpc-ieee1275.rmk: likewise
38326 * conf/sparc64-ieee1275.rmk: likewise
38327 * conf/x86_64-ieee1275.rmk: likewise
38328
05aaebfb 383292009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38330
38331 Support for mtime and further expandability of dir command
38332
38333 * include/grub/lib/datetime.h: moved to ...
7dd4a573 38334 * include/grub/datetime.h: ... moved here and added
05aaebfb 38335 declaration of grub_unixtime2datetime. All users updated
7dd4a573 38336 * include/grub/fs.h: new syntax for dir and mtime functions in
38337 struct grub_fs
05aaebfb 38338 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
38339 and GRUB_FSHELP_FLAGS_MASK
38340 * commands/ls.c (grub_ls_list_files): Write mtime in long format
38341 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
38342 (grub_ext2_mtime): new function
38343 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38344 (grub_hfsplus_mtime): new function
38345 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38346 (GRUB_UFS_ATTR_FILE): likewise
38347 (GRUB_UFS_ATTR_LNK): likewise
38348 (struct grub_ufs_sblock): new fields mtime
38349 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38350 all users updated
38351 (grub_ufs_dir): mtime support
38352 (grub_ufs_mtime): new function
38353 * fs/affs.c (grub_affs_dir): use new dir syntax
38354 * fs/afs.c (grub_afs_dir): likewise
38355 * fs/cpio.c (grub_cpio_dir): likewise
38356 * fs/fat.c (grub_fat_find_dir): likewise
38357 * fs/hfs.c (grub_hfs_dir): likewise
38358 * fs/iso9660.c (grub_iso9660_dir): likewise
38359 * fs/jfs.c (grub_jfs_dir): likewise
38360 * fs/minix.c (grub_minix_dir): likewise
38361 * fs/ntfs.c (grub_ntfs_dir): likewise
38362 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38363 * fs/sfs.c (grub_sfs_dir): likewise
38364 * fs/xfs.c (grub_xfs_dir): likewise
38365 * util/hostfs.c (grub_hostfs_dir): likewise
38366 * lib/datetime.c: moved to ...
38367 * normal/datetime.c: ... moved here
38368 (grub_unixtime2datetime): new function
38369 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 38370 * normal/completion.c (iterate_dir): use new dir syntax
38371 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 38372 last modification time of a volume
7dd4a573 38373 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 38374 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 38375 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 38376 (normal_mod_SOURCES): likewise
38377 (datetime_mod_SOURCES): Removed lib/datetime.c
38378 * conf/i386-efi.rmk: likewise
7dd4a573 38379 * conf/i386-ieee1275.rmk: likewise
05aaebfb 38380 * conf/i386-pc.rmk: likewise
38381 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38382 * conf/sparc64-ieee1275.rmk: likewise
38383 * conf/x86_64-efi.rmk: likewise
05aaebfb 38384
8a7e1a14 383852009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38386
38387 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 38388
38389 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 38390 on grub_fat_find_dir
38391 (grub_fat_find_dir): use grub_fat_iterate_dir
38392 (grub_fat_label): likewise
38393
04186a9c 383942009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38395
7dd4a573 38396 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 38397 and command.h
38398 remove extraneous kernel_elf_HEADERS
38399
da4c0bb6 384002009-04-04 Bean <bean123ch@gnail.com>
38401
38402 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38403
38404 * util/misc.c: Likewise.
38405
54ad9555 384062009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38407
38408 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38409 instead of grub_printf.
38410
7a6bf9f2 384112009-04-03 Robert Millan <rmh@aybabtu.com>
38412
38413 * loader/i386/linux.c (grub_linux_setup_video): Fill
38414 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38415 values from `mode info' structure instead of hardcoded
38416 values.
38417
3fcc2083 384182009-04-01 Pavel Roskin <proski@gnu.org>
38419
38420 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38421 unused now.
38422 * genmk.rb: Likewise.
38423 * configure.ac: Likewise.
38424
5ec9740b 384252009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38426
38427 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38428 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38429
5270cec8 384302009-04-01 David S. Miller <davem@davemloft.net>
38431
38432 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 38433 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 38434 (grub_setjmp): Mark with 'returns_twice' attribute.
38435 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38436 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38437 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38438
9c3dd854 384392009-04-01 Robert Millan <rmh@aybabtu.com>
38440
38441 Reapply fix from 2008-07-28 which was accidentally reverted; also
38442 perform the same fix to a similar check in same function.
38443
38444 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38445 with the same number are found, just use issue a warning with
38446 grub_dprintf(), as this error has been reported to be non-fatal.
38447
0d818b7e 384482009-03-31 Pavel Roskin <proski@gnu.org>
38449
38450 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38451 for cross-compilation.
38452
95646d92 384532009-03-30 Robert Millan <rmh@aybabtu.com>
38454
38455 Fix i386-ieee1275 build.
38456
38457 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38458 Remove declaration.
38459
6a003ed1 384602009-03-30 Pavel Roskin <proski@gnu.org>
38461
38462 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38463 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38464 zero-terminated, rely only on the strlen value. Fix comparison
38465 of strings differing in length.
38466
92f33540 384672009-03-30 Robert Millan <rmh@aybabtu.com>
38468
38469 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38470 checking for abi version. Improve error messages on BIOS to notify
38471 user about `linux16' command.
38472
a8c48fd5 384732009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
38474
f968172e 38475 Leak fixes
a8c48fd5 38476
f968172e 38477 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
38478 in case of collision
38479 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 38480
9c323f09 384812009-03-29 Robert Millan <rmh@aybabtu.com>
38482
38483 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38484 set `vid_mode' accordingly.
38485 (grub_linux_boot): Process `vid_mode' and set video mode.
38486
ae68f423 384872009-03-29 Robert Millan <rmh@aybabtu.com>
38488
38489 * util/grub.d/10_linux.in (linux_entry): New function.
38490 Factorize generation of Linux boot entries.
38491
5709cfc4 384922009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38493
38494 Make the format of Environment Block plain text. The boot loader
38495 part is not tested well yet.
7dd4a573 38496
5709cfc4 38497 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38498 (buffer): Removed.
38499 (envblk): Likewise.
38500 (usage): Remove "info" and "clear". Add "unset". Update the
38501 description of "set", as this does not delete variables any
38502 longer.
38503 (create_envblk_file): Complete rewrite.
38504 (open_envblk_file): Likewise.
38505 (cmd_info): Removed.
38506 (cmd_list): Likewise.
38507 (cmd_set): Likewise.
38508 (cmd_clear): Likewise.
38509 (list_variables): New function.
38510 (write_envblk): Likewise.
38511 (set_variables): Likewise.
38512 (unset_variables): Likewise.
38513 (main): Complete rewrite.
38514
38515 * commands/loadenv.c (buffer): Removed.
38516 (envblk): Likewise.
38517 (open_envblk_file): New function.
38518 (read_envblk_file): Complete rewrite.
38519 (grub_cmd_load_env): Likewise.
38520 (grub_cmd_list_env): Likewise.
38521 (struct blocklist): New struct.
38522 (free_blocklists): New function.
38523 (check_blocklists): Likewise.
38524 (write_blocklists): Likewise.
38525 (grub_cmd_save_env): Complete rewrite.
38526
38527 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38528 a plain text signature.
38529 (GRUB_ENVBLK_MAXLEN): Removed.
38530 (struct grub_envblk): Complete rewrite.
38531 (grub_envblk_find): Removed.
38532 (grub_envblk_insert): Likewise.
38533 (grub_envblk_open): New prototype.
38534 (grub_envblk_set): Likewise.
38535 (grub_envblk_delete): Put const to VALUE.
38536 (grub_envblk_iterate): Put const to NAME and VALUE.
38537 (grub_envblk_close): New prototype.
38538 (grub_envblk_buffer): New inline function.
38539 (grub_envblk_size): Likewise.
38540
38541 * lib/envblk.c: Include grub/mm.h.
38542 (grub_env_find): Removed.
38543 (grub_envblk_open): New function.
38544 (grub_envblk_close): Likewise.
38545 (escaped_value_len): Likewise.
38546 (find_next_line): Likewise.
38547 (grub_envblk_insert): Removed.
38548 (grub_envblk_set): New function.
38549 (grub_envblk_delete): Complete rewrite.
38550 (grub_envblk_iterate): Likewise.
38551
a9368fd3 385522009-03-28 Robert Millan <rmh@aybabtu.com>
38553
38554 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38555 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38556 variables. Use 16-bit loader.
38557 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38558 loader.
38559 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38560 (grub_linux16_boot): ... this. Update all users.
38561 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
38562 (grub_linux_boot): ... this. Update all users.
38563
38564 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38565 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38566 commands to `linux16' and `initrd16'.
38567 (GRUB_MOD_FINI(linux)): Rename to ...
38568 (GRUB_MOD_FINI(linux16)): ... this.
38569
e4dd5a7e 385702009-03-24 Pavel Roskin <proski@gnu.org>
38571
38572 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38573 not just for compilation.
38574
c04d6e05 385752009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38576
38577 Move multiboot helper out of kernel
38578
38579 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38580 `loader/i386/multiboot_helper.S'.
38581 * conf/i386-coreboot.rmk: Likewise
38582 * conf/i386-ieee1275.rmk: Likewise
38583
38584 * kern/i386/loader.S: Move multiboot helpers from here...
38585 * loader/i386/multiboot_helper.S: ...moved here
38586 * include/grub/i386/loader.h: Move declarations of multiboot
38587 helpers from here...
38588 * include/grub/i386/multiboot.h: ...moved here
38589 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38590
42a5b3fc 385912009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38592
38593 * kern/env.c (grub_env_context_open): Added an argument to specify
38594 whether a new context inherits exported variables from current
38595 one. This is useful when making a sandbox to interpret a config
38596 file.
38597 All callers updated.
38598
38599 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38600
b28bbc4e 386012009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38602
38603 * kern/env.c (grub_env_context_close): Fix memory leaks.
38604
f04f02e4 386052009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38606
38607 * normal/main.c (grub_normal_execute): Added an argument
38608 BATCH to specify if an interactive interface should be provided
38609 after reading a config file.
38610 All callers updated.
38611 (read_command_list): Prevent being executed twice.
38612 (read_fs_list): Likewise.
38613
42a5b3fc 38614 * include/grub/normal.h (grub_normal_execute): Updated the
38615 prototype.
f04f02e4 38616
41473ac2 386172009-03-22 Pavel Roskin <proski@gno.org>
38618
fbc00b0c 38619 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38620 _start.
38621 * kern/i386/pc/startup.S: Likewise.
38622 * kern/i386/efi/startup.S: Likewise.
38623 * kern/i386/ieee1275/startup.S: Likewise.
38624 * kern/i386/coreboot/startup.S: Likewise.
38625 * kern/x86_64/efi/startup.S: Likewise.
38626
41473ac2 38627 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38628 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38629 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38630
2274cc8f 386312009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38632
38633 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38634
38635 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38636 limit detection.
38637 Use vaddr of correct segment for entry_point.
38638
b1b797cb 386392009-03-21 Bean <bean123ch@gmail.com>
38640
38641 * commands/blocklist.c: Add include file <grub/command.h>, remove
38642 <grub/normal.h> and <grub/arg.h>.
38643 (grub_cmd_blocklist): Use the new command interface.
38644 (GRUB_MOD_INIT): Likewise.
38645 (GRUB_MOD_FINI): Likewise.
38646 * commands/boot.c: Likewise.
38647 * commands/cat.c: Likewise.
38648 * commands/cmp.c: Likewise.
38649 * commands/configfile.c: Likewise.
38650 * commands/crc.c: Likewise.
38651 * commands/echo.c: Likewise.
38652 * commands/halt.c: Likewise.
38653 * commands/handler.c: Likewise.
38654 * commands/hdparm.c: Likewise.
38655 * commands/help.c: Likewise.
38656 * commands/hexdump.c: Likewise.
38657 * commands/loadenv.c: Likewise.
38658 * commands/ls.c: Likewise.
38659 * commands/lsmmap.c: Likewise.
38660 * commands/lspci.c: Likewise.
38661 * commands/loadenv.c: Likewise.
38662 * commands/read.c: Likewise.
38663 * commands/reboot.c: Likewise.
38664 * commands/search.c: Likewise.
38665 * commands/sleep.c: Likewise.
38666 * commands/test.c: Likewise.
38667 * commands/usbtest.c: Likewise.
38668 * commands/videotest.c: Likewise.
38669 * commands/i386/cpuid.c: Likewise.
38670 * commands/i386/pc/halt.c: Likewise.
38671 * commands/i386/pc/play.c: Likewise.
38672 * commands/i386/pc/pxecmd.c: Likewise.
38673 * commands/i386/pc/vbeinfo.c: Likewise.
38674 * commands/i386/pc/vbetest.c: Likewise.
38675 * commands/ieee1275/suspend.c: Likewise.
38676 * disk/loopback.c: Likewise.
38677 * font/font_cmd.c: Likewise.
38678 * hello/hello.c: Likewise.
38679 * loader/efi/appleloader.c: Likewise.
38680 * loader/efi/chainloader.c: Likewise.
38681 * loader/i386/bsd.c: Likewise.
38682 * loader/i386/efi/linux.c: Likewise.
38683 * loader/i386/ieee1275/linux.c: Likewise.
38684 * loader/i386/linux.c: Likewise.
38685 * loader/i386/pc/chainloader.c: Likewise.
38686 * loader/i386/pc/linux.c: Likewise.
38687 * loader/powerpc/ieee1275/linux.c: Likewise.
38688 * loader/multiboot_loader.c: Likewise.
38689 * term/gfxterm.c: Likewise.
38690 * term/i386/pc/serial.c: Likewise.
38691 * term/terminfo.c: Likewise.
38692
38693 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38694 * term/i386/pc/vga.c: Likewise.
38695 * video/readers/jpeg.c: Likewise.
38696 * video/readers/png.c: Likewise.
38697 * video/readers/tga.c: Likewise.
38698
38699 * util/grub-fstest (cmd_loopback): Removed.
38700 (cmd_blocklist): Likewise.
38701 (cmd_ls): Likewise.
38702 (grub_register_command): Likewise.
38703 (grub_unregister_command): Likewise.
38704 (execute_command): Use grub_command_find to locate command and execute
38705 it.
38706
38707 * include/grub/efi/chainloader.h: Removed.
38708 * loader/efi/chainloader_normal.c: Likewise.
38709 * loader/i386/bsd_normal.c: Likewise.
38710 * loader/i386/pc/chainloader_normal.c: Likewise.
38711 * loader/i386/pc/multiboot_normal.c: Likewise.
38712 * loader/linux_normal.c: Likewise.
38713 * loader/multiboot_loader_normal.c: Likewise.
38714 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38715
38716 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38717 and grub_register_command_p1.
38718
38719 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38720 kern/command.c, lib/arg.c and commands/extcmd.c.
38721 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38722 (minicmd_mod_SOURCES): New variable.
38723 (minicmd_mod_CFLAGS): Likewise.
38724 (minicmd_mod_LDFLAGS): Likewise.
38725 (extcmd_mod_SOURCES): Likewise.
38726 (extcmd_mod_CFLAGS): Likewise.
38727 (extcmd_mod_LDFLAGS): Likewise.
38728 (boot_mod_SOURCES): Removed.
38729 (boot_mod_CFLAGS): Likewise.
38730 (boot_mod_LDFLAGS): Likewise.
38731
38732 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38733 kern/corecmd.c.
38734 (kernel_img_HEADERS): Add command.h.
38735 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38736 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38737 and lib/arg.c.
38738 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38739 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38740 remove the corresponding normal mode command.
38741 (normal_mod_SOURCES): Remove normal/arg.c.
38742 * conf/i386-coreboot.rmk: Likewise.
38743 * conf/i386-efi.rmk: Likewise.
38744 * conf/i386-ieee1275.rmk: Likewise.
38745 * conf/powerpc-ieee1275.rmk: Likewise.
38746 * conf/x86_64-efi.rmk: Likewise.
38747
38748 * include/grub/arg.h: Move from here ...
38749 * include/grub/lib/arg.h: ... to here.
38750
38751 * normal/arg.c: Move from here ...
38752 * lib/arg.c: ... to here.
38753
38754 * commands/extcmd.c: New file.
38755 * commands/minicmd.c: Likewise.
38756 * include/grub/command.h: Likewise.
38757 * include/grub/extcmd.h: Likewise.
38758 * kern/command.c: Likewise.
38759 * kern/corecmd.c: Likewise.
38760
38761 * kern/list.c (grub_list_iterate): Return int instead of void.
38762 (grub_list_insert): New function.
38763 (grub_prio_list_insert): Likewise.
38764
38765 * kern/rescue.c (grub_rescue_command): Removed.
38766 (grub_rescue_command_list): Likewise.
38767 (grub_rescue_register_command): Likewise.
38768 (grub_rescue_unregister_command): Likewise.
38769 (grub_rescue_cmd_boot): Move to minicmd.c
38770 (grub_rescue_cmd_help): Likewise.
38771 (grub_rescue_cmd_info): Likewise.
38772 (grub_rescue_cmd_boot): Likewise.
38773 (grub_rescue_cmd_testload): Likewise.
38774 (grub_rescue_cmd_dump): Likewise.
38775 (grub_rescue_cmd_rmmod): Likewise.
38776 (grub_rescue_cmd_lsmod): Likewise.
38777 (grub_rescue_cmd_exit): Likewise.
38778 (grub_rescue_print_devices): Moved to corecmd.c.
38779 (grub_rescue_print_files): Likewise.
38780 (grub_rescue_cmd_ls): Likewise.
38781 (grub_rescue_cmd_insmod): Likewise.
38782 (grub_rescue_cmd_set): Likewise.
38783 (grub_rescue_cmd_unset): Likewise.
7d074e3c 38784 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 38785 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 38786 commands, remove grub_rescue_register_command calls.
b1b797cb 38787
7d074e3c 38788 * normal/command.c (grub_register_command): Removed.
b1b797cb 38789 (grub_unregister_command): Likewise.
38790 (grub_command_find): Likewise.
38791 (grub_iterate_commands): Likewise.
38792 (rescue_command): Likewise.
38793 (export_command): Moved to corecmd.c.
38794 (set_command): Removed.
38795 (unset_command): Likewise.
38796 (insmod_command): Likewise.
38797 (rmmod_command): Likewise.
38798 (lsmod_command): Likewise.
38799 (grub_command_init): Likewise.
38800
38801 * normal/completion.c (iterate_command): Use cmd->prio to check for
38802 active command.
38803 (complete_arguments): Use grub_extcmd_t structure to find options.
38804 (grub_normal_do_completion): Change function grub_iterate_commands to
38805 grub_command_iterate.
38806
38807 * normal/execute.c (grub_script_execute_cmd): No need to parse
38808 argument here.
38809
38810 * normal/main.c (grub_dyncmd_dispatcher): New function.
38811 (read_command_list): Register unload commands as dyncmd.
38812 (grub_cmd_normal): Use new command interface, register rescue,
38813 unregister normal at entry, register normal, unregister rescue at exit.
38814
38815 * include/grub/list.h (grub_list_test_t): New type.
38816 (grub_list_iterate): Return int instead of void.
38817 (grub_list_insert): New function.
38818 (GRUB_AS_NAMED_LIST_P): New macro.
38819 (GRUB_AS_PRIO_LIST): Likewise.
38820 (GRUB_AS_PRIO_LIST_P): Likewise.
38821 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38822 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38823 (grub_prio_list): New structure.
38824 (grub_prio_list_insert): New function.
38825 (grub_prio_list_remove): New inline function.
38826
38827 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38828 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38829 (GRUB_COMMAND_FLAG_MENU): Likewise.
38830 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38831 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38832 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38833 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38834 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38835 (grub_command): Likewise.
38836 (grub_register_command): Likewise.
38837 (grub_command_find): Likewise.
38838 (grub_iterate_commands): Likewise.
38839 (grub_command_init): Likewise.
38840 (grub_arg_parse): Likewise.
38841 (grub_arg_show_help): Likewise.
38842
38843 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38844 (grub_rescue_unregister_command): Likewise.
38845
38846 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38847 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38848 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38849
38850 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38851 grub_rescue_cmd_initrd.
38852 * include/grub/i386/loader.h: Likewise.
38853 * include/grub/x86_64/loader.h: Likewise.
38854
38855 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38856
1f4147aa 388572009-03-21 Bean <bean123ch@gmail.com>
38858
38859 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38860 instead of stat in mingw environment.
38861
38862 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38863
38864 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38865
38866 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38867 AC_CONFIG_LINKS.
38868
2156d5ba 388692009-03-21 Bean <bean123ch@gmail.com>
38870
38871 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38872 out of range error.
38873
177b82ca 388742009-03-18 Michel Dänzer <michel@daenzer.net>
38875
38876 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38877 checking inode flags for EXT4_EXTENTS_FLAG.
38878
14aad807 388792009-03-18 Robert Millan <rmh@aybabtu.com>
38880
38881 * loader/i386/linux.c: Include `<grub/video.h>' and
38882 `<grub/i386/pc/vbe.h>'..
38883 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38884 (grub_linux32_boot): Attempt to configure video settings with
38885 grub_linux_setup_video().
38886 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38887 to avoid grub_console_fini() which would step out of graphical mode
38888 unconditionally.
38889
8cf83a27 388902009-03-14 Robert Millan <rmh@aybabtu.com>
38891
38892 Fix build on powerpc.
38893 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38894
40164e75 388952009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38896
38897 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38898 background image command.
38899
c58bc32a 389002009-03-12 Colin D Bennett <colin@gibibit.com>
38901
38902 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38903 (grub_gfxterm_putchar): Extract pairs of identical calls to
38904 draw_cursor out of conditional blocks.
38905
5415144a 389062009-03-11 Pavel Roskin <proski@gnu.org>
38907
38908 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38909 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38910
6394042e 389112009-03-11 Robert Millan <rmh@aybabtu.com>
38912
38913 * loader/i386/multiboot_elfxx.c
38914 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38915
b7b50e5f 389162009-03-11 Felix Zielcke <fzielcke@z-51.de>
38917
38918 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38919 `kern/handler.c'.
38920
1ca7fc96 389212009-03-11 Robert Millan <rmh@aybabtu.com>
38922
38923 * loader/i386/multiboot.c (code_size): New variable.
38924 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38925 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38926 4-byte alignment to MBI and others by increasing
7d074e3c 38927 `boot_loader_name_length' appropriately.
1ca7fc96 38928
38929 * loader/i386/multiboot_elfxx.c
38930 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38931
a83ea1d2 389322009-03-09 Felix Zielcke <fzielcke@z-51.de>
38933
38934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38935 `fs/ext2.c'.
38936
aa9f3bff 389372009-03-08 Robert Millan <rmh@aybabtu.com>
38938
38939 Make loader/i386/linux.c usable on i386-pc again.
38940
38941 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38942 memory to heap.
38943 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38944 `#error' stanza.
38945
d8b3b60e 389462009-03-07 Bean <bean123ch@gmail.com>
38947
38948 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38949 allocation.
38950
b362c9e9 389512009-03-06 Robert Millan <rmh@aybabtu.com>
38952
38953 Fix display issue on terminals with screen size other than 80x25
38954 (e.g. gfxterm with resolution higher than 640x480).
38955
38956 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38957 position relative to the center of the terminal instead of relying
b362c9e9 38958 on a hardcoded offset.
38959
9304eef1 389602009-03-04 Robert Millan <rmh@aybabtu.com>
38961
38962 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38963 installed.
38964
38965 * Makefile.in (host_kernel): New variable.
38966 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38967 scripts instead of just the windows one.
38968 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38969
eabc95fb 389702009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38971
38972 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38973 `kern/handler.c'.
38974 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38975 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38976 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38977 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38978 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38979 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38980
ceb1223c 389812009-03-04 Felix Zielcke <fzielcke@z-51.de>
38982
38983 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38984 or if there's no space for the disk label and print the partition number on a
38985 invalid magic.
38986
4910684a 389872009-03-04 Felix Zielcke <fzielcke@z-51.de>
38988
38989 * util/misc.c: Include <time.h>.
38990 (grub_millisleep): New function.
38991
7e9ca17a 389922009-03-04 Bean <bean123ch@gmail.com>
38993
38994 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38995 another option -mno-red-zone.
38996
38997 * commands/handler.c: Change module description.
38998
38999 * kern/handler.c: Add missing space at the end of description line.
39000
39001 * kern/list.c: Likewise.
39002
f501677c 390032009-03-03 Robert Millan <rmh@aybabtu.com>
39004
39005 Move more components to the relocation area, and fix mbi pointer
39006 handling to use the destination rather than the origin (thanks to
39007 Vladimir Serbinenko for spotting).
39008
39009 * loader/i386/multiboot.c (mbi_dest): New variable.
39010 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
39011 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
39012 relocation area.
39013
9902d047 390142009-03-01 Bean <bean123ch@gmail.com>
39015
50fb7002 39016 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 39017 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
39018 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
39019 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
39020
39021 * loader/i386/efi/linux.c (acpi_guid): New variable.
39022 (acpi_guid): Likewise.
39023 (EBDA_SEG_ADDR): New constant.
39024 (LOW_MEM_ADDR): Likewise.
39025 (FAKE_EBDA_SEG): Likewise.
39026 (fake_bios_data): New function.
39027 (grub_linux_boot): Call fake_bios_data.
39028
71b9f361 390292009-03-01 Bean <bean123ch@gmail.com>
39030
39031 * commands/terminal.c: Removed.
39032
39033 * commands/handler.c: New file.
39034
39035 * include/grub/list.h: Likewise.
39036
39037 * include/grub/handler.h: Likewise.
39038
39039 * kern/list.c: Likewise.
39040
39041 * kern/handler.c: Likewise.
39042
39043 * kern/term.h: Include header file <grub/handler.h>.
39044 (grub_term_input): Move next field to the beginning.
39045 (grub_term_output): Likewise.
39046 (grub_term_input_class): New variable.
39047 (grub_term_output_class): Likewise.
39048 (grub_term_register_input): Changed to inline function.
39049 (grub_term_register_output): Likewise.
39050 (grub_term_unregister_input): Likewise.
39051 (grub_term_unregister_output): Likewise.
39052 (grub_term_set_current_input): Likewise.
39053 (grub_term_set_current_output): Likewise.
39054 (grub_term_get_current_input): Likewise.
39055 (grub_term_get_current_output): Likewise.
39056 (grub_term_iterate_input): Removed.
39057 (grub_term_iterate_output): Likewise.
39058
39059 * kern/term.c (grub_term_list_input): Removed.
39060 (grub_term_list_output): Likewise.
39061 (grub_term_input_class): New variable.
39062 (grub_term_output_class): Likewise.
50fb7002 39063 (grub_cur_term_input): Change variable as macro.
71b9f361 39064 (grub_cur_term_output): Likewise.
39065 (grub_term_register_input): Removed.
39066 (grub_term_register_output): Likewise.
39067 (grub_term_unregister_input): Likewise.
39068 (grub_term_unregister_output): Likewise.
39069 (grub_term_set_current_input): Likewise.
39070 (grub_term_set_current_output): Likewise.
39071 (grub_term_iterate_input): Likewise.
39072 (grub_term_iterate_output): Likewise.
39073 (grub_term_get_current_input): Likewise.
39074 (grub_term_get_current_output): Likewise.
39075
39076 * util/grub-editenv.c: Include header file <grub/handler.h>.
39077 (grub_term_get_current_input): Removed.
39078 (grub_term_get_current_output): Likewise.
39079 (grub_term_input_class): New variable.
50fb7002 39080 (grub_term_output_class): Likewise.
71b9f361 39081
39082 * util/grub-fstest.c (grub_term_get_current_input): Removed.
39083 (grub_term_get_current_output): Likewise.
39084 (grub_term_input_class): New variable.
50fb7002 39085 (grub_term_output_class): Likewise.
71b9f361 39086
39087 * util/grub-probe.c (grub_term_get_current_input): Removed.
39088 (grub_term_get_current_output): Likewise.
39089 (grub_term_input_class): New variable.
50fb7002 39090 (grub_term_output_class): Likewise.
71b9f361 39091
39092 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
39093 (grub_term_get_current_output): Likewise.
39094 (grub_term_input_class): New variable.
50fb7002 39095 (grub_term_output_class): Likewise.
71b9f361 39096
39097 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
39098 (terminal_mod_SOURCES): Likewise.
39099 (terminal_mod_CFLAGS): Likewise.
39100 (terminal_mod_LDFLAGS): Likewise.
39101
39102 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
39103 handler.c.
39104 (kernel_img_SOURCES): Add list.c and handler.c.
39105 (kernel_img_HEADERS): Add list.h and handler.h.
39106
39107 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39108 handler.c.
39109 (kernel_mod_SOURCES): Add list.c and handler.c.
39110 (kernel_mod_HEADERS): Add list.h and handler.h.
39111
39112 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
39113 handler.c.
39114 (kernel_elf_SOURCES): Add list.c and handler.c.
39115 (kernel_elf_HEADERS): Add list.h and handler.h.
39116
39117 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39118 handler.c.
39119 (kernel_elf_SOURCES): Add list.c and handler.c.
39120 (kernel_elf_HEADERS): Add list.h and handler.h.
39121
39122 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39123 handler.c.
39124 (kernel_mod_SOURCES): Add list.c and handler.c.
39125 (kernel_mod_HEADERS): Add list.h and handler.h.
39126
39127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39128 handler.c.
39129 (kernel_elf_SOURCES): Add list.c and handler.c.
39130 (kernel_elf_HEADERS): Add list.h and handler.h.
39131
8a31787f 391322009-02-27 Robert Millan <rmh@aybabtu.com>
39133
39134 Factorize elf32 / elf64 code in Multiboot loader. This will
39135 prevent it from getting out of sync again.
39136
39137 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
39138 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
39139 grub_multiboot_load_elf64): Move from here ...
39140 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
39141 grub_multiboot_load_elf): ... to here (new file).
39142
51cd3dfc 391432009-02-27 Robert Millan <rmh@aybabtu.com>
39144
39145 * util/grub.d/10_linux.in: Rename "single-user mode" to
39146 "recovery mode".
39147
6e8c9c3a 391482009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
39149
39150 Don't leak in SCSI code.
39151 * disk/scsi.c (grub_scsi_close): free `scsi'.
39152
4b6bf4f9 391532009-02-27 Robert Millan <rmh@aybabtu.com>
39154
39155 * loader/i386/pc/multiboot.c: Move from here ...
39156 * loader/i386/multiboot.c: ... to here. Update all users.
39157
b9413424 391582009-02-27 Robert Millan <rmh@aybabtu.com>
39159
39160 Patch from Alexandre Bique <bique.alexandre@gmail.com>
39161 * util/i386/pc/grub-setup.c (setup): Fix directory path.
39162
50fb7002 391632009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 39164
39165 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
39166 b-tree.
39167
8cc50345 391682009-02-27 Robert Millan <rmh@aybabtu.com>
39169
39170 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
39171 `0x' qualifier as 0 when base is specified as parameter).
39172
6e09b8b7 391732009-02-24 Bean <bean123ch@gmail.com>
39174
39175 * configure.ac: Check for -mcmodel=large in x86_64 target.
39176
39177 * include/grub/efi/api.h (efi_call_10): New macro.
39178 (efi_wrap_10): New function.
39179
39180 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
39181 (GRUB_PE32_REL_BASED_HIGH): Likewise.
39182 (GRUB_PE32_REL_BASED_LOW): Likewise.
39183 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
39184 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
39185 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
39186 (GRUB_PE32_REL_BASED_SECTION): Likewise.
39187 (GRUB_PE32_REL_BASED_REL): Likewise.
39188 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
39189 (GRUB_PE32_REL_BASED_DIR64): Likewise.
39190 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
39191
39192 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
39193 issue.
39194
39195 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
39196 (efi_wrap_10): New function.
39197
39198 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
39199
39200 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
39201 MB/MBP model (NV chipset).
39202 (devdata_devs): Add devpath_5 to the list.
39203
39204 * load/i386/efi/linux.c (video_base): Remove variable.
39205 (RGB_MASK): New macro.
39206 (RGB_MAGIC): Likewise.
39207 (LINE_MIN): Likewise.
39208 (LINE_MAX): Likewise.
39209 (FBTEST_STEP): Likewise.
39210 (FBTEST_COUNT): Likewise.
39211 (fb_list): New variable.
39212 (grub_find_video_card): Remove function.
39213 (find_framebuf): New function.
39214 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
39215 line length.
39216
39217 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
39218 problem for x86_64.
39219
74b21bee 392202009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
39221
39222 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
39223
39224 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
39225 coding tool name.
39226
a455f472 392272009-02-22 Robert Millan <rmh@aybabtu.com>
39228
39229 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
39230 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
39231 in our relocation, instead of using it directly from heap. Also
39232 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
39233
6374daf3 392342009-02-21 Robert Millan <rmh@aybabtu.com>
39235
39236 Implement USB keyboard support (based on patch by Marco Gerards)
39237
39238 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
39239 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
39240 (usb_keyboard_mod_LDFLAGS): New variables.
39241
39242 * term/usb_keyboard.c: New file.
39243
8fa4ea70 392442009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
39245
39246 Corrected wrong declaration
39247
39248 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
39249
353976ac 392502009-02-14 Christian Franke <franke@computer.org>
39251
39252 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
39253 (grub_lspci_iter): Print class code and programming interface byte.
39254
6aa1169b 392552009-02-14 Christian Franke <franke@computer.org>
39256
39257 * gendistlist.sh: Ignore `.svn' directories.
39258
265372ca 392592009-02-14 Felix Zielcke <fzielcke@z-51.de>
39260
39261 * fs/fat.c: Add 2009 to Copyright line.
39262
9ff516f3 392632009-02-14 Christian Franke <franke@computer.org>
39264
39265 * commands/hdparm.c: New file. Provides `hdparm' command
39266 which sends ATA commands via grub_disk_ata_pass_through ().
39267
39268 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
39269
39270 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
39271 and <grub/cpu/io.h> to include/grub/ata.h.
39272 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
39273 (GRUB_CDROM_SECTOR_SIZE): Remove.
39274 (GRUB_ATA_*): Move to include/grub/ata.h.
39275 (GRUB_ATAPI_*): Likewise.
39276 (enum grub_ata_commands): Likewise.
39277 (enum grub_ata_timeout_milliseconds): Likewise.
39278 (struct grub_ata_device): Likewise.
39279 (grub_ata_regset): Likewise.
39280 (grub_ata_regget): Likewise.
39281 (grub_ata_regset2): Likewise.
39282 (grub_ata_regget2): Likewise.
39283 (grub_ata_check_ready): Likewise.
39284 (grub_ata_wait_not_busy): Remove static, exported in
39285 include/grub/ata.h.
39286 (grub_ata_wait_drq): Likewise.
39287 (grub_ata_pio_read): Likewise.
39288
39289 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
39290 function for hdparm.mod.
39291
39292 * include/grub/ata.h: New file, contains declarations from
39293 disk/ata.c.
39294 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
39295
39296 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
39297 (grub_disk_ata_pass_through): New exported variable.
39298
39299 * kern/disk.c (grub_disk_ata_pass_through): New variable.
39300
772e23da 393012009-02-13 Colin D Bennett <colin@gibibit.com>
39302
39303 Support multiple fallback entries, and provide an API to support
39304 executing default+fallback menu entries. Renamed the `terminal' menu
39305 viewer to `text'.
39306
39307 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
39308 variable declaration.
39309 (grub_menu_execute_callback): New structure declaration.
39310 (grub_menu_execute_callback_t): New typedef.
39311 (grub_menu_execute_with_fallback): New function declaration.
39312 (grub_menu_get_entry): Likewise.
39313 (grub_menu_get_timeout): Likewise.
39314 (grub_menu_set_timeout): Likewise.
39315
39316 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
39317
39318 * normal/menu.c (grub_wait_after_message): Moved to
39319 `normal/menu_text.c'.
39320 (draw_border): Likewise.
39321 (print_message): Likewise.
39322 (print_entry): Likewise.
39323 (print_entries): Likewise.
39324 (grub_menu_init_page): Likewise.
39325 (get_entry_number): Likewise.
39326 (print_timeout): Likewise.
39327 (run_menu): Likewise.
39328 (grub_menu_execute_entry): Likewise.
39329 (show_text_menu): Likewise.
39330 (get_and_remove_first_entry_number): New function.
39331 (grub_menu_execute_with_fallback): Likewise.
39332 (get_entry): Renamed to ...
39333 (grub_menu_get_entry): .. this and made it global.
39334 (get_timeout): Renamed to ...
39335 (grub_menu_get_timeout): ... this and made it global.
39336 (set_timeout): Renamed to ...
39337 (grub_menu_set_timeout): ... this and made it global.
39338 (grub_normal_terminal_menu_viewer): Renamed to ...
39339 (grub_normal_text_menu_viewer): ... this.
39340
39341 * normal/menu_text.c: New file. Extracted text-menu-specific code
39342 from normal/menu.c.
39343
39344 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39345 (normal_mod_SOURCES): Likewise.
39346
39347 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39348 (normal_mod_SOURCES): Likewise.
39349
39350 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39351 (normal_mod_SOURCES): Likewise.
39352
39353 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39354 (normal_mod_SOURCES): Likewise.
39355
39356 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39357 (normal_mod_SOURCES): Likewise.
39358
39359 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39360 (normal_mod_SOURCES): Likewise.
39361
39362 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39363 (normal_mod_SOURCES): Likewise.
39364
16ac430e 393652009-02-11 Robert Millan <rmh@aybabtu.com>
39366
39367 * util/grub.d/00_header.in: Update old reference to `font' command.
39368
06ff20fc 393692009-02-10 Felix Zielcke <fzielcke@z-51.de>
39370
39371 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39372
39373 Based on patch from Javier Martín.
39374
96da9407 393752009-02-09 Felix Zielcke <fzielcke@z-51.de>
39376
39377 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 39378 to avoid false positives with FAT.
96da9407 39379 (grub_fstest_SOURCES): Likewise.
39380 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39381 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39382 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39383 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39384 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39385 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39386
6dca6fe4 393872009-02-09 Felix Zielcke <fzielcke@z-51.de>
39388
06ff20fc 39389 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 39390 bpb.version_specific.fat12_or_fat16.fstype and
39391 bpb.version_specific.fat32.fstype.
39392
2550c62f 393932009-02-08 Robert Millan <rmh@aybabtu.com>
39394
be110b30 39395 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 39396
56978920 393972009-02-08 Robert Millan <rmh@aybabtu.com>
39398
39399 * Makefile.in (host_os, host_cpu): New variables.
39400 (target_os): Remove. Update all users.
39401
d64399b5 394022009-02-08 Marco Gerards <marco@gnu.org>
39403
39404 * Makefile.in (enable_grub_emu_usb): New variable.
39405 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39406 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39407 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39408 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39409 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39410 `usbtest.mod' and `usbms.mod'.
39411 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39412 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39413 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39414 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39415 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39416 variables.
39417
39418 * disk/usbms.c: New file.
39419
39420 * include/grub/usb.h: Likewise.
39421
39422 * include/grub/usbtrans.h: Likewise.
39423
39424 * include/grub/usbdesc.h: Likewise.
39425
39426 * bus/usb/usbtrans.c: Likewise.
39427
39428 * bus/usb/ohci.c: Likewise.
39429
39430 * bus/usb/uhci.c: Likewise.
39431
39432 * bus/usb/usbhub.c: Likewise.
39433
39434 * bus/usb/usb.c: Likewise.
39435
39436 * commands/usbtest.c: Likewise.
39437
39438 * util/usb.c: Likewise.
50fb7002 39439
d64399b5 39440 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39441
39442 * configure.ac: Test for libusb presence.
50fb7002 39443
d64399b5 39444 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39445
2b40d6bb 394462009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39447
39448 * kern/mm.c: Add more comments.
39449
73a4ce81 394502009-02-08 Robert Millan <rmh@aybabtu.com>
39451
39452 Patch from Javier Martín.
39453 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39454 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39455
f821ce59 394562009-02-08 Robert Millan <rmh@aybabtu.com>
39457
39458 * fs/cpio.c: Split tar functionality to ...
39459 * fs/tar.c: ... here (new file). Update all users.
39460
aebfc4b0 394612009-02-07 Robert Millan <rmh@aybabtu.com>
39462
39463 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39464 backward-incompatible features.
39465
39466 Based on patch from Javier Martín, with some adjustments.
39467
50fb7002 394682009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 39469
39470 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39471
0bb5115e 394722009-02-07 Robert Millan <rmh@aybabtu.com>
39473
39474 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
39475 position of `disk/lvm.c' to ensure grub_init_all() always picks it
39476 after the RAID stuff.
39477
38a0f8e7 394782009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
39479
50fb7002 39480 Fixes problem when running vbetest command as reported by
38a0f8e7 39481 Vladimir Serbinenko <phcoder@gmail.com>.
39482
39483 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39484
3143cc1c 394852009-02-04 Felix Zielcke <fzielcke@z-51.de>
39486
39487 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39488 /dev/md/NpN style mdraid devices.
39489
9cba6fce 394902009-02-03 Felix Zielcke <fzielcke@z-51.de>
39491
39492 * util/unifont2pff.rb: Remove.
39493
e507a2c1 394942009-02-03 Felix Zielcke <fzielcke@z-51.de>
39495
39496 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39497 `#'.
39498
d2c2b4cd 394992009-02-03 Felix Zielcke <fzielcke@z-51.de>
39500
39501 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
39502 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39503 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39504 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39506 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39507 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39508
b4315fb0 395092009-02-02 Christian Franke <franke@computer.org>
39510
39511 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
39512
de3aa260 395132009-02-01 Felix Zielcke <fzielcke@z-51.de>
39514
7c3ff286 39515 * INSTALL: Note that we now require at least autoconf 2.59 and
39516 that LZO is optional.
de3aa260 39517
825a182b 395182009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39519
39520 Base on patch on bug #24154 created by Tomas Tintera
39521 <trosos@seznam.cz>.
39522
39523 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39524
a69ef770 395252009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39526
7c3ff286 39527 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 39528 <bero@arklinux.org>.
39529
39530 * normal/parser.y (script_init): Add missing semicolon.
39531
6fa42fa6 395322009-01-31 Colin D Bennett <colin@gibibit.com>
39533
7c3ff286 39534 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 39535 (free_menu_entry_classes): Added.
39536 (grub_normal_menu_addentry): Added class property handling.
39537 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39538 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39539
39540 * normal/menu_viewer.c: New file.
39541
39542 * normal/menu.c (run_menu_entry): Renamed to ...
39543 (grub_menu_execute_entry): ... this and made it as global.
39544 (grub_menu_run): Renamed to ...
39545 (show_text_menu): ... this and made it local.
39546 (show_text_menu): Adapt to new function names.
39547 (grub_normal_terminal_menu_viewer): New global variable.
39548
39549 * include/grub/menu.h: New file.
39550
39551 * include/grub/menu_viewer.h: New file.
39552
39553 * include/grub/normal.h: Added include to grub/menu.h.
39554 (grub_menu_entry): Moved to include/grub/menu.h.
39555 (grub_menu_entry_t): Likewise.
39556 (grub_menu): Likewise.
39557 (grub_menu_t): Likewise.
39558 (grub_normal_terminal_menu_viewer): Added.
39559 (grub_menu_execute_entry): Likewise.
39560 (grub_menu_run): Removed.
39561
39562 * DISTLIST: Added include/grub/menu.h.
39563 Added include/grub/menu_viewer.h.
39564 Added normal/menu_viewer.c.
39565
395662009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39567
39568 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39569 arglist for menutitle arguments.
39570
39571 * normal/main.c (grub_normal_menu_addentry): Likewise.
39572
39573 * normal/parser.y (menuentry): Likewise.
39574
39575 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39576
39577 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39578 (grub_script_create_cmdmenu): Likewise.
39579
39580 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39581
39582 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39583 changes.
39584
39585 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39586
39587 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39588
39589 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39590
39591 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39592
39593 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39594
39595 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39596
56192c23 395972009-01-30 Christian Franke <franke@computer.org>
39598
39599 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39600 in option help text.
39601
d72521b3 396022009-01-27 Pavel Roskin <proski@gnu.org>
39603
39604 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39605
994b5e84 396062009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39607
39608 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39609
39610 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39611
39612 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39613 unregister function.
39614
6a7eab2c 396152009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39616
39617 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39618
39619 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39620
39621 * util/grub-mkfont.c (usage): Fix typo.
39622
39623 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39624
1806b56e 396252009-01-26 Daniel Mierswa <impulze@impulze.org>
39626
3fb18f09 39627 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39628
336e1fb9 39629 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39630
1806b56e 39631 * kern/misc.c (grub_strcasecmp): New function.
39632 (grub_strcasecmp): Use grub_size_t instead of int for length.
39633 Fix return value.
39634 * include/grub/misc.h: Update function prototypes.
39635
580b2a0f 396362009-01-26 Robert Millan <rmh@aybabtu.com>
39637
39638 * configure.ac: Fix cross-compilation check.
ef257b36 39639
d31c24f1 396402009-01-22 Christian Franke <franke@computer.org>
39641
39642 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39643 (precision) digit string. Allow `.format2' without `format1' (width).
39644 Limit input chars for `%s' output to `format2' if specified. This is
39645 compatible with standard printf ().
39646
3138b44c 396472009-01-22 Christian Franke <franke@computer.org>
39648
39649 * disk/ata.c (grub_ata_wait_status): Replace by ...
39650 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39651 other status bits may be invalid while BSY is asserted.
39652 (grub_ata_check_ready): New function.
39653 (grub_ata_cmd): Removed.
39654 (grub_ata_wait_drq): New function.
39655 (grub_ata_strncpy): Remove inline.
39656 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39657 and error check now done by grub_ata_wait_drq ().
39658 (grub_ata_pio_write): Likewise.
39659 (grub_atapi_identify): Set DEV before check for !BSY. Use
39660 grub_ata_wait_drq () to wait for data.
39661 (grub_ata_device_initialize): Add status register check to
39662 detect missing SATA slave devices. Add debug messages.
39663 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39664 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39665 transfer loop by grub_ata_pio_write ().
39666 (grub_ata_identify): Set DEV before check for !BSY. Use
39667 grub_ata_wait_drq () to wait for data.
ef257b36 39668 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39669 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39670 read/write in one loop. Fix invalid command on write. Fix incomplete
39671 command on (size % batch) == 0. Add missing error check after write of
39672 last block. Add debug messages.
39673 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39674
59a64ef6 396752009-01-19 Christian Franke <franke@computer.org>
39676
39677 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39678 (GRUB_ATAPI_IREASON_*): Likewise.
39679 (grub_ata_pio_write): Fix timeout error return.
39680 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39681 (grub_atapi_wait_drq): New function.
39682 (grub_atapi_packet): New parameter `size'.
39683 Use grub_atapi_wait_drq () and direct write instead of
39684 grub_ata_pio_write ().
39685 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39686 reads the number of bytes requested by the device for each DRQ
39687 assertion.
39688 (grub_atapi_write): Remove old implementation, return not
39689 implemented instead.
39690
1cfe20b3 396912009-01-19 Christian Franke <franke@computer.org>
39692
39693 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39694 of 512 to calculate data size.
39695 (grub_scsi_read12): Likewise.
39696 (grub_scsi_write10): Likewise.
39697 (grub_scsi_write12): Likewise.
39698 (grub_scsi_read): Adjust size according to blocksize.
39699 Add checks for invalid blocksize and unaligned transfer.
39700
bee5fe5d 397012009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39702
39703 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39704
ef257b36 39705 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 39706 width glyphs.
39707
3e643f8c 397082009-01-19 Robert Millan <rmh@aybabtu.com>
39709
39710 * config.guess: Update to latest version from config git.
39711 * config.sub: Likewise.
39712
4fa80998 397132009-01-17 Felix Zielcke <fzielcke@z-51.de>
39714
39715 * Makefile.in: Change font compilation to use new grub-mkfont instead
39716 of java version.
39717
39718 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39719 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39720 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39721 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39722 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39723 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39724 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39725 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39726 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39727
7086085b 397282009-01-16 Christian Franke <franke@computer.org>
39729
39730 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39731 (enum grub_ata_timeout_milliseconds): New enum.
39732 (grub_ata_wait_status): Add parameter milliseconds.
39733 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39734 recovery from timed-out commands.
39735 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39736 return grub_errno instead of REG_ERROR.
39737 (grub_ata_pio_write): Add parameter milliseconds.
39738 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39739 Pass milliseconds to grub_ata_wait_status () and
39740 grub_ata_pio_read ().
39741 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39742 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39743 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39744 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39745 It is not suitable for device detection, because DEV bit is ignored,
39746 the command may run too long, and not all devices set the signature
39747 properly.
39748 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39749 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39750 Fix device selection, DEV bit must be set first to address the registers
39751 of the correct device.
39752 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39753 grub_ata_pio_read/write ().
39754 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39755 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39756
4a412913 397572009-01-13 Carles Pina i Estany <carles@pina.cat>
39758
39759 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39760
7795c55e 397612009-01-13 Bean <bean123ch@gmail.com>
d913988c 39762
39763 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39764
7795c55e 397652009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 39766
39767 * Makefile.in: (enable_grub_mkfont): New variable.
39768 (freetype_cflags): Likewise.
39769 (freetype_libs): Likewise.
39770
39771 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39772 (grub_mkfont_SOURCES): New variable.
39773 (grub_mkfont_CFLAGS): Likewise.
39774 (grub_mkfont_LDFLAGS): Likewise.
39775
39776 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39777 library if `--enable-grub-mkfont' is requested.
39778 (enable_grub_mkfont): New variable.
39779 (freetype_cflags): Likewise.
39780 (freetype_libs): Likewise.
39781
39782 * util/grub-mkfont.c: New file.
39783
093af1fe 397842009-01-12 Christian Franke <franke@computer.org>
39785
39786 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39787 mode check. Fix setting of compat_use[].
39788
f36cc108 397892009-01-10 Robert Millan <rmh@aybabtu.com>
39790
39791 Update a few copyright years which we forgot to do in 2008 (only for
39792 files whose changes made in 2008 were copyright-significant)
39793
39794 * Makefile.in: Add 2008 to Copyright line.
39795 * disk/ieee1275/ofdisk.c: Likewise.
39796 * disk/efi/efidisk.c: Likewise.
39797 * kern/dl.c: Likewise.
39798 * kern/sparc64/ieee1275/init.c: Likewise.
39799 * kern/mm.c: Likewise.
39800 * kern/efi/mm.c: Likewise.
39801 * boot/i386/pc/boot.S: Likewise.
39802 * genfslist.sh: Likewise.
39803 * fs/iso9660.c: Likewise.
39804 * fs/hfs.c: Likewise.
39805 * fs/jfs.c: Likewise.
39806 * fs/minix.c: Likewise.
39807 * fs/ufs.c: Likewise.
39808 * gensymlist.sh.in: Likewise.
39809 * genkernsyms.sh.in: Likewise.
39810 * include/grub/misc.h: Likewise.
39811 * include/grub/types.h: Likewise.
39812 * include/grub/symbol.h: Likewise.
39813 * include/grub/elf.h: Likewise.
39814 * include/grub/kernel.h: Likewise.
39815 * include/grub/disk.h: Likewise.
39816 * include/grub/dl.h: Likewise.
39817 * include/grub/i386/linux.h: Likewise.
39818 * include/grub/i386/pc/biosdisk.h: Likewise.
39819 * include/grub/efi/api.h: Likewise.
39820 * include/grub/efi/pe32.h: Likewise.
39821 * include/grub/util/misc.h: Likewise.
39822 * normal/execute.c: Likewise.
39823 * normal/arg.c: Likewise.
39824 * normal/completion.c: Likewise.
39825 * normal/lexer.c: Likewise.
39826 * normal/parser.y: Likewise.
39827 * normal/misc.c: Likewise.
39828 * commands/i386/pc/vbeinfo.c: Likewise.
39829 * commands/hexdump.c: Likewise.
39830 * commands/terminal.c: Likewise.
39831 * commands/ls.c: Likewise.
39832 * commands/help.c: Likewise.
39833 * partmap/pc.c: Likewise.
39834 * loader/efi/chainloader.c: Likewise.
39835 * loader/multiboot_loader.c: Likewise.
39836 * loader/i386/pc/multiboot2.c: Likewise.
39837 * term/efi/console.c: Likewise.
39838 * term/i386/pc/serial.c: Likewise.
39839 * util/lvm.c: Likewise.
39840 * util/console.c: Likewise.
39841 * util/i386/efi/grub-mkimage.c: Likewise.
39842 * util/raid.c: Likewise.
39843
7f02114b 398442009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39845
39846 * commands/videotest.c: Removed include to grub/machine/memory.h.
39847
39848 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39849 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39850 (video_mod_SOURCES): Removed.
39851 (video_mod_CFLAGS): Likewise.
39852 (video_mod_LDFLAGS): Likewise.
39853 (gfxterm_mod_SOURCES): Likewise.
39854 (gfxterm_mod_CFLAGS): Likewise.
39855 (gfxterm_mod_LDFLAGS): Likewise.
39856 (videotest_mod_SOURCES): Likewise.
39857 (videotest_mod_CFLAGS): Likewise.
39858 (videotest_mod_LDFLAGS): Likewise.
39859 (bitmap_mod_SOURCES): Likewise.
39860 (bitmap_mod_CFLAGS): Likewise.
39861 (bitmap_mod_LDFLAGS): Likewise.
39862 (tga_mod_SOURCES): Likewise.
39863 (tga_mod_CFLAGS): Likewise.
39864 (tga_mod_LDFLAGS): Likewise.
39865 (jpeg_mod_SOURCES): Likewise.
39866 (jpeg_mod_CFLAGS): Likewise.
39867 (jpeg_mod_LDFLAGS): Likewise.
39868 (png_mod_SOURCES): Likewise.
39869 (png_mod_CFLAGS): Likewise.
39870 (png_mod_LDFLAGS): Likewise.
39871
39872 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39873 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39874 (video_mod_SOURCES): Added.
39875 (video_mod_CFLAGS): Likewise.
39876 (video_mod_LDFLAGS): Likewise.
39877 (videotest_mod_SOURCES): Likewise.
39878 (videotest_mod_CFLAGS): Likewise.
39879 (videotest_mod_LDFLAGS): Likewise.
39880 (bitmap_mod_SOURCES): Likewise.
39881 (bitmap_mod_CFLAGS): Likewise.
39882 (bitmap_mod_LDFLAGS): Likewise.
39883 (tga_mod_SOURCES): Likewise.
39884 (tga_mod_CFLAGS): Likewise.
39885 (tga_mod_LDFLAGS): Likewise.
39886 (jpeg_mod_SOURCES): Likewise.
39887 (jpeg_mod_CFLAGS): Likewise.
39888 (jpeg_mod_LDFLAGS): Likewise.
39889 (png_mod_SOURCES): Likewise.
39890 (png_mod_CFLAGS): Likewise.
39891 (png_mod_LDFLAGS): Likewise.
39892 (gfxterm_mod_SOURCES): Likewise.
39893 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39894 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39895
39896 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39897 grub/machine/console.h.
39898
644fff97 398992009-01-04 Jerone Young <jerone@gmail.com>
39900
39901 Make on screen instructions clearer
39902
39903 Based on patch created by Jidanni <jidanni@jidanni.org>
39904
39905 * normal/menu.c: print clearer instructions on the screen
39906
1e901a75 399072009-01-02 Colin D Bennett <colin@gibibit.com>
39908
39909 New font engine.
34c44600 39910
1e901a75 39911 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39912 build system and fixed gfxterm.c to work with different sized fonts.
39913
39914 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39915
1e901a75 39916 * configure: Re-generated.
34c44600 39917
1e901a75 39918 * DISTLIST: Removed font/manager.c.
39919 Added font/font.c.
39920 Added font/font_cmd.c.
34c44600 39921
1e901a75 39922 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39923 compilation.
34c44600 39924
1e901a75 39925 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39926
39927 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39928
39929 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39930
1e901a75 39931 * normal/menu.c: Likewise.
34c44600 39932
1e901a75 39933 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39934 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39935
1e901a75 39936 * include/grub/font.h: Replaced with new file.
34c44600 39937
1e901a75 39938 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39939 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39940 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39941 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39942 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39943 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39944 fg_red, fg_green, fg_blue, fg_alpha.
39945 (grub_video_adapter): Removed blit_glyph.
34c44600 39946 (grub_video_blit_glyph): Removed.
39947
1e901a75 39948 * font/manager.c: Removed file.
34c44600 39949
39950 * font/font.c: New file.
39951
1e901a75 39952 * font/font_cmd.c: Likewise.
34c44600 39953
1e901a75 39954 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39955
1e901a75 39956 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39957 (grub_video_vbe_map_rgba): Likewise.
39958 (grub_video_vbe_unmap_color_int): Likewise.
39959 (grub_video_vbe_blit_glyph): Removed.
39960 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39961
1e901a75 39962 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39963 (get_pixel): Likewise.
34c44600 39964 (set_pixel): Likewise.
39965
1e901a75 39966 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39967
1e901a75 39968 * term/gfxterm.c: Adapted to new font engine.
34c44600 39969
1e901a75 39970 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39971
1e901a75 39972 * term/i386/pc/vga.c: Likewise.
34c44600 39973
1e901a75 39974 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39975
1e901a75 39976 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39977
1e901a75 39978 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39979
1e901a75 39980 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39981
1e901a75 39982 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39983
1e901a75 39984 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39985
1e901a75 39986 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39987
1e901a75 39988 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39989
1e901a75 39990 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39991
39992 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39993
1e901a75 39994 * util/grub-mkconfig_lib.in: Changed font extension.
39995
278922e8 399962008-12-28 Felix Zielcke <fzielcke@z-51.de>
39997
39998 * util/getroot.c (grub_util_get_grub_dev): Add support for
39999 /dev/md/dNNpNN style partitionable mdraid devices.
40000
3ced05cf 400012008-12-12 Alex Smith <alex@alex-smith.me.uk>
40002
40003 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
40004 at a time limit of the PXE TFTP API correctly.
40005 (grub_pxefs_close): Likewise.
40006
7fd0ee30 400072008-11-29 Robert Millan <rmh@aybabtu.com>
40008
34c44600 40009 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 40010 grub_ata_device_initialize() calls.
40011
34c44600 400122008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 40013
40014 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
40015 iteration failed.
40016 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
40017
89313780 400182008-11-28 Robert Millan <rmh@aybabtu.com>
40019
40020 Fix build on powerpc-ieee1275. Based on patch created by
40021 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
40022 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40023 `kern/ieee1275/mmap.c'.
40024 * include/grub/powerpc/ieee1275/memory.h: New file.
40025
15257703 40026 Provide grub-install on coreboot.
40027 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
40028 (grub_install_SOURCES): New variable.
40029 * util/i386/pc/grub-install.in: Add a few condition checks to make it
40030 usable on coreboot.
40031
9fc5388a 400322008-11-25 Felix Zielcke <fzielcke@z-51.de>
40033
40034 * util/grub-fstest.c (grub_term_get_current_input): Change return type
40035 to `grub_term_input_t'.
40036 (grub_term_get_current_output): Change return type to
40037 `grub_term_output_t'.
40038
bc3a2f31 400392008-11-22 Robert Millan <rmh@aybabtu.com>
40040
34c44600 40041 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 40042 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
40043 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
40044 grub_vga_text_cls().
40045
80fc88f2 40046 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 40047 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 40048
cbf36fd3 40049 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
40050 to 0x200000 (avoids trouble with some OFW implementations, and matches
40051 with the one in Yaboot).
40052 Reported by Manoel Abranches
40053
73e8e268 400542008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 40055
40056 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
40057 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
40058
73e8e268 40059 * util/grub-mkconfig_lib.in (grub_warn): New function.
40060 (convert_system_path_to_grub_path): Use grub_warn() when issuing
40061 warnings, to obtain consistent formatting.
40062 * util/grub.d/00_header.in: Likewise.
40063 * util/update-grub_lib.in: Likewise.
40064
e94045a1 40065 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 40066 Move comment text to `#error' stanza.
e94045a1 40067
79d29fd7 40068 Harmonize ieee1275's grub_available_iterate() with the generic
40069 grub_machine_mmap_iterate() interface (fixes a recently-introduced
40070 build problem on i386-ieee1275):
40071 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
40072 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
40073 parameter `type'. Update all users of this function.
40074 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40075 `kern/ieee1275/mmap.c'.
40076 * kern/ieee1275/init.c
40077 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
40078 with ...
40079 (grub_machine_mmap_iterate): ... this.
40080 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
40081 return type to `grub_err_t'. Update all implementations of this
40082 function prototype.
40083 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
40084 Likewise.
40085
60d6b16e 40086 Add `lsmmap' command (lists firmware-provided memory map):
40087 * commands/lsmmap.c: New file.
40088 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
40089 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
40090 variables.
40091 * conf/powerpc-ieee1275.rmk: Likewise.
40092 * conf/i386-coreboot.rmk: Likewise.
40093 * conf/i386-ieee1275.rmk: Likewise.
40094
ebaaf49b 400952008-11-19 Robert Millan <rmh@aybabtu.com>
40096
40097 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 40098 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
40099 constraints to initrd allocation (based on code from
40100 loader/i386/pc/linux.c). Without them, initrd was allocated too high
40101 for Linux to find it.
ebaaf49b 40102
dfab719f 401032008-11-14 Robert Millan <rmh@aybabtu.com>
40104
40105 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
40106 order to cope with duplicate slashes.
40107
10fc3eb9 401082008-11-14 Robert Millan <rmh@aybabtu.com>
40109
40110 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
40111 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
40112 don't want to mess with lower memory, because it is used in the Linux
40113 loader.
40114
40115 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 40116 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 40117 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
40118 is in our heap (probably as a result of it being corrupted during
2f2a3442 40119 decompression). Add #error instance with comment to explain why this
40120 loader isn't currently usable on PC/BIOS.
10fc3eb9 40121
e2e07847 401222008-11-14 Robert Millan <rmh@aybabtu.com>
40123
40124 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 40125 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 40126
fe8e8d69 401272008-11-12 Robert Millan <rmh@aybabtu.com>
40128
40129 Make loader/i386/linux.c buildable on i386-pc (although disabled).
40130
40131 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
40132 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
40133 from here ...
40134 * include/grub/i386/pc/memory.h: ... to here.
40135
976b07d0 401362008-11-12 Robert Millan <rmh@aybabtu.com>
40137
40138 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
40139 split).
40140
40141 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
40142 (grub_console_cur_color, grub_console_real_putchar)
40143 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40144 (grub_console_setcolorstate, grub_console_setcolor)
40145 (grub_console_getcolor): Move from here ...
40146 * include/grub/i386/vga_common.h: ... to here (new file).
40147
40148 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
40149 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
40150 `<grub/i386/io.h>'.
40151 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
40152 `<grub/i386/vga_common.h>'.
40153
76679cd3 401542008-11-12 Robert Millan <rmh@aybabtu.com>
40155
40156 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
40157 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
40158 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
40159 variables.
40160 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40161 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
40162
40163 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
40164 grub_console_init() with call to grub_vga_text_init().
40165 (grub_machine_fini): Replace call to
40166 grub_console_fini() with call to grub_vga_text_fini() and
40167 grub_at_keyboard_fini().
40168
40169 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
40170 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40171 (grub_console_setcolorstate, grub_console_setcolor)
40172 (grub_console_getcolor): New function prototypes.
40173
40174 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
40175 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
40176 (grub_vga_text_setcursor): Static-ize.
40177 (grub_vga_text_term): New structure.
40178 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
40179
40180 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
40181 (grub_console_cur_color, grub_console_standard_color)
40182 (grub_console_normal_color, grub_console_highlight_color)
40183 (map_char, grub_console_putchar, grub_console_getcharwidth)
40184 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
40185 (grub_console_getcolor): Move from here ...
40186 * term/i386/vga_common.c: ... to here (same function names).
40187
95b841d3 401882008-11-12 Robert Millan <rmh@aybabtu.com>
40189
40190 Use newly-added Multiboot support in coreboot.
40191
40192 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40193 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
40194
40195 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
40196 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
40197 (codestart): Store the MBI in `startup_multiboot_info' when we're
40198 being loaded using Multiboot.
40199
40200 * kern/i386/coreboot/init.c (grub_machine_init): Move
40201 grub_at_keyboard_init() call to beginning of function (useful for
40202 debugging). Call grub_machine_mmap_init() before attempting to use
40203 grub_machine_mmap_iterate().
40204 (grub_lower_mem, grub_upper_mem): Move from here ...
40205 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
40206 here (new file).
40207
40208 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
40209 function prototype.
40210
761ca975 402112008-11-12 Robert Millan <rmh@aybabtu.com>
40212
40213 Fix a regression introduced by the at_keyboard.mod split. Because
40214 some terminals are default on some platforms and non-default on
40215 others, the first terminal being registered determines which is
40216 going to be default.
40217
40218 * kern/term.c (grub_term_register_input): If this is the first
40219 terminal being registered, set it as the current one.
40220 (grub_term_register_output): Likewise.
40221
40222 * term/efi/console.c (grub_console_init): Do not call
40223 grub_term_set_current_output() or grub_term_set_current_input().
40224 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
40225 * term/i386/pc/console.c (grub_console_init): Likewise.
40226 (grub_console_fini): Do not call grub_term_set_current_input()
40227 (but leave grub_term_set_current_output() to restore text mode).
40228
6c529df7 402292008-11-10 Robert Millan <rmh@aybabtu.com>
40230
40231 * util/grub.d/00_header.in: Add backward compatibility check for
40232 versions of terminal.mod that don't understand `terminal_input' or
40233 `terminal_output'.
40234
132e4113 402352008-11-09 Robert Millan <rmh@aybabtu.com>
40236
40237 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
40238 `terminal_input' / `terminal_output', not `terminal'.
40239
ac293d50 402402008-11-08 Robert Millan <rmh@aybabtu.com>
40241
40242 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 40243 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 40244
0025933a 402452008-11-08 Robert Millan <rmh@aybabtu.com>
40246
40247 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 40248 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 40249 members. Update all users.
40250 * util/console.c (grub_ncurses_term): Split in ...
40251 (grub_ncurses_term_input): ... this, and ...
40252 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 40253 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 40254
37c86336 402552008-11-08 Robert Millan <rmh@aybabtu.com>
40256
40257 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
40258 (PKGDATA): Add $(pkgdata_SRCDIR).
40259 (pkglib_BUILDDIR): New variable.
40260 (pkgdata_SRCDIR): New variable.
40261 (build_env.mk): New target.
40262 (include_DATA): New variable.
40263 (install-local): Install $(include_DATA) files in $(includedir).
40264
b6c15a2d 402652008-11-07 Pavel Roskin <proski@gnu.org>
40266
d99d46f1 40267 * gendistlist.sh: Use C locale for sorting to ensure consistent
40268 output on all systems.
40269
b6c15a2d 40270 * util/grub.d/00_header.in: Remove incorrect space before
40271 "serial".
40272
c32ee8c9 402732008-11-07 Robert Millan <rmh@aybabtu.com>
40274
40275 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
40276 per specification.
40277 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
40278 * loader/multiboot_loader.c (find_multi_boot2_header): New function
40279 (based on find_multi_boot1_header).
40280 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
40281 using find_multi_boot2_header(), and abort if neither Multiboot or
40282 Multiboot headers were found.
40283
651c29b7 402842008-11-07 Robert Millan <rmh@aybabtu.com>
40285
40286 Modularize at_keyboard.mod:
40287
40288 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
40289 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
40290 (at_keyboard_mod_LDFLAGS): New variables.
40291
40292 Actual terminal split:
40293
40294 * include/grub/term.h (struct grub_term): Split in ...
40295 (struct grub_term_input): ... this, and ...
40296 (struct grub_term_output): ... this. Update all users.
40297 (grub_term_set_current): Split in ...
40298 (grub_term_set_current_input): ... this, and ...
40299 (grub_term_set_current_output): ... this.
40300 (grub_term_get_current): Split in ...
40301 (grub_term_get_current_input): ... this, and ...
40302 (grub_term_get_current_output): ... this.
40303 (grub_term_register): Split in ...
40304 (grub_term_register_input): ... this, and ...
40305 (grub_term_register_output): ... this.
40306 (grub_term_unregister): Split in ...
40307 (grub_term_unregister_input): ... this, and ...
40308 (grub_term_unregister_output): ... this.
40309 (grub_term_iterate): Split in ...
40310 (grub_term_iterate_input): ... this, and ...
40311 (grub_term_iterate_output): ... this.
40312
40313 * kern/term.c (grub_term_list): Split in ...
40314 (grub_term_list_input): ... this, and ...
40315 (grub_term_list_output): ... this. Update all users.
40316 (grub_cur_term): Split in ...
40317 (grub_cur_term_input): ... this, and ...
40318 (grub_cur_term_output): ... this. Update all users.
40319 (grub_term_set_current): Split in ...
40320 (grub_term_set_current_input): ... this, and ...
40321 (grub_term_set_current_output): ... this.
40322 (grub_term_get_current): Split in ...
40323 (grub_term_get_current_input): ... this, and ...
40324 (grub_term_get_current_output): ... this.
40325 (grub_term_register): Split in ...
40326 (grub_term_register_input): ... this, and ...
40327 (grub_term_register_output): ... this.
40328 (grub_term_unregister): Split in ...
40329 (grub_term_unregister_input): ... this, and ...
40330 (grub_term_unregister_output): ... this.
40331 (grub_term_iterate): Split in ...
40332 (grub_term_iterate_input): ... this, and ...
40333 (grub_term_iterate_output): ... this.
40334
40335 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
40336 a check for input and one for output (and only attempt to get keys
40337 from user when input works).
40338
40339 * util/grub-probe.c (grub_term_get_current): Split in ...
40340 (grub_term_get_current_input): ... this, and ...
40341 (grub_term_get_current_output): ... this.
40342 * util/grub-fstest.c: Likewise.
40343 * util/i386/pc/grub-setup.c: Likewise.
40344 * util/grub-editenv.c: Likewise.
40345
40346 Portability adjustments:
40347
40348 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40349 `term/i386/pc/at_keyboard.c'.
40350 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40351 grub_keyboard_controller_init() (now handled by terminal .init).
40352 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40353 grub_at_keyboard_init().
40354 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40355 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40356 at_keyboard.mod via input terminal interface).
40357 * include/grub/i386/coreboot/console.h: Convert into a stub for
40358 `<grub/i386/pc/console.h>'.
40359
40360 Migrate full terminals to new API:
40361
40362 * term/efi/console.c (grub_console_term): Split into ...
40363 (grub_console_term_input): ... this, and ...
40364 (grub_console_term_output): ... this. Update all users.
40365 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40366 (grub_ofconsole_init): Split into ...
40367 (grub_ofconsole_init_input): ... this, and ...
40368 (grub_ofconsole_init_output): ... this.
40369 (grub_ofconsole_term): Split into ...
40370 (grub_ofconsole_term_input): ... this, and ...
40371 (grub_ofconsole_term_output): ... this. Update all users.
40372 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40373 (grub_serial_term_input): ... this, and ...
40374 (grub_serial_term_output): ... this. Update all users.
40375 * term/i386/pc/console.c (grub_console_term): Split into ...
40376 (grub_console_term_input): ... this, and ...
40377 (grub_console_term_output): ... this. Update all users.
40378 (grub_console_term_input): Only enable it on PC/BIOS platform.
40379 (grub_console_init): Remove grub_keyboard_controller_init() call.
40380
40381 Migrate input terminals to new API:
40382
40383 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40384 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40385 i386-specific anyway).
40386 (grub_console_checkkey): Rename to ...
40387 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40388 users.
40389 (grub_keyboard_controller_orig): New variable.
40390 (grub_console_getkey): Rename to ...
40391 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40392 users.
40393 (grub_keyboard_controller_init): Static-ize. Save original
40394 controller value so that it can be restored ...
40395 (grub_keyboard_controller_fini): ... here (new function).
40396 (grub_at_keyboard_term): New structure.
40397 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40398 functions.
40399
40400 Migrate output terminals to new API:
40401
40402 * term/i386/pc/vga.c (grub_vga_term): Change type to
40403 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40404 members. Update all users.
40405 * term/gfxterm.c (grub_video_term): Change type to
40406 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40407 members. Update all users.
40408 * include/grub/i386/pc/console.h (grub_console_checkkey)
40409 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40410 etc).
40411
40412 Migrate `terminal' command and userland tools to new API:
40413
40414 * commands/terminal.c (grub_cmd_terminal): Split into ...
40415 (grub_cmd_terminal_input): ... this, and ...
40416 (grub_cmd_terminal_output): ... this.
40417 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40418 `terminal_input' and `terminal_output'.
40419 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40420 `terminal_input' / `terminal_output' API.
40421 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40422 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40423 provided ${GRUB_TERMINAL}, convert it).
40424
96e5d876 404252008-11-04 Robert Millan <rmh@aybabtu.com>
40426
40427 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40428 for FreeBSD.
40429 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40430
556f3775 404312008-11-03 Bean <bean123ch@gmail.com>
40432
40433 * kern/elf.c (grub_elf32_load): Revert to previous code.
40434 (grub_elf64_load): Likewise.
40435
40436 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40437
926b9823 404382008-11-01 Robert Millan <rmh@aybabtu.com>
40439
40440 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40441 (TARGET_CPPFLAGS): Likewise.
40442 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40443
1432e958 404442008-11-01 Carles Pina i Estany <carles@pina.cat>
40445
40446 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40447
dba3f844 404482008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 40449
40450 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40451 addition of objects until the code is not going to be able to fail.
40452
dba3f844 404532008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 40454
40455 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40456 (add a missing NULL check, and correct them by moving the pointer
40457 operations after the actual check).
40458
7ab28c21 404592008-10-29 Robert Millan <rmh@aybabtu.com>
40460
40461 * util/i386/pc/grub-install.in: Handle empty string as output from
40462 make_system_path_relative_to_its_root().
40463
1b7748eb 404642008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40465
40466 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40467 circular metadata worst case scenario. If the metadata is circular
40468 then copy the wrap in place.
40469 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40470 project lib/format_text/layout.h
40471 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
40472
c9618ab2 404732008-10-03 Felix Zielcke <fzielcke@z-51.de>
40474
7a36edca 40475 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 40476
bf981c62 404772008-10-03 Felix Zielcke <fzielcke@z-51.de>
40478
40479 * util/update-grub_lib.in: Mention filename in warning message.
40480
6d994591 404812008-09-29 Felix Zielcke <fzielcke@z-51.de>
40482
40483 * NEWS: Update for rename of update-grub to grub-mkconfig.
40484
18ade780 404852008-09-29 Felix Zielcke <fzielcke@z-51.de>
40486
40487 * util/update-grub_lib.in: Copy to ...
40488 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 40489 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 40490 * util/update-grub.in: Rename to ...
40491 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40492 option. Add `--output' option to allow users to specify the generated
40493 configuration file. Default to stdout.
40494 (update_grub_dir): Rename to ...
40495 (grub_mkconfig_dir): ... this.
40496 (grub_cfg): Default to an empty string.
40497 * conf/common.rmk (update-grub): Rename to ...
40498 (grub-mkconfig): ... this.
40499 (update-grub_lib): Copy to ...
40500 (grub-mkconfig_lib): ... this.
40501 (update-grub_SCRIPTS): Copy to ...
40502 (grub-mkconfig_SCRIPTS): ... this. Update all users.
40503 (update-grub_DATA): Rename to ...
40504 (grub-mkconfig_DATA): ... this.
40505
556ce6ac 405062008-09-28 Robert Millan <rmh@aybabtu.com>
40507
40508 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
40509 to `modified'. Add the real `created' field.
40510 (grub_iso9660_uuid): Use `modified' rather than `created' for
40511 constructing the UUID.
40512
405132008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 40514
40515 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40516 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40517
92274e85 405182008-09-28 Bean <bean123ch@gmail.com>
40519
40520 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40521 Thanks to Christian Franke for finding this bug.
40522
add6f17a 405232008-09-25 Robert Millan <rmh@aybabtu.com>
40524
40525 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40526 instances of grub_util_get_disk_name() (see previous commit).
40527
d2a367b8 405282008-09-25 Robert Millan <rmh@aybabtu.com>
40529
40530 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40531 `util/i386/get_disk_name.c'.
40532 * conf/i386-efi.rmk: Likewise.
40533 * conf/x86_64-efi.rmk: Likewise.
40534 * conf/i386-coreboot.rmk: Likewise.
40535 * conf/i386-ieee1275.rmk: Likewise.
40536 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40537 `util/ieee1275/get_disk_name.c'.
40538 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40539 * util/ieee1275/get_disk_name.c: Remove file.
40540 * util/i386/get_disk_name.c: Remove file.
40541 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40542 "hd%d" for device.map entries, rather than using
40543 grub_util_get_disk_name().
40544
81a06771 405452008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 40546
40547 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40548 warning.
40549 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40550
5a004279 405512008-09-24 Carles Pina i Estany <carles@pina.cat>
40552
40553 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40554 Changed to 0x5100.
40555 (GRUB_TERM_PPAGE): Changed to 0x4900.
40556
397093d3 405572008-09-24 Robert Millan <rmh@aybabtu.com>
40558
40559 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40560 macros (they were i386-pc specific).
40561 * include/grub/sparc64/ieee1275/console.h: Likewise.
40562 * include/grub/efi/console.h: Likewise.
40563
a91b6c7c 405642008-09-22 Bean <bean123ch@gmail.com>
40565
40566 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40567 resident and in attribute list.
40568
40569 * include/grub/ntfs.h (BMP_LEN): Removed.
40570
c40fd116 405712008-09-22 Bean <bean123ch@gmail.com>
40572
81a06771 40573 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 40574 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40575
40576 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40577 error occurs, as grub_disk_open will call grub_disk_close, which will
40578 call p->close (scsi).
40579
81a06771 405802008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 40581
40582 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40583 (AC_PREREQ): Bumped to 2.59.
40584 (AC_TRY_COMPILE): Replace obsolete macro with ...
40585 (AC_COMPILE_IFELSE): ... this.
40586 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40587 (AC_LINK_IFELSE): ... this.
40588
5dc43410 405892008-09-21 Felix Zielcke <fzielcke@z-51.de>
40590
40591 * autogen.sh: Add a call to `gendistlist.sh'.
40592
9035dce4 405932008-09-19 Christian Franke <franke@computer.org>
40594
40595 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40596 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40597 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40598 Export __enable_execute_stack() to modules.
40599 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40600 New function.
40601
7fd75377 406022008-09-09 Felix Zielcke <fzielcke@z-51.de>
40603
040030b3 40604 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40605 Sort the list.
40606
406072008-09-09 Felix Zielcke <fzielcke@z-51.de>
40608
40609 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 40610 #include <grub/util/hostdisk.h>.
40611
89d5ffcf 406122008-09-08 Robert Millan <rmh@aybabtu.com>
40613
40614 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40615 segments when their filesz is zero (grub_file_read() interprets
81a06771 40616 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 40617 Use `lowest_segment' rather than 0 for calculating the current
40618 segment load address.
40619
40da438f 406202008-09-08 Robert Millan <rmh@aybabtu.com>
40621
40622 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40623 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40624 clobbered useful information.
40625
ddbf5556 406262008-09-08 Robert Millan <rmh@aybabtu.com>
40627
40628 * include/grub/util/biosdisk.h: Move to ...
40629 * include/grub/util/hostdisk.h: ... here. Update all users.
40630 * util/biosdisk.c: Move to ...
40631 * util/hostdisk.c: ... here. Update all users.
40632
783d0f48 406332008-09-07 Robert Millan <rmh@aybabtu.com>
40634
40635 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40636 variables.
40637 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40638 and length can be stored directly in the `mbi->mmap_addr' and
40639 `mbi->mmap_length' struct fields.
40640
548e2ea5 406412008-09-07 Robert Millan <rmh@aybabtu.com>
40642
40643 * conf/i386.rmk: New file. Provides declaration for building
40644 `cpuid.mod'.
40645 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40646 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40647 variables.
40648 Include `conf/i386.mk'.
40649 * conf/i386-efi.rmk: Likewise.
40650 * conf/x86_64-efi.rmk: Likewise.
40651 * conf/i386-coreboot.rmk: Likewise.
40652 * conf/i386-ieee1275.rmk: Likewise.
40653
0ea85a37 406542008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40655
40656 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40657 Adds optimization support for BGR based modes.
40658
40659 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40660 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40661 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40662 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40663 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40664 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40665 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40666 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40667 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40668 (grub_video_i386_vbeblit_index_index): Likewise.
40669 (grub_video_i386_vbeblit_replace_directN): Added.
40670 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40671 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40672 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40673 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40674 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40675 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 40676 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 40677 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40678 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40679 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40680 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40681 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40682 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40683
40684 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40685 (grub_video_i386_vbefill_R8G8B8): Likewise.
40686 (grub_video_i386_vbefill_index): Likewise.
40687 (grub_video_i386_vbefill_direct32): Added.
40688 (grub_video_i386_vbefill_direct24): Likewise.
40689 (grub_video_i386_vbefill_direct16): Likewise.
40690 (grub_video_i386_vbefill_direct8): Likewise.
40691
81a06771 40692 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 40693 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40694 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40695 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40696 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40697 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 40698
0ea85a37 40699 * video/video.c (grub_video_get_blit_format): Updated to use new
40700 blit formats. Added handling for 16 bit color modes.
81a06771 40701
40702 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 40703 fillers.
40704 (common_blitter): Updated to use new blitters.
40705
40706 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40707 Removed.
40708 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40709 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40710 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40711 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40712 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40713 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40714 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40715 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40716 (grub_video_i386_vbeblit_index_index): Likewise.
40717 (grub_video_i386_vbeblit_replace_directN): Added.
40718 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40719 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40720 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40721 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40722 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40723 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40724 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40725 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40726 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40727 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40728 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40729 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40730 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 40731
0ea85a37 40732 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40733 (grub_video_i386_vbefill_R8G8B8): Likewise.
40734 (grub_video_i386_vbefill_index): Likewise.
40735 (grub_video_i386_vbefill_direct32): Added.
40736 (grub_video_i386_vbefill_direct24): Likewise.
40737 (grub_video_i386_vbefill_direct16): Likewise.
40738 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 40739
0ea85a37 40740 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40741 types.
81a06771 40742
0ea85a37 40743 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40744 types.
81a06771 40745
0ea85a37 40746 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40747 blitter types.
81a06771 40748
0ea85a37 40749 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40750 types.
40751
e8a83df6 407522008-09-06 Felix Zielcke <fzielcke@z-51.de>
40753
40754 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40755 RAID level 1.
40756
6bcd8ee5 407572008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 40758
6bcd8ee5 40759 * fs/iso9660.c (grub_iso9660_date): New structure.
40760 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40761 (grub_iso9660_uuid): New function.
c375ae58 40762
59261157 407632008-09-05 Bean <bean123ch@gmail.com>
40764
40765 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40766
40767 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40768 insensitive bit for names in Win32 and Win32 & DOS namespace.
40769
40770 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40771
40772 * include/grub/types.h (LONG_MAX): Likewise.
40773
58b6645a 407742008-09-04 Felix Zielcke <fzielcke@z-51.de>
40775
4ee55921 40776 * util/getroot.c: Include <config.h>.
40777 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40778 add support for /dev/md/N devices and handle LVM double dash escaping.
40779
407802008-09-04 Felix Zielcke <fzielcke@z-51.de>
40781
40782 * config.guess: Update to latest version from config git.
40783 * config.sub: Likewise.
58b6645a 40784
9124f65d 407852008-09-03 Robert Millan <rmh@aybabtu.com>
40786
40787 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40788 `disk->total_sectors'.
40789
81a06771 407902008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 40791
40792 * include/grub/normal.h: Fixed incorrect comment for
40793 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40794
81a06771 407952008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40796
40797 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40798 values with defines.
40799
40800 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40801 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40802 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40803 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40804 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40805 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40806 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40807 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40808 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40809 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40810 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40811 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40812 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40813 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40814 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40815 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40816 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40817 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40818 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40819
93d5cbf8 408202008-08-31 Robert Millan <rmh@aybabtu.com>
40821
40822 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40823 declaration.
40824 (grub_multiboot): Fix a few warnings.
40825
21751d50 408262008-08-31 Robert Millan <rmh@aybabtu.com>
40827
40828 * loader/i386/pc/multiboot.c: Update comment not to say that
40829 boot_device support is unimplemented.
40830
e27a75c5 408312008-08-31 Robert Millan <rmh@aybabtu.com>
40832
40833 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40834 or memory map support are unimplemented.
40835
81a06771 408362008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40837
40838 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40839
81a06771 408402008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40841
40842 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40843 total video memory in 'vbeinfo' output; show color format details for
40844 each video mode.
40845
7c5d8d95 408462008-08-30 Pavel Roskin <proski@gnu.org>
40847
40848 * util/genmoddep.c: Remove for real this time.
40849 * DISTLIST: Remove util/genmoddep.c.
40850
4cebd25a 408512008-08-30 Robert Millan <rmh@aybabtu.com>
40852
40853 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40854 as required by Multiboot spec (it was already 4-byte aligned, but
40855 only by chance).
40856
b497a269 408572008-08-29 Pavel Roskin <proski@gnu.org>
40858
e3925185 40859 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40860 * kern/powerpc/ieee1275/startup.S: ... this.
40861 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40862 * DISTLIST: Likewise.
40863
b497a269 40864 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40865 grub/cpu/kernel.h. Add start label for consistency with other
40866 platforms. Add grub_prefix immediately after start. Add jump
40867 to the code after grub_prefix.
40868 * include/grub/powerpc/kernel.h: Provide valid values for
40869 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40870
6e5a42fe 408712008-08-29 Bean <bean123ch@gmail.com>
40872
40873 * configure.ac: Change host_os to cygwin for mingw.
40874 (asprintf): New check for function.
40875
40876 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40877 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40878
40879 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40880 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40881 sync, sleep and grub_util_get_disk_size for mingw.
40882
40883 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40884 to get size in mingw.
40885 (open_device): Use flag O_BINARY if it's defined.
40886 (find_root_device): Add dummy code for mingw.
40887
40888 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40889 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40890 (get_scsi_disk_name): Return 0 for mingw.
40891
40892 * util/hostfs.c: #include <grub/util/misc.h>.
40893 (grub_hostfs_open): Use "rb" flag to open file, use
40894 grub_util_get_disk_size to get disk size for mingw.
40895
40896 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40897 (asprintf): New function if HAVE_ASPRINTF is not set.
40898 (sync): New function for mingw.
40899 (sleep): Likewise.
40900 (grub_util_get_disk_size): Likewise.
40901
ab3f2673 409022008-08-28 Pavel Roskin <proski@gnu.org>
40903
40904 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40905 kern/time.c.
40906
1c282483 409072008-08-28 Robert Millan <rmh@aybabtu.com>
40908
40909 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40910
678e849c 409112008-08-28 Robert Millan <rmh@aybabtu.com>
40912
40913 Change find_grub_drive() syntax so it doesn't prevent it from
40914 detecting NULL names as errors.
40915
40916 * util/biosdisk.c (find_grub_drive): Move free slot search code
40917 from here ...
40918 (find_free_slot): ... to here.
40919 (read_device_map): Use find_free_slot() to search for free slots.
40920
965c75ca 409212008-08-27 Marco Gerards <marco@gnu.org>
40922
40923 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40924 (scsi_mod_SOURCES): New variable.
40925 (scsi_mod_CFLAGS): Likewise
40926 (scsi_mod_LDFLAGS): Likewise.
40927
40928 * disk/scsi.c: New file.
40929
40930 * include/grub/scsi.h: Likewise.
40931
40932 * include/grub/scsicmd.h: Likewise.
40933
40934 * disk/ata.c: Include <grub/scsi.h>.
40935 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40936 instead.
40937 (grub_ata_iterate): Skip ATAPI devices.
40938 (grub_ata_open): Only handle ATAPI devices.
40939 (struct grub_atapi_read): Removed.
40940 (grub_atapi_readsector): Likewise.
40941 (grub_ata_read): No longer handle ATAPI devices.
40942 (grub_ata_write): Likewise.
40943 (grub_atapi_iterate): New function.
40944 (grub_atapi_read): Likewise.
40945 (grub_atapi_write): Likewise.
40946 (grub_atapi_open): Likewise.
40947 (grub_atapi_close): Likewise.
40948 (grub_atapi_dev): New variable.
40949 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40950 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40951
40952 * include/grub/disk.h (enum grub_disk_dev_id): Add
40953 `GRUB_DISK_DEVICE_SCSI_ID'.
40954
c07ae501 409552008-08-26 Robert Millan <rmh@aybabtu.com>
40956
40957 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40958 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40959 descriptive.
40960
5ed20adc 409612008-08-23 Bean <bean123ch@gmail.com>
40962
40963 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40964 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40965 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40966 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40967 dm_nv.mod.
40968 (raid5rec_mod_SOURCES): New macro.
40969 (raid5rec_mod_CFLAGS): Likewise.
40970 (raid5rec_mod_LDFLAGS): Likewise.
40971 (raid6rec_mod_SOURCES): Likewise.
40972 (raid6rec_mod_CFLAGS): Likewise.
40973 (raid6rec_mod_LDFLAGS): Likewise.
40974 (mdraid_mod_SOURCES): Likewise.
40975 (mdraid_mod_CFLAGS): Likewise.
40976 (mdraid_mod_LDFLAGS): Likewise.
40977 (dm_nv_mod_SOURCES): Likewise.
40978 (dm_nv_mod_CFLAGS): Likewise.
40979 (dm_nv_mod_LDFLAGS): Likewise.
40980
40981 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40982 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40983 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40984
40985 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40986 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40987
40988 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40989
40990 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40991
40992 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40993
40994 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40995
40996 * disk/raid5_recover.c: New file.
40997
40998 * disk/raid6_recover.c: Likewise.
40999
41000 * disk/mdraid_linux.c: Likewise.
41001
41002 * disk/dmraid_nvidia.c: Likewise.
41003
41004 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
41005 ULONG_MAX.
41006
41007 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
41008 calculate the size of raid device.
41009 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
41010 different layout of raid5.
41011 (grub_raid_scan_device): Remove code specific to mdraid.
41012 (grub_raid_list): New variable.
41013 (free_array): New function.
41014 (grub_raid_register): Likewise.
41015 (grub_raid_unregister): Likewise.
41016 (grub_raid_rescan): Likewise.
41017 (GRUB_MOD_INIT): Don't iterate device here.
41018 (GRUB_MOD_FINI): Use free_array to release resource.
41019
41020 * include/grub/raid.h: Remove macro and structure specific to mdraid.
41021 (grub_raid5_recover_func_t): New function variable type.
41022 (grub_raid6_recover_func_t): Likewise.
41023 (grub_raid5_recover_func): New variable.
41024 (grub_raid6_recover_func): Likewise.
41025 (grub_raid_register): New function.
41026 (grub_raid_unregister): Likewise.
41027 (grub_raid_rescan): Likewise.
41028 (grub_raid_block_xor): Likewise.
41029
41030 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
41031 (CMD_CRC): New macro.
41032 (part): Removed.
41033 (read_file): Handle device as well as file.
41034 (cmd_crc): New function.
41035 (fstest): Handle multiple disks.
41036 (options): Remove part, raw and long, add root and diskcount.
41037 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 41038 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 41039 add handling for the new options, support multiple disks.
41040
41041 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
41042
29c18915 410432008-08-23 Bean <bean123ch@gmail.com>
41044
41045 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
41046
41047 * genfslist.sh: Ignore kernel.mod.
41048
41049 * genpartmaplist.sh: Likewise.
41050
8415f261 410512008-08-23 Robert Millan <rmh@aybabtu.com>
41052
41053 * util/getroot.c (find_root_device): Skip anything that starts with
41054 a dot, not just directories. This avoids things like /dev/.tmp.md0.
41055
d5a7dc5b 410562008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 41057
d5a7dc5b 41058 * util/update-grub.in (GRUB_GFXMODE): Export variable.
41059 * util/grub.d/00_header.in: Allow the administrator to change default
41060 gfxmode via ${GRUB_GFXMODE}.
41061
380cfbb4 410622008-08-21 Felix Zielcke <fzielcke@z-51.de>
41063
41064 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
41065
c9baafe7 410662008-08-21 Robert Millan <rmh@aybabtu.com>
41067
41068 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
41069 loader.
41070 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
41071 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
41072
e290bef2 410732008-08-20 Carles Pina i Estany <carles@pina.cat>
41074
41075 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
41076 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
41077
f9dbfc96 410782008-08-19 Robert Millan <rmh@aybabtu.com>
41079
41080 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
41081 (struct grub_virtual_screen): Remove `cursor_color'.
41082 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
41083 initialization.
41084 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
41085
dd6bd6ab 410862008-08-18 Robert Millan <rmh@aybabtu.com>
41087
41088 Unify (identical) linux_normal.c files.
41089 * loader/i386/efi/linux_normal.c: Move from here ...
41090 * loader/linux_normal.c: ... to here. Update all users.
41091 * loader/i386/pc/linux_normal.c: Delete. Update all users.
41092 * loader/i386/ieee1275/linux_normal.c: Likewise.
41093
7f42f83e 410942008-08-18 Robert Millan <rmh@aybabtu.com>
41095
41096 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
41097 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
41098 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
41099 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
41100 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
41101 New macros.
41102 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
41103 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
41104 (GRUB_LINUX_CL_END_OFFSET): ... to here.
41105 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
41106 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
41107 (GRUB_EFI_CL_END_OFFSET): Rename to ...
41108 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
41109 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
41110 Initialize `params->video_cursor_x' and `params->video_cursor_y'
41111 portably using grub_getxy().
41112 Replace `-EFI' with `-bzImage' in boot message.
41113
38487ddb 411142008-08-17 Robert Millan <rmh@aybabtu.com>
41115
41116 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
41117
deceb3ec 411182008-08-17 Robert Millan <rmh@aybabtu.com>
41119
41120 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
41121
41122 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
41123 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
41124 (grub_machine_mmap_iterate): New function declaration.
41125 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
41126 structure.
41127 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
41128 macros.
41129
41130 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
41131 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
41132 Move e820 parsing from here ...
41133 * kern/i386/pc/mmap.c: New file.
41134 (grub_machine_mmap_iterate): ... to here.
41135
41136 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
41137 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
41138 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
41139 (grub_available_iterate): Redeclare to return `void', and redeclare
41140 its hook to use grub_uint64_t as addr and size parameters, and rename
41141 to ...
41142 (grub_machine_mmap_iterate): ... this. Update all users.
41143
41144 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
41145 to make it more readable. Rename to ...
41146 (grub_machine_mmap_iterate): ... this.
41147
41148 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
41149 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
41150 (grub_multiboot): Allocate an extra region after the payload, and fill
41151 it with a Multiboot memory map. Adjust a.out loader to calculate size
41152 with the extra space.
41153 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
41154 with the extra space.
41155
f8aa0f43 411562008-08-17 Carles Pina i Estany <carles@pina.cat>
41157
9807deb9 41158 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 41159
605f5bb6 411602008-08-17 Felix Zielcke <fzielcke@z-51.de>
41161
41162 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
41163 mdate-sh to the list `find' searches for.
41164 * DISTLIST: Regenerated.
41165
210db6c6 411662008-08-16 Felix Zielcke <fzielcke@z-51.de>
41167
41168 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
41169 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 41170 genmoddep.awk, gensymlist.sh.in.
41171 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 41172 * DISTLIST: Regenerated.
48cdbfd4 41173 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 41174
1082b929 411752008-08-16 Robert Millan <rmh@aybabtu.com>
41176
41177 * disk/raid.c (grub_raid_init): Handle/report errors set by
41178 grub_device_iterate().
41179 * disk/lvm.c (grub_lvm_init): Likewise.
41180
42ce5170 411812008-08-15 Bean <bean123ch@gmail.com>
41182
41183 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41184 and datehook.mod.
41185 (datetime_mod_SOURCES): New macro.
41186 (datetime_mod_CFLAGS): Likewise.
41187 (datetime_mod_LDFLAGS): Likewise.
41188 (date_mod_SOURCES): Likewise.
41189 (date_mod_CFLAGS): Likewise.
41190 (date_mod_LDFLAGS): Likewise.
41191 (datehook_mod_SOURCES): Likewise.
41192 (datehook_mod_CFLAGS): Likewise.
41193 (datehook_mod_LDFLAGS): Likewise.
41194
41195 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41196 and datehook.mod.
41197 (datetime_mod_SOURCES): New macro.
41198 (datetime_mod_CFLAGS): Likewise.
41199 (datetime_mod_LDFLAGS): Likewise.
41200 (date_mod_SOURCES): Likewise.
41201 (date_mod_CFLAGS): Likewise.
41202 (date_mod_LDFLAGS): Likewise.
41203 (datehook_mod_SOURCES): Likewise.
41204 (datehook_mod_CFLAGS): Likewise.
41205 (datehook_mod_LDFLAGS): Likewise.
41206
41207 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41208 and datehook.mod.
41209 (datetime_mod_SOURCES): New macro.
41210 (datetime_mod_CFLAGS): Likewise.
41211 (datetime_mod_LDFLAGS): Likewise.
41212 (date_mod_SOURCES): Likewise.
41213 (date_mod_CFLAGS): Likewise.
41214 (date_mod_LDFLAGS): Likewise.
41215 (datehook_mod_SOURCES): Likewise.
41216 (datehook_mod_CFLAGS): Likewise.
41217 (datehook_mod_LDFLAGS): Likewise.
41218
41219 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41220 and datehook.mod.
41221 (datetime_mod_SOURCES): New macro.
41222 (datetime_mod_CFLAGS): Likewise.
41223 (datetime_mod_LDFLAGS): Likewise.
41224 (date_mod_SOURCES): Likewise.
41225 (date_mod_CFLAGS): Likewise.
41226 (date_mod_LDFLAGS): Likewise.
41227 (datehook_mod_SOURCES): Likewise.
41228 (datehook_mod_CFLAGS): Likewise.
41229 (datehook_mod_LDFLAGS): Likewise.
41230
41231 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41232 and datehook.mod.
41233 (datetime_mod_SOURCES): New macro.
41234 (datetime_mod_CFLAGS): Likewise.
41235 (datetime_mod_LDFLAGS): Likewise.
41236 (date_mod_SOURCES): Likewise.
41237 (date_mod_CFLAGS): Likewise.
41238 (date_mod_LDFLAGS): Likewise.
41239 (datehook_mod_SOURCES): Likewise.
41240 (datehook_mod_CFLAGS): Likewise.
41241 (datehook_mod_LDFLAGS): Likewise.
41242
41243 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
41244
41245 * commands/date.c: New file.
41246
41247 * hook/datehook.c: Likewise.
41248
41249 * include/grub/lib/datetime.h: Likewise.
41250
41251 * include/grub/i386/cmos.h: Likewise.
41252
41253 * lib/datetime.c: Likewise.
41254
41255 * lib/i386/datetime.c: Likewise.
41256
41257 * lib/efi/datetime.c: Likewise.
41258
0e9242da 412592008-08-14 Robert Millan <rmh@aybabtu.com>
41260
41261 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
41262 (grub_mkelfimage_SOURCES): New variable.
41263 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
41264
41265 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
41266 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
41267 * conf/powerpc-ieee1275.rmk: Likewise.
41268 * conf/i386-ieee1275.rmk: Likewise.
41269
41270 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
41271 * kern/i386/coreboot/init.c: Likewise.
41272
41273 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
41274 with `<grub/cpu/kernel.h>'.
41275 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
41276 to ...
41277 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
41278 * kern/i386/coreboot/startup.S: Likewise.
41279
41280 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
41281 (GRUB_MOD_GAP): Remove.
41282 * include/grub/powerpc/kernel.h: New file.
41283 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
41284 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41285 * include/grub/i386/kernel.h: New file.
41286 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
41287 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
41288 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41289
41290 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
41291 `grub-mkelfimage'.
41292 Use --directory when invoking grub_mkimage.
41293
41294 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
41295 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
41296 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
41297 and GRUB_KERNEL_CPU_PREFIX.
41298
b86408f8 412992008-08-14 Felix Zielcke <fzielcke@z-51.de>
41300
d5e619ca 41301 * include/grub/err.h (grub_err_printf): New function prototype.
41302 * util/misc.c (grub_err_printf): New function.
41303 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
41304 grub_printf.
41305 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 41306
7161f0e0 413072008-08-13 Robert Millan <rmh@aybabtu.com>
41308
41309 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
41310
a1967522 413112008-08-13 Robert Millan <rmh@aybabtu.com>
41312
41313 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
41314 boot entry.
41315
371458b5 413162008-08-12 Robert Millan <rmh@aybabtu.com>
41317
41318 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
41319 of the relocation code from here ...
41320 (grub_multiboot): ... to here.
41321 (forward_relocator, backward_relocator): Move from here ...
41322 * kern/i386/loader.S (grub_multiboot_forward_relocator)
41323 (grub_multiboot_backward_relocator): ... to here.
41324 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
41325 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
41326 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
41327 (grub_multiboot_forward_relocator_end)
41328 (grub_multiboot_backward_relocator)
41329 (grub_multiboot_backward_relocator_end): New variables.
41330
05f9452b 413312008-08-12 Bean <bean123ch@gmail.com>
41332
41333 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
41334
20024ab0 413352008-08-11 Robert Millan <rmh@aybabtu.com>
41336
41337 * kern/i386/linuxbios/startup.S: Move from here ...
41338 * kern/i386/coreboot/startup.S: ... to here.
41339
41340 * kern/i386/linuxbios/init.c: Move from here ...
41341 * kern/i386/coreboot/init.c: ... to here.
41342
41343 * kern/i386/linuxbios/table.c: Move from here ...
41344 * kern/i386/coreboot/mmap.c: ... to here.
41345
41346 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41347
e352e9cd 413482008-08-11 Robert Millan <rmh@aybabtu.com>
41349
41350 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41351 errors. Leave it to the upper layer to handle them.
41352
2d05bc6a 413532008-08-09 Christian Franke <franke@computer.org>
41354
41355 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41356 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41357 Install `grub.d/10_windows' only on Cygwin.
41358 * configure.ac: Add subst of `target_os'.
41359 Check `target_os' also before setting TARGET_OBJ2ELF.
41360 Add `--enable-grub-pe2elf'.
41361
042bd419 413622008-08-08 Robert Millan <rmh@aybabtu.com>
41363
41364 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41365 (grub_last_time): Change type to grub_uint64_t.
41366 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41367 (grub_disk_close): Likewise.
41368
41369 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41370 (run_menu): Migrate code from to using grub_get_time_ms().
41371
41372 * util/misc.c (grub_get_time_ms): New function.
41373
7f280db5 413742008-08-08 Marco Gerards <marco@gnu.org>
41375
41376 * disk/ata.c (grub_ata_regget): Change return type to
41377 `grub_uint8_t'.
41378 (grub_ata_regget2): Likewise.
41379 (grub_ata_wait_status): New function.
41380 (grub_ata_wait_busy): Removed function, updated all users to use
41381 `grub_ata_wait_status'.
41382 (grub_ata_wait_drq): Likewise.
41383 (grub_ata_cmd): New function.
41384 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41385 error handling.
41386 (grub_ata_pio_write): Add error handling.
41387 (grub_atapi_identify): Likewise.
41388 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41389 handling.
41390 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41391 handling. Actually use the detected registers. Reorder the
41392 detection logic such that it is easier to read.
41393 (grub_ata_pciinit): Do not assign the same ID to each controller.
41394 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41395 handling.
41396 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41397
41398 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41399
1fbc5e66 414002008-08-08 Marco Gerards <marco@gnu.org>
41401
41402 * NEWS: Update.
41403
819ce6c0 414042008-08-07 Bean <bean123ch@gmail.com>
41405
41406 * include/grub/x86_64/pci.h: New file.
41407
5c41d44d 414082008-08-07 Christian Franke <franke@computer.org>
41409
41410 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41411 (TIMER2_GATE): Likewise.
41412 (grub_pit_wait): Add enable/disable of the timer2 gate
41413 bit of port 0x61. This fixes a possible infinite loop.
41414
5ebc275d 414152008-08-07 Bean <bean123ch@gmail.com>
41416
41417 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41418 kern/i386/tsc.c and kern/i386/pit.c.
41419
41420 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41421 x86_64 platform.
41422
41423 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41424 <grub/i386/tsc.h>.
41425
41426 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41427
e383b3d0 414282008-08-07 Bean <bean123ch@gmail.com>
41429
41430 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41431
41432 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41433
41434 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41435 multiple inclusion. Add #include <grub/types.h>.
41436
1cbb58ac 414372008-08-06 Christian Franke <franke@computer.org>
41438
41439 * conf/common.rmk: Build and install `10_windows'.
41440 * util/grub.d/10_windows.in: New script.
41441
337f5a1e 414422008-08-06 Pavel Roskin <proski@gnu.org>
41443
41444 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41445
057bc4ac 414462008-08-06 Robert Millan <rmh@aybabtu.com>
41447
41448 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41449 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41450
2b99f123 414512008-08-06 Bean <bean123ch@gmail.com>
41452
41453 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41454 (grub_pxefs_fs_int): Remove dummy definition.
41455 (grub_pxefs_open): Use data->block_size to store the current block
41456 size setting.
41457 (grub_pxefs_read): Use block size stored in data->block_size. As the
41458 value of grub_pxe_blksize can be changed after the file is opened.
41459
9f0234cb 414602008-08-06 Bean <bean123ch@gmail.com>
41461
41462 * fs/i386/pc/pxe.c (curr_file): new variable.
41463 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41464 require the dummy internal file system anymore.
41465 (grub_pxefs_read): Removed.
41466 (grub_pxefs_close): Likewise.
41467 (grub_pxefs_fs_int): Likewise.
41468 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41469 connection when we switch file.
41470 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41471
a55d42e0 414722008-08-06 Robert Millan <rmh@aybabtu.com>
41473
41474 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
41475 `halt.mod'.
41476 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
41477 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
41478
41479 * kern/i386/halt.c: New file.
41480 * kern/i386/reboot.c: Likewise.
41481 * include/grub/i386/reboot.h: Likewise.
41482 * include/grub/i386/halt.h: Likewise.
41483
41484 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41485 Include `<grub/cpu/halt.h>'.
41486 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41487 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41488
41489 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41490 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41491 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41492 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41493 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41494 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41495 from here ...
41496 * include/grub/i386/at_keyboard.h: ... to here.
41497
24371d26 414982008-08-05 Robert Millan <rmh@aybabtu.com>
41499
41500 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
41501 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
41502 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
41503 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41504 `kern/generic/millisleep.c'.
41505
41506 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
41507 instead of grub_get_rtc().
41508 (grub_tsc_init): Initialize `tsc_boot_time'.
41509
41510 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
41511 (grub_machine_init): Use grub_tsc_init() rather than
41512 installing an RTC-based handler via grub_install_get_time_ms().
41513
41514 * kern/i386/pit.c: New file.
41515 * include/grub/i386/pit.h: Likewise.
41516
9e7007b3 415172008-08-05 Bean <bean123ch@gmail.com>
41518
41519 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41520
41521 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41522 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41523 (pxe_mod_SOURCES): New macro.
41524 (pxe_mod_CFLAGS): Likewise.
41525 (pxe_mod_LDFLAGS): Likewise.
41526 (pxecmd_mod_SOURCES): Likewise.
41527 (pxecmd_mod_CFLAGS): Likewise.
41528 (pxecmd_mod_LDFLAGS): Likewise.
41529
41530 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41531 (grub_pxe_call): Likewise.
41532
41533 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41534
41535 * commands/i386/pc/pxecmd.c: New file.
41536
9f0234cb 41537 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 41538
41539 * include/grub/i386/pc/pxe.h: Likewise.
41540
6977d49f 415412008-08-05 Bean <bean123ch@gmail.com>
41542
41543 * util/console.c (grub_console_cur_color): New variable.
41544 (grub_console_standard_color): Likewise.
41545 (grub_console_normal_color): Likewise.
41546 (grub_console_highlight_color): Likewise.
41547 (color_map): Likewise.
41548 (use_color): Likewise.
41549 (NUM_COLORS): New macro.
41550 (grub_ncurses_setcolorstate): Handle color properly.
41551 (grub_ncurses_setcolor): Don't change color here, just remember the
41552 settings, color will be set in grub_ncurses_setcolorstate.
41553 (grub_ncurses_getcolor): New function.
41554 (grub_ncurses_init): Initialize color pairs.
41555 (grub_ncurses_term): New member grub_ncurses_getcolor.
41556
9c2ff3ee 415572008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 41558
9c2ff3ee 41559 High resolution timer support. Implemented for x86 CPUs using TSC.
41560 Extracted generic grub_millisleep() so it's linked in only as needed.
41561 This requires a Pentium compatible CPU; if the RDTSC instruction is
41562 not supported, then it falls back on the generic grub_get_time_ms()
41563 implementation that uses the machine's RTC.
41564
41565 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41566 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41567 `kern/generic/millisleep.c'.
41568
41569 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41570 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41571
41572 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41573 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41574
41575 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41576
41577 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41578 `kern/generic/millisleep.c'.
41579
41580 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41581
41582 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41583
41584 * kern/generic/rtc_get_time_ms.c: New file.
41585
41586 * kern/generic/millisleep.c: New file.
337f5a1e 41587
9c2ff3ee 41588 * kern/misc.c: Don't include
41589 <kern/time.h> anymore.
41590 (grub_millisleep_generic): Removed.
41591
41592 * commands/sleep.c (grub_interruptible_millisleep): Uses
41593 grub_get_time_ms() instead of grub_get_rtc().
41594
41595 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41596 function.
41597 (grub_cpu_is_cpuid_supported): New inline function.
41598 (grub_cpu_is_tsc_supported): New inline function.
41599 (grub_tsc_init): New function prototype.
41600 (grub_tsc_get_time_ms): New function prototype.
41601
41602 * kern/i386/tsc.c (grub_get_time_ms): New file.
41603
41604 * include/grub/time.h: Include <grub/types.h.
41605 (grub_millisleep_generic): Removed.
41606 (grub_get_time_ms): New prototype.
41607 (grub_install_get_time_ms): New prototype.
41608 (grub_rtc_get_time_ms): New prototype.
41609
41610 * kern/time.c (grub_get_time_ms): New function.
41611 (grub_install_get_time_ms): New function.
41612
41613 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41614 <grub/time.h> anymore.
41615 (grub_millisleep): Removed.
41616 (grub_machine_init): Call grub_tsc_init.
41617
41618 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41619 get_time_ms() implementation.
41620
41621 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41622 (ieee1275_get_time_ms): New function.
41623 (grub_machine_init): Install get_time_ms() implementation.
41624
41625 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41626 (grub_machine_init): Call grub_tsc_init().
41627 (grub_millisleep): Removed.
bf06a93f 41628
9c2ff3ee 41629 * kern/ieee1275/init.c (grub_millisleep): Removed.
41630 (grub_machine_init): Install ieee1275_get_time_ms()
41631 implementation.
41632 (ieee1275_get_time_ms): New function.
41633 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41634 real work.
41635
9ec92aaf 416362008-08-05 Marco Gerards <marco@gnu.org>
41637
41638 * disk/ata.c: Include <grub/pci.h>.
41639 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41640 (grub_ata_initialize): Rewritten.
41641 (grub_ata_device_initialize): New function.
41642
8d23f507 416432008-08-04 Pavel Roskin <proski@gnu.org>
41644
41645 * kern/main.c: Include grub/mm.h.
41646
5e15ee3d 416472008-08-04 Robert Millan <rmh@aybabtu.com>
41648
41649 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41650 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41651 corruption problem).
41652
a9053f8f 416532008-08-04 Robert Millan <rmh@aybabtu.com>
41654
41655 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41656 warnings introduced in my last commit.
41657
dd19c7d7 416582008-08-03 Robert Millan <rmh@aybabtu.com>
41659
41660 Make PCI available on all i386 architectures.
41661
41662 * include/grub/i386/pc/pci.h: Move from here ...
41663 * include/grub/i386/pci.h: ... to here.
41664
41665 * include/grub/i386/pc/pci.h: Remove.
41666 * include/grub/i386/efi/pci.h: Remove.
41667 * include/grub/x86_64/efi/pci.h: Remove.
41668
41669 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41670 `<grub/cpu/pci.h>'.
41671
41672 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41673 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41674 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41675
41676 * conf/i386-ieee1275.rmk: Likewise.
41677
e14a6184 416782008-08-03 Robert Millan <rmh@aybabtu.com>
41679
41680 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41681 (grub_console_setcursor): Make it possible to set cursor off.
41682
52768e37 416832008-08-03 Robert Millan <rmh@aybabtu.com>
41684
41685 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41686 of modules instead of assuming which platform provides what.
41687 * util/update-grub.in: Likewise.
41688
2d52f57f 416892008-08-03 Robert Millan <rmh@aybabtu.com>
41690
41691 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41692 instead of `grub_install_dos_part' to determine whether a drive needs
41693 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 41694 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 41695
2a5cd121 416962008-08-02 Robert Millan <rmh@aybabtu.com>
41697
41698 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41699
93808428 417002008-08-02 Robert Millan <rmh@aybabtu.com>
41701
41702 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41703 of informational grub_dprintf() calls.
41704
3bd0a12a 417052008-08-02 Robert Millan <rmh@aybabtu.com>
41706
41707 * disk/memdisk.c (memdisk_size): Don't initialize.
41708 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41709
41710 * include/grub/i386/pc/kernel.h
41711 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41712 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41713 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41714 (grub_arch_memdisk_size): Remove.
41715
41716 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41717 field (was only used to transfer a constant). Add `type' field to
41718 support multiple module types.
41719 (grub_module_iterate): New function.
41720
41721 * kern/device.c (grub_device_open): Do not hide error messages
41722 when grub_disk_open() fails. Use grub_print_error() instead.
41723
41724 * kern/i386/pc/init.c (grub_arch_modules_addr)
41725 (grub_arch_memdisk_size): Remove functions.
41726 (grub_arch_modules_addr): Return the module address in high memory
41727 (now that it isn't copied anymore).
41728
41729 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41730 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41731 decompression routine (grub_total_module_size already includes that
41732 now). Don't copy modules back to low memory.
41733
41734 * kern/main.c: Include `<grub/mm.h>'.
41735 (grub_load_modules): Split out (and use) ...
41736 (grub_module_iterate): ... this function, which iterates through
41737 module objects and runs a hook.
41738 Comment out grub_mm_init_region() call, as it would cause non-ELF
41739 modules to be overwritten.
41740
41741 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41742 the memdisk image in its own region, make it part of the module list.
41743 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41744 (main): Parse --memdisk|-m option, and pass user-provided path as
41745 parameter to generate_image().
41746 (add_segments): Pass `memdisk_path' down to load_modules().
41747 (load_modules): Embed memdisk image in module section when requested.
41748 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41749 `header.type' instead of `header.offset'.
41750
41751 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41752 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41753 (memdisk_mod_LDFLAGS): New variables.
41754 * conf/i386-coreboot.rmk: Likewise.
41755 * conf/i386-ieee1275.rmk: Likewise.
41756
a927cc73 417572008-08-02 Robert Millan <rmh@aybabtu.com>
41758
41759 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41760 (backward_relocator): New variables. Used to allocate and relocate
41761 the payload, respectively.
41762 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 41763 address, install the appropriate relocator code in each bound of
a927cc73 41764 the payload, and set the entry point such that
41765 grub_multiboot_real_boot() will jump to one of them.
41766
41767 * kern/i386/loader.S (grub_multiboot_payload_size)
41768 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41769 (grub_multiboot_payload_entry_offset): New variables.
41770 (grub_multiboot_real_boot): Set cpu context to what the relocator
41771 expects, and jump to the relocator instead of the payload.
41772
41773 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41774 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41775 (grub_multiboot_payload_entry_offset): Export.
41776
b15d8a0c 417772008-08-01 Bean <bean123ch@gmail.com>
41778
41779 * normal/menu_entry.c (editor_getline): Don't return the original
41780 string as result, as it will be released by lexer once it has done
41781 using it.
41782
cdfb3d22 417832008-08-01 Robert Millan <rmh@aybabtu.com>
41784
41785 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41786 within menuentries, not before them.
41787 util/grub.d/10_hurd.in: Likewise.
41788
9175e93d 417892008-08-01 Bean <bean123ch@gmail.com>
41790
41791 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41792 (bufio_mod_SOURCES): New macro.
41793 (bufio_mod_CFLAGS): Likewise.
41794 (bufio_mod_LDFLAGS): Likewise.
41795
41796 * include/grub/bufio.h: New file.
41797
41798 * io/bufio.c: Likewise.
41799
41800 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41801 (grub_video_reader_png): Use grub_buffile_open to open file.
41802
41803 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41804 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41805
41806 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41807 (grub_video_reader_tga): Use grub_buffile_open to open file.
41808
41809 * font/manager.c: Include <grub/bufio.h>.
41810 (add_font): Use grub_buffile_open to open file.
41811
3d8383e7 418122008-07-31 Robert Millan <rmh@aybabtu.com>
41813
41814 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41815 ELF segments, use a macro for arbitrarily accessing any of them instead
41816 of preparing a pointer that allows access to one at a time.
41817 (grub_multiboot_load_elf64): Likewise.
41818
16e641b6 418192008-07-31 Bean <bean123ch@gmail.com>
41820
41821 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41822 GRUB_KERNEL_MACHINE_DATA_END.
41823
59198b72 418242008-07-30 Robert Millan <rmh@aybabtu.com>
41825
41826 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41827 Increase from 0x50 to 0x60.
41828 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41829 use UUIDs to identify the root drive for them. If that's not
41830 possible, abort.
41831 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41832 check, for cross-disk installs.
41833
ae88bca3 418342008-07-30 Robert Millan <rmh@aybabtu.com>
41835
41836 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41837 is non-empty, use it to set the `prefix' environment variable instead
41838 of the usual approach.
41839 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41840 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41841 environment variable instead of dummy make_install_device().
41842
41843 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41844 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41845 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41846
41847 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41848 New variable reference.
41849 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41850 New macro. Defines offset of `grub_prefix' within startup.S (relative
41851 to `start').
41852 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41853 section within startup.S (relative to `start').
41854 * include/grub/i386/coreboot/kernel.h: Likewise.
41855
41856 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41857 Overwrite grub_prefix with its contents, at the beginning of the
41858 first segment.
41859 (main): Understand -p|--prefix.
41860
14f41dd1 418612008-07-30 Robert Millan <rmh@aybabtu.com>
41862
41863 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41864
4ca049a3 418652008-07-30 Robert Millan <rmh@aybabtu.com>
41866
41867 * term/i386/pc/vga_text.c (grub_console_cls): Use
41868 grub_console_gotoxy() to go back to beginning of the screen.
41869 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41870
2921d337 418712008-07-29 Christian Franke <franke@computer.org>
41872
41873 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41874 Add conversion of emulated mount points on Cygwin.
41875
b609876d 418762008-07-29 Christian Franke <franke@computer.org>
41877
41878 * util/update-grub.in: Add a check for admin
41879 group on Cygwin.
41880 Remove old `grub.cfg.new' before creation.
41881 Add `-f' to `mv' to handle the different filesystem
41882 semantics of Windows.
41883
e93e4679 418842008-07-29 Bean <bean123ch@gmail.com>
41885
41886 * normal/main.c (get_line): Fix buffer overflow bug.
41887
41694fd0 418882008-07-28 Robert Millan <rmh@aybabtu.com>
41889
41890 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41891 (struct grub_apple_header): New struct. Describes the layout of
41892 the partmap header.
41893 (apple_partition_map_iterate): Check the header magic as well as the
41894 partition magic (which was already being checked).
41895
cfd0b4e6 418962008-07-28 Pavel Roskin <proski@gnu.org>
41897
41898 * genmk.rb: Add a warning to the beginning of the output that
41899 it's a generated file and should not be edited.
41900
93cce016 419012008-07-28 Robert Millan <rmh@aybabtu.com>
41902
41903 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41904 with the same number are found, just use issue a warning with
41905 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41906
cd1df915 419072008-07-27 Robert Millan <rmh@aybabtu.com>
41908
41909 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41910 information.
41911
b70a8427 419122008-07-27 Bean <bean123ch@gmail.com>
41913
41914 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41915 (grub_fat_find_dir): Ignore case when comparing filename.
41916
8f5e379f 419172008-07-27 Bean <bean123ch@gmail.com>
41918
41919 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41920 smallino, as it's more descriptive, and i8count can be confused with
41921 the other field count.
41922 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41923 inode type.
41924
a85cd5a0 419252008-07-27 Bean <bean123ch@gmail.com>
41926
41927 * commands/crc.c: New file.
41928
41929 * lib/crc.c: Likewise.
41930
41931 * include/grub/lib/crc.h: Likewise.
41932
41933 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41934
41935 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41936 (hexdump): Move this function to ...
41937
41938 * lib/hexdump.c: ... here.
41939
41940 * include/grub/hexdump.h: Renamed to ...
41941
41942 * include/grub/lib/hexdump.h: ... this.
41943
41944 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41945
41946 * util/grub-editenv.c: Likewise.
41947
41948 * include/envblk.h: Renamed to ...
41949
41950 * include/lib/envblk.h: ... this.
41951
41952 * util/envblk.c: Renamed to ...
41953
41954 * lib/envblk.c: ... this.
41955
41956 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41957 lib/hexdump.c.
41958 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41959 (pkglib_MODULES): Add crc.mod.
41960 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41961 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41962 (crc_mod_SOURCES): New macro.
41963 (crc_mod_CFLAGS): Likewise.
41964 (crc_mod_LDFLAGS): Likewise.
41965
41966 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41967
41968 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41969
41970 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41971
41972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41973
41974 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41975
c298def0 419762008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41977
41978 * commands/help.c: Include <grub/term.h>.
41979 (TERM_WIDTH): Removed. Updated all users.
41980
cc349fb3 419812008-07-27 Pavel Roskin <proski@gnu.org>
41982
41983 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41984 spurious warnings about a comment within a comment.
41985
9051607e 419862008-07-25 Robert Millan <rmh@aybabtu.com>
41987
41988 * util/getroot.c (find_root_device): Skip devices that match
41989 /dev/dm-[0-9]. This lets the real device be found for any type of
41990 abstraction (LVM, EVMS, RAID..).
41991 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41992 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41993 device is found first, find_root_device() will now skip it.
41994
01453bfc 419952008-07-24 Pavel Roskin <proski@gnu.org>
41996
41997 * include/grub/types.h: Use __builtin_bswap32() and
41998 __builtin_bswap64() with gcc 4.3 and newer.
41999
6af9849f 420002008-07-24 Christian Franke <franke@computer.org>
42001
3a0fa256 42002 * util/i386/pc/grub-install.in: If `--debug' is specified,
42003 pass `--verbose' to grub-setup.
42004 Abort script if make_system_path_relative_to_its_root() fails.
42005
7810e747 420062008-07-24 Bean <bean123ch@gmail.com>
42007
42008 * configure.ac: Fixed a bug caused by the previous cygwin patch,
42009 variable `target_platform' should be `platform'.
42010
42290e17 420112008-07-24 Bean <bean123ch@gmail.com>
42012
51cc5193 42013 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 42014 (grub_png_init_fixed_block): New function.
42015 (grub_png_decode_image_data): Handle fixed huffman code compression.
42016
2a8a80e4 420172008-07-24 Bean <bean123ch@gmail.com>
42018
42019 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
42020 (grub_pe2elf_SOURCES): New macro.
42021 (CLEANFILES): Add grub-pe2elf.
42022
42023 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
42024 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
42025 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
42026 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
42027 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
42028 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
42029 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
42030 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
42031 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
42032 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
42033 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
42034 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
42035 (GRUB_PE32_DT_FUNCTION): Likewise.
42036 (GRUB_PE32_REL_I386_DIR32): Likewise.
42037 (GRUB_PE32_REL_I386_REL32): Likewise.
42038 (grub_pe32_symbol): New structure.
42039 (grub_pe32_reloc): Likewise.
42040
42041 * util/grub-pe2elf.c: New file.
42042
42043 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
42044 start symbol in non pc platform.
42045
42046 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
42047
42048 The following patches are from Christian Franke.
42049
42050 * include/grub/dl.h: Remove .previous, gas supports this only
42051 for ELF format.
42052
42053 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
42054 Remove .type, gas supports this only for ELF format.
42055
42056 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
42057 nullbytes in symbol table. This fixes an infinite loop if table is
42058 zero filled.
42059
42060 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
42061 TARGET_IMG_LDFLAGS and EXEEXT.
42062
42063 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
42064 TARGET_IMG_LDFLAGS_AC.
42065 (grub_CHECK_STACK_ARG_PROBE): New function.
42066
42067 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
42068
42069 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
42070
42071 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
42072 to set TARGET_IMG_LD* accordingly.
42073 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
42074 Add call to grub_CHECK_STACK_ARG_PROBE.
42075 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
42076
42077 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
42078
42079 * genmk.rb: Add EXEEXT to CLEANFILES.
42080
12ccdb75 420812008-07-23 Robert Millan <rmh@aybabtu.com>
42082
42083 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
42084 define the codes for arrows and lines used for the menu).
42085 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
42086 as well.
42087
42088 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
42089 fonts, because the latter are too slow.
42090
18eeaf04 420912008-07-21 Bean <bean123ch@gmail.com>
42092
42093 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
42094 a20. Run keyboard test last, as it will cause macbook to halt.
42095
b095e2ad 420962008-07-18 Pavel Roskin <proski@gnu.org>
42097
42098 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
42099 load foreign architecture modules correctly anyway. Keep
42100 support for loading host architecture modules, whether we
42101 compile them or not.
42102
737feb35 421032008-07-17 Pavel Roskin <proski@gnu.org>
42104
3f4ce737 42105 * configure.ac: Use -m32 or -m64 regardless of whether we had to
42106 change target_cpu. The compiler default can mismatch target_cpu
42107 in any case.
42108
4ad2d049 42109 * disk/efi/efidisk.c: Fix format warnings on x86_64.
42110 * kern/efi/efi.c: Likewise.
42111
f6130a12 42112 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
42113 target compiler is functional.
42114 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
42115 are set up.
42116
58393a2d 42117 * configure.ac: Default to efi platform for x86_64-apple. Allow
42118 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
42119 adjustments from the rest, only do them if target is not
42120 explicitly given. Merge other adjustments with the final sanity
42121 check. Remove an extraneous check for supported CPU. Be
42122 specific which CPU and which platform is not supported.
42123
737feb35 42124 * configure.ac: Default to pc platform for x86_64.
42125
546f966a 421262008-07-17 Robert Millan <rmh@aybabtu.com>
42127
42128 Partial LinuxBIOS -> Coreboot rename.
42129
42130 * conf/i386-linuxbios.rmk: Renamed to ...
42131 * conf/i386-coreboot.rmk: ... this.
42132 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
42133 * configure.ac: Accept "coreboot" as input platform (but maintain
42134 compatibility with "linuxbios").
42135 * include/grub/i386/linuxbios: Renamed to ...
42136 * include/grub/i386/coreboot: ... this.
42137
20011694 421382008-07-17 Bean <bean123ch@gmail.com>
42139
42140 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 42141 (appleldr_mod_SOURCE): New variable.
20011694 42142 (appleldr_mod_CFLAGS): Likewise.
42143 (appleldr_mod_LDFLAGS): Likewise.
42144 (pci_mod_SOURCES): Likewise.
42145 (pci_mod_CFLAGS): Likewise.
42146 (pci_mod_LDFLAGS): Likewise.
42147 (lspci_mod_SOURCES): Likewise.
42148 (lspci_mod_CFLAGS): Likewise.
42149 (lspci_mod_LDFLAGS): Likewise.
42150
42151 * conf/x86_64-efi.rmk: New file.
42152
42153 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
42154 macro.
42155 (grub_efidisk_write): Likewise.
42156
42157 * include/efi/api.h (efi_call_0): New macro.
42158 (efi_call_1): Likewise.
42159 (efi_call_2): Likewise.
42160 (efi_call_3): Likewise.
42161 (efi_call_4): Likewise.
42162 (efi_call_5): Likewise.
42163 (efi_call_6): Likewise.
42164
42165 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
42166 grub_rescue_cmd_chainloader.
42167
42168 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
42169 (grub_pe32_optional_header): Change some fields based on i386 or
42170 x86_64 platform.
42171 (GRUB_PE32_PE32_MAGIC): Likewise.
42172
42173 * include/grub/efi/uga_draw.h: New file.
42174
42175 * include/grub/elf.h (STN_ABS): New constant.
42176 (R_X86_64_NONE): Relocation constant for x86_64.
42177 (R_X86_64_64): Likewise.
42178 (R_X86_64_PC32): Likewise.
42179 (R_X86_64_GOT32): Likewise.
42180 (R_X86_64_PLT32): Likewise.
42181 (R_X86_64_COPY): Likewise.
42182 (R_X86_64_GLOB_DAT): Likewise.
42183 (R_X86_64_JUMP_SLOT): Likewise.
42184 (R_X86_64_RELATIVE): Likewise.
42185 (R_X86_64_GOTPCREL): Likewise.
42186 (R_X86_64_32): Likewise.
42187 (R_X86_64_32S): Likewise.
42188 (R_X86_64_16): Likewise.
42189 (R_X86_64_PC16): Likewise.
42190 (R_X86_64_8): Likewise.
42191 (R_X86_64_PC8): Likewise.
42192
42193 * include/grub/i386/efi/pci.h: New file.
42194
42195 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
42196 Change it value based on platform.
42197 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
42198 (GRUB_E820_RAM): Likewise.
42199 (GRUB_E820_RESERVED): Likewise.
42200 (GRUB_E820_ACPI): Likewise.
42201 (GRUB_E820_NVS): Likewise.
42202 (GRUB_E820_EXEC_CODE): Likewise.
42203 (GRUB_E820_MAX_ENTRY): Likewise.
42204 (grub_e820_mmap): New structure.
42205 (linux_kernel_header): Change the efi field according to different
42206 kernel version, also field from linux_kernel_header.
42207
42208 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
42209
42210 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
42211 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
42212 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
42213 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
42214 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
42215 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
42216 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
42217 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
42218 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
42219 (GRUB_PCI_ADDR_IO_MASK): Likewise.
42220
42221 * include/grub/x86_64/efi/kernel.h: New file.
42222
42223 * include/grub/x86_64/efi/loader.h: Likewise.
42224
42225 * include/grub/x86_64/efi/machine.h: Likewise.
42226
42227 * include/grub/x86_64/efi/pci.h: Likewise.
42228
42229 * include/grub/x86_64/efi/time.h: Likewise.
42230
42231 * include/grub/x86_64/linux.h: Likewise.
42232
42233 * include/grub/x86_64/setjmp.h: Likewise.
42234
42235 * include/grub/x86_64/time.h: Likewise.
42236
42237 * include/grub/x86_64/types.h: Likewise.
42238
42239 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
42240 GRUB_TARGET_SIZEOF_VOID_P.
42241
42242 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
42243 (grub_efi_locate_handle): Likewise.
42244 (grub_efi_open_protocol): Likewise.
42245 (grub_efi_set_text_mode): Likewise.
42246 (grub_efi_stall): Likewise.
42247 (grub_exit): Likewise.
42248 (grub_reboot): Likewise.
42249 (grub_halt): Likewise.
42250 (grub_efi_exit_boot_services): Likewise.
42251 (grub_get_rtc): Likewise.
42252
42253 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
42254 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
42255 (grub_efi_allocate_pages): Wrap efi calls.
42256 (grub_efi_free_pages): Wrap efi calls.
42257 (grub_efi_get_memory_map): Wrap efi calls.
42258
42259 * kern/x86_64/dl.c: New file.
42260
42261 * kern/x86_64/efi/callwrap.S: Likewise.
42262
42263 * kern/x86_64/efi/startup.S: Likewise.
42264
42265 * loader/efi/appleloader.c: Likewise.
42266
42267 * loader/efi/chainloader.c (cmdline): New variable.
42268 (grub_chainloader_unload): Wrap efi calls.
42269 (grub_chainloader_boot): Likewise.
42270 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
42271 command line.
42272
42273 * loader/efi/chainloader_normal.c (chainloader_command):
42274 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
42275 command line.
42276
42277 * loader/i386/efi/linux.c (allocate_pages): Change allocation
42278 method.
42279 (grub_e820_add_region): New function.
42280 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
42281 booting.
42282 (grub_find_video_card): New function.
42283 (grub_linux_setup_video): New function.
42284 (grub_rescue_cmd_linux): Probe for video information.
42285
42286 * normal/x86_64/setjmp.S: New file.
42287
42288 * term/efi/console.c (map_char): New function.
42289 (grub_console_putchar): Map unicode char.
42290 (grub_console_checkkey): Wrap efi calls.
42291 (grub_console_getkey): Likewise.
42292 (grub_console_getwh): Likewise.
42293 (grub_console_gotoxy): Likewise.
42294 (grub_console_cls): Likewise.
42295 (grub_console_setcolorstate): Likewise.
42296 (grub_console_setcursor): Likewise.
42297
42298 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
42299
59652a20 423002008-07-16 Pavel Roskin <proski@gnu.org>
42301
ef294055 42302 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
42303 format strings.
42304
59652a20 42305 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
42306 pointer, not an integer. This fixes a warning and prevents
42307 precision loss on 64-bit systems.
42308 (relocate_addresses): Remove unneeded cast.
42309
afc3b5d7 423102008-07-15 Pavel Roskin <proski@gnu.org>
42311
506b2b3e 42312 * kern/i386/ieee1275/init.c: Include grub/cache.h.
42313
62ead89c 42314 * term/ieee1275/ofconsole.c: Disable code unused on i386.
42315
c4cd51d7 42316 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
42317 Fix comparison between signed and unsigned.
42318
0d3d8f28 42319 * include/grub/i386/ieee1275/console.h: Declare
42320 grub_console_init() and grub_console_fini().
42321
8804b286 42322 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
42323 It's empty and unused.
42324
ee01cf35 42325 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
42326 beginning to avoid warnings with some compilers.
42327
afc3b5d7 42328 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
42329 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
42330
e4e8eaa5 423312008-07-14 Pavel Roskin <proski@gnu.org>
42332
407aceb4 42333 * kern/env.c (grub_register_variable_hook): Don't copy empty
42334 string, it leaks memory. Pass "" to grub_env_set(), it should
42335 handle constant strings.
42336
e4e8eaa5 42337 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
42338 * commands/cmp.c (grub_cmd_cmp): Likewise.
42339 * kern/dl.c (grub_dl_flush_cache): Likewise.
42340 (grub_dl_load_core): Likewise.
42341 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
42342 (grub_elf64_load_phdrs): Likewise.
42343
d4e2dad3 423442008-07-13 Pavel Roskin <proski@gnu.org>
42345
42346 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42347 between signed and unsigned.
42348 (LzmaEnc_Finish): Fix warning about an unused parameter.
42349
aa24b516 423502008-07-13 Bean <bean123ch@gmail.com>
42351
42352 * Makefile.in (enable_lzo): New rule.
42353
42354 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42355
42356 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42357
42358 * boot/i386/pc/lnxboot.S: #include <config.h>.
42359
42360 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 42361 its value according to the compression algorithm used, lzo or lzma.
aa24b516 42362
42363 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42364 compression algorithm according to configure macro.
42365
42366 * kern/i386/pc/startup.S (codestart): Likewise.
42367
42368 * kern/i386/pc/lzma_decode.S: New file.
42369
42370 * include/grub/lib/LzFind.h: Likewise.
42371
42372 * include/grub/lib/LzHash.h: Likewise.
42373
42374 * include/grub/lib/LzmaDec.h: Likewise.
42375
42376 * include/grub/lib/LzmaEnc.h: Likewise.
42377
42378 * include/grub/lib/LzmaTypes.h: Likewise.
42379
42380 * lib/LzFind.c: Likewise.
42381
42382 * lib/LzmaDec.c: Likewise.
42383
42384 * lib/LzmaEnc.c: Likewise.
42385
4ae821ac 423862008-07-13 Bean <bean123ch@gmail.com>
42387
42388 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42389 (grub_ext4_extent_header): New structure.
42390 (grub_ext4_extent): Likewise.
42391 (grub_ext4_extent_idx): Likewise.
42392 (grub_ext4_find_leaf): New function.
42393 (grub_ext2_read_block): Handle extents.
42394
9a745147 423952008-07-12 Robert Millan <rmh@aybabtu.com>
42396
42397 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42398
d49a4cf6 423992008-07-11 Robert Millan <rmh@aybabtu.com>
42400
42401 * util/grub.d/40_custom.in: New file. Example on how to add custom
42402 entries to /etc/grub.d.
42403 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42404 40_custom (implicitly, by merging all the grub.d rules).
42405
947414b4 424062008-07-11 Pavel Roskin <proski@gnu.org>
42407
0059cf6f 42408 * commands/read.c (grub_getline): Fix invalid memory access.
42409 Don't add newline to the variable value.
42410
947414b4 42411 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42412 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42413 (serial_hw_get_port): Check validity of the port number.
42414 (grub_cmd_serial): Check return value of serial_hw_get_port().
42415
62a02d00 424162008-07-07 Pavel Roskin <proski@gnu.org>
42417
42418 * boot/i386/pc/diskboot.S (notification_string): Replace
42419 "Loading kernel" with just "loading". This is shorter, less
42420 confusing and saves a few bytes for possible future changes.
42421
3e5581b0 424222008-07-05 Pavel Roskin <proski@gnu.org>
42423
ea387a48 42424 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42425 size for ATAPI devices, they are undefined. Output sector
42426 number in decimal form.
42427
3e5581b0 42428 * disk/ata.c: Use named constants for status bits.
42429
fdecb8fd 424302008-07-04 Pavel Roskin <proski@gnu.org>
42431
bcd35b90 42432 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42433 grub_addr_t before casting it to the void pointer to fix a
42434 warning. Non-addressable regions are discarded earlier.
42435 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42436 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42437 (check_signature): Don't shadow table_header.
42438 (grub_linuxbios_table_iterate): Cast numeric constants to
42439 grub_linuxbios_table_header_t.
42440 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42441 grub_stop().
42442
af58ab3d 42443 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42444 prevent warnings.
42445
1759aa57 42446 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42447 pointer, which can cause warnings. Support 64-bit addresses.
42448
fdecb8fd 42449 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42450 of sizeof(long). This fixes PowerPC image generation on x86_64.
42451
8516d2a8 424522008-07-04 Robert Millan <rmh@aybabtu.com>
42453
42454 This fixes a performance issue when pc & gpt partmap iterators
42455 didn't abort iteration even after our hook found what it was
fe987087 42456 looking for (often causing expensive probes of non-existent drives).
8516d2a8 42457
42458 Some callers relied on previous buggy behaviour, since they would
34c44600 42459 raise an error when their own hooks caused early abortion of its
8516d2a8 42460 iteration.
42461
42462 * kern/device.c (grub_device_open): Improve error message.
42463 * disk/lvm.c (grub_lvm_open): Likewise.
42464 * disk/raid.c (grub_raid_open): Likewise.
42465
42466 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42467 when hook requests it, independently of grub_errno.
42468 (pc_partition_map_probe): Do not fail when find_func() caused
42469 early abortion of pc_partition_map_iterate().
42470
42471 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
42472 when hook requests it, independently of grub_errno.
42473 (gpt_partition_map_probe): Do not fail when find_func() caused
42474 early abortion of gpt_partition_map_iterate().
42475
42476 * kern/partition.c (grub_partition_iterate): Abort parent iteration
42477 when hook requests it, independently of grub_errno. Do not fail when
42478 part_map_iterate_hook() caused early abortion of p->iterate().
42479
42480 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
42481 when grub_partition_iterate() returned with non-zero.
42482
277d0de9 424832008-07-03 Pavel Roskin <proski@gnu.org>
42484
42485 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42486 like we do in grub_ata_pio_read().
42487 (grub_ata_readwrite): Always write individual sectors. Fix the
42488 sector count for the remainder.
42489 (grub_ata_write): Enable writing to ATA devices. Correctly
42490 report error for ATAPI devices.
42491
d4c9b428 424922008-07-02 Pavel Roskin <proski@gnu.org>
42493
e43fc690 42494 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42495 warning.
42496
f707af42 42497 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42498 for every read sector, we already increment it for the whole
42499 batch. This fixes reading more than 256 sectors at once.
42500
11e16b15 42501 * util/grub-editenv.c (cmd_info): Cast argument to long
42502 explicitly. ptrdiff_t reduces to int on i386.
42503
cbabfdd4 42504 * util/grub-editenv.c (main): Be specific which parameter is
42505 missing.
42506
b8fbce0a 42507 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
42508 (memdisk): Make memdisk_orig_addr a pointer.
42509
c9c8e606 42510 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
42511 for file offsets, use grub_off_t instead. Fix printf format
42512 warnings.
42513
ca62e598 42514 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42515 there. Real unexpected warnings should not drown in the noise
42516 about known problems.
42517
ce8d1766 42518 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42519 grub_disk_addr_t for memory addresses.
42520
00c7a56a 42521 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42522 explicitly to fix a warning.
42523
08d3ef09 42524 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42525
cb71ba20 42526 * Makefile.in (MODULE_LDFLAGS): New variable.
42527 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42528 the linker accepts --build-id=none.
42529 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42530 MODULE_LDFLAGS.
42531 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42532
d4c9b428 42533 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42534 those in Linux XFS code. Provide a way to access 64-bit parent
42535 inode.
42536 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42537 the end of struct grub_xfs_dir_header.
42538
d4156eee 425392008-07-02 Bean <bean123ch@gmail.com>
42540
42541 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42542 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42543 and GRUB_IEEE1275_FLAG_NO_ANSI.
42544
42545 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42546 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42547 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42548
42549 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42550 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42551
42552 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42553 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42554
42555 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42556 esc sequence on non ANSI terminal.
42557 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42558
42559 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42560 beginning of file.
42561
2270f77b 425622008-07-02 Bean <bean123ch@gmail.com>
42563
42564 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42565 (grub_editenv_SOURCES): New variable.
42566 (pkglib_MODULES): Add loadenv.mod.
42567 (loadenv_mod_SOURCES): New variable.
42568 (loadenv_mod_CFLAGS): Likewise.
42569 (loadenv_mod_LDFLAGS): Likewise.
42570
42571 * include/grub/envblk.h: New file.
42572
42573 * util/envblk.c: New file.
42574
42575 * util/grub-editenv.c: New file.
42576
42577 * commands/loadenv.c: New file.
42578
0e9e51ec 425792008-07-01 Pavel Roskin <proski@gnu.org>
42580
d89b7634 42581 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42582 not unsigned char. This fixes warnings and is consistent with
42583 other tags.
42584
bf1835b1 42585 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42586
8222a04b 42587 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42588
6a42d99d 42589 * term/tparm.c (analyze): Always set *popcount.
42590
10b159d1 42591 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42592 cast to fix a warning.
42593
b8789f6c 42594 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42595 cast to suppress a warning.
42596
29d7e38a 42597 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42598 grub_fshelp_read_file() expects.
42599
f341f669 42600 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42601 write uuid as a 32-bit value in CPU byte order, so declare and
42602 use it as such.
42603
0e9e51ec 42604 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42605 long if the format specifier expects it.
42606 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42607 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42608 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42609 long to fix a warning.
42610 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42611 grub_dprintf() arguments to fix warnings.
42612
3aefa857 426132008-06-30 Pavel Roskin <proski@gnu.org>
42614
56c7668b 42615 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42616 install_bsd_part immediately before core.img is embedded or
42617 modified on disk. This fixes core.img verification if core.img
42618 cannot be embedded.
42619
3aefa857 42620 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42621 core_path to calculate the blocklist.
42622 Patch from Javier Martín <lordhabbit@gmail.com>
42623
5444088d 426242008-06-29 Robert Millan <rmh@aybabtu.com>
42625
42626 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42627 block to disk block.
42628 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42629 Patch from Niels Böhm <bitbucket@arcor.de>
42630
674835c8 426312008-06-29 Robert Millan <rmh@aybabtu.com>
42632
42633 * util/update-grub_lib.in (font_path): Search for fonts in
42634 /boot/grub first, which is more likely to be readable (we aren't
42635 deciding where fonts live, just looking for them).
42636
f527dbc8 426372008-06-26 Pavel Roskin <proski@gnu.org>
42638
6c2d8df6 42639 * util/biosdisk.c (read_device_map): Don't leave dead map
42640 entries for devices failing stat() check.
42641
f527dbc8 42642 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42643 core_path_dev for the core.img path on the target device.
42644
aebe3d13 426452008-06-26 Robert Millan <rmh@aybabtu.com>
42646
42647 * disk/fs_uuid.c: New file.
42648 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42649 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42650 (fs_uuid_mod_LDFLAGS): New variables.
42651 * include/grub/disk.h (grub_disk_dev_id): Add
42652 `GRUB_DISK_DEVICE_UUID_ID'.
42653 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42654 implement iterate().
42655
37aaf354 426562008-06-26 Robert Millan <rmh@aybabtu.com>
42657
42658 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42659 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42660 Linux image includes no initrd.
42661
25ff262a 426622008-06-21 Javier Martín <lordhabbit@gmail.com>
42663
42664 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42665 call to resolve the core image location that effectively appended the
42666 name twice.
42667
76a2bd44 426682008-06-21 Robert Millan <rmh@aybabtu.com>
42669
42670 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42671 call from here ...
42672
42673 * util/grub.d/10_hurd.in: ... to here ...
42674 * util/grub.d/10_linux.in: ... and here.
42675
650e1c79 426762008-06-19 Robert Millan <rmh@aybabtu.com>
42677
fe987087 42678 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 42679 after it has been set by grub_machine_set_prefix().
42680
6ce63911 426812008-06-19 Robert Millan <rmh@aybabtu.com>
42682
42683 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42684 search result when not saving to variable, not the other way around.
42685 When saving to variable, abort iteration as soon as a match is found.
42686
73940cec 426872008-06-19 Robert Millan <rmh@aybabtu.com>
42688
42689 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42690 check for partition that provides /boot/grub. Its logic is flawed,
42691 as it prevents prepare_grub_to_access_device() from being called
42692 multiple times.
42693
3c62a39d 426942008-06-19 Robert Millan <rmh@aybabtu.com>
42695
42696 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42697 "insmod" command directly when abstraction modules are needed,
fe987087 42698 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 42699 since it had already been processed).
42700
47395a42 427012008-06-19 Pavel Roskin <proski@gnu.org>
42702
42703 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42704 changed. This is needed in case GRUB_LIBDIR changes.
42705 * conf/i386-ieee1275.rmk: Likewise.
42706 * conf/i386-linuxbios.rmk: Likewise.
42707 * conf/i386-pc.rmk: Likewise.
42708 * conf/powerpc-ieee1275.rmk: Likewise.
42709
a145ac2d 427102008-06-18 Pavel Roskin <proski@gnu.org>
42711
42712 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42713 kernel_elf_symlist.c to symlist.c for consistency with other
42714 architectures. Update all users.
42715 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42716
7847c51e 427172008-06-18 Robert Millan <rmh@aybabtu.com>
42718
42719 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42720 it in prefix.
42721
42722 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42723 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42724 a RAID device, run setup() for all members independently on whether
42725 LVM abstraction is being used.
42726 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42727 If grub-mkimage has set `*install_dos_part == -2', don't override this
42728 value.
42729 Perform *install_dos_part adjustments independently on whether
42730 we're embedding or not.
42731 Clarify error message when image is too big for embedding.
42732 Remove duplicate *install_dos_part stanza.
42733
b23e5644 427342008-06-17 Robert Millan <rmh@aybabtu.com>
42735
42736 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42737 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42738 variables.
42739 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42740 values in grub_ofconsole_normal_color and
42741 grub_ofconsole_highlight_color (they're not directly related to
42742 background and foreground).
42743 (grub_ofconsole_setcolorstate): Extract background and foreground
42744 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42745
0aac2f79 427462008-06-17 Robert Millan <rmh@aybabtu.com>
42747
42748 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42749 /boot/grub for the check in last commit, not /boot (they could be
42750 different partitions).
42751
3cca7ef3 427522008-06-16 Robert Millan <rmh@aybabtu.com>
42753
42754 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42755 asked to setup access for the same partition that provides /boot,
42756 don't bother using UUIDs since our root already has the value we
42757 want.
42758
347396d8 427592008-06-16 Robert Millan <rmh@aybabtu.com>
42760
42761 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42762 I2O devices.
42763 Patch from Sven Mueller <sven@debian.org>.
42764
991477f8 427652008-06-16 Robert Millan <rmh@aybabtu.com>
42766
42767 * util/update-grub.in: Check for $EUID instead of $UID.
42768 Reported by Vincent Zweije.
42769
d31a32a1 427702008-06-16 Bean <bean123ch@gmail.com>
42771
fe987087 42772 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 42773 (grub_ext2_read_block): Likewise.
42774 (grub_ext2_read_inode): Likewise.
42775 (grub_ext2_mount): Likewise.
42776 (grub_ext2_close): Likewise.
42777 (grub_ext3_get_journal): Removed.
42778
fe987087 42779 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 42780 (grub_reiserfs_read_symlink): Likewise.
42781 (grub_reiserfs_mount): Likewise.
42782 (grub_reiserfs_open): Likewise.
42783 (grub_reiserfs_read): Likewise.
42784 (grub_reiserfs_close): Likewise.
42785 (grub_reiserfs_get_journal): Removed.
42786
42787 * fs/fshelp.c (grub_fshelp_read): Removed.
42788 (grub_fshelp_map_block): Likewise.
42789
42790 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42791 (grub_fshelp_journal): Likewise.
42792 (grub_fshelp_read): Likewise.
42793 (grub_fshelp_map_block): Likewise.
42794
3540a760 427952008-06-16 Pavel Roskin <proski@gnu.org>
42796
42797 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42798 floating point anymore.
42799 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42800
95614c84 428012008-06-15 Pavel Roskin <proski@gnu.org>
42802
42803 * commands/ls.c (grub_ls_list_files): Use integer calculations
42804 for human readable format, avoid floating point use.
42805 * kern/misc.c (grub_ftoa): Remove.
42806 (grub_vsprintf): Remove floating point support.
42807
50465dd6 428082008-06-15 Robert Millan <rmh@aybabtu.com>
42809
fe6b695a 42810 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42811 devices.
42812 Reported by Max Vozeler.
42813
a9207284 428142008-06-15 Robert Millan <rmh@aybabtu.com>
42815
42816 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42817 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42818 skipped later.
42819 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42820 the beginning of the prefix.
42821
42822 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42823 It is assumed that if we have a memdisk, grub-mkimage has set
42824 grub_prefix to include the "(memdisk)" drive in it.
42825
a7cbd45a 428262008-06-15 Robert Millan <rmh@aybabtu.com>
42827
42828 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42829 Initialize keyboard controller after registering the terminal, so that
42830 grub_printf() can be called from grub_keyboard_controller_init().
42831
21cf716a 428322008-06-15 Robert Millan <rmh@aybabtu.com>
42833
42834 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42835 extent-btree which is written as big endian on disk.
42836 Reported by Alain Greppin <al@chilibi.org>.
42837
23a64d8e 428382008-06-14 Robert Millan <rmh@aybabtu.com>
42839
42840 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42841 * util/i386/pc/grub-install.in (modules): Likewise.
42842
d687651c 428432008-06-13 Pavel Roskin <proski@gnu.org>
42844
42845 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42846
dfe9ddd4 428472008-06-13 Bean <bean123ch@gmail.com>
42848
42849 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42850
42851 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42852
42853 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42854 to indicate sparse block.
42855
16ae7781 428562008-06-12 Pavel Roskin <proski@gnu.org>
42857
e6d1a308 42858 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42859 number, grub_fshelp_read() does it for us.
42860
16ae7781 42861 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42862 linear disk read with journal translation.
42863 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42864 * include/grub/fshelp.h: Declare grub_fshelp_read().
42865
40fd3a2b 428662008-06-09 Pavel Roskin <proski@gnu.org>
42867
42868 * fs/minix.c (grub_minix_mount): Handle error reading
42869 superblock.
42870
f5679726 428712008-06-08 Robert Millan <rmh@aybabtu.com>
42872
42873 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42874 don't append the RAID prefix afterwards.
42875 Reported by Clint Adams.
42876
ce525529 428772008-06-08 Robert Millan <rmh@aybabtu.com>
42878
42879 Based on description from Pavel:
42880 * kern/disk.c (grub_disk_check_range): Rename to ...
42881 (grub_disk_adjust_range): ... this. Add a comment explaining the
42882 tasks performed by this function.
42883
ad4936a0 428842008-06-08 Robert Millan <rmh@aybabtu.com>
42885
42886 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42887 `num_serial' (for consistency with other variables).
42888 (struct grub_ntfs_data): Add `uuid' member.
42889 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42890 (grub_ntfs_uuid): New function.
42891 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42892
dc20b0f9 428932008-06-07 Pavel Roskin <proski@gnu.org>
42894
42895 * util/biosdisk.c (open_device): Revert last change to the
42896 function, it broke installation. The sector needs to be
42897 different dependent on which device is opened.
42898
c5e3cfba 428992008-06-06 Robert Millan <rmh@aybabtu.com>
42900
42901 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42902 rest of GRUB, and breakage doesn't happen if its value were modified.
42903
42904 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42905 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42906 a constant (same value).
42907 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42908 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42909
26a1f8c4 429102008-06-06 Robert Millan <rmh@aybabtu.com>
42911
42912 * util/biosdisk.c (open_device): Do not modify sector offset when
42913 accessing a partition. kern/disk.c already handles this for us.
42914
25d6b327 429152008-06-06 Robert Millan <rmh@aybabtu.com>
42916
42917 * util/grub-emu.c (grub_machine_init): Move code in this function from
42918 here ...
42919 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42920 segfault in case grub_printf() is called).
42921
42922 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42923 grub_probe. Update all users not to explicitly add it again.
42924 (grub_device): New variable; contains corresponding device for grubdir.
42925 (fs_module, partmap_module, devabstraction_module): Pass
42926 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42927 every time.
42928
9ece62fb 429292008-06-05 Robert Millan <rmh@aybabtu.com>
42930
42931 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42932 is found, print it (same layout as with labels).
42933
1ad36d37 429342008-06-04 Robert Millan <rmh@aybabtu.com>
42935
42936 * util/biosdisk.c (get_drive): Rename to ...
42937 (find_grub_drive): ... this. Update all users.
42938
42939 (get_os_disk): Rename to ...
42940 (convert_system_partition_to_system_disk): ... this. Update all users.
42941
42942 (find_drive): Rename to ...
42943 (find_system_device): ... this. Update all users.
42944
e6a30859 429452008-06-04 Robert Millan <rmh@aybabtu.com>
42946
42947 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42948 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42949 (make_device_map): Likewise.
42950
00c108a4 429512008-06-01 Robert Millan <rmh@aybabtu.com>
42952
42953 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42954 before dereferencing it.
42955
42956 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42957 union with fat12/fat16-specific ones. Add some new fields, including
42958 `num_serial' for both versions.
42959 (struct grub_fat_data): Add `uuid' member.
42960 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42961 names. Initialize `data->uuid' using `num_serial'.
42962 (grub_fat_uuid): New function.
42963 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42964
42965 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42966 (grub_reiserfs_uuid): New function.
42967 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42968 member.
42969
42970 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42971 (grub_xfs_uuid): New function.
42972 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42973
1385c5bb 429742008-06-01 Robert Millan <rmh@aybabtu.com>
42975
42976 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42977 code that is backward compatible with pre-uuid search command.
42978
c682dfd7 429792008-05-31 Robert Millan <rmh@aybabtu.com>
42980
42981 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42982 floppies after everything else, to ensure floppy drive isn't accessed
42983 unnecessarily (patch from Bean).
42984
b7db5d47 429852008-05-31 Robert Millan <rmh@aybabtu.com>
42986
42987 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42988 not print device names when we were asked to set a variable.
42989
6e037aa9 429902008-05-31 Robert Millan <rmh@aybabtu.com>
42991
42992 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42993 using "cursor-on" and "cursor-off" commands (understood at least by
42994 the Open Firmware flavour on OLPC).
42995
41305bc8 429962008-05-31 Michael Gorven <michael@gorven.za.net>
42997
42998 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42999 on and off sequences.
43000
69ba137e 430012008-05-31 Robert Millan <rmh@aybabtu.com>
43002
43003 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
43004 * util/update-grub.in: Likewise.
43005
520ae21b 430062008-05-30 Pavel Roskin <proski@gnu.org>
43007
43008 * util/biosdisk.c (linux_find_partition): Simplify logic and
43009 make the code more universal. Keep special processing for
43010 devfs, but use a simple rule for all other devices. If the
43011 device ends with a number, append 'p' and the partition number.
43012 Otherwise, append only the partition number.
43013
5786569b 430142008-05-30 Robert Millan <rmh@aybabtu.com>
43015
43016 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
43017 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
43018 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
43019 the `root' parameter to Linux.
43020
51500452 430212008-05-30 Robert Millan <rmh@aybabtu.com>
43022
43023 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
43024 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
43025 --fs_uuid with --fs-uuid.
43026 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
43027 all filesystems support them).
43028
811d3878 430292008-05-30 Robert Millan <rmh@aybabtu.com>
43030
43031 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 43032 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 43033
cab63c95 430342008-05-30 Robert Millan <rmh@aybabtu.com>
43035
43036 * util/grub.d/00_header.in: Remove obsolete comment referencing
43037 convert_system_path_to_grub_path().
43038 * util/update-grub.in: Likewise.
43039 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
43040 (convert_system_path_to_grub_path): Add a warning message explaining
43041 that this function is deprecated. Rely on is_path_readable_by_grub()
43042 for the readability checks.
43043 (font_path): Use is_path_readable_by_grub() for the readability
43044 check rather than convert_system_path_to_grub_path().
43045
972e2f7a 430462008-05-30 Robert Millan <rmh@aybabtu.com>
43047
43048 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
43049 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
43050 converting it first.
43051 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
43052 grub.cfg for access to font file, and afterwards call it again to set
43053 the root device.
43054
62191274 430552008-05-30 Robert Millan <rmh@aybabtu.com>
43056
43057 * commands/search.c (options): Add --fs_uuid option.
43058 (search_fs_uuid): New function.
43059 (grub_cmd_search): Fix --set argument passing.
43060 Use search_fs_uuid() when requested via --fs_uuid.
43061 (grub_search_init): Update help message.
43062 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
43063 and redeclare it as an array of 16-bit words.
43064 (grub_ext2_uuid): New function.
43065 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
43066 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
43067 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
43068 (GRUB_DEVICE_BOOT_UUID): New variables.
43069 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
43070 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
43071 whenever possible.
43072 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
43073 just assume `root' variable has the right value.
43074 * util/grub.d/10_linux.in: Likewise.
43075 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
43076 via PRINT_FS_UUID.
43077 (main): Recognise `-t fs_uuid' argument.
43078
01b73ec8 430792008-05-30 Robert Millan <rmh@aybabtu.com>
43080
43081 * util/biosdisk.c (map): Redefine structure to hold information
43082 about GRUB drive name.
fe6b695a 43083 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 43084 drive names.
43085 (call_hook): Remove.
43086 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
43087 member. Assume drive has partitions.
43088 (grub_util_biosdisk_open): Access device names via `.device' struct
43089 member.
43090 (open_device): Likewise.
43091 (find_drive): Likewise.
43092 (read_device_map): Adjust map[] usage to match the new struct
43093 definition. Don't check for duplicates (still possible, but not cheap
43094 anymore).
43095 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
43096 (make_device_name): Remove assumption of BIOS-like drive names.
43097
22f16596 430982008-05-30 Pavel Roskin <proski@gnu.org>
43099
43100 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
43101 compiling execute.c doesn't need grub_script.tab.h anymore.
43102 (normal/command.c_DEPENDENCIES): Likewise.
43103 (normal/function.c_DEPENDENCIES): Likewise.
43104 * conf/i386-ieee1275.rmk: Likewise.
43105 * conf/i386-linuxbios.rmk: Likewise.
43106 * conf/i386-pc.rmk: Likewise.
43107 * conf/powerpc-ieee1275.rmk: Likewise.
43108 * conf/sparc64-ieee1275.rmk: Likewise.
43109
528ad8f2 431102008-05-29 Pavel Roskin <proski@gnu.org>
43111
d1dff95d 43112 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
43113 when scanning metadata for volume group name.
43114
528ad8f2 43115 * include/grub/script.h: Don't include grub_script.tab.h. It's
43116 a generated file, which may only be included from the files with
43117 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
43118 use union YYSTYPE, as the later allows forward declaration.
43119 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
43120
47248e08 431212008-05-29 Robert Millan <rmh@aybabtu.com>
43122
43123 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
43124 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
43125 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
43126 (grub_console_checkkey): Add grub_dprintf() call to report unknown
43127 scan codes.
43128
ee632529 431292008-05-29 Robert Millan <rmh@aybabtu.com>
43130
43131 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
43132 control key combinations.
43133
eee96e08 431342008-05-29 Robert Millan <rmh@aybabtu.com>
43135
43136 * util/powerpc/ieee1275/grub-install.in: Move from here ...
43137 * util/ieee1275/grub-install.in: ... to here.
43138 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
43139 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
43140 (grub_install_SOURCES): Likewise.
43141
da9a6a94 431422008-05-29 Robert Millan <rmh@aybabtu.com>
43143
43144 * fs/affs.c: Update copyright year.
43145 * fs/ext2.c: Likewise.
43146 * fs/fshelp.c: Likewise.
43147 * fs/hfsplus.c: Likewise.
43148 * fs/ntfs.c: Likewise.
43149 * fs/xfs.c: Likewise.
43150 * include/grub/fshelp.h: Likewise.
43151 * util/grub-mkdevicemap.c: Likewise.
43152
12e65f3a 431532008-05-28 Robert Millan <rmh@aybabtu.com>
43154
43155 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
43156 might need to be fatfs to support some firmware implementations
43157 (e.g. OFW or EFI).
43158
23023641 431592008-05-28 Robert Millan <rmh@aybabtu.com>
43160
43161 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
43162 devices.
43163 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43164 (make_device_map): Likewise.
43165
887d2619 431662008-05-20 Bean <bean123ch@gmail.com>
43167
43168 * fs/fshelp.c (grub_fshelp_map_block): New function.
43169 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
43170 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
43171
43172 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
43173 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
43174 (grub_fshelp_journal): New structure.
43175 (grub_fshelp_map_block): New function prototype.
43176 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
43177 (grub_fshelp_map_block): Likewise.
43178
43179 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
43180 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
43181 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
43182 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
43183 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
43184 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
43185 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
43186 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
43187 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
43188 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
43189 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
43190 (grub_ext2_sblock): New members for journal support.
43191 (grub_ext3_journal_header): New structure.
43192 (grub_ext3_journal_revoke_header): Likewise.
43193 (grub_ext3_journal_block_tag): Likewise.
43194 (grub_ext3_journal_sblock): Likewise.
43195 (grub_fshelp_node): New members logfile and journal.
43196 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
43197 grub_fshelp_map_block to get real block number.
43198 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
43199 number.
43200 (grub_ext2_read_inode): Likewise.
43201 (grub_ext3_get_journal): New function.
43202 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
43203 (grub_ext2_close): Release memory used by journal.
43204
43205 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
43206 (REISERFS_MAGIC_DESC_BLOCK): New macro.
43207 (grub_reiserfs_transaction_header): Renamed to
43208 grub_reiserfs_description_block, replace field data with real_blocks.
43209 (grub_reiserfs_commit_block): New structure.
43210 (grub_reiserfs_data): New member journal.
43211 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
43212 number.
43213 (grub_reiserfs_read_symlink): Likewise.
43214 (grub_reiserfs_iterate_dir): Likewise.
43215 (grub_reiserfs_open): Likewise.
43216 (grub_reiserfs_read): Likewise.
43217 (grub_reiserfs_get_journal): New function.
43218 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
43219 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
43220 using grub_reiserfs_get_journal.
43221 (grub_reiserfs_close): Release memory used by journal.
43222
43223 * fs/affs.c (grub_affs_read_block): Change block type to
43224 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
43225
43226 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
43227
43228 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
43229
43230 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
43231
43232 * fs/udf.c (grub_udf_read_block): Change block type to
43233 grub_disk_addr_t. Use type cast to avoid warning.
43234
43235 * fs/xfs.c (grub_xfs_read_block): Likewise.
43236
b7c6bed5 432372008-05-16 Christian Franke <franke@computer.org>
43238
43239 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
43240 to ensure that break with ESC will always work.
43241 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
43242 Remove ESC from keyboard queue.
43243
eedf167f 432442008-05-16 Christian Franke <franke@computer.org>
43245
43246 * util/biosdisk.c: [__CYGWIN__] Add includes.
43247 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
43248 (get_os_disk): Move variable declarations to OS specific
43249 parts to avoid warning.
43250 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
43251 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
43252 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
43253 Cygwin.
43254 * util/getroot.c: [__CYGWIN__] Add includes.
43255 (strip_extra_slashes): Fix "/" case.
43256 [__CYGWIN__] (get_win32_path): New function.
43257 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
43258 [__CYGWIN__] (find_root_device): Disable.
43259 [__CYGWIN__] (get_bootsec_serial): New function.
43260 [__CYGWIN__] (find_cygwin_root_device): Likewise.
43261 [__linux__] (grub_guess_root_device): Add early returns to simplify
43262 structure.
43263 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
43264 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
43265 check for Linux only.
43266
a079699e 432672008-05-15 Bean <bean123ch@gmail.com>
43268
43269 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
43270 keyboard hang problem in apple's intel mac.
43271
1cf4059a 432722008-05-09 Robert Millan <rmh@aybabtu.com>
43273
43274 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
43275 devices.
43276 * util/grub-mkdevicemap.c (get_virtio_disk_name)
43277 (make_device_map): Likewise.
43278 Reported by Aurelien Jarno <aurel32@debian.org>
43279
ed759390 432802008-05-07 Ian Campbell <ijc@hellion.org.uk>
43281
43282 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
43283 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
43284 (make_device_map): Output entries for xvd type disks.
43285
b56c4eaa 432862008-05-07 Robert Millan <rmh@aybabtu.com>
43287
43288 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
43289 devices.
43290 * util/grub-mkdevicemap.c (get_cciss_disk_name)
43291 (make_device_map): Likewise.
43292 Reported by Roland Dreier <rdreier@cisco.com>
43293
7f8866ed 432942008-05-07 Robert Millan <rmh@aybabtu.com>
43295
43296 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
43297 grub_strstr() call. Correct a few mistakes in failure path handling.
43298
b0346e0f 432992008-05-06 Robert Millan <rmh@aybabtu.com>
43300
43301 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43302 Do not print a trailing slash (therefore, the root directory is an
43303 empty string).
43304 (convert_system_path_to_grub_path): Do not remove trailing slash
43305 from make_system_path_relative_to_its_root() output.
43306
43307 * util/i386/pc/grub-install.in: Add trailing slash to output from
43308 make_system_path_relative_to_its_root().
43309
6cf12cbd 433102008-05-06 Robert Millan <rmh@aybabtu.com>
43311
43312 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
43313 ensures that output lines aren't intermangled with those sent to
43314 stderr (via grub_util_info()).
43315 * util/grub-probe.c (grub_refresh): Likewise.
43316 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
43317
0fbb3117 433182008-05-05 Christian Franke <franke@computer.org>
43319
43320 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
43321 Add Cygwin device names.
43322 (get_ide_disk_name) [__CYGWIN__]: Likewise.
43323 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
43324 (check_device): Return error instead of success on empty name.
43325 (make_device_map): Move label inside linux specific code to
43326 prevent compiler warning.
43327
8124cdb7 433282008-04-30 Robert Millan <rmh@aybabtu.com>
43329
43330 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
43331 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
43332 first boot option.
43333 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
43334
094c01d0 433352008-04-29 Robert Millan <rmh@aybabtu.com>
43336
43337 * docs/grub.cfg: New file (example GRUB configuration).
43338
f4b1fc02 433392008-04-26 Robert Millan <rmh@aybabtu.com>
43340
329ce2a5 43341 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
43342 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43343 and `disk/ieee1275/nand.c'.
f4b1fc02 43344
25f16ec1 433452008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 43346
25f16ec1 43347 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43348 i386-linuxbios.
43349
43350 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43351 change the buffer size to 4096 for cdrom device.
43352
43353 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43354 and nand.mod.
43355 (_linux_mod_SOURCES): New variable.
43356 (_linux_mod_CFLAGS): Likewise.
43357 (_linux_mod_LDFLAGS): Likewise.
43358 (linux_mod_SOURCES): Likewise.
43359 (linux_mod_CFLAGS): Likewise.
43360 (linux_mod_LDFLAGS): Likewise.
43361 (nand_mod_SOURCES): Likewise.
43362 (nand_mod_CFLAGS): Likewise.
43363 (nand_mod_LDFLAGS): Likewise.
43364
43365 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43366 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43367 type property. (nand device in olpc don't have this property)
43368
43369 * include/grub/disk.h (grub_disk_dev_id): New macro
43370 GRUB_DISK_DEVICE_NAND_ID.
43371
43372 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43373 function prototype.
43374 (grub_rescue_cmd_initrd): Likewise.
43375
43376 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43377 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43378 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 43379
25f16ec1 43380 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43381 GRUB_MACHINE_IEEE1275 is defined.
43382
43383 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43384 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43385
43386 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43387 on nested function heap_init.
43388 (grub_upper_mem): New variable for i386-ieee1275.
43389 (grub_get_extended_memory): New function for i386-ieee1275.
43390 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43391
43392 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43393 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43394 property.
f19dbdb7 43395
25f16ec1 43396 * loader/i386/ieee1275/linux.c: New file.
43397
43398 * loader/i386/ieee1275/linux_normal.c: New file.
43399
43400 * disk/ieee1275/nand.c: New file.
43401
e89d61e9 434022008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43403
43404 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43405 value.
43406 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43407
602566f6 434082008-04-18 Robert Millan <rmh@aybabtu.com>
43409
43410 Restructures early code path on ieee1275 to unify grub_main() as
43411 the first C function that is executed in every platform.
43412
43413 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43414 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43415 cmain().
43416 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43417 * kern/ieee1275/cmain.c (cmain): Rename to ...
43418 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43419 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43420 at the beginning.
43421
57490c2b 434222008-04-18 Robert Millan <rmh@aybabtu.com>
43423
43424 * util/update-grub.in: Fix syntax error when setting
43425 `GRUB_PRELOAD_MODULES'.
43426 Reported by Stephane Chazelas <stephane@artesyncp.com>
43427
1977517d 434282008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43429
43430 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43431 section into account, newer toolchains generate unique build ids
43432 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 43433 we want build ids to be preserved
1977517d 43434 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43435 far from other sections don't cause the raw binary images grow
43436 size
43437
bfb1f1a2 434382008-04-15 Robert Millan <rmh@aybabtu.com>
43439
43440 * disk/lvm.c: Update copyright year.
43441 * kern/misc.c: Likewise.
43442
01979850 434432008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43444
43445 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 43446 there is no memory left for physical volume name.
01979850 43447
0a1150e2 434482008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43449
43450 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43451 volume name mapping to support bigger than 9 character names properly.
43452
82ead3fe 434532008-04-13 Robert Millan <rmh@aybabtu.com>
43454
43455 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43456 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43457
e54a72f5 434582008-04-13 Christian Franke <franke@computer.org>
43459
43460 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43461 to create a floppy emulation boot CD when non emulation mode
43462 does not work.
43463 Enable Joliet CD filesystem extension.
43464
9fe86034 434652008-04-13 Robert Millan <rmh@aybabtu.com>
43466
43467 * kern/misc.c (grub_strncat): Fix off-by-one error.
43468 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43469
43470 * kern/env.c (grub_env_context_close): Clear current context, not
43471 previous one.
43472 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
43473
43474 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
43475
7ceeee39 434762008-04-13 Robert Millan <rmh@aybabtu.com>
43477
43478 Improve robustness when handling LVM.
43479
43480 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 43481 (and leave `*p' unmodified).
7ceeee39 43482 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
43483 through it.
43484 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43485 iterating through it.
43486 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43487 through it.
fe6b695a 43488 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 43489 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43490 Don't assume `vg->pvs != NULL' when iterating through it.
43491
58cd3d85 434922008-04-13 Robert Millan <rmh@aybabtu.com>
43493
43494 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43495 * genmk.rb (partmap): New variable.
43496 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43497 (#{partmap}): New target rule.
43498 * genpartmaplist.sh: New file.
43499 * Makefile.in (pkglib_DATA): Add partmap.lst.
43500 (partmap.lst): New target rule.
43501 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
43502 modules (including all partition maps), instead of preloading them.
43503
78b51059 435042007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
43505
43506 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
43507 `linux-boot-prober' (if installed) to detect other operating
43508 systems which are installed on the computer and add them to
43509 the boot menu.
43510 * conf/common.rmk: Build and install 30_os-prober.
43511
a91627b4 435122008-04-12 Robert Millan <rmh@aybabtu.com>
43513
43514 * kern/powerpc/ieee1275/init.c: Move from here ...
43515 * kern/ieee1275/init.c: ... to here. Update all users.
43516
43517 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43518 * kern/ieee1275/cmain.c: ... to here. Update all users.
43519
43520 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43521 * kern/ieee1275/openfw.c: ... to here. Update all users.
43522
43523 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43524 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43525
322562ea 435262008-04-10 Pavel Roskin <proski@gnu.org>
43527
43528 * configure.ac: Always use "_cv_" in cache variables for
43529 compatibility with Autoconf 2.62.
43530
a02a73c5 435312008-04-07 Robert Millan <rmh@aybabtu.com>
43532
43533 Revert grub/machine/init.h addition by Pavel (since it breaks on
43534 i386-ieee1275 and others):
43535 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43536 * util/powerpc/ieee1275/misc.c: Likewise.
43537
25c024b1 435382008-04-07 Robert Millan <rmh@aybabtu.com>
43539
43540 * util/grub-probe.c (probe): Improve error message.
43541
3cbd2f98 435422008-04-07 Robert Millan <rmh@aybabtu.com>
43543
43544 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43545 (this prevents the presence of a bogus entry from ruining the whole
43546 thing).
43547
87a297bf 435482008-04-06 Pavel Roskin <proski@gnu.org>
43549
36747a62 43550 * util/biosdisk.c: Include grub/util/biosdisk.h.
43551 * util/grub-fstest.c (execute_command): Make static.
43552 * util/grub-mkdevicemap.c (check_device): Likewise.
43553 * util/i386/pc/misc.c: Include grub/machine/init.h.
43554 * util/powerpc/ieee1275/misc.c: Likewise.
43555 * util/lvm.c: Include grub/util/lvm.h.
43556 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43557 grub/cache.h.
43558 * util/raid.c: Include grub/util/raid.h.
43559 (grub_util_getdiskname): Make static.
43560
87a297bf 43561 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
43562 grub_hostfs_fini(), as they are called from grub_init_all() and
43563 grub_fini_all() respectively. This fixes an infinite loop in
43564 grub-fstest due to double registration of hostfs.
43565 Reported by Christian Franke <Christian.Franke@t-online.de>
43566
f6ce7629 435672008-04-05 Pavel Roskin <proski@gnu.org>
43568
43569 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43570 all 8 functions. Otherwise, probe function 0 only.
43571
070e49e4 435722008-04-04 Pavel Roskin <proski@gnu.org>
43573
8b088a4c 43574 * commands/lspci.c (grub_lspci_iter): Print the bus number
43575 correctly.
43576
4f657021 43577 * commands/lspci.c (grub_pci_classes): Fix typos.
43578 (grub_lspci_iter): Don't print func twice. Print vendor ID
43579 before device ID, as it's normally done.
43580
070e49e4 43581 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43582 Fix signedness warnings.
43583 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43584 Likewise.
43585 * util/ieee1275/get_disk_name.c: Include config.h so that
43586 _GNU_SOURCE is defined and getline() is declared. Mark an
43587 unused argument as such. Fix a signedness warning.
43588
ba7328dc 435892008-04-02 Pavel Roskin <proski@gnu.org>
43590
26887f22 43591 * genkernsyms.sh.in: Use more robust assignments for CC and
43592 srcdir. Quote srcdir.
43593 * gensymlist.sh.in: Likewise. Assert at the compile time that
43594 the symbol table is not empty.
43595
ba7328dc 43596 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43597 * fs/cpio.c (grub_cpio_read): Likewise.
43598
0f582c6b 435992008-04-01 Pavel Roskin <proski@gnu.org>
43600
4b6e1995 43601 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43602 * disk/host.c (grub_host_open): Likewise.
43603 * disk/loopback.c (grub_loopback_open): Likewise.
43604 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43605 disk->id as in disk/host.c, not a multi-character constant.
43606
828a2768 43607 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43608 later is obsolete, potentially dangerous and sets a bad example.
43609 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43610 * util/misc.c (grub_util_get_image_size): Likewise.
43611
2bb4fb47 43612 * disk/loopback.c (options): Improve help for "--partitions".
43613
0f582c6b 43614 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43615 options to align them with the short options, e.g. "echo -e".
43616
a33224e0 436172008-03-31 Bean <bean123ch@gmail.com>
43618
43619 * video/reader/png.c (grub_png_data): New member is_16bit and
43620 image_data.
43621 (grub_png_decode_image_header): Detect 16 bit png image.
43622 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43623 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43624 (grub_video_reader_png): Release memory occupied by image_data.
43625
43626 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43627 4096 bytes.
43628 (grub_nfs_mount): Skip the test for sector per cluster.
43629
43630 * include/grub/ntfs.h (MAX_SPC): Removed.
43631
86cb4f54 436322008-03-31 Bean <bean123ch@gmail.com>
43633
43634 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43635 (grub_probe_SOURCES): Add fs/afs.c.
43636 (grub_fstest_SOURCES): Likewise.
43637 (afs_mod_SOURCES): New variable.
43638 (afs_mod_CFLAGS): Likewise.
43639 (afs_mod_LDFLAGS): Likewise.
43640
43641 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43642 (grub_emu_SOURCES): Likewise.
43643
43644 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43645
43646 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43647
43648 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43649
43650 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43651
43652 * fs/afs.c: New file.
43653
17c74c21 436542008-03-30 Pavel Roskin <proski@gnu.org>
43655
4cb68e89 43656 * disk/host.c: Include grub/misc.h to fix a warning.
43657 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43658 warnings about implicit declarations.
43659
8790bb04 43660 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43661 variable.
43662 * include/grub/i386/loader.h: Change declaration of
43663 grub_linux_boot() to match what grub_loader_set() expects.
43664 * util/getroot.c (grub_guess_root_device): Return const char* to
43665 fix a warning.
43666 * util/grub-probe.c (probe): Fix a warning about uninitialized
43667 abstraction_name variable.
43668 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43669 second argument as unused to fix a warning.
43670
9a3f3296 43671 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43672 missing grub_error() call.
43673
0ecef90d 43674 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43675 2.60 and newer uses it to define datadir.
43676
0bf6d401 43677 * commands/sleep.c: Fix warning about implicit declaration.
43678 * disk/memdisk.c: Likewise.
43679 * loader/aout.c: Likewise.
43680 * loader/i386/bsd_normal.c: Likewise.
43681 * util/grub-probe.c: Likewise.
43682
7cdacf97 43683 * commands/i386/cpuid.c (has_longmode): Make static.
43684 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43685 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43686
17c74c21 43687 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43688 GDT. This is more robust, as %ds can change.
43689 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43690 calling real_to_prot().
43691 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43692
80a3e68b 436932008-03-28 Pavel Roskin <proski@gnu.org>
43694
43695 * kern/i386/pc/startup.S: Assert that uncompressed functions
43696 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43697 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43698 code, as they push parts of the code (error handlers) beyond
43699 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43700 code as correctness and size.
43701
77bcd272 437022008-03-28 Pavel Roskin <proski@gnu.org>
43703
43704 * kern/i386/pc/startup.S
43705 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43706 data block address to the real mode, keep offset minimal. This
43707 works around a bug in AWARD BIOS on old Athlon systems, which
43708 makes CD detection hang.
43709
c5dfd43b 437102008-03-26 Pavel Roskin <proski@gnu.org>
43711
43712 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43713 const.
43714 * include/grub/normal.h: Add grub_parse_color_name_pair()
43715 declaration.
43716
bf962df2 437172008-03-24 Bean <bean123ch@gmail.com>
43718
43719 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43720 (cd_count): Removed.
43721 (cd_drive): New variable.
43722 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43723 (grub_biosdisk_call_hook): Likewise.
43724 (grub_biosdisk_iterate): Change cdrom detection method.
43725 (grub_biosdisk_open): Replace cd_start with cd_drive.
43726 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43727 detect cdrom device.
43728
43729 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43730 Removed.
43731 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43732 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43733 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43734 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43735 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43736 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43737 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43738 (grub_biosdisk_cdrp): New structure.
43739 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43740
43741 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43742
43743 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43744 device.
43745
43746 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43747 New function.
43748
68e7fc7a 437492008-03-20 Robert Millan <rmh@aybabtu.com>
43750
43751 Remove 2 TiB limit in ata.mod.
43752 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43753 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43754 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43755 grub_uint64_t instead of grub_uint32_t.
43756
38ad2cf5 437572008-03-05 Bean <bean123ch@gmail.com>
43758
43759 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43760 (grub_multiboot): Set boot device.
43761
43762 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43763
2b89344e 437642008-03-02 Bean <bean123ch@gmail.com>
43765
43766 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43767 symlink_buffer.
43768
87a95d1f 437692008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43770
43771 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43772 texinfo.tex.
43773
43774 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43775 modified.
43776
43777 * docs/fdl.texi: New file.
f19dbdb7 43778
87a95d1f 43779 * docs/mdate-sh: New file. Copied from gnulib.
43780 * docs/texinfo.tex: Likewise.
43781
43782 * config.guess: Updated from gnulib.
43783 * install-sh: Likewise.
43784
7dc15d8e 437852008-02-28 Robert Millan <rmh@aybabtu.com>
43786
43787 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43788 (aout_mod_SOURCES): New variable.
43789 (aout_mod_CFLAGS): Likewise.
43790 (aout_mod_LDFLAGS): Likewise.
43791
43792 * conf/i386-ieee1275.rmk: Likewise.
43793
b00ab696 437942008-02-28 Robert Millan <rmh@aybabtu.com>
43795
43796 * util/update-grub.in: Reorganise terminal validity check. Accept
43797 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43798 Based on suggestion by Franklin PIAT.
43799
79ca2d78 438002008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43801
43802 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43803 function.
43804 * util/getroot.c (grub_util_check_block_device): New function that
43805 returns the given argument if it is a block device and returns NULL else.
43806 * util/grub-probe.c (argument_is_device): New variable.
43807 (probe): Promote device_name from a variable to an argument. Receive
43808 device_name from grub_util_check_block_device() if path is NULL and from
43809 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43810 (options): Introduce new parameter '-d, --device'.
79ca2d78 43811 (main): Add description of the new parameter to the help screen.
43812 Rename path variable to argument. Set argument_is_device if the '-d'
43813 option is given. Pass argument to probe() depending on
43814 argument_is_device.
43815
0d16e571 438162008-02-24 Bean <bean123ch@gmail.com>
43817
43818 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43819 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43820 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43821 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43822 (GRUB_ISO9660_VOLDESC_END): Likewise.
43823 (grub_iso9660_primary_voldesc): New member escape.
43824 (grub_iso9660_data): New member joliet.
43825 (grub_iso9660_convert_string): New function.
43826 (grub_iso9660_mount): Detect joliet extension.
43827 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43828 (grub_iso9660_iso9660_label): Likewise.
43829
43830 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43831 (grub_setup_SOURCES): Add fs/udf.c.
43832 (grub_fstest_SOURCES): Likewise.
43833 (udf_mod_SOURCES): New variable.
43834 (udf_mod_CFLAGS): Likewise.
43835 (udf_mod_LDFLAGS): Likewise.
43836
43837 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43838 (grub_emu_SOURCES): Likewise.
43839
43840 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43841
43842 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43843
43844 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43845
43846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43847
43848 * fs/udf.c: New file.
43849
8a594a17 438502008-02-24 Robert Millan <rmh@aybabtu.com>
43851
43852 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43853 (normal/lexer.c_DEPENDENCIES): New variables.
43854 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43855 (normal/lexer.c_DEPENDENCIES): Likewise.
43856 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43857 (normal/lexer.c_DEPENDENCIES): Likewise.
43858 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43859 (normal/lexer.c_DEPENDENCIES): Likewise.
43860 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43861 (normal/lexer.c_DEPENDENCIES): Likewise.
43862 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43863 (normal/lexer.c_DEPENDENCIES): Likewise.
43864
2dc33c03 438652008-02-23 Robert Millan <rmh@aybabtu.com>
43866
43867 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43868 since they were intended to be in hex. This didn't break previously
43869 because of a bug in gpt_partition_map_iterate() (see below).
43870
43871 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43872 when checking the validity of GPT header.
43873 Remove `partno', since it always provides the same information as `i'.
43874
f6f4cfb0 438752008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43876
43877 * include/grub/efi/time.h: Fix a wrong comment.
43878
79ff665f 438792008-02-19 Pavel Roskin <proski@gnu.org>
43880
43881 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43882 message.
43883
d38e24c2 438842008-02-19 Bean <bean123ch@gmail.com>
43885
43886 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43887 (aout_mod_SOURCES): New variable.
43888 (aout_mod_CFLAGS): Likewise.
43889 (aout_mod_LDFLAGS): Likewise.
43890 (_bsd_mod_SOURCES): New variable.
43891 (_bsd_mod_CFLAGS): Likewise.
43892 (_bsd_mod_LDFLAGS): Likewise.
43893 (bsd_mod_SOURCES): New variable.
43894 (bsd_mod_CFLAGS): Likewise.
43895 (bsd_mod_LDFLAGS): Likewise.
43896
43897 * include/grub/aout.h: New file.
43898
43899 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43900
43901 * include/grub/i386/bsd.h: New file.
43902
43903 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43904 to make it public.
43905
43906 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43907 function is called, so that it's possible to change it inside the hook.
43908 (grub_elf64_load): Likewise.
43909 (grub_elf_file): Don't close the file if elf header is not found.
43910 (grub_elf_close): Close the file if grub_elf_file fails (The new
43911 grub_elf_file won't close it).
43912 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43913 (grub_elf64_size): Likewise.
43914
43915 * kern/i386/loader.S (grub_unix_real_boot): New function.
43916
43917 * loader/aout.c: New file.
43918
43919 * loader/i386/bsd.c: New file.
43920
43921 * loader/i386/bsd_normal.c: New file.
43922
43923 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43924
43925 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43926 can test other formats.
d38e24c2 43927
b93bdb0f 439282008-02-19 Robert Millan <rmh@aybabtu.com>
43929
43930 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43931 (grub_gpt_partition_type_empty): Redefine with macro from
43932 `<grub/gpt_partition.h>'.
43933 (gpt_partition_map_iterate): Adjust partition type comparison.
43934
43935 Export `entry' as partmap-specific `part.data' struct.
43936 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43937
43938 * include/grub/gpt_partition.h (grub_gpt_header)
43939 (grub_gpt_partentry): ... to here (new file).
43940
43941 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43942
43943 (grub_gpt_partition_type_bios_boot): New const variable, defined
43944 with macro from `<grub/gpt_partition.h>'.
43945
43946 (setup): Replace `first_start' with `embed_region', which keeps
43947 track of the embed region (and is partmap-agnostic).
43948
43949 Replace find_first_partition_start() with find_usable_region(),
43950 which finds a usable region for embedding using partmap-specific
43951 knowledge (supports PC/MSDOS and GPT).
43952
43953 Fix all assumptions that the embed region start at sector 1, using
43954 `embed_region.start' from now on. Similarly, use `embed_region.end'
43955 rather than `first_start' to calculate available size.
43956
43957 In grub_util_info() message, replace "into after the MBR" with an
43958 indication of the specific sector our embed region starts at.
43959
66cb40f6 439602008-02-19 Robert Millan <rmh@aybabtu.com>
43961
43962 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43963 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43964 `commands/reboot.c'.
43965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43966 (halt_mod_SOURCES): Likewise.
43967 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43968 (halt_mod_SOURCES): Likewise.
43969
b7202015 439702008-02-17 Christian Franke <franke@computer.org>
43971
43972 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43973
32b0fc49 439742008-02-17 Robert Millan <rmh@aybabtu.com>
43975
43976 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43977 set `first_start' to 0 for non-PC/MSDOS partition maps.
43978
aca63502 439792008-02-16 Robert Millan <rmh@aybabtu.com>
43980
43981 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43982 do not assume partition map is PC/MSDOS before performing checks that
43983 are specific to that layout.
43984
0de8be86 439852008-02-13 Robert Millan <rmh@aybabtu.com>
43986
43987 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43988 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43989 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43990
c3db8364 439912008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43992
43993 * configure.ac: Only a cosmetic change on the handling of
43994 -fno-stack-protector.
43995
f714229e 439962008-02-12 Alexandre Boeglin <alex@boeglin.org>
43997
c3db8364 43998 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43999 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
44000 reboot.c.
f714229e 44001 (grub_install_SOURCES): Add halt.mod and reboot.mod.
44002 (halt_mod_SOURCES): New variable.
44003 (halt_mod_CFLAGS): Likewise.
44004 (halt_mod_LDFLAGS): Likewise.
44005 (reboot_mod_SOURCES): Likewise.
44006 (reboot_mod_CFLAGS): Likewise.
44007 (reboot_mod_LDFLAGS): Likewise.
44008
c3db8364 44009 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
44010 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
44011 reboot.c.
f714229e 44012 (halt_mod_SOURCES): Likewise.
44013 (reboot_mod_SOURCES): Likewise.
44014
c3db8364 44015 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
44016 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 44017 (reboot_mod_SOURCES): Likewise.
44018
44019 * commands/i386/pc/reboot.c: merge this file ...
44020
44021 * commands/ieee1275/reboot.c: ... and this file ...
44022
44023 * commands/reboot.c: ... to this file.
c3db8364 44024 Add some precompiler directive to include the correct header for
44025 each machine.
f714229e 44026
44027 * commands/ieee1275/halt.c: move this file ...
44028
44029 * commands/halt.c: ... to here.
c3db8364 44030 Add some precompiler directive to include the correct header for
44031 each machine.
f714229e 44032
44033 * include/grub/efi/efi.h (grub_reboot): New function declaration.
44034 (grub_halt): Likewise.
44035
44036 * kern/efi/efi.c (grub_reboot): New function.
44037 (grub_halt): Likewise.
44038
c74493e0 440392008-02-12 Robert Millan <rmh@aybabtu.com>
44040
44041 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
44042 /dev (like it is done for /dev/mapper). This doesn't provide support
44043 for EVMS, but at least it is now easy to identify the problem when it
44044 arises.
44045
d0db4b04 440462008-02-11 Robert Millan <rmh@aybabtu.com>
44047
44048 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
44049 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
44050 comparing it with -1, not 0.
44051
bf748642 440522008-02-10 Robert Millan <rmh@aybabtu.com>
44053
44054 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
44055 `disk/lvm.c'.
44056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44057 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
44058
44059 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
44060 `disk/lvm.c' to the end of the list.
44061 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44062 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44063
b5db202a 440642008-02-10 Robert Millan <rmh@aybabtu.com>
44065
44066 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
44067 grub_print_error() instead. This will let user know why we're entering
44068 rescue mode.
44069 Based on suggestions from Sam Morris.
44070
83abee31 440712008-02-10 Alexandre Boeglin <alex@boeglin.org>
44072
44073 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
44074 on remaining N args, instead of "--" arg N times.
44075
78d5a08b 440762008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
44077
44078 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
44079 (fill_with_default_glyph): Changed to use unknown_glyph for fill
44080 pattern for unknown glyphs.
44081
68807e5f 440822008-02-09 Robert Millan <rmh@aybabtu.com>
44083
44084 * configure.ac: Probe for `help2man'.
44085 * Makefile.in (builddir): New variable.
44086 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
44087 or otherwise add a few flags/options to it.
44088 (install-local): For every executable utility or script that is
44089 installed, invoke $(HELP2MAN) to install a manpage based on --help
44090 output.
44091
44092 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
44093 that it doesn't prevent --help from working in build tree.
44094
44095 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
44096 with `bug-grub@gnu.org'.
44097 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
44098 * util/update-grub.in (usage): New function.
44099 Implement proper argument check, with support for --help and --version
44100 (as well as existing -y).
44101
441022008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 44103
44104 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
44105 avoid overwriting previous output.
44106 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
44107
c1962162 441082008-02-09 Robert Millan <rmh@aybabtu.com>
44109
44110 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
44111 drawing the menu.
44112
3dac2e3f 441132008-02-09 Robert Millan <rmh@aybabtu.com>
44114
44115 * commands/sleep.c: New file.
44116 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
44117 (sleep_mod_SOURCES): New variable.
44118 (sleep_mod_CFLAGS): Likewise.
44119 (sleep_mod_LDFLAGS): Likewise.
44120
7a634e08 441212008-02-09 Robert Millan <rmh@aybabtu.com>
44122
44123 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
44124 situations in which we can deduce the RAID size and the superblock
44125 doesn't match it.
44126
b92f0c18 441272008-02-09 Robert Millan <rmh@aybabtu.com>
44128
44129 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
44130 and return a grub_diskmemberlist_t composed of LVM physical volumes.
44131 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
44132
44133 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
44134 and return a grub_diskmemberlist_t composed of physical array members.
44135 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
44136
44137 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
44138 prototype.
44139 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
44140 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
44141 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
44142
44143 * util/grub-probe.c (probe): Move partmap probing code from here ...
44144 (probe_partmap): ... to here.
44145 (probe): Use probe_partmap() once for the disk we're probing, and
44146 additionally, when such disk contains a memberlist() struct member,
44147 once for each disk that is contained in the structure returned by
44148 memberlist().
44149
91a4bf68 441502008-02-09 Robert Millan <rmh@aybabtu.com>
44151
44152 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
44153 environment variable to 'all' in order to obtain debug output from
44154 non-util/ code.
44155 * util/i386/pc/grub-setup.c (main): Likewise.
44156
a96f9caa 441572008-02-08 Robert Millan <rmh@aybabtu.com>
44158
44159 * disk/raid.c (grub_raid_scan_device): Check for
44160 `array->device[sb.this_disk.number]' rather than for
44161 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 44162 guaranteed to be accessible.
a96f9caa 44163
b37a9222 441642008-02-08 Robert Millan <rmh@aybabtu.com>
44165
44166 * disk/raid.c: Update copyright.
44167 * fs/cpio.c: Likewise.
44168 * include/grub/raid.h: Likewise.
44169 * loader/i386/pc/multiboot.c: Likewise.
44170 * util/hostfs.c: Likewise.
44171
5626aee1 441722008-02-08 Robert Millan <rmh@aybabtu.com>
44173
44174 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
44175 to a grub_disk_t array.
44176 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
44177 `device[x]'.
44178 (grub_raid_scan_device): Replace `device[x].name' accesses with
44179 `device[x]->name'. Simplify initialization of `array->device[x]'.
44180
554f0187 441812008-02-08 Robert Millan <rmh@aybabtu.com>
44182
44183 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
44184 grub_dprintf() calls.
44185 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
44186 error message.
44187
1ec8425d 441882008-02-07 Christian Franke <franke@computer.org>
44189
44190 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
44191 instead of fseek and ftell to support large files.
44192 (grub_hostfs_read): Likewise.
44193
f2156fda 441942008-02-07 Robert Millan <rmh@aybabtu.com>
44195
44196 Patch from Jeroen Dekkers.
44197 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 44198 failure, since successfully reading all array members might not be
f2156fda 44199 required.
44200
9216e0e7 442012008-02-06 Robert Millan <rmh@aybabtu.com>
44202
44203 * util/grub-probe.c (probe): Simplify partmap probing (with the
44204 assumption that the first word up to the underscore equals to
44205 the module name).
44206
b0dfd29a 442072008-02-06 Christian Franke <franke@computer.org>
44208
44209 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
44210 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
44211 last block of a cpio or tar stream.
44212 Check for "TRAILER!!!" instead of any empty data
44213 block to detect last block of a cpio stream.
44214 (grub_cpio_dir): Fix constness of variable np.
44215 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
44216 cpio or tar trailer is detected. This fixes a crash
44217 on open of a non existing file.
44218
c32865bf 442192008-02-05 Bean <bean123ch@gmail.com>
44220
44221 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
44222 address of entry.
44223 (grub_multiboot_load_elf64): Likewise.
44224 (grub_multiboot): Initialize mbi structure.
44225
44226 * util/grub-fstest.c: Don't include unused header file script.h.
44227
fe6b695a 44228 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 44229 of file.
44230 (grub_fstest_SOURCES): Likewise.
44231
409480b7 442322008-02-05 Robert Millan <rmh@aybabtu.com>
44233
44234 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
44235 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
44236 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
44237 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
44238
44239 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
44240 (translation_table): Replace hardcoded values with macros
44241 provided by `<grub/term.h>'.
44242
44243 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
44244 (keyboard_map): Correct/add a few values, with macros provided
44245 by `<grub/term.h>'.
44246 (keyboard_map_shift): Zero values that don't differ from their
44247 `keyboard_map' equivalents.
44248 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
44249 Discard the second scan code that is always sent by Caps lock.
44250 Only use `keyboard_map_shift' when it provides a non-zero value,
44251 otherwise fallback to `keyboard_map'.
44252
99fadbaa 442532008-02-04 Bean <bean123ch@gmail.com>
44254
44255 * Makefile.in (enable_grub_fstest): New variable.
44256
44257 * conf/common.rmk (grub_fstest_init.lst): New rule.
44258 (grub_fstest_init.h): Likewise.
44259 (grub_fstest_init.c): Likewise.
44260 (util/grub-fstest.c_DEPENDENCIES): New variable.
44261 (grub_fstest_SOURCES): Likewise.
44262
44263 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
44264
44265 * util/grub-fstest.c: New file.
44266
bf567c50 442672008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44268
44269 Make grub-setup handle a separate root device.
f19dbdb7 44270
bf567c50 44271 * util/i386/pc/grub-setup.c (setup): Always open the root device,
44272 so that the root device can be compared with the destination
44273 device.
44274 When embedding the core image, if the root and destination devices
44275 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
44276 0xFF.
44277 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 44278
9be6b98b 442792008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44280
44281 Add support for having a grub directory in a different drive. This
44282 is still only the data handling part.
f19dbdb7 44283
9be6b98b 44284 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
44285 (codestart): Save %dh in GRUB_ROOT_DRIVE.
44286 (grub_root_drive): New variable.
44287
44288 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
44289 instead of GRUB_BOOT_DRIVE to construct a device name. Set
44290 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
44291 as it was.
44292
44293 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
44294
44295 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
44296 macro.
44297 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
44298
44299 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
44300 is bogus, because PXE booting does not specify any drive
44301 correctly.
44302
44303 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
44304 am not sure if this is really correct.
44305
44306 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
44307 is always identical to the boot drive when booting from a CD.
44308
44309 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
44310 longer.
44311 (root_drive): New variable.
44312 (real_start): Unconditionally set %dh to ROOT_DRIVE.
44313 (setup_sectors): Push %dx right after popping it, because %dh will
44314 be modified later.
44315 (copy_buffer): Restore %dx.
44316
e0ca0677 443172008-02-03 Robert Millan <rmh@aybabtu.com>
44318
44319 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
44320 use `cdboot.img' for cdrom images.
44321
3b3f6629 443222008-02-03 Robert Millan <rmh@aybabtu.com>
44323
44324 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
44325 only setup gfxterm when `font' command has succeeded.
44326
d42b3672 443272008-02-03 Robert Millan <rmh@aybabtu.com>
44328
44329 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
44330 (grub_rescue_cmd_multiboot_loader)
44331 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
44332
fa370ea6 443332008-02-03 Pavel Roskin <proski@gnu.org>
44334
e0c5dacb 44335 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 44336 %edx and %esi from stack only after grub_gate_a20() is called.
44337 grub_gate_a20() clobbers %edx.
44338
f2a76e1d 443392008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44340
44341 * configure.ac (AC_INIT): Bumped to 1.96.
44342
44343 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44344 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44345 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44346 video/readers/png.c.
44347
90fd32d1 443482008-02-03 Bean <bean123ch@gmail.com>
9be665dd 44349
44350 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44351 (cdboot_img_SOURCES): New variable.
44352 (cdboot_img_ASFLAGS): New variable.
44353 (cdboot_img_LDFLAGS): New variable.
44354
44355 * boot/i386/pc/cdboot.S: New file.
44356
44357 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44358 (cd_count): Likewise.
44359 (grub_biosdisk_get_drive): Add support for cd device.
44360 (grub_biosdisk_call_hook): Likewise.
44361 (grub_biosdisk_iterate): Likewise.
44362 (grub_biosdisk_open): Likewise.
44363 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44364 (grub_biosdisk_rw): Support reading from cd device.
44365 (GRUB_MOD_INIT): Iterate cd devices.
44366
44367 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44368 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44369 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44370
44371 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44372
4020aa53 443732008-02-02 Robert Millan <rmh@aybabtu.com>
44374
44375 * commands/read.c: New file.
44376 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44377 (read_mod_SOURCES): New variable.
44378 (read_mod_CFLAGS): Likewise.
44379 (read_mod_LDFLAGS): Likewise.
44380
e03a1132 443812008-02-02 Robert Millan <rmh@aybabtu.com>
44382
44383 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44384 determining whether menu has to be displayed.
44385
58c69220 443862008-02-02 Marco Gerards <marco@gnu.org>
44387
44388 * bus/pci.c: New file.
44389
44390 * include/grub/pci.h: Likewise.
44391
44392 * include/grub/i386/pc/pci.h: Likewise.
44393
44394 * commands/lspci.c: Likewise.
44395
44396 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44397 `lspci.mod'.
44398 (pci_mod_SOURCES): New variable.
44399 (pci_mod_CFLAGS): Likewise.
44400 (pci_mod_LDFLAGS): Likewise.
44401 (lspci_mod_SOURCES): Likewise.
44402 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 44403 (lspci_mod_LDFLAGS): Likewise.
58c69220 44404
c004e1b4 444052008-02-02 Bean <bean123ch@gmail.com>
44406
44407 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44408 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44409
44410 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44411 (grub_xfs_btree_node): New structure.
44412 (grub_xfs_btree_root): New structure.
44413 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44414 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44415 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44416 (GRUB_XFS_EXTENT_SIZE): Likewise.
44417 (grub_xfs_read_block): Support btree format type.
44418 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44419 Use directory block as basic unit.
44420
44421 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44422
44423 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44424 __attribute__ ((__regparm__ (1))).
44425
f95562bf 444262008-02-01 Robert Millan <rmh@aybabtu.com>
44427
44428 Correct a mistake in previous commit.
44429
44430 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44431 top.
44432 (normal/command.c_DEPENDENCIES): New variable.
44433
7d31f41f 444342008-02-01 Robert Millan <rmh@aybabtu.com>
44435
44436 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44437 top.
44438 (normal/command.c_DEPENDENCIES): New variable.
44439 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44440 * conf/i386-ieee1275.rmk: Likewise.
44441 * conf/i386-linuxbios.rmk: Likewise.
44442 * conf/i386-pc.rmk: Likewise.
44443 * conf/sparc64-ieee1275.rmk: Likewise.
44444 * conf/powerpc-ieee1275.rmk: Likewise.
44445 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44446
44447 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44448
60b6be74 444492008-02-01 Robert Millan <rmh@aybabtu.com>
44450
44451 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44452 call at beginning of function.
44453
078522ab 444542008-01-31 Pavel Roskin <proski@gnu.org>
44455
44456 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 44457 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44458 (grub_mkrescue_SOURCES): Likewise.
078522ab 44459 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44460
ccaa8a5f 444612008-01-30 Robert Millan <rmh@aybabtu.com>
44462
44463 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44464 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44465 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44466 (grub_probe_SOURCES): ... to here.
44467
44468 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44469 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44470 * conf/i386-ieee1275.rmk: Likewise.
44471 * conf/i386-linuxbios.rmk: Likewise.
44472 * conf/powerpc-ieee1275.rmk: Likewise.
44473
ae5a9cd7 444742008-01-30 Tristan Gingold <gingold@free.fr>
44475
44476 * kern/rescue.c: Silently accept empty lines.
44477
70bc2ef2 444782008-01-29 Bean <bean123ch@gmail.com>
44479
44480 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
44481 (real_code_2): Code cleanup and change comment style.
44482 (move_memory): Avoid using 32-bit address mode.
44483
6a4d50ea 444842008-01-29 Bean <bean123ch@gmail.com>
44485
44486 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44487 (png_mod_SOURCES): New variable.
44488 (png_mod_CFLAGS): Likewise.
44489 (png_mod_LDFLAGS): Likewise.
44490
44491 * video/readers/png.c: New file.
44492
11cc30ac 444932008-01-28 Robert Millan <rmh@aybabtu.com>
44494
44495 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44496 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44497 `ifndef GRUB_MOD_GAP' hack.
44498 * util/elf/grub-mkimage.c (add_segments): Likewise.
44499
3abc589f 445002008-01-27 Robert Millan <rmh@aybabtu.com>
44501
44502 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
44503 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 44504 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 44505
e1907778 445062008-01-27 Robert Millan <rmh@aybabtu.com>
44507
44508 Get grub-emu to build again (including parallel builds).
44509
44510 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
44511 Split into ...
44512 (util/grub-emu.c_DEPENDENCIES): ... this, ...
44513 (normal/execute.c_DEPENDENCIES): ... this, ...
44514 (grub-emu_DEPENDENCIES): ... and this.
44515
44516 * conf/i386-efi.rmk: Likewise.
44517 * conf/i386-linuxbios.rmk: Likewise.
44518 * conf/i386-ieee1275.rmk: Likewise.
44519 * conf/powerpc-ieee1275.rmk: Likewise.
44520 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44521
2216b101 445222008-01-27 Robert Millan <rmh@aybabtu.com>
44523
44524 * NEWS: Add a few items.
44525
f75172d9 445262008-01-27 Robert Millan <rmh@aybabtu.com>
44527
44528 Fix parallel builds with grub-emu. Based on earlier commit for
44529 grub-probe and grub-setup.
44530
44531 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44532 (util/grub-emu.c_DEPENDENCIES): ... this.
44533 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44534 (util/grub-emu.c_DEPENDENCIES): ... this.
44535 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44536 (util/grub-emu.c_DEPENDENCIES): ... this.
44537 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44538 (util/grub-emu.c_DEPENDENCIES): ... this.
44539 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44540 (util/grub-emu.c_DEPENDENCIES): ... this.
44541
3f51de77 445422008-01-27 Pavel Roskin <proski@gnu.org>
44543
44544 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44545 to create a gap between _end and the modules added to the image
44546 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44547 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44548 * util/elf/grub-mkimage.c (add_segments): Likewise.
44549
2033f53e 445502008-01-26 Pavel Roskin <proski@gnu.org>
44551
44552 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44553 just return an error.
44554
22da1f6f 445552008-01-26 Bean <bean123ch@gmail.com>
44556
44557 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44558 (grub_reiserfs_get_item): Save offset of the next item.
44559 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44560
2a9525e6 445612008-01-25 Robert Millan <rmh@aybabtu.com>
44562
44563 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44564 make all filesystem sources appear together (possibly fixing omissions
44565 while at it).
44566 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44567 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44568 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44570
44571 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44572 add `kern/file.c'.
44573 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44574 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44575 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44576 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44577
44578 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44579 (probe): Add a sanity check to make sure of our ability to read
44580 requested files when probing for filesystem type.
44581
44582 * genmk.rb: Update copyright year (2007).
44583
44584 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44585 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44586 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44587 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44588 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44589 : Remove function prototypes.
44590
b95f71b5 445912008-01-25 Robert Millan <rmh@aybabtu.com>
44592
44593 Revert my previous commits (based on wrong assumption of how grub_errno
44594 works).
44595
fe6b695a 44596 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 44597 * kern/file.c (grub_file_open): Likewise.
44598
d08bbb49 445992008-01-24 Pavel Roskin <proski@gnu.org>
44600
44601 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44602 that hang if GRUB tries to setup colors.
44603 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44604 colors for firmwares that don't support it.
44605 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44606 Recognize Open Hack'Ware, set flags to work around its
44607 limitations.
44608
605e36ed 446092008-01-24 Robert Millan <rmh@aybabtu.com>
44610
44611 * kern/file.c (grub_file_open): Do not account previous failures of
44612 unrelated functions when grub_errno is checked for.
44613 Reported by Oleg Strikov.
44614
bac332a1 446152008-01-24 Bean <bean123ch@gmail.com>
44616
44617 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44618 (grub_ufs_sblock): New member volume name.
44619 (grub_ufs_find_file): Fix string copy bug.
44620 (grub_ufs_label): Implement this function properly.
44621
44622 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44623 (grub_hfs_iterate_records): Use the correct file number for extents
44624 and catalog file. Fix problem in next index calculation.
44625 (grub_hfs_find_node): Replace recursive function call with loop.
44626 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44627
15c80c09 446282008-01-23 Robert Millan <rmh@aybabtu.com>
44629
44630 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44631 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44632 (grub_multiboot2_real_boot): New function prototype.
44633
44634 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44635 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44636
44637 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44638 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44639
305338fd 446402008-01-23 Robert Millan <rmh@aybabtu.com>
44641
44642 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44643 #ifdef'ed out grub_printf().
44644
3ea52685 446452008-01-23 Robert Millan <rmh@aybabtu.com>
44646
44647 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44648 grub_dprintf calls, since they make "debug=all" mode unusable.
44649 (grub_console_checkkey): Likewise.
44650
5882ae4b 446512008-01-23 Robert Millan <rmh@aybabtu.com>
44652
44653 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44654 `term/i386/pc/at_keyboard.c'.
44655 (pkglib_MODULES): Add `serial.mod'.
44656 (serial_mod_SOURCES): New variable.
44657 (serial_mod_CFLAGS): Likewise.
44658 (serial_mod_LDFLAGS): Likewise.
44659
44660 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44661 `<grub/powerpc/ieee1275/console.h>'.
44662 (grub_keyboard_controller_init): New function prototype.
44663 (grub_console_checkkey): Likewise.
44664 (grub_console_getkey): Likewise.
44665
44666 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44667 keyboard on i386.
44668
44669 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44670 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44671
06ab5303 446722008-01-23 Robert Millan <rmh@aybabtu.com>
44673
44674 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44675 present, "(memdisk)/boot/grub" becomes the default prefix.
44676
44677 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44678 a memdisk tarball with all the modules. Add --overlay=DIR option that
44679 allows users to overlay additional files into the image.
44680
dbb475a4 446812008-01-23 Robert Millan <rmh@aybabtu.com>
44682
44683 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44684 and `machine/memory.h'.
44685 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44686 (_multiboot_mod_SOURCES): New variable.
44687 (_multiboot_mod_CFLAGS): Likewise.
44688 (_multiboot_mod_LDFLAGS): Likewise.
44689 (multiboot_mod_SOURCES): Likewise.
44690 (multiboot_mod_CFLAGS): Likewise.
44691 (multiboot_mod_LDFLAGS): Likewise.
44692
44693 * include/grub/i386/ieee1275/loader.h: New file.
44694
44695 * include/grub/i386/ieee1275/machine.h: Likewise.
44696
44697 * include/grub/i386/ieee1275/memory.h: Likewise.
44698
44699 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44700 variable declaration.
44701 (grub_os_area_size): Likewise.
44702
44703 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44704 (grub_lower_mem, grub_upper_mem): New variables.
44705 (grub_stop_floppy): New function (just to make
44706 grub_multiboot2_real_boot() happy).
44707
44708 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44709 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44710 (grub_stop): New function.
44711 Include `"../realmode.S"' and `"../loader.S"'.
44712
44713 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44714 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44715
44716 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44717 rely on grub_multiboot2_real_boot() for final boot.
44718
25638629 447192008-01-22 Robert Millan <rmh@aybabtu.com>
44720
44721 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44722 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44723 device that doesn't look like an SD card.
44724 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44725 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44726 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44727 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44728 found.
44729
9dad816d 447302008-01-22 Robert Millan <rmh@aybabtu.com>
44731
44732 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44733 avoid claiming over our own code.
44734
34842f2d 447352008-01-22 Bean <bean123ch@gmail.com>
44736
44737 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44738 (jpeg_mod_SOURCES): New variable.
44739 (jpeg_mod_CFLAGS): Likewise.
44740 (jpeg_mod_LDFLAGS): Likewise.
44741
44742 * video/readers/jpeg.c : New file.
44743
44023a28 447442008-01-22 Bean <bean123ch@gmail.com>
44745
44746 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44747 there are no more items.
44748
bc2d8ac6 447492008-01-21 Robert Millan <rmh@aybabtu.com>
44750
44751 * kern/mm.c (grub_mm_init_region): Improve debug message.
44752
261bd4bc 447532008-01-21 Robert Millan <rmh@aybabtu.com>
44754
44755 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44756 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44757 address.
44758 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44759 a C macro.
44760 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44761 Indicates start of upper memory.
44762 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44763 (generate_image): Abort when image size is big enough to corrupt
44764 upper memory.
44765
44766 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44767 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44768 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44769 instead of hardcoding 0xA0000.
44770 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44771 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44772 instead of hardcoding 0xA0000.
44773
f970b55e 447742008-01-21 Robert Millan <rmh@aybabtu.com>
44775
44776 * disk/memdisk.c (memdisk_size): New variable.
44777 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44778 `memdisk_size'.
44779 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44780 image to dynamic memory.
44781 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44782 `memdisk_size'. Free memdisk block.
44783
1a8b0526 447842008-01-21 Robert Millan <rmh@aybabtu.com>
44785
44786 Fix detection of very small filesystems (like tar).
44787
44788 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44789 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44790 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44791 a problem with this disk).
44792
6e9b4aab 447932008-01-21 Robert Millan <rmh@aybabtu.com>
44794
44795 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44796 on grub_biosdisk_rw_standard() error.
44797
0d8837b2 447982008-01-21 Robert Millan <rmh@aybabtu.com>
44799
44800 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44801 recent changes.
44802 * kern/elf.c: Likewise.
44803 * kern/ieee1275/ieee1275.c: Likewise.
44804 * kern/powerpc/ieee1275/openfw.c: Likewise.
44805 * term/ieee1275/ofconsole.c: Likewise.
44806
ffd36e34 448072008-01-21 Robert Millan <rmh@aybabtu.com>
44808
44809 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44810
3f0093d0 44811 * include/grub/kernel.h (grub_arch_memdisk_addr)
44812 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44813
3f0093d0 44814 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44815 (grub_arch_memdisk_size): ... to here.
ffd36e34 44816
6c391b21 448172008-01-21 Robert Millan <rmh@aybabtu.com>
44818
44819 Mostly based on bugfix from Bean.
44820
44821 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44822 attribute with hook() parameter.
44823 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44824 declaration.
44825 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44826 attribute with hook() parameter.
44827 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44828 declaration.
44829
55a581dc 448302008-01-21 Robert Millan <rmh@aybabtu.com>
44831
44832 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44833 (pkglib_MODULES): Add `memdisk.mod'.
44834 (memdisk_mod_SOURCES): New variable.
44835 (memdisk_mod_CFLAGS): Likewise.
44836 (memdisk_mod_LDFLAGS): Likewise.
44837
44838 * disk/memdisk.c: New file.
44839
44840 * include/grub/disk.h (grub_disk_dev_id): Add
44841 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44842
44843 * include/grub/i386/pc/kernel.h
44844 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44845 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44846 (grub_kernel_image_size): New variable declaration.
44847 (grub_total_module_size): Likewise.
44848 (grub_memdisk_image_size): Likewise.
44849
44850 * include/grub/i386/pc/memory.h
44851 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44852
44853 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44854 (grub_arch_memdisk_addr): New variable declaration.
44855 (grub_arch_memdisk_size): Likewise.
44856
44857 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44858 (grub_arch_memdisk_size): Likewise.
44859
44860 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44861 (codestart): Replace hardcoded `0x100000' with
44862 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44863
44864 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44865 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44866 not NULL, append the contents of the file it refers to, at the end of
44867 the compressed kernel image. Initialize `grub_memdisk_image_size'
44868 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44869 (options): Add "memdisk"|'m' option.
44870 (main): Parse --memdisk|-m option, and pass user-provided path as
44871 parameter to generate_image().
44872
3d7f54c9 448732008-01-20 Robert Millan <rmh@aybabtu.com>
44874
44875 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44876 grub_dprintf() calls from here ...
44877 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44878
0bf74728 448792008-01-20 Robert Millan <rmh@aybabtu.com>
44880
44881 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44882
44883 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44884 declaration.
44885 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44886 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44887 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44888 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44889 property).
44890 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44891 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44892
33bf70a7 448932008-01-19 Robert Millan <rmh@aybabtu.com>
44894
fe6b695a 44895 Get rid of confusing function (superseded by
33bf70a7 44896 `grub_ieee1275_get_integer_property')
44897 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44898 prototype.
44899 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44900 function.
44901 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44902 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44903 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44904
e2da7d26 449052008-01-19 Robert Millan <rmh@aybabtu.com>
44906
44907 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44908 command after "shut-down", since implementations differ on which
44909 the command for halt is.
44910
59f1fd8d 449112008-01-19 Robert Millan <rmh@aybabtu.com>
44912
44913 * include/grub/i386/linuxbios/console.h: Add header protection.
44914 (grub_keyboard_controller_init): New function prototype.
44915 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44916 (KEYBOARD_COMMAND_READ): Likewise.
44917 (KEYBOARD_COMMAND_WRITE): Likewise.
44918 (KEYBOARD_SCANCODE_SET1): Likewise.
44919 (grub_keyboard_controller_write): New function.
44920 (grub_keyboard_controller_read): Likewise.
44921 (grub_keyboard_controller_init): Likewise.
44922
44923 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44924 (grub_console_init): On coreboot/LinuxBIOS, call
44925 grub_keyboard_controller_init().
44926
5f5a7c15 449272008-01-19 Robert Millan <rmh@aybabtu.com>
44928
44929 PowerPC changes provided by Pavel Roskin.
44930
44931 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44932 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44933 don't rely on cmain() doing it.
44934 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44935 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44936
1210e168 449372008-01-16 Robert Millan <rmh@aybabtu.com>
44938
44939 * include/grub/i386/linuxbios/memory.h
44940 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44941 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44942 receive `table_header' as argument. Instead, probe for it in the
44943 known memory ranges where it can be present.
44944 (grub_available_iterate): Do not pass a fixed `table_header' address
44945 to grub_linuxbios_table_iterate().
44946
3d04eab8 449472008-01-15 Robert Millan <rmh@aybabtu.com>
44948
44949 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44950 * conf/i386-ieee1275.rmk: New file.
44951 * include/grub/i386/ieee1275/console.h: Likewise.
44952 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44953 * include/grub/i386/ieee1275/kernel.h: Likewise.
44954 * include/grub/i386/ieee1275/time.h: Likewise.
44955 * kern/i386/ieee1275/init.c: Likewise.
44956 * kern/i386/ieee1275/startup.S: Likewise.
44957
d1bc1b73 449582008-01-15 Robert Millan <rmh@aybabtu.com>
44959
44960 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44961 when pointers are 32-bit (but still do set it to one when they are
44962 64-bit).
44963
66a65807 449642008-01-15 Robert Millan <rmh@aybabtu.com>
44965
44966 * include/grub/ieee1275/ieee1275.h
44967 (grub_ieee1275_get_integer_property): New function prototype.
44968
44969 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44970 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44971 grub_ieee1275_get_property() to handle endianness.
66a65807 44972
44973 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44974 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44975 where appropriate.
66a65807 44976 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44977 (grub_map): Likewise.
44978 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44979
a83ccafd 449802008-01-15 Bean <bean123ch@gmail.com>
44981
44982 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44983 (grub_script_execute_cmdline): Reset grub_errno.
44984
44985 * normal/main.c (read_config_file): Reset grub_errno.
44986
44987 * normal/parse.y (script_init): New.
44988 (script): Move function and menuentry here.
44989 (delimiter): New.
44990 (command): Add delimiter at the end of command.
44991 (commands): Adjust to match the new command.
44992 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44993 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44994 (if): Use the new commands.
44995
44996 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44997
df6ecfc6 449982008-01-15 Robert Millan <rmh@aybabtu.com>
44999
45000 * normal/menu.c (run_menu): Move timeout message from here ...
45001 (print_timeout): ... to here.
45002 (run_menu): Use print_timeout() once during initial draw to print
45003 the whole message, and again in every clock tick to update only
45004 the number of seconds.
45005
87ae25eb 450062008-01-15 Robert Millan <rmh@aybabtu.com>
45007
45008 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
45009 actual size of `available' from grub_ieee1275_get_property(), and
45010 restrict parsing to that bound.
45011
47bf09a4 450122008-01-15 Christian Franke <franke@computer.org>
45013
45014 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
45015 (argp_program_version): Remove variable.
45016 (argp_program_bug_address): Likewise.
45017 (options): Convert from struct argp_option to struct option.
45018 (struct arguments): Remove.
45019 (parse_opt): Remove.
45020 (usage): New function.
45021 (main): Replace struct args members by simple variables.
45022 Replace argp_parse() by getopt_long().
45023 Add switch to evaluate options.
45024 Add missing "(...)" around root_dev in prefix string.
45025
c86f1469 450262008-01-14 Robert Millan <rmh@aybabtu.com>
45027
45028 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
45029 for grub_ieee1275_exit(), in order to improve portability.
45030
e622c559 450312008-01-14 Robert Millan <rmh@aybabtu.com>
45032
45033 * util/grub.d/10_linux.in (prefix): Define.
45034 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
45035
44cb1ec8 450362008-01-13 Pavel Roskin <proski@gnu.org>
45037
45038 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
45039 grub_errno if no errors have been detected.
45040
1eb8c802 450412008-01-12 Robert Millan <rmh@aybabtu.com>
45042
45043 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
45044 (grub_util_get_dev_abstraction): New function prototype.
45045
45046 * util/getroot.c: Include `<grub/util/getroot.h>'
45047 (grub_util_get_grub_dev): Move detection of abstraction type to ...
45048 (grub_util_get_dev_abstraction): ... here (new function).
45049
45050 * util/grub-probe.c: Convert PRINT_* to an enum. Add
45051 `PRINT_ABSTRACTION'.
45052 (probe): Probe for abstraction type when requested.
45053 (main): Understand `--target=abstraction'.
45054
45055 * util/i386/efi/grub-install.in: Add abstraction module to core
45056 image when it is found to be necessary.
45057 * util/i386/pc/grub-install.in: Likewise.
45058 * util/powerpc/ieee1275/grub-install.in: Likewise.
45059
45060 * util/update-grub_lib.in (font_path): Return system path without
45061 converting to GRUB path.
45062 * util/update-grub.in: Convert system path returned by font_path()
45063 to a GRUB path. Use `grub-probe -t abstraction' to determine what
45064 abstraction module is needed for loading fonts (if any). Export
45065 that as `GRUB_PRELOAD_MODULES'.
45066 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
45067 insmod commands).
45068
52bd3de9 450692008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
45070
45071 Remove some unused code from reiserfs.
f19dbdb7 45072
52bd3de9 45073 * fs/reiserfs.c (struct grub_reiserfs_key)
45074 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
45075 (struct grub_reiserfs_node_body): Removed.
45076 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45077 Likewise.
45078 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45079 Likewise.
45080 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45081 Likewise.
45082 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45083 Likewise.
45084 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45085 Likewise.
45086 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
45087 Likewise.
45088 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45089 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45090 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45091
2f80039d 450922008-01-10 Robert Millan <rmh@aybabtu.com>
45093
45094 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
45095 Determines if a file is garbage left by packaging systems, etc.
45096 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
45097 for processing /etc/grub.d scripts.
45098 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
45099 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
45100 as a condition for processing Linux images.
45101
87888032 451022008-01-10 Pavel Roskin <proski@gnu.org>
45103
45104 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
45105 to compile reiserfs.c on PowerPC.
45106
7e54fced 451072008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 45108
45109 * kern/device.c (grub_device_iterate): Do not abort device iteration
45110 when one of the devices cannot be opened.
45111 * kern/disk.c (grub_disk_open): Do not account previous failures of
45112 unrelated functions when grub_errno is checked for.
45113
5aa541e6 451142008-01-08 Robert Millan <rmh@aybabtu.com>
45115
45116 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
45117 `! grub_linux_is_bzimage', change order of address comparison to make
45118 it more intuitive, and improve "too big zImage" error message.
45119
7076340d 451202008-01-08 Robert Millan <rmh@aybabtu.com>
45121
45122 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
45123 `$(update-grub_DATA)'.
45124 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
45125 targets.
45126
9ca70333 451272008-01-07 Robert Millan <rmh@aybabtu.com>
45128
45129 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
45130 which instruction is modified by grub-setup during installation
45131 (since it wasn't obvious by only looking at this file).
45132
38ccf575 451332008-01-07 Robert Millan <rmh@aybabtu.com>
45134
45135 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
45136 listing actual TODO items.
45137
f5db4291 451382008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45139
868967cf 45140 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
45141 correctly.
45142 (grub_reiserfs_get_key_offset): Likewise.
45143 (grub_reiserfs_set_key_offset): Likewise.
45144 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 45145 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 45146
45147 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
45148 better to remove the bitfield version completely.
f19dbdb7 45149
868967cf 451502008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45151
f5db4291 45152 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
45153 allocated from the heap, due to the fshelp implementation.
45154 (grub_reiserfs_dir): Free NODE, due to the same reason.
45155
492e6d9d 451562008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45157
45158 Mostly from Vincent Pelletier:
f19dbdb7 45159
492e6d9d 45160 * fs/reiserfs.c: New file.
f19dbdb7 45161
492e6d9d 45162 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
45163 (reiserfs_mod_SOURCES): New variable.
45164 (reiserfs_mod_CFLAGS): Likewise.
45165 (reiserfs_mod_LDFLAGS): Likewise.
45166
45167 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
45168 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
45169 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
45170 normal/color.c.
45171
9ce3e7c1 451722008-01-06 Robert Millan <rmh@aybabtu.com>
45173
45174 * normal/color.c: Remove `<grub/env.h>'.
45175
f3b58148 451762008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
45177
45178 * include/grub/normal.h: Include <grub/env.h>.
45179
7ac3bcfa 451802008-01-05 Robert Millan <rmh@aybabtu.com>
45181
45182 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
45183 usage example with `(hd0,1)'.
fb358190 45184 Reported by Samuel Thibault.
7ac3bcfa 45185
c8ee99d7 451862008-01-05 Robert Millan <rmh@aybabtu.com>
45187
45188 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
45189 (grub_linux_boot_zimage): Rename to ...
45190 (grub_linux_boot): ... this.
45191 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
45192 (grub_linux_boot_zimage): Conditionalize zImage copy.
45193
45194 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
45195 (grub_linux_boot_bzimage): Remove prototype.
45196 (grub_linux_boot_zimage): Rename to ...
45197 (grub_linux_boot): ... this.
45198
45199 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
45200 (grub_linux_boot): Remove function.
45201
0ece25b1 452022008-01-05 Robert Millan <rmh@aybabtu.com>
45203
45204 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
45205 (grub_env_write_color_highlight): Likewise.
45206 (grub_wait_after_message): Likewise.
45207
45208 * normal/color.c: New file.
45209
45210 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45211 (normal_mod_DEPENDENCIES): Likewise.
45212
45213 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45214 (normal_mod_DEPENDENCIES): Likewise.
45215
45216 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45217 (normal_mod_DEPENDENCIES): Likewise.
45218
45219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45220 (normal_mod_DEPENDENCIES): Likewise.
45221
45222 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
45223 for waiting after a message is printed.
45224 * normal/main.c (read_config_file): Likewise.
45225 (grub_normal_init): Register grub_env_write_color_normal() and
45226 grub_env_write_color_highlight() hooks. Mark `color_normal' and
45227 `color_highlight' variables as global.
45228
45229 * normal/menu.c (grub_wait_after_message): New function.
45230 (grub_color_menu_normal): New variable. Replaces ...
45231 (GRUB_COLOR_MENU_NORMAL): ... this macro.
45232 (grub_color_menu_highlight): New variable. Replaces ...
45233 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
45234 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
45235 `GRUB_TERM_COLOR_STANDARD'.
45236 (print_message): Use `grub_setcolorstate' to reload colors. Rename
45237 `normal_code' and `highlight_code' to `old_color_normal' and
45238 `old_color_highlight', respectively.
45239 (grub_menu_init_page): Update colors when drawing the menu, based on
45240 `menu_color_normal' and `menu_color_highlight' variables.
45241 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
45242 a message is printed.
45243
182dd4e5 452442008-01-05 Robert Millan <rmh@aybabtu.com>
45245
45246 * kern/env.c (grub_env_context_open): Propagate hooks for global
45247 variables to new context.
45248
45249 * kern/main.c (grub_set_root_dev): Export `root' variable.
45250
ddf8f6ad 452512008-01-05 Robert Millan <rmh@aybabtu.com>
45252
45253 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 45254 discs unconditionally, since udev and others have options to provide
ddf8f6ad 45255 them.
45256
d8b43d9b 452572008-01-05 Robert Millan <rmh@aybabtu.com>
45258
45259 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
45260
2bff2de3 452612008-01-04 Christian Franke <franke@computer.org>
45262
45263 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
45264 of eisa_mmap.
45265
97eab917 452662008-01-03 Pavel Roskin <proski@gnu.org>
45267
45268 * kern/i386/linuxbios/init.c: Put "void" to all function
45269 declarations with no arguments.
45270 * kern/powerpc/ieee1275/init.c: Likewise.
45271 * term/i386/pc/at_keyboard.c: Likewise.
45272 * term/i386/pc/vga_text.c: Likewise.
45273 * util/grub-mkdevicemap.c: Likewise.
45274
b9416d00 452752008-01-02 Robert Millan <rmh@aybabtu.com>
45276
45277 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
45278 message when loaded image is out of bounds.
45279 (grub_multiboot_load_elf64): Likewise.
45280
92695df9 452812008-01-02 Pavel Roskin <proski@gnu.org>
45282
45283 * util/grub.d/10_linux.in: Try version without ".old" when
45284 looking for initrd. It's better to use initrd from the newer
45285 kernel of the same version than no initrd at all.
45286
d98d9cad 452872008-01-01 Robert Millan <rmh@aybabtu.com>
45288
45289 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
45290
dbfdce36 452912008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
45292
f19dbdb7 45293 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 45294 grub_video_get_active_render_target.
45295 (grub_video_adapter): Added unmap_color and get_active_render_target.
45296
f19dbdb7 45297 * video/video.c: Added grub_video_unmap_color and
dbfdce36 45298 grub_video_get_active_render_target.
45299 (grub_video_get_info): Changed method to accept NULL pointer as an
45300 argument to allow detection of active video adapter.
45301
45302 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
45303 grub_video_vbe_unmap_color_int.
45304 Added grub_video_vbe_unmap_color and
45305 grub_video_vbe_get_active_render_target.
45306 (grub_video_vbe_adapter): Added unmap_color and
45307 get_active_render_target.
45308
f19dbdb7 45309 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 45310 with grub_video_vbe_unmap_color_int.
45311
45312 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
45313 (DEFAULT_NORMAL_COLOR): Likewise.
45314 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
45315 (DEFAULT_FG_COLOR): Removed.
45316 (DEFAULT_BG_COLOR): Likewise.
45317 (DEFAULT_CURSOR_COLOR): Changed value.
45318 (grub_virtual_screen): Added standard_color_setting,
45319 normal_color_setting, highlight_color_setting and term_color.
45320 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
45321 (bitmap_width): Added.
45322 (bitmap_height): Likewise.
45323 (bitmap): Likewise.
45324 (set_term_color): Likewise.
45325 (grub_virtual_screen_setup): Changed to use new terminal coloring
45326 settings.
45327 (grub_gfxterm_init): Added init for bitmap.
45328 (grub_gfxterm_fini): Added destroy for bitmap.
45329 (redraw_screen_rect): Updated to use background bitmap and new
45330 terminal coloring.
45331 (scroll_up): Added optimization for case when there is no bitmap.
45332 (grub_gfxterm_cls): Fixed to use correct background color.
45333 (grub_virtual_screen_setcolorstate): Changed to use new terminal
45334 coloring.
45335 (grub_virtual_screen_setcolor): Likewise.
45336 (grub_virtual_screen_getcolor): Added.
45337 (grub_gfxterm_background_image_cmd): Likewise.
45338 (grub_video_term): Added setcolor and getcolor.
45339 (MOD_INIT): Added registration of background_image command.
45340 (MOD_TERM): Added unregistration for background_image command.
45341
c3c20931 453422007-12-30 Pavel Roskin <proski@gnu.org>
45343
45344 * loader/multiboot_loader.c: Fix multiboot command
45345 unregistration. Fix all typos in the word "multiboot".
45346
df266716 453472007-12-29 Pavel Roskin <proski@gnu.org>
94239199 45348
45349 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45350 support for initrd names used in Fedora.
45351
fc6e896c 453522007-12-26 Bean <bean123ch@gmail.com>
45353
45354 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45355 (cpio_mod_SOURCES): New variable.
45356 (cpio_mod_CFLAGS): Likewise.
45357 (cpio_mod_LDFLAGS): Likewise.
45358
45359 * fs/cpio.c: New file.
45360
45361 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45362
45363 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45364
45365 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45366
45367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45368
533110ad 453692007-12-25 Robert Millan <rmh@aybabtu.com>
45370
45371 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45372 (grub_getcolor): New function.
45373
45374 * kern/term.c (grub_getcolor): New function.
45375 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45376 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45377 (print_entry): Set normal and highlight colors to
45378 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45379 respectively, before printing and restore them to old
45380 values afterwards.
45381 (grub_menu_init_page): Likewise. Fill an additional colored space
45382 that would otherwise be left blank.
45383
45384 * term/efi/console.c (grub_console_getcolor): New function.
45385 (struct grub_console_term.getcolor): New variable.
45386 * term/i386/pc/console.c (grub_console_getcolor): New function.
45387 (struct grub_console_term.getcolor): New variable.
45388 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45389 (struct grub_console_term.getcolor): New variable.
45390
45391 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45392 (struct grub_console_term.setcolor): Remove variable.
45393 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45394 (struct grub_console_term.setcolor): Remove variable.
45395 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45396 (struct grub_console_term.setcolor): Remove variable.
45397 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45398 (struct grub_console_term.setcolor): Remove variable.
45399
4931827f 454002007-12-25 Robert Millan <rmh@aybabtu.com>
45401
45402 * configure.ac: Search for possible unifont.hex locations, and
45403 define UNIFONT_HEX if found.
45404
45405 * Makefile.in (UNIFONT_HEX): Define variable.
45406 (DATA): Rename to ...
45407 (PKGLIB): ... this. Update all users.
45408 (PKGDATA): New variable.
45409 (pkgdata_IMAGES): Rename to ...
45410 (pkglib_IMAGES): ... this. Update all users.
45411 (pkgdata_MODULES): Rename to ...
45412 (pkglib_MODULES): ... this. Update all users.
45413 (pkgdata_PROGRAMS): Rename to ...
45414 (pkglib_PROGRAMS): ... this. Update all users.
45415 (pkgdata_DATA): Rename to ...
45416 (pkglib_DATA): ... this. Update all users.
45417 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45418 (unicode.pff, ascii.pff): New rules.
45419 (all-local): Add `$(PKGDATA)' dependency.
45420 (install-local): Process `$(PKGDATA)'.
45421
45422 * util/update-grub_lib.in (font_path): Search for *.pff files in
45423 a few more locations, including `${pkgdata}'.
45424
57e57e31 454252007-12-23 Robert Millan <rmh@aybabtu.com>
45426
45427 Patch from Bean <bean123ch@gmail.com>:
45428 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45429 `size'.
45430
4bc72aa9 454312007-12-21 Bean <bean123ch@gmail.com>
45432
45433 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45434 (ntfscomp_mod_SOURCES): New variable.
45435 (ntfscomp_mod_CFLAGS): Likewise.
45436 (ntfscomp_mod_LDFLAGS): Likewise.
45437
45438 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45439 (grub_probe_SOURCES): Likewise.
45440 (grub_emu_SOURCES): Likewise.
45441
45442 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45443 (grub_emu_SOURCES): Likewise.
45444
45445 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45446 (grub_emu_SOURCES): Likewise.
45447
45448 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45449 (grub_emu_SOURCES): Likewise.
45450
45451 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45452 (read_run_list): Renamed to grub_ntfs_read_run_list.
45453 (decomp_nextvcn): Moved to ntfscomp.c.
45454 (decomp_getch): Likewise.
45455 (decomp_get16): Likewise.
45456 (decomp_block): Likewise.
45457 (read_block): Likewise.
45458 (read_data): Partially moved to ntfscomp.c.
45459 (fixup): Change unsigned to grub_uint16_t.
45460 (read_mft): Change unsigned long to grub_uint32_t.
45461 (read_attr): Likewise.
45462 (read_data): Likewise.
45463 (read_run_data): Likewise.
45464 (read_run_list): Likewise.
45465 (read_mft): Likewise.
45466
45467 * fs/ntfscomp.c: New file.
45468
45469 * include/grub/ntfs.h: New file.
45470
af680a87 454712007-12-16 Robert Millan <rmh@aybabtu.com>
45472
45473 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
45474 IDE disk check, since Linux is known to support 20 IDE disks.
45475 Reported by Colin Watson.
45476
84be7599 454772007-12-15 Bean <bean123ch@gmail.com>
45478
45479 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
45480 (lnxboot_img_SOURCES): New variable.
45481 (lnxboot_img_ASFLAGS): Likewise.
45482 (lnxboot_img_LDFLAGS): Likewise.
45483
45484 * boot/i386/pc/lnxboot.S: New file.
45485
6af9db01 454862007-11-24 Pavel Roskin <proski@gnu.org>
45487
45488 * configure.ac: Test if '--build-id=none' is supported by the
45489 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45490 objcopy to generate incorrect binary files (binutils
45491 2.17.50.0.18-1 as shipped by Fedora 8).
45492 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45493 linking, so that build ID doesn't break the test.
45494
7361cfe6 454952007-11-24 Pavel Roskin <proski@gnu.org>
45496
45497 * include/grub/i386/time.h: use "void" in the argument list
45498 of grub_cpu_idle().
45499 * include/grub/powerpc/time.h: Likewise.
45500 * include/grub/sparc64/time.h: Likewise.
45501
1593e10c 455022007-11-18 Christian Franke <franke@computer.org>
45503
45504 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
45505 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
45506 This fixes the problem that function keys did not work in grub-emu.
45507
3b8db1a8 455082007-11-18 Christian Franke <franke@computer.org>
45509
45510 * disk/host.c (grub_host_open): Remove attribute unused from
45511 name parameter. Add check for "host". This fixes the problem
45512 that grub-emu does not find partitions.
45513
2e29408d 455142007-11-18 Christian Franke <franke@computer.org>
45515
45516 * util/hostfs.c (is_dir): New function.
45517 (grub_hostfs_dir): Handle missing dirent.d_type case.
45518 (grub_hostfs_read): Add missing fseek().
45519 (grub_hostfs_label): Clear label pointer. This fixes a crash
45520 of grub-emu on "ls (host)".
45521
398cd047 455222007-11-18 Christian Franke <franke@computer.org>
45523
45524 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45525 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45526 to 64 bit boundary by default.
45527
c405c391 455282007-11-18 Bean <bean123ch@gmail.com>
45529
45530 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45531 (hexdump_mod_SOURCES): New variable.
45532 (hexdump_mod_CFLAGS): Likewise.
45533 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 45534
c405c391 45535 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45536
45537 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45538
45539 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45540
45541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45542
45543 * include/grub/hexdump.h: New file.
45544
45545 * commands/hexdump.c: New file.
45546
5cced7fd 455472007-11-10 Robert Millan <rmh@aybabtu.com>
45548
45549 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45550 in grub_outb() calls.
45551 (beep_on): Likewise.
45552
8b714eb0 455532007-11-10 Christian Franke <franke@computer.org>
45554
45555 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45556 (grub_menu_run): Likewise.
45557
ce0f1839 455582007-11-10 Robert Millan <rmh@aybabtu.com>
45559
45560 * include/grub/i386/efi/machine.h: New file.
45561 * include/grub/i386/linuxbios/machine.h: Likewise.
45562 * include/grub/i386/pc/machine.h: Likewise.
45563 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45564 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45565
45566 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45567 (serial_hw_io_addr): New variable.
45568 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45569 instead of `(unsigned short *) 0x400'.
45570
270c237d 455712007-11-10 Bean <bean123ch@gmail.com>
45572
45573 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45574
a87783bf 455752007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45576
45577 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45578 (vga_mod_SOURCES): Added.
45579 (vga_mod_CFLAGS): Likewise.
45580 (vga_mod_LDFLAGS): Likewise.
45581
45582 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45583 grub_outb() calls.
45584 (set_map_mask): Likewise.
45585 (set_read_map): Likewise.
45586 (set_read_address): Likewise.
45587 (vga_font): Removed variable.
45588 (get_vga_glyph): Removed function.
45589 (invalidate_char): Likewise.
45590 (write_char): Changed to use grub_font_get_glyph() for font
45591 information.
45592 (grub_vga_putchar): Likewise.
45593 (grub_vga_getcharwidth): Likewise.
45594
6433b448 455952007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45596
45597 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45598 flags.
45599 (pxeboot_img_LDFLAGS): Likewise.
45600 (diskboot_img_LDFLAGS): Likewise.
45601 (kernel_img_LDFLAGS): Likewise.
45602
49178511 456032007-11-06 Robert Millan <rmh@aybabtu.com>
45604
45605 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45606 in grub_outb() calls.
45607 (serial_hw_init): Likewise.
45608
53b052de 456092007-11-05 Robert Millan <rmh@aybabtu.com>
45610
45611 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45612 spaces. Skip non-regular files.
45613
5ab33bba 456142007-11-05 Robert Millan <rmh@aybabtu.com>
45615
45616 * kern/disk.c (grub_disk_firmware_fini)
45617 (grub_disk_firmware_is_tainted): New variables.
45618
45619 * include/grub/disk.h (grub_disk_firmware_fini)
45620 (grub_disk_firmware_is_tainted): Likewise.
45621
45622 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45623 (grub_disk_biosdisk_fini): ... to here.
45624 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45625 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45626 is set. Register grub_disk_biosdisk_fini() in
45627 `grub_disk_firmware_fini'.
45628
45629 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45630 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45631 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45632 to finish existing firmware disk interface.
45633
45634 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45635 (ata_mod_SOURCES): New variable.
45636 (ata_mod_CFLAGS): Likewise.
45637 (ata_mod_LDFLAGS): Likewise.
45638
0149ab7c 456392007-11-05 Robert Millan <rmh@aybabtu.com>
45640
45641 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45642 (grub_ata_wait): Reimplement using grub_millisleep().
45643
45644 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45645 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45646
be7ac41e 456472007-11-03 Marco Gerards <marco@gnu.org>
45648
45649 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45650 (CRTC_ADDR_PORT): New macro.
45651 (CRTC_DATA_PORT): Likewise.
45652 (CRTC_CURSOR): Likewise.
45653 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45654 (CRTC_CURSOR_ADDR_LOW): Likewise.
45655 (update_cursor): New function.
45656 (grub_console_real_putchar): Call `update_cursor'.
45657 (grub_console_gotoxy): Likewise.
45658 (grub_console_cls): Set the default color when clearing the
45659 screen.
45660 (grub_console_setcursor): Implemented.
45661
bb06ab2e 456622007-11-03 Marco Gerards <marco@gnu.org>
45663
45664 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45665 become activate.
45666 (grub_ata_pio_write): Likewise.
45667
45668 (grub_atapi_identify): Wait after issuing an ATA command.
45669 (grub_atapi_packet): Likewise.
45670 (grub_ata_identify): Likewise.
45671 (grub_ata_readwrite): Likewise.
45672
cf8f780b 456732007-11-03 Marco Gerards <marco@gnu.org>
45674
45675 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45676 (grub_ata_pio_write): Likewise.
45677 (grub_ata_readwrite): Use `grub_error', instead of
45678 returning `grub_errno'.
45679
ed649e54 456802007-11-03 Marco Gerards <marco@gnu.org>
45681
45682 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45683 grub_ata_pio_write once for every single sector, instead of for
45684 multiple sectors.
45685
ca25d8f0 456862007-10-31 Robert Millan <rmh@aybabtu.com>
45687
45688 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45689
45690 * conf/i386-linuxbios.rmk: New file.
45691
45692 * kern/i386/pc/hardware.c: Likewise.
45693 * term/i386/pc/at_keyboard.c: Likewise.
45694 * term/i386/pc/vga_text.c: Likewise.
45695
45696 * include/grub/i386/linuxbios/boot.h: Likewise.
45697 * include/grub/i386/linuxbios/console.h: Likewise.
45698 * include/grub/i386/linuxbios/init.h: Likewise.
45699 * include/grub/i386/linuxbios/kernel.h: Likewise.
45700 * include/grub/i386/linuxbios/loader.h: Likewise.
45701 * include/grub/i386/linuxbios/memory.h: Likewise.
45702 * include/grub/i386/linuxbios/serial.h: Likewise.
45703 * include/grub/i386/linuxbios/time.h: Likewise.
45704
45705 * kern/i386/linuxbios/init.c: Likewise.
45706 * kern/i386/linuxbios/startup.S: Likewise.
45707 * kern/i386/linuxbios/table.c: Likewise.
45708
e911ecc1 457092007-10-31 Marco Gerards <marco@gnu.org>
45710
45711 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45712 (ata_mod_SOURCES): New variable.
45713 (ata_mod_CFLAGS): Likewise.
45714 (ata_mod_LDFLAGS): Likewise.
45715
45716 * disk/ata.c: New file.
45717
45718 * include/grub/disk.h (grub_disk_dev_id): Add
45719 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 45720
7f66d0e0 457212007-10-31 Robert Millan <rmh@aybabtu.com>
45722
45723 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45724 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45725
45726 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45727 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45728
45729 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45730 `<grub/types.h>'.
45731
45732 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45733
5cd7dd46 457342007-10-27 Robert Millan <rmh@aybabtu.com>
45735
3236ca65 45736 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 45737
2ebfc90f 457382007-10-22 Robert Millan <rmh@aybabtu.com>
45739
45740 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45741 `"../realmode.S"'.
45742 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45743
73fcb0f3 457442007-10-22 Robert Millan <rmh@aybabtu.com>
45745
45746 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45747 (pkgdata_MODULES): Add `biosdisk.mod'.
45748 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45749 variables.
45750
45751 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45752 (grub_biosdisk_init): Replace with ...
45753 (GRUB_MOD_INIT(biosdisk)): ... this.
45754 (grub_biosdisk_fini): Replace with ...
45755 (GRUB_MOD_FINI(biosdisk)): ... this.
45756
45757 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45758 (grub_machine_init): Remove call to grub_biosdisk_init().
45759 (grub_machine_fini): Remove call to grub_machine_fini().
45760
45761 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45762
3381d274 457632007-10-22 Robert Millan <rmh@aybabtu.com>
45764
45765 * include/grub/time.h: New file.
45766 * include/grub/i386/time.h: Likewise.
45767 * include/grub/powerpc/time.h: Likewise.
45768 * include/grub/sparc64/time.h: Likewise.
45769
45770 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45771 instances to ...
45772 (KERNEL_MACHINE_TIME_HEADER): ... this.
45773 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45774 instances to ...
45775 (KERNEL_MACHINE_TIME_HEADER): ... this.
45776 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45777 instances to ...
45778 (KERNEL_MACHINE_TIME_HEADER): ... this.
45779
45780 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45781 (grub_millisleep): New function.
45782 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45783 (grub_millisleep): New function.
45784 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45785 Remove `grub/machine/time.h' include.
45786 (grub_millisleep): New function.
45787 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45788 Remove `grub/machine/time.h' include.
45789 (grub_millisleep): New function.
45790
45791 * include/grub/misc.h (grub_div_roundup): New function.
45792
45793 * kern/misc.c: Include `<grub/time.h>'.
45794 (grub_millisleep_generic): New function.
45795
45796 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45797 Add `time.h'.
45798 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45799 Add `time.h'.
45800 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45801 `machine/time.h'. Add `time.h'.
45802 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45803
a39a0312 458042007-10-21 Robert Millan <rmh@aybabtu.com>
45805
45806 * include/grub/misc.h (grub_max): New function.
45807
2aad70e2 458082007-10-21 Robert Millan <rmh@aybabtu.com>
45809
45810 * util/misc.c (grub_util_info): Call fflush() before returning.
45811
54b71c4b 458122007-10-20 Robert Millan <rmh@aybabtu.com>
45813
45814 * genmk.rb (Image): Copy `extra_flags' from here ...
45815 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45816
45817 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45818 to `argc' and `args' arguments.
45819
a979f513 458202007-10-17 Robert Millan <rmh@aybabtu.com>
45821
45822 * kern/i386/loader.S: New file.
45823
45824 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45825 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45826 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45827 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45828 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45829 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45830 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45831 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45832 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45833 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45834 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45835 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45836 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45837 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45838
45839 * kern/i386/realmode.S: New file.
45840
45841 * kern/i386/pc/startup.S (protstack): Moved from here ...
45842 * kern/i386/realmode.S (protstack)... to here.
45843 * kern/i386/pc/startup.S (gdt): Moved from here ...
45844 * kern/i386/realmode.S (gdt)... to here.
45845 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45846 * kern/i386/realmode.S (prot_to_real)... to here.
45847
45848 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45849 `kern/i386/realmode.S'.
45850
825fc8fd 458512007-10-17 Robert Millan <rmh@aybabtu.com>
45852
45853 * include/grub/i386/loader.h: New file.
45854
45855 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45856 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45857 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45858 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45859 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45860 * include/grub/i386/loader.h (grub_linux_prot_size)
45861 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45862 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45863 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45864 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45865
45866 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45867
e179b2f4 458682007-10-15 Robert Millan <rmh@aybabtu.com>
45869
45870 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45871 filesystem when dev->disk is unset.
45872 Do probe for filesystem even when dev->disk->has_partitions is set.
45873 In case a filesystem is found, always report it.
45874 In case it isn't, if dev->disk->has_partitions is set, report that
45875 a partition table was found instead of reporting that no filesystem
45876 could be identified.
45877
5db82af6 458782007-10-12 Robert Millan <rmh@aybabtu.com>
45879
45880 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45881 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45882
68f6ac74 45883 * include/grub/types.h (grub_host_to_target16): New macro.
45884 (grub_host_to_target32): Likewise.
45885 (grub_host_to_target64): Likewise.
45886 (grub_target_to_host16): Likewise.
45887 (grub_target_to_host32): Likewise.
45888 (grub_target_to_host64): Likewise.
5db82af6 45889
45890 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45891 Renamed from to ...
45892 (GRUB_MOD_ALIGN): ...this. Update all users.
45893
68f6ac74 45894 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45895 grub_host_to_target32.
45896 Replace grub_be_to_cpu32 with grub_target_to_host32.
45897 (load_modules): Likewise.
45898 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45899 Replace grub_be_to_cpu32 with grub_target_to_host32.
45900 Replace grub_cpu_to_be16 with grub_host_to_target16.
45901 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45902
3cf497cc 459032007-10-12 Robert Millan <rmh@aybabtu.com>
45904
45905 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45906 * util/elf/grub-mkimage.c: ... here.
45907
45908 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45909 `util/powerpc/ieee1275/grub-mkimage.c'.
45910
c8cc3692 459112007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45912
c8cc3692 45913 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45914 and make it easier to figure out.
45915 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45916 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45917 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45918 leave us with less than HEAP_MIN_SIZE total heap.
45919 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45920
5c58b791 459212007-10-03 Robert Millan <rmh@aybabtu.com>
45922
45923 * include/grub/i386/io.h: New file.
45924 * commands/i386/pc/play.c (inb): Removed.
45925 (outb): Removed.
45926 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45927 with grub_outb().
afcd2ef8 45928 * term/i386/pc/serial.c (inb): Removed.
45929 (outb): Removed.
45930 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45931 with grub_outb().
45932 * term/i386/pc/vga.c (inb): Removed.
45933 (outb): Removed.
45934 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45935 with grub_outb().
5c58b791 45936
1a477ed6 459372007-10-02 Robert Millan <rmh@aybabtu.com>
45938
45939 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45941 Reported by Marcin Kurek.
45942
6b5d80fa 459432007-09-07 Robert Millan <rmh@aybabtu.com>
45944
45945 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45946 SmartFirmware version updates (as released by Sven Luther), and avoid
45947 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45948 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45949 known broken.
45950
5618afbf 459512007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45952
45953 From Hitoshi Ozeki:
45954 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45955 when merging two regions.
45956
6139dcd9 459572007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45958
508e39ee 45959 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45960 * normal/completion.c (grub_normal_do_completion): Likewise.
45961 Reported by Hitoshi Ozeki.
45962
459632007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45964
6139dcd9 45965 Do not use devices at boot in chainloading.
f19dbdb7 45966
6139dcd9 45967 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45968 (boot_part_addr): Likewise.
45969 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45970 with BOOT_DRIVE and BOOT_PART_ADDR.
45971 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45972 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45973
38da6516 459742007-08-29 Robert Millan <rmh@aybabtu.com>
45975
45976 Patch from Simon Peter <dn.tlp@gmx.net>:
45977 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45978 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45979 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45980 util/i386/pc/grub-setup.c_DEPENDENCIES.
45981 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45982 util/grub-probe.c_DEPENDENCIES.
45983 * conf/powerpc-ieee1275.rmk: Likewise.
45984
29d0928c 459852007-08-28 Robert Millan <rmh@aybabtu.com>
45986
45987 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45988 to tell grub-mkdevicemap how to name devices.
45989 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45990 feature).
45991
45992 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45993 util/i386/get_disk_name.c.
45994 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45995 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45996 util/ieee1275/get_disk_name.c.
45997
45998 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45999
46000 * DISTLIST: Add util/i386/get_disk_name.c and
46001 util/ieee1275/get_disk_name.c.
46002
46003 * util/grub-mkdevicemap.c: Replace device naming logic with
46004 grub_util_get_disk_name() calls.
46005
5a0d3cca 460062007-08-20 Robert Millan <rmh@aybabtu.com>
46007
46008 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
46009 (so that it works for both plural and singular quantities).
46010
8b72db2f 460112007-08-05 Robert Millan <rmh@aybabtu.com>
46012
46013 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
46014 so that [xz] isn't taken into account when determining order.
46015
352466bf 460162007-08-02 Marco Gerards <marco@gnu.org>
46017
46018 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
46019 `include/multiboot2.h', `include/grub/elfload.h',
46020 `include/multiboot.h', `include/grub/multiboot.h',
46021 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
46022 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
46023 `kern/elf.c', `loader/multiboot_loader.c',
46024 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
46025 `loader/i386/pc/multiboot2.c',
46026 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
46027 `util/i386/pc/grub-mkrescue.in'. Remove
46028 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
46029 `include/grub/i386/pc/util/biosdisk.h' and
46030 `include/grub/powerpc/ieee1275/multiboot.h'.
46031
8f096014 460322007-08-02 Bean <bean123ch@gmail.com>
46033
46034 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
46035 (ntfs_mod_SOURCES): New variable.
46036 (ntfs_mod_CFLAGS): Likewise.
46037 (ntfs_mod_LDFLAGS): Likewise.
46038
46039 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
46040 (grub_probe_SOURCES): Likewise.
46041 (grub_emu_SOURCES): Likewise.
46042
46043 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46044 (grub_emu_SOURCES): Likewise.
46045
46046 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46047 (grub_emu_SOURCES): Likewise.
f19dbdb7 46048
8f096014 46049 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
46050
46051 * fs/ntfs.c: New file.
46052
9959f7db 460532007-08-02 Bean <bean123ch@gmail.com>
46054
46055 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
46056
46057 * file.h (grub_file): Likewise.
46058
46059 * fshelp.h (grub_fshelp_read_file): Likewise.
46060
46061 * util/i386/pc/grub-setup.c (setup): Likewise.
46062 (save_first_sector): Likewise.
46063 (save_blocklists): Likewise.
f19dbdb7 46064
9959f7db 46065 * fs/affs.c (grub_affs_read_file): Likewise.
46066
46067 * fs/ext2.c (grub_ext2_read_file): Likewise.
46068
46069 * fs/fat.c (grub_fat_read_data): Likewise.
46070
46071 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
46072
46073 * fs/hfs.c (grub_hfs_read_file): Likewise.
46074
46075 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46076
46077 * fs/jfs.c (grub_jfs_read_file): Likewise.
46078
46079 * fs/minix.c (grub_minix_read_file): Likewise.
46080
46081 * fs/sfs.c (grub_sfs_read_file): Likewise.
46082
46083 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 46084
9959f7db 46085 * fs/xfs.c (grub_xfs_read_file): Likewise.
46086
46087 * command/blocklist.c (read_blocklist): Likewise.
46088 (print_blocklist): Likewise.
46089
0a203f83 460902007-08-02 Marco Gerards <marco@gnu.org>
46091
46092 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
46093 `util/hostfs.c'.
46094
46095 * disk/host.c: New file.
46096
46097 * util/hostfs.c: Likewise.
46098
46099 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
46100 return `GRUB_ERR_BAD_FS'.
46101 * fs/sfs.c (grub_sfs_mount): Likewise.
46102 * fs/xfs.c (grub_xfs_mount): Likewise.
46103
46104 * include/grub/disk.h (enum grub_disk_dev_id): Add
46105 `GRUB_DISK_DEVICE_HOST_ID'.
46106
46107 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
46108
e5dfe777 461092007-07-24 Jerone Young <jerone@gmail.com>
46110
f19dbdb7 46111 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 46112 modules for compilation.
46113 * conf/powerpc-ieee1275.rmk: Likewise.
46114
46115 * include/multiboot.h: Move multiboot definitions to one file. Rename
46116 many definitions to not get grub specific.
46117 * include/multiboot2.h: Create header with multiboot 2 definitions.
46118 * include/grub/multiboot.h: Header for grub specific function
46119 prototypes and definitions.
46120 * include/grub/multiboot2.h: Likewise.
46121 * include/grub/multiboot_loader.h: Likewise.
46122 * include/grub/i386/pc/multiboot.h: Removed.
46123 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
46124
46125 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
46126 and 2 to allow for one multiboot and module commands.
46127 * loader/multiboot2.c: Add multiboot2 functionality.
46128 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
46129 and definition names.
46130 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
46131 2 functions.
46132 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
46133 ieee1275 specific multiboot2 code.
46134
46135 * kern/i386/pc/startup.S: Change headers and definition names for
46136 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
46137
daf0f0ba 461382007-07-22 Robert Millan <rmh@aybabtu.com>
46139
46140 * geninitheader.sh: Process file specified in first parameter rather
46141 than hardcoding grub_modules_init.lst.
fe6b695a 46142 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 46143 than hardcoding grub_modules_init.h.
46144
46145 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
46146 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
46147 grub_probe_init.[ch] and grub_setup_init.[ch].
46148
46149 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
46150 grub_modules_init.h with grub_emu_init.h.
46151 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
46152 grub_probe_init.[ch] files.
46153 * conf/i386-efi.rmk: Likewise.
46154 * conf/i386-pc.rmk: Likewise.
46155 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
46156 grub_setup_init.[ch] files.
46157
46158 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
46159 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
46160 to initialize modules rather than a list of hardcoded functions.
46161 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
46162 grub_init_all() to initialize modules rather than a list of hardcoded
46163 functions.
46164
54cdc1cc 461652007-07-22 Robert Millan <rmh@aybabtu.com>
46166
46167 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
46168 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
46169
ad0686cc 461702007-07-22 Robert Millan <rmh@aybabtu.com>
46171
46172 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46173 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
46174 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
46175 flag when running on SmartFirmware.
46176 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
46177 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
46178 was set.
46179
46180 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46181 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
46182 rather than decreasing it.
46183
46184 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
46185 there's not enough space to do it, fail in the same way as when it
46186 can't be done because there are no partitions.
46187
46188 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
46189 when nvsetenv failed.
46190
969c02ec 461912007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46192
46193 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
46194 because this rule is automatically generated.
46195 (grub-mkrescue): Removed for the same reason as above.
46196
5a79f472 461972007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46198
46199 Migrate to GNU General Public License Version 3.
f19dbdb7 46200
5a79f472 46201 * COPYING: Replaced with the plain text version of GPLv3.
46202
46203 * config.guess: Updated from gnulib.
46204 * config.sub: Likewise.
46205
46206 * geninit.sh: Output a GPLv3 copyright notice.
46207 * geninitheader.sh: Likewise.
46208 * genmodsrc.sh: Likewise.
46209 * gensymlist.sh.in: Likewise.
46210
46211 * boot/i386/pc/boot.S: Upgraded to GPLv3.
46212 * boot/i386/pc/diskboot.S: Likewise.
46213 * boot/i386/pc/pxeboot.S: Likewise.
46214 * commands/blocklist.c: Likewise.
46215 * commands/boot.c: Likewise.
46216 * commands/cat.c: Likewise.
46217 * commands/cmp.c: Likewise.
46218 * commands/configfile.c: Likewise.
46219 * commands/echo.c: Likewise.
46220 * commands/help.c: Likewise.
46221 * commands/ls.c: Likewise.
46222 * commands/search.c: Likewise.
46223 * commands/terminal.c: Likewise.
46224 * commands/test.c: Likewise.
46225 * commands/videotest.c: Likewise.
46226 * commands/i386/cpuid.c: Likewise.
46227 * commands/i386/pc/halt.c: Likewise.
46228 * commands/i386/pc/play.c: Likewise.
46229 * commands/i386/pc/reboot.c: Likewise.
46230 * commands/i386/pc/vbeinfo.c: Likewise.
46231 * commands/i386/pc/vbetest.c: Likewise.
46232 * commands/ieee1275/halt.c: Likewise.
46233 * commands/ieee1275/reboot.c: Likewise.
46234 * commands/ieee1275/suspend.c: Likewise.
46235 * disk/loopback.c: Likewise.
46236 * disk/lvm.c: Likewise.
46237 * disk/raid.c: Likewise.
46238 * disk/efi/efidisk.c: Likewise.
46239 * disk/i386/pc/biosdisk.c: Likewise.
46240 * disk/ieee1275/ofdisk.c: Likewise.
46241 * font/manager.c: Likewise.
46242 * fs/affs.c: Likewise.
46243 * fs/ext2.c: Likewise.
46244 * fs/fat.c: Likewise.
46245 * fs/fshelp.c: Likewise.
46246 * fs/hfs.c: Likewise.
46247 * fs/hfsplus.c: Likewise.
46248 * fs/iso9660.c: Likewise.
46249 * fs/jfs.c: Likewise.
46250 * fs/minix.c: Likewise.
46251 * fs/sfs.c: Likewise.
46252 * fs/ufs.c: Likewise.
46253 * fs/xfs.c: Likewise.
46254 * hello/hello.c: Likewise.
46255 * include/grub/acorn_filecore.h: Likewise.
46256 * include/grub/arg.h: Likewise.
46257 * include/grub/bitmap.h: Likewise.
46258 * include/grub/boot.h: Likewise.
46259 * include/grub/cache.h: Likewise.
46260 * include/grub/device.h: Likewise.
46261 * include/grub/disk.h: Likewise.
46262 * include/grub/dl.h: Likewise.
46263 * include/grub/elfload.h: Likewise.
46264 * include/grub/env.h: Likewise.
46265 * include/grub/err.h: Likewise.
46266 * include/grub/file.h: Likewise.
46267 * include/grub/font.h: Likewise.
46268 * include/grub/fs.h: Likewise.
46269 * include/grub/fshelp.h: Likewise.
46270 * include/grub/gzio.h: Likewise.
46271 * include/grub/hfs.h: Likewise.
46272 * include/grub/kernel.h: Likewise.
46273 * include/grub/loader.h: Likewise.
46274 * include/grub/lvm.h: Likewise.
46275 * include/grub/misc.h: Likewise.
46276 * include/grub/mm.h: Likewise.
46277 * include/grub/net.h: Likewise.
46278 * include/grub/normal.h: Likewise.
46279 * include/grub/parser.h: Likewise.
46280 * include/grub/partition.h: Likewise.
46281 * include/grub/pc_partition.h: Likewise.
46282 * include/grub/raid.h: Likewise.
46283 * include/grub/rescue.h: Likewise.
46284 * include/grub/script.h: Likewise.
46285 * include/grub/setjmp.h: Likewise.
46286 * include/grub/symbol.h: Likewise.
46287 * include/grub/term.h: Likewise.
46288 * include/grub/terminfo.h: Likewise.
46289 * include/grub/tparm.h: Likewise.
46290 * include/grub/types.h: Likewise.
46291 * include/grub/video.h: Likewise.
46292 * include/grub/efi/api.h: Likewise.
46293 * include/grub/efi/chainloader.h: Likewise.
46294 * include/grub/efi/console.h: Likewise.
46295 * include/grub/efi/console_control.h: Likewise.
46296 * include/grub/efi/disk.h: Likewise.
46297 * include/grub/efi/efi.h: Likewise.
46298 * include/grub/efi/pe32.h: Likewise.
46299 * include/grub/efi/time.h: Likewise.
46300 * include/grub/i386/linux.h: Likewise.
46301 * include/grub/i386/setjmp.h: Likewise.
46302 * include/grub/i386/types.h: Likewise.
46303 * include/grub/i386/efi/kernel.h: Likewise.
46304 * include/grub/i386/efi/loader.h: Likewise.
46305 * include/grub/i386/efi/time.h: Likewise.
46306 * include/grub/i386/pc/biosdisk.h: Likewise.
46307 * include/grub/i386/pc/boot.h: Likewise.
46308 * include/grub/i386/pc/chainloader.h: Likewise.
46309 * include/grub/i386/pc/console.h: Likewise.
46310 * include/grub/i386/pc/init.h: Likewise.
46311 * include/grub/i386/pc/kernel.h: Likewise.
46312 * include/grub/i386/pc/loader.h: Likewise.
46313 * include/grub/i386/pc/memory.h: Likewise.
46314 * include/grub/i386/pc/multiboot.h: Likewise.
46315 * include/grub/i386/pc/serial.h: Likewise.
46316 * include/grub/i386/pc/time.h: Likewise.
46317 * include/grub/i386/pc/vbe.h: Likewise.
46318 * include/grub/i386/pc/vbeblit.h: Likewise.
46319 * include/grub/i386/pc/vbefill.h: Likewise.
46320 * include/grub/i386/pc/vbeutil.h: Likewise.
46321 * include/grub/i386/pc/vga.h: Likewise.
46322 * include/grub/ieee1275/ieee1275.h: Likewise.
46323 * include/grub/ieee1275/ofdisk.h: Likewise.
46324 * include/grub/powerpc/libgcc.h: Likewise.
46325 * include/grub/powerpc/setjmp.h: Likewise.
46326 * include/grub/powerpc/types.h: Likewise.
46327 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
46328 * include/grub/powerpc/ieee1275/console.h: Likewise.
46329 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
46330 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
46331 * include/grub/powerpc/ieee1275/loader.h: Likewise.
46332 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
46333 * include/grub/powerpc/ieee1275/time.h: Likewise.
46334 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
46335 * include/grub/sparc64/libgcc.h: Likewise.
46336 * include/grub/sparc64/setjmp.h: Likewise.
46337 * include/grub/sparc64/types.h: Likewise.
46338 * include/grub/sparc64/ieee1275/console.h: Likewise.
46339 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46340 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46341 * include/grub/sparc64/ieee1275/time.h: Likewise.
46342 * include/grub/util/biosdisk.h: Likewise.
46343 * include/grub/util/getroot.h: Likewise.
46344 * include/grub/util/lvm.h: Likewise.
46345 * include/grub/util/misc.h: Likewise.
46346 * include/grub/util/raid.h: Likewise.
46347 * include/grub/util/resolve.h: Likewise.
46348 * io/gzio.c: Likewise.
46349 * kern/device.c: Likewise.
46350 * kern/disk.c: Likewise.
46351 * kern/dl.c: Likewise.
46352 * kern/elf.c: Likewise.
46353 * kern/env.c: Likewise.
46354 * kern/err.c: Likewise.
46355 * kern/file.c: Likewise.
46356 * kern/fs.c: Likewise.
46357 * kern/loader.c: Likewise.
46358 * kern/main.c: Likewise.
46359 * kern/misc.c: Likewise.
46360 * kern/mm.c: Likewise.
46361 * kern/parser.c: Likewise.
46362 * kern/partition.c: Likewise.
46363 * kern/rescue.c: Likewise.
46364 * kern/term.c: Likewise.
46365 * kern/efi/efi.c: Likewise.
46366 * kern/efi/init.c: Likewise.
46367 * kern/efi/mm.c: Likewise.
46368 * kern/i386/dl.c: Likewise.
46369 * kern/i386/efi/init.c: Likewise.
46370 * kern/i386/efi/startup.S: Likewise.
46371 * kern/i386/pc/init.c: Likewise.
46372 * kern/i386/pc/lzo1x.S: Likewise.
46373 * kern/i386/pc/startup.S: Likewise.
46374 * kern/ieee1275/ieee1275.c: Likewise.
46375 * kern/powerpc/cache.S: Likewise.
46376 * kern/powerpc/dl.c: Likewise.
46377 * kern/powerpc/ieee1275/cmain.c: Likewise.
46378 * kern/powerpc/ieee1275/crt0.S: Likewise.
46379 * kern/powerpc/ieee1275/init.c: Likewise.
46380 * kern/powerpc/ieee1275/openfw.c: Likewise.
46381 * kern/sparc64/cache.S: Likewise.
46382 * kern/sparc64/dl.c: Likewise.
46383 * kern/sparc64/ieee1275/init.c: Likewise.
46384 * kern/sparc64/ieee1275/openfw.c: Likewise.
46385 * loader/efi/chainloader.c: Likewise.
46386 * loader/efi/chainloader_normal.c: Likewise.
46387 * loader/i386/efi/linux.c: Likewise.
46388 * loader/i386/efi/linux_normal.c: Likewise.
46389 * loader/i386/pc/chainloader.c: Likewise.
46390 * loader/i386/pc/chainloader_normal.c: Likewise.
46391 * loader/i386/pc/linux.c: Likewise.
46392 * loader/i386/pc/linux_normal.c: Likewise.
46393 * loader/i386/pc/multiboot.c: Likewise.
46394 * loader/i386/pc/multiboot_normal.c: Likewise.
46395 * loader/powerpc/ieee1275/linux.c: Likewise.
46396 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46397 * normal/arg.c: Likewise.
46398 * normal/cmdline.c: Likewise.
46399 * normal/command.c: Likewise.
46400 * normal/completion.c: Likewise.
46401 * normal/execute.c: Likewise.
46402 * normal/function.c: Likewise.
46403 * normal/lexer.c: Likewise.
46404 * normal/main.c: Likewise.
46405 * normal/menu.c: Likewise.
46406 * normal/menu_entry.c: Likewise.
46407 * normal/misc.c: Likewise.
46408 * normal/parser.y: Likewise.
46409 * normal/script.c: Likewise.
46410 * normal/i386/setjmp.S: Likewise.
46411 * normal/powerpc/setjmp.S: Likewise.
46412 * normal/sparc64/setjmp.S: Likewise.
46413 * partmap/acorn.c: Likewise.
46414 * partmap/amiga.c: Likewise.
46415 * partmap/apple.c: Likewise.
46416 * partmap/gpt.c: Likewise.
46417 * partmap/pc.c: Likewise.
46418 * partmap/sun.c: Likewise.
46419 * term/gfxterm.c: Likewise.
46420 * term/terminfo.c: Likewise.
46421 * term/efi/console.c: Likewise.
46422 * term/i386/pc/console.c: Likewise.
46423 * term/i386/pc/serial.c: Likewise.
46424 * term/i386/pc/vesafb.c: Likewise.
46425 * term/i386/pc/vga.c: Likewise.
46426 * term/ieee1275/ofconsole.c: Likewise.
46427 * util/biosdisk.c: Likewise.
46428 * util/console.c: Likewise.
46429 * util/genmoddep.c: Likewise.
46430 * util/getroot.c: Likewise.
46431 * util/grub-emu.c: Likewise.
46432 * util/grub-mkdevicemap.c: Likewise.
46433 * util/grub-probe.c: Likewise.
46434 * util/lvm.c: Likewise.
46435 * util/misc.c: Likewise.
46436 * util/raid.c: Likewise.
46437 * util/resolve.c: Likewise.
46438 * util/update-grub.in: Likewise.
46439 * util/update-grub_lib.in: Likewise.
46440 * util/grub.d/00_header.in: Likewise.
46441 * util/grub.d/10_hurd.in: Likewise.
46442 * util/grub.d/10_linux.in: Likewise.
46443 * util/i386/efi/grub-install.in: Likewise.
46444 * util/i386/efi/grub-mkimage.c: Likewise.
46445 * util/i386/pc/grub-install.in: Likewise.
46446 * util/i386/pc/grub-mkimage.c: Likewise.
46447 * util/i386/pc/grub-mkrescue.in: Likewise.
46448 * util/i386/pc/grub-setup.c: Likewise.
46449 * util/i386/pc/misc.c: Likewise.
46450 * util/powerpc/ieee1275/grub-install.in: Likewise.
46451 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46452 * util/powerpc/ieee1275/misc.c: Likewise.
46453 * video/bitmap.c: Likewise.
46454 * video/video.c: Likewise.
46455 * video/i386/pc/vbe.c: Likewise.
46456 * video/i386/pc/vbeblit.c: Likewise.
46457 * video/i386/pc/vbefill.c: Likewise.
46458 * video/i386/pc/vbeutil.c: Likewise.
46459 * video/readers/tga.c: Likewise.
46460
3572d015 464612007-07-02 Robert Millan <rmh@aybabtu.com>
46462
46463 * conf/i386-efi.rmk: Replace obsolete reference to
46464 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46465 with util/getroot.c.
46466 * conf/powerpc-ieee1275.rmk: Likewise.
46467 * conf/sparc64-ieee1275.rmk: Likewise.
46468
46469 * util/grub-emu.c (main): Fix unchecked pointer handling.
46470
2c2a681b 464712007-07-02 Robert Millan <rmh@aybabtu.com>
46472
46473 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
46474 invocation to fail, in order to support partition-less media.
46475
46476 * util/i386/pc/grub-install.in: Likewise.
46477
46478 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
46479 which fs or partmap modules are needed (akin to its sister scripts).
46480
46481 Also use grub-probe to get rid of unportable /proc/mounts check.
46482
46483 Print the same informational message that the other scripts do, before
fe6b695a 46484 exiting.
2c2a681b 46485
6193defe 464862007-06-23 Robert Millan <rmh@aybabtu.com>
46487
fe6b695a 46488 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 46489 a font file can be found and, if so, echo the GRUB path to it.
46490
46491 * util/update-grub.in: Handle multiple terminals depending on user
46492 input, platform availability and font file presence. Propagate
46493 variables of our findings to /etc/grub.d/ children.
46494
46495 * util/grub.d/00_header.in: Handle multiple terminals, based on
46496 environment setup by update-grub.
46497
eface1dc 464982007-06-23 Robert Millan <rmh@aybabtu.com>
46499
ba50d28f 46500 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 46501
bf697e28 465022007-06-21 Robert Millan <rmh@aybabtu.com>
46503
46504 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
46505 indicate end of data section in kernel image.
46506 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
46507 GRUB_KERNEL_MACHINE_DATA_END.
46508
46509 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
46510 space for it.
46511 * kern/i386/efi/startup.S: Likewise.
46512
46513 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
46514 during image generation. Implement --prefix option to override this
46515 patch.
46516 * util/i386/efi/grub-mkimage.c: Likewise.
46517
46518 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46519 code to make path relative to its root into a separate function.
46520
46521 * util/i386/pc/grub-install.in: Use newly provided
46522 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46523 pass the result to grub-install --prefix.
46524
baa574b4 465252007-06-13 Robert Millan <rmh@aybabtu.com>
46526
46527 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46528 DEFAULT_DEVICE_MAP.
46529 * util/grub-emu.c: Use above definitions from misc.h instead of
46530 defining them.
46531 * util/grub-mkdevicemap.c: Likewise.
46532 * util/i386/pc/grub-setup.c: Likewise.
46533 * util/grub-probe.c: Likewise.
46534 (probe): Abort with grub_util_error() when either
46535 grub_guess_root_device or grub_util_get_grub_dev fails.
46536
0215dcbf 465372007-06-12 Robert Millan <rmh@aybabtu.com>
46538
46539 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46540 "pager" assignment.
46541 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46542 "pcdata".
46543 * util/grub-probe.c (probe): Likewise for "drive_name".
46544
8af2ab7b 465452007-06-11 Robert Millan <rmh@aybabtu.com>
46546
46547 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46548 not just the cdrom one.
46549
59d31694 465502007-06-11 Robert Millan <rmh@aybabtu.com>
46551
46552 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46553 Add --pkglibdir=DIR option to override pkglibdir.
46554 Mention --image-type=TYPE in help output.
46555 Fix --grub-mkimage (it was a no-op).
fe6b695a 46556 Abort gracefully when no parameter is given.
59d31694 46557
7ee367e4 465582007-06-11 Robert Millan <rmh@aybabtu.com>
46559
46560 * util/i386/pc/grub-mkrescue.in: New file.
46561 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
46562 * Makefile.in: Handle bin_SCRIPTS.
46563
29b0ed46 465642007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46565
46566 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46567 list of video modes.
46568
c0f90770 465692007-06-06 Robert Millan <rmh@aybabtu.com>
46570
46571 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46572 file doesn't exist, or if it is in a filesystem grub can't read.
46573
46574 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46575 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46576 header comment to fit in 80 columns when the variables are resolved.
46577
46578 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46579 could be identified by update-grub. Remove redundant check for
fe6b695a 46580 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 46581 handles that).
46582
fb36dc26 465832007-06-04 Robert Millan <rmh@aybabtu.com>
46584
46585 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46586
46587 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46588
46589 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46590
0c68c93e 465912007-06-04 Robert Millan <rmh@aybabtu.com>
46592
46593 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46594
46595 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46596 grub_apple_partition_map_fini.
46597
46598 * util/biosdisk.c
46599 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46600 to access >2 TiB disks).
46601
46602 Print disk->total_sectors with %llu instead of %lu, since this
46603 variable is always 64-bit (prevents wrong disk size from being displayed
46604 on either >2 TiB disk or big-endian CPU).
46605
46606 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46607 into a generic case that supports all (sane) partition maps.
46608
46609 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46610 breaks big-endian.
46611
46612 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46613 and grub_apple_partition_map_fini() after that.
46614
0f23eb74 466152007-06-01 Robert Millan <rmh@aybabtu.com>
46616
46617 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46618
46619 * util/grub.d/00_header.in: Only enable gfxterm when
46620 convert_system_path_to_grub_path() succeeds.
46621
42c71976 466222007-05-20 Robert Millan <rmh@aybabtu.com>
46623
46624 * util/update-grub_lib.in: New file.
46625 * DISTLIST: Add update-grub_lib.in.
46626 * conf/common.rmk: Generate update-grub_lib and install it in
46627 $(lib_DATA).
46628 * Makefile.in: Add install routine for $(lib_DATA).
46629
46630 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46631 function provided by update-grub_lib to support arbitrary paths of
46632 unifont.pff.
46633 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46634 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46635
5beb2291 466362007-05-19 Robert Millan <rmh@aybabtu.com>
46637
46638 * commands/i386/cpuid.c: New module.
46639 * DISTLIST: Add it.
46640 * conf/i386-efi.rmk: Enable cpuid.mod.
46641 * conf/i386-pc.rmk: Likewise.
46642
7262eca1 466432007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46644
46645 * kern/disk.c (grub_disk_read): Check return value of
46646 grub_realloc().
46647
260ba823 466482007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46649
46650 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46651 arrays.
46652 * disk/raid.c (grub_raid_open): Likewise.
46653
1ecb6cf2 466542007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46655
46656 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46657 stack instead of on the heap.
46658
46659 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46660 before doing a read on it.
46661
46662 * configure.ac: Only use -fno-stack-protector for the target
46663 environment.
f19dbdb7 46664
21c8cbb1 466652007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46666
46667 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46668 __attribute_ ((unused)) to mode_type argument.
46669
46670 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 46671
21c8cbb1 46672 * kern/misc.c (memcmp): Fix prototype.
46673
46674 * include/grub/partition.h [GRUB_UTIL]
46675 (grub_gpt_partition_map_init): Add prototype.
46676 (grub_gpt_partition_map_fini): Likewise.
46677
46678 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46679 at the right place.
46680
46681 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46682 (grub_fat_read_data): Likewise.
46683 (grub_fat_find_dir): Likewise.
46684
46685 * font/manager.c (find_glyph): Make table a const.
46686 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 46687
849d55d3 466882007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46689
46690 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46691 code, first search for device in /dev/mapper, then in /dev.
46692 (grub_util_get_grub_dev): New function.
46693 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46694 prototype.
46695 * util/grub-probe.c (probe): Remove check for RAID, call
46696 grub_util_get_grub_dev() instead of
46697 grub_util_biosdisk_get_grub_dev().
46698 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46699 grub_util_biosdisk_get_grub_dev().
46700 * util/i386/pc/grub-setup.c (main): Likewise.
46701
8fff7c2f 467022007-05-16 Robert Millan <rmh@aybabtu.com>
46703
46704 * DISTLIST: Update for the latest changes.
46705 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46706 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46707 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46708 grub/util/biosdisk.h.
46709 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46710 grub/util/biosdisk.h.
46711
48e12b52 467122007-05-16 Robert Millan <rmh@aybabtu.com>
46713
46714 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46715
46b9d128 467162007-05-16 Robert Millan <rmh@aybabtu.com>
46717
46718 * util/i386/efi/grub-install.in: New.
46719 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46720 newly added grub-install.
46721 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46722 include.
46723 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46724 grub/util/biosdisk.h.
46725 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46726 grub/util/biosdisk.h.
46727
2d1a40a9 467282007-05-16 Robert Millan <rmh@aybabtu.com>
46729
46730 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46731 * include/grub/util/biosdisk.h: ... here.
46732 * util/i386/pc/biosdisk.c: Moved to ...
46733 * util/biosdisk.c: ... here.
46734 * util/i386/pc/getroot.c: Moved to ...
46735 * util/getroot.c: ... here.
46736 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46737 * util/grub-mkdevicemap.c: ... here.
46738 * util/i386/pc/grub-probe.c: Moved to ...
46739 * util/grub-probe.c: ... here.
46740
9e26e3bc 467412007-05-15 Robert Millan <rmh@aybabtu.com>
46742
46743 * util/update-grub.in: Remove duplicated line in grub.cfg header
46744 message.
46745
57f96397 467462007-05-13 Robert Millan <rmh@aybabtu.com>
46747
46748 * util/update-grub.in: Fix a few assumptions about the devices holding
46749 /, /boot and /boot/grub being the same.
46750 * util/grub.d/00_header.in: Likewise.
46751 * util/grub.d/10_hurd.in: Likewise.
46752 * util/grub.d/10_linux.in: Likewise.
46753
46754 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46755 patterns. Use that to define the `.old' suffix as older than `'.
46756
46757 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46758
46759 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46760 the grub.cfg header message.
46761
2e610d62 467622007-05-11 Robert Millan <rmh@aybabtu.com>
46763
46764 * util/update-grub.in: Create device.map if it doesn't already exist,
46765 before attempting to run grub-probe.
46766 Check for grub-probe and grub-mkdevicemap with the same code
46767 grub-install is using.
46768 Remove test mode.
46769
3f6a10ef 467702007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46771
46772 * Makefile.in: Add the datarootdir autoconf variable.
46773
02e7b75e 467742007-05-09 Robert Millan <rmh@aybabtu.com>
46775
46776 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 46777 fail gracefully if dev->disk->partition == NULL.
02e7b75e 46778
75f396cc 467792007-05-07 Robert Millan <rmh@aybabtu.com>
46780
46781 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46782 determine partition map module.
46783 * util/i386/pc/grub-install.in: Use this feature to decide which
46784 partition module to load, instead of hardcoding pc and gpt.
46785
da65cb36 467862007-05-07 Robert Millan <rmh@aybabtu.com>
46787
46788 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46789 source directory differs from build directory.
46790
b57d6a91 467912007-05-05 Robert Millan <rmh@aybabtu.com>
46792
46793 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46794 initialisation.
46795
509d00f1 467962007-05-05 Robert Millan <rmh@aybabtu.com>
46797
46798 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46799
c48f23ef 468002007-05-05 Robert Millan <rmh@aybabtu.com>
46801
46802 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46803 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46804
20b97658 468052007-05-05 Robert Millan <rmh@aybabtu.com>
46806
46807 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46808 (grub_probe_SOURCES): Likewise.
46809 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46810 GPT and initialize dos_part and bsd_part accordingly.
46811 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46812 install_bsd_part.
46813 (main): Activate gpt module for use during partition identification,
46814 and deactivate it afterwards.
46815 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46816 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46817 partition identification, and deactivate it afterwards.
46818
99123174 468192007-05-05 Robert Millan <rmh@aybabtu.com>
46820
46821 * term/i386/pc/console.c (grub_console_fini): Call
46822 grub_term_set_current() before grub_term_unregister().
46823
ebd97f6e 468242007-05-04 Robert Millan <rmh@aybabtu.com>
46825
46826 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46827 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46828 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46829 and update-grub_DATA.
46830 * conf/common.rmk: Build and install update-grub components.
46831 * conf/common.mk: Regenerate.
46832 * util/update-grub.in: New. Core of update-grub.
46833 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46834 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46835 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46836 * util/grub.d/README: New. Document grub.d directory layout.
46837
b06a264d 468382007-05-01 Robert Millan <rmh@aybabtu.com>
46839
46840 * util/grub-emu.c: Move initialization functions
46841 grub_util_biosdisk_init() and grub_init_all() before
46842 grub_util_biosdisk_get_grub_dev(), which relies on them.
46843
41f0050e 468442007-04-19 Robert Millan <rmh@aybabtu.com>
46845
46846 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46847 it is used later.
46848
04582bb3 468492007-04-18 Jerone Young <jerone@gmail.com>
46850
f19dbdb7 46851 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46852 stanza.
46853
08db4632 468542007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46855
08db4632 46856 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46857 continue on and look for device node with real device name.
46858
801b76be 468592007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46860
fe6b695a 46861 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46862 ability.
46863 * Makefile.in: Add autoconf package transformation code.
46864 * util/i386/pc/grub-install.in: Likewise.
46865 * util/powerpc/ieee1275/grub-install.in: Likewise.
46866
6795c4e1 468672007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46868
46869 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46870 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46871 (EXT2_REVISION): Likewise.
46872 (EXT2_INODE_SIZE): Likewise.
46873 (struct grub_ext2_block_group): Added a missing member
46874 "used_dirs".
46875 (grub_ext2_read_inode): Divide by the inode size in a superblock
46876 instead of 128 to obtain INODES_PER_BLOCK.
46877 Use the macro EXT2_INODE_SIZE instead of directly using
46878 SBLOCK->INODE_SIZE.
46879
d70af616 468802007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46881
46882 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46883 superblock instead of the structure size to compute an
46884 offset. This fixes the problem that GRUB could not read a
46885 filesystem when inode size is different from 128-byte.
46886
3b801603 468872007-03-05 Marco Gerards <marco@gnu.org>
46888
46889 * normal/main.c (read_config_file): When "menu" is not set, create
46890 an initial context.
46891
4785bfe4 468922007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46893
46894 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46895 (HEAP_LIMIT): New macro.
46896 (grub_claim_heap): Claim memory up to `heaplimit'.
46897
a0cbb023 468982007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46899
46900 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46901 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46902 (_start): Likewise.
46903 (grub_arch_modules_addr): Return address after `_end'.
46904 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46905 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46906 (add_segments): Calculate `_end' from phdr size and location.
46907 (ALIGN_UP): Moved to ...
46908 * include/grub/misc.h: here.
46909 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46910 New macro.
46911 (GRUB_IEEE1275_MODULE_BASE): Removed.
46912
fd7d8eba 469132007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46914
46915 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46916 loop boundary.
46917
9b09e6fc 469182007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46919
46920 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46921 All users updated.
46922 (grub_elf64_load_hook_t): Likewise.
46923 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46924 debug output.
46925
3ce27299 469262007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46927
46928 * kern/mm.c: Update copyright.
46929 (grub_mm_debug): Correct syntax error.
46930 (grub_mm_dump_free): New function.
46931 (grub_debug_free): Call `grub_free'.
46932 * include/grub/mm.h: Update copyright.
46933 (grub_mm_dump_free): Add declaration.
46934
077d5fee 469352007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46936
46937 * include/grub/ieee1275/ieee1275.h: Update copyright.
46938 * kern/powerpc/ieee1275/init.c: Likewise.
46939 * kern/powerpc/ieee1275/openfw.c: Likewise.
46940
46941 * loader/powerpc/ieee1275/linux.c: Likewise.
46942 * include/grub/elfload.h: Likewise.
46943 * kern/elf.c: Likewise.
46944 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46945 callers.
46946 (grub_elf64_load): Likewise.
46947 (grub_elf32_load_segment): Move to a nested function.
46948 (grub_elf64_load_segment): Likewise.
46949
dc946850 469502007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46951
46952 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46953 prototype.
46954 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46955 (grub_heap_len): Likewise.
46956 (HEAP_SIZE): New macro.
46957 (grub_claim_heap): New function.
46958 (grub_machine_init): Don't claim heap directly. Call
46959 `grub_claim_heap'.
46960 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46961 (grub_available_iterate): New function.
46962
baa2a121 469632007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46964
46965 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46966 * configure.ac: Use it for testing the HOST and TARGET compilers.
46967
4fe9862e 469682006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46969
46970 * Makefile.in (enable_grub_emu): New variable.
46971 * configure.ac (--enable-grub-emu): New option.
46972 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46973 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46974 * conf/i386-pc.rmk: Likewise.
46975 * conf/powerpc-ieee1275.rmk: Likewise.
46976 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46977
a8aa5762 469782006-12-12 Marco Gerards <marco@gnu.org>
46979
46980 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46981
46982 * kern/env.c (grub_env_unset): Don't free the member `value' when
46983 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46984 pointer.
46985
46986 * normal/main.c (current_menu): Removed.
46987 (free_menu): Unset the `menu' environment variable.
46988 (grub_normal_menu_addentry): Make use of the environment variable
46989 `menu', instead of using the global `current_menu'. Allocate
46990 memory for the sourcecode of this entry.
46991 (read_config_file): New argument `nested', changed all callers.
46992 Only in the case of a new context, initialize a new menu. Set the
46993 `menu' environment variable.
46994 (grub_normal_execute): Don't set and unset the environment
46995 variable `menu' here anymore. Only free the menu when leaving the
46996 context.
46997
46998 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46999 leak.
47000
957b3a3e 470012006-12-11 Marco Gerards <marco@gnu.org>
47002
47003 * normal/menu_entry.c (run): Fix off by one bug so the last line
47004 is executed. Move the loader check to outside the loop.
47005
ef875714 470062006-12-08 Hollis Blanchard <hollis@penguinppc.org>
47007
47008 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
47009
4e739985 470102006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
47011
47012 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
47013 the number of sectors. Reported by Andrey Shuvikov
47014 <mr_hyro@yahoo.com>.
f19dbdb7 47015
790707f2 470162006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
47017
47018 * kern/disk.c (grub_disk_read): When there is a read error, always
47019 try to read only the necessary data.
f19dbdb7 47020
790707f2 47021 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
47022 disk/raid.c.
47023 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
47024 prototype.
47025 [GRUB_UTIL] (grub_raid_fini): Likewise.
47026 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 47027 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 47028 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
47029 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
47030 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
47031 and grub_raid_fini().
f19dbdb7 47032
03e58196 470332006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47034
47035 * include/grub/types.h (__unused): Rename to UNUSED.
47036 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
47037 (grub_elf64_size): Likewise.
f19dbdb7 47038
ae4f23bf 470392006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47040
47041 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
47042 grub_error_push and grub_error_pop in the error-handling path.
47043 (grub_elf32_load_segment): Only call grub_file_read with non-zero
47044 length.
47045
2166cc83 470462006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47047
47048 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
47049 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47051 (kernel_elf_SOURCES): Likewise.
47052 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
47053 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
47054 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47055 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47056 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
47057 (elf_mod_SOURCES): New variable.
47058 (elf_mod_CFLAGS): Likewise.
47059 (elf_mod_LDFLAGS): Likewise.
47060 * include/grub/types.h (__unused): New macro.
47061 * include/grub/elfload.h: New file.
47062 * kern/elf.c: Likewise.
47063 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
47064 (ELF32_LOADMASK): New macro.
47065 (ELF64_LOADMASK): Likewise.
47066 (vmlinux): Removed.
47067 (grub_linux_load32): New function.
47068 (grub_linux_load64): Likewise.
47069 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
47070 Use grub_elf_t instead of grub_file_t.
47071
a09d5aa5 470722006-11-02 Hollis Blanchard <hollis@penguinppc.org>
47073
47074 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
47075 `catch_result' to struct set_color_args.
47076
d976fc51 470772006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47078
47079 * normal/menu.c: Include grub/script.h.
47080 * normal/menu_entry.c: Likewise.
47081 * include/grub/normal.h: Do not include grub/script.h.
47082
67507549 470832006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47084
47085 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
47086
69203a99 470872006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47088
47089 * kern/disk.c (grub_disk_open): Print debug messages when opening a
47090 disk.
47091 (grub_disk_close): Print debug messages when closing a disk.
47092 (grub_disk_read): Print debug messages when disk read fails.
47093 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
47094 filesystem type.
47095 * kern/partition.c: Include misc.h.
47096 (grub_partition_iterate): Print debug messages when detecting
47097 partition type.
47098
e2b8278c 470992006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47100
47101 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
47102 is negative.
47103 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
47104
97b2f2ff 471052006-10-26 Hollis Blanchard <hollis@penguinppc.org>
47106
47107 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47108 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
47109
6555d655 471102006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
47111
47112 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
47113 instead of sizeof(lv). Patch by Michael Guntsche.
47114
4d42b77f 471152006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
47116
47117 * disk/lvm.c: Rename VGS to VG_LIST.
47118 (grub_lvm_iterate): Change VGS->LV to VG-LV.
47119 (grub_lvm_open): Likewise.
47120 Thanks to Michael Guntsche for finding this bug.
47121
5d74d927 471222006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47123
47124 * configure.ac (AC_INIT): Bumped to 1.95.
47125
a1bb27e4 471262006-10-14 Robert Millan <rmh@aybabtu.com>
47127
47128 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
47129 with "/dev/.static/dev/md".
47130
e0994b8b 471312006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47132
47133 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
47134 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
47135 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
47136 DRIVE_NAME are always freed.
47137
47138 * util/i386/pc/biosdisk.c (make_device_name): Add one into
47139 DOS_PART, as a DOS partition is counted from one instead of zero
47140 now. Reported by Robert Millan.
47141
ddd5cee9 471422006-10-14 Robert Millan <rmh@aybabtu.com>
47143
47144 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
47145 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
47146 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
47147 string returned by grub_guess_root_device.
47148 * util/i386/pc/grub-setup.c: Likewise.
47149 * util/i386/pc/grub-probefs.c: Likewise.
47150
47151 * util/i386/pc/grub-probefs.c: Rename to ...
47152 * util/i386/pc/grub-probe.c: ... this.
47153 * DISTLIST: Remove grub-probefs, add grub-probe.
47154 * conf/i386-efi.rmk: Likewise.
47155 * conf/i386-pc.rmk: Likewise.
47156 * util/i386/pc/grub-install.in: Likewise.
47157
47158 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
47159 choose which information we want to print.
47160
2b002173 471612006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47162
47163 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
47164 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
47165 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
47166 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
47167 video/readers/tga.c and video/i386/pc/vbeutil.c.
47168
471692006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
47170
47171 Added support for RAID and LVM.
f19dbdb7 47172
2b002173 47173 * disk/lvm.c: New file.
47174 * disk/raid.c: Likewise.
47175 * include/grub/lvm.h: Likewise.
f19dbdb7 47176 * include/grub/raid.h: Likewise.
2b002173 47177 * include/grub/util/lvm.h: Likewise.
47178 * include/grub/util/raid.h: Likewise.
47179 * util/lvm.c: Likewise.
47180 * util/raid.c: Likewise.
47181
47182 * include/grub/disk.h (grub_disk_dev_id): Add
47183 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
47184 (grub_disk_get_size): New prototype.
47185 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
47186 returns a partition.
47187 (grub_disk_get_size): New function.
f19dbdb7 47188
2b002173 47189 * kern/i386/pc/init.c (make_install_device): Copy the prefix
47190 verbatim if grub_install_dos_part is -2.
47191
47192 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
47193 and LVM devices.
47194
47195 * util/i386/pc/grub-setup.c (setup): New argument
47196 MUST_EMBED. Force embedding of GRUB when the argument is
47197 true. Close FILE before returning.
47198 (main): Add support for RAID and LVM.
f19dbdb7 47199
2b002173 47200 * conf/common.rmk: Add RAID and LVM modules.
47201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
47202 util/lvm.c.
47203 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
47204
47205 * kern/misc.c (grub_strstr): New function.
47206 * include/grub/misc.h (grub_strstr): New prototype.
47207
050548d0 472082006-10-10 Tristan Gingold <tristan.gingold@bull.net>
47209
47210 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
47211
da849d2d 472122006-10-05 Tristan Gingold <tristan.gingold@bull.net>
47213
47214 * kern/misc.c (grub_strtoull): Guess the base only if not
47215 specified.
47216
97b2f2ff 472172006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 47218
47219 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
47220 PowerMac support.
47221
97b2f2ff 472222006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 47223
47224 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
47225
47226 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
47227 Remove `flags' argument. All callers changed.
47228 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
47229 (IEEE1275_IHANDLE_INVALID): New variable.
47230 (IEEE1275_CELL_INVALID): New variable.
47231 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
47232 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
47233 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
47234 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
47235 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
47236 codes from Open Firmware. All callers updated.
47237 (grub_ieee1275_next_property): Directly return Open Firmware return
47238 code.
47239 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
47240 Standardize error checking from `grub_ieee1275_get_property'.
47241 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
47242 `devalias' to `aliases'. Correct comments. Consolidate error paths.
47243
97b2f2ff 472442006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 47245
47246 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
47247 `instance_to_package_args' to `instance_to_path_args'.
47248
47249 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
47250 `grub_ieee1275_chosen'.
47251
47252 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
47253 `grub_ieee1275_interpret'.
47254
97b2f2ff 472552006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 47256
47257 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
47258
97b2f2ff 472592006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 47260
47261 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
47262 (__cmpdi): Likewise.
47263
47264 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
47265 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
47266 `grub_ssize_t'.
47267
02bb8acc 47268 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 47269
47270 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
47271 to type `grub_ssize_t'.
47272 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
47273
7f9a8531 472742006-09-22 Marco Gerards <marco@gnu.org>
47275
47276 * normal/script.c (grub_script_create_cmdmenu): Skip leading
47277 newlines.
47278
b5ef1102 472792006-09-22 Marco Gerards <marco@gnu.org>
47280
47281 * commands/echo.c: New file.
47282
47283 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
47284
47285 * conf/common.rmk (echo_mod_SOURCES): New variable.
47286 (echo_mod_CFLAGS): Likewise.
47287 (echo_mod_LDFLAGS): Likewise.
47288
2cff3677 472892006-09-22 Marco Gerards <marco@gnu.org>
47290
47291 * normal/main.c (get_line): Malloc memory instead of using
47292 preallocated memory. Removed the arguments `cmdline' and
47293 `max_len'. Updated all callers.
47294
6ba4688b 472952006-09-22 Marco Gerards <marco@gnu.org>
47296
47297 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
47298 (normal_mod_DEPENDENCIES): Likewise.
47299
47300 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
47301 (normal_mod_DEPENDENCIES): Likewise.
47302
47303 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
47304
e02ac02c 473052006-09-22 Johan Rydberg <jrydberg@gnu.org>
47306
47307 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
47308 programs.
47309 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
47310 (normal_mod_DEPENDENCIES): Likewise.
47311 * conf/i386-pc.mk: Regenerate.
47312 * conf/i386-efi.mk: Likewise
47313 * conf/common.mk: Likewise.
47314 * conf/powerpc-ieee1275.mk: Likewise.
47315 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47316
8d252e44 473172006-09-22 Robert Millan <rmh@aybabtu.com>
47318
47319 Sync with i386 version.
47320 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
47321 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
47322
209bf7ac 473232006-09-21 Robert Millan <rmh@aybabtu.com>
47324
47325 Import from GRUB Legacy (lib/device.c):
47326 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
47327 (init_device_map) [__linux__]: Add support for I2O devices.
47328
6b146090 473292006-09-14 Marco Gerards <marco@gnu.org>
47330
47331 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
47332 `-melf_i386'.
47333
e38600a8 473342006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 47335
47336 * util/i386/pc/grub-install.in: Skip menu.lst when removing
47337 /boot/grub/*.lst.
78fa1790 47338
2952da5d 47339 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 47340
2952da5d 47341 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
47342 before adding it to device.map.
47343
01b82a64 473442006-08-15 Johan Rydberg <jrydberg@gnu.org>
47345
fe6b695a 47346 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 47347 compiles a file; using the -MD option.
47348 * conf/common.mk: Regenerate.
47349 * conf/i386-pc.mk: Likewise.
47350 * conf/i386-efi.mk: Likewise.
47351 * conf/powerpc-ieee1275.mk: Likewise.
47352 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47353
1064790d 473542006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47355
47356 Move the prototypes of grub_setjmp and grub_longjmp to
47357 cpu/setjmp.h, so that each architecture may specify different
47358 attributes.
f19dbdb7 47359
1064790d 47360 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47361 (grub_longjmp): Likewise.
47362 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47363 (grub_longjmp): Likewise.
47364 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47365 (grub_longjmp): Likewise.
47366
47367 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47368 [!GRUB_UTIL] (grub_longjmp): Removed.
47369
29dda3ed 473702006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47371
47372 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47373 "color!" method does not return any value.
47374
ad2a06ed 473752006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47376
47377 * include/grub/bitmap.h: New file.
47378
47379 * include/grub/i386/pc/vbeutil.h: Likewise.
47380
47381 * video/bitmap.c: Likewise.
47382
47383 * video/readers/tga.c: Likewise.
47384
47385 * video/i386/pc/vbeutil.c: Likewise.
47386
47387 * commands/videotest.c: Code cleanup and updated to reflect to new
47388 video API.
47389
47390 * term/gfxterm.c: Likewise.
47391
47392 * video/video.c: Likewise.
47393
47394 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47395 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47396 (bitmap_mod_SOURCES): New entry.
47397 (bitmap_mod_CFLAGS): Likewise.
47398 (bitmap_mod_LDFLAGS): Likewise.
47399 (tga_mod_SOURCES): Likewise.
47400 (tga_mod_CFLAGS): Likewise.
47401 (tga_mod_LDFLAGS): Likewise.
47402
47403 * include/grub/video.h (grub_video_blit_operators): New enum type.
47404 (grub_video_render_target): Changed as forward declaration and moved
47405 actual definition to be video driver specific.
47406 (grub_video_adapter.blit_bitmap): Added blitting operator.
47407 (grub_video_adapter.blit_render_target): Likewise.
47408 (grub_video_blit_bitmap): Likewise.
47409 (grub_video_blit_render_target): Likewise.
47410
47411 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47412 driver specific render target definition.
47413 (grub_video_vbe_map_rgba): Added driver internal helper.
47414 (grub_video_vbe_unmap_color): Updated to use
47415 grub_video_i386_vbeblit_info.
47416 (grub_video_vbe_get_video_ptr): Likewise.
47417
47418 * include/grub/i386/pc/vbeblit.h
47419 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47420 grub_video_i386_vbeblit_info.
47421 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47422 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47423 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47424 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47425 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47426 (grub_video_i386_vbeblit_index_index): Likewise.
47427 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47428 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47429 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47430 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47431 operator.
47432 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47433 operator.
47434
47435 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47436 include/grub/i386/pc/vbeblit.h.
47437
47438 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47439 Updated to use grub_video_i386_vbeblit_info.
47440 (grub_video_i386_vbefill_R8G8B8): Likewise.
47441 (grub_video_i386_vbefill_index): Likewise.
47442 (grub_video_i386_vbefill): Added generic filler.
47443
47444 * video/i386/pc/vbefill.c: Updated to reflect changes on
47445 include/grub/i386/pc/vbefill.h.
47446
47447 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47448 grub_video_i386_vbeblit_info.
47449 (grub_video_vbe_unmap_color): Likewise.
47450 (grub_video_vbe_blit_glyph): Likewise.
47451 (grub_video_vbe_scroll): Likewise.
47452 (grub_video_vbe_draw_pixel): Removed function.
47453 (grub_video_vbe_get_pixel): Likewise.
47454 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47455 updated code to use it.
47456 (common_blitter): Added common blitter for render target and bitmap.
47457 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47458 (grub_video_vbe_blit_render_target): Likewise.
47459
bc8c036d 474602006-07-30 Johan Rydberg <jrydberg@gnu.org>
47461
47462 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47463 is in text mode if there is no console control protocol instance
47464 available.
47465
684a8eff 474662006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47467
47468 * include/grub/video.h: Code cleanup.
47469
47470 * include/grub/i386/pc/vbe.h: Likewise.
47471
47472 * video/i386/pc/vbe.c: Likewise.
47473
47474 * video/i386/pc/vbeblit.c: Likewise.
47475
47476 * video/i386/pc/vbefill.c: Likewise.
47477
47478 * video/video.c: Likewise. Also added more comments.
47479
5915059b 474802006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47481
47482 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
47483 (struct grub_biosdisk_dap): Likewise.
47484
47485 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47486 linkage settings for all functions.
47487
90ce5d56 474882006-07-12 Marco Gerards <marco@gnu.org>
47489
47490 * configure.ac (--enable-mm-debug): Fix typo.
47491
47492 * genkernsyms.sh.in: Use proper quoting for `CC'.
47493
43e7f879 474942006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47495
47496 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47497 (normal_mod_ASFLAGS): Remove "-m32".
47498
4889bdec 474992006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47500
47501 * util/misc.c: Include config.h.
47502 [!HAVE_MEMALIGN]: Do not include malloc.h.
47503 (grub_memalign): Use posix_memalign, if present. Then, use
47504 memalign, if present. Otherwise, emit an error.
47505
47506 * util/grub-emu.c: Do not include malloc.h.
47507
47508 * include/grub/util/misc.h: Include unistd.h. This is required for
47509 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
47510 D. Eades III <hde@foobar-qux.org>.
47511
47512 * configure.ac (AC_GNU_SOURCE): Added.
47513 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
47514 type.
47515
fd39d4da 475162006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47517
47518 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47519 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47520
b786f3b5 475212006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47522
47523 * include/grub/types.h (grub_host_addr_t): Rename to
47524 grub_target_addr_t.
47525 (grub_host_off_t): Rename to grub_target_off_t.
47526 (grub_host_size_t): Rename to grub_target_size_t.
47527 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47528 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47529
47530 * include/grub/kernel.h (struct grub_module_header): Change type
47531 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47532 (grub_module_info): Likewise.
f19dbdb7 47533
051988bb 475342006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47535
47536 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47537 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47538 Velazquez <jesus.velazquez@gmail.com>.
47539
deae281b 475402006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47541
47542 Count partitions from 1 instead of 0 in the string representation
47543 of partitions. Still use 0-based internally.
f19dbdb7 47544
deae281b 47545 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47546 (sun_partition_map_iterate): Use grub_partition_t instead of
47547 struct grub_partition *. Cast DESC->START_CYLINDER to
47548 grub_uint64_t after converting the endian.
47549 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47550 (sun_partition_map_get_name): Add 1 to P->INDEX.
47551
47552 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47553 PCDATA->DOS_PART.
47554 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47555
47556 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47557 zero instead of one.
47558 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47559 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47560
47561 * partmap/apple.c (apple_partition_map_iterate): Change the type
47562 of POS to unsigned.
47563 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47564 (apple_partition_map_get_name): Add 1 into P->INDEX.
47565
47566 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47567 of POS to unsigned.
47568 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47569 calculate the offset of a partition.
47570 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47571 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47572
47573 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47574 SECTOR to grub_disk_addr_t.
47575 (acorn_partition_map_iterate): Likewise.
47576 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47577 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47578 top.
47579 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47580
47581 * kern/i386/pc/init.c (make_install_device): Add 1 into
47582 GRUB_INSTALL_DOS_PART.
47583
47584 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47585 conditional.
47586
524a1e6a 475872006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47588
47589 Clean up the code to support 64-bit addressing in disks and
47590 files. This change is not enough for filesystems yet.
f19dbdb7 47591
524a1e6a 47592 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47593 type of "start" to grub_uint64_t.
47594 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47595 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47596 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47597 convert addresses.
47598
47599 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47600 to grub_disk_addr_t.
47601
47602 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47603 string.
47604
47605 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47606
47607 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47608 to char *.
47609
47610 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47611
47612 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47613
47614 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47615
47616 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47617 to grub_off_t, to detect an error from grub_file_seek.
47618 (grub_multiboot_load_elf32): Likewise.
47619
47620 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47621 maximum unsigned long value when an overflow is detected.
47622 (grub_strtoull): New function.
47623 (grub_divmod64): Likewise.
47624 (grub_lltoa): use grub_divmod64.
47625
47626 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47627 grub_disk_addr_t.
47628 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47629 the pointer to next character. Use grub_strtoull instead of
47630 grub_strtoul.
47631 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47632 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47633 respectively.
47634
fe6b695a 47635 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 47636 return value is signed.
47637 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47638 test if OFFSET is less than zero, as OFFSET is unsigned now.
47639
47640 * kern/disk.c (struct grub_disk_cache): Change the type of
47641 "sector" to grub_disk_addr_t.
47642 (grub_disk_cache_get_index): Change the type of SECTOR to
47643 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47644 unsigned after shifting.
47645 (grub_disk_cache_invalidate): Change the type of SECTOR to
47646 grub_disk_addr_t.
47647 (grub_disk_cache_unlock): Likewise.
47648 (grub_disk_cache_store): Likewise.
47649 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47650 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47651 grub_disk_addr_t and grub_uint64_t, respectively.
47652 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47653 body, as the value of OFFSET is tweaked by
47654 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47655 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47656 respectively.
47657 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47658 body, as the value of OFFSET is tweaked by
47659 grub_disk_check_range. Change the types of LEN and N to
47660 grub_size_t.
47661
47662 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47663 and "saved_offset" to grub_off_t.
47664 (test_header): Cast BUF to char *.
47665 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47666 to char *.
47667 (grub_gzio_read): Change the types of OFFSET and SIZE to
47668 grub_off_t and grub_size_t, respectively.
47669
47670 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47671 Removed.
47672 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47673 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47674 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47675 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47676 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47677
47678 * include/grub/types.h (grub_off_t): Unconditionally set to
47679 grub_uint64_t.
47680 (grub_disk_addr_t): Changed to grub_uint64_t.
47681
47682 * include/grub/partition.h (struct grub_partition): Change the
47683 types of "start", "len" and "offset" to grub_disk_addr_t,
47684 grub_uint64_t and grub_disk_addr_t, respectively.
47685 (grub_partition_get_start): Return grub_disk_addr_t.
47686 (grub_partition_get_len): Return grub_uint64_t.
47687
47688 * include/grub/misc.h (grub_strtoull): New prototype.
47689 (grub_divmod64): Likewise.
47690
47691 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47692 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47693 grub_off_t, respectively.
47694 All callers and references changed.
47695
47696 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47697 grub_size_t in "read".
47698 All callers and references changed.
47699
47700 * include/grub/file.h (struct grub_file): Change the types of
47701 "offset" and "size" to grub_off_t and grub_off_t,
47702 respectively. Change the type of SECTOR to grub_disk_addr_t in
47703 "read_hook".
47704 (grub_file_read): Change the type of LEN to grub_size_t.
47705 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47706 grub_off_t.
47707 (grub_file_size): Return grub_off_t.
47708 (grub_file_tell): Likewise.
47709 All callers and references changed.
47710
47711 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47712 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47713 "write".
47714 (struct grub_disk): Change the type of "total_sectors" to
47715 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 47716 "read_hook".
524a1e6a 47717 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47718 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47719 (grub_disk_write): Likewise.
47720 All callers and references changed.
47721
47722 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47723 char * for grub_strncmp to silence gcc.
47724 (grub_iso9660_mount): Likewise.
47725 (grub_iso9660_mount): Likewise.
47726 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47727 return statement.
47728 (grub_iso9660_iterate_dir): Likewise.
47729 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47730
47731 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47732 LEN to grub_disk_addr_t and grub_size_t, respectively.
47733
47734 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47735
47736 * fs/jfs.c (grub_jfs_read_file): Likewise.
47737
47738 * fs/minix.c (grub_jfs_read_file): Likewise.
47739
47740 * fs/sfs.c (grub_jfs_read_file): Likewise.
47741
47742 * fs/ufs.c (grub_jfs_read_file): Likewise.
47743
47744 * fs/xfs.c (grub_jfs_read_file): Likewise.
47745
47746 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47747 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47748 respectively.
47749
47750 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47751 BLKNR to -1 instead of returning GRUB_ERRNO.
47752 (grub_ext2_read_file): Change the types of SECTOR and
47753 LEN to grub_disk_addr_t and grub_size_t, respectively.
47754
47755 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47756 LEN to grub_disk_addr_t and grub_size_t, respectively.
47757
47758 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47759 grub_file_read.
47760
47761 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47762 string. Do not cast SECTOR explicitly.
47763
47764 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47765 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47766 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47767 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47768 over 2TB and LBA mode is not supported, raise an error.
47769 (get_safe_sectors): New function.
47770 (grub_biosdisk_read): Use get_safe_sectors.
47771 (grub_biosdisk_write): Likewise.
47772
47773 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47774 (grub_efidisk_write): Likewise.
47775
47776 * disk/loopback.c (delete_loopback): Cosmetic changes.
47777 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47778 correctly.
47779 (grub_loopback_open): Likewise.
47780 (grub_loopback_read): Likewise. Also, change the type of POS to
47781 grub_off_t, and fix the usage of grub_memset.
47782
47783 * commands/i386/pc/play.c: Include grub/machine/time.h.
47784
47785 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47786 print FILE->SIZE.
47787
47788 * commands/configfile.c: Include grub/env.h.
47789
47790 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47791 GRUB_ERRNO directly instead. Change the type of POS to
47792 grub_off_t. Follow the coding standard.
47793
47794 * commands/blocklist.c: Include grub/partition.h.
47795 (grub_cmd_blocklist): Return an error if the underlying device is
47796 not a disk. Take the starting sector of a partition into account,
47797 if a partition is used.
47798
47799 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47800 a length field.
47801 (lba_mode): Support 64-bit addresses.
47802 (chs_mode): Likewise.
47803 (copy_buffer): Adapted to the new offsets of a length field and a
47804 segment field.
47805 (blocklist_default_start): Allocate 64-bit space.
47806
47807 * boot/i386/pc/boot.S (force_lba): Removed.
47808 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47809 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47810 space.
47811 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47812 is useless.
47813 (lba_mode): Refactored to support a 64-bit address. More size
47814 optimization.
47815 (setup_sectors): Likewise.
47816
53af98ad 478172006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47818
47819 * DISTLIST: Added include/grub/i386/linux.h. Removed
47820 include/grub/i386/pc/linux.h
47821
47822 * configure.ac (AC_INIT): Bumped to 1.94.
47823
47824 * config.guess: Updated from gnulib.
47825 * config.sub: Likewise.
47826 * install-sh: Likewise.
47827 * mkinstalldirs: Likewise.
47828
b4c1940a 478292006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47830
47831 * conf/common.rmk (grub_modules_init.lst): Depended on
47832 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47833 MODSRCFILES.
47834
47835 * genmk.rb (PModule::rule): Reverted the previous change.
47836
cfca1cfd 478372006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47838
47839 * conf/common.rmk (grub_modules_init.lst): Depends on
47840 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47841 that the target does not exist before producing.
47842 (grub_modules_init.h): Remove the target before generating.
47843 (grub_emu_init.c): Likewise.
47844
47845 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47846
aa6d7826 478472006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47848
47849 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47850 for the target-specific tests. Make sure that we also have the
47851 up-to-date target variables for those tests.
47852
26c607b9 478532006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47854
47855 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47856 (PModule::rule): Likewise.
47857
0162321a 478582006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47859
47860 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47861 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47862 target-specific flags should be prefixed.
47863 (PModule::rule): Likewise.
47864
6c826348 478652006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47866
47867 * configure.ac (CMP): Check if cmp is available explicitly.
47868
b977bf01 478692006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47870
47871 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47872 (target_cpu): New variable.
47873 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47874
b977bf01 47875 * util/i386/pc/grub-install.in (host_cpu): Removed.
47876 (target_cpu): New variable.
47877 (pkglibdir): Use target_cpu instead of host_cpu.
47878
47879 * util/genmoddep.c: Removed.
f19dbdb7 47880
b977bf01 47881 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47882 instead of GRUB_HOST_SIZEOF_VOID_P.
47883 * kern/dl.c: Likewise.
47884
47885 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47886 ...
47887 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47888 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47889 (GRUB_TARGET_SIZEOF_LONG): ... this.
47890 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47891 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47892 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47893 to ...
47894 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47895 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47896 (GRUB_TARGET_SIZEOF_LONG): ... this.
47897 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47898 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47899 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47900 to ...
47901 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47902 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47903 (GRUB_TARGET_SIZEOF_LONG): ... this.
47904 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47905 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47906
47907 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47908 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47909 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47910 instead of GRUB_HOST_SIZEOF_LONG.
47911 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47912 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47913 GRUB_CPU_WORDS_BIGENDIAN.
47914 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47915 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47916 grub_host_ssize_t.
47917
47918 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47919 (genmoddep_SOURCES): Likewise.
47920 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47921 (genmoddep_SOURCES): Likewise.
47922 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47923 (genmoddep_SOURCES): Likewise.
47924 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47925 Likewise.
47926 (genmoddep_SOURCES): Likewise.
47927
47928 * genmoddep.awk: New file.
47929
47930 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47931 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47932 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47933 (PModule::rule): Likewise.
47934 (Program::rule): Likewise.
47935 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47936 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47937 respectively.
47938
47939 * configure.ac: Rewritten intensively to use host and target
47940 instead of build and host, respectively.
47941
47942 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47943 (host_cpu): Removed.
47944 (target_cpu): New variable.
47945 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47946 (BUILD_CC): Removed.
47947 (BUILD_CFLAGS): Likewise.
47948 (BUILD_CPPFLAGS): Likewise.
47949 (TARGET_CC): New variable.
47950 (TARGET_CFLAGS): Likewise.
47951 (TARGET_CPPFLAGS): Likewise.
47952 (TARGET_LDFLAGS): Likewise.
47953 (AWK): Likewise.
47954 (include): Use target_cpu instead of host_cpu.
47955 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47956
b977bf01 47957 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47958
f09771a1 479592006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47960
47961 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47962 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47963 field 'false' to 'exec_on_false'.
47964 (grub_script_create_cmdif): Renamed argument names to reflect above
47965 changes.
47966
47967 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47968
47969 * normal/script.c (grub_script_create_cmdif): Likewise.
47970
118f4fb3 479712006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47972
47973 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47974 top.
47975 (grub_hfsplus_btree_recptr): Likewise.
47976 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47977 FILEBLOCK both to pass a block number and store next block
47978 number.
47979 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47980 overflow file correctly. Specify errors appropriately, because
47981 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47982 grub_hfsplus_btree_recptr to get the pointer to a found key.
47983 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47984 is found.
47985
47986 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47987 linux.mod.
47988 (_linux_mod_SOURCES): New variable.
47989 (_linux_mod_CFLAGS): Likewise.
47990 (_linux_mod_LDFLAGS): Likewise.
47991 (linux_mod_SOURCES): Likewise.
47992 (linux_mod_CFLAGS): Likewise.
47993 (linux_mod_LDFLAGS): Likewise.
47994
47995 * DISTLIST: Added loader/i386/efi/linux.c,
47996 loader/i386/efi/linux_normal.c and
47997 include/grub/i386/efi/loader.h.
47998
47999 * loader/i386/efi/linux.c: New file.
48000 * loader/i386/efi/linux_normal.c: Likewise.
48001 * include/grub/i386/efi/loader.h: Likewise.
48002
89a7d726 480032006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
48004
48005 * commands/blocklist.c: New file.
48006
48007 * DISTLIST: Added commands/blocklist.c.
48008
48009 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 48010 color for the background, and a darker color for the foreground.
89a7d726 48011 (grub_console_checkkey): Return READ_KEY.
48012 (grub_console_cls): Set the background to
48013 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
48014
48015 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
48016
48017 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
48018 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
48019
48020 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
48021 prototype.
48022
48023 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
48024 BG. The spec is wrong again.
48025
48026 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
48027 prototype.
48028 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
48029
48030 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48031 commands/blocklist.c.
48032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 48033
89a7d726 48034 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
48035 (blocklist_mod_SOURCES): New variable.
48036 (blocklist_mod_CFLAGS): Likewise.
48037 (blocklist_mod_LDFLAGS): Likewise.
48038
75c8f258 480392006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
48040
48041 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
48042 duplication.
48043 (lba_mode): Use %eax more intensively to reduce the code size.
48044
da2eb181 480452006-05-20 Marco Gerards <marco@gnu.org>
48046
48047 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
48048
48049 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
48050 for `menuentry'.
48051 (script): Accept leading newlines.
48052 (newlines): New rule to describe 0 or more newlines.
48053 (commands): Accept `command' with trailing newline. Fixed the
48054 order in which arguments were passed to `grub_script_add_cmd'.
48055 Accept commands separated by newlines.
48056 (function): Changed to accept newlines.
48057 (menuentry) Rewritten.
48058
48059 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
48060 front of the list, instead of to the end.
48061
577b4050 480622006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
48063
48064 * util/i386/pc/grub-install.in (bindir): New variable.
48065 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
48066 Shaver <lbgwjl@gmail.com>.
48067
0d6e1189 480682006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
48069
48070 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
48071 grub/machine/linux.h
48072 * loader/i386/pc/linux.c: Likewise.
48073
48074 * include/grub/i386/pc/linux.h: Moved to ...
48075 * include/grub/i386/linux.h: ... here.
48076
48077 * include/grub/i386/linux.h (struct linux_kernel_params): New
48078 struct.
f19dbdb7 48079
31b86e9f 480802006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
48081
48082 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
48083 checking.
48084 (grub_video_vbe_blit_glyph): Likewise.
48085 (grub_video_vbe_blit_bitmap): Likewise.
48086 (grub_video_vbe_blit_render_target): Likewise.
48087
83b984de 480882006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
48089
48090 * configure.ac (--with-platform): Properly quote the square
48091 brackets.
48092
5f0413bd 480932006-05-08 Marco Gerards <marco@gnu.org>
48094
48095 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
48096 this...
48097 (kernel_elf_HEADERS): ...to this. Updated all users.
48098 (grubof_symlist.c): Renamed from this...
48099 (kernel_elf_symlist.c): ...to this. Updated all users.
48100 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48101 (grubof_SOURCES): Renamed from this...
48102 (kernel_elf_SOURCES): ...to this.
48103 (grubof_HEADERS): Renamed from this...
48104 (kernel_elf_HEADERS): ...to this.
48105 (grubof_CFLAGS): Renamed from this...
48106 (kernel_elf_CFLAGS): ...to this.
48107 (grubof_ASFLAGS): Renamed from this...
48108 (kernel_elf_ASFLAGS): ...to this.
48109 (grubof_LDFLAGS): Renamed from this...
48110 (kernel_elf_LDFLAGS): ...to this.
48111
48112 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
48113 this...
48114 (kernel_elf_HEADERS): ...to this. Updated all users.
48115 (grubof_symlist.c): Renamed from this...
48116 (kernel_elf_symlist.c): ...to this. Updated all users.
48117 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48118 (grubof_SOURCES): Renamed from this...
48119 (kernel_elf_SOURCES): ...to this.
48120 (grubof_HEADERS): Renamed from this...
48121 (kernel_elf_HEADERS): ...to this.
48122 (grubof_CFLAGS): Renamed from this...
48123 (kernel_elf_CFLAGS): ...to this.
48124 (grubof_ASFLAGS): Renamed from this...
48125 (kernel_elf_ASFLAGS): ...to this.
48126 (grubof_LDFLAGS): Renamed from this...
48127 (kernel_elf_LDFLAGS): ...to this.
48128
48129 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
48130 `kernel.elf' instead of `grubof'.
48131
05568c2e 481322006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
48133
48134 Add --with-platform to configure. Use pkglibdir instead of
48135 pkgdatadir. This is reported by Roger Leigh.
48136
48137 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
48138 (host_vendor): Likewise.
48139 (host_os): Likewise.
48140 (pkgdatadir): Likewise.
48141 (platform): New variable.
48142 (pkglibdir): Likewise.
48143 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 48144
05568c2e 48145 * util/i386/pc/grub-install.in (datadir): Removed.
48146 (host_vendor): Likewise.
48147 (host_os): Likewise.
48148 (pkgdatadir): Likewise.
48149 (platform): New variable.
48150 (pkglibdir): Likewise.
48151 Use PKGLIBDIR instead of PKGDATADIR.
48152
48153 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
48154 instead of GRUB_DATADIR.
48155 (main): Likewise.
48156 * util/i386/pc/grub-mkimage.c (usage): Likewise.
48157 (main): Likewise.
48158 * util/i386/efi/grub-mkimage.c (usage): Likewise.
48159 (main): Likewise.
48160
48161 * configure.ac (--with-platform): New option.
48162 Use PLATFORM instead of HOST_VENDOR to specify a platform.
48163
48164 * Makefile.in: Include a makefile based on PLATFORM instead of
48165 HOST_VENDOR.
48166 (pkgdatadir): Not appended by the machine type.
48167 (pkglibdir): Appended by the machine type.
48168 (host_vendor): Removed.
48169 (platform): New variable.
48170 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
48171 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
48172 (uninstall): Likewise.
48173
4e93851c 481742006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
48175
48176 Use the environment context in the menu. Remove the commands
48177 "default" and "timeout", and use variables instead.
f19dbdb7 48178
4e93851c 48179 * normal/menu.c: Include grub/env.h.
48180 (print_entry): Cast TITLE to silence gcc.
48181 (get_timeout): New function.
48182 (set_timeout): Likewise.
48183 (get_entry_number): Likewise.
48184 (run_menu): Use a default entry, a fallback entry and a timeout
48185 in the environment variables "default", "fallback" and
48186 "timeout". Also, tweak the default entry if it is not within the
48187 current menu entries.
48188 (grub_menu_run): Use a fallback entry in the environment variable
48189 "fallback".
48190
48191 * normal/main.c (read_config_file): Do not initialize
48192 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
48193 NEWMENU->TIMEOUT.
48194 (grub_normal_execute): Use a data slot to store the menu.
48195
48196 * include/grub/normal.h (struct grub_menu): Removed default_entry,
48197 fallback_entry and timeout.
48198 (struct grub_menu_list): Removed.
48199 (grub_menu_list_t): Likewise.
48200 (struct grub_context): Likewise.
48201 (grub_context_t): Likewise.
48202 (grub_context_get): Likewise.
48203 (grub_context_get_current_menu): Likewise.
48204 (grub_context_push_menu): Likewise.
48205 (grub_context_pop_menu): Likewise.
48206 (grub_default_init): Likewise.
48207 (grub_default_fini): Likewise.
48208 (grub_timeout_init): Likewise.
48209 (grub_timeout_fini): Likewise.
48210
48211 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
48212 and timeout.mod.
48213 (normal_mod_SOURCES): Removed normal/context.c.
48214
48215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
48216 commands/default.c, commands/timeout.c and normal/context.c.
48217 (normal_mod_SOURCES): Removed normal/context.c.
48218
48219 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
48220 commands/timeout.c and normal/context.c.
48221 (normal_mod_SOURCES): Removed normal/context.c.
48222
48223 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
48224 commands/default.c, commands/timeout.c and normal/context.c.
48225 (normal_mod_SOURCES): Removed normal/context.c.
48226
48227 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
48228 timeout.mod.
48229 (default_mod_SOURCES): Removed.
48230 (default_mod_CFLAGS): Likewise.
48231 (default_mod_LDFLAGS): Likewise.
48232 (timeout_mod_SOURCES): Removed.
48233 (timeout_mod_CFLAGS): Likewise.
48234 (timeout_mod_LDFLAGS): Likewise.
48235
48236 * DISTLIST: Removed commands/default.c, commands/timeout.c and
48237 normal/context.c.
48238
48239 * commands/default.c: Removed.
48240 * commands/timeout.c: Likewise.
48241 * normal/context.c: Likewise.
48242
1eb9cc1d 482432006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
48244
48245 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
48246
385bd9c1 482472006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
48248
48249 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
48250 "next" to "prev" for readability.
48251 (struct grub_env_sorted_var): New struct.
48252 (grub_env_context): Renamed to ...
48253 (initial_context): ... this.
48254 (grub_env_var_context): Renamed to ...
48255 (current_context): ... this.
48256 (grub_env_find): Look only at CURRENT_CONTEXT.
48257 (grub_env_context_open): Rewritten to copy exported variables from
48258 previous context.
48259 (grub_env_context_close): Rewritten according to the new
48260 scheme. Also, add an assertion to prevent the initial context from
48261 removed.
48262 (grub_env_insert): Removed the code for the sorted list.
48263 (grub_env_remove): Likewise.
48264 (grub_env_export): Simply mark the variable with
48265 GRUB_ENV_VAR_GLOBAL.
48266 (grub_env_set): A cosmetic change for naming consistency.
48267 (grub_env_get): Likewise.
48268 (grub_env_unset): Likewise.
48269 (grub_env_iterate): Rewritten to sort variables within this
48270 function.
48271 (grub_register_variable_hook): Fixed for naming consistency. Call
48272 grub_env_find again, only if NAME is not found at the first time.
48273 (mangle_data_slot_name): New function.
48274 (grub_env_set_data_slot): Likewise.
48275 (grub_env_get_data_slot): Likewise.
48276 (grub_env_unset_data_slot): Likewise.
48277
48278 * include/grub/env.h (grub_env_var_type): New enum.
48279 (GRUB_ENV_VAR_LOCAL): New constant.
48280 (GRUB_ENV_VAR_GLOBAL): Likewise.
48281 (GRUB_ENV_VAR_DATA): Likewise.
48282 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
48283 "type".
48284 (grub_env_set): Replace VAR with NAME for consistency.
48285 (grub_register_variable_hook): Likewise.
48286 (grub_env_export): Specify the name of the argument.
48287 (grub_env_set_data_slot): New prototype.
48288 (grub_env_get_data_slot): Likewise.
48289 (grub_env_unset_data_slot): Likewise.
48290
7f362539 482912006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48292
48293 Extend the loader so that GRUB can accept a loader which comes
48294 back to GRUB when a loaded image exits. Also, this change adds
48295 support for a chainloader on EFI.
f19dbdb7 48296
7f362539 48297 * term/efi/console.c: Include grub/misc.h.
48298 (grub_console_checkkey): Display a scan code on the top for
48299 debugging. This will be removed once the EFI port gets stable.
48300 Correct the scan code mapping.
48301
48302 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
48303 allocate memory from larger regions, in order to reduce the number
48304 of allocated regions. Otherwise, the MacOSX loader panics.
48305 (filter_memory_map): Avoid less than 1MB for compatibility with
48306 other loaders.
48307 (add_memory_regions): Allocate from the tail of a region, if
48308 possible, to avoid allocating a region near to 1MB, for the MacOSX
48309 loader.
48310
48311 * kern/efi/init.c (grub_efi_set_prefix): Specify
48312 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
48313
48314 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
48315 argument IMAGE_HANDLE and specify it to get a loaded image.
48316 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
48317 grub_efi_get_loaded_image.
fe6b695a 48318 (grub_efi_get_filename): Divide the length by the size of
7f362539 48319 grub_efi_char16_t.
48320 (grub_efi_get_device_path): New function.
48321 (grub_efi_print_device_path): Print End Device Path nodes. Divide
48322 the length by the size of grub_efi_char16_t for a file path device
48323 path node.
48324
48325 * kern/loader.c (grub_loader_noreturn): New variable.
48326 (grub_loader_set): Accept a new argument NORETURN. Set
48327 GRUB_LOADER_NORETURN to NORETURN.
48328 All callers changed.
48329 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
48330 grub_machine_fini.
48331
48332 * include/grub/efi/efi.h (grub_efi_get_device_path): New
48333 prototype.
48334 (grub_efi_get_loaded_image): Take an argument to specify an image
48335 handle.
48336
48337 * include/grub/loader.h (grub_loader_set): Added one more argument
48338 NORETURN.
48339
48340 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
48341 instead of grub_efi_open_protocol.
48342 (grub_efidisk_get_device_name): Likewise.
48343 (grub_efidisk_close): Print a newline.
48344 (grub_efidisk_get_device_handle): Fixed to use
48345 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48346 GRUB_EFI_DEVICE_PATH_TYPE.
48347
48348 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48349 * kern/efi/efi.c (device_path_guid): ... here.
48350
48351 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48352 chain.mod.
48353 (kernel_mod_HEADERS): Added efi/disk.h.
48354 (_chain_mod_SOURCES): New variable.
48355 (_chain_mod_CFLAGS): Likewise.
48356 (_chain_mod_LDFLAGS): Likewise.
48357 (chain_mod_SOURCES): Likewise.
48358 (chain_mod_CFLAGS): Likewise.
48359 (chain_mod_LDFLAGS): Likewise.
48360
48361 * DISTLIST: Added include/grub/efi/chainloader.h,
48362 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48363
48364 * include/grub/efi/chainloader.h: New file.
48365 * loader/efi/chainloader.c: Likewise.
48366 * loader/efi/chainloader_normal.c: Likewise.
48367
c0111d6e 483682006-04-30 Marco Gerards <marco@gnu.org>
48369
48370 * commands/configfile.c (grub_cmd_source): New function.
48371 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48372 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48373
df5341da 483742006-04-30 Marco Gerards <marco@gnu.org>
48375
48376 * normal/execute.c (grub_script_execute_cmd): Change the return
48377 type to `grub_err_t'. Correctly return the error.
48378 (grub_script_execute_cmdline): In case a command line is not a
48379 command or a function, try to interpret it as an assignment.
48380
f85934bd 483812006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48382
48383 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48384 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48385 skip a node whose name is obviously invalid as UTF-16,
48386 i.e. contains a NUL character. Stop the iteration when the last
48387 directory entry is found. Instead of using the return value of
48388 grub_hfsplus_btree_iterate_node, store the value in RET and use
48389 it, because the iterator can be stopped by the last directory
48390 entry.
48391
8f8a2cf8 483922006-04-30 Marco Gerards <marco@gnu.org>
48393
48394 * include/grub/env.h (grub_env_export): New prototype. Reported
48395 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48396
a27e84ce 483972006-04-30 Marco Gerards <marco@gnu.org>
48398
48399 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48400 size of the extents in a catalog file record.
48401
eaef0553 484022006-04-29 Marco Gerards <marco@gnu.org>
48403
48404 * commands/configfile.c (grub_cmd_configfile): Execute the
48405 configfile within its own context.
48406
48407 * include/grub/env.h (grub_env_context_open): New prototype.
48408 (grub_env_context_close): Likewise.
48409
48410 * kern/env.c (grub_env): Removed.
48411 (grub_env_sorted): Likewise.
48412 (grub_env_context): New variable.
48413 (grub_env_var_context): Likewise.
48414 (grub_env_find): Search both the active context and the global
48415 context.
48416 (grub_env_context_open): New function.
48417 (grub_env_context_close): Likewise.
48418 (grub_env_insert): Likewise.
48419 (grub_env_remove): Likewise.
48420 (grub_env_export): Likewise.
48421 (grub_env_set): Changed to use helper functions to avoid code
48422 duplication.
48423 (grub_env_iterate): Rewritten so both the current context and the
48424 global context are being used.
48425
48426 * normal/command.c (export_command): New function.
48427 (grub_command_init): Register the `export' function.
48428
7b455f4d 484292006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48430
48431 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48432 explicitly to suppress gcc's warnings.
48433 * fs/fat.c (grub_fat_find_dir): Likewise.
48434 (grub_fat_label): Likewise.
48435 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48436 (grub_xfs_mount): Likewise.
48437 (grub_xfs_label): Likewise.
48438 * fs/affs.c (grub_affs_mount): Likewise.
48439 (grub_affs_label): Likewise.
48440 (grub_affs_iterate_dir): Likewise.
48441 * fs/sfs.c (grub_sfs_mount): Likewise.
48442 (grub_sfs_iterate_dir): Likewise.
48443 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48444 * fs/hfs.c (grub_hfs_mount): Likewise.
48445 (grub_hfs_cmp_catkeys): Likewise.
48446 (grub_hfs_find_dir): Likewise.
48447 (grub_hfs_dir): Likewise.
48448 (grub_hfs_label): Likewise.
48449 * fs/jfs.c (grub_jfs_mount): Likewise.
48450 (grub_jfs_opendir): Likewise.
48451 (grub_jfs_getent): Likewise.
48452 (grub_jfs_lookup_symlink): Likewise.
48453 (grub_jfs_label): Likewise.
48454 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48455 (grub_hfsplus_iterate_dir): Likewise.
48456 (grub_hfsplus_btree_iterate_node): Made static.
48457
48458 * util/grub-emu.c (prefix): New variable.
48459 (grub_machine_set_prefix): New function.
48460 (main): Do not set the environment variable "prefix" here. Only
48461 set PREFIX, which is used later by grub_machine_set_prefix.
48462
48463 * include/grub/video.h: Do not include grub/symbol.h.
48464 (grub_video_register): Not exported. This symbol is not defined in
48465 the kernel.
48466 (grub_video_unregister): Likewise.
48467 (grub_video_iterate): Likewise.
48468 (grub_video_setup): Likewise.
48469 (grub_video_restore): Likewise.
48470 (grub_video_get_info): Likewise.
48471 (grub_video_get_blit_format): Likewise.
48472 (grub_video_set_palette): Likewise.
48473 (grub_video_get_palette): Likewise.
48474 (grub_video_set_viewport): Likewise.
48475 (grub_video_get_viewport): Likewise.
48476 (grub_video_map_color): Likewise.
48477 (grub_video_map_rgb): Likewise.
48478 (grub_video_map_rgba): Likewise.
48479 (grub_video_fill_rect): Likewise.
48480 (grub_video_blit_glyph): Likewise.
48481 (grub_video_blit_bitmap): Likewise.
48482 (grub_video_blit_render_target): Likewise.
48483 (grub_video_scroll): Likewise.
48484 (grub_video_swap_buffers): Likewise.
48485 (grub_video_create_render_target): Likewise.
48486 (grub_video_delete_render_target): Likewise.
48487 (grub_video_set_active_render_target): Likewise.
48488
48489 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48490 Undefined.
48491 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48492
48493 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48494 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48495 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48496 instead of $(srcdir)/genkernsyms.sh.
48497
48498 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48499 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48500 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48501 instead of $(srcdir)/genkernsyms.sh.
48502
48503 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
48504 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48505 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48506 instead of $(srcdir)/genkernsyms.sh.
48507
48508 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
48509 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48510 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48511 instead of $(srcdir)/genkernsyms.sh.
48512
48513 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
48514 genkernsyms.sh.
48515
48516 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48517 genkernsyms.sh.
48518 (gensymlist.sh): New target.
48519 (genkernsyms.sh): Likewise.
48520
48521 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48522 genkernsyms.sh.in and gensymlist.sh.in.
48523
48524 * genkernsyms.sh: Removed.
48525 * gensymlist.sh: Likewise.
f19dbdb7 48526
7b455f4d 48527 * genkernsyms.sh.in: New file.
48528 * gensymlist.sh.in: Likewise.
48529
1885bb27 485302006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48531
48532 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48533 clobber "prefix", since we may have already set it manually.
48534
71538dff 485352006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48536
48537 * kern/misc.c (abort): New alias for grub_abort.
48538
2965c7cc 485392006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48540
48541 A new machine-specific function "grub_machine_set_prefix" is
48542 defined. This is called after loading modules, so that a prefix
48543 initialization can use modules. Also, this change adds an
48544 intensive debugging feature for the memory manager via the
48545 configure option "--enable-mm-debug".
f19dbdb7 48546
2965c7cc 48547 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48548 PART.LEN.
48549
48550 * kern/sparc64/ieee1275/init.c (abort): Removed.
48551 (grub_stop): Likewise.
48552 (grub_exit): New function.
48553 (grub_set_prefix): Renamed to ...
48554 (grub_machine_set_prefix): ... this.
48555 (grub_machine_init): Do not call grub_set_prefix.
48556
48557 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48558 (grub_machine_set_prefix): ... this.
48559 (grub_machine_init): Do not call grub_set_prefix.
48560
48561 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
48562 (grub_machine_init): Do not set the prefix here.
48563
48564 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48565
48566 * kern/efi/init.c: Include grub/mm.h.
48567 (grub_efi_set_prefix): New function.
48568
48569 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48570 (grub_efi_get_filename): New function.
48571 (grub_print_device_path): Renamed to ...
48572 (grub_efi_print_device_path): ... this.
48573
48574 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48575 [MM_DEBUG] (grub_realloc): Likewise.
48576 [MM_DEBUG] (grub_free): Likewise.
48577 [MM_DEBUG] (grub_memalign): Likewise.
48578 [MM_DEBUG] (grub_mm_debug): New variable.
48579 [MM_DEBUG] (grub_debug_malloc): New function.
48580 [MM_DEBUG] (grub_debug_free): New function.
48581 [MM_DEBUG] (grub_debug_realloc): New function.
48582 [MM_DEBUG] (grub_debug_memalign): New function.
48583
48584 * kern/misc.c (grub_abort): Print a newline to distinguish
48585 the message.
48586
48587 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48588 grub_set_root_dev after loading modules. This is necessary when
48589 setting a prefix depends on modules.
48590
48591 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48592 (grub_efi_print_device_path): ... this.
48593 (grub_efi_get_filename): New prototype.
48594 (grub_efi_set_prefix): Likewise.
48595
48596 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48597 and grub/disk.h.
48598 (grub_efidisk_get_device_handle): New prototype.
48599 (grub_efidisk_get_device_name): Likewise.
48600
48601 * include/grub/mm.h: Include config.h.
48602 (MM_DEBUG): Removed.
48603 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48604 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48605 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48606 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48607 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48608 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48609 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48610 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48611 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48612
48613 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48614
48615 * disk/efi/efidisk.c: Include grub/partition.h.
48616 (iterate_child_devices): New function.
48617 (add_device): First, compare only last device path nodes, so that
48618 devices are sorted by the types.
48619 (grub_efidisk_get_device_handle): New function.
48620 (grub_efidisk_get_device_name): Likewise.
48621
48622 * configure.ac (--enable-mm-debug): New option to enable the
48623 memory manager debugging feature. This makes the binary much
48624 bigger, so is disabled by default.
48625
9cacaa17 486262006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48627
48628 Use grub_abort instead of grub_stop, and grub_exit must be
48629 define in each architecture now. Also, this change adds support
48630 for EFI disks.
f19dbdb7 48631
9cacaa17 48632 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48633 (grub_getkey): New function.
48634 (grub_term_get_current): Likewise.
48635
48636 * util/i386/pc/grub-setup.c: Include grub/term.h.
48637 (grub_getkey): New function.
48638 (grub_term_get_current): Likewise.
48639
48640 * util/misc.c (grub_stop): Renamed to ...
48641 (grub_exit): ... this.
48642
48643 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48644 (grub_exit): ... this.
48645 (grub_machine_init): Use grub_abort instead of abort.
48646 (grub_stop): Removed.
48647
48648 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48649 abort.
48650
48651 * kern/i386/pc/startup.S (grub_exit): New function.
48652 (cold_reboot): New label.
48653
48654 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48655 (grub_efi_init): Call grub_efidisk_init.
48656 (grub_efi_fini): Call grub_efidisk_fini.
48657
48658 * kern/efi/efi.c: Include grub/mm.h.
48659 (grub_efi_console_control_guid): Renamed to ...
48660 (console_control_guid): ... this.
48661 (grub_efi_loaded_image_guid): Renamed to ...
48662 (loaded_image_guid): ... this.
48663 (grub_efi_locate_handle): New function.
48664 (grub_efi_open_protocol): Likewise.
48665 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48666 GRUB_EFI_CONSOLE_CONTROL_GUID.
48667 (grub_efi_exit): Removed.
48668 (grub_stop): Likewise.
48669 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48670 (grub_exit): New function.
48671 (grub_print_device_path): Likewise.
48672
48673 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48674 (grub_enter_rescue_mode): Register "exit".
48675
48676 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48677 (grub_abort): New function.
48678
48679 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48680
48681 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48682
48683 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48684
48685 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48686 (grub_print_device_path): New prototype.
48687 (grub_efi_locate_handle): Likewise.
48688 (grub_efi_open_protocol): Likewise.
48689
48690 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48691 * disk/efi/efidisk.c: Likewise.
48692
48693 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48694
48695 * include/grub/efi/console_control.h
48696 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48697
48698 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48699 last 8 bytes as an array.
48700 (GRUB_EFI_DISK_IO_GUID): New macro.
48701 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48702 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48703 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48704 grub_uint8_t.
48705 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48706 (struct grub_efi_device_path): Rename the member "sub_type" to
48707 "subtype".
48708 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48709 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48710 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48711 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48712 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48713 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48714 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48715 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48716 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48717 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48718 (struct grub_efi_pci_device_path): New structure.
48719 (grub_efi_pci_device_path_t): New type.
48720 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48721 (struct grub_efi_pccard_device_path): New structure.
48722 (grub_efi_pccard_device_path_t): New type.
48723 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48724 (struct grub_efi_memory_mapped_device_path): New structure.
48725 (grub_efi_memory_mapped_device_path_t): New type.
48726 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48727 (struct grub_efi_vendor_device_path): New structure.
48728 (grub_efi_vendor_device_path_t): New type.
48729 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48730 (struct grub_efi_controller_device_path): New structure.
48731 (grub_efi_controller_device_path_t): New type.
48732 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48733 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48734 (struct grub_efi_acpi_device_path): New structure.
48735 (grub_efi_acpi_device_path_t): New type.
48736 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48737 (struct grub_efi_expanded_acpi_device_path): New structure.
48738 (grub_efi_expanded_acpi_device_path_t): New type.
48739 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48740 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48741 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48742 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48743 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48744 (struct grub_efi_atapi_device_path): New structure.
48745 (grub_efi_atapi_device_path_t): New type.
48746 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48747 (struct grub_efi_fibre_channel_device_path): New structure.
48748 (grub_efi_fibre_channel_device_path_t): New type.
48749 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48750 (struct grub_efi_1394_device_path): New structure.
48751 (grub_efi_1394_device_path_t): New type.
48752 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48753 (struct grub_efi_usb_device_path): New structure.
48754 (grub_efi_usb_device_path_t): New type.
48755 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48756 (struct grub_efi_usb_class_device_path): New structure.
48757 (grub_efi_usb_class_device_path_t): New type.
48758 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48759 (struct grub_efi_i2o_device_path): New structure.
48760 (grub_efi_i2o_device_path_t): New type.
48761 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48762 (struct grub_efi_mac_address_device_path): New structure.
48763 (grub_efi_mac_address_device_path_t): New type.
48764 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48765 (struct grub_efi_ipv4_device_path): New structure.
48766 (grub_efi_ipv4_device_path_t): New type.
48767 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48768 (struct grub_efi_ipv6_device_path): New structure.
48769 (grub_efi_ipv6_device_path_t): New type.
48770 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48771 (struct grub_efi_infiniband_device_path): New structure.
48772 (grub_efi_infiniband_device_path_t): New type.
48773 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48774 (struct grub_efi_uart_device_path): New structure.
48775 (grub_efi_uart_device_path_t): New type.
48776 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48777 (struct grub_efi_vendor_messaging_device_path): New structure.
48778 (grub_efi_vendor_messaging_device_path_t): New type.
48779 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48780 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48781 (struct grub_efi_hard_drive_device_path): New structure.
48782 (grub_efi_hard_drive_device_path_t): New type.
48783 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48784 (struct grub_efi_cdrom_device_path): New structure.
48785 (grub_efi_cdrom_device_path_t): New type.
48786 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48787 (struct grub_efi_vendor_media_device_path): New structure.
48788 (grub_efi_vendor_media_device_path_t): New type.
48789 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48790 (struct grub_efi_file_path_device_path): New structure.
48791 (grub_efi_file_path_device_path_t): New type.
48792 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48793 (struct grub_efi_protocol_device_path): New structure.
48794 (grub_efi_protocol_device_path_t): New type.
48795 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48796 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48797 (struct grub_efi_bios_device_path): New structure.
48798 (grub_efi_bios_device_path_t): New type.
48799 (struct grub_efi_disk_io): New structure.
48800 (grub_efi_disk_io_t): New type.
48801 (struct grub_efi_block_io_media): New structure.
48802 (grub_efi_block_io_media_t): New type.
48803 (struct grub_efi_block_io): New structure.
48804 (grub_efi_block_io_t): New type.
48805
48806 * include/grub/misc.h (grub_stop): Removed.
48807 (grub_exit): New prototype.
48808 (grub_abort): Likewise.
48809
48810 * include/grub/disk.h (enum grub_disk_dev_id): Added
48811 GRUB_DISK_DEVICE_EFIDISK_ID.
48812
48813 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48814 disk/efi/efidisk.c.
48815 (kernel_syms.lst): Remove the target if an error occurs.
48816
49986a9f 488172006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48818
48819 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48820 as it was simply too buggy.
48821
970d3b8a 488222006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48823
48824 * kern/misc.c (grub_lltoa): New function.
48825 (grub_vsprintf): Added support for the long long suffix,
48826 i.e. "ll".
48827
ff04ec24 488282006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48829
48830 * Makefile.in (LDFLAGS): Add variable.
48831 (LD): Remove variable.
48832 * configure.ac: Add -m32 to LDFLAGS.
48833 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48834 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48835 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48836 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48837 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48838 variables.
48839 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48840 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48841 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48842
37e5e1a4 488432006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48844
48845 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48846 length for unknown glyph.
48847
c352d8dd 488482006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48849
2eab1c0d 48850 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48851
2eab1c0d 48852 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48853 completely. Accept one more argument DIR. The caller has changed.
48854
48855 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48856
48857 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48858 (grub_efi_loaded_image_guid): New variable.
48859 (grub_efi_get_loaded_image): New function.
48860 (grub_arch_modules_addr): Likewise.
48861
48862 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48863 prototype.
48864
48865 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48866 (struct grub_efi_loaded_image): New structure.
48867 (grub_efi_loaded_image_t): New type.
48868
488692006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48870
c352d8dd 48871 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48872 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48873 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48874
6d01d6b4 488752006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48876
48877 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48878
976a4ea0 488792006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48880
48881 * DISTLIST: Added include/grub/efi/console.h,
48882 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48883 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48884
48885 * include/grub/efi/console.h: New file.
48886 * include/grub/efi/time.h: Likewise.
48887 * include/grub/i386/efi/kernel.h: Likewise.
48888 * kern/efi/init.c: Likewise.
48889 * kern/efi/mm.c: Likewise.
48890 * term/efi/console.c: Likewise.
f19dbdb7 48891
976a4ea0 48892 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48893 (grub_stop): Removed.
48894 (grub_get_rtc): Likewise.
48895 (grub_machine_init): Simply call grub_efi_init.
48896 (grub_machine_fini): Call grub_efi_fini.
48897
48898 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48899 (grub_efi_output_string): Removed.
48900 (grub_efi_stall): New function.
48901 (grub_stop): Likewise.
48902 (grub_get_rtc): Likewise.
48903
48904 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48905 (grub_efi_stall): New prototype.
48906 (grub_efi_allocate_pages): Likewise.
48907 (grub_efi_free_pages): Likewise.
48908 (grub_efi_get_memory_map): Likewise.
48909 (grub_efi_mm_init): Likewise.
48910 (grub_efi_mm_fini): Likewise.
48911 (grub_efi_init): Likewise.
48912 (grub_efi_fini): Likewise.
48913
48914 * include/grub/i386/efi/time.h: Do not include
48915 grub/symbol.h. Include grub/efi/time.h.
48916 (GRUB_TICKS_PER_SECOND): Removed.
48917 (grub_get_rtc): Likewise.
48918
48919 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48920 Added padding. The EFI spec is buggy.
48921 (GRUB_EFI_BLACK): New macro.
48922 (GRUB_EFI_BLUE): Likewise.
48923 (GRUB_EFI_GREEN): Likewise.
48924 (GRUB_EFI_CYAN): Likewise.
48925 (GRUB_EFI_RED): Likewise.
48926 (GRUB_EFI_MAGENTA): Likewise.
48927 (GRUB_EFI_BROWN): Likewise.
48928 (GRUB_EFI_LIGHTGRAY): Likewise.
48929 (GRUB_EFI_BRIGHT): Likewise.
48930 (GRUB_EFI_DARKGRAY): Likewise.
48931 (GRUB_EFI_LIGHTBLUE): Likewise.
48932 (GRUB_EFI_LIGHTGREEN): Likewise.
48933 (GRUB_EFI_LIGHTCYAN): Likewise.
48934 (GRUB_EFI_LIGHTRED): Likewise.
48935 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48936 (GRUB_EFI_YELLOW): Likewise.
48937 (GRUB_EFI_WHITE): Likewise.
48938 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48939 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48940 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48941 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48942 (GRUB_EFI_BACKGROUND_RED): Likewise.
48943 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48944 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48945 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48946 (GRUB_EFI_TEXT_ATTR): Likewise.
48947
48948 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48949 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48950 (kernel_mod_HEADERS): Added efi/time.h.
48951
83709125 489522006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48953
48954 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48955 include/grub/efi/api.h, include/grub/efi/console_control.h,
48956 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48957 include/grub/i386/efi/time.h, kern/efi/efi.c,
48958 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48959 and util/i386/efi/grub-mkimage.c.
48960
48961 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48962
48963 * genmk.rb (PModule#rule): Do not export symbols if
48964 #{prefix}_EXPORTS is set to "no".
48965
48966 * conf/i386-efi.mk: New file.
48967 * conf/i386-efi.rmk: Likewise.
48968 * include/grub/efi/api.h: Likewise.
48969 * include/grub/efi/console_control.h: Likewise.
48970 * include/grub/efi/efi.h: Likewise.
48971 * include/grub/efi/pe32.h: Likewise.
48972 * include/grub/i386/efi/time.h: Likewise.
48973 * kern/efi/efi.c: Likewise.
48974 * kern/i386/efi/init.c: Likewise.
48975 * kern/i386/efi/startup.S: Likewise.
48976 * util/i386/efi/grub-mkimage.c: Likewise.
48977
489782006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48979
48980 * include/grub/script.h: Include <grub/parser.h> and
48981 "grub_script.tab.h".
48982 (struct grub_lexer_param): New struct.
48983 (struct grub_parser_param): Likewise.
48984 (grub_script_create_arglist): Pass the state in an argument.
48985 (grub_script_add_arglist): Likewise.
48986 (grub_script_create_cmdline): Likewise.
48987 (grub_script_create_cmdblock): Likewise.
48988 (grub_script_create_cmdif): Likewise.
48989 (grub_script_create_cmdmenu): Likewise.
48990 (grub_script_add_cmd): Likewise.
48991 (grub_script_arg_add): Likewise.
48992 (grub_script_lexer_ref): Likewise.
48993 (grub_script_lexer_deref): Likewise.
48994 (grub_script_lexer_record_start): Likewise.
48995 (grub_script_lexer_record_stop): Likewise.
48996 (grub_script_mem_record): Likewise.
48997 (grub_script_mem_record_stop): Likewise.
48998 (grub_script_malloc): Likewise.
48999 (grub_script_yylex): Likewise.
49000 (grub_script_yyparse): Likewise.
49001 (grub_script_yyerror): Likewise.
49002 (grub_script_yylex): Likewise.
49003 (grub_script_lexer_init): Return the state.
49004
49005 * normal/lexer.c (grub_script_lexer_state): Removed variable.
49006 (grub_script_lexer_done): Likewise.
49007 (grub_script_lexer_getline): Likewise.
49008 (grub_script_lexer_refs): Likewise.
49009 (script): Likewise.
49010 (newscript): Likewise.
49011 (record): Likewise.
49012 (recording): Likewise.
49013 (recordpos): Likewise.
49014 (recordlen): Likewise.
49015 (grub_script_lexer_init): Return the state instead of setting
49016 global variables.
49017 (grub_script_lexer_ref): Use the newly added argument for state
49018 instead of globals.
49019 (grub_script_lexer_deref): Likewise.
49020 (grub_script_lexer_record_start): Likewise.
49021 (grub_script_lexer_record_stop): Likewise.
49022 (recordchar): Likewise.
49023 (nextchar): Likewise.
49024 (grub_script_yylex2): Likewise.
49025 (grub_script_yylex): Likewise.
49026 (grub_script_yyerror): Likewise.
49027
49028 * normal/parser.y (func_mem): Removed variable.
49029 (menu_entry): Likewise.
49030 (err): Likewise.
49031 (%lex-param): New parser option.
49032 (%parse-param): Likewise.
49033 (script): Always return the AST.
49034 (argument): Pass the state around.
49035 (arguments): Likewise.
49036 (grubcmd): Likewise.
49037 (commands): Likewise.
49038 (function): Likewise.
49039 (menuentry): Likewise.
49040 (if_statement): Likewise.
49041 (if): Likewise.
49042
49043 * normal/script.c (grub_script_memused): Removed variable.
49044 (grub_script_parsed): Likewise.
49045 (grub_script_malloc): Added a state argument. Use that instead of
49046 global variables.
49047 (grub_script_mem_record): Likewise.
49048 (grub_script_mem_record_stop): Likewise.
49049 (grub_script_arg_add): Likewise.
49050 (grub_script_add_arglist): Likewise.
49051 (grub_script_create_cmdline): Likewise.
49052 (grub_script_create_cmdif): Likewise.
49053 (grub_script_create_cmdmenu): Likewise.
49054 (grub_script_add_cmd): Likewise.
49055 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 49056
e2a8c904 490572006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 49058
49059 * normal/command.c (grub_command_init): Remove the title command.
49060
49061 * normal/lexer.c (grub_script_yylex): Renamed from this...
49062 (grub_script_yylex2): ... to this.
49063 (grub_script_yylex): New function. Temporary
49064 introduced to filter some tokens.
49065 (grub_script_yyerror): Print a newline.
49066
49067 * normal/main.c (read_config_file): Output information about the
49068 lines that contain errors. Wait for a key after all lines have
49069 been processed. Don't return an empty menu.
49070
49071 * normal/parser.y (func_mem): Don't initialize.
49072 (menu_entry): Likewise.
49073 (err): New variable.
49074 (script): Don't return anything when an error was encountered.
49075 (ws, returns): Removed rules.
49076 (argument): Disabled concatenated variable support.
49077 (arguments): Remove explicit separators.
49078 (grubcmd): Likewise.
49079 (function): Likewise.
49080 (menuentry): Likewise.
49081 (if): Likewise.
49082 (commands): Likewise. Add error handling.
49083
49084 * normal/script.c (grub_script_create_cmdline): If
49085 `grub_script_parsed' is 0, assume the parser encountered an error.
49086
c9a86192 490872006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
49088
49089 * configure.ac: Add support for EFI. Fix the typo
49090 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
49091
70f3b243 490922006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49093
49094 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
49095 foreign multibyte characters should be shown correctly.
49096
65f201ad 490972006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49098
49099 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
49100 calculation.
49101 (read_config_file): Made it to close file before returning.
49102
b4b93674 491032006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
49104
49105 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
49106 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
49107 video/i386/pc/vbefill.c.
49108
49109 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
49110 video/i386/pc/vbefill.c.
49111
49112 * include/grub/video.h (grub_video_blit_format): New enum.
49113 (grub_video_mode_info): Added new member blit_format.
49114 (grub_video_get_blit_format): New function prototype.
49115
49116 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
49117 function prototype.
49118 (grub_video_vbe_map_rgb): Likewise.
49119 (grub_video_vbe_unmap_color): Likewise.
49120
49121 * include/grub/i386/pc/vbeblit.h: New file.
49122
49123 * include/grub/i386/pc/vbefill.h: New file.
49124
49125 * video/video.c (grub_video_get_blit_format): New function.
49126 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
49127 (grub_video_vbe_map_rgb): Likewise.
49128 (grub_video_vbe_unmap_color): Likewise.
49129
49130 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
49131 optimized fills.
49132 (grub_video_vbe_blit_render_target): Changed to use more optimized
49133 blits.
49134 (grub_video_vbe_setup): Added detection for optimized settings.
49135 (grub_video_vbe_create_render_target): Likewise.
49136
49137 * video/i386/pc/vbeblit.c: New file.
49138
49139 * video/i386/pc/vbefill.c: New file.
49140
c2379b9c 491412006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
49142
49143 * font/manager.c (grub_font_get_glyph): Removed font fixup from
49144 here...
49145
49146 * util/unifont2pff.rb: ... and moved it to here. Improved argument
49147 parsing to support both hex and dec ranges. If filename was missing
49148 show usage information.
49149
bd0d7896 491502006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
49151
49152 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
49153 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
49154
49155 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
49156 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
49157 (video_mod_SOURCES): Added.
49158 (video_mod_CFLAGS): Likewise.
49159 (video_mod_LDFLAGS): Likewise.
49160 (gfxterm_mod_SOURCES): Likewise.
49161 (gfxterm_mod_CFLAGS): Likewise.
49162 (gfxterm_mod_LDFLAGS): Likewise.
49163 (videotest_mod_SOURCES): Likewise.
49164 (videotest_mod_CFLAGS): Likewise.
49165 (videotest_mod_LDFLAGS): Likewise.
49166 (vesafb_mod_SOURCES): Removed.
49167 (vesafb_mod_CFLAGS): Likewise.
49168 (vesafb_mod_LDFLAGS): Likewise.
49169 (vga_mod_SOURCES): Likewise.
49170 (vga_mod_CFLAGS): Likewise.
49171 (vga_mod_LDFLAGS): Likewise.
49172
49173 * commands/videotest.c: New file.
49174
49175 * font/manager.c (fill_with_default_glyph): Modified to use
49176 grub_font_glyph.
49177 (grub_font_get_glyph): Likewise.
49178 (fontmanager): Renamed from this...
49179 (font_manager): ... to this.
49180
49181 * include/grub/font.h (grub_font_glyph): Added new structure.
49182 (grub_font_get_glyph): Modified to use grub_font_glyph.
49183
49184 * include/grub/misc.h (grub_abs): Added as inline function.
49185
49186 * include/grub/video.h: New file.
49187
49188 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
49189 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
49190 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
49191 (grub_vbe_get_controller_info): Renamed from this...
49192 (grub_vbe_bios_get_controller_info): ... to this.
49193 (grub_vbe_get_mode_info): Renamed from this...
49194 (grub_vbe_bios_get_mode_info): ... to this.
49195 (grub_vbe_set_mode): Renamed from this...
49196 (grub_vbe_bios_set_mode): ... to this.
49197 (grub_vbe_get_mode): Renamed from this...
49198 (grub_vbe_bios_get_mode): ... to this.
49199 (grub_vbe_set_memory_window): Renamed from this...
49200 (grub_vbe_bios_set_memory_window): ... to this.
49201 (grub_vbe_get_memory_window): Renamed from this...
49202 (grub_vbe_bios_get_memory_window): ... to this.
49203 (grub_vbe_set_scanline_length): Renamed from this...
49204 (grub_vbe_set_scanline_length): ... to this.
49205 (grub_vbe_get_scanline_length): Renamed from this...
49206 (grub_vbe_bios_get_scanline_length): ... to this.
49207 (grub_vbe_set_display_start): Renamed from this...
49208 (grub_vbe_bios_set_display_start): ... to this.
49209 (grub_vbe_get_display_start): Renamed from this...
49210 (grub_vbe_bios_get_display_start): ... to this.
49211 (grub_vbe_set_palette_data): Renamed from this...
49212 (grub_vbe_bios_set_palette_data): ... to this.
49213 (grub_vbe_set_pixel_rgb): Removed.
49214 (grub_vbe_set_pixel_index): Likewise.
49215
49216 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
49217 from this...
49218 (grub_vbe_bios_get_controller_info): ... to this.
49219 (grub_vbe_get_mode_info): Renamed from this...
49220 (grub_vbe_bios_get_mode_info): ... to this.
49221 (grub_vbe_set_mode): Renamed from this...
49222 (grub_vbe_bios_set_mode): ... to this.
49223 (grub_vbe_get_mode): Renamed from this...
49224 (grub_vbe_bios_get_mode): ... to this.
49225 (grub_vbe_set_memory_window): Renamed from this...
49226 (grub_vbe_bios_set_memory_window): ... to this.
49227 (grub_vbe_get_memory_window): Renamed from this...
49228 (grub_vbe_bios_get_memory_window): ... to this.
49229 (grub_vbe_set_scanline_length): Renamed from this...
49230 (grub_vbe_set_scanline_length): ... to this.
49231 (grub_vbe_get_scanline_length): Renamed from this...
49232 (grub_vbe_bios_get_scanline_length): ... to this.
49233 (grub_vbe_set_display_start): Renamed from this...
49234 (grub_vbe_bios_set_display_start): ... to this.
49235 (grub_vbe_get_display_start): Renamed from this...
49236 (grub_vbe_bios_get_display_start): ... to this.
49237 (grub_vbe_set_palette_data): Renamed from this...
49238 (grub_vbe_bios_set_palette_data): ... to this.
49239 (grub_vbe_bios_get_controller_info): Fixed problem with registers
49240 getting corrupted after calling it. Added more pushes and pops.
49241 (grub_vbe_bios_set_mode): Likewise.
49242 (grub_vbe_bios_get_mode): Likewise.
49243 (grub_vbe_bios_get_memory_window): Likewise.
49244 (grub_vbe_bios_set_scanline_length): Likewise.
49245 (grub_vbe_bios_get_scanline_length): Likewise.
49246 (grub_vbe_bios_get_display_start): Likewise.
49247 (grub_vbe_bios_set_palette_data): Likewise.
49248
49249 * normal/cmdline.c (cl_set_pos): Refresh the screen.
49250 (cl_insert): Likewise.
49251 (cl_delete): Likewise.
49252
49253 * term/gfxterm.c: New file.
49254
49255 * term/i386/pc/vesafb.c: Removed file.
49256
49257 * video/video.c: New file.
49258
49259 * video/i386/pc/vbe.c (real2pm): Added new function.
49260 (grub_video_vbe_draw_pixel): Likewise.
49261 (grub_video_vbe_get_video_ptr): Likewise.
49262 (grub_video_vbe_get_pixel): Likewise
49263 (grub_video_vbe_init): Likewise.
49264 (grub_video_vbe_fini): Likewise.
49265 (grub_video_vbe_setup): Likewise.
49266 (grub_video_vbe_get_info): Likewise.
49267 (grub_video_vbe_set_palette): Likewise.
49268 (grub_video_vbe_get_palette): Likewise.
49269 (grub_video_vbe_set_viewport): Likewise.
49270 (grub_video_vbe_get_viewport): Likewise.
49271 (grub_video_vbe_map_color): Likewise.
49272 (grub_video_vbe_map_rgb): Likewise.
49273 (grub_video_vbe_map_rgba): Likewise.
49274 (grub_video_vbe_unmap_color): Likewise.
49275 (grub_video_vbe_fill_rect): Likewise.
49276 (grub_video_vbe_blit_glyph): Likewise.
49277 (grub_video_vbe_blit_bitmap): Likewise.
49278 (grub_video_vbe_blit_render_target): Likewise.
49279 (grub_video_vbe_scroll): Likewise.
49280 (grub_video_vbe_swap_buffers): Likewise.
49281 (grub_video_vbe_create_render_target): Likewise.
49282 (grub_video_vbe_delete_render_target): Likewise.
49283 (grub_video_vbe_set_active_render_target): Likewise.
49284 (grub_vbe_set_pixel_rgb): Remove function.
49285 (grub_vbe_set_pixel_index): Likewise.
49286 (index_color_mode): Remove static variable.
49287 (active_mode): Likewise.
49288 (framebuffer): Likewise.
49289 (bytes_per_scan_line): Likewise.
49290 (grub_video_vbe_adapter): Added new static variable.
49291 (framebuffer): Likewise.
49292 (render_target): Likewise.
49293 (initial_mode): Likewise.
49294 (mode_in_use): Likewise.
49295 (mode_list): Likewise.
49296
5f97350b 492972006-03-10 Marco Gerards <marco@gnu.org>
49298
49299 * configure.ac (AC_INIT): Bumped to 1.93.
49300
49301 * DISTLIST: Added `include/grub/hfs.h'.
49302
a3c5c6f8 493032006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
49304
49305 * boot/i386/pc/boot.S (general_error): Before looping, try INT
49306 18H, which might help the BIOS falling back to next boot media.
49307
6de53d26 493082006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
49309
49310 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
49311 Poe Chen <poe.poechen@gmail.com>.
49312
77c4a393 493132006-01-17 Marco Gerards <marco@gnu.org>
49314
49315 * include/grub/normal.h: Include <grub/script.h>.
49316 (grub_command_list): Removed struct.
49317 (grub_command_list_t): Removed type.
49318 (grub_menu_entry): Remove members `num' and `command_list'. Add
49319 members `commands' and `sourcecode'.
49320 * include/grub/script.h: Add inclusion guards.
49321 (grub_script_cmd_menuentry): New struct.
49322 (grub_script_execute_menuentry): New prototype.
49323 (grub_script_lexer_record_start): Likewise.
49324 (grub_script_lexer_record_stop): Likewise.
49325 * normal/execute.c (grub_script_execute_menuentry): New function.
49326 * normal/lexer.c (record, recording, recordpos, recordlen): New
49327 variables.
49328 (grub_script_lexer_record_start): New function.
49329 (grub_script_lexer_record_stop): Likewise.
49330 (recordchar): Likewise.
49331 (nextchar): Likewise.
49332 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
49333 2048 as the buffer size. Add the tokens `menuentry' and `@'.
49334 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
49335 (current_menu): New variable.
49336 (free_menu): Mainly rewritten.
49337 (grub_normal_menu_addentry): New function.
49338 (read_config_file): Rewritten.
49339 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 49340 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 49341 the menu entry.
49342 (run): Mainly rewritten.
49343 * normal/parser.y (menu_entry): New variable.
49344 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49345 (menuentry): New rule.
49346 (command): Add `menuentry'.
49347 (if_statement): Allow additional returns before `fi'.
49348 * normal/script.c (grub_script_create_cmdmenu): New function.
49349
144f1f98 493502006-01-03 Marco Gerards <marco@gnu.org>
49351
49352 * INSTALL: GNU Bison is required.
49353 * configure.ac: Rewritten the test to detect Bison.
49354 * Makefile.in (YACC): New variable. Reported by Xun Sun
49355 <xun.sun.cn@gmail.com>.
49356
af4b2d89 493572006-01-03 Marco Gerards <marco@gnu.org>
49358
49359 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49360 the HFS+ filesystem to filesystem blocks.
49361 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49362 GCC warning is silenced.
49363
15643b71 493642006-01-03 Marco Gerards <marco@gnu.org>
49365
49366 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49367 read from disk from big endian to host byte order.
49368
00905879 493692006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49370
49371 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49372 documentation.
49373 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49374 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49375 embedded HFS+ filesystem.
49376 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49377 (grub_hfs_sblock): Move from here...
49378 * include/grub/hfs.h: To here... New file.
49379 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49380 documentation.
49381 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49382 New macros.
49383 (grub_hfsplus_volheader): Change type of member `magic' to
49384 `grub_uint16_t'.
49385 (grub_hfsplus_data): Add new member `embedded_offset'.
49386 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49387 returned block.
49388 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49389 Calculate the offset.
49390
8899bc3e 493912005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49392
49393 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49394 Removed.
49395 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49396
ae8c0277 493972005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49398
49399 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49400 ENV->NAME is NULL after allocating ENV->VALUE.
49401
07084456 494022005-12-25 Marco Gerards <marco@gnu.org>
49403
49404 * kern/env.c (grub_env_set): Rewritten the error handling code.
49405
4750f5f1 494062005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49407
49408 * geninit.sh: Made more robust, and more portable.
49409
50214199 494102005-12-25 Marco Gerards <marco@gnu.org>
49411
49412 Add support for Apple HFS+ filesystems.
f19dbdb7 49413
50214199 49414 * fs/hfsplus.c: New file.
49415
49416 * DISTLIST: Added `fs/hfsplus.c'.
49417
49418 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49419 (hfsplus_mod_SOURCES): New variable.
49420 (hfsplus_mod_CFLAGS): Likewise.
49421 (hfsplus_mod_LDFLAGS): Likewise.
49422 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49423 (grub_setup_SOURCES): Likewise.
49424 (grub_mkdevicemap_SOURCES): Likewise.
49425 (grub_emu_SOURCES): Likewise.
49426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49427
49428 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49429
49430 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49431
befaed6c 494322005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49433
49434 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49435 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49436 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49437 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49438 normal/lexer.c, normal/parser.y, normal/script.c, and
49439 partmap/gpt.c.
49440 Removed kern/sparc64/cache.c.
49441
49442 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49443 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49444 grub_emu_init.c.
49445
49446 * configure.ac (AC_INIT): Bumped to 1.92.
49447
6a124103 494482005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49449
49450 * kern/err.c (grub_error_push): Added new function to support error
49451 stacks.
49452 (grub_error_pop): Likewise.
49453 (grub_error_stack_items): New local variable to support error stacks.
49454 (grub_error_stack_pos): Likewise.
49455 (grub_error_stack_assert): Likewise.
49456 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49457 stack depth.
49458 (grub_print_error): Added support to print errors from error stack.
49459
49460 * include/grub/err.h (grub_error_push): Added function prototype.
49461 (grub_error_pop): Likewise.
49462
be973c1b 494632005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49464
49465 * configure.ac: Accept `powerpc64' as host_cpu.
49466 (amd64): Rename to `biarch32'.
49467
49468 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49469 non-cacheline-aligned addresses.
49470
49471 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
49472 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
49473 if `size' is non-zero.
49474
b04216ab 494752005-12-03 Marco Gerards <mgerards@xs4all.nl>
49476
49477 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
49478 and `cd' to make sure the filename is not prefixed with a
49479 directory name.
49480 (pkgdata_MODULES): Add `gpt.mod'.
49481 (gpt_mod_SOURCES): New variable.
49482 (gpt_mod_CFLAGS): Likewise.
49483 (gpt_mod_LDFLAGS): Likewise.
49484
49485 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49486
49487 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49488 New macro.
49489
49490 * partmap/gpt.c: New file.
49491
49492 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49493 GPT partition map is detected.
49494
41730ed9 494952005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49496
49497 * commands/i386/pc/play.c: New file.
49498 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49499 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49500 macros.
f19dbdb7 49501
95dc3643 495022005-11-27 Marco Gerards <mgerards@xs4all.nl>
49503
49504 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
49505 ((unused))' to silence gcc warning.
49506
1569ec51 495072005-11-26 Hollis Blanchard <hollis@penguinppc.org>
49508
49509 * configure.ac: Correct `AC_PROG_YACC' test.
49510
9abde152 495112005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49512
49513 * util/powerpc/ieee1275/grub-install.in: Run the mount point
49514 check before installing files.
49515
44b83271 495162005-11-22 Mike Small <smallm@panix.com>
49517
49518 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49519 number regex so multidigit numbers are recognized correctly.
49520
495212005-11-22 Mike Small <smallm@panix.com>
49522
49523 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49524 debugging message before attempting to claim memory.
49525 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49526 multiple addresses in case of failure.
49527
9c12956b 495282005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49529
49530 * term/tparm.c (get_space): Remove empty `if' statement.
49531
49532 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49533
49534 * kern/parser.c (check_varstate): Rename `state' to 's'.
49535
aeaf81d9 495362005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49537
49538 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49539 variable definitions to the beginning of each function. Sort stack
49540 variables by size.
49541 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49542 `buf' argument to `char *'.
49543
79bbb63f 495442005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49545
49546 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49547 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49548 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 49549 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49550 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49551 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49552 configfile.mod, search.mod, gzio.mod and test.mod.
49553 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49554 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49555 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49556 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49557 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49558 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49559 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49560 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49561 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49562 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49563 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49564 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49565 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49566 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49567 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49568 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49569 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49570 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49571 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49572 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49573 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49574 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49575 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49576
49577 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49578 `grep --include'.
49579 (pkgdata_MODULES): Add test.mod.
49580
233b1628 495812005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49582
49583 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49584 appending to variables with "+=".
49585 (PModule): Use full pathname to generate *.lst filenames.
49586
49587 * Makefile.in: Fixed list rules moved from genmk.rb.
49588 (.DELETE_ON_ERROR): New special target.
49589 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49590
49591 * conf/i386-pc.rmk: Include conf/common.mk.
49592 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49593 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 49594 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49595 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49596 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49597 configfile.mod, search.mod, gzio.mod and test.mod.
49598 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49599 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49600 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49601 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49602 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49603 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49604 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49605 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49606 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49607 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49608 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49609 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49610 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49611 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49612 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49613 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49614 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49615 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49616 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49617 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49618 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49619 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49620 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49621 here...
49622 * conf/common.rmk: ... to here. New file.
49623
49624 * conf/common.mk: New file.
49625
16f820c8 496262005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49627
49628 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49629 (grub_script.tab.c): ... here.
49630
49631 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49632 (grub_script.tab.c): ... here.
49633
49634 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49635 (grub_script.tab.c): ... here.
49636
49637 * normal/command.c (grub_command_find): Fixed a memory leak of
49638 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49639
63ba1554 496402005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49641
49642 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49643 "@" which marks the start of a comment on ARM.
49644 (VARIABLE): Likewise.
49645
7f67dc13 496462005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49647
79bbb63f 49648 Add support for Linux/ADFS partition tables.
7f67dc13 49649
49650 * partmap/acorn.c: New file.
49651
49652 * include/grub/acorn_filecore.h: Likewise.
49653
49654 * DISTLIST: Added `partmap/acorn.c' and
49655 `include/grub/acorn_filecore.h'.
f19dbdb7 49656
7f67dc13 49657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49658 `partmap/acorn.c'.
49659 (pkgdata_MODULES): Add `acorn.mod'.
49660 (acorn_mod_SOURCES): New variable.
49661 (acorn_mod_CFLAGS): Likewise.
49662
49663 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49664 `partmap/acorn.c'.
49665 (pkgdata_MODULES): Add `acorn.mod'.
49666 (acorn_mod_SOURCES): New variable.
49667 (acorn_mod_CFLAGS): Likewise.
49668
49669 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49670 (pkgdata_MODULES): Add `acorn.mod'.
49671 (acorn_mod_SOURCES): New variable.
49672 (acorn_mod_CFLAGS): Likewise.
49673 (acorn_mod_LDFLAGS): Likewise.
49674
49675 * include/types.h (grub_disk_addr_t): New typedef.
49676
6d099807 496772005-11-13 Marco Gerards <mgerards@xs4all.nl>
49678
49679 * geninit.sh: New file.
49680
49681 * geninitheader.sh: Likewise.
49682
49683 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49684 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49685 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49686 * commands/configfile.c (grub_configfile_init)
49687 (grub_configfile_fini): Likewise.
49688 * commands/default.c (grub_default_init, grub_default_fini):
49689 Likewise.
49690 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49691 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49692 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49693 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49694 Likewise.
49695 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49696 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49697 Likewise.
49698 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 49699 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 49700 Likewise.
49701 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49702 Likewise.
fe6b695a 49703 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 49704 Likewise.
49705 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49706 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49707 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49708 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49709 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49710 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49711 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49712 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49713 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49714 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49715 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49716 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49717 * partmap/amiga.c (grub_amiga_partition_map_init)
49718 (grub_amiga_partition_map_fini): Likewise.
49719 * partmap/apple.c (grub_apple_partition_map_init)
49720 (grub_apple_partition_map_fini): Likewise.
49721 * partmap/pc.c (grub_pc_partition_map_init)
49722 (grub_pc_partition_map_fini): Likewise.
49723 * partmap/sun.c (grub_sun_partition_map_init,
49724 grub_sun_partition_map_fini): Likewise.
49725 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49726 Likewise.
49727
49728 * util/grub-emu.c: Include <grub_modules_init.h>.
49729 (main): Don't initialize and de-initialize any modules directly,
49730 use `grub_init_all' and `grub_fini_all' instead.
49731
49732 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49733 `grub_vesafb_mod_init'.
49734 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49735 all users.
49736 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49737 `grub_vga_mod_init'. Updated all users.
49738 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 49739
6d099807 49740 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49741 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49742 rules.
49743
49744 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49745 Generate a function to initialize the module in utilities.
49746 Updated all callers.
49747 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49748 initialize the module in utilities. Updated all callers.
49749
9046bcf0 497502005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49751
49752 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49753 escape sequence and a literal ^L to clear the screen.
49754
49755 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49756 when returning from Open Firmware.
49757
d13ea639 497582005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49759
49760 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49761 (grub_ofconsole_height): Likewise.
49762 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49763 manually insert a '\n'.
49764 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49765 `grub_ofconsole_height'. Return early if these are already set.
49766
a8fcf206 497672005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49768
49769 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49770 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49771 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49772 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49773 and `normal/script.c'.
49774 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49775 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49776 (test_mod_SOURCES): New variable.
49777 (test_mod_CFLAGS): Likewise.
49778 (test_mod_LDFLAGS): Likewise.
49779 (pkgdata_MODULES): Add `test.mod'.
49780 (grub_script.tab.c): New rule.
49781 (grub_script.tab.h): Likewise.
49782
b6b32745 497832005-11-07 Marco Gerards <mgerards@xs4all.nl>
49784
49785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49786 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49787 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49788 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49789 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49790 (test_mod_SOURCES): New variable.
49791 (test_mod_CFLAGS): Likewise.
49792 (pkgdata_MODULES): Add `test.mod'.
49793 (grub_script.tab.c): New rule.
49794 (grub_script.tab.h): Likewise.
49795
daac212a 497962005-11-06 Marco Gerards <mgerards@xs4all.nl>
49797
49798 Add initial scripting support.
49799
49800 * commands/test.c: New file.
49801 * include/grub/script.h: Likewise.
49802 * normal/execute.c: Likewise.
49803 * normal/function.c: Likewise.
49804 * normal/lexer.c: Likewise.
49805 * normal/parser.y: Likewise.
49806 * normal/script.c: Likewise.
49807
49808 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49809
daac212a 49810 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49811 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49812 `normal/function.c' and `normal/script.c'.
49813 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49814 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49815 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49816 variables.
daac212a 49817 (pkgdata_MODULES): Add `test.mod'.
49818 (grub_script.tab.c): New rule.
49819 (grub_script.tab.h): Likewise.
49820
49821 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49822
49823 * include/grub/normal.h (grub_test_init): New prototype.
49824 (grub_test_fini): Likewise.
f19dbdb7 49825
daac212a 49826 * normal/command.c: Include <grub/script.h>.
49827 (grub_command_execute): Rewritten.
f19dbdb7 49828
daac212a 49829 * util/grub-emu.c (main): Call `grub_test_init' and
49830 `grub_test_fini'.
49831
77500b2b 498322005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49833
49834 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49835 to 0.
49836 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49837 there are no pending characters.
49838
e45deb9e 498392005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49840
49841 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49842 `grub_strndup' to drop device arguments. Replace unnecessary
49843 `grub_strndup' with `grub_strdup'.
49844
4ce32619 498452005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49846
49847 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49848 `debug' environment variable has been set.
49849
498502005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49851
4ce32619 49852 * Makefile.in (install-local): Use $(DATA).
49853 (uninstall): Likewise.
49854 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49855 (sbin_UTILITIES): ... to here.
49856 (sbin_SCRIPTS): New variable.
49857 (grub_install_SOURCES): New variable.
49858 * util/powerpc/ieee1275/grub-install.in: New file.
49859 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49860 variable.
49861 (add_segments): Call `grub_util_get_path'.
49862
25fe6f03 498632005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49864
49865 From Timothy Baldwin:
49866 * commands/ls.c (grub_ls_list_files): Close FILE with
49867 grub_file_close.
49868 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49869
04ccf3ec 498702005-10-24 Marco Gerards <mgerards@xs4all.nl>
49871
49872 * include/grub/parser.h: New file.
49873
49874 * kern/parser.c: Likewise.
49875
49876 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49877 (grub_setup_SOURCES): Likewise.
49878 (grub_probefs_SOURCES): Likewise.
49879 (grub_emu_SOURCES): Likewise.
49880 (kernel_img_HEADERS): Add `parser.h'.
49881
49882 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49883 (grub_emu_SOURCES): Add `kern/parser.c'.
49884 (grubof_SOURCES): Likewise.
49885
49886 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49887 (grubof_SOURCES): Add `kern/parser.c'.
49888
49889 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49890
49891 * kern/misc.c (grub_split_cmdline): Removed function.
49892
49893 * kern/rescue.c: Include <grub/parser.h>.
49894 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49895 of `grub_split_cmdline'.
49896
49897 * normal/command.c: Include <grub/parser.h>.
49898 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49899 of `grub_split_cmdline'.
49900
49901 * normal/completion.c: Include <grub/parser.h>.
49902 (cmdline_state): New variable.
49903 (iterate_dir): End the filename with a quote depending on the
49904 command line state.
49905 (get_state): new function.
49906 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49907 split the arguments and determine the current argument. When the
49908 argument string is not quoted, escape all spaces.
49909
6d8f4b0e 499102005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49911
49912 * normal/sparc64/setjmp.S: New file.
49913
15cf03ed 499142005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49915
49916 * include/grub/sparc64/libgcc.h: New file.
49917 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49918 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49919 normal/sparc64/setjmp.c.
49920
03e8661a 499212005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49922
49923 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49924 * kern/sparc64/cache.S: New file.
49925 * kern/sparc64/cache.c: Removed.
49926 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49927 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49928 -mtune=ultrasparc.
49929 (COMMON_LDFLAGS): Add -melf64_sparc.
49930 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49931 (grubof_SOURCES): Use cache.S instead of cache.c.
49932 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49933 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49934 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49935 commented though.
49936 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49937 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49938 (linux_mod_CFLAGS): Commented out.
49939 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49940 out because module isn't built.
49941 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49942 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49943 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49944 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49945 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49946 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49947 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49948 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49949 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49950 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49951 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49952 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49953 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49954 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49955
34eeec8a 499562005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49957
49958 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49959 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49960 longer, because HFS should not be used on PC.
49961
708367a3 499622005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49963
49964 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49965 consistently within the loop.
49966
6fa1251a 499672005-10-15 Marco Gerards <mgerards@xs4all.nl>
49968
49969 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49970 directory can not be read.
49971
4801580b 499722005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49973
49974 * configure.ac (AC_INIT): Increase the version number to 1.91.
49975
49976 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49977 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49978 term/i386/pc/serial.c.
49979
219ad426 499802005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49981
49982 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49983 file size must be permitted.
49984
49985 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49986 between %ah and %al.
49987
688e5699 499882005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49989
49990 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49991 grub_uint64_t.
49992 Call the hook with a NUL-terminated filename.
49993 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49994 grub_cpu_to_be32.
49995
49996 * kern/term.c (cursor_state): New variable.
49997 (grub_term_set_current): Reset the cursor state on a new
49998 terminal.
49999 (grub_setcursor): Rewritten to use CURSOR_STATE.
50000 (grub_getcursor): New function.
50001
50002 * include/grub/term.h (grub_getcursor): New prototype.
50003
50004 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
50005 integers on ARM. Reported by Timothy Baldwin
50006 <T.E.Baldwin99@members.leeds.ac.uk>.
50007
bb34586c 500082005-10-11 Marco Gerards <mgerards@xs4all.nl>
50009
50010 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
50011 allocated.
50012 (grub_sfs_dir): Likewise.
50013
9a909877 500142005-10-09 Marco Gerards <mgerards@xs4all.nl>
50015
50016 Add support for the SFS filesystem.
50017
50018 * fs/sfs.c: New file.
50019
50020 * DISTLIST: Added `fs/sfs.c'.
50021
50022 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
50023 (grub_probefs_SOURCES): Likewise.
50024 (grub_emu_SOURCES): Likewise.
50025 (pkgdata_MODULES): Add `sfs.mod'.
50026 (sfs_mod_SOURCES): New variable.
50027 (sfs_mod_CFLAGS): Likewise.
50028 (sfs_mod_LDFLAGS): Likewise.
50029
50030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
50031 (pkgdata_MODULES): Add `sfs.mod'.
50032 (sfs_mod_SOURCES): New variable.
50033 (sfs_mod_CFLAGS): Likewise.
50034
50035 * util/grub-emu.c (main): Call `grub_sfs_init' and
50036 `grub_sfs_fini'.
50037
50038 * include/grub/fs.h (grub_sfs_init): New prototype.
50039 (grub_sfs_fini): Likewise.
50040
57bdbde3 500412005-10-07 Marco Gerards <mgerards@xs4all.nl>
50042
50043 Add support for the AFFS filesystem.
50044
50045 * fs/affs.c: New file.
50046
50047 * DISTLIST: Added `fs/affs.c'.
50048
50049 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
50050 (grub_probefs_SOURCES): Likewise.
50051 (grub_emu_SOURCES): Likewise.
50052 (pkgdata_MODULES): Add `affs.mod'.
50053 (affs_mod_SOURCES): New variable.
50054 (affs_mod_CFLAGS): Likewise.
50055 (affs_mod_LDFLAGS): Likewise.
50056
50057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
50058 (pkgdata_MODULES): Add `affs.mod'.
50059 (affs_mod_SOURCES): New variable.
50060 (affs_mod_CFLAGS): Likewise.
50061
50062 * util/grub-emu.c (main): Call `grub_affs_init' and
50063 `grub_affs_fini'.
50064
50065 * include/grub/fs.h (grub_affs_init): New prototype.
50066 (grub_affs_fini): Likewise.
50067
047b67e0 500682005-10-01 Marco Gerards <mgerards@xs4all.nl>
50069
50070 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
50071
59b8208a 500722005-10-01 Marco Gerards <mgerards@xs4all.nl>
50073
50074 * configure.ac: Accept `x86_64' as host_cpu. In that case add
50075 `-m32' to CFLAGS.
50076
50077 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
50078 linking.
f19dbdb7 50079
59b8208a 50080 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
50081 (COMMON_LDFLAGS): New variable.
50082 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
50083 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
50084 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
50085 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
50086 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
50087 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
50088 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
50089 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
50090 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
50091 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
50092 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50093 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50094 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
50095 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
50096 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
50097 variables.
50098 (normal_mod_ASFLAGS): Add `-m32'.
50099
50100 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
50101 (grub_host_size_t, grub_host_ssize_t): New types.
50102 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 50103 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 50104 `GRUB_HOST_SIZEOF_VOID_P'.
50105
50106 * include/grub/kernel.h (struct grub_module_header): Type of
50107 member offset changed to `grub_host_off_t'. Type of member size
50108 changed to `grub_host_size_t'.
50109 (struct grub_module_info): Type of member offset changed to
50110 `grub_host_off_t'. Type of member size changed to
50111 `grub_host_size_t'.
50112
b4093103 501132005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
50114
50115 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 50116
b4093103 50117 * kern/i386/pc/startup.S (multiboot_header): New label.
50118 (multiboot_entry): Likewise.
50119 (multiboot_trampoline): Likewise.
50120
50121 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50122 Increased to 0x4A0.
50123
50124 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
50125 put parentheses after a question mark.
50126 [!GRUB_UTIL] (my_mod): New variable.
50127
50128 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
50129
b2499b29 501302005-09-28 Marco Gerards <mgerards@xs4all.nl>
50131
50132 Adds support for the XFS filesystem. Btrees are not supported
50133 yet.
50134
50135 * fs/xfs.c: New file.
50136
50137 * DISTLIST: Added `fs/xfs.c'.
50138
50139 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
50140 (grub_probefs_SOURCES): Likewise.
50141 (grub_emu_SOURCES): Likewise.
50142 (pkgdata_MODULES): Add `xfs.mod'.
50143 (xfs_mod_SOURCES): New variable.
50144 (xfs_mod_CFLAGS): Likewise.
50145
50146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
50147 (pkgdata_MODULES): Add `xfs.mod'.
50148 (xfs_mod_SOURCES): New variable.
50149 (xfs_mod_CFLAGS): Likewise.
50150
50151 * util/grub-emu.c (main): Call `grub_xfs_init' and
50152 `grub_xfs_fini'.
50153
50154 * include/grub/fs.h (grub_xfs_init): New prototype.
50155 (grub_xfs_fini): Likewise.
50156
f19dbdb7 50157
83d37a62 501582005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
50159
50160 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
50161 color modes, allow greater than 16 colors to be configured as
50162 a default palette.
50163
47d2d65e 501642005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
50165
50166 * normal/completion.c (complete_arguments): Add the qualifier
50167 const into OPTIONS.
50168
50169 From Omniflux <omniflux+lists@omniflux.com>:
50170 * include/grub/terminfo.h: New file.
50171 * include/grub/tparm.h: Likewise.
50172 * include/grub/i386/pc/serial.h: Likewise.
50173 * term/terminfo.c: Likewise.
50174 * term/tparm.c: Likewise.
50175 * term/i386/pc/serial.c: Likewise.
50176 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
50177 serial.mod.
50178 (terminfo_mod_SOURCES): New variable.
50179 (terminfo_mod_CFLAGS): Likewise.
50180 (serial_mod_SOURCES): Likewise.
50181 (serial_mod_CFLAGS): Likewise.
50182
48b671ff 501832005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
50184
50185 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
50186 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
50187 and kern/powerpc/ieee1275/cmain.c, respectively.
50188
50189 * boot/powerpc/ieee1275/crt0.S: Moved to ...
50190 * kern/powerpc/ieee1275/crt0.S: ... here.
50191
50192 * boot/powerpc/ieee1275/cmain.c: Moved to ...
50193 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 50194
48b671ff 50195 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
50196 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
50197 instead of boot/powerpc/ieee1275/crt0.S and
50198 boot/powerpc/ieee1275/cmain.c, respectively.
50199
50200 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
50201 sectors. It was not used anyway.
50202
09fc77a7 502032005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50204
50205 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
50206 `unused parameter' warning.
50207
003789c7 502082005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50209
50210 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
50211 function.
50212 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
50213 getcharwidth.
50214
67f44c86 502152005-08-28 Marco Gerards <metgerards@student.han.nl>
50216
50217 * include/grub/normal.h (enum grub_completion_type): Added
50218 `GRUB_COMPLETION_TYPE_ARGUMENT'.
50219
50220 * normal/cmdline.c (print_completion): Handle
50221 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
50222 * normal/menu_entry.c (store_completion): Likewise.
50223
50224 * normal/completion.c (complete_arguments): New function.
50225 (grub_normal_do_completion): Call `complete_arguments' when the
50226 current words start with a dash.
50227
0b5abe02 502282005-08-27 Marco Gerards <metgerards@student.han.nl>
50229
50230 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
50231 `gzio.mod' instead of `io.mod').
50232
d9864ee1 502332005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
50234
50235 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
50236 (DISTDIRS): Added io and video.
50237 Rewrite the search routine to make an output consistently.
50238
50239 * DISTLIST: Added conf/sparc64-ieee1275.mk,
50240 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
50241 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
50242 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
50243 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
50244 util/powerpc/ieee1275/misc.c.
f19dbdb7 50245
d9864ee1 50246 * include/grub/gzio.h: New file.
50247 * io/gzio.c: Likewise.
f19dbdb7 50248
d9864ee1 50249 * kern/file.c (grub_file_close): Call grub_device_close only if
50250 FILE->DEVICE is not NULL.
50251
50252 * include/grub/mm.h [!NULL] (NULL): New macro.
50253
50254 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
50255
50256 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
50257 (pkgdata_MODULES): Added gzio.mod.
50258 (gzio_mod_SOURCES): New variable.
50259 (gzio_mod_CFLAGS): Likewise.
50260
50261 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
50262 (pkgdata_MODULES): Added gzio.mod.
50263 (gzio_mod_SOURCES): New variable.
50264 (gzio_mod_CFLAGS): Likewise.
50265
50266 * commands/cat.c: Include grub/gzio.h.
50267 (grub_cmd_cat): Use grub_gzfile_open instead of
50268 grub_file_open.
f19dbdb7 50269
d9864ee1 50270 * commands/cmp.c: Include grub/gzio.h.
50271 (grub_cmd_cmp): Use grub_gzfile_open instead of
50272 grub_file_open.
50273
50274 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
50275 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
50276 grub_file_open.
50277 (grub_rescue_cmd_module): Likewise.
50278
fa46f4b5 502792005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50280
50281 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
50282 kern/sparc64/ieee1275/init.c because it contains _start.
50283 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
50284
e9211b5d 502852005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50286
50287 * configure.ac: Add support for sparc64 host with ieee1275
50288 firmware.
50289 * configure: Generated from configure.ac.
50290 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
50291 instead of int.
50292 (grub_ofdisk_read): Likewise.
50293 (grub_ofdisk_open): Use %p to print pointer values, and cast the
50294 pointers as (void *) to remove a warning.
50295 (grub_ofdisk_close): Likewise.
50296 (grub_ofdisk_read): Likewise.
50297 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
50298 returns, so make it return void to remove a warning.
50299 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
50300 Corresponding prototype change.
50301 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
50302 values, and cast the pointers as (void *) to remove a warning.
50303 (grub_mm_dump): Likewise.
50304 * conf/sparc64-ieee1275.mk: New file.
50305 * conf/sparc64-ieee1275.rmk: Likewise.
50306 * include/grub/sparc64/setjmp.h: Likewise.
50307 * include/grub/sparc64/types.h: Likewise.
50308 * include/grub/sparc64/ieee1275/console.h: Likewise.
50309 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
50310 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
50311 * include/grub/sparc64/ieee1275/time.h: Likewise.
50312 * kern/sparc64/cache.c: Likewise.
50313 * kern/sparc64/dl.c: Likewise.
50314 * kern/sparc64/ieee1275/init.c: Likewise.
50315 * kern/sparc64/ieee1275/openfw.c: Likewise.
50316
385c6a92 503172005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50318
50319 * util/console.c (grub_ncurses_putchar): If C is greater than
50320 0x7f, set C to a question mark.
50321 (grub_ncurses_getcharwidth): New function.
50322 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
50323 getcharwidth.
50324
50325 * normal/menu.c (print_entry): Made aware of Unicode. First,
50326 convert TITLE to UCS-4, and predict the cursor position by
50327 grub_getcharwidth.
50328
50329 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
50330 const to SRC.
50331 * kern/misc.c (grub_utf16_to_utf8): Likewise.
50332
16ccb8b1 503332005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50334
50335 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
50336 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50337 grub_strcat.
50338
50339 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
50340 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50341 grub_strcpy and grub_strlen. Take it into account that a space
50342 character is inserted as a delimiter.
50343
6a85ce79 503442005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50345
50346 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 50347 invalid magic in the error.
6a85ce79 50348
50349 * commands/search.c: New file.
f19dbdb7 50350
6a85ce79 50351 * util/grub-emu.c (main): Call grub_search_init and
50352 grub_search_fini.
50353
50354 * kern/rescue.c (grub_rescue_print_disks): Removed.
50355 (grub_rescue_print_devices): New function.
50356 (grub_rescue_cmd_ls): Use grub_device_iterate with
50357 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50358 grub_rescue_print_disks.
50359
50360 * kern/partition.c (grub_partition_iterate): Return the result of
50361 PARTMAP->ITERATE instead of GRUB_ERRNO.
50362
50363 * kern/device.c: Include grub/partition.h.
50364 (grub_device_iterate): New function.
50365
50366 * include/grub/partition.h (grub_partition_iterate): Return int
50367 instead of grub_err_t.
50368
50369 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50370 prototype.
50371 [GRUB_UTIL] (grub_search_fini): Likewise.
50372
50373 * include/grub/device.h (grub_device_iterate): New prototype.
50374
50375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50376 commands/search.c.
50377 (pkgdata_MODULES): Added search.mod.
50378 (search_mod_SOURCES): New variable.
50379 (search_mod_CFLAGS): Likewise.
50380
50381 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50382 (pkgdata_MODULES): Added search.mod.
50383 (search_mod_SOURCES): New variable.
50384 (search_mod_CFLAGS): Likewise.
50385
50386 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50387 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50388 All callers changed.
50389
50390 * DISTLIST: Added commands/search.c.
50391
ef095434 503922005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50393
50394 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50395 conversion.
50396 (grub_getcharwidth): New function.
50397
50398 * kern/misc.c (grub_utf8_to_ucs4): New function.
50399
50400 * include/grub/term.h (struct grub_term): Added a new member
50401 "getcharwidth".
50402 (grub_getcharwidth): New prototype.
50403
50404 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50405
50406 * term/i386/pc/console.c (map_char): New function. Segregated from
50407 grub_console_putchar.
50408 (grub_console_putchar): Use map_char.
50409 (grub_console_getcharwidth): New function.
50410 (grub_console_term): Specified grub_console_getcharwidth as
50411 getcharwidth.
50412
50413 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50414 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50415
50416 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50417 GRUB_ERRNO.
50418 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50419 on grub_strtoul completely.
50420 (write_char): Declare local variables in the beginning of the
50421 function.
50422 (grub_vesafb_getcharwidth): New function.
50423 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50424 getcharwidth.
50425
1f0a95e4 504262005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50427
50428 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50429 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50430 commands/i386/pc/vbetest.c.
50431
50432 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50433 call grub_vbe_get_controller_info again, because the returned
50434 information is volatile.
50435 (grub_vbe_set_video_mode): Mostly rewritten.
50436 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50437 grub_vbe_status_t correctly.
50438 (grub_vbe_get_video_mode_info): Likewise.
50439 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50440 several if statements.
50441
50442 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50443 * commands/i386/pc/vbeinfo.c: ... this.
50444
50445 * commands/i386/pc/vbe_test.c: Renamed to ...
50446 * commands/i386/pc/vbetest.c: ... this.
50447
50448 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50449 ...
50450 (grub_cmd_vbeinfo): ... this. Save video modes before
50451 iterating. Skip a video mode, if it is not available, not enough
50452 information is given or it is monochrome. Show the memory
50453 model. Leave the interpretation of MODEVAR to grub_strtoul
50454 completely.
50455 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50456 (GRUB_MOD_FINI): Likewise.
50457
50458 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50459 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50460 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50461 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50462 grub_strtoul completely.
50463 (real2pm): Removed.
50464 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50465 (GRUB_MOD_FINI): Likewise.
50466
50467 * normal/misc.c: Include grub/mm.h.
50468
50469 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50470 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50471 (vbe_list_modes_mod_SOURCES): Removed.
50472 (vbe_list_modes_mod_CFLAGS): Likewise.
50473 (vbe_test_mod_SOURCES): Likewise.
50474 (vbe_test_mod_CFLAGS): Likewise.
50475 (vbeinfo_mod_SOURCES): New variable.
50476 (vbeinfo_mod_CFLAGS): Likewise.
50477 (vbetest_mod_SOURCES): Likewise.
50478 (vbetest_mod_CFLAGS): Likewise.
50479
992ffbbe 504802005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
50481
50482 * normal/misc.c: New file.
50483
50484 * DISTLIST: Added normal/misc.c.
f19dbdb7 50485
992ffbbe 50486 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50487 DISK to HOOK. Call HOOK with DISK.
50488 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50489 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50490 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50491
50492 * normal/menu_entry.c (struct screen): Added a new member
50493 "completion_shown".
50494 (completion_buffer): New global variable.
50495 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50496 (store_completion): New function.
50497 (complete): Likewise.
50498 (clear_completions): Likewise.
50499 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50500 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
50501 a tab, call complete.
50502
50503 * normal/completion.c (disk_dev): Removed.
50504 (print_simple_completion): Likewise.
50505 (print_partition_completion): Likewise.
50506 (print_func): New global variable.
50507 (add_completion): Do not take the arguments WHAT or PRINT any
50508 longer. Added a new argument TYPE. Instead of printing directly,
50509 call PRINT_FUNC if not NULL.
50510 All callers changed.
50511 (complete_device): Use a local variable DEV instead of
50512 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
50513 (grub_normal_do_completion): Take a new argument HOOK. Do not
50514 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50515 empty string, return NULL instead.
50516 All callers changed.
50517
50518 * normal/cmdline.c (print_completion): New function.
50519
50520 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50521 to HOOK.
50522 All callers changed.
50523
50524 * kern/disk.c (grub_print_partinfo): Removed.
50525
50526 * include/grub/partition.h (struct grub_partition_map): Add a new
50527 argument DISK into HOOK of ITERATE.
50528 (grub_partition_iterate): Add a new argument DISK to HOOK.
50529
50530 * include/grub/normal.h (enum grub_completion_type): New enum.
50531 (grub_completion_type_t): New type.
50532 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50533 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50534 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50535 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50536 (grub_normal_do_completion): Added a new argument HOOK.
50537 (grub_normal_print_device_info): New prototype.
50538
50539 * include/grub/disk.h (grub_print_partinfo): Removed.
50540
50541 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50542 (normal_mod_SOURCES): Likewise.
50543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50544 (normal_mod_SOURCES): Likewise.
50545
50546 * commands/ls.c (grub_ls_list_disks): Use
50547 grub_normal_print_device_info instead of grub_print_partinfo. Free
50548 PNAME.
50549 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50550 duplicating the code.
50551
0bd41162 505522005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50553
50554 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 50555 follow GCS more precisely.
50556 * commands/i386/pc/vbe_test.c: Likewise.
50557 * include/grub/i386/pc/vbe.h: Likewise.
50558 * term/i386/pc/vesafb.c: Likewise.
50559 * video/i386/pc/vbe.c: Likewise.
0bd41162 50560
6323696a 505612005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50562
50563 * DISTLIST: Added term/i386/pc/vesafb.c
50564 DISTLIST: Added video/i386/pc/vbe.c
50565 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50566 DISTLIST: Added commands/i386/pc/vbe_test.c.
50567 * commands/i386/pc/vbe_list_modes.c: New file.
50568 * commands/i386/pc/vbe_test.c: Likewise.
50569 * term/i386/pc/vesafb.c: Likewise.
50570 * video/i386/pc/vbe.c: Likewise.
50571 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50572 (grub_vbe_probe) Added prototype.
50573 (grub_vbe_set_video_mode) Likewise.
50574 (grub_vbe_get_video_mode) Likewise.
50575 (grub_vbe_get_video_mode_info) Likewise.
50576 (grub_vbe_set_pixel_rgb) Likewise.
50577 (grub_vbe_set_pixel_index) Likewise.
50578 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50579 (pkgdata_MODULES): Added vesafb.mod.
50580 (pkgdata_MODULES): Added vbe_list_modes.mod.
50581 (pkgdata_MODULES): Added vbe_test.mod.
50582 (vbe_mod_SOURCES): Added.
50583 (vbe_mod_CFLAGS): Likewise.
50584 (vesafb_mod_SOURCES): Likewise.
50585 (vesafb_mod_CFLAGS): Likewise.
50586 (vbe_list_modes_mod_SOURCES): Likewise.
50587 (vbe_list_modes_mod_CFLAGS): Likewise.
50588 (vbe_test_mod_SOURCES): Likewise.
50589 (vbe_test_mod_CFLAGS): Likewise.
50590
0a74e62f 505912005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50592
0a74e62f 50593 * normal/command.c (grub_command_execute): If INTERACTIVE is
50594 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50595 CMDLINE. Disable the pager if INTERACTIVE is true.
50596 All callers are changed.
50597
50598 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50599 before reading a config file.
50600 * normal/main.c (read_config_file): Even if a command is not
50601 found, register it if it is within an entry.
50602
50603 * util/grub-emu.c: Include sys/types.h and unistd.h.
50604 (options): Added --hold.
50605 (struct arguments): Added a new member "hold".
50606 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50607 missing.
50608 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50609 cleared by a debugger, if it is not zero.
50610
50611 * include/grub/normal.h (grub_command_execute): Add an argument
50612 INTERACTIVE.
50613
e51f85ae 506142005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50615
50616 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50617
e9c6f39b 506182005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50619
50620 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50621 program with another one, because the old one didn't detect a bug
50622 in gcc-3.4. Always use regparm 2, because the new test is still
50623 not enough for gcc-4.0. Someone must investigate a simple test
50624 case which detects a bug in gcc-4.0.
50625
8de3495c 506262005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50627
50628 * DISTLIST: Added normal/completion.c.
50629
50630 * normal/completion.c: New file.
f19dbdb7 50631
8de3495c 50632 * term/i386/pc/console.c (grub_console_getwh): New function.
50633 (grub_console_term): Assign grub_console_getwh to getwh.
50634
50635 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50636 function is defined in normal/completion.c as
50637 grub_normal_do_completion.
50638 (grub_cmdline_get): Use grub_normal_do_completion instead of
50639 grub_tab_complete.
50640
50641 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50642 returns non-zero, otherwise return 0.
50643 (grub_partition_iterate): First, probe the partition map. Then,
50644 call ITERATE only for this partition map.
50645
50646 * kern/misc.c (grub_strncmp): Rewritten.
50647
50648 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50649 returns non-zero. Otherwise return 0.
50650
50651 * include/grub/partition.h (grub_partition_map_iterate): Return
50652 int instead of void.
50653
50654 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50655
50656 * include/grub/misc.h (grub_strncmp): Change the type of N to
50657 grub_size_t.
50658
50659 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50660 of void.
50661
50662 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50663 unsigned explicitly before comparing it with I.
8de3495c 50664
50665 * kern/main.c (grub_env_write_root): Add the attribute unused into
50666 VAR.
50667
50668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50669 normal/completion.c.
50670 (normal_mod_SOURCES): Likewise.
50671 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50672 (normal_mod_SOURCES): Likewise.
50673
50674 * normal/command.c (grub_iterate_commands): If ITERATE returns
50675 non-zero, return one immediately.
50676
e85e144b 506772005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50678
50679 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50680 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50681 descriptions.
50682 (grub_vbe_get_controller_info): New function.
50683 (grub_vbe_get_mode_info): Likewise.
50684 (grub_vbe_set_mode): Likewise.
50685 (grub_vbe_get_mode): Likewise.
50686 (grub_vbe_set_memory_window): Likewise.
50687 (grub_vbe_get_memory_window): Likewise.
50688 (grub_vbe_set_scanline_length): Likewise.
50689 (grub_vbe_get_scanline_length): Likewise.
50690 (grub_vbe_set_display_start): Likewise.
50691 (grub_vbe_get_display_start): Likewise.
50692 (grub_vbe_set_palette_data): Likewise.
50693 * include/grub/i386/pc/vbe.h: New file.
50694
c46153d2 506952005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50696
50697 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50698 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50699 * DISTLIST: Likewise.
50700 * kern/ieee1275/of.c: Moved to ...
50701 * kern/ieee1275/ieee1275.c: ... here.
50702
0cb90c45 507032005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50704
50705 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50706 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50707 Pass 0 as `end' parameter to grub_strtoul().
50708
a19fb360 507092005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50710
50711 * include/grub/powerpc/ieee1275/console.h: Do not include
50712 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50713 ifdef.
50714 (grub_console_cur_color): Remove i386-specific prototype.
50715 (grub_console_real_putchar): Likewise.
50716 (grub_console_checkkey): Likewise.
50717 (grub_console_getkey): Likewise.
50718 (grub_console_getxy): Likewise.
50719 (grub_console_gotoxy): Likewise.
50720 (grub_console_cls): Likewise.
50721 (grub_console_setcursor): Likewise.
50722 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50723 Include <grub/machine/console.h>.
50724 * term/ieee1275/ofconsole.c: Likewise.
50725
4ac9bd04 507262005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50727
50728 * Makefile.in (LIBLZO): New variable.
50729
50730 * configure.ac: Check for LZO version 2.
50731
50732 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50733 lzo/lzo1x.h instead of lzo1x.h.
50734
50735 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50736 of -llzo.
50737
50738 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50739 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50740
50741 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50742 copying the data from PARTITION to P.
50743
f4917dfd 507442005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50745
50746 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50747 negative, unload the module.
50748
50749 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50750 map is "pc_partition_map" but not "pc".
50751 (usage): Fix the description. The options are --boot-image and
50752 --core-image but not --boot-file or --core-file.
50753 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50754 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50755 DEFAULT_DIRECTORY.
50756
50757 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50758 --core-file. Specify INSTALL_DEVICE as an argument.
50759
50760 * util/console.c: Include config.h.
50761 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50762 [HAVE_NCURSES_H]: Include ncurses.h.
50763 [HAVE_CURSES_H]: Include curses.h.
50764 [!A_NORMAL] (A_NORMAL): Defined as zero.
50765 [!A_STANDOUT] (A_STANDOUT): Likewise.
50766
50767 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50768 -lncurses.
50769 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50770
50771 * configure.ac: Check for curses libraries and headers.
50772
50773 * Makefile.in (LIBCURSES): New variable.
50774
50775 * genmk.rb (Script::rule): Set the executable bits.
50776
50777 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50778 name of the PC partition map is "pc_partition_map" but not "pc".
50779
0e143073 507802005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50781
50782 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50783 (modules): Likewise.
50784 (usage): Added descriptions for --modules and --grub-probefs.
50785 Handle --modules and --grub-probefs. Save the arguments in MODULES
50786 and GRUB_PROBEFS, respectively.
50787 Auto-detect a filesystem module against GRUBDIR. If the result is
50788 empty and modules are not specified explicitly, abort the
50789 installation. Add the result to MODULES.
50790
50791 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50792 disk/powerpc/ieee1275/ofdisk.c,
50793 include/grub/powerpc/ieee1275/init.h and
50794 term/powerpc/ieee1275/ofconsole.c.
50795 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50796 term/ieee1275/ofconsole.c.
50797
50798 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50799
50800 * COPYING: Upgraded to the latest version. Only the address of the
50801 FSF office has changed.
f19dbdb7 50802
efd6e6d5 508032005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50804
50805 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50806 kern/ieee1275.c with kern/ieee1275/of.c.
50807
50808 * kern/ieee1275.c: Moved to ...
50809 * kern/ieee1275/of.c: ... here.
50810
8ceafda2 508112005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50812
50813 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50814 readability.
8ceafda2 50815
50816 * config.guess: Updated to the latest version from gnulib.
50817 * config.sub: Likewise.
50818 * install.sh: Likewise.
50819 * mkinstalldirs: Likewise.
50820
50821 * include/grub/console.h: Removed. This file is arch-specific. Do
50822 not put this in include/grub.
50823
50824 * include/grub/i386/pc/console.h: Resurrected.
50825
50826 * util/console.c: Include grub/machine/console.h instead of
50827 grub/console.h.
50828 * util/grub-emu.c: Likewise.
50829
267f6cd9 508302005-08-04 Marco Gerards <metgerards@student.han.nl>
50831
50832 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50833 hardcoded value.
f19dbdb7 50834
267f6cd9 50835 From Vincent Pelletier <subdino2004@yahoo.fr>
50836 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50837 Redefined to use grub_getwh.
50838 (grub_term): New member named getwh.
50839 (grub_getwh): New prototype.
50840 * kern/term.c (grub_getwh): New function.
50841 * term/i386/pc/console.c (grub_console_getwh): New function.
50842 (grub_console_term): New member `getwh'.
50843 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50844 (grub_vga_term): New member `getwh'.
0b5abe02 50845 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50846 grub_ssize_t.
50847 (grub_ofconsole_getw): New function.
50848 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50849 (grub_ofconsole_term): New field named getwh and new initial
50850 value.
50851
3be7266d 508522005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50853
50854 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50855 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50856 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50857 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50858 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50859 of <grub/machine/ieee1275.h>.
50860 * commands/ieee1275/reboot.c: Likewise.
50861 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50862 * kern/ieee1275.c: ... to here. All users updated. Change all
50863 parameter structs to use new type `grub_ieee1275_cell_t'.
50864 * term/powerpc/ieee1275/ofconsole.c: Move ...
50865 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50866 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50867 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50868 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50869 to return int.
50870 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50871 Remove unused prototypes. All users updated.
50872 * include/grub/powerpc/ieee1275/console.h: Removed.
50873 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50874 `grub_ieee1275_cell_t'.
50875 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50876 Cast comparisons with -1 to the correct type.
50877 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50878 type to match `grub_ieee1275_entry_fn'.
50879
8b5f3938 508802005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50881
50882 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50883
50884 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50885 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50886 partmap/sun.c.
50887 (grub_probefs_SOURCES): New variable.
50888
50889 * util/i386/pc/grub-probefs.c: New file.
50890
50891 * util/i386/pc/grub-setup.c (main): Call
50892 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50893 grub_hfs_init and grub_jfs_init to initialize the system. Call
50894 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50895 grub_pc_partition_map_fini to finish the system.
50896
ea409713 508972005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50898
50899 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50900 function.
50901 (grub_multiboot_load_elf32): Likewise.
50902 (grub_multiboot_is_elf64): Likewise.
50903 (grub_multiboot_load_elf64): Likewise.
50904 (grub_multiboot_load_elf): Likewise.
50905 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50906 an ELF32 or ELF64 file.
50907 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50908
50909 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50910 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50911 NULL before calling FS->LABEL.
50912 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50913 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50914 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50915 before calling FS->LABEL.
50916
141a288b 509172005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50918
50919 * util/i386/pc/grub-install.in (datadir): New variable.
50920 (libdir): Removed.
50921 (pkgdatadir): New variable.
50922 (pkglibdir): Removed.
50923
0d5f8a54 509242005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50925
50926 * DISTLIST: Added util/i386/pc/grub-install.in.
50927
50928 * util/i386/pc/grub-install.in: New file.
50929
50930 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50931 (grub_install_SOURCES): Likewise.
50932
50933 * genmk.rb: Added support for scripts.
50934 (Script): New class.
50935 (scripts): New variable.
50936
50937 * Makefile.in (install-local): Install sbin_SCRIPTS by
50938 INSTALL_SCRIPT.
50939 (uninstall): Remove sbin_SCRIPTS.
50940
50941 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50942 device, try to get a GRUB device by
50943 grub_util_biosdisk_get_grub_dev.
50944 Free DEST_DEV.
50945
50946 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50947 description for --device-map.
50948
5f968e1e 509492005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50950
50951 Change the semantics of variable hooks. They now return strings
50952 instead of error values.
f19dbdb7 50953
5f968e1e 50954 * util/i386/pc/grub-setup.c: Include grub/env.h.
50955 (setup): Use grub_device_set_root instead of grub_env_set.
50956
50957 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50958 grub_env_get instead of grub_device_set_root and
50959 grub_device_get_root, respectively.
50960
50961 * kern/main.c (grub_env_write_root): New function.
50962 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50963 grub_env_set instead of grub_device_set_root.
50964
50965 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50966 many variables.
50967 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50968 rather than calling ENV->WRITE_HOOK afterwards.
50969 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50970 passing a pointer of a pointer.
50971 (grub_register_variable_hook): Change the types of "read_hook" and
50972 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50973 respectively.
50974 Allocate the default empty string on the heap, because this string
50975 may be freed later.
50976
50977 * kern/device.c: Include grub/env.h.
50978 (grub_device_set_root): Removed.
50979 (grub_device_get_root): Likewise.
50980 (grub_device_open): Use grub_env_get instead of
50981 grub_device_get_root.
50982
50983 * include/grub/env.h (grub_env_read_hook_t): New type.
50984 (grub_env_write_hook_t): Likewise.
50985 (grub_env_var): Change the types of "read_hook" and "write_hook"
50986 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50987 (grub_register_variable_hook): Likewise.
50988
50989 * include/grub/device.h (grub_device_set_root): Removed.
50990 (grub_device_set_root): Likewise.
50991
50992 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50993 make sure that DIRNAME terminates with '/', so that
50994 grub_fat_find_dir will fail if PATH is not a directory.
50995
50996 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50997 from DIRNAME.
50998 Use the qualifier auto for print_files and print_files_long.
50999 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
51000 as a regular file.
51001 Put a newline only if there is no error.
51002 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
51003 used.
51004
896f0afd 510052005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51006
51007 * kern/partition.c (grub_partition_probe): Initialize PART to
51008 NULL. Otherwise, when no partition map is registered, this returns
51009 a garbage.
51010
b28b81b2 510112005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
51012
51013 * partmap/apple.c (apple_partition_map_iterate): Check if POS
51014 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
51015 valid.
51016
5f3607e0 510172005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
51018
51019 * commands/ls.c (grub_ls_list_disks): Print the filesystem
51020 information on each device, if it does not have partitions. Print
51021 "Device" instead of "Disk", because this function is not specific
51022 to disk devices.
51023
51024 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
51025 static to ensure that it is put on the memory rather than a
51026 register.
51027
502c87e8 510282005-07-17 Yoshinori Okuji <okuji@enbug.org>
51029
51030 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
51031 (grub_cat_init): Likewise.
51032 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
51033 (options): Likewise.
51034 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
51035 (grub_configfile_init): Likewise.
51036 * font/manager.c (GRUB_MOD_INIT): Likewise.
51037 * commands/help.c (GRUB_MOD_INIT): Likewise.
51038 (grub_help_init): Likewise.
51039 * normal/command.c (grub_command_init): Likewise.
51040 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
51041 * disk/loopback.c (grub_loop_init): Likewise.
51042 (GRUB_MOD_INIT): Likewise.
51043 * commands/ls.c (grub_ls_init): Likewise.
51044 (GRUB_MOD_INIT): Likewise.
51045 (options): Likewise.
51046 * commands/boot.c (grub_boot_init): Likewise.
51047 (GRUB_MOD_INIT): Likewise.
51048 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
51049 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
51050 (GRUB_MOD_INIT): Likewise.
51051 * commands/cmp.c (grub_cmp_init): Likewise.
51052 (GRUB_MOD_INIT): Likewise.
51053
51054 * normal/arg.c: Use <> instead of "" to include header files.
51055 (SHORT_ARG_HELP): New macro.
51056 (SHORT_ARG_USAGE): Likewise.
51057 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
51058 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
51059 descriptions.
51060 (find_short): Check if C is 'h' or 'u' explicitly.
51061 (grub_arg_show_help): Use space characters instead of tabs. Treat
51062 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
51063 are shown with --help and --usage only if they are not used for
51064 the command itself.
51065 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
51066 'h' and 'u'.
51067
51068 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
51069 const into "longarg". Change the type of "shortarg" to int.
51070
f806d18e 510712005-07-17 Yoshinori Okuji <okuji@enbug.org>
51072
51073 * boot/i386/pc/boot.S (boot_drive_check): New label.
51074
51075 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
51076 macro.
51077
51078 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
51079 which do not pass a boot drive correctly. Copied from GRUB Legacy.
51080
e293232b 510812005-07-17 Yoshinori Okuji <okuji@enbug.org>
51082
51083 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
51084 When turning off Gate A20, skip the check and return immediately,
51085 because this is not fatal usually.
51086
ebedfd00 510872005-07-17 Yoshinori Okuji <okuji@enbug.org>
51088
51089 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
51090 be 0x7C00 instead of 0x8000.
51091
51092 * boot/i386/pc/pxeboot.S: Rewritten.
51093
51094 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
51095 EXT_C.
51096 (gate_a20_check_state): Read a byte from 0x108000. Invert the
51097 result.
51098
654fc59f 510992005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
51100
51101 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
51102 robustness. This routine now supports a BIOS call and System
51103 Control Port A to modify the gate A20.
51104
51105 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51106 Increased to 0x440.
51107
09f9923f 511082005-07-12 Hollis Blanchard <hollis@penguinppc.org>
51109
51110 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
51111 device path and resulting ihandle.
51112 (grub_ofdisk_close): dprintf the ihandle being closed.
51113 (grub_ofdisk_read): dprintf function parameters.
51114 * kern/mm.c (grub_mm_init_region): Likewise.
51115 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
51116 (grub_linux_boot): dprintf the Linux entry point, initrd address and
51117 size, and boot arguments.
51118 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
51119 before loading into memory.
51120 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
51121 before loading into memory.
51122
7ef504d8 511232005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
51124
51125 * kern/mm.c: Added much documentation.
51126 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
51127 8, set to 5 instead of 8.
51128
e0f050c2 511292005-07-10 Yoshinori Okuji <okuji@enbug.org>
51130
51131 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
51132
51133 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
51134 (grub_mkdevicemap_SOURCES): New variable.
51135
51136 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
51137 lib/device.c of GRUB Legacy.
51138
7224189a 511392005-07-10 Yoshinori Okuji <okuji@enbug.org>
51140
51141 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
51142 instead of PATH is NULL.
51143
68c864eb 511442005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
51145
51146 * commands/cmp.c (BUFFER_SIZE): New macro.
51147 (grub_cmd_cmp): Close the right file at the right time. Compare
51148 only data just read. Don't report files of different size as
51149 identical. Dynamically allocate buffers. Move variable
51150 declarations at the beginning of function.
51151
e6f3e614 511522005-07-09 Yoshinori Okuji <okuji@enbug.org>
51153
51154 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
51155 reverse.
51156
f8f1559a 511572004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
51158
51159 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
51160 when backspace is pressed at beginning of line.
51161
39c9d41d 511622005-07-03 Yoshinori Okuji <okuji@enbug.org>
51163
51164 * DISTLIST: Added genfslist.sh.
51165
51166 * normal/main.c (fs_module_list): New variable.
51167 (autoload_fs_module): New function.
51168 (read_fs_list): Likewise.
51169 (grub_normal_execute): Call read_fs_list.
51170
51171 * kern/fs.c (grub_fs_autoload_hook): New variable.
51172 (grub_fs_probe): Added support for auto-loading.
51173
51174 * include/grub/normal.h (struct grub_fs_module_list): New struct.
51175 (grub_fs_module_list_t): New type.
51176
51177 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
51178 (grub_fs_autoload_hook): New prototype.
51179
51180 * genfslist.sh: New file.
f19dbdb7 51181
39c9d41d 51182 * genmk.rb: Added a rule to generate a filesystem list.
51183
121c1d83 511842005-06-30 Marco Gerards <metgerards@student.han.nl>
51185
51186 * configure.ac: Fix the test for cross-compiling.
51187
51188 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
51189 define GRUB_UTIL anymore.
51190
51191 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
51192 so this function works on other systems than just big endian.
51193 (load_modules): Likewise.
51194 (add_segments): Likewise.
51195
e75d76e1 511962005-06-23 Hollis Blanchard <hollis@penguinppc.org>
51197
51198 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
51199 contains `l' modifier, get a long from va_arg().
51200
50b5a0a7 512012005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
51202
51203 * kern/mm.c (grub_free): If the next free block which is being
51204 merged is the first free block, set the first block to the block
51205 being freed.
51206 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
51207
89371b20 512082005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51209
51210 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
51211 `grub_ieee1275_chosen'.
51212
168d6e58 512132005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51214
51215 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
51216 (grub_ieee1275_chosen): New variable.
51217 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
51218 `chosen'.
51219 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
51220 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51221 Rename first argument to `phandle' for consistency.
51222 (grub_ieee1275_get_property_length): Likewise.
51223 (grub_ieee1275_next_property): Likewise. Change type of first argument
51224 to grub_ieee1275_phandle_t.
51225 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
51226 Move export next to declaration.
51227 (grub_ieee1275_chosen): New variable.
51228 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
51229 Correct cosmetic typo.
51230 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
51231 `grub_ieee1275_chosen'.
51232 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
51233 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
51234 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
51235 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
51236 `grub_ieee1275_chosen'.
51237
ca5baa3f 512382005-05-10 Hollis Blanchard <hollis@penguinppc.org>
51239
51240 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
51241 /chosen/bootargs.
51242 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
51243 /chosen/bootargs as "variable=value" pairs.
51244
708b345f 512452005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
51246
51247 * include/grub/misc.h (grub_dprintf): New macro.
51248 (grub_real_dprintf): New prototype.
51249 (grub_strword): Likewise.
51250 (grub_iswordseparator): Likewise.
51251 * kern/misc.c (grub_real_dprintf): New function.
51252 (grub_strword): Likewise.
51253 (grub_iswordseparator): Likewise.
51254
f4c5e67c 512552005-04-30 Hollis Blanchard <hollis@penguinppc.org>
51256
51257 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
51258 (roundup): Remove macro.
51259 (grub_ieee1275_flags): Make static.
51260 (grub_ieee1275_realmode): Remove.
51261 (grub_ieee1275_test_flag): New function.
51262 (grub_ieee1275_set_flag): Likewise.
51263 (find_options): Rename to `grub_ieee1275_find_options'; update
51264 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
51265 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
51266 (cmain): New prototype.
51267 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
51268 `grub_ieee1275_flags' directly.
51269 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
51270 machine/biosdisk.h.
51271 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
51272 Don't include grub/machine/init.h.
51273 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
51274 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51275 Remove prototype.
51276 (grub_ieee1275_realmode): Likewise.
51277 (grub_ieee1275_flag): New enum.
51278 (grub_ieee1275_test_flag): New prototype.
51279 (grub_ieee1275_set_flag): New prototype.
51280 * include/grub/powerpc/ieee1275/init.h: Remove file.
51281 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
51282 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
51283 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
51284 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
51285 comment.
51286 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
51287 `grub_ieee1275_test_flag'.
51288 (grub_ieee1275_encode_devname): Likewise.
51289
ed16607e 512902005-04-21 Hollis Blanchard <hollis@penguinppc.org>
51291
51292 * include/grub/powerpc/ieee1275/ieee1275.h
51293 (grub_ieee1275_encode_devname): New prototype.
51294 (grub_ieee1275_get_filename): Likewise.
51295 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
51296 function.
51297 (grub_set_prefix): Likewise.
51298 (grub_machine_init): Call grub_set_prefix.
51299 * kern/powerpc/ieee1275/openfw.c: Fix typos.
51300 (grub_parse_type): New enum.
51301 (grub_ieee1275_get_devargs): New function.
51302 (grub_ieee1275_get_devname): Likewise.
51303 (grub_ieee1275_parse_args): Likewise.
51304 (grub_ieee1275_get_filename): Likewise.
51305 (grub_ieee1275_encode_devname): Likewise.
51306
be369920 513072005-03-30 Marco Gerards <metgerards@student.han.nl>
51308
51309 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
51310 `grub_loader_unset'.
51311
a5ce3a4a 513122005-03-26 Hollis Blanchard <hollis@penguinppc.org>
51313
51314 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
51315 instead of grub_ieee1275_interpret.
51316 (grub_halt_init): New function.
51317 (grub_halt_fini): Likewise.
51318 (GRUB_MOD_INIT): Correct message grammar.
51319 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
51320 instead of grub_ieee1275_interpret.
51321 (grub_reboot_init): New function.
51322 (grub_reboot_fini): Likewise.
51323 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
51324 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
51325 util/i386/pc/misc.c with commands/ieee1275/halt.c,
51326 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
51327 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
51328 function.
51329 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
51330 Add prototype.
51331 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
51332 prototype.
51333 (grub_halt): Likewise.
51334 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
51335 (cmain): Remove __attribute__((unused)).
51336 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
51337 (grub_heap_len): Likewise.
51338 (grub_machine_fini): New function.
51339 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
51340 (grub_halt): Likewise.
51341 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
51342 function.
51343 * util/powerpc/ieee1275/misc.c: New file.
51344
0058f771 513452005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51346
51347 * DISTLIST: New file.
51348 * gendistlist.sh: Likewise.
f19dbdb7 51349
0058f771 51350 * Makefile.in (COMMON_DISTFILES): Removed.
51351 (BOOT_DISTFILES): Likewise.
51352 (CONF_DISTFILES): Likewise.
51353 (DISK_DISTFILES): Likewise.
51354 (FS_DISTFILES): Likewise.
51355 (INCLUDE_DISTFILES): Likewise.
51356 (KERN_DISTFILES): Likewise.
51357 (LOADER_DISTFILES): Likewise.
51358 (TERM_DISTFILES): Likewise.
51359 (UTIL_DISTFILES): Likewise.
51360 (DISTFILES): Likewise.
51361 (uninstall): Uninstall files in $(pkgdata_DATA).
51362 (DISTLIST): New target.
51363 (distdir): Use the contents of the file DISTLIST to get a list of
51364 distributed files.
51365
46b3b8a5 513662005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51367
51368 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51369 descriptor. This is ported from GRUB Legacy.
51370
51371 * gencmdlist.sh: Added an extra semicolon to make it work with
51372 old sed versions. Reported by Robert Bihlmeyer
51373 <robbe@orcus.priv.at>.
51374
5822ff87 513752005-03-08 Yoshinori Okuji <okuji@enbug.org>
51376
51377 Automatic loading of commands is supported.
f19dbdb7 51378
5822ff87 51379 * normal/main.c (read_command_list): New function.
51380 (grub_normal_execute): Call read_command_list.
51381
51382 * normal/command.c (grub_register_command): Return zero or CMD.
51383 Allocate CMD->NAME from the heap.
51384 Initialize CMD->MODULE_NAME to zero.
51385 Find the same name as well. If the same command is found and it is
51386 a dummy command, overwrite members. If it is not a dummy command,
51387 return zero.
51388 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51389 (grub_command_find): If a dummy command is found, load a module
51390 and retry to find a command only once.
51391
51392 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51393 make sure that each command is loaded.
51394
51395 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51396 macro.
51397 (struct grub_command): Remove const from the member `name'.
51398 Add a new member `module_name'.
51399 (grub_register_command): Return grub_command_t.
51400
51401 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51402 sure that each command is loaded.
51403
51404 * genmk.rb (PModule::rule): Specify a module name without the
51405 suffix ".mod" to gencmdlist.sh.
51406
7b1f4b57 514072005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51408
51409 * gencmdlist.sh: New file.
f19dbdb7 51410
7b1f4b57 51411 * genmk.rb (PModule::rule): Generate a rule for a command list.
51412 Clean command.lst.
51413 Generate command.lst from $(COMMANDFILES).
51414
51415 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51416 (DATA): Added $(pkgdata_DATA).
51417 (install-local): Install files in $(pkgdata_DATA).
51418
062aaf39 514192005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51420
51421 * term/i386/pc/vga.c (debug_command): Removed.
51422 (GRUB_MOD_INIT): Do not register the command "debug".
51423
51424 From Hollis Blanchard:
51425 * commands/configfile.c: New file.
51426 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51427 commands/configfile.c.
51428 (pkgdata_MODULES): Added configfile.mod.
51429 (configfile_mod_SOURCES): New variable.
51430 (configfile_mod_CFLAGS): Likewise.
51431 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51432 commands/configfile.c.
51433 (pkgdata_MODULES): Added configfile.mod.
51434 (configfile_mod_SOURCES): New variable.
51435 (configfile_mod_CFLAGS): Likewise.
51436 * util/grub-emu.c (main): Call grub_configfile_init and
51437 grub_configfile_fini.
51438 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51439 prototype.
51440 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 51441
cee01aa6 514422005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51443
51444 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51445 address.
51446
51447 * commands/help.c (grub_cmd_help): Do not print newlines after
51448 the last command in print_command_help.
51449
93f3a1d8 514502005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51451
51452 * commands/default.h: New file.
51453 * commands/timeout.h: Likewise.
51454 * normal/context.c: Likewise.
f19dbdb7 51455
93f3a1d8 51456 * util/misc.c: Do not include sys/times.h.
51457 Include sys/time.h and grub/machine/time.h.
51458 (grub_get_rtc): Rewritten with gettimeofday.
51459
51460 * util/grub-emu.c (main): Call grub_default_init and
51461 grub_timeout_init before grub_normal_init, and call
51462 grub_timeout_fini and grub_default_fini after grub_main.
51463
51464 * util/console.c (grub_ncurses_checkkey): Return the read
51465 character or -1.
51466
51467 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51468 timeouts.
51469
51470 * normal/main.c (read_config_file): Push MENU. If this fails,
51471 print an error and wait for a user input.
51472 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
51473 If a menu is empty or an error occurs, pop MENU.
51474 (grub_normal_execute): Pop and free MENU after grub_menu_run
51475 returns.
51476
51477 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
51478
51479 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
51480 include time.h.
51481 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51482 without GRUB_UTIL.
51483 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51484 time.h.
51485 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51486 without GRUB_UTIL.
51487
51488 * include/grub/normal.h (struct grub_menu_list): New struct.
51489 (grub_menu_list_t): New type.
51490 (struct grub_context): New struct.
51491 (grub_context_t): New type.
51492 (grub_register_command): Got rid of EXPORT_FUNC.
51493 (grub_unregister_command): Likewise.
51494 (grub_context_get): New prototype.
51495 (grub_context_get_current_menu): Likewise.
51496 (grub_context_push_menu): Likewise.
51497 (grub_context_pop_menu): Likewise.
51498 [GRUB_UTIL] (grub_default_init): Likewise.
51499 [GRUB_UTIL] (grub_default_fini): Likewise.
51500 [GRUB_UTIL] (grub_timeout_init): Likewise.
51501 [GRUB_UTIL] (grub_timeout_fini): Likewise.
51502
51503 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
51504 commands/timeout.c and normal/context.c.
51505 (pkgdata_MODULES): Added default.mod and timeout.mod.
51506 (normal_mod_SOURCES): Added normal/context.c.
51507 (default_mod_SOURCES): New variable.
51508 (default_mod_CFLAGS): Likewise.
51509 (timeout_mod_SOURCES): Likewise.
51510 (timeout_mod_CFLAGS): Likewise.
51511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
51512 conf/i386-pc.rmk.
51513 (pkgdata_MODULES): Added default.mod and timeout.mod.
51514 (normal_mod_SOURCES): Added normal/context.c.
51515 (default_mod_SOURCES): New variable.
51516 (default_mod_CFLAGS): Likewise.
51517 (timeout_mod_SOURCES): Likewise.
51518 (timeout_mod_CFLAGS): Likewise.
51519
51520 * Makefile.in (all-local): Added $(MKFILES).
51521
4ed2e1dd 515222005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51523
51524 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51525 (grub_emu_SOURCES): Likewise.
51526 (pkgdata_MODULES): Add `sun.mod'.
51527 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51529 `partmap/sun.c'.
51530 (pkgdata_MODULES): Add `sun.mod'.
51531 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51532 * include/grub/partition.h (grub_sun_partition_map_init): New
51533 prototype.
51534 (grub_sun_partition_map_fini): Likewise.
51535 * partmap/sun.c: New file.
51536 * util/grub-emu.c (main): Initialize and de-initialize the sun
51537 partitionmap support.
51538
4d4e372e 515392005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51540
51541 This implements an Emacs-like menu entry editor.
f19dbdb7 51542
4d4e372e 51543 * normal/menu_entry.c: New file.
f19dbdb7 51544
4d4e372e 51545 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51546 characters to ASCII.
51547 (saved_char): New variable.
51548 (grub_ncurses_checkkey): Rewritten completely.
51549 (grub_ncurses_getkey): Likewise.
51550 (grub_ncurses_init): Call raw instead of cbreak.
51551
51552 * normal/menu.c (print_entry): Do not put a space.
51553 (init_page): Renamed to ...
51554 (grub_menu_init_page): ... this. All callers changed.
51555 (edit_menu_entry): Removed.
51556 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51557
51558 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51559
51560 * kern/misc.c (grub_vprintf): Call grub_refresh.
51561
51562 * normal/menu.c (DISP_LEFT): Renamed to ...
51563 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51564 * normal/menu.c (DISP_UP): Renamed to ...
51565 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51566 * normal/menu.c (DISP_RIGHT): Renamed to ...
51567 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51568 * normal/menu.c (DISP_DOWN): Renamed to ...
51569 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51570 * normal/menu.c (DISP_HLINE): Renamed to ...
51571 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51572 * normal/menu.c (DISP_VLINE): Renamed to ...
51573 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51574 * normal/menu.c (DISP_UL): Renamed to ...
51575 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51576 * normal/menu.c (DISP_UR): Renamed to ...
51577 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51578 * normal/menu.c (DISP_LL): Renamed to ...
51579 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51580 * normal/menu.c (DISP_LR): Renamed to ...
51581 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51582 * normal/menu.c (TERM_WIDTH): Renamed to ...
51583 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51584 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51585 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51586 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51587 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51588 * normal/menu.c (TERM_MARGIN): Renamed to ...
51589 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51590 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51591 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51592 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51593 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51594 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51595 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51596 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51597 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51598 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51599 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51600 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51601 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51602 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51603 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51604 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51605 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51606 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51607 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51608 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51609 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51610 All callers changed.
51611
51612 * include/grub/normal.h: New prototype.
51613
51614 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51615 normal/menu_entry.c.
51616 (normal_mod_SOURCES): Likewise.
51617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51618 (normal_mod_SOURCES): Likewise.
51619
e6b92c8a 516202005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51621
51622 * include/grub/normal.h (grub_halt_init): New prototype.
51623 (grub_halt_fini): Likewise.
51624 (grub_reboot_init): Likewise.
51625 (grub_reboot_fini): Likewise.
51626
51627 * util/grub-emu.c: Include signal.h.
51628 (main_env): New global variable.
51629 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51630 catch C-c.
51631 (grub_machine_fini): New function.
51632 (main): Call grub_halt_init and grub_reboot_init before
51633 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51634 Call setjmp with MAIN_ENV to go back afterwards.
51635 Call grub_machine_fini right before return.
51636
51637 * include/grub/util/misc.h: Include setjmp.h.
51638 (main_env): New prototype.
51639
51640 * include/grub/kernel.h (grub_machine_fini): New prototype.
51641 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51642 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51643
51644 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51645 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51646 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51647
e6b92c8a 51648 * util/i386/pc/misc.c: New file.
f19dbdb7 51649
e6b92c8a 51650 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51651 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51652 commands/i386/pc/reboot.c.
51653
c642636f 516542005-02-14 Guillem Jover <guillem@hadrons.org>
51655
51656 * include/grub/dl.h (grub_dl_check_header): New prototype.
51657 (grub_arch_dl_check_header): Change return type to grub_err_t,
51658 remove size parameter and export function. Update all callers.
51659 * kern/dl.c (grub_dl_check_header): New function.
51660 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51661 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51662 are inside the core.
51663 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51664 independent ELF header checks.
51665 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51666 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51667 `grub_dl_check_header' instead of explicit checks. Check for the
51668 ELF type.
51669 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51670 `grub_dl_check_header' instead of explicit checks. Remove arch
51671 specific ELF header checks.
51672
e6b92c8a 51673 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51674 argument SIZE.
51675
5eabe94b 516762005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51677
51678 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51679 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51680
1b14a681 516812005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51682
51683 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 51684 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 51685 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 51686 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 51687 * partmap/amiga.c (amiga_partition_map_iterate): Return
51688 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51689 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51690
aca108aa 516912005-02-01 Guillem Jover <guillem@hadrons.org>
51692
51693 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51694 help info.
51695
c9f9c556 516962005-01-31 Marco Gerards <metgerards@student.han.nl>
51697
51698 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51699 Removed prototype.
51700 (grub_rescue_cmd_linux): New prototype.
51701 (grub_rescue_cmd_initrd): Likewise.
51702 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51703 `bi_rec'.
51704 (grub_linux_release_mem): Release the memory for the initrd.
51705 (grub_load_linux): Renamed from this...
51706 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51707 Changed `entry' not to be static. Loop over memory regions to
51708 find another one when the default fails.
51709 (grub_rescue_cmd_initrd): New function.
51710 (grub_linux_init): Remove function.
51711 (grub_linux_fini): Likewise.
51712 (GRUB_MOD_INIT): Register `initrd'.
51713 (GRUB_MOD_FINI): Unregister `initrd'.
51714 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51715 Function removed.
51716 (grub_linux_normal_fini): Likewise.
51717 (GRUB_MOD_INIT): Register `initrd'.
51718 (GRUB_MOD_FINI): Unregister `initrd'.
51719
990cf3aa 517202005-01-31 Marco Gerards <metgerards@student.han.nl>
51721
51722 * commands/help.c: New file.
51723 * normal/arg.c (show_help): Renamed to...
51724 (grub_arg_show_help): ... this.
51725 * commands/i386/pc/halt.c: New file.
51726 * commands/i386/pc/reboot.c: Likewise.
51727 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51728 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51729 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51730 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51731 variables.
51732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51733 `commands/help.c'.
51734 (pkgdata_MODULES): Add `help.mod'.
51735 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51736 * grub/i386/pc/init.h (grub_reboot): New prototype.
51737 (grub_halt): Likewise.
51738 * include/grub/normal.h (grub_arg_show_help): New prototype.
51739 (grub_help_init): Likewise.
51740 (grub_help_fini): Likewise.
51741 * util/grub-emu.c (main): Initialize and deinitialize the help
51742 command.
51743
51744 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51745
51746 * normal/command.c (grub_command_init): Fixed the description of
51747 the `set' and `unset' commands.
51748
517492005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 51750
51751 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51752 function.
51753 * commands/ieee1275/halt.c: New file.
51754 * commands/ieee1275/reboot.c: Likewise.
51755 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51756 `__attribute__ ((unused))'. Some GCS related fixed.
51757 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51758 (grub_suspend_fini): Likewise.
51759 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51760 and `halt.mod'.
51761 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51762 (halt_mod_CFLAGS): New variables.
51763 * include/grub/powerpc/ieee1275/ieee1275.h
51764 (grub_ieee1275_interpret): New prototype.
51765
1ab09cc7 517662005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51767
51768 * include/grub/misc.h (memmove): New prototype.
51769 (memcpy): Likewise.
51770
8b8cbdb2 517712005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51772
51773 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51774 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51775
e3741a27 517762005-01-22 Marco Gerards <metgerards@student.han.nl>
51777
51778 * kern/misc.c (grub_strndup): Function rewritten.
51779
776bd780 517802005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51781
51782 * normal/menu.c (TERM_WIDTH): Macro redefined.
51783 (TERM_TOP_BORDER_Y): Likewise.
51784 (draw_border): Replaced while-loop by a for-loop. Make the number
51785 of lines consistent with the number of lines displayed in
51786 print_entries. Added a margin below the rectangle.
51787 (print_entry): Make the entry fit in the rectangle.
51788 (print_entries): Display the scroll arrows next to the right
51789 border.
51790
78026bce 517912005-01-21 Marco Gerards <metgerards@student.han.nl>
51792
51793 * fs/minix.c (grub_minix_find_file): Reserve more space for
51794 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51795 `grub_strncpy' to copy `path' into it.
51796
67bbaf0f 517972005-01-21 Marco Gerards <metgerards@student.han.nl>
51798
51799 Add the loopback device, a device via which files can be accessed
51800 as devices.
f19dbdb7 51801
67bbaf0f 51802 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51803 (pkgdata_MODULES): Add loopback.mod.
51804 (loopback_mod_SOURCES): New variable.
51805 (loopback_mod_CFLAGS): Likewise.
51806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51807 `disk/loopback.c'.
51808 (pkgdata_MODULES): Add loopback.mod.
51809 (loopback_mod_SOURCES): New variable.
51810 (loopback_mod_CFLAGS): Likewise.
51811 * disk/loopback.c: new file.
51812 * include/grub/normal.h (grub_loop_init): New prototype.
51813 (grub_loop_fini): New prototype.
51814 * util/grub-emu.c (main): Initialize and de-initialize loopback
51815 support.
51816 * include/grub/disk.h (grub_disk_dev_id): Add
51817 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51818
6f1c18bd 518192005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51820
51821 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51822 function.
51823 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51824 (suspend_mod_SOURCES): New variable.
51825 (suspend_mod_CFLAGS): Likewise.
51826 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51827 New prototype.
51828 * commands/ieee1275/suspend.c: New file.
51829
b38551da 518302005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51831
51832 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51833 ((unused))' to `__attribute__ ((used))'.
b38551da 51834 (GRUB_MOD_FINI): Likewise.
51835 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51836 * genmk.rb (PModule): Assign space to common symbols when linking
51837 modules.
51838
777aff39 518392005-01-20 Marco Gerards <metgerards@student.han.nl>
51840
51841 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51842 `unsigned' arguments to `grub_size_t'.
51843 (grub_malloc): Likewise.
51844 (grub_realloc): Likewise.
51845 (grub_memalign): Likewise.
51846 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51847 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51848 * util/misc.c (grub_malloc): Likewise.
51849 (grub_realloc): Likewise.
51850 * kern/mm.c (get_header_from_pointer): Change the casts to
51851 `unsigned' into a cast to `grub_size_t'.
51852
51853 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51854 point to `currnode' when `currnode' is changed.
51855
51856 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51857 Schottelius <nico-linux@schottelius.org>.
51858
d0ff18e1 518592005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51860
51861 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51862 (note_path): Remove variable.
51863 (GRUB_IEEE1275_NOTE_NAME): New macro.
51864 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51865 (grub_ieee1275_note_hdr): New structure.
51866 (grub_ieee1275_note_desc): Likewise.
51867 (grub_ieee1275_note): Likewise.
51868 (load_note): Remove `dir' argument. All callers updated. Remove
51869 `note_img' and `path'. Do not load a file from `note_path'.
51870 Initialize a struct grub_ieee1275_note and write that to `out'.
51871 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51872
4ca7004c 518732005-01-05 Marco Gerards <metgerards@student.han.nl>
51874
51875 * util/misc.c (grub_util_read_image): Revert last change. It
51876 called `grub_util_read_at', which seeks from the beginning of the
51877 file.
51878
0b412211 518792005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51880
51881 * TODO: Add note about endianness in grub-mkimage.
51882 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51883 section.
51884 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51885 (grub_mkimage_SOURCES): New target.
51886 * include/grub/kernel.h (grub_start_addr): Remove variable.
51887 (grub_end_addr): Likewise.
51888 (grub_total_module_size): Likewise.
51889 (grub_kernel_image_size): Likewise.
51890 (GRUB_MODULE_MAGIC): New constant.
51891 (grub_module_info): New structure.
51892 (grub_arch_modules_addr): New prototype.
51893 (grub_get_end_addr): Remove prototype.
51894 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51895 * include/grub/powerpc/ieee1275/kernel.h: New file.
51896 * include/grub/util/misc.h (grub_util_get_fp_size): New
51897 prototype.
51898 (grub_util_read_at): Likewise.
51899 (grub_util_write_image_at): Likewise.
51900 * kern/main.c (grub_get_end_addr): Remove function.
51901 (grub_load_modules): Call grub_arch_modules_addr instead of using
51902 grub_end_addr. Look for a grub_module_info struct in memory. Use
51903 the grub_module_info fields instead of calling grub_get_end_addr
51904 as loop conditions. Move grub_add_unused_region code here.
51905 (grub_add_unused_region): Remove function.
51906 * kern/i386/pc/init.c: Include grub/cache.h.
51907 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51908 one call to add_mem_region.
51909 (grub_arch_modules_addr): New function.
51910 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51911 (grub_total_module_size): Likewise.
51912 Include grub/machine/kernel.h.
51913 (grub_arch_modules_addr): New function.
51914 * util/grub-emu.c (grub_end_addr): Remove variable.
51915 (grub_total_module_size): Likewise.
51916 (grub_arch_modules_addr): New function.
51917 * util/misc.c: Include unistd.h.
51918 (grub_util_get_fp_size): New function.
51919 (grub_util_read_at): Likewise.
51920 (grub_util_write_image_at): Likewise.
51921 (grub_util_read_image): Call grub_util_read_at.
51922 (grub_util_write_image): Call grub_util_write_image_at.
51923 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51924 additional memory in kernel_img for a struct grub_module_info.
51925 Fill in that grub_module_info.
51926 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51927
458786f8 519282005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51929
51930 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51931 New function.
51932 * include/grub/powerpc/ieee1275/ieee1275.h
51933 (grub_ieee1275_milliseconds): New prototype.
51934 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51935 Change to 1000.
51936 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51937 grub_ieee1275_milliseconds.
51938
ac507d1b 519392005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51940
51941 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51942 variable.
51943 (find_options): New function.
51944 (cmain): Call find_options.
51945 * include/grub/powerpc/ieee1275/ieee1275.h
51946 (grub_ieee1275_realmode): New extern variable.
51947 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51948 grub_map if grub_ieee1275_realmode is false.
51949
6b8fd1c4 519502004-12-29 Marco Gerards <metgerards@student.han.nl>
51951
51952 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51953 lines are inserted and make it work like readline. Reported by
51954 Vincent Pelletier <subdino2004@yahoo.fr>.
51955
8514a1e0 519562004-12-28 Marco Gerards <metgerards@student.han.nl>
51957
51958 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51959
51960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51961 `kern/powerpc/cache.S'.
51962
924b6140 519632004-12-27 Marco Gerards <metgerards@student.han.nl>
51964
51965 * genmk.rb: Handle the `Program' class in the main loop. Written
51966 by Johan Rydberg <jrydberg@gnu.org>.
51967 (Program): New class.
51968 (programs): New variable.
51969 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51970 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51971 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51972 (help_arch): Function removed.
51973 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51974 `powerpc/libgcc.h' and `loader.h'.
51975 (pkgdata_PROGRAMS): New variable.
51976 (sbin_UTILITIES): Variable removed.
51977 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51978 (grubof_SOURCES): Variable re-defined so it only includes the
51979 core functionality.
51980 (grubof_CFLAGS): Remove `-DGRUBOF'.
51981 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51982 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51983 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51984 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51985 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51986 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51987 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51988 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51989 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51990 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51991 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51992 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51993 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51994 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51995 (pc_mod_CFLAGS): New variables.
51996 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51997 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51998 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51999 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
52000 Moved from here...
52001 * include/grub/i386/pc/init.h (grub_os_area_addr)
52002 (rub_os_area_size): ... to here.
52003 * include/grub/powerpc/ieee1275/ieee1275.h
52004 (grub_ieee1275_entry_fn): Export symbol.
52005 * include/grub/powerpc/ieee1275/init.h: New file.
52006 * include/grub/powerpc/libgcc.h: Likewise.
52007 * include/grub/cache.h: Likewise.
52008 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
52009 <hollis@penguinppc.org>.
52010 * kern/dl.c: Include <grub/cache.h>.
52011 (grub_dl_flush_cache): New function.
52012 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
52013 for this module.
52014 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
52015 (grub_console_init): Removed prototypes.
52016 (grub_machine_init): Don't initialize the modules anymore.
52017 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
52018 static.
52019 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
52020 Macro undef removed.
52021 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
52022 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
52023 relocation `R_PPC_REL32'. Return an error when the relocation is
52024 unknown.
52025 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
52026 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
52027 * util/misc.c (grub_arch_sync_caches): Likewise.
52028
e4b47e0c 520292004-12-19 Marco Gerards <metgerards@student.han.nl>
52030
52031 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
52032 `symlist.c', add `grubof_symlist.c'.
52033 (symlist.c): Variable removed.
52034 (grubof_HEADERS): Variable added.
52035 (grubof_symlist.c): New target.
52036 (kernel_syms.lst): Use `grubof_HEADERS' instead of
52037 `kernel_img_HEADERS'.
52038 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
52039 * kern/powerpc/dl.c: New file.
52040 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
52041 Function removed.
52042 (grub_arch_dl_relocate_symbols): Likewise.
52043 (grub_register_exported_symbols): Likewise.
52044
4ceb3636 520452004-12-13 Marco Gerards <metgerards@student.han.nl>
52046
52047 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
52048 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
52049 to fail instead. Reported by Vincent Pelletier
52050 <subdino2004@yahoo.fr>.
52051
52052 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
52053 it is not allocated. Reported by Vincent Pelletier
52054 <subdino2004@yahoo.fr>.
52055
52056 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
52057 output so the output looks better.
f19dbdb7 52058
3f1578fe 520592004-12-04 Marco Gerards <metgerards@student.han.nl>
52060
52061 Modulize the partition map support and add support for the amiga
52062 partition map.
f19dbdb7 52063
3f1578fe 52064 * commands/ls.c: Include <grub/partition.h> instead of
52065 <grub/machine/partition.h>.
52066 * kern/disk.c: Likewise.
52067 * kern/rescue.c: Likewise.
52068 * loader/i386/pc/chainloader.c: Likewise.
52069 * normal/cmdline.c: Likewise.
52070 * kern/powerpc/ieee1275/init.c: Likewise.
52071 (grub_machine_init): Call `grub_pc_partition_map_init',
52072 `grub_amiga_partition_map_init' and
52073 `grub_apple_partition_map_init'.
52074 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
52075 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
52076 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
52077 `partition.h' and `pc_partition.h'.
52078 (grub_setup_SOURCES): Remove
52079 `disk/i386/pc/partition.c'. Add `kern/partition.c',
52080 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52081 (grub_emu_SOURCES): Likewise.
52082 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
52083 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
52084 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
52085 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52086 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
52087 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52088 (grubof_SOURCES): Likewise.
52089 * disk/i386/pc/partition.c: File removed.
52090 * disk/powerpc/ieee1275/partition.c: Likewise.
52091 * include/grub/powerpc/ieee1275/partition.h: Likewise.
52092 * include/grub/i386/pc/partition.h: Likewise.
52093 * kern/partition.c: New file.
52094 * partmap/amiga.c: Likewise.
52095 * partmap/apple.c: Likewise.
52096 * partmap/pc.c: Likewise.
52097 * include/grub/partition.h: Likewise..
52098 * include/grub/pc_partition.h: Likewise.
52099 * util/grub-emu.c: Include <grub/partition.h> instead of
52100 <grub/machine/partition.h>.
52101 (main): Call `grub_pc_partition_map_init',
52102 `grub_amiga_partition_map_init' and
52103 `grub_apple_partition_map_init' and deinitialize afterwards.
52104 * util/i386/pc/biosdisk.c: Include `#include
52105 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52106 `<grub/machine/partition.h>'.
52107 * util/i386/pc/grub-setup.c: Likewise.
52108 * util/i386/pc/biosdisk.c: Likewise.
52109 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
52110 partition information in case of a PC partition.
52111 * util/i386/pc/grub-setup.c: Include `#include
52112 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52113 `<grub/machine/partition.h>'.
52114 (setup): Only access the PC specific partition information in case
52115 of a PC partition.
52116
0ef4ced9 521172004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 52118
0ef4ced9 52119 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
52120 (grub_longjmp): Likewise.
52121 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
52122 20.
52123 * normal/powerpc/setjmp.S: New file.
52124 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52125 `normal/powerpc/setjmp.S'.
52126 (grubof_CFLAGS): Add `-DGRUBOF'.
52127 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
52128 [GRUB_UTIL && !GRUBOF].
f19dbdb7 52129
19950e29 521302004-11-16 Marco Gerards <metgerards@student.han.nl>
52131
52132 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
52133 property named `name'. Correctly handle the error returned by
52134 `grub_ieee1275_finddevice' if a device can not be opened.
52135
a2fea427 521362004-11-02 Hollis Blanchard <hollis@penguinppc.org>
52137
52138 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
52139 `actual' for negativity.
52140 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52141 kern/fshelp.c.
52142
41ea0ea3 521432004-11-01 Marco Gerards <metgerards@student.han.nl>
52144
52145 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
52146 (PAGE_OFFSET): New macro.
52147 (CRTC_ADDR_PORT): Likewise.
52148 (CRTC_DATA_PORT): Likewise.
52149 (START_ADDR_HIGH_REGISTER): Likewise.
52150 (START_ADDR_LOW_REGISTER): Likewise.
52151 (GRAPHICS_ADDR_PORT): Likewise.
52152 (GRAPHICS_DATA_PORT): Likewise.
52153 (READ_MAP_REGISTER): Likewise.
52154 (INPUT_STATUS1_REGISTER): Likewise.
52155 (INPUT_STATUS1_VERTR_BIT): Likewise.
52156 (page): New variable.
52157 (wait_vretrace): New function.
52158 (set_read_map): Likewise.
52159 (set_start_address): Likewise.
52160 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
52161 the right page.
52162 (check_vga_mem): Take the page into account.
52163 (write_char): Likewise.
52164 (write_cursor): Likewise.
52165 (scroll_up): Likewise. Copy the page to the page that is not
52166 shown and switch between both pages.
52167 (grub_vga_putchar): Fix off by one error.
52168 (grub_vga_cls): Wait for the vertical retrace. Take the page into
52169 account.
52170
ad0bd20b 521712004-11-01 Marco Gerards <metgerards@student.han.nl>
52172
52173 Add support for iso9660 (including rockridge).
f19dbdb7 52174
ad0bd20b 52175 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52176 (iso9660_mod_SOURCES): New variable.
52177 (iso9660_mod_CFLAGS): Likewise.
52178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52179 * include/grub/fs.h (grub_iso9660_init): New prototype.
52180 * util/grub-emu.c (main): Call `grub_iso9660_init'.
52181 * fs/iso9660.c: New file.
52182
52183 * include/grub/misc.h (grub_strncat): New prototype.
52184 * kern/misc.c (grub_strncat): New function.
f19dbdb7 52185
ad0bd20b 52186 * fs/hfs.c (grub_hfs_mount): Translate the error
52187 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
52188 * fs/jfs.c (grub_jfs_mount): Likewise.
52189 * fs/ufs.c (grub_ufs_mount): Likewise.
52190
a5477a59 521912004-10-28 Hollis Blanchard <hollis@penguinppc.org>
52192
52193 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
52194 which initialized BAT registers.
52195 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
52196 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52197 Move from here...
52198 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
52199 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52200 ... to here.
52201 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
52202 (grub_mapclaim): Likewise.
52203 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
52204 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
52205 hand.
52206
9304c1f8 522072004-10-19 Hollis Blanchard <hollis@penguinppc.org>
52208
52209 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
52210 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
52211 -ffreestanding and -msoft-float.
52212
86f4ae25 522132004-10-15 Hollis Blanchard <hollis@penguinppc.org>
52214
52215 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
52216 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
52217 set in grub_ieee1275_flags.
52218
38912228 522192004-10-14 Hollis Blanchard <hollis@penguinppc.org>
52220
52221 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
52222 prototype.
52223 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
52224 grub_console_init first.
52225 Change the memory range used for grub_ieee1275_claim and
52226 grub_mm_init_region.
52227 Print an error message if the claim fails.
52228 Include <grub/misc.h>.
52229
d1923dc8 522302004-10-13 Hollis Blanchard <hollis@penguinppc.org>
52231
52232 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
52233 Call grub_children_iterate for device nodes of type `scsi',
52234 `ide', or `ata'.
52235 (grub_ofdisk_open): Remove manual device alias resolution.
52236 Fix memory leak when device cannot be opened.
f19dbdb7 52237 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 52238 (grub_children_iterate): New prototype.
52239 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
52240 New function.
52241 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52242 Return -1 if args.size was -1.
52243
4512e4f3 522442004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52245
52246 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
52247 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
52248 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
52249 Open Firmware's memory for it; claim memory from _start to _end.
52250 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
52251 (_end): New extern.
52252 (_start): Zero BSS from __bss_start to _end.
52253 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52254 New extern.
52255 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
52256
4d61feb0 522572004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52258
ad0bd20b 52259 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
52260 -1 if args.base was -1.
4d61feb0 52261
026fa2f9 522622004-10-08 Hollis Blanchard <hollis@penguinppc.org>
52263
52264 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
52265 escape sequence instead of a literal ^L. Also call
52266 grub_ofconsole_gotoxy.
52267
9f2220ef 522682004-10-03 Hollis Blanchard <hollis@penguinppc.org>
52269
52270 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
52271 void * arguments to grub_addr_t. All callers updated. Also make
52272 the `result' argument optional.
52273 (grub_ieee1275_release): change void * arguments to grub_addr_t.
52274 All callers updated.
52275
8a572cd7 522762004-09-22 Hollis Blanchard <hollis@penguinppc.org>
52277
52278 * commands/ls.c (grub_ls_list_files): Use the string following the
52279 initial ')', if present, as the filesystem path.
52280 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
52281
52282 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
52283
18aa81f2 522842004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
52285
52286 Make the source code of the menu interface more readable.
f19dbdb7 52287
18aa81f2 52288 * normal/menu.c: Include grub/mm.h.
52289 (TERM_WIDTH): New macro.
52290 (TERM_HEIGHT): Likewise.
52291 (TERM_INFO_HEIGHT): Likewise.
52292 (TERM_MARGIN): Likewise.
52293 (TERM_SCROLL_WIDTH): Likewise.
52294 (TERM_TOP_BORDER_Y): Likewise.
52295 (TERM_LEFT_BORDER_X): Likewise.
52296 (TERM_BORDER_WIDTH): Likewise.
52297 (TERM_MESSAGE_HEIGHT): Likewise.
52298 (TERM_BORDER_HEIGHT): Likewise.
52299 (TERM_NUM_ENTRIES): Likewise.
52300 (TERM_FIRST_ENTRY_Y): Likewise.
52301 (TERM_ENTRY_WIDTH): Likewise.
52302 (TERM_CURSOR_X): Likewise.
52303 (draw_border): Use macros instead of magic numbers.
52304 (print_entry): Likewise.
52305 (print_entries): Likewise.
52306 (run_menu): Likewise. Also, handle the key 'e'.
52307 (run_menu_entry): Ignore empty command lines.
52308 (print_message): Added a new argument EDIT. If EDIT is true,
52309 print a different message.
52310 (init_page): Likewise.
52311 (edit_menu_entry): New function. Not implemented yet.
52312
b47efe30 523132004-09-17 Marco Gerards <metgerards@student.han.nl>
52314
52315 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
52316 can be loaded from normal mode.
f19dbdb7 52317
b47efe30 52318 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
52319 `multiboot.mod'.
52320 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
52321 (multiboot_mod_CFLAGS): New variables.
52322 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 52323 * loader/i386/pc/multiboot_normal.c: Likewise.
52324
b47efe30 52325 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
52326 attribute `unused'.
f19dbdb7 52327
b47efe30 52328 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
52329 `fdiro' to read the mode information from instead of `diro'.
52330
52331 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
52332 looking up a symlink.
52333
52334 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
52335 macro.
52336 * normal/command.c (grub_command_execute): Don't parse the
52337 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
52338 flags of the command.
52339
52340 * normal/menu.c (grub_menu_run): Fix typo.
52341
da75ac71 523422004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52343
52344 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52345
52346 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52347 `y + 1' instead of `y - 1'.
52348
52349 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 52350
062b24c2 523512004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52352
52353 From Hollis Blanchard <hollis@penguinppc.org>:
52354 * kern/misc.c (memmove): New alias for grub_memmove.
52355 (memcmp): New alias for grub_memcmp.
52356 (memset): New alias for grub_memset.
f19dbdb7 52357 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 52358 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 52359 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 52360 (grub_ieee1275_get_property): Likewise.
f19dbdb7 52361
8ddad845 523622004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52363
52364 Added normal mode command `chainloader' as module chain.mod, which
52365 depends on normal.mod and _chain.mod.
f19dbdb7 52366
8ddad845 52367 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52368 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52369 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52370 Deleted prototype.
52371 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52372 but arguments parsing moved to ...
52373 (grub_chainloader_cmd): ... here. New function.
52374 * include/grub/i386/pc/chainloader.h: New file.
52375 * loader/i386/pc/chainloader_normal.c: Likewise.
52376
2c1f4ce3 523772004-09-11 Marco Gerards <metgerards@student.han.nl>
52378
52379 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52380 (grub_mkimage_LDFLAGS): Likewise.
52381 (grub_emu_SOURCES): Likewise.
52382 (kernel_img_HEADERS): Added fshelp.h.
52383 * fs/ext2.c: Include <grub/fshelp.h>.
52384 (FILETYPE_REG): New macro.
52385 (FILETYPE_INO_REG): Likewise.
52386 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52387 Changed all users.
52388 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52389 all users.
52390 (grub_fshelp_node): New struct.
52391 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52392 to a pointer.
52393 (grub_ext2_get_file_block): Removed function.
52394 (grub_ext2_read_block): New function.
52395 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52396 This function was written.
52397 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52398 (grub_ext2_find_file): Removed function.
52399 (grub_ext2_read_symlink): New function.
52400 (grub_ext2_iterate_dir): Likewise.
52401 (grub_ext2_open): Rewritten.
52402 (grub_ext2_dir): Rewritten.
52403 * include/grub/fshelp.h: New file.
52404 * fs/fshelp.c: Likewise.
52405
3c52136a 524062004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52407
52408 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52409 (print_message): Add a missing newline.
52410 (run_menu): Added timeout support.
52411 (run_menu_entry): New local function.
52412 (grub_menu_run): Added support for booting.
52413
52414 * kern/loader.c (grub_loader_is_loaded): New function.
52415
52416 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52417 (grub_get_rtc): Exported.
52418
52419 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52420 (grub_get_rtc): Exported.
52421
52422 * include/grub/normal.h (struct grub_command_list): Remove
52423 constant from the member `command'.
52424
52425 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52426
52427 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52428
52429 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52430
aa033560 524312004-08-28 Marco Gerards <metgerards@student.han.nl>
52432
52433 Add support for the JFS filesystem.
52434
52435 * fs/jfs.c: New file.
52436 * include/grub/fs.h (grub_jfs_init): New prototype.
52437 (grub_jfs_fini): New prototype.
52438 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52439 (grub_emu_SOURCES): Likewise.
52440 (pkgdata_MODULES): Add jfs.mod.
52441 (jfs_mod_SOURCES): New variable.
52442 (jfs_mod_CFLAGS): Likewise.
52443 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52444 (grubof_SOURCES): Likewise.
52445 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52446
52447 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52448 endian to the host endian.
52449 (grub_fat_utf16_to_utf8): Move function from there...
52450 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 52451 the endianness of the source string anymore.
aa033560 52452 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52453
94bc45af 524542004-08-24 Marco Gerards <metgerards@student.han.nl>
52455
52456 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52457 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52458 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52459 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 52460
94bc45af 52461 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52462 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52463 for `node_found' and `it_dir'.
52464 (grub_hfs_dir): Add prototype for `dir_hook'.
52465
52466 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52467 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52468 and `indir32' to silence a gcc warning.
52469
52470 * include/grub/fs.h (grub_hfs_init): New prototype.
52471 (grub_hfs_fini): Likewise.
f19dbdb7 52472
52473
97543f08 524742004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52475
52476 Each disk device has its own id now. This is useful to make use
52477 of multiple disk devices.
f19dbdb7 52478
97543f08 52479 * include/grub/disk.h (grub_disk_dev_id): New enum.
52480 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
52481 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
52482
52483 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52484 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52485
52486 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52487 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52488
52489 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52490 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52491
52492 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52493 "id" which is used by the cache manager.
52494
52495 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52496 of just "GRUB".
52497
64372eb4 524982004-08-18 Marco Gerards <metgerards@student.han.nl>
52499
52500 * fs/hfs.c: New file.
52501 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
52502 (grub_emu_SOURCES): Likewise.
52503 (pkgdata_MODULES): Add hfs.mod.
52504 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
52505 (grubof_SOURCES): Likewise.
52506 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
52507
52508 * include/grub/misc.h (grub_strncasecmp): Add prototype.
52509 * kern/misc.c (grub_strncasecmp): Add function.
52510
cc61b58f 525112004-08-14 Marco Gerards <metgerards@student.han.nl>
52512
52513 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
52514 with parentheses.
52515
52516 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52517 (grub_ext2_dir): In case the directory entry type is unknown, read
52518 it from the inode.
52519
0ef123f6 525202004-08-02 Peter Bruin <pjbruin@dds.nl>
52521
52522 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52523 grub_load_linux instead of grub_rescue_cmd_linux as second
52524 argument of grub_rescue_register_command.
52525
52526 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52527
a447c5df 525282004-07-27 Marco Gerards <metgerards@student.han.nl>
52529
52530 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52531 function.
52532 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52533 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52534 `loader/powerpc/ieee1275/linux.c',
52535 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52536 * include/grub/powerpc/ieee1275/ieee1275.h
52537 (grub_ieee1275_release): New prototype.
52538 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52539 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52540 normal, boot, linux and linux_normal.
52541 * loader/powerpc/ieee1275/linux.c: New file.
52542 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52543
5a9e3546 525442004-07-12 Marco Gerards <metgerards@student.han.nl>
52545
52546 * normal/arg.c (grub_arg_parse): Correct error handling after
52547 reallocating the argumentlist (check if `argl' is not null instead
52548 of checking if `args' is not null).
52549 * kern/mm.c (grub_realloc): Return the same pointer when using the
52550 same region, instead of returning the header address.
52551
e15199cb 525522004-07-11 Marco Gerards <metgerards@student.han.nl>
52553
52554 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52555 one block instead of two when looking for the initial partition.
52556 (grub_partition_probe): Initialize the local variable `p' with 0.
52557 Use base 10 for the grub_strtoul call.
52558 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52559 need for one local variable.
52560 (grub_strtoul): Don't add the new value to `num', instead of that
52561 just assign it.
52562
020616c2 525632004-07-11 Marco Gerards <metgerards@student.han.nl>
52564
52565 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52566 (pxeboot_img_SOURCES): New variable.
52567 (pxeboot_img_ASFLAGS): Likewise.
52568 (pxeboot_img_LDFLAGS): Likewise.
52569 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52570 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52571 <lode_leroy@hotmail.com>.
52572
6c51eb64 525732004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52574
52575 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52576 there was no input.
52577
cfb12aff 525782004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52579
52580 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52581 the history buffer logic.
52582
6eabba74 525832004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52584
52585 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52586 (FILETYPE_INO_SYMLINK): New macros.
52587 (grub_ext2_find_file): Check if the node is a directory using the
52588 inode stat information instead of using the filetype in the
52589 dirent. Exclude the first character of an absolute symlink.
52590 (grub_ext2_dir): Mask out the filetype part of the mode member of
52591 the inode.
52592
66e19ef8 525932004-05-24 Marco Gerards <metgerards@student.han.nl>
52594
52595 Add support for UFS version 1 and 2. Add support for the minix
52596 filesystem version 1 and 2, both the variants with 14 and 30 long
52597 filenames.
f19dbdb7 52598
66e19ef8 52599 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52600 fs/minix.c.
52601 (grub_emu_SOURCES): Likewise.
52602 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52603 (ufs_mod_SOURCES): New variable.
52604 (ufs_mod_CFLAGS): Likewise.
52605 (minix_mod_SOURCES): Likewise.
52606 (minix_mod_CFLAGS): Likewise.
52607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52608 fs/minix.c.
52609 (grubof_SOURCES): Likewise.
52610 * fs/ufs.c: New file.
52611 * fs/minix.c: New file.
52612 * include/grub/fs.h (grub_ufs_init): New prototype.
52613 (grub_ufs_fini): Likewise.
52614 (grub_minix_init): Likewise.
52615 (grub_minix_fini): Likewise.
52616 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52617 minix fs.
52618
cc2e748a 526192004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52620
52621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52622 commands/ls.c, commands/terminal.c, commands/boot.c,
52623 commands/cmp.c and commands/cat.c.
52624 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52625
52626 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52627 "env.h"
52628
4b13b216 526292004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52630
52631 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52632 and grub_, respectively. Because the conversion is trivial and
52633 mechanical, I omit the details here. Please refer to the CVS
52634 if you need more information.
52635
6a142551 526362004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52637
52638 * include/pupa: Renamed to ...
52639 * include/grub: ... this.
52640 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52641 * util/i386/pc/grub-mkimage.c: ... this.
52642 * util/i386/pc/pupa-setup.c: Renamed to ...
52643 * util/i386/pc/grub-setup.c: ... this.
52644 * util/pupa-emu.c: Renamed to ...
52645 * util/grub-emu.c: ... this.
52646
e56cdf21 526472004-03-29 Marco Gerards <metgerards@student.han.nl>
52648
52649 Add support for the newworld apple macintosh (PPC). This has been
52650 tested on the powerbook 2000 only. It only adds support for
52651 generic ieee1275 functions, console and disk support. This should
52652 be easy to port to other architectures with support for Open
52653 Firmware.
f19dbdb7 52654
e56cdf21 52655 * configure.ac: Accept the powerpc as host_cpu. In the case of
52656 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52657 specific tests are only executed while building for the i386.
52658 Inverse test for crosscompile.
52659 * genmk.rb (Utility): Allow assembler files.
52660 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52661 * conf/powerpc-ieee1275.rmk: New file.
52662 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52663 * disk/powerpc/ieee1275/partition.c: Likewise.
52664 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52665 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52666 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52667 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52668 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52669 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52670 * include/pupa/powerpc/ieee1275/loader.h
52671 * include/pupa/powerpc/setjmp.h: Likewise.
52672 * include/pupa/powerpc/types.h: Likewise.
52673 * kern/powerpc/ieee1275/init.c: Likewise.
52674 * kern/powerpc/ieee1275/openfw.c: Likewise.
52675 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52676
52677 These files were written by Johan Rydberg
52678 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 52679
e56cdf21 52680 * boot/powerpc/ieee1275/cmain.c: New file.
52681 * boot/powerpc/ieee1275/crt0.S: Likewise.
52682 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52683 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52684
8c8cc205 526852004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52686
52687 * Makefile.in: Update copyright.
52688 * genmodsrc.sh: Likewise.
52689 * gensymlist.sh: Likewise.
52690 * term/i386/pc/vga.c: Indent correctly.
52691
52692 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52693 bugreporting address.
52694 * util/i386/pc/pupa-setup.c (usage): Likewise,
52695 (main): Call pupa_ext2_init and pupa_ext2_fini.
52696
f19dbdb7 52697 * fs/fat.c (log2): Renamed to ...
8c8cc205 52698 (fat_log2): ... this.
52699 All callers changed.
52700 * kern/misc.c (memcpy): Alias to pupa_memmove.
52701 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52702 lvalue cast.
52703 * util/console.c (pupa_ncurses_fini): Return 0.
52704
52705 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52706 Move fail label here.
52707 [__GNU__]: Don't warn when using stat.
52708 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52709 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52710 long int. Use strtol instead of strtoul.
f19dbdb7 52711
db1771cf 527122004-03-14 Marco Gerards <metgerards@student.han.nl>
52713
52714 * commands/boot.c: New file.
52715 * commands/cat.c: Likewise.
52716 * commands/cmp.c: Likewise.
52717 * commands/ls.c: Likewise.
52718 * commands/terminal.c: Likewise.
52719 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52720 (pupa_register_command): Changed interface to match the new
52721 argument parser.
52722 (pupa_command_execute): Changed (almost rewritten) so it uses
52723 pupa_split_command. Added support for setting variables using the
52724 syntax `foo=bar'.
52725 (rescue_command): Changed to work with the new argument parser.
52726 (terminal_command): Moved from here to commands/terminal.c.
52727 (set_command): New function.
52728 (unset_command): New function.
52729 (insmod_command): New function.
52730 (rmmod_command): New function.
52731 (lsmod_command): New function.
52732 (pupa_command_init): Don't initialize the command terminal
52733 anymore. Initialize the commands set, unset, insmod, rmmod and
52734 lsmod.
52735 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52736 (kernel_img_HEADERS): Add arg.h and env.h.
52737 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52738 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52739 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52740 normal/arg.c.
52741 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52742 terminal.mod.
52743 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52744 (boot_mod_SOURCES): New variable.
52745 (terminal_mod_SOURCES): Likewise.
52746 (ls_mod_SOURCES): Likewise.
52747 (cmp_mod_SOURCES): Likewise.
52748 (cat_mod_SOURCES): Likewise.
52749
52750 * normal/arg.c: New file.
52751 * kern/env.c: Likewise.
52752 * include/pupa/arg.h: Likewise.
52753 * include/pupa/env.h: Likewise.
52754 * font/manager.c (font_command): Changed to match argument parsing
52755 interface changes.
52756 (PUPA_MOD_INIT): Likewise.
52757 * hello/hello.c (pupa_cmd_hello): Likewise.
52758 (PUPA_MOD_INIT): Likewise.
52759 * include/pupa/disk.h: Include <pupa/device.h>.
52760 (pupa_print_partinfo): New prototype.
52761 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52762 (pupa_dl_get_prefix): Likewise.
52763 * include/pupa/misc.h: Include <pupa/err.h>.
52764 (pupa_isgraph): New prototype.
52765 (pupa_isdigit): Likewise.
52766 (pupa_split_cmdline): Likewise.
52767 * include/pupa/normal.h: Include <pupa/arg.h>.
52768 (pupa_command): Changed the prototype of the member `func' to
52769 match the argument parsing interface. Added member `options'.
52770 (pupa_register_command): Updated to match function.
52771 (pupa_arg_parse): New prototype.
52772 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52773 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52774 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52775 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52776 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52777 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52778 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52779 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52780 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52781 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52782 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52783 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52784 * kern/disk.c: Include <pupa/file.h>.
52785 (pupa_print_partinfo): New function.
52786 * kern/dl.c: Include <pupa/env.h>.
52787 (pupa_dl_dir): Variable removed.
52788 (pupa_dl_load): Use the environment variable `prefix' instead of
52789 the variable pupa_dl_dir.
52790 (pupa_dl_set_prefix): Function removed.
52791 (pupa_dl_get_prefix): Likewise.
52792 * kern/i386/pc/init.c: Include <pupa/env.h>.
52793 (pupa_machine_init): Use the environment variable `prefix' instead of
52794 using pupa_dl_set_prefix to set the prefix.
52795 * kern/main.c: Include <pupa/env.h>.
52796 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52797 using pupa_dl_get_prefix to get the prefix.
52798 * kern/misc.c: Include <pupa/env.h>.
52799 (pupa_isdigit): New function.
52800 (pupa_isgraph): Likewise.
52801 (pupa_ftoa): Likewise.
52802 (pupa_vsprintf): Added support for printing values of the type
52803 `double'. Make it possible to format variable output when using
52804 formatting like `%1.2%f'.
52805 (pupa_split_cmdline): New function.
52806 * kern/rescue.c: Include <pupa/env.h>.
52807 (next_word): Removed function.
52808 (pupa_rescue_cmd_prefix): Likewise.
52809 (pupa_rescue_cmd_set): New function.
52810 (pupa_rescue_cmd_unset): New function.
52811 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52812 split the command line instead of splitting it here. Added
52813 support for setting variables using the syntax `foo=bar'. Don't
52814 initialize the prefix command anymore. Initialized the set and
52815 unset commands.
52816 * normal/cmdline.c: Include <pupa/env.h>.
52817 (pupa_tab_complete): Added prototypes for print_simple_completion,
52818 print_partition_completion, add_completion, iterate_commands,
52819 iterate_dev, iterate_part and iterate_dir. Moved code to print
52820 partition information from here to kern/disk.c.
fe6b695a 52821 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52822 * normal/main.c: Include <pupa/env.h>.
52823 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52824 instead of using pupa_dl_get_prefix to get the prefix.
52825 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52826 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52827 warning.
52828 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52829 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52830 ((unused))' to silence a gcc warning.
52831 (pupa_vga_setcolor): Likewise.
52832 (debug_command): Changed to match argument parsing
52833 interface changes.
52834 * util/pupa-emu.c: Include <pupa/env.h>.
52835 (options): Added 0's for unused fields to silence a gcc warning.
52836 (argp): Likewise.
52837 (main): Use the environment variable `prefix' instead of using
52838 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52839 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52840 and terminal.
52841
52842 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52843 * util/misc.c: Include <malloc.h>.
52844 (pupa_malloc): Rewritten so errors are correctly reported.
52845 (pupa_realloc): Likewise.
52846 (pupa_memalign): Likewise.
52847 (pupa_mm_init_region): Declare unused variables with
52848 `__attribute__ ((unused))' to silence a gcc warning.
52849 * normal/i386/setjmp.S: Remove tab at the end of the file to
52850 silence a gcc warning.
52851 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52852 variables with `__attribute__ ((unused))' to silence a gcc
52853 warning.
52854 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52855 local variable i unsigned to silence a gcc warning.
52856
52857 * kern/term.c: Include <pupa/misc.h>.
52858 (pupa_more_lines): New variable.
52859 (pupa_more): Likewise.
52860 (pupa_putcode): When the pager is active pause at the end of every
52861 screen.
52862 (pupa_set_more): New function.
52863 * include/pupa/term.h (pupa_set_more): New prototype.
52864
52865
3b1139cb 528662004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52867
52868 Now this project is GRUB 2 rather than PUPA. The location of
52869 the CVS repository was moved to GRUB's.
f19dbdb7 52870
3b1139cb 52871 * configure.ac: Use bug-grub as the reporting address.
52872 Use GRUB instead of PUPA.
52873 Change the version number to 1.90.
52874
8367695c 528752004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52876
52877 * genkernsyms.sh: Updated copyright information.
52878 * genmk.rb: Likewise.
52879 * genmodsrc.sh: Likewise.
52880 * gensymlist.sh: Likewise.
52881 * boot/i386/pc/boot.S: Likewise.
52882 * boot/i386/pc/diskboot.S: Likewise.
52883 * disk/i386/pc/biosdisk.c: Likewise.
52884 * disk/i386/pc/partition.c: Likewise.
52885 * font/manager.c: Likewise.
52886 * fs/ext2.c: Likewise.
52887 * fs/fat.c: Likewise.
52888 * include/pupa/boot.h: Likewise.
52889 * include/pupa/device.h: Likewise.
52890 * include/pupa/disk.h: Likewise.
52891 * include/pupa/dl.h: Likewise.
52892 * include/pupa/elf.h: Likewise.
52893 * include/pupa/err.h: Likewise.
52894 * include/pupa/file.h: Likewise.
52895 * include/pupa/font.h: Likewise.
52896 * include/pupa/fs.h: Likewise.
52897 * include/pupa/kernel.h: Likewise.
52898 * include/pupa/loader.h: Likewise.
52899 * include/pupa/misc.h: Likewise.
52900 * include/pupa/mm.h: Likewise.
52901 * include/pupa/net.h: Likewise.
52902 * include/pupa/normal.h: Likewise.
52903 * include/pupa/rescue.h: Likewise.
52904 * include/pupa/setjmp.h: Likewise.
52905 * include/pupa/symbol.h: Likewise.
52906 * include/pupa/term.h: Likewise.
52907 * include/pupa/types.h: Likewise.
52908 * include/pupa/i386/setjmp.h: Likewise.
52909 * include/pupa/i386/types.h: Likewise.
52910 * include/pupa/i386/pc/biosdisk.h: Likewise.
52911 * include/pupa/i386/pc/boot.h: Likewise.
52912 * include/pupa/i386/pc/console.h: Likewise.
52913 * include/pupa/i386/pc/init.h: Likewise.
52914 * include/pupa/i386/pc/kernel.h: Likewise.
52915 * include/pupa/i386/pc/linux.h: Likewise.
52916 * include/pupa/i386/pc/loader.h: Likewise.
52917 * include/pupa/i386/pc/memory.h: Likewise.
52918 * include/pupa/i386/pc/multiboot.h: Likewise.
52919 * include/pupa/i386/pc/partition.h: Likewise.
52920 * include/pupa/i386/pc/time.h: Likewise.
52921 * include/pupa/i386/pc/vga.h: Likewise.
52922 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52923 * include/pupa/util/getroot.h: Likewise.
52924 * include/pupa/util/misc.h: Likewise.
52925 * include/pupa/util/resolve.h: Likewise.
52926 * kern/device.c: Likewise.
52927 * kern/disk.c: Likewise.
52928 * kern/dl.c: Likewise.
52929 * kern/err.c: Likewise.
52930 * kern/file.c: Likewise.
52931 * kern/fs.c: Likewise.
52932 * kern/loader.c: Likewise.
52933 * kern/main.c: Likewise.
52934 * kern/misc.c: Likewise.
52935 * kern/mm.c: Likewise.
52936 * kern/rescue.c: Likewise.
52937 * kern/term.c: Likewise.
52938 * kern/i386/dl.c: Likewise.
52939 * kern/i386/pc/init.c: Likewise.
52940 * kern/i386/pc/lzo1x.S: Likewise.
52941 * kern/i386/pc/startup.S: Likewise.
52942 * loader/i386/pc/chainloader.c: Likewise.
52943 * loader/i386/pc/linux.c: Likewise.
52944 * loader/i386/pc/multiboot.c: Likewise.
52945 * normal/cmdline.c: Likewise.
52946 * normal/command.c: Likewise.
52947 * normal/main.c: Likewise.
52948 * normal/menu.c: Likewise.
52949 * normal/i386/setjmp.S: Likewise.
52950 * term/i386/pc/console.c: Likewise.
52951 * term/i386/pc/vga.c: Likewise.
52952 * util/console.c: Likewise.
52953 * util/genmoddep.c: Likewise.
52954 * util/misc.c: Likewise.
52955 * util/pupa-emu.c: Likewise.
52956 * util/resolve.c: Likewise.
52957 * util/unifont2pff.rb: Likewise.
52958 * util/i386/pc/biosdisk.c: Likewise.
52959 * util/i386/pc/getroot.c: Likewise.
52960 * util/i386/pc/pupa-mkimage.c: Likewise.
52961 * util/i386/pc/pupa-setup.c: Likewise.
52962
e6eced71 529632004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52964
52965 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52966 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52967 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52968 reading and reset it after reading.
52969 (pupa_ext2_close): Return PUPA_ERR_NONE.
52970
52971 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52972 Correct value.
52973 (struct linux_kernel_header): Add kernel_version and
52974 initrd_addr_max.
52975 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52976 pupa_file_read succeeds.
52977 (pupa_rescue_cmd_initrd): Implement.
52978
5aded270 529792003-12-03 Marco Gerards <metgerards@student.han.nl>
52980
52981 * fs/ext2.c (pupa_ext2_label): New function.
52982 (pupa_ext2_fs): Added label.
52983 * fs/fat.c (pupa_fat_label): New function.
52984 (pupa_fat_fs): Added label.
52985 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52986
52987 * kern/misc.c (pupa_strndup): New function.
52988 * include/pupa/misc.h (pupa_strndup): New prototype.
52989
52990 * include/pupa/normal.h: Include <pupa/err.h>.
52991 (pupa_set_history): New prototype.
52992 (pupa_iterate_commands): New prototype.
52993 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52994 <pupa/disk.h>, <pupa/file.h>.
52995 (hist_size): New variable.
52996 (hist_lines): Likewise.
52997 (hist_end): Likewise.
52998 (hist_used): Likewise.
52999 (pupa_set_history): New function.
53000 (pupa_history_get): Likewise.
53001 (pupa_history_add): Likewise.
53002 (pupa_history_replace): Likewise.
53003 (pupa_tab_complete): Likewise.
53004 (pupa_cmdline_run): Added tab completion and history buffer. Tab
53005 completion shows partitionnames while completing partitions, this
53006 feature was suggested by Jeff Bailey.
53007 * normal/command.c (pupa_iterate_commands): New function.
53008 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
53009 (pupa_normal_init): Initialize history buffer.
53010 (PUPA_MOD_INIT): Likewise.
53011 (pupa_normal_fini): Free the history buffer.
53012 (PUPA_MOD_FINI): Likewise.
53013
53014 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
53015 key.
53016
53017 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
53018 * configure.ac [i386]: Check for regparam bug.
53019 (NESTED_FUNC_ATTR) [! i386]: Defined.
53020
1f7315a3 530212003-11-17 Marco Gerards <metgerards@student.han.nl>
53022
53023 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
53024 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
53025 (pupa_emu_SOURCES): New variable.
53026 (pupa_emu_LDFLAGS): Likewise.
53027 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
53028 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
53029 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
53030 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53031 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
53032 (pupa_jmp_buf): New typedef.
53033 (pupa_setjmp) [PUPA_UTIL]: New macro.
53034 (pupa_longjmp) [PUPA_UTIL]: Likewise.
53035 * include/pupa/term.h (struct pupa_term): New member `refresh'.
53036 (pupa_refresh): New prototype.
53037 * include/pupa/util/getroot.h: New file.
53038 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
53039 it.
53040 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
53041 (pupa_rescue_cmd_cat): Likewise.
53042 (pupa_rescue_cmd_ls): Likewise.
53043 (pupa_rescue_cmd_testload): Likewise.
53044 (pupa_rescue_cmd_lsmod): Likewise.
53045 * normal/cmdline.c (pupa_cmdline_get): Likewise.
53046 * normal/menu.c (run_menu): Likewise.
53047 * kern/term.c (pupa_cls): Likewise.
53048 (pupa_refresh): New function.
53049 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
53050 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53051 * util/console.c: New file.
f19dbdb7 53052
1f7315a3 53053 * util/i386/pc/getroot.c: New file.
53054 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
53055 (pupa_putchar): New function.
53056 (pupa_refresh): Likewise.
53057 (xgetcwd): Function moved to ...
53058 (strip_extra_slashes): Likewise.
53059 (get_prefix): Likewise.
f19dbdb7 53060 * util/i386/pc/getroot.c: ... here.
1f7315a3 53061 (find_root_device): Function moved and renamed to...
53062 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
53063 Changed all callers.
53064 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
53065 and renamed to...
53066 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
53067 Changed all callers.
53068 * util/misc.c (pupa_memalign): New function.
53069 (pupa_mm_init_region): Likewise.
53070 (pupa_register_exported_symbols): Likewise.
53071 (pupa_putchar): Function removed.
53072 * util/pupa-emu.c: New file.
53073
9a5c1ade 530742003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
53075
53076 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
53077 (_multiboot_mod_SOURCES): New variable.
53078 (_multiboot_mod_CFLAGS): Likewise.
53079 * loader/i386/pc/multiboot.c: New file.
53080 * include/pupa/i386/pc/multiboot.h: Likewise.
53081 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
53082 (pupa_multiboot_real_boot): New function.
53083 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
53084 (pupa_multiboot_real_boot): New prototype.
53085 (pupa_rescue_cmd_multiboot): Likewise
53086 (pupa_rescue_cmd_module): Likewise.
53087
53088 * kern/loader.c (pupa_loader_set): Continue when
53089 pupa_loader_unload_func() fails.
53090 (pupa_loader_unset): New function.
53091 * include/pupa/loader.h (pupa_loader_unset): New prototype.
53092
53093 * kern/misc.c (pupa_stpcpy): New function.
53094 * include/pupa/misc.h (pupa_stpcpy): New prototype.
53095
8e72a9c0 530962003-11-12 Marco Gerards <metgerards@student.han.nl>
53097
53098 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
53099 for available extensions.
53100
53101 * include/pupa/i386/pc/time.h: New file.
53102 * kern/disk.c: Include <pupa/machine/time.h>.
53103 (PUPA_CACHE_TIMEOUT): New macro.
53104 (pupa_last_time): New variable.
53105 (pupa_disk_open): Flush the cache when there was a timeout.
53106 (pupa_disk_close): Reset the timer.
53107 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
53108 pupa_currticks.
53109 * util/misc.c: Include <sys/times.h>
53110 (pupa_get_rtc): New function.
53111
c4adbd32 531122003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
53113
53114 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
53115 as blocks.
53116 (pupa_ext2_get_file_block): Use blocks member.
53117
53118 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
53119 first block. Return -1 instead of pupa_errno on error.
53120
bfd30f06 531212003-10-27 Marco Gerards <metgerards@student.han.nl>
53122
53123 * README: In the pupa-mkimage example use _chain instead of chain
53124 and ext2 instead of fat.
53125 * TODO: Replace ext2fs with jfs as an example. Add an item for
53126 adding journal playback for ext2fs.
53127 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
53128 (pkgdata_MODULES): Added ext2.mod.
53129 (ext2_mod_SOURCES): New variable.
53130 (ext2_mod_CFLAGS): Likewise.
53131 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
53132 * include/pupa/misc.h (pupa_strncpy): New prototype.
53133 (pupa_strcat): Likewise.
53134 (pupa_strncmp): Likewise.
53135 * kern/misc.c (pupa_strcat): Enable function.
53136 (pupa_strncpy): New function.
53137 (pupa_strncmp): Likewise.
53138 * fs/ext2.c: New file.
f19dbdb7 53139
bfd30f06 53140 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
53141 when the read failed before retrying.
53142 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
53143 (_FILE_OFFSET_BITS): Likewise.
53144 * configure.ac: Added AC_SYS_LARGEFILE.
53145
98d15063 531462003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53147
53148 * genmk.rb (PModule#rule): Make sure to get only symbol names
53149 from the output of nm.
59cad637 53150 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 53151
18d9c7cd 531522003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53153
53154 I forgot to check in these changes for a long time. This adds
53155 incomplete support for VGA console, and this is still very
53156 buggy. Also, a lot of consideration is required for I18N,
53157 UNICODE, and VGA font issues. Therefore, assume that this is
53158 such that "better than nothing".
f19dbdb7 53159
18d9c7cd 53160 * font/manager.c: New file.
53161 * include/pupa/font.h: Likewise.
53162 * include/pupa/i386/pc/vga.h: Likewise.
53163 * term/i386/pc/vga.c: Likewise.
53164 * util/unifont2pff.rb: Likewise.
53165
53166 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
53167 (pkgdata_MODULES): Added vga.mod and font.mod.
53168 (vga_mod_SOURCES): New variables.
53169 (vga_mod_CFLAGS): Likewise.
53170 (font_mod_SOURCES): Likewise.
53171 (font_mod_CFLAGS): Likewise.
53172
53173 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
53174
53175 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 53176 (struct pupa_term): Added init and fini.
18d9c7cd 53177 Changed the argument of putchar to pupa_uint32_t.
53178
53179 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
53180 (pupa_console_real_putchar): New prototype.
53181 (pupa_console_putchar): Removed.
53182 (pupa_console_checkkey): Exported.
53183 (pupa_console_getkey): Likewise.
53184
53185 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
53186 characters.
53187
53188 * kern/term.c (pupa_term_set_current): Rewritten.
53189 (pupa_putchar): Likewise.
53190 (pupa_putcode): New function.
53191
53192 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
53193 (pupa_console_real_putchar): ... this.
53194 (pupa_vga_set_mode): New function.
53195 (pupa_vga_get_font): Likewise.
53196
53197 * normal/command.c: Include pupa/term.h.
53198 (terminal_command): New function.
53199 (pupa_command_init): Register the command "terminal".
53200
53201 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
53202 (DISP_UP): Likewise.
53203 (DISP_RIGHT): Likewise.
53204 (DISP_DOWN): Likewise.
53205 (DISP_HLINE): Likewise.
53206 (DISP_VLINE): Likewise.
53207 (DISP_UL): Likewise.
53208 (DISP_UR): Likewise.
53209 (DISP_LL): Likewise.
53210 (DISP_LR): Likewise.
53211
53212 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 53213
977329f5 532142003-02-08 NIIBE Yutaka <gniibe@m17n.org>
53215
53216 * util/resolve.c (pupa_util_resolve_dependencies): BUG
53217 FIX. Reverse the path_list.
53218
53219 * include/pupa/normal.h: Export pupa_register_command and
53220 pupa_unregister_command.
53221
53222 * hello/hello.c (pupa_cmd_hello): New module.
53223 * conf/i386-pc.rmk: Added hello.mod.
53224
1f5ab428 532252003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
53226
53227 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 53228
1f5ab428 53229 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
53230 (compress_kernel): New variable.
53231 (generate_image): Heavily modified to support compressing a
53232 large part of the core image.
53233
53234 * util/misc.c (pupa_util_read_image): Fix a file descriptor
53235 leak.
53236 (pupa_util_load_image): New function.
53237
53238 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
53239 (pupa_compressed_size): New variable.
53240 (codestart): Enable Gate A20 here.
53241 Decompress the compressed part of the core image.
53242 Rearrange the code to put functions and variables which are
53243 required for initialization in the non-compressed part.
53244 Include lzo1x.S.
53245
53246 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
53247 here.
53248
53249 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
53250
f19dbdb7 53251 * include/pupa/i386/pc/kernel.h
1f5ab428 53252 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
53253 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
53254 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53255 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53256 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
53257
53258 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
53259
53260 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
53261 (Utility#rule): Likewise.
53262
53263 * configure.ac: Check if LZO is available.
53264
ce5bf700 532652003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
53266
53267 * include/pupa/normal.h: New file.
53268 * include/pupa/setjmp.h: Likewise.
53269 * include/pupa/i386/setjmp.h: Likewise.
53270 * normal/cmdline.c: Likewise.
53271 * normal/command.c: Likewise.
53272 * normal/main.c: Likewise.
53273 * normal/menu.c: Likewise.
53274 * normal/i386/setjmp.S: Likewise.
f19dbdb7 53275
ce5bf700 53276 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
53277 (pupa_rescue_cmd_initrd): Likewise.
53278
53279 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
53280 Likewise.
53281
53282 * kern/i386/pc/startup.S (translation_table): New variable.
53283 (translate_keycode): New function.
53284 (pupa_console_getkey): Call translate_keycode.
53285
53286 * kern/rescue.c (attempt_normal_mode): New function.
53287 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
53288 it failed, print a message.
53289
53290 * kern/mm.c (pupa_real_malloc): Print more information when a
53291 free magic is broken.
53292 (pupa_free): If the first free header is not free actually, set
53293 it to P.
53294
53295 * kern/main.c (pupa_load_normal_mode): Just load the module
53296 "normal".
53297 (pupa_main): Don't print the message
53298 "Entering into rescue mode..." here.
53299
53300 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
53301 Declared.
53302 (pupa_rescue_cmd_initrd): Likewise.
53303 (pupa_rescue_cmd_initrd): Likewise.
53304
53305 * include/pupa/symbol.h (FUNCTION): Specify the type.
53306 (VARIABLE): Likewise.
53307
53308 * include/pupa/err.h (pupa_err_t): Added
53309 PUPA_ERR_UNKNOWN_COMMAND.
53310
53311 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
53312 (pupa_dl_get_prefix): Likewise.
53313
53314 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
53315 Added _chain.mod and _linux.mod instead of chain.mod and
53316 linux.mod.
53317 (chain_mod_SOURCES): Renamed to ...
53318 (_chain_mod_SOURCES): ... this.
53319 (chain_mod_CFLAGS): Renamed to ...
53320 (_chain_mod_CFLAGS): ... this.
53321 (linux_mod_SOURCES): Renamed to ...
53322 (_linux_mod_SOURCES): ... this.
53323 (linux_mod_CFLAGS): Renamed to ...
53324 (_linux_mod_CFLAGS): ... this.
53325 (normal_mod_SOURCES): New variable.
53326 (normal_mod_CFLAGS): Likewise.
53327 (normal_mod_ASFLAGS): Likewise.
53328
533292003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
53330
53331 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
53332 possible.
53333
fe6b695a 53334 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 53335 recursively.
53336 (pupa_dl_unref): Unrefer depending modules recursively.
53337 Don't call pupa_dl_unload implicitly, because PUPA can crash if
53338 a module is unloaded before one depending on that module is
53339 unloaded.
53340 (pupa_dl_unload): Unload depending modules explicitly,
53341 if possible.
53342
c04da074 533432003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53344
53345 * include/pupa/i386/pc/linux.h: New file.
53346 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 53347
c04da074 53348 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53349 Removed.
53350 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53351 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53352 of PUPA_CHAINLOADER_BOOT_SECTOR.
53353
53354 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53355 (pupa_linux_prot_size): New variable.
53356 (pupa_linux_tmp_addr): Likewise.
53357 (pupa_linux_real_addr): Likewise.
53358 (pupa_linux_boot_zimage): New function.
53359 (pupa_linux_boot_bzimage): Likewise.
53360
53361 * kern/i386/pc/init.c (struct mem_region): New structure.
53362 (MAX_REGIONS): New macro.
53363 (mem_regions): New variable.
53364 (num_regions): Likewise.
53365 (pupa_os_area_addr): Likewise.
53366 (pupa_os_area_size): Likewise.
53367 (pupa_lower_mem): Likewise.
53368 (pupa_upper_mem): Likewise.
53369 (add_mem_region): New function.
53370 (compact_mem_regions): Likewise.
53371 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53372 the size of the conventional memory and that of so-called upper
53373 memory (before the first memory hole).
53374 Instead of adding each found region to free memory, use
53375 add_mem_region and add them after removing overlaps.
53376 Also, add only 1/4 of the upper memory to free memory. The rest
53377 is used for loading OS images. Maybe this is ad hoc, but this
53378 makes it much easier to relocate OS images when booting.
53379
53380 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53381 (pupa_enter_rescue_mode): Don't register initrd and module.
53382
53383 * kern/mm.c: Include pupa/dl.h.
53384
53385 * kern/main.c: Include pupa/file.h and pupa/device.h.
53386
53387 * kern/loader.c (pupa_loader_load_module_func): Removed.
53388 (pupa_loader_load_module): Likewise.
53389
53390 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53391 ``.o''.
53392
53393 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53394 (pupa_linux_tmp_addr): Likewise.
53395 (pupa_linux_real_addr): Likewise.
53396 (pupa_linux_boot_zimage): Likewise.
53397 (pupa_linux_boot_bzimage): Likewise.
53398
53399 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53400 (pupa_upper_mem): Likewise.
53401 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53402 module is too dangerous.
53403
53404 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53405 (pupa_os_area_size): Likewise.
53406 (pupa_loader_set): Remove the first argument. Loader doesn't
53407 manage modules or initrd any longer.
53408 (pupa_loader_load_module): Removed.
53409
53410 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53411 (linux_mod_SOURCES): New variable.
53412 (linux_mod_CFLAGS): Likewise.
53413
a13f9237 534142003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53415
53416 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53417 the length of a blocklist correctly.
53418
53419 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53420 Use ioctl only if the OS file is a block device.
53421 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53422 not very useful for normal files.
53423
53424 * kern/main.c (pupa_set_root_dev): New function.
53425 (pupa_load_normal_mode): Likewise.
53426 (pupa_main): Call those above.
53427
53428 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53429 pupa_uint16_t.
53430
53431 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53432
a5ffe966 534332003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53434
53435 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53436 (setup): Configure the installed partition information and the
53437 dl prefix.
53438
53439 * loader/i386/pc/chainloader.c (my_mod): New variable.
53440 (pupa_chainloader_unload): New function.
53441 (pupa_rescue_cmd_chainloader): Refer itself.
53442 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53443
53444 * kern/i386/pc/startup.S (install_partition): Removed.
53445 (version_string): Likewise.
53446 (config_file): Likewise.
53447 (pupa_install_dos_part): New variable.
53448 (pupa_install_bsd_part): Likewise.
53449 (pupa_prefix): Likewise.
53450 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53451
53452 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53453 and pupa/misc.h.
53454 (make_install_device): New function.
53455 (pupa_machine_init): Set the dl prefix.
53456
53457 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53458 (buf): Renamed to ...
53459 (linebuf): ... this.
53460 (pupa_rescue_cmd_prefix): New function.
53461 (pupa_rescue_cmd_insmod): Likewise.
53462 (pupa_rescue_cmd_rmmod): Likewise.
53463 (pupa_rescue_cmd_lsmod): Likewise.
53464 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53465 rmmod and lsmod.
53466
53467 * kern/mm.c (pupa_memalign): If failed even after invalidating
53468 disk caches, unload unneeded modules and retry.
53469
53470 * kern/misc.c (pupa_memmove): New function.
53471 (pupa_memcpy): Removed.
53472 (pupa_strcpy): New function.
53473 (pupa_itoa): Made static.
53474
53475 * kern/dl.c (pupa_dl_iterate): New function.
53476 (pupa_dl_ref): Likewise.
53477 (pupa_dl_unref): Likewise.
53478 (pupa_dl_unload): Return if succeeded or not.
53479 (pupa_dl_unload_unneeded): New function.
53480 (pupa_dl_unload_all): Likewise.
53481 (pupa_dl_init): Renamed to ...
53482 (pupa_dl_set_prefix): ... this.
53483 (pupa_dl_get_prefix): New function.
53484
53485 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53486 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53487 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53488 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53489 (pupa_install_dos_part): Declared.
53490 (pupa_install_bsd_part): Likewise.
53491 (pupa_prefix): Likewise.
53492 (pupa_boot_drive): Likewise.
53493
53494 * include/pupa/types.h: Fix a typo.
53495
53496 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53497 pupa_memmove.
53498 (pupa_memmove): Declared.
53499 (pupa_strcpy): Likewise.
53500
53501 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
53502 pupa_mod_init takes one argument, its own module.
53503 (pupa_dl_unload_unneeded): Declared.
53504 (pupa_dl_unload_all): Likewise.
53505 (pupa_dl_ref): Likewise.
53506 (pupa_dl_unref): Likewise.
53507 (pupa_dl_iterate): Likewise.
53508 (pupa_dl_init): Renamed to ...
53509 (pupa_dl_set_prefix): ... this.
53510 (pupa_dl_get_prefix): Declared.
53511
53512 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 53513 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 53514 unloaded.
53515 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53516 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53517
53518 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53519 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53520
012d7999 535212003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53522
53523 * util/i386/pc/pupa-setup.c (setup): Define the internal
53524 function find_first_partition_start at the top level, because GCC
53525 3.0.x cannot compile internal functions in deeper scopes
53526 correctly.
53527 (find_root_device): Use lstat instead of stat.
53528 Don't follow symbolic links.
53529 Fix the path-constructing code.
53530
53531 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53532 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53533 by a BLKGETSIZE ioctl first, because block devices don't fill
53534 the member st_mode of the structure stat on Linux.
53535 [__linux__] (linux_find_partition): Use a temporary buffer
53536 REAL_DEV for the working space. Copy it to DEV before returning.
53537 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53538 buffer cache consistent.
53539 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53540 strncmp. The previous value was merely wrong.
53541 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53542
53543 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53544 FAT size is 12. The previous value was merely wrong.
53545
53546 * kern/main.c (pupa_main): Don't split the starting message from
53547 newlines.
53548
53549 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53550 LF, because BIOS goes crazy about character attributes in this
53551 case.
53552
1cc73a62 535532003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53554
53555 * include/i386/pc/util/biosdisk.h: New file.
53556 * util/i386/pc/biosdisk.c: Likewise.
53557 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 53558
1cc73a62 53559 * Makefile.in (INCLUDE_DISTFILES): Added
53560 include/pupa/i386/pc/util/biosdisk.h.
53561 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
53562 directory util/i386/pc.
53563 (install-local): Added a rule for sbin_UTILITIES.
53564 (uninstall): Likewise.
53565
53566 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53567
53568 * util/misc.c (xrealloc): New function.
53569 (pupa_malloc): Likewise.
53570 (pupa_free): Likewise.
53571 (pupa_realloc): Likewise.
53572 (pupa_stop): Likewise.
53573 (pupa_putchar): Likewise.
53574
53575 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53576
53577 * include/pupa/util/misc.h (xrealloc): Declared.
53578
53579 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53580 macro.
53581 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53582 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53583
53584 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53585 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53586
53587 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53588 way should be implemented.
53589 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53590
53591 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53592 the size of NAME for safety.
53593 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53594 0x88.
53595
53596 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53597 (pupa_setup_SOURCES): Likewise.
53598
53599 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53600
08b70fe8 536012002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53602
53603 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53604 bunch of pushl's from pusha, because this destroys the return
53605 value.
53606
62ddcc8f 536072002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53608
53609 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53610 This means that any missing prototypes could be fatal. Also, you
53611 must take care when writing assembly code. See the comments at
53612 the beginning of startup.S, for more details.
f19dbdb7 53613
62ddcc8f 53614 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53615 compilation mechanism.
53616 (pupa_chainloader_real_boot): Likewise.
53617 (pupa_biosdisk_rw_int13_extensions): Likewise.
53618 (pupa_biosdisk_rw_standard): Likewise.
53619 (pupa_biosdisk_check_int13_extensions): Likewise.
53620 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53621 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53622 (pupa_get_memsize): Likewise.
53623 (pupa_get_mmap_entry): Likewise.
53624 (pupa_console_putchar): Likewise.
53625 (pupa_console_setcursor): Likewise.
53626 (pupa_getrtsecs): Use pushl instead of push.
53627
53628 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53629 memory instead of the stack for a mmap entry, because some
53630 BIOSes may ignore the maximum size and overflow.
53631
53632 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53633
53634 * genmk.rb (PModule#rule): Compile automatically generated
53635 sources with module-specific CFLAGS as well as other sources.
53636
9962ed99 536372002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53638
53639 * configure.ac: Check ld.
53640 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53641 respectively, before checking endianness and sizes.
53642
53643 * Makefile.in (LD): New variable.
f19dbdb7 53644
abdfc3c5 536452002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53646
53647 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53648
6a161fa9 536492002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53650
53651 * Changelog: New file.
53652