]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/genmod.sh.in: Strip before converting to ELF as strip
[grub2.git] / ChangeLog
CommitLineData
23d2abc3
VS
12013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
4 may not work with ELF.
5
4f979ccb
VS
62013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7
8 Use unix functions for temporary files and special files on cygwin.
9
37378f74
VS
102013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11
12 Define functions explicitly rather than using --defsym in tests
13 whenever possible. Respect locality in remaining cases.
14
6a09d83e
VS
152013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
18
80b865bd
IC
192013-12-15 Ian Campbell <ijc@hellion.org.uk>
20
21 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
22
04b02857
VS
232013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
24
25 New functional test for sleep function.
26
27 This test allows to check sleep without qemu. Keep qemu version as
28 well as functional test won't notice if all clocks are going too fast
29 or too slow.
30
39711101
VS
312013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
32
33 Add explicit sysv_abi on amd64 asm routines.
34
d99af4f0
VS
352013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
38 num_table_entries.
39
71043684
VS
402013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
43 functions.
44
111bf5db
VS
452013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
48 appropriate.
49
24ca71c9
VS
502013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
53
48ba5c0c
VS
542013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
57 appropriate.
58
8ae67045
VS
592013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
62
63 In case of quick removal of loopback and adding another one it may
64 get same ID, confusing the cache system.
65
ed559310
VS
662013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
69 appropriate.
70
8fa26279
VS
712013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
74 than converting to long.
75
6f5f3337
VS
762013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
79
e7c418c5
VS
802013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
83 than almost useless pointer.
84
7e47e27b
VS
852013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
86
87 Add gcc_struct to all packed structures when compiling with mingw.
88
89 Just "packed" doesn't always pack the way we expect.
90
ae8159b9
VS
912013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
94
74e7ad66
VS
952013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * util/grub-pe2elf.c: Fix handling of .bss.
98
814442ba
VS
992013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
100
101 Implement windows flavour of EFI install routines.
102
5f5bb107
VS
1032013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
106
a24725cc
VS
1072013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
108
109 Change grub_install_register_efi interface to pass GRUB device.
110
111 This allows grub_install_register_efi to request partition info
112 directly.
113
38933cee
VS
1142013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
115
116 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
117
6d3cfe50
VS
1182013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
119
120 Do not use TCHAR string functions as they are not available on cygwin.
121
4bad23a1
VS
1222013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
123
124 Workaround windows bug when querying EFI system partition parameters.
125
6a5fe132
VS
1262013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
129 by using bitfields.
130
bc8fcf4b
VS
1312013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
134
60b967be
VS
1352013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
136
137 Make i386-* other than i386-pc compileable under cygwin.
138
6dc33377
VS
1392013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
140
141 Fix definition of grub_efi_hard_drive_device_path. Take care that
142 existing code would work even if by some reason bogus definition is
143 used by EFI implementations.
144
f2c6ff15
VS
1452013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
148
6b8a1625
VS
1492013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
152 invocation.
153
954c723a
VS
1542013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * util/config.c: Remove trailing newline from distributor in simple
157 parsing.
158
607a39f9
VS
1592013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * include/grub/efi/api.h: Rename protocol and interface to avoid
162 conflict.
163
df6fedca
VS
1642013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * .gitignore: Add .exe variants. Add missing files. Remove few outdated
167 entries.
168
f684d7e1
VS
1692013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * grub-core/osdep/exec.c: Use unix version on cygwin.
172
0df77d79
VS
1732013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
174
175 Implement multiboot2 EFI BS specification.
176
dafff9ce
VS
1772013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * grub-core/normal/charset.c: Fix premature line wrap and crash.
180 Crash happened only in some cases like a string starting at the
181 half of the screen of same length.
182
6644d973
VS
1832013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
186 with EFI counterpart.
187
44bbfa33
VS
1882013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
189
190 Propagate the EFI commits to x86-efi specific parts.
191
3e3dff24
VS
1922013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
193
194 * grub-core/commands/efi/lssal.c: Fix terminating condition.
195
316dda71
VS
1962013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
197
198 Introduce grub_efi_packed_guid and use it where alignment is not
199 guaranteed.
200
219401b8
VS
2012013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * include/grub/efi/api.h (grub_efi_device_path): Define length as
204 unaligned u16 rather than u8[2].
205
30d00537
VS
2062013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
209 for relocation range.
210
979742bc
VS
2112013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
214 non-function pcrel21b relocation. It happens with .text.unlikely
215 section.
216
16c8f785
LL
2172013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
218
219 * make MAX_USABLE_ADDRESS platform-specific
220 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
221
3f1423e7
LL
2222013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
223
224 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
225
dd73313c
JM
2262013-12-09 Jon McCune <jonmccune@google.com>
227
228 * Add --no-rs-codes flag to optionally disable reed-solomon codes
229 in grub-install and grub-bios-setup for x86 BIOS targets.
230
eaf01c25
VS
2312013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
232
233 Add missing compile and link options for sparc64-emu.
234
7a148da6
VS
2352013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
236
237 Implement sparc64 trampolines (needed for sparc64-emu).
238
21eee750
VS
2392013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
242 range of R_SPARC_HI22.
243 Implement R_SPARC_LM22.
244
7b54b626
VS
2452013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
246
247 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
248 Do not explicitly check for symbol table as it's already checked in
249 platform-independent layer.
250
9a945e2a
VS
2512013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
254 on ia64 as __clear_cache is a dummy on ia64.
255
4f4ea1b4
VS
2562013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
259 Do not explicitly check for symbol table as it's already checked in
260 platform-independent layer.
261
fe4ae213
CW
2622013-12-09 Colin Watson <cjwatson@ubuntu.com>
263
264 * util/grub-mkconfig.in: Add missing newline to output.
265
78b2b0a1
VS
2662013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
269 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
270
d14772c4
VS
2712013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
274 compilation with GCC <= 4.2.
275 * grub-core/kern/emu/argp_common.c: Likewise.
276
388f3cd0
VS
2772013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
280 right platform rather than leaking to sparc64-emu.
281
11e4167a
VS
2822013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
285 But ensure that the variables in question are indeed unsigned.
286
fa7eb63d
VS
2872013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
290
50b3a68d
VS
2912013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
292
293 Remove grub_memalign on emu.
294
fbbfb6ab
VS
2952013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
298 truncate incomplete lines but instead flushes them.
299
a19293cb
VS
3002013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
301
302 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
303 and implement windows variant.
304
d5c14e1e
VS
3052013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
306
307 Fix mips-emu compilation.
308
b75db69a
VS
3092013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * configure.ac: Check for freetype library usability.
312
c311ced5
VS
3132013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
314
315 Make arm-emu work.
316
c8fd2ddf
VS
3172013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
320
c50e5f45
AB
3212013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
322
323 * docs/grub.texi (Environment): Update color_normal and color_highlight
324 defaults (light-gray instead of white).
325
bb05e313
AB
3262013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
327
328 * grub-core/normal/main.c (INIT): Set default color to light-gray
329 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
330 and apparently BIOS defaults.
331
f23bc651
VS
3322013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
333
334 Transform -C option to grub-mkstandalone to --core-compress available
335 in all grub-install flavours.
336
4c4ea9c7
VS
3372013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
338
339 Merge GRUBFS and GRUB_FS variables.
340
92e9352d
AB
3412013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
342
343 Revert commit 69ca97c820, it caused failures when using OS device name
344 in grub-install. Instead just strip off parenthesis in grub-install
345 if (hdX) was passed.
346
f585c905
AB
3472013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
348
349 * util/grub-install.c (push_partmap_module): Add helper to convert
350 partmap names to module names and use it in probe_mods(). Fixes
351 failure to find partmap modules in diskfilter case.
352
5ff24907
VS
3532013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * configure.ac: Make unifont mandatory on coreboot.
356
0277eab7
VS
3572013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * configure.ac: Skip unifont 6.3 pcf and bdf.
360
4861b6c8
VS
3612013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * Makefile.am: Remove partial font files if generation failed.
364
3100cdc7
AB
3652013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
366
367 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
368 strings.
369 * include/grub/util/misc.h: Define it ...
370 * util/grub-install.c (device_map_check_duplicates): ... and use it.
371
ad73cc33
AB
3722013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
373
374 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
375 ${grub_probe}.
376
41822625
VS
3772013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
378
379 Don't add -mlong-calls when compiling with clang.
380
896f483d
VS
3812013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * configure.ac: Fix a typo.
384
8c534b85
VS
3852013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
386
387 Revamp relocation handling.
388
389 Move more code to common dl.c. Add missing veneers for arm and arm64.
390 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
391
a846dd4b
VS
3922013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
395
aa437b58
MG
3962013-12-05 Mike Gilbert <floppym@gentoo.org>
397
398 * INSTALL: Raise minimum python version to 2.6.
399 * gentpl.py: Use python3-style print function.
400
b0f311f4
VS
4012013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * util/grub-install.c: Mention Boot* variable.
404
59b38922
CW
4052013-12-05 Colin Watson <cjwatson@ubuntu.com>
406
407 * grub-core/osdep/linux/hostdisk.c
408 (grub_util_find_partition_start_os): Initialise start to avoid
409 spurious compiler warning.
410
0480665b
CW
4112013-12-05 Colin Watson <cjwatson@ubuntu.com>
412
413 On Linux, read partition start offsets from sysfs if possible, to
414 cope with block device drivers that don't implement HDIO_GETGEO.
415 Fixes Ubuntu bug #1237519.
416
417 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
418 function.
419 (sysfs_partition_start): Likewise.
420 (grub_util_find_partition_start_os): Try sysfs_partition_start
421 before HDIO_GETGEO.
422
bbeee1c4
LL
4232013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
424
425 * grub-core/kern/fdt.c: Update struct size when adding node.
426
e5ed2f69
VS
4272013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
428
429 Handle unaligned .bss on sparc64.
430
431 Current code improperly assumes that both __bss_start and _end are
432 aligned to 8-bytes. Eliminating this assumption and explicitly align
433 modules.
434
4a73746a
VS
4352013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
438 so it doesn't land in the middle of loaded image.
439
382b500e
VS
4402013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * configure.ac: Move all warning options that may be absent in
443 gcc >= 3.1 to optional.
444
445 Note: while this allows to compile with older GCC, official requirements
446 remain the same and no support for older GCC.
447
3a82f8bb
CW
4482013-12-04 Colin Watson <cjwatson@ubuntu.com>
449
450 Copying the themes directory in grub-shell isn't
451 parallel-test-friendly and breaks on the second test when the source
452 directory is read-only (as in "make distcheck"). Instead, add a
453 hidden --themes-directory option to grub-mkrescue et al, and use it
454 in grub-shell.
455
e3046431
VS
4562013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
459 as it's no longer necessarry.
460
bdb6090d
VS
4612013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * configure.ac: Allow compilation with older GCC for ARM.
464
b73b70eb
VS
4652013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
468 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
469 ppc.
470
8a3f0a24
VS
4712013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
474
6f07c4e4
VS
4752013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
476
477 Pass font config to config.h and not by TARGET_CFLAGS as adding
478 arguments doesn't work if TARGET_CFLAGS is specified on command
479 line.
480
60d5e9cb
VS
4812013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * configure.ac: Add -Wvla if compiler supports it.
484
cd15c394
VS
4852013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
488 Remove variable length arrays.
489 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
490
bb6e299c
VS
4912013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
494
85eb579a
VS
4952013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * include/grub/types.h: Declare all byteswaps as inline functions
498 except compile-time ones.
499
500 Solves variable shadowing in constructions like
501 cpu_to_le (le_to_cpu(x) + 1).
502
47f88cc9
VS
5032013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/kern/efi/efi.c: Remove variable length arrays.
506
40b5739f
VS
5072013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
510 minutes.
511
234d9346
VS
5122013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
513
514 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
515 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
516
0c0eab52
CW
5172013-12-03 Colin Watson <cjwatson@ubuntu.com>
518
519 * grub-core/Makefile.core.def (setjmp): Distribute
520 lib/arm64/setjmp.S.
521
44d48847 5222013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
523
524 Add a new timeout_style environment variable and a corresponding
525 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
526 controls hidden-timeout handling more simply than the previous
527 arrangements, and pressing any hotkeys associated with menu entries
528 during the hidden timeout will now boot the corresponding menu entry
529 immediately.
530
531 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
532 generates a warning, and if it shows the menu it will do so as if
533 the second timeout were not present. Other combinations are
534 translated into reasonable equivalents.
535
10955cda
CW
536 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
537
9e4e6ddf
VS
5382013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * util/config.c: Add missing pointer adjustment.
541 Reported by: qwertial
542
5037aa9a
AB
5432013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
544
545 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
546 directly, not via `cpu' link, to fix libgrub.pp generation.
547
8a952d20
VS
5482013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
549
550 New port arm64-efi.
551
be0d4555
AB
5522013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
553
554 * docs/grub.texi (sleep): Document exit codes.
555
d74b9a1d
VS
5562013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
557
558 Ensure that -mno-unaligned-access or some equivalent option is used.
559
35de6d4b
VS
5602013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
563 -march=armv3.
564
ce55ed03
VS
5652013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
566
567 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
568
8ddf84bf
CW
5692013-11-29 Colin Watson <cjwatson@ubuntu.com>
570
571 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
572 builds, since we don't have an EPS version of font_char_metrics.png.
573 Add leading dot to image extension per the Texinfo documentation.
574
fd0df6d0
CW
5752013-11-29 Colin Watson <cjwatson@ubuntu.com>
576
577 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
578 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
579 * util/grub-gen-widthspec.c: Likewise.
580 * util/grub-mkfont.c: Likewise.
581
69ca97c8
AB
5822013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
583
584 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
585 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
586 failed to install on (hdX).
587 * util/grub-setup.c (get_device_name): Remove, not needed after
588 above change.
589
eec893ae
VS
5902013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
593
621e167f
VS
5942013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * util/grub-fstest.c: Remove variable length arrays.
597
d54f647a
VS
5982013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/osdep/linux/ofpath.c: Check return value of read.
601
c8a0f1b2
VS
6022013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
605 computing crc32 rather than handling with md fundtions directly.
606
726409a5
VS
6072013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
610 checking fwstart.img rather than md fundtions directly.
611
422e6e88
VS
6122013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * util/grub-mkrescue.c (main): Check that fread succeeded.
615
af1faca3
VS
6162013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * conf/Makefile.common: Remove -mexplicit-relocs and
619 -DUSE_ASCII_FALLBACK on yeeloong.
620
621 -DUSE_ASCII_FALLBACK is already added by font snippets.
622 -mexplicit-relocs isn't needed is compiler/assemblera are
623 configured properly.
624 If they're not we shouldn't attempt to fix it by ourselves.
625 Binary compare between before and after shows no difference.
626
469021b4
VS
6272013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
630 sources in dependencies directly.
631
632 This was the only instance of "library" in core config. A bug was
633 reported that -fno-stack-protector wasn't passed to it. Instead of
634 figuring out why it failed just remove this construction used
635 needlessly.
636
83c256ba
VS
6372013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * grub-core/osdep/unix/password.c (grub_password_get): Check that
640 fgets succeeded.
641
b67422d3
FL
6422013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
643
644 * docs/grub.texi (ls): Fix command description in case of a device name
645 passed as argument.
646
2d76b4d8
VS
6472013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
648
649 Eliminate variable length arrays in grub_vsnprintf_real.
650
651 A bit tricky because this function has to continue to work without
652 heap for short strings. Fixing prealloc to 32 arguments is reasonable
653 but make all stack references use 32-bit offset rather than 8-bit one.
654 So split va_args preparsing to separate function and put the prealloc
655 into the caller.
656
4f954122
VS
6572013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
658
659 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
660 Fixes build for windows.
661
b1f742c1
VS
6622013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * gentpl.py: Don't generate platform-dependent conditionals for
665 platform-independent targets.
666
16ef26fd
CW
6672013-11-27 Colin Watson <cjwatson@ubuntu.com>
668
669 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
670 references to mdadm from otherwise generic code.
671 (grub_util_exec_pipe): Likewise.
672 (grub_util_exec_pipe_stderr): Likewise.
673 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
674 This function calls vgs, not mdadm; adjust variable names
675 accordingly.
676
cf8c80ff 6772013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
678
679 Generate Makefile.*.am directly from gentpl.py, eliminating the use
680 of Autogen. The Autogen definitions files remain intact as they
681 offer a useful abstraction.
682
5c7206e4
CW
6832013-11-27 Colin Watson <cjwatson@ubuntu.com>
684
685 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
686 into no-ops, and use it in programs that copy files but do not need
687 to take special care to sync writes (grub-mknetdir, grub-rescue,
688 grub-mkstandalone).
689
fc3f2b72
CW
6902013-11-26 Colin Watson <cjwatson@ubuntu.com>
691
692 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
693 than hardcoding /usr/local/bin/xorriso.
694
1e4b3587
VS
6952013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
696
697 Add PCI command activation to all PCI drivers as required for coreboot
698 and maybe some other firmwares.
699
9208367d
VS
7002013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
703 and non-Apple variants of efiemu compile.
704
67b9b7af
AB
7052013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
706
707 * configure.ac: Add explicit check for linking format of
708 efiemu64; save it as EFIEMU64_LINK_FORMAT.
709 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
710 hardcoding linking format.
711
bee1b5ce
VS
7122013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
715 and not pkgdatadir.
716
07e3b047
CW
7172013-11-25 Colin Watson <cjwatson@ubuntu.com>
7182013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
719
720 Add a --locale-directory option to grub-install and related tools.
721
722 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
723 --locale-directory option.
724 (enum grub_install_options): Add
725 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
726 * util/grub-install-common.c (grub_install_help_filter): Handle
727 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
728 (grub_install_parse): Likewise.
729 (get_localedir): New function to check for a user-provided option
730 before trying grub_util_get_localedir.
731 (copy_locales): Use get_localedir rather than
732 grub_util_get_localedir. Handle differing locale directory layouts.
733 (grub_install_copy_files): Likewise.
734
61e1b9a4
VS
7352013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
738 Don't rely on PATH_MAX.
739
c98dd165
VS
7402013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * grub-core/genmoddep.awk: Use more portable && rather than and.
743
ff1c277e
VS
7442013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
747 an object after data. While it doesn't seem right solution, it
748 works well enough and OSX isn't main compilation platform.
749
c8f7614b
VS
7502013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
753 While it doesn't seem right solution, it works well enough and
754 OSX isn't main compilation platform.
755
246a434f
VS
7562013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * configure.ac: Add -static to LDFLAGS when using apple linker to
759 prevent it from pulling in dynamic linker.
760
5c066a81
VS
7612013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
762
763 Apple assembly doesn't handle symbol arithmetic well. So define an
764 offset symbol in boot.S and use it.
765
78f961ef
VS
7662013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
767
768 Apple assembly doesn't handle symbol arithmetic well. So instead
769 of getting addres of kernel_sector + 4 define kernel_sector_high.
770 It also makes code more readable.
771
09bc0a57
VS
7722013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
773
774 With Apple assembly in .macro environvemnt you have to use $$ instead
775 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
776 to $$x on Apple and to $x on everything else.
777
b700a427
VS
7782013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
781 OBJCONV.
782
4480b95d
VS
7832013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
786 and non-Apple. This instruction is shorter and faster,
787 so no reason not to use it on both.
788
e77c81f6
VS
7892013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
792 .text when compiling for Apple.
793
971dbee5
VS
7942013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * grub-core/term/arc/console.c: Add missing cast to silence warning.
797
6f2e82be
VS
7982013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
801 %dx restore the probe worked on non-existant drive. Reorganize the
802 code a little bit to free 2 bytes necessary for push/pop.
803
9eec9699
VS
8042013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
807 Add missing cast to silence warning.
808
5ae5c54c
KPA
8092013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
810
811 * util/grub-install.c (update_nvram): Support --no-nvram flag
812 for EFI targets.
813
7b04fe6c
VS
8142013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
817
e67566ce
VS
8182013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * util/garbage-gen.c: Add missing include of sys/time.h.
821
f93ddcfd
VS
8222013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
823
824 Don't add -mflush-func if it's not supported by compiler.
825
1bba40f5
VS
8262013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
827
828 Move common BIOS/coreboot memory map declarations to
829 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
830
f65e14dc
AB
8312013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
832
833 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
834
14a94bba
VS
8352013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * INSTALL: Document why older clang versions aren't appropriate.
838
8109c5d4
VS
8392013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * INSTALL: Document about clang for mips.
842
a92b5cb8
VS
8432013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
846 clang.
847
4a23e2fe
VS
8482013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
849
850 Add *-xen to the list of grub-install-common platforms.
851
a3ba7410
VS
8522013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
855 3 last commits.
856
e1c22419
VS
8572013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
860
189090ce
VS
8612013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
864 with -mcmodel=large.
865
1a5b7b40
VS
8662013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
869 range-checking for 32-bit quantities.
870
9cf12b20
VS
8712013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * configure.ac: Compile with -fPIC when compiling with clang on
874 mips.
875
63a45330
VS
8762013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
879 when compiling with clang.
880
4a0aaad0
VS
8812013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
882
883 clang emits calls to abort () under some unknown conditions.
884 Export abort () when compiling with clang.
885
095bb1bf
VS
8862013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * docs/grub-dev.texi: Document stack and heap sizes.
889
3937bd96
VS
8902013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * include/grub/i386/pc/memory.h: Decrease
893 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
894 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
895 The binary doesn't change (checked). It's more to better reflect actual
896 usage.
897
ddb3efc9
VS
8982013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
901 at compile time that enough of scratch size is available.
902
4e42521d
VS
9032013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
906 Previously we misaligned stack by 8 in startup.S and compensated
907 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
908 right behaviour is to align stack in startup.S and keep it aligned
909 in callwrap.S. startup.S part was committed few commits before. This
910 takes care of callwrap.S.
911 Reported by: Gary Lin.
912
054efe54
VS
9132013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
916 .data and .bss. May happen if compiler and assembly use different
917 alignment.
918
a0e1befb
VS
9192013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
920
921 On MIPS handle got16 relocations to local symbols in an ABI-compliant
922 way.
923
c36c73f6
VS
9242013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
925
926 Add support for a new magic symbol _gp_disp on mips to handle PIC
927 binaries.
928
6f4a19f5
VS
9292013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
930
931 Use $t9 for indirect calls from asm to C as PIC ABI requires.
932
0d8f04cd
VS
9332013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
934
935 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
936 when rest of GRUB is compiled for hisher stepping. Instead use
937 .set mips3/.set mips1 around cache and sync opcodes.
938
49060520
VS
9392013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
940
941 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
942 do essentially the same thing, do it in similar way.
943
c6a823e2
CW
9442013-11-21 Colin Watson <cjwatson@ubuntu.com>
945
946 * util/grub-mkrescue.c (main): If a source directory is not
947 specified, read platform-specific files from subdirectories of
948 pkglibdir, not pkgdatadir.
949
b7f9aedf
CW
9502013-11-21 Colin Watson <cjwatson@ubuntu.com>
951
952 * grub-core/normal/progress.c: Remove unused file.
953
7dd0a303
VS
9542013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
957 array.
958
ca120e31
VS
9592013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
962 than grub.cfg.
963
48eb35cd
VS
9642013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * coreboot.cfg: Add missing file.
967
7f20dbbc
VS
9682013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * Makefile.am: Allow STRIP to be empty when creating windowszip.
971
55e706c9
AK
9722013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
973
974 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
975 selectively skipping systems.
976
4e7d433d
CW
9772013-11-19 Colin Watson <cjwatson@ubuntu.com>
978
979 * Makefile.util.def (grub-mkimage): Add
980 grub-core/osdep/aros/config.c to extra_dist.
981 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
982 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
983 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
984 grub-core/gnulib-no-gets.diff.
985
7d44ff7d
VS
9862013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
987
988 Add automated filesystem checking based on scripts I've used now for
989 quite some time locally. Most of the test require root so they are
990 skipped when run without necessarry privelegies.
991
a8c3e5e3
CW
9922013-11-19 Colin Watson <cjwatson@ubuntu.com>
993
994 * util/grub-install.c (main): Adjust info messages to match
995 installed paths of grub-bios-setup and grub-sparc64-setup.
996
4402db3e
CW
9972013-11-19 Colin Watson <cjwatson@ubuntu.com>
998
999 * util/grub-install-common.c (copy_locales): Consistently use
1000 grub_util_get_localedir () rather than LOCALEDIR.
1001 (grub_install_copy_files): Likewise.
1002
7960d3e1
JT
10032013-11-19 Josh Triplett <josh@joshtriplett.org>
1004
1005 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
1006 16-byte boundary, as required by the x86-64 ABI, before calling
1007 grub_main. In some cases, GCC emits code that assumes this
1008 alignment, which crashes if not aligned. The EFI firmware is also
1009 entitled to assume that stack alignment without checking.
1010
d53f4900
JT
10112013-11-18 Josh Triplett <josh@joshtriplett.org>
1012
1013 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
1014 4k page boundaries as expected by firmware rather than 1k
1015 boundaries.
1016 (grub_mmap_malign_and_register): Likewise.
1017
bb2b275b
VS
10182013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
1021 fragmentation 512M is enough.
1022
45bf8b3a
VS
10232013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
1026 pointer to 32K. This is the size of cache element which is the most
1027 common allocation >1K. This way the pointer is always around blocks
1028 of 32K and so we keep performance while decreasing fragmentation.
1029
39ff43c5
VS
10302013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
1033 current memory when allocating large chunks. This significantly
1034 decreases memory fragmentation.
1035
60870be8
CW
10362013-11-18 Colin Watson <cjwatson@ubuntu.com>
1037
1038 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
1039 but for symmetry).
1040 * tests/lzocompress_test.in: Skip if lzop is not installed.
1041 * tests/xzcompress_test.in: Skip if xz is not installed.
1042
a1f00cc5
CW
10432013-11-18 Colin Watson <cjwatson@ubuntu.com>
1044
1045 * util/grub-mkrescue.c (main): Fix typo.
1046
74e632fe
VS
10472013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
1050 clock frequency to 200 MHz,
1051
efb8de49
VS
10522013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * tests/util/grub-shell.in: Increase console size to 1024x1024.
1055
b7526e78
VS
10562013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * Makefile.am (default_payload.elf): Add pata to loaded modules.
1059 Load config file from (cbfsdisk)/etc/grub.cfg.
1060
b40ce651
VS
10612013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * util/grub-install-common.c (grub_install_copy_files): Fix module
1064 destination directory.
1065
1e8e2e78
CW
10662013-11-18 Colin Watson <cjwatson@ubuntu.com>
1067
1068 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
1069 files have not been built.
1070
3bf4088b
CW
10712013-11-18 Colin Watson <cjwatson@ubuntu.com>
1072
1073 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
1074 Handle errors from mkstemp.
1075 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
1076
35c2851c
VS
10772013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
1080 on primary master on pseries.
1081
ea7c1a7d
VS
10822013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
1085 already loaded. This saves memory needed for tests,
1086
96adefdb
VS
10872013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
1090 work again.
1091
5e3cb8a7
VS
10922013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
1095 work again.
1096
256ee7ac
VS
10972013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
1100 master since with some combinations of qemu and firmware only primary
1101 IDE channel is available.
1102
f8b4c3b6
VS
11032013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
1106 low-memory platforms where we don't have enough memory for them.
1107 * grub-core/tests/videotest_checksum.c: Likewise.
1108
4bf70320
VS
11092013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
1112 already loaded. This saves memory needed for tests,
1113
a284320e
VS
11142013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 Fix handling of install lists.
1117
2df8f43d
VS
11182013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
1121
6f1bc8bc
VS
11222013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 On i386-ieee1275 we run in paged mode. So we need to explicitly map
1125 the devices before accessing them.
1126
04f39f6d
VS
11272013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
1130 as file argument.
1131
35d4761c
VS
11322013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
1135
33d02a42
VS
11362013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
1139 (grub_file_close): Free file->name.
1140
7bbb60cf
VS
11412013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * grub-core/commands/verify.c (free_pk): Plug memory leak.
1144 (grub_load_public_key): Likewise.
1145 (grub_verify_signature_real): Likewise.
1146 (grub_cmd_verify_signature): Likewise.
1147
da93d675
VS
11482013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
1151 memory leak.
1152
59c943ec
VS
11532013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
1156 (grub_longjmp): Restore r31.
1157 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
1158
4336b5d8
VS
11592013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
1162 modules to be in line with make_image_abs.
1163
44ce3a93
VS
11642013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
1167
1168 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
1169
7d400406
IC
11702013-11-17 Ian Campbell <ijc@hellion.org.uk>
1171
1172 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
1173
77dae919
VS
11742013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
1177 to leave some memory to firmware.
1178
0ab8e025
VS
11792013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
1182 of loading gfxterm as gfxterm is embed in kernel on some platforms.
1183 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
1184 Load gfxmenu.
1185
b80c2d6d
VS
11862013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
1189 now needs full arguments.
1190
6aa6077b
VS
11912013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * util/grub-mkrescue.c (main): Add trailing \n in
1194 .disk_label.contentDetails to be in line with previous shell script.
1195
66c00cb1
VS
11962013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
1199
3a129dba
VS
12002013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * util/grub-install-common.c (grub_install_parse): Recognize
1203 --compress=none like shell script did.
1204
8df6eff6
VS
12052013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * include/grub/misc.h: Replace check for __sparc64__ with one for
1208 __sparc__ as __sparc64__ isn't actually defined.
1209
889ebe92
VS
12102013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
1213 counterpart of fixing the naming of escc ports.
1214
d4d55b29
VS
12152013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * util/grub-install-common.c (platforms): Fix the order of entries and
1218 remove useless field val.
1219
55e2c84f
VS
12202013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * util/grub-install.c: Add new option --no-bootsector to skip
1223 installing of bootsector. Accept --grub-setup=/bin/true as
1224 backwards-compatible synonym.
1225
cd46aa6c
VS
12262013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1227
1228 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
1229 order of qsort arguments (number of elements vs. element size).
1230
12312013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
1234 the function of these files exceeds what can be sanely handled in shell
1235 in posix-comaptible way. Also writing it in C extends the functionality
1236 to non-UNIX-like OS and minimal environments.
1237
9ef81064
VS
12382013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
1241 compiling to thumb2.
1242 * grub-core/kern/arm/cache_armv7.S: Likewise.
1243 * grub-core/lib/arm/setjmp.S: Likewise.
1244
11a77932
LL
12452013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1246
1247 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
1248 in grub_uboot_syscall
1249
080603f0
VS
12502013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 Decrease stack usage in lexer.
1253
1254 We have only 92K of stack and using over 4K per frame is wasteful
1255
1256 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
1257 as macros so that compiler would remove useless structure on stack.
1258 Better solution would be to fix flex not to put this structure on
1259 the stack but flex is external program.
1260
4f84ae0e
VS
12612013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 Decrease stack usage in signature verification.
1264
1265 We have only 92K of stack and using over 4K per frame is wasteful
1266
1267 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
1268 rather than stack.
1269 (grub_verify_signature_real): Likewise.
1270
e6a6182d
VS
12712013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 Decrease stack usage in mdraid 0.9x.
1274
1275 We have only 92K of stack and using over 4K per frame is wasteful
1276
1277 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
1278 rather than stack.
1279
1a454efe
VS
12802013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 Decrease stack usage in BtrFS.
1283
1284 We have only 92K of stack and using over 4K per frame is wasteful
1285
1286 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
1287 rather than stack.
1288
7b5d51d8
VS
12892013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 Decrease stack usage in JFS.
1292
1293 We have only 92K of stack and using over 4K per frame is wasteful
1294
1295 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
1296 stack. Note: this function is recursive.
1297 (grub_jfs_read_inode): Read only part we care about.
1298
593865b9
LL
12992013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1300
1301 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
1302 handling
7b5d51d8 1303
31c0cd43
AB
13042013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1305
1306 * configure.ac: Restore -nostdlib for libgcc symbols tests.
1307
c2fdb331
AB
13082013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1309
1310 * docs/grub.texi (Environment): Document cmdpath.
1311
9e18dfe2
AB
13122013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1313
1314 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1315 Remove "unused" attribute from arguments, they are used.
1316
59ba9d14
CW
13172013-11-15 Colin Watson <cjwatson@debian.org>
1318
1319 * .gitignore: Only ignore grub-mk* at the top level.
1320
23012db9
CW
13212013-11-15 Colin Watson <cjwatson@ubuntu.com>
1322
1323 * util/grub-reboot.in (usage): Fix a typo.
1324
6fcec439
VS
13252013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 Replace libgcc version of ctz with our own.
1328
1329 On upcoming arm64 port libgcc ctz* are not usable in standalone
1330 environment. Since we need ctz* for this case and implementation is
1331 in C we may as well use it on all concerned platforms.
1332
a9f25a08
VS
13332013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * configure.ac: Probe for linking format rather than guessing it based
1336 on target_os.
1337
c7995256
VS
13382013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
1341 "1" prior to handoff.
1342
1343 Reported by: M A Young.
1344
e1aa5b66
VS
13452013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
1348 \0 to all files.
1349
1350 Reported by: M A Young.
1351
da5ed5cf
VS
13522013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
1355 compilation on NetBSD.
1356
5757a93e
VS
13572013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * acinclude.m4: Don't add -P on initial nm test.
1360
1361 Note: even though this patch postdates Andrey's it bears 14 Nov as
1362 date due to timezone difference.
1363
a5986276
AB
13642013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
1365
1366 * grub-core/Makefile.core.def (signature_test): Add missing
1367 tests/signatures.h.
1368
0de172a0
CW
13692013-11-14 Colin Watson <cjwatson@ubuntu.com>
1370
1371 * util/grub-install_header: Set localedir here, since this file is
1372 where it's used.
1373 * util/grub-install.in: Remove setting of localedir.
1374 * util/grub-mkrescue.in: Likewise.
1375
da45f43c
VS
13762013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
1379
20aea949
VS
13802013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * configure.ac: Move nm checks to the end.
1383 Call grub_PROG_NM_WORKS.
1384 * acinclude.m4: New check grub_PROG_NM_WORKS.
1385 Use $TARGET_CFLAGS -c when compiling test binary.
1386
1326b9ae
CW
13872013-11-14 Colin Watson <cjwatson@ubuntu.com>
1388
1389 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
1390 unused variables.
1391
1fe26ab4
MG
13922013-11-14 Matthew Garrett <mjg@redhat.com>
1393
1394 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
1395 cmdpath to firmware directory.
1396
83e9c273
VS
13972013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
1400 at the start of second iteration.
1401
ec525c18
VS
14022013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
1405
93fcc7ad
VS
14062013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * Makefile.am (default_payload.elf): New target for easier coreboot
1409 build.
1410
57ffe934
VS
14112013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
1414 clang (not necessarry with -no-integrated-as).
1415 * include/grub/symbol.h [__arm__]: Likewise.
1416
2312f06c
VS
14172013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * configure.ac: Use -no-integrated-as on arm with clang.
1420 * INSTALL: Mention ARM compilation with clang.
1421
2416415c
VS
14222013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
1425 -mthumb-interwork.
1426
5da55172
CW
14272013-11-14 Colin Watson <cjwatson@ubuntu.com>
1428
1429 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
1430 code for indirect block handling.
1431
1432 Saves 185 bytes on compressed image.
1433
da770328
PFS
14342013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1435
1436 Fix make clean.
1437
1438 * Makefile.am: Remove build-grub-* in make clean.
1439
f02e6b56
PFS
14402013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1441
1442 New files to gitignore.
1443
1444 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
1445 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
1446
035a26c1
LL
14472013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1448
1449 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
1450
bc8a6137
LL
14512013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1452
1453 * .gitignore: fix rules for .dep* and add *.a post git migration
1454
6fe506b0
CW
14552013-11-13 Colin Watson <cjwatson@ubuntu.com>
1456
1457 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
1458 to match INSTALL.
1459
81a2e438
CW
14602013-11-13 Colin Watson <cjwatson@ubuntu.com>
1461
1462 * grub-core/kern/misc.c: Don't redirect divisions in the
1463 GRUB_UTIL case.
1464 * include/grub/misc.h: Likewise.
1465
9b45c073
CW
14662013-11-13 Colin Watson <cjwatson@ubuntu.com>
1467
1468 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
1469 systems that require checking the return value of write.
1470
11b2a9b7
CW
14712013-11-13 Colin Watson <cjwatson@ubuntu.com>
1472
1473 * util/grub-install.in (efi_quiet): Fix inverted logic: make
1474 efibootmgr quiet when --debug is not used, rather than when it is.
1475
d743d22d
CW
14762013-11-13 Colin Watson <cjwatson@ubuntu.com>
1477
1478 * gentpl.py (define_macro_for_platform_dependencies): Remove
1479 first (and thus unused) of two definitions for this function.
1480 (platform_dependencies): Likewise.
1481
11da14b5
CW
14822013-11-13 Colin Watson <cjwatson@ubuntu.com>
1483
1484 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
1485 functions, we only need to check this for the target, not the host.
1486 * configure.ac (grub_apple_cc): Likewise.
1487
2bdd0719
VS
14882013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
1491 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
1492 asm to stay in arm even if surrounding is thumb.
1493
5e77d9cf
VS
14942013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
1497 helper functions are needed for thumb.
1498
7d511625
VS
14992013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
1502 level / 3 division explicitly unsigned. Saves few bytes.
1503
81023dbd
VS
15042013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
1507
b2e9294f
VS
15082013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
1511 division.
1512
16a22c38
VS
15132013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
1516 grub_uboot_boot_data to asm part.
1517
c9cd02c9
VS
15182013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
1521 literal load.
1522 (grub_uboot_syscall): Save/restore r9 and align stack.
1523
81498615
VS
15242013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
1527
ea57de18
VS
15282013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
1531 occurencies with END.
1532
d0d1e3da
CW
15332013-11-13 Colin Watson <cjwatson@ubuntu.com>
1534
1535 * util/grub-editenv.c (help_filter, argp): Document how to delete
1536 the whole environment block.
1537 Reported by Dan Jacobson. Fixes Debian bug #726265.
1538
3809f016
CW
15392013-11-13 Colin Watson <cjwatson@ubuntu.com>
1540
1541 * docs/grub.texi (Internationalisation, Supported kernels): Fix
1542 sectioning.
1543
46d8a203
JT
15442013-11-13 Josh Triplett <josh@joshtriplett.org>
1545
1546 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
1547 increment/decrement.
1548
513eeb61
VS
15492013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
1552 compiling with clang.
1553
bc379c1a
VS
15542013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
1557 ".".
1558
15592013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 1560
16057d6b
VS
1561 Redirect all divisions to grub_divmod64.
1562
f649a6a8
VS
15632013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
1566
ef28ee8b
VS
15672013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 Add missing includes of loader.h.
1570
300f48c5
VS
15712013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * configure.ac: Allow disabling themes.
1574
2d357558
LS
15752013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
1576
1577 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
1578
0c62a5b2
VS
15792013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
1582 until it becomes operational.
1583
b0720b49
VS
15842013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * grub-core/Makefile.core.def (legacy_password_test): Disable
1587 on platforms where no legacycfg is compiled.
1588 * grub-core/tests/lib/functional_test.c: Tolerate failure to
1589 load legacy_password_test.
1590
d5bab2c0
VS
15912013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1594
3ea0ccb3
VS
15952013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1598
08772054
VS
15992013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1602 strict-aliasing warning.
1603 (fsync): Silence cast warning.
1604
1dcb2715
VS
16052013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/commands/verify.c: Remove variable length arrays.
1608 Load gcry_dsa/gcry_rsa automatically.
1609
61c22fdf
VS
16102013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/tests/signature_test.c: New test.
1613
431e57a7
VS
16142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1617 API.
1618
b521bb81
VS
16192013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1622 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1623
7d06b24e
VS
16242013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1627
3bbeade4
VS
16282013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/fs/proc.c: Allow \0 in proc files.
1631
ba82db7a
VS
16322013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1635
801564c8
VS
16362013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1639
ac8cac1d
VS
16402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * grub-core/fs/ext2.c: Remove variable length arrays.
1643
4b85f122
VS
16442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1647 length arrays.
1648
c35fcdc0
VS
16492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1652 * grub-core/disk/cryptodisk.c: Likewise.
1653 * grub-core/disk/geli.c: Likewise.
1654 * grub-core/disk/luks.c: Likewise.
1655
15decd26
VS
16562013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * grub-core/tests/legacy_password_test.c: New test.
1659 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1660
9c6482b8
VS
16612013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1664
41f26e0e
VS
16652013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * grub-core/tests/pbkdf2_test.c: New test.
1668
2def6616
VS
16692013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1672
9e34a34e
VS
16732013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/io/lzopio.c: Remove variable length arrays.
1676
5ccaf904
VS
16772013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * include/grub/crypto.h: Add maximums on hash size and cipher block
1680 size.
1681
44a387e0
VS
16822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1685
a388e255
VS
16862013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/tests/xnu_uuid_test.c: New test.
1689
a1ef7718
VS
16902013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1693 covers it).
1694
65ddb300
VS
16952013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * grub-core/commands/hashsum.c: Remove variable length arrays.
1698
31747dd5
VS
16992013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1702 condition.
1703 * tests/grub_func_test.in: Increase memory allocation.
1704
6a74c4df
VS
17052013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1708 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1709 sys/mount.h.
1710
394c3e0a
VS
17112013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1714 (grub_util_get_fd_size_os): ...this.
1715 (grub_hostdisk_flush_initial_buffer): New empty function.
1716
60d31116
VS
17172013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1720 without --defined-only.
1721
8445b011
VS
17222013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
1725 rip-relative addressing in prologue.
1726
8506a641
VS
17272013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
1730 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
1731
66acd9d6
VS
17322013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1735 Add missing semicolon.
1736
348d0535
VS
17372013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1740
0d2d30bb
VS
17412013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * configure.ac: Check for lzma.h for enabling liblzma and allow
1744 manual disabling.
1745
631187be
VS
17462013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 Add missing includes of loader.h.
1749
e756ec82
FZ
17502013-11-11 Fam Zheng <famcool@gmail.com>
1751
1752 * util/grub.d/30_os-prober.in: Add minix entry.
1753
87d62d7d
VS
17542013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
1757 right buffer for temporary load.
1758
5460cfeb
VS
17592013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
1762
89977306
VS
17632013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1766 payload.
1767
3617c59b
VS
17682013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1771 not Types.h.
1772 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1773 environment.
1774 (LzmaDec_InitDicAndState): Make static.
1775
881c6a10
VS
17762013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1779
2024ade2
VS
17802013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1783
1784 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1785
674ad4f6
VS
17862013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * docs/grub-dev.texi: Replace bzr references with git ones.
1789
5b99970e
AB
17902013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1791
1792 * docs/grub.texi (Simple configuration): Remove reference to
1793 grub-reboot from saved default entry description - grub-default
1794 does not use it anymore.
1795
3c2304d5
VS
17962013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1799 compiled with.
1800
80cfd940
AB
18012013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1802
1803 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1804
33690255
VS
18052013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 Fix grub_machine_fini bitrot.
1808
1809 Reported by: Glenn Washburn.
1810
c61471fc
VS
18112013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1814
54da019f
VS
18152013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1818 -DELF.
1819 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1820 instead of ELF*.
1821
18222013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
1823
1824 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1825 Add -march=core2 when testing compile of efiemu64.
1826
1827 Thanks Andrey Borzenkov for spotting this.
1828
9612ebc0
VS
18292013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1832 XEN PV environment and load kernels.
1833
1a46a3a4
VS
18342013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1837 * grub-core/loader/multiboot_mbi2.c: Likewise.
1838
2df12551
VS
18392013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1842 handling.
1843
3c980381
VS
18442013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1847
1848 Tested by: Denis 'GNUtoo' Carikli.
1849
800f63d3
VS
18502013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1853
9f8acdaa
VS
18542013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1855
5620eb53
VS
1856 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1857 Use to get rounded angle rather than truncated.
1858
18592013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
1862 RTS/CTS flow control.
1863
2dc1eb6c
VS
18642013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1867 divisions.
1868
b9563c94
VS
18692013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1872 Use grub_fatal rather than divide by zero.
1873 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1874
d6d8e9a9
VS
18752013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1878 truncate.
1879 (grub_fixed_fsf_divide): Likewise.
1880
d06de6c8
VS
18812013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1884 division by-zero and senseless negative divisions.
1885
6af7d49b
VS
18862013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1889 division by-zero and senseless negative divisions.
1890 (circprog_set_property): Don't accept negative num_ticks.
1891
bcfa6d72
VS
18922013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1895 division by-zero and senseless negative divisions.
1896
dd7f792c
VS
18972013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * configure.ac: Use elf_*_fbsd on kfreebsd.
1900
d061fda7
VS
19012013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * grub-core/tests/div_test.c: New test.
1904
4db22500
VT
19052013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1906
1907 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1908 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1909 * grub-core/gfxmenu/view.c: Likewise.
1910 * grub-core/video/fb/video_fb.c: Introduce new functions:
1911 grub_video_set_area_status, grub_video_get_area_status,
1912 grub_video_set_region, grub_video_get_region.
1913 * grub-core/video/bochs.c: Likewise.
1914 * grub-core/video/capture.c: Likewise.
1915 * grub-core/video/video.c: Likewise.
1916 * grub-core/video/cirrus.c: Likewise.
1917 * grub-core/video/efi_gop.c: Likewise.
1918 * grub-core/video/efi_uga.c: Likewise.
1919 * grub-core/video/emu/sdl.c: Likewise.
1920 * grub-core/video/radeon_fuloong2e.c: Likewise.
1921 * grub-core/video/sis315pro.c: Likewise.
1922 * grub-core/video/sm712.c: Likewise.
1923 * grub-core/video/i386/pc/vbe.c: Likewise.
1924 * grub-core/video/i386/pc/vga.c: Likewise.
1925 * grub-core/video/ieee1275.c: Likewise.
1926 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1927 * include/grub/video.h: Likewise.
1928 * include/grub/video_fb.h: Likewise.
1929 * include/grub/fbfill.h: Updated render_target structure.
1930 grub_video_rect_t viewport, region, area
1931 int area_offset_x, area_offset_y, area_enabled
1932 * include/grub/gui.h: New helper function
1933 grub_video_bounds_inside_region.
1934 * docs/grub-dev.texi: Added information about new functions.
1935
c6b755df
VS
19362013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1939 for alignment.
1940
e2a68100
VS
19412013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1944 missing attribute.
1945 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1946
c4f11a2a
VS
19472013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1950 simple division on arm and ia64.
1951
e0a7bffa
VS
19522013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1955 link with libgcc.
1956
38b864ea
VS
19572013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1960
12359faf
VS
19612013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1964 prefix symbol, not @.
1965
9fdc64a9
VS
19662013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * INSTALL: Add note about older gcc and clang.
1969
665c575b
VS
19702013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1973
47dcf7b1
VS
19742013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1977 NULL pointer dereference.
1978
d59849b2
VS
19792013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1982 clang.
1983
7a3f4a18
VS
19842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1987 warnings.
1988
7f084087
VS
19892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1992 function.
1993 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1994 * grub-core/disk/geli.c (ascii2hex): Likewise.
1995
d5524ca8
VS
19962013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * configure.ac: Run linker tests without -Werror.
1999 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
2000 Change all occurences of -static-libgcc resp -lgcc to
2001 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
2002
390cd7ca
VS
20032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
2006
60375a88
VS
20072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 Allow compiling with clang (not really supported though).
2010
2011 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
2012 unconditionally.
2013 * configure.ac: Add -no-integrated-as when using clangfor asm files.
2014 Add -mrtd -mregparm=3 on i386 when not using clang.
2015 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
2016
dd07e0c4
VS
20172013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
2020 bindings.
2021 * grub-core/lib/reed_solomon.c: Likewise.
2022 * include/grub/i386/gdb.h: Likewise.
2023 * include/grub/i386/pc/int.h: Likewise.
2024 * include/grub/i386/pc/pxe.h: Likewise.
2025 * include/grub/ieee1275/ieee1275.h: Likewise.
2026
9d3ae8ec
VS
20272013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 Import libgcrypt 1.5.3.
2030
c12936c5
VS
20312013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * configure.ac: Don't add -Wcast-align on x86.
2034
cdc17f60
VS
20352013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * configure.ac: Add -freg-struct-return on all platforms that
2038 support it.
2039
b35ec299
VS
20402013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * acinclude.m4: Use -Werror on parameter tests.
2043 * configure.ac: Likewise.
2044
05f3a0d7
VS
20452013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
2048
c966a489
VS
20492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * configure.ac: Check that -malign-loops works rather than assuming that
2052 either -falign-loops or -malign-loops work.
2053
bb0c57ec
VS
20542013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * configure.ac: Remove -fnested-functions. We don't need it anymore.
2057
24f4e57c
VS
20582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * configure.ac: Prevent cflags leaking to subsequent tests by always
2061 resetting cflags to target_cflags in target tests.
2062
ac319fbc
VS
20632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
2066 function.
2067
4bfe934c
VS
20682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
2071
40a5bfde
VS
20722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
2075
a67c755e
VS
20762013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/normal/cmdline.c (grub_cmdline_get):
2079 Remove nested functions.
2080
87a04a2d
VS
20812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * tests/test_sha512sum.in: Make it work on emu.
2084
c03995d2
VS
20852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
2088 functions.
2089 (grub_bidi_line_logical_to_visual): Likewise.
2090
ec0ebb3f
VS
20912013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 Remove vestiges of -Wunsafe-loop-optimisations.
2094
2095 * conf/Makefile.common (CFLAGS_GNULIB): Remove
2096 -Wno-unsafe-loop-optimisations.
2097 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
2098 pragma.
2099 * grub-core/io/gzio.c: Likewise.
2100 * grub-core/script/parser.y: Likewise.
2101 * grub-core/script/yylex.l: Likewise.
2102 * util/grub-mkfont.c: Likewise.
2103
6ab537e3
VS
21042013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * util/grub-mkfont.c (process_cursive): Remove nested function.
2107
e6c368d4
VS
21082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
2111 (grub_boot_time): Likewise.
2112
4f1cfd22
VS
21132013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * include/grub/symbol.h (FUNCTION): Use @function rather than
2116 "function".
2117 (VARIABLE): Likewise.
2118
6d5a4cee
VS
21192013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
2122
f06c2172
VS
21232013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
2126 (parse_dhcp_vendor): Likewise.
2127
7cb24eb5
VS
21282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
2131
f30c692c
VS
21322013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/gettext/gettext.c (main_context), (secondary_context):
2135 Define after defining type and not before.
2136
8b66bb5d
VS
21372013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
2140 type.
2141 (grub_gcm_decrypt): Likewise.
2142 (algo_decrypt): Likewise.
2143 (grub_zfs_decrypt_real): Transform error type.
2144
5d17fd0f
VS
21452013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
2148
ac35a0f7
VS
21492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
2152 (grub_usbms_cbi_reset): Likewise.
2153 (grub_usbms_bo_reset): Likewise.
2154 (grub_usbms_reset): Likewise.
2155 (grub_usbms_attach): Likewise.
2156 (grub_usbms_transfer_cbi): Likewise.
2157
3ee08697
VS
21582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
2161 "checksum = checksum;".
2162
70bb6c85
VS
21632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
2166 entry_type.
2167
c7f34744
VS
21682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
2171 BIOS disk check.
2172
3f63b4d8
VS
21732013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
2176 type.
2177 (grub_ehci_fini_hw): Likewise.
2178 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2179
dac6ce73
VS
21802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
2183 return grub_usb_err_t for cosistency. All users updated.
2184
5701750c
VS
21852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
2188 assigning to itself.
2189
9e236169
GLD
21902013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
21912013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2192
2193 Issue separate DNS queries for ipv4 and ipv6
2194
2195 Adding multiple questions on a single DNS query is not supportted by
2196 most DNS servers. This patch issues two separate DNS queries
2197 sequentially for ipv4 and then for ipv6.
2198
2199 Fixes: https://savannah.gnu.org/bugs/?39710
2200
2201 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
2202 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
2203 * (grub_net_dns_lookup): Now using separated dns packages.
2204 * (grub_cmd_nslookup): Add error condition.
2205 * (grub_cmd_list_dns): Print DNS option.
2206 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
2207 --prefer-ipv4, and --prefer-ipv6.
2208 * include/grub/net.h (grub_dns_option_t): New enum.
2209 * (grub_net_network_level_address): option added.
2210
339eacce
VT
22112013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
2212
2213 * grub-core/video/fb/video_fb.c: Merge two blit functions
2214 into one.
2215
810f991b
VS
22162013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/term/terminfo.c: Add sequences for home and end.
2219
386571a2
VS
22202013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
2223 graphics console.
2224
3fe63754
VS
22252013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
2228 add mode 0x12.
2229
76681e71
VS
22302013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
2233 e-mail by Per Öberg.
2234
46522fb7
VS
22352013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
2238 name.
2239
e7d09ac4
AB
22402013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
2241
2242 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
2243 emu platforms.
2244 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
2245
67508925
VS
22462013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * docs/grub.texi: Document usage of menuentry id.
2249
0c62124e
VS
22502013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
2253
9b5d4eed
PL
22542013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
2255
2256 * grub-core/commands/i386/nthibr.c: New command.
2257
79054c1d
VS
22582013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
2261
44d47bbe
VS
22622013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
2265 coordinate.
2266
323de05b
VS
22672013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 Support GRUB_DISABLE_SUBMENU config.
2270
2271 Inspired by patch from Prarit Bhargava.
2272
5a01722e
VS
22732013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * docs/grub.texi: Mention RSA support.
2276
1106c3f0
VS
22772013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * grub-core/commands/verify.c: Add RSA support.
2280
a1dcc2cb
VS
22812013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
2284 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
2285 device is known to be ATAPI.
2286
ee7fb780
MF
22872013-11-03 Mike Frysinger <vapier>
2288
2289 * configure.ac: Don't add target-prefix.
2290
5ade4a42
VS
22912013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
2294 variables.
2295
6cd66043
VS
22962013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
2299 if language is English.
2300
090d7c81
VS
23012013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
2304
dd614590
VS
23052013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * configure.ac: Don't add -m32/-m64 on emu.
2308
a8686589 23092013-11-02 neil
2310
2311 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
2312 broken linux headers.
2313
fb9f12a0
VS
23142013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
2317
e25f8e1f
VS
23182013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
2321 Reed-Solomon recovery if more than half of redundancy info is 0.
2322
4685200f
VS
23232013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * util/grub-mount.c: Handle symlinks to directories.
2326
1397f0b5
VS
23272013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
2330 find_file recursively for symlink.
2331
8b3e6eb6
VS
23322013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * tests/util/grub-shell.in: Copy themes.
2335
a0c9d5c6
VS
23362013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
2339
5cf9459c
VS
23402013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * configure.ac: Use 0x8000 for address instead of 8000.
2343
e7b66a28
VS
23442013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
2347 signature.
2348
203f53fb
VS
23492013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
2352 variable.
2353
02663ee9
VS
23542013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
2357
f169f65e
VS
23582013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
2361 file_progress_read_hook.
2362 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
2363
2855a0fc
VS
23642013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
2367 and double.
2368
bf0f3a8c
VS
23692013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
2372
cb72aa18
VS
23732013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 Rewrite blocklist functions in order to get progress when
2376 reading large extents and decrease amount of blocklist hook calls.
2377
896f9135
VS
23782013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
2381 of SI suffixes.
2382
89295a06
VS
23832013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 Support --base-clock for serial command to handle weird cards with
2386 non-standard base clock.
2387
eb03ede0
VS
23882013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
2391 strncpy.
2392 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
2393 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
2394 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
2395 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
2396 + strcpy rather than strncpy.
2397
8fbe5c7d
VS
23982013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
2401 (check_pool_label): Likewise. Fixes overflow.
2402 (nvlist_find_value): Fix comparison.
2403
e54b8f53
VS
24042013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * include/grub/misc.h (grub_strcat): Removed. All users changed to
2407 more appropriate functions.
2408
fa9b3dca
VS
24092013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
2412 realloc.
2413
9a021c55
VS
24142013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * util/grub-mkrescue.in: Do not use UUID search on EFI.
2417
80e8b13a
VS
24182013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
2421 on core size.
2422
b61599ac
VS
24232013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
2426
a602dc54
VS
24272013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
2430 (initialize_tables): reset tl and td to NULL after freeing.
2431
93c12075
VS
24322013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
2435
1ca4b75e
VS
24362013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
2439 of supported tags.
2440
329550c4
VS
24412013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
2444
00bfa988
VS
24452013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * grub-core/loader/multiboot.c: Add support for multiboot kernels
2448 quirks.
2449
81afc5cc
VS
24502013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
2453 a page in protected space.
2454
cb3c4a47
VS
24552013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
2458 allocate space for zero-sized modules.
2459
954f7bf5
VS
24602013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
2463
526d3d25
FL
24642013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
2465
2466 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
2467
74124c34
VS
24682013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
2471 safeguards. Fixes a crash with i386/pc/console.c.
2472
5177391e
VS
24732013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
2476 and grub_hostfs_init.
2477
64db14b0
VS
24782013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
2481 windows method on other platforms without good stat as well.
2482
effe2036
VS
24832013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
2486
82591fa6 24872013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 2488
82591fa6
VS
2489 Make / in btrfs refer to real root, not the default volume.
2490 Modify mkrelpath to work even if device is mounted with subvolid option.
2491
24922013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
2493
2494 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
2495 extra_dist.
2496 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
2497 extra_dist.
2498
30fd7198
VS
24992013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
2502 fails.
2503
8d179dae
BC
25042013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
2505
2506 * docs/autoiso.cfg: New file.
2507
3bc9c8cf
VS
25082013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
2511 COND_GRUB_PE2ELF conditions.
2512
8b46b0ea
VS
25132013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
2516 "vnd", "rd" and "fd" disks.
2517
442b86de
VS
25182013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 Move grub_disk_write out of kernel into disk.mod.
2521
04dea7e6
VS
25222013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
2525 handling.
2526
25272013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
2528
2529 * grub-core/kern/misc.c (grub_abort): Make static
2530
04dea7e6 25312013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
2532
2533 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
2534 transform invalid unicode codepoints.
2535
04dea7e6 25362013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
2537
2538 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2539 \0 checking.
2540
03dcac7f
VS
25412013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
2544
c81acb7f
VS
25452013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 Consolidate cpuid code.
2548
c1bee646
VS
25492013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 Move cpuid code to cpuid.h and TSC code to tsc.c.
2552
f37bf9c7
GS
25532013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2554
2555 * util/grub.d/00_header.in: Don't use LANG if it's not set.
2556
4021132b
GS
25572013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2558
2559 * util/grub-mkconfig.in: Replace $0 with $self.
2560 * util/grub-reboot.in: Likewise.
2561 * util/grub-set-default.in: Likewise.
2562
3ace8d75
BC
25632013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2564
2565 * docs/osdetect.cfg: New file.
2566
1e6ad6a6
BC
25672013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2568
2569 * tests/util/grub-shell.in: Add new --debug option.
2570
188929eb
BC
25712013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2572
2573 * tests/test_unset.in: New test.
2574
7994a09a
BC
25752013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2576
2577 * tests/test_sha512sum.in: New test.
2578
2a8a7585
VS
25792013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
2582 * include/grub/misc.h: Remove strncat.
2583 * grub-core/lib/posix_wrap/string.h: Likewise.
2584
cf8d6bbd
VS
25852013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2586
2587 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
2588 Try to handle more than 0xFFFF packets.
2589 Reported by: Bernhard Übelacker <bernhardu>.
2590 He also spotted few overflows in first version of this patch.
2591
6d1fc99a
VS
25922013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * tests/date_unit_test.c: New test.
2595
10bafa1c
VS
25962013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2599 of first three years after start of validity of unixtime.
2600
b1c6d037
VS
26012013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2604 division as the one making more sense.
2605 (update_screen): Likewise.
2606 (complete): Likewise.
2607
5f4028d4
VS
26082013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2611
a2856736
VS
26122013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 Make char and string width grub_size_t rather than grub_ssize_t.
2615
0a7e52b2
VS
26162013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2619 unsigned.
2620 (grub_history_replace): Likewise.
2621
42829573
VS
26222013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2625 appropriate.
2626
3523b8d8
VS
26272013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2630 appropriate.
2631
d43c6489
VS
26322013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2635 Use unsigned divisions rather than signed variants.
2636
f690f8b0
VS
26372013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2640 unsigned arithmetics.
2641 Add missing break.
2642
74ff2c05
VS
26432013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2646
fb56391e
VS
26472013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2650 rather than signed one.
2651 (recovery): Likewise.
2652
40f29060
VS
26532013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2656
c64577a5
VS
26572013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2660 than signed.
2661
c16535a8
JM
26622013-10-25 Jon McCune <jonmccune@google.com>
2663
2664 * docs/grub.texi: Cleanup security documentation around signatures.
2665
6673d8e7
VS
26662013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2669
a105d375
VS
26702013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2673 than int.
2674
af81ed88
VS
26752013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2678 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2679 functions when compiling for kernel.
2680
ea899a57
VS
26812013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2684 unsigned long long when using %llu.
2685
c6dc6fa1
VS
26862013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2689 terminal after updating progress.
2690
ad2dc003
VS
26912013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2694 argument. We don't disable Gate A20 in this code.
2695
b46684ae
VS
26962013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2699 Conceptually based on change in branch "vbe-on-coreboot".
2700
f70d5c07
RM
27012013-10-24 Robert Millan <rmh@gnu.org>
2702
2703 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2704 numeric constants with their symbolic equivalent.
2705 Taken from branch "vbe-on-coreboot".
2706
bca274b4
VS
27072013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2710
238f0489
VS
27112013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2714 divmod64 for offset division.
2715
863c590b
PFS
27162013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2717
2718 Rename .bzrignore to .gitignore. Add "*.o" rule.
2719
2720 * .bzrignore: Renamed to...
2721 * .gitignore: ...this.
2722
84a0e969
PFS
27232013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2724
2725 Add new progress module that displays the load progress of files.
2726
2727 * grub-core/lib/progress.c: New file.
2728 * grub-core/Makefile.core.def (progress): New module.
2729 * grub-core/kern/file.c (grub_file_open): File name added.
2730 * (grub_file_read): Progress hook added.
2731 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
2732 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
2733 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2734 * include/grub/file.h (struct grub_file): Add progress module members.
2735 * include/grub/term.h (struct grub_term_output): Likewise.
2736 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2737 Terminal velocity added.
2738 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2739 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2740 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2741 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2742 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2743 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2744 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2745 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2746 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2747 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2748 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2749 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2750
0d711431
VS
27512013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 Verify signatures of signatures unless --skip-sig is specified.
2754
f8401f76
VS
27552013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2758 \0 checking.
2759
2760 Saves 70 bytes on compressed image.
2761
ac1feb61
VS
27622013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2765 check.
2766
2767 Saves 10 bytes on compressed image.
2768
00f72e89
VS
27692013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * grub-core/kern/misc.c (grub_isprint): Move to ...
2772 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2773
2774 Saves 20 bytes on compressed image due to remving exporting.
2775
067e6ae7
VS
27762013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2779
2780 Saves 5 bytes on compressed image.
2781
64a6c791
VS
27822013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2785 function get_utf8.
2786
2787 Saves 379 bytes on compressed image.
2788
979d9f52
VS
27892013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2792
1437da54
VS
27932013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2796
2797 Saves 40 bytes on compressed image.
2798
d9ee2269
VS
27992013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2802 mask rather than 64-bit type.
2803
2804 Saves 20 bytes on compressed image.
2805
63efa602
VS
28062013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2809 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2810
47601ffe
VS
2811 Saves 273 bytes on compressed image.
2812
2cc679ad
VS
28132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2816 variable length arrays.
2817
2818 Saves 50 bytes on compressed image.
2819
2e4659b8
VS
28202013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2823
2a40badf
VS
28242013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * grub-core/fs/ufs.c: Remove variable length arrays.
2827
1ba6b9b9
VS
28282013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2831
f3e39341
VS
28322013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * grub-core/fs/zfs.c: Remove variable length arrays.
2835 Reduces zfs.mod by 160 bytes (208 compressed).
2836
71523935
VS
28372013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2840
28153eb8
VS
28412013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/net/arp.c: Remove variable length arrays.
2844 * grub-core/net/bootp.c: Likewise.
2845 * grub-core/net/dns.c: Likewise.
2846 * grub-core/net/icmp6.c: Likewise.
2847 * grub-core/net/net.c: Likewise.
2848
88ce4cd7
VS
28492013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/fs/ntfs.c: Remove variable length arrays.
2852 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2853 compressed).
2854
66123940
VS
28552013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * grub-core/fs/hfs.c: Remove variable length arrays.
2858 Reduces hfs.mod by 8 bytes (52 compressed).
2859
0927e5bd
VS
28602013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 2863 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
2864 compressed).
2865
9c12ac97
VS
28662013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 2869 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
2870 compressed).
2871
97ec2d71
VS
28722013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 2875 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
2876 compressed).
2877
156e4ea0
VS
28782013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * grub-core/fs/xfs.c: Remove variable length arrays.
2881 Reduces xfs.mod by 40 bytes (43 compressed).
2882
3b502c29
VS
28832013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * grub-core/fs/fshelp.c: Remove variable length arrays.
2886 Reduces fshelp.mod by 116 bytes (23 compressed).
2887
c7037f1d
VS
28882013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/normal/completion.c: Remove variable length arrays.
2891 * grub-core/normal/menu_entry.c: Likewise.
2892
2893 Reduces normal.mod by 496 bytes.
2894
a07e6ad0
VS
28952013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2898 by 356 bytes (158 compressed).
2899
2359bf88
VS
29002013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2903 by 364 bytes (169 compressed).
2904
d28e1163
VS
29052013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2908 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2909 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2910
e89c2d48
VS
29112013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2914 bitmasks to small structures of size chosen to fit in registers.
2915
7abdac8e
VS
29162013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * conf/Makefile.common: Use -freg-struct-return on i386. This
2919 decreases code size and improves performance.
2920
518864c0
VS
29212013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2924
bbd2b539
VS
29252013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2928 "(null)" string.
2929 Simplify expressions to save around 256 bytes in kernel.img.
2930 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2931
99519c15
VS
29322013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2935 Use GRUB_UTIL_FD_O_* rather than O_*.
2936
20285765
VS
29372013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 Add haiku-specific functions.
2940
887c0bb6
VS
29412013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2944
cd78a56f
VS
29452013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 Move stat () and device mode checking into OS-dependent files as
2948 long as performance doesn't suffer.
2949
a4012f07
VS
29502013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 Split make_system_path_relative_to_its_root into separate file
2953 relpath.c from getroot.c as it's common between unix and haiku
2954 but otherwise haiku doesn't use any functions from unix getroot.c.
2955
31de274d
VS
29562013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2959 New function.
2960 (grub_util_is_special_file): Likewise.
2961
40346de6
VS
29622013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2965 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2966
d3923ab9
VS
29672013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2970 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2971
663f6eb1
VS
29722013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2975 (load_image): Likewise.
2976
44d1c20a
VS
29772013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * util/grub-render-label.c: Move backend part to ...
2980 * util/render-label.c: ... here.
2981
d0a116ee
VS
29822013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2985 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2986
b47fcae6
VS
29872013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2990
0f7c00c1
VS
29912013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2994 CD-ROM in case when it's declared as having subpartitions.
2995
29013cba
VS
29962013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 Don't add -lm on haiku.
2999
3000 * configure.ac: Define BUILD_LIBM to -lm on most platforms
3001 and empty on haiku.
3002 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
3003 -lm.
3004
e8559d24
VS
30052013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * configure.ac: Use -melf_*_haiku as target on haiku.
3008
8104063c
VS
30092013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * Makefile.util.def: Add util/setup.c to extra_dist.
3012
fc3182c7
VS
30132013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
3016 unknown types through.
3017
f90a3cc0
VS
30182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
3021 (grub_util_check_char_device): Likewise.
3022 * include/grub/emu/getroot.h: Likewise.
3023
1e3e7419
VS
30242013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
3027 memset rather than inline static function.
3028
92c88fc8
VS
30292013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
3032 not doing embedded decompressor.
3033
3cd910a2
VS
30342013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
3037 shadowing.
3038 * grub-core/kern/disk.c: Likewise.
3039 * grub-core/kern/misc.c: Likewise.
3040 * include/grub/parser.h: Likewise.
3041 * include/grub/script_sh.h: Likewise.
3042 * include/grub/zfs/zfs.h: Likewise.
3043
7b3aca00
VS
30442013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
3047
97dfe7e4
VS
30482013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
3051 defined before trying to use it.
3052
bf919aa9
VS
30532013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
3056 warning.
3057
f4ccf29d
VS
30582013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
3061 Use __unused__ rather than __used__ on gcc < 3.2.
3062
0d3a6f85
VS
30632013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
3066 gcc < 4.0.
3067 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
3068
757e3eb7
VS
30692013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
3072
fb320faf
VS
30732013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
3076 * include/grub/emu/misc.h: Likewise.
3077
ea73acd2
VS
30782013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
3081 cur_color.
3082
71237a6f
VT
30832013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
3084
3085 * grub-core/tests/checksums.h: Regenerated due to progress bar
3086 get_minimal_size changes.
3087
3d46c22f
BC
30882013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
3089
3090 Added `tr' command support.
3091
3092 * grub-core/commands/tr.c: New file.
3093 * grub-core/Makefile.core.def: Build rules for new module.
3094
3095 * tests/grub_cmd_tr.in: New test.
3096 * Makefile.util.def: Build rules for new test.
3097
47e0a61f
VT
30982013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3099
3100 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
3101
946fd073
VT
31022013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3103
3104 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
3105 * docs/gurb.texi: Likewise.
3106
9c13c576
VT
31072013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3108
3109 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
3110 Pixmap highlighted section with east and west slices was displayed
3111 incorrectly due to negative width of the central slice.
3112
ad543f12
VT
31132013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3114
3115 * docs/grub.texi: Graphical options information update.
3116 Removed outdated. Updated current. Inserted missed.
3117
6176a0cd
VS
31182013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * docs/grub.texi: Mention few new platform-specific commands.
3121
9688cae2
VS
31222013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
3125 currently used so this doesn't really have any effect.
3126 Reported by: Douglas Ray <dougray>
3127
f7b69a3f
VS
31282013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
3131 compilation but prevents gcc from displaying messages in non-Latin
3132 alphabets.
3133 * conf/Makefile.common: Likewise.
3134
ceca6ddf
HY
31352013-10-16 Hiroyuki YAMAMORI
3136
3137 Handle Japanese special keys.
3138 Reported by: Hiroyuki YAMAMORI.
3139 Codes supplied by: Hiroyuki YAMAMORI.
3140
ac48d334
VT
31412013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3142
3143 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
3144
b2b71bff
VT
31452013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3146
3147 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
3148 * docs/grub.texi: Likewise.
3149
669fc449
VS
31502013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
3153 value in case of incomplete read.
3154 (grub_util_fd_write): Likewise.
3155
59381678
VS
31562013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
3159
bacfefbb
VS
31602013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * util/grub-editenv.c (create_envblk_file): More from here ...
3163 * util/editenv.c (grub_util_create_envblk_file): ... to here.
3164
f7c49570
VS
31652013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
3168 canonicalize file name before doing the rest.
3169
7b83ca44
VS
31702013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
3173 mingw32.
3174
df1e64c9
VS
31752013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 Define grub_util_is_directory/regular/special_file and
3178 use OS-dependent versions rather than to rely on stat().
3179
ec16e026
VS
31802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * util/grub-mkimage.c: Move backend part to ...
3183 * util/mkimage.c: ... here.
3184
4b4eeb3c
VS
31852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 Allow compilation with mingw64 albeit with warnings due to lack of
3188 %llx/%llu.
3189
3190 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
3191 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
3192 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
3193 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
3194 on mingw64.
3195 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
3196
f4e0adc0
VS
31972013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 Remove leftover references to some of the system headers.
3200
e0127364
VS
32012013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
3204 read.
3205
20d53541
VS
32062013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
3209 of strerror.
3210
5a869940
VS
32112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 Split out blocklist retrieving from setup.c to
3214 grub-core/osdep/blocklist.c and add windows implementation since
3215 generic version doesn't work on NTFS on Windows due to aggressive
3216 unflushable cache.
3217
c06c7520
VS
32182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
3221 files.
3222
8f53bb3f
VS
32232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
3226 Cut tailing newline. Remove arbitrary limitation. Always use
3227 grub_util_tchar_to_utf8.
3228
148f1007
VS
32292013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
3232 * tests/printf_unit_test.c (printf_test): Add %% tests.
3233 Reported by: Paulo Flabiano Smorigo.
3234
af3b06be
VS
32352013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
3238 implement fsync.
3239
27f9d02e
VS
32402013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * configure.ac: Check for nvlist_lookup_string in nvpair since we
3243 use nvlist_lookup_string and don't use nvlist_print.
3244
f6a81f0a
VS
32452013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 Add wrappers around rename, unlink, mkdir, opendir, readdir and
3248 closedir to handle filename charset translation.
3249
d7750b32
VS
32502013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * include/grub/emu/hostdisk.h: Move file operations to
3253 * include/grub/emu/hostfile.h: ... here.
3254
2859196e
VS
32552013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
3258 unicode path.
3259
c018c968
VS
32602013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
3263
7e45abce
VS
32642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
3267 and remove export.h.
3268
23934da2
VS
32692013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/kern/emu/error.c: Removed.
3272 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
3273 explicitly as it's already in libgnu.a.
3274
c11ebcc8
VS
32752013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
3278 config-util.h include.
3279
70671037
VS
32802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 Split emunet into platform-dependent and GRUB-binding parts. Keep
3283 platform-dependent part in kernel for easy access to OS functions.
3284
25ac643a
VS
32852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
3288 open/read/write.
3289
69ca5876
VS
32902013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * grub-core/osdep/windows/emuconsole.c: New file.
3293
d9d68ef0
AB
32942013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3295
3296 * conf/Makefile.extra-dist: Add osdep/*/init.c
3297
58e211cc
VS
32982013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
3301
588744d0
VS
33022013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * util/grub-probe.c (probe): Separate different drives in hint-str
3305 by spaces and not newlines.
3306 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
3307
44016e52
AB
33082013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3309
3310 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3311 Handle CD-ROMs.
3312
6de9ee86
VS
33132013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 Pass-through unknown E820 types. It required reorganisation of mmap
3316 module.
3317
f8f3f155
AB
33182013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3319
3320 * Makefile.util.def: Add osdep/init.c to grub-mount files.
3321
b73249d2
VS
33222013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
3325 fseeko.
3326
dac86b18 33272013-10-14 qwertial <qwertial>
3328
3329 * grub-core/gdb_grub.in: Fix overflow and wrong field.
3330
17614b84
JM
33312013-10-14 Jon McCune <jonmccune@google.com>
3332
3333 * docs/grub.texi: Document new signatures possibility.
3334
6de292cb
VS
33352013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
3338
84379b61
VS
33392013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
3342 missing prototype.
3343 (grub_util_tchar_to_utf8): Likewise.
3344
21d85db1
VS
33452013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
3348 * grub-core/kern/emu/main.c: Add missing include.
3349 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
3350 Don't call grub_util_init_nls.
3351 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
3352 Likewise.
3353
66a1b3ee
VS
33542013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
3357 stat.
3358
e19bec17
VS
33592013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
3362
ee8c1b29
VS
33632013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
3366
bb338aaf
VS
33672013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 Add a wrapper for fopen. On unix-like systems just pass-through. On
3370 windows use unicode version.
3371
ae5540d3
VS
33722013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 Move set_program_name and init_nls to host_init. On windows
3375 fix in this fuction console and argument charset as well.
3376
4cd3c4fe
AB
33772013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
3378
3379 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
3380 GRUB_ENABLE_CRYPTODISK.
3381
3382 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
3383 GRUB_ENABLE_CRYPTODISK.
3384 * util/grub-mkconfig_lib.in: Likewise.
3385
78170f3e
CCZ
33862013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
3387
3388 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
3389
3414b6c0
MC
33902013-10-12 Melki Christian <Christian.melki@saabgroup.com>
3391
3392 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
3393 error when enabling debug.
3394
6d0740e8
IB
33952013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
3396
3397 * configure.ac: Use -melf_*_obsd on openbsd.
3398
ff2d4dc4
VS
33992013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
3402
eac6ae82
VS
34032013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * include/grub/misc.h: Use gnu_printf rather than printf as format
3406 template since our functions are independent of libc.
3407
ba9baabe
VS
34082013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * util/grub-setup.c (setup): Move copying of partition table as
3411 futher up as possible to avoid possible overwrite by floppy routines.
3412
34132013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
3414
3415 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
3416
145e2369
VT
34172013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3418
3419 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
3420 * docs/grub.texi: Likewise.
3421
3530bc9d
VS
34222013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
3425 it's mostly unused. Move vestiges to the callers.
3426
fb9f59c3
VS
34272013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
3430 version of salt and hash. Use grub_snprintf rather than snprintf.
3431
9be1c255
VS
34322013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * docs/grub.texi: Fix problem with braces.
3435
ed8c0887
VS
34362013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * conf/Makefile.extra-dist: Fix extra-dist list.
3439 * grub-core/Makefile.core.def: Likewise.
3440
f72ab14e
VS
34412013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * docs/grub.texi: Document disk names used on Windows and AROS.
3444
2fe53a22
VS
34452013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
3448 with AROS devs.
3449 * grub-core/osdep/aros/hostdisk.c: Likewise.
3450
71c1d67a
VS
34512013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 Avoid including hostfile.h when not necessarry as it pulls
3454 in OS-specific headers which may redefine generic names
3455 like "far".
3456
ad297ec7
VT
34572013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3458
3459 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
3460 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
3461 scrollbar_bottom_pad
3462 * docs/grub.texi: Likewise.
3463
6e9e5dc9
VT
34642013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3465
3466 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
3467
761c718b
VS
34682013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
3471
37149a2f
VS
34722013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
3475 Removed.
3476 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
3477 Made static.
3478
3837a151
VS
34792013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
3482 leftover.
3483
caca1c70
VS
34842013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 Move OS-specific driver configuration to grub_util_fd_open. This
3487 moves OS-dependent parts from kern/emu/hostdisk.c to
3488 grub-core/osdep/*/hostdisk.c.
3489
f7676b70
VS
34902013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * util/grub-mkimage.c (generate_image): Use size_t instead of
3493 grub_size_t.
3494 * util/grub-mkimagexx.c (locate_sections): Likewise.
3495 (load_image): Likewise.
3496
22f98db2
VS
34972013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
3500 size_t.
3501 (grub_util_write_image): Likewise.
3502
b102ce69
VS
35032013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3504
3505 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
3506 get random when no RNG is available.
3507 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
3508
acbbe5cb
VS
35092013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * include/grub/util/lvm.h: Removed.
3512
2112fb3f
VS
35132013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
3516 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
3517
79f78fbf
VS
35182013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/osdep/windows/sleep.c: Add missing config.h.
3521
c2e6f705
VS
35222013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
3525
aabe433a
VS
35262013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * grub-core/net/drivers/emu/emunet.c: Move to ..
3529 * grub-core/osdep/linux/emunet.c: ..here.
3530
9a2c903f
VS
35312013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * util/ieee1275/ofpath.c: Move to ...
3534 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
3535 * grub-core/osdep/basic/ofpath.c: ..here.
3536
4a445f58
VS
35372013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 Move password-querying (util-version) routines to grub-core/osdep.
3540
c1ca4244
VS
35412013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 Move sleep routines to grub-core/osdep.
3544
672fa55e
VS
35452013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 Move OS-dependent files to grub-core/osdep and document it.
3548
a5b0365a
VS
35492013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
3552 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
3553
29072e99
VS
35542013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
3557
f8772ea7
VS
35582013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * util/misc.c: Remove leftover inclusion of malloc.h.
3561
a1a315e7
VS
35622013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * include/grub/setjmp.h: Remove leftover GRUBOF.
3565
cef86fef
VS
35662013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 * util/raid.c: Fold into ...
3569 * util/getroot_linux.c: ... here. Make all functions static.
3570
c4cf25ee
VS
35712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
3574 macros to GRUB ones.
3575
53a5f5c2
VT
35762013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3577
3578 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
3579 occasional bug. If there are too many boot entries or too low
3580 scrollbar height then we need to use another formula to calculate
3581 the position and size of the scrollbar thumb.
3582
de300af2
VS
35832013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3584
c4cf25ee 3585 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 3586
c5827364
VT
35872013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3588
3589 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
3590 * docs/grub.texi: Likewise.
3591
dd2ed8b0
VT
35922013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3593
3594 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3595 viewport.
3596
7286c384
VT
35972013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3598
ffdfc1f3
VT
3599 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3600 minimal width calculations.
7286c384 3601
ea547e14
VS
36022013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * docs/grub.texi: Update note on colors on emu console.
3605
b726be76
VS
36062013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3609 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3610 it's FS and not GRUB limitation.
3611
a5f6ade6
VS
36122013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3615
3b0f3aa2
VS
36162013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3619
1db38304
ST
36202013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3621
3622 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3623 kernels by version order.
3624
fb295fc0
VS
36252013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3628
47345010
VS
36292013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3630
3631 Add AROS hostdisk and getroot routines.
3632
bf25f879
VS
36332013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 Make cryptodisk and diskfilter probe data retrievable programmatically
3636 and not just printable.
3637
24ca4512
VS
36382013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 Split random retrieving code into separate files.
3641
c7c177f0
VS
36422013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3645 R_ARM_V4BX.
3646
d71b45ae
VS
36472013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3650 condition.
3651 * grub-core/tests/fake_input.c: Likewise.
3652 * grub-core/tests/cmdline_cat_test.c: Likewise.
3653
e44b9a83
VS
36542013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/video/capture.c: Do not do finalization when .fini
3657 is called as there is explicit capture_end.
3658
4fa60739
VS
36592013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3662 changing windows to avoid crash.
3663
17c8bc37
VS
36642013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3667
9d4d7977
VS
36682013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * po/exclude.pot: Add several strings to exclude.
3671
0caa407c
VS
36722013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3675
9ae393da
VS
36762013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3679 ./util/grub-gen-asciih.c to exclude list.
3680
498d5033
VS
36812013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3684 and don't mark error strings for translation.
3685
7d93298f
VS
36862013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3689 properly in case of missing block size.
3690
b2cae20c
VS
36912013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * grub-core/lib/arm/setjmp.S: Add missing license section.
3694
3896d6b4
VS
36952013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * po/swiss.sed: Add replacement for key names and for term computer.
3698
ebc1da55
VT
36992013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3700
3701 * grub-core/gfxmenu/theme_loader.c: New global options for the
3702 theme background image handling. desktop-image-scale-method,
3703 desktop-image-h-align, desktop-image-v-align.
3704 * grub-core/gfxmenu/view.c: Likewise.
3705 * include/gfxmenu_view.h: Likewise.
3706 * include/bitmap_scale.h: Proportional scale functions introduced.
3707 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3708 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3709 cases of unexpected input variables for scale functions.
3710 * docs/grub.texi: Updated documentation for new options.
3711
c5739143
VS
37122013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3715
be74aeb3
VT
37162013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3717
3718 * grub-core/tests/checksums.h: Corrected due to changes in
3719 bilinear interpolation function.
3720
d999ac72
VT
37212013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3722
3723 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
3724 to eliminate artefacts in bilinear interpolation.
3725
2b131610
VS
37262013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * grub-core/video/readers/tga.c: Support paletted tga.
3729
de6e5ff8
VS
37302013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
3733 incorrect cbcr setting when in color mode.
3734
fa31ee9c
VS
37352013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * grub-core/video/readers/png.c: Support paletted images and clean up
3738 greyscale support.
3739
e84f8188
VS
37402013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3743 usage of wrong table which resulted in mishandling of 4-byte
3744 sequences.
3745
37462013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
3747
3748 * grub-core/term/terminfo.c: Add Home and End key sequences.
3749
d72bff09
VS
37502013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * grub-core/video/readers/png.c (grub_png_decode_image_header):
3753 Fix formula for computing total number of bytes.
3754
29648c5d
VS
37552013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
3758 image processing, fix big-endian and support grayscale.
3759
4a876492
VS
37602013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
3763 Correctly will with maximum transparency when using index color.
3764
3ccf16df
VS
37652013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * grub-core/video/readers/png.c: Support grayscale
3768
37692013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
3770
3771 * grub-core/video/readers/jpeg.c: Support grayscale.
3772
3ccf16df 37732013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
3774
3775 * grub-core/commands/loadenv.c: Support skipping signature check
3776 and variable names filtering.
3777
30b7f58f
VS
37782013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3781 * grub-core/kern/emu/hostfs.c: Likewise.
3782 * util/getroot_unix.c: Likewise.
3783
bab7b1eb
VS
37842013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3787 Migrate all explicit defines to this new one.
3788
43b1c99d
VS
37892013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3792 grub_util_fd_strerror when using grub_util_fd_*.
3793 (grub_util_fd_open_device): Likewise.
3794 (grub_util_biosdisk_read): Likewise.
3795 (grub_util_biosdisk_write): Likewise.
3796 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3797 (grub_util_fd_strerror): Likewise.
3798 (grub_util_fd_sync): Likewise.
3799 (grub_util_fd_close): Likewise.
3800 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3801 (grub_util_fd_close): Likewise.
3802 (grub_util_fd_strerror): Likewise.
3803 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3804 function proto rather than macro.
3805 (grub_util_fd_sync): Likewise.
3806 (grub_util_fd_open): Likewise.
3807 (grub_util_fd_strerror): New proto.
3808
e8fd80bc
VS
38092013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
3812 platforms on which it doesn't work.
3813
bf645fda
VS
38142013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3817 stat immediately to where it's used.
3818
5177ba14
VS
38192013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * util/getroot.c (grub_util_check_block_device): Move to ...
3822 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3823 * util/getroot.c (grub_util_check_char_device): Move to ...
3824 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3825
9db826e1
VS
38262013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3829 disk closing logic.
3830
49120085
AB
38312013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3832
3833 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3834
b3328b68
AB
38352013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3836
3837 * docs/grub.texi (File name syntax): Document ZFS filenames
3838 (/volume@snapshot/...).
3839
3fff48ab
VS
38402013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3843 Always return full path. Fixes a problem with mkrelpath.
3844
39cfdaa9
PFS
38452013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3846
3847 * util/grub-install.in: Add GPT PReP support.
3848 * util/grub-probe.c (probe): Support GPT partition type.
3849 (main): Support -t gpt_parttype.
3850
7c680e1f 38512013-09-23 Aleš Nesrsta <starous@volny.cz>
3852
3853 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3854
890bdabe
MM
38552013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3856
3857 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3858
9c262ff9
TH
38592013-09-23 Tim Hardeck <thardeck>
3860
3861 * util/grub.d/10_hurd.in: Filter out character for the class.
3862 * util/grub.d/10_kfreebsd.in: Likewise.
3863 * util/grub.d/10_linux.in: Likewise.
3864 * util/grub.d/20_linux_xen.in: Likewise.
3865
d755342a
MC
38662013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3867
3868 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3869 "changed".
3870
68b77707
JT
38712013-09-23 Josh Triplett <josh@joshtriplett.org>
3872
3873 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3874 boot partition.
3875
efa68bfa
VS
38762013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3879 doesn't use posix_wrap. Keep literal -fno-builtin however.
3880
d9104204
VS
38812013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3884
c248781a 38852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
38862013-09-23 neil
3887
5830df88 3888 * configure.ac: Do not enable -Wmissing-noreturn as its
3889 usefulness is limited and creates problems on some OS notably with
3890 code generated by bison.
3891
38922013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
38932013-09-23 neil
3894
3895 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 3896 supported by all gcc and when it is, it's already enabled by -Wall.
3897
621bed69
VS
38982013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3901 desactivated use of EDID at all.
3902
71764dc8 39032013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
39042013-09-23 neil
3905
3906 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3907 video if no text is available.
3908
affce7d4 39092013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
39102013-09-23 neil
3911
3912 * configure.ac: Substitute TARGET_RANLIB.
3913
39142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
39152013-09-23 neil
affce7d4
VS
3916
3917 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3918
3919 Based on patches from AROS.
3920
0e8daad0 39212013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 39222013-09-23 neil
0e8daad0
VS
3923
3924 * grub-core/Makefile.am: Override STRIP and RANLIB.
3925 * configure.ac: compute TARGET_RANLIB.
3926 * INSTALL: Document TARGET_RANLIB
3927
3928 Based on patches from AROS.
3929
3f7d9c82
VS
39302013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3933 that floppies are unpartitioned.
3934
bca8873a
VS
39352013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3938 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3939
39402013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3943 less nice but more portable.
3944 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3945
a47a78be
VS
39462013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3949 for cheat_fd.
3950 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3951 functions.
3952 (grub_cryptodisk_cheat_insert): Likewise.
3953 (grub_cryptodisk_close): Likewise.
3954
e85a5d5c
VS
39552013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3958 Use windows path for DEFAULT_DIRECTORY.
3959
dad9fa6b
VS
39602013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3963 difference was likely just gcc version, not anything mingw-related.
3964
7e518ca8
VS
39652013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 Use Winapi on both cygwin and mingw32 to share more code between both.
3968
d68d0157
AB
39692013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3970
3971 * util/grub-install.in: Add --grub-editenv option.
3972 * util/grub-install_header (grub_compress_file): Explicitly check for
3973 plain file to avoid cp error.
3974
775b284d
AB
39752013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3976
3977 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3978 names; fix LVM driver name (lvm, not lv).
3979 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3980 names.
3981
3ff4063d
VS
39822013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3985 files rather than one file with loads of #if's.
3986 * util/getroot.c: Likewise.
3987
287faafe
VS
39882013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3991
d1983764
VS
39922013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3995 GNU/Hurd to the list of checked PRNG.
3996
15ce95c4
VS
39972013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * configure.ac: On FreeBSD use -melf_*_fbsd format.
4000
207862dd 40012013-09-21 Ales Nesrsta <starous@volny.cz>
4002
7c680e1f 4003 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 4004
63653cfd
VS
40052013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
4008 * grub-core/disk/lvm.c: Add LVM UUIDs.
4009 * util/getroot.c: Use LVM UUIDs whenever possible.
4010
f5d3e7ef
AB
40112013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
4012
4013 * docs/grub.texi (Networking commands): Add documentation for
4014 network related commands.
4015
53c6b7d6
VS
40162013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * util/getroot.c (grub_util_open_dm): Check major rather than the name
4019 to determine if device is handled by devmapper.
4020 (convert_system_partition_to_system_disk): Likewise.
4021 (get_dm_uuid): Don't check explicitly if device is mapped, it's
4022 already done in grub_util_open_dm.
4023
e70d6736
LL
40242013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
4025
4026 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
4027 Clean up stack manipulation (sync_caches_armv*)
4028
90379808
VS
40292013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * util/lvm.c: Remove since unused. Remove remaining references.
4032
386701a8
VS
40332013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 Handle the case of partitioned LVM properly.
4036
4037 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4038 Stop on meeting LVM, mpath or DMRAID.
4039 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
4040 (read_device_map): Likewise.
4041 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
4042 device is full disk rather than erroring out on LVM and similar cases.
4043
53070787
VS
40442013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
4047
1bc783bd
VS
40482013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
4051 4K before the end.
4052 Reported by: Leif Lindholm
4053
436ad5c3
PW
40542013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
40552013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
4058 codes.
4059
607319c9
CW
40602013-09-18 Colin Watson <cjwatson@ubuntu.com>
4061
4062 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
4063 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
4064
d404d154
DR
40652013-09-18 Douglas Ray <dougray@cpan.org>
4066
4067 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
4068 as secure.
4069
28851ef6
AN
40702013-09-18 Aleš Nesrsta <starous@volny.cz>
4071
4072 * docs/grub.texi: Fix broken link.
4073
897c3bc6
MC
40742013-09-18 Melki Christian <Christian.melki@saabgroup.com>
4075
4076 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
4077 to break endless loop.
4078
f1630459
VS
40792013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 * util/grub-fstest.c: Fix several printf formats.
4082 * util/grub-mkimage.c: Likewise.
4083 * util/grub-mkimagexx.c: Likewise.
4084 * util/grub-script-check.c: Likewise.
4085
64463dfd
VS
40862013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
4089 error.
4090
48972495
VS
40912013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
4094
5dd5e64b
VS
40952013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
4098 removed in current versions cygwin_conv_*.
4099
1c1f31e5
VS
41002013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * configure.ac: Disable efiemu runtime on cygwin.
4103
c546a259
VS
41042013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
4107 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
4108
81690478
VS
41092013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
4112 error message.
4113
6b87c10a
VS
41142013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
4117 windows variant.
4118 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
4119 data.
4120
8f0baaac
VS
41212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
4124 when on x86 and not cygwin.
4125 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
4126 -Wl,-melf_x86_64.
4127
b224c266
VS
41282013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * configure.ac: Set CPP to build one when checkoing for freetype for
4131 build.
4132
506b336b
VS
41332013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
4136 [!GRUB_BUILD]: Remove has_argument.
4137
8c8c87b7
VS
41382013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
4141 Replace with a dummy.
4142
7dc5ca13
VS
41432013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * configure.ac: Don't change host_os from mingw to cygwin.
4146
c3302aa5
VS
41472013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * configure.ac: Change target_os from windows to cygwin.
4150
7b780018
VS
41512013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 Handle grub-pe2elf and grub-mkfont for cases when build != host.
4154
4155 * Makefile.am (build-grub-mkfont): Don't include gnulib.
4156 (build-grub-gen-asciih): Likewise.
4157 (build-grub-gen-widthspec): Likewise.
4158 * Makefile.util.def (grub-pe2elf): Remove.
4159 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
4160 * configure.ac: Separate tests for build.
4161 Move ./build-grub-pe2elf to grub-core.
4162 Fix typo.
4163 * grub-core/Makefile.am (build-grub-pe2elf): New target.
4164 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
4165 defined.
4166 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
4167 constants.
4168 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
4169 * util/grub-pe2elf.c: Simplify not to rely on getopt.
4170 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
4171
984cfd8a
VS
41722013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
4175 mingw32 as well based on grub_util_get_disk_size.
4176 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
4177 grub_util_get_fd_size.
4178 (sync): Removed.
4179 (fsync): Moved to ...
4180 * grub-core/kern/emu/misc.c (fsync): ... here.
4181
f82d79c9
VS
41822013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * include/grub/mm.h (grub_extend_alloc): Remove.
4185 * grub-core/loader/i386/pc/plan9.c: Use own version of
4186 grub_extend_alloc with appropriate types.
4187
fd7dd66d
VS
41882013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
4191
43ffba7c
VS
41922013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * util/getroot.c: Include sys/wait.h only when we need waitpid.
4195
3c7eac44
VS
41962013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 Fix dependencies on cygwin.
4199
4200 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
4201 dependencies when used and defined.
4202 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
4203
bdb5ba47
VS
42042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
4207 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
4208
ed7fbf43
VS
42092013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
4212 implementation available to cause compile-time rather than runtime
4213 error.
4214
fc46e9fc
VS
42152013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * util/grub-fstest.c: Don't check for symlinks on windows.
4218
7f68269a
VS
42192013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * INSTALL: Mention unavailability of man pages when cross-compiling.
4222
8ed358e0
VS
42232013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
4226 and gcry_log_bug.
4227 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
4228
fc97214f
VS
42292013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * INSTALL: Document cross-compilation.
4232 * acinclude.m4: Determine whether nm support -P and --defined-only.
4233 * configure.ac: Add TARGET_ to all variables pertaining to target
4234 that don't have it yet.
4235 * gentpl.py: Likewise.
4236 * grub-core/Makefile.am: Likewise.
4237 * grub-core/genmod.sh.in: Likewise.
4238 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
4239 as well.
4240
ca1fb563
IB
42412013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4242
4243 * configure.ac: Remove -Wempty-body. It's not essential and needs
4244 recent gcc.
4245
0031b229
IB
42462013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4247
4248 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
4249 * util/getroot.c: Likewise.
4250
54ea2f44
VS
42512013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * grub-core/disk/ahci.c: Add needed explicit cast.
4254 * grub-core/lib/backtrace.c: Likewise.
4255 * grub-core/net/ip.c: Likewise.
4256 * grub-core/net/tcp.c: Likewise.
4257 * grub-core/net/udp.c: Likewise.
4258
3c601f8c
VS
42592013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
4262
1d679dda
VS
42632013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * util/import_gcry.py: Add final newline in visibility.h.
4266
00c28dd9
VS
42672013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * conf/Makefile.common: Fix typo.
4270
32af299a
VS
42712013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
4274
e733cf52
VS
42752013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * Makefile.am (widthspec.h): Fix typo.
4278 * util/grub-gen-widthspec.c: Likewise.
4279
c6b066f2
VS
42802013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 Move ascii.h and widthspec.h generation to a separate build-time-only
4283 tool.
4284
ad1fe3f9 42852013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4286
4287 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4288 Always fill bootdisk info and improve check for NetBSD disklabel.
4289
92a52dd4
VS
42902013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * conf/Makefile.extra-dist: Add util/bin2h.c.
4293 Reported by: floppym.
4294
b2e9d276
VS
42952013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
4298
7b966834
VS
42992013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * configure.ac: Disable unifont and starfield if no freetype was found.
4302
d5c1eef1
VS
43032013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
4306 on NetBSD and OpenBSD.
4307
66345b50 43082013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
4309
4310 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
4311
66345b50 43122013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
4313
4314 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
4315 reduced. Inheritant options are processed during the theme loading.
4316
66345b50 43172013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
4318
4319 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
4320
369508b3
AS
43212013-08-14 Avik Sil <aviksil@in.ibm.com>
4322
4323 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
4324
43252013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
4326
4327 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
4328 using qemu.
4329
6f27a3f6
PFS
43302013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4331
4332 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
4333 remove-potcdate.sed.
4334
c6ed362a
AB
43352013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4336
4337 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
4338 unused attribute from pull argument.
4339
5e7d9464
AB
43402013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4341
4342 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
4343 memory leak.
4344
dea55e2a
AB
43452013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4346
4347 * util/getroot.c (pull_lvm_by_command): add --separator option
4348 to vgs call to disable padding of output to 10 characters.
4349
f0b94ded
VS
43502013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
4353 here ...
4354 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
4355 here.
4356
b828fb5d
VS
43572013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
4360 length.
4361
7c9d0c39
VS
43622013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 Fix handling of build-time grub-bin2h and grub-mkfont when doing
4365 full Canadian cross. Tested with build=x86_64, host=arm,
4366 target=ppc-ieee1275.
4367
816719c8
VS
43682013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * configure.ac: Error if no $BUILD_CC could be found.
4371 Reported by: DevHC.
4372
2af2353b
VS
43732013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
4376 i386-multiboot.
4377
797abd0a
VS
43782013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
4381 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
4382
36e87d25
CW
43832013-08-13 Colin Watson <cjwatson@ubuntu.com>
4384
4385 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
4386 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
4387 falling back to the partition device, otherwise a later call to this
4388 function may fail spuriously.
4389 Reported by Axel Beckert. Fixes Debian bug #708614.
4390
273349fe
GS
43912013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4392
4393 * autogen.sh: Replace find -not by the POSIX-compliant find !.
4394
418f86c6
GS
43952013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4396
4397 Prevent shadowing of stdlib's devname(3) on BSD.
4398
4399 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
4400 and devlast to diskname and disklast, respectively.
4401
c137aea0
CW
44022013-08-11 Colin Watson <cjwatson@ubuntu.com>
4403
4404 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
4405
272dc8df 44062013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
4407
4408 * docs/grub.texi: Introduce terminal window position options:
4409 terminal-left: terminal window's left position
4410 terminal-top: terminal window's top position
4411 terminal-width: terminal window's width
4412 terminal-height: terminal window's height
4413 terminal-border: terminal window's border width
4414 * grub-core/gfxmenu/theme-loader.c: Likewise.
4415 * include/grub/gfxmenu_view.h: Likewise.
4416 * po/exlude.pot: Likewise.
4417 * grub-core/gfxmenu/view.c: Likewise.
4418 Also updated minimal window size.
4419 Also terminal_sanity_check function has been introduced.
272dc8df
VT
4420 * grub-core/tests/checksums.h: Update (terminal window height
4421 is adjusted now for low resolution screen)
b4743461 4422
748a4533
VS
44232013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
4426 position).
4427
fca5f944
VS
44282013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * po/exclude.pot: Add few recent exceptions.
4431
4f47d809
VS
44322013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * tests/grub_func_test.in: Add unicode.pf2.
4435
a62ae90c
VS
44362013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
4439 standard rather than noral color, in line with other terminals.
4440
4ed41392
VS
44412013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
4444 analysis.
4445
3719fbc5
VS
44462013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * grub-core/loader/arm/linux.c: Change printf to dprintf.
4449
459b1d91
VS
44502013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
4453 inappropriate printf.
4454
f4e1ab9d
AB
44552013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
4456
4457 * .bzrignore: Remove grub-core/lib/dtc-grub,
4458 grub-core/Makefile.libfdt.def
4459 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
4460
fa471bfa
VS
44612013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * include/grub/video.h (grub_video_register): Keep double-linked as
4464 well as single-linked invariants.
4465 Reported by: qwertial.
4466
d65be02b
VS
44672013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * grub-core/commands/nativedisk.c (get_uuid): Handle
4470 GRUB_DISK_DEVICE_UBOOTDISK_ID.
4471
ba8bc620
VT
44722013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
4473
4474 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
4475 maximum of NW, N, NE heights instead of N's height and maximum of
4476 NW, W, SW widths instead of W's width. (So the box will be always
4477 correctly drawn)
4478
4f0ad029
GS
44792013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
4480
4481 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
4482 Fix misuse of variable count.
4483
43d53b72
LL
44842013-07-18 Leif Lindholm <leif.lindholm@arm.com>
44852013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
44862013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 4487
43d53b72
LL
4488 New ports to arm-uboot and arm-efi.
4489 Mostly by Leif Lindholm with some additions from
4490 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 4491
88f8d146
VS
44922013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
4495 and not before.
4496 Reported by: Leon Drugi.
4497
3f42504c
VS
44982013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
4501 Reported by: Paulo Flabiano Smorigo.
4502
d110499b
VT
45032013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4504
4505 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
4506
a8674ad3
VT
45072013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4508
4509 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
4510
286fe4b3
VS
45112013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
4514
1bd57aa3
VS
45152013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
4518
7a87d69f
AB
45192013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
4520
4521 * grub-core/net/bootp.c: Export net_* variables.
4522 * grub-core/net/net.c: Likewise.
4523
b2182299
VS
45242013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
4527
795b3dc0
VS
45282013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
4531
68714c43
VS
45322013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
4535
af211bab
VS
45362013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
4539
0036f02d
MM
45402013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4541
4542 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
4543 <= 0.
4544
6d0ddff3
MM
45452013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4546
4547 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
4548 functions.
4549
038016f4
MM
45502013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4551
4552 * grub-core/fs/zfs/zfs_lz4.c: New file.
4553 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
4554
776bdce2
MM
45552013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4556
4557 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
4558
c71dbd40
MM
45592013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4560
4561 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
4562 (check_pool_label): Likewise.
4563 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
4564
45652013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
4566
4567 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
4568
8e67b50f
AB
45692013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4570
4571 * docs/grub.texi (Commands): Document postition parameters
4572 for menuentry command.
4573
f5ae3717
AB
45742013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4575
4576 * util/grub-mknetdir.in: Remove stray line from help output.
4577
9c28da2a
VS
45782013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 Remove early sm712 init as there is no reason for it (the "watchdog"
4581 effect was due to wrong GPIO map).
4582
139072b8
VS
45832013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 * grub-core/commands/pcidump.c: Remove static variables.
4586
c6a61bda
VS
45872013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * grub-core/commands/sleep.c: Refresh screen before sleeping.
4590
51369614
VS
45912013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * configure.ac: Move delimiter after the infos.
4594
efa8640a
VS
45952013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4598
6f80a7b2
VS
45992013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4602 not filling whole 8x16 space.
4603
a2371e19
VS
46042013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4607
64fce2d8
VS
46082013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * configure.ac: Indicate which liblzma is used if any.
4611
eb272d84
PW
46122013-06-21 Paul Wise <pabs3@bonedaddy.net>
46132013-06-21 Craig Sanders <savannah@taz.net.au>
4614
4615 * util/grub-reboot.in: Document submenu usage.
4616
a9e5abee
CW
46172013-06-25 Colin Watson <cjwatson@ubuntu.com>
4618
4619 * .bzrignore: Update with a number of new test-related files.
4620
e639c204
CW
46212013-06-25 Colin Watson <cjwatson@ubuntu.com>
4622
4623 * util/grub-script-check.c: Fail on scripts containing no
4624 commands, to guard against corrupted grub-mkconfig setups that
4625 produce no useful output.
4626 * tests/grub_script_no_commands.in: New test.
4627 * Makefile.util.def (grub_script_no_commands): Add.
4628 Reported by Hans Putter. Fixes Debian bug #713886.
4629
a4c89b17
AB
46302013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4631
4632 * grub-core/disk/diskfilter.c: Forgot to remove comment
4633 from previous commit.
4634
5b06b53c
AB
46352013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4636
4637 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4638 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4639
702da5c9
AB
46402013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4641
4642 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4643
aa62a5b7
AB
46442013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4645
4646 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4647 rescan diskfilter devices until nothing new is found.
4648
4aa237c8
VS
46492013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4652
93d8479b
VS
46532013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 Don't try to detect cbfs on *-emu.
4656
837222cc
VS
46572013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4660
99c971af
VS
46612013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 Add support for processed coreboot payload chainloading.
4664
e6930a45
VS
46652013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 Enable coreboot information commands even when not loaded as
4668 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4669
5027af38
VS
46702013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 Support for cbfs. Also factor out the part which is common
4673 for all archives to a separate module. This splits tar from cpio
4674 as they are very different but keeps cpio, cpio_be, odc and newc
4675 together since they're very similar.
4676
a5b55c4b
DM
46772013-06-15 David Michael <fedora.dm0@gmail.com>
4678
4679 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4680 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4681
0301a8b3
VS
46822013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * tests/grub_script_eval.in: Really add the eval test.
4685
3d84cb17
VS
46862013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 Move flavour-specific parts out of common cpio.c file and
4689 rename remaining to cpio_common.c
4690
593e430c
AB
46912013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4692
4693 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4694 off new function grub_script_execute_new_scope. Change callers to use
4695 either of them as appropriate.
4696 * grub-core/commands/eval.c: New command eval.
4697 * docs/grub.texi (Commands): Document it.
4698
63c29849
AB
46992013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4700
4701 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4702 to fetch values when listing.
4703
cc284112
AB
47042013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4705
4706 Fix make dist on non-pc.
4707
47082013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
4709
4710 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4711 without a device name.
4712
69544d1e
VS
47132013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 Remove enable_executable_check as it's not needed anymore.
4716 Reported by: dougray.
4717
96dbe648
VS
47182013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4721 ambigouos RAID before discovering RAIDs on top of it.
4722 Reported by: bodom.
4723
ccfc0bdb
VS
47242013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 Fix typo (failback vs fallback).
4727
f2587088
AB
47282013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
4729
4730 * util/grub.d/30_os-prober.in: Add support for probing EFI
4731 System Partition (as of os-prober 1.58).
4732
cec5cf0c
VS
47332013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * configure.ac: Add yet another path to unifont. For parabola.
4736
e40b4596
JT
47372013-05-30 Josh Triplett <josh@joshtriplett.org>
4738
4739 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4740 handling to copy the killed characters to the kill buffer as
4741 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4742 stored as char. Eliminates UCS4 truncation and corruption
4743 observed when killing characters with Ctrl-u and yanking them
4744 back with Ctrl-y.
4745
fc4c4fdd
VS
47462013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 Detach optional parts of gfxterm and integrate in with coreboot init.
4749
6570b205
VS
47502013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 Move blit and fill dispatcher to appropriate files to decrease export
4753 and relocation overhead.
4754
b8323067
VS
47552013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * grub-core/font/font.c, include/grub/font.h: Inline simple font
4758 functions.
4759
3cc1878f
VS
47602013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 * grub-core/Makefile.am: Fix compilation problem with some
4763 automake versions.
4764
4b80e43c
VS
47652013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4768
57e0c20c
VS
47692013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4772 automake versions.
4773
4fd42c53
VS
47742013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4777 SSDT.
4778
1e908b34
RS
47792013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4780
4781 * grub-core/partmap/dfly.c: New partition map.
4782
1359e474
VS
47832013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4786 checking.
4787 Reported by: Francesco Lavra.
4788
17806392
AB
47892013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4790
4791 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4792 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4793 false conditions.
4794 * conf/Makefile.common: define dist_grubconf_DATA
4795
cdce14fa
VS
47962013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 Progressively skip menu elements on small terminals rather
4799 than crashing.
4800
c8d6cc3c
VS
48012013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4804 to avoid losing last column.
4805
a73b31ce
VS
48062013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * po/exclude.pot: Add missing string "%C".
4809
1202c764
VS
48102013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4813 after the test.
4814
50268344
VS
48152013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * util/grub-install.in: Gettextize "Not found" message.
4818
62b15edf
VS
48192013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 Fix distfiles list.
4822 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4823
48242013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
4825
4826 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4827 present.
4828 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4829
709ad61b
VS
48302013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4833
d128901a
VS
48342013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4837 attribute since structure is not necessarily aligned.
4838
34b22f5c
AB
48392013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4840
4841 * docs/grub.texi (Device syntax): Clarify description of network
4842 drives.
4843
0f7e980b
VS
48442013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4845
4846 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4847 for vasprintf presence.
4848
30b03dc2
VS
48492013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * util/grub-install.in: Handle efibootmgr presence check.
4852 Reported by: Leif Lindholm.
4853
0dc11c08
VS
48542013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4857 new strings to translate.
4858
f8024c3f
VS
48592013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4862 yet another string (pun intended) to translate.
4863
b4c1da62
VS
48642013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * po/POTFILES-shell.in: Autogenerate it.
4867
0ef7478b
VS
48682013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4871
8200fa15
VS
48722013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4875 misnomer.
4876
091945b2
AB
48772013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4878
4879 * docs/grub.texi (Network): Add description of net_default_interface,
4880 net_default_ip and net_default_mac. Rewrite variables description
4881 to emphasize that they are per-interface.
4882
0e7b2e32
VS
48832013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 New test: cmdline and cat.
4886
16f7c8f6
VS
48872013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * grub-core/commands/cat.c: Show UTF-8 characters.
4890
3e912fda
VS
48912013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * conf/Makefile.common: Poison float and double on non-emu.
4894
ee0220bc
VS
48952013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * configure.ac: Don't disable extended registers on emu.
4898
89e0240c
VS
48992013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 * configure.ac: Don't use extended registers on x86_64.
4902 Reported by: Peter Jones.
4903
e56d9637
VS
49042013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * grub-core/term/efi/console.c: Fix compile error.
4907
8098f655
VS
49082013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 Compressed HFS+ support.
4911
16940e07
VS
49122013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4915 pixel".
4916
c5dbc13d
VS
49172013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 Menu color test.
4920
011f8ae8
VS
49212013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * grub-core/tests/setjmp_test.c: New test.
4924
2aa072d7
VS
49252013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 New variables 'net_default_*' to determine MAC/IP of default interface.
4928
43fe02cb
VS
49292013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * tests/gettext_strings_test.in: A test to check for strings not
4932 marked for translation.
4933
bed06142
VS
49342013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * autogen.sh: Exclude unused libgcrypt files from translation.
4937
fb2666b5
VS
49382013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 Simplify few strings.
4941
d22840ec
VS
49422013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 Mark few forgotten strings for translation.
4945
e34092fd
VS
49462013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4949 rather than printf.
4950
47cf82b4
VS
49512013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4954 rather than printf.
4955 * grub-core/video/readers/tga.c: Likewise.
4956
1eed0e6e
VS
49572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * tests/priority_queue_unit_test.cc: New test.
4960
c5b7697b
VS
49612013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4964 than printf.
4965
5945c2f8
AB
49662013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4967
4968 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4969 variable for one time boot menu entry.
4970
fa292343
B
49712013-05-05 Bean <bean123ch@gmail.com>
4972
4973 * grub-core/commands/testspeed.c: New command testspeed.
4974
310d4214
VS
49752013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 Factor-out human-size printing.
4978
85002bf3
VS
49792013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 Agglomerate more mallocs to speed-up gfxterm.
4982
22b06e96
VS
49832013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 Speed-up gfxterm by slightly agglomerating mallocs.
4986
b7c036bc
VS
49872013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 More video checks.
4990
92323d1f
VS
49912013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 Speed-up gfxterm by saving intermediate results in index+alpha
4994 format.
4995
0fb356a3
VS
49962013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4999 test.
5000
44dea3f9
VS
50012013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5002
5003 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
5004 line of timeout as it may contain the rest of long line.
5005
14af86e4
VS
50062013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 * grub-core/normal/main.c: Fix freed memory dereference.
5009
03f7c8c3
VS
50102013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 Fix several memory leaks.
5013
c686014c
VS
50142013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
5017
0788a695
VS
50182013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
5021
daf01d61
VS
50222013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 Fix test -a and -o precedence.
5025 Reported by: adrian15.
5026
82ae74d7
VS
50272013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
5030
8cec7bd4
AB
50312013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
5032
5033 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
5034 and add it as source to functional_test module.
5035
aa73d688
VS
50362013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
5039
c104b6f9
VS
50402013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 New series of tests for gfxterm and gfxmenu.
5043
7391c4d5
VS
50442013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
5047 the theme path relative to $prefix/themes.
5048
cff50118
VS
50492013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
5052 Fix order bug.
5053 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5054
7c332bdc
VS
50552013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
5058 descriptor.
5059
a4f9a5ff
VS
50602013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
5063 grub_gfxmenu_timeout_notifications.
5064 (grub_gfxmenu_view_destroy): Likewise.
5065
b5a2114d
VS
50662013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
5069
a8905e8a
VS
50702013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 Several fixes to ieee1275 and big-endian video.
5073
813c1622
VS
50742013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 Add missing exports on mips.
5077
3f3e7326
VS
50782013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5079
5080 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
5081 if no unifont is found.
5082 Restore original keyboard.
5083
095accd1
VS
50842013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5087 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
5088
50361660
VS
50892013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 First automated video test (running videotest and comparing results)
5092
cd0f6eec
VS
50932013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
5096 instead of 2 to have full RGB/CMY test pattern.
5097
3f9634e5
VS
50982013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 Add few more tests.
5101
583e5b64
VS
51022013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * include/grub/arc/arc.h: Account for missing "other" peripheral on
5105 ARCS. All users updated.
5106
aa7bcb99
VS
51072013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
5110
95ef1a54
VS
51112013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * grub-core/partmap/amiga.c: Fix size of checksummed block.
5114
46546fc5
VS
51152013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
5118 Reported by: qwertial.
5119
3476e0ef
VT
51202013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
5121
5122 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
5123 with syntax "XXX deg"/"XXX °".
5124
96f33fed
VS
51252013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 Make PCI init in i386-qemu port more robust.
5128
51292013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
5130
5131 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
5132 cached view is reused.
5133 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
5134 open boot menus.
5135
c53b4e67
VS
51362013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 Unify more code in grub-install_header.
5139
f7457fb2
VS
51402013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 Add few new tests.
5143
e2f27a8c
VS
51442013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 Enforce disabling of firmware disk drivers when native drivers kick in.
5147
ef9d8cd5
VS
51482013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/commands/nativedisk.c: Customize the list of modules on
5151 platform. Don't try to search for disks already using native drivers.
5152
f7bf6c31
VS
51532013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
5156 platforms.
5157
bdc4add8
VS
51582013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
5161 handling of variables containing backslash.
5162
e9e46c9a
VS
51632013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
5166 dereference.
5167 Reported by: qwertial.
5168
0e90dee8
VS
51692013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
5172
e0aacf24
VS
51732013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
5176 dereference.
5177 Reported by: qwertial.
5178
3c0003c3
VS
51792013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 * docs/grub.texi: Add a comment about usefullness of nativedisk.
5182
adb7d667
VS
51832013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
5186
7cd0df84
VS
51872013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 New command `nativedisk'.
5190
02adbb93
VS
51912013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
5194 * grub-core/loader/i386/bsd.c: Likewise.
5195
9fb0fd4f
VS
51962013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
5199
bd69257a
VS
52002013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
5203 grub_get_unaligned16 rather than shifts.
5204
178c2764
VS
52052013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/kern/file.c: Use const char * rather than casting to
5208 non-const.
5209
eadfad24
VS
52102013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/commands/probe.c: Add missing grub_device_close.
5213
9f73ebd4
VS
52142013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * INSTALL: Document linguas.sh.
5217
965fa829
VS
52182013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5219
5220 Remove POTFILES.in and regenerate it in autogen.sh.
5221
d417ddc4
VS
52222013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 Move --directory/--override-directorry to grub-install_header and unify.
5225
f97ec546
VS
52262013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5227
5228 * grub-core/term/morse.c: Macroify dih and dah.
5229
b2d7470c
PFS
52302013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5231
5232 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
5233
141e2a78
VS
52342013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * grub-core/term/ns8250.c: Systematically probe ports by writing
5237 to SR before using them.
5238
1dd70ebd
PFS
52392013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5240
5241 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
5242 disks.
5243 (check_sas): Get sas_adress info.
5244
c796a107
VS
52452013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
5248 ports.
5249
43168646
LD
52502013-04-27 Leon Drugi <eyak>
5251
5252 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
5253 BSS clearing.
5254
e7b8fd08
VS
52552013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 Core compression test.
5258
17f9fd29
VS
52592013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 Implement grub_machine_get_bootlocation for ARC.
5262
dc2a6c8b
VS
52632013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 Improve AHCI detection and command issuing.
5266
f25a2ba6
VS
52672013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 Fix pseries test.
5270
a6393224
VS
52712013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 Make 'make check' work on emu.
5274
db99fbe8
VS
52752013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 Replace libcurses with our own vt100 handling for the ease of testing
5278 and decreasing prerequisites.
5279
b24ca7cd
VS
52802013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
5283
63314aa4
VS
52842013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
5287 compile when not needed.
5288
c1b00fff
VS
52892013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * tests/pseries_test.in: New test.
5292
f93e89ef
VS
52932013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 Add test to check that different boot mediums work.
5296
c4b456d3
VS
52972013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
5300 ofw limited ISO support.
5301
5fe67f39
VS
53022013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * configure.ac: Fix loongson conditional.
5305
7f63a64f
VS
53062013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 Enable mipsel-arc.
5309
b04b5990
VS
53102013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 Add serial on ARC platform.
5313
88d2f302
VS
53142013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
5317 commit.
5318
86eb23bc
VS
53192013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 * tests/partmap_test.in: Add missing double semicolon.
5322
eec3bb75
VS
53232013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * util/grub-mkrescue.in: Fix loongson filename.
5326
e0810df3
VS
53272013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * util/grub-mkrescue.in: Move all files that don't have a location
5330 set in stone under /boot/grub. Use ISO hard links rather than copies
5331 to save some space.
5332
65a6b30b
VS
53332013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
5336 bogus SLOF values.
5337
6aff0107
VS
53382013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 Make check work on mips-arc.
5341
5e013e56
VS
53422013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * util/grub-mkrescue.in: Alias sashARCS as sash.
5345
d1989e2e
VS
53462013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
5349 it's serial.
5350
1a25e72c
VS
53512013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * util/grub-install.in: Fix target fo qemu_mips.
5354 Fix extension on EFI.
5355
a59a9826
VS
53562013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
5359 in front of chosen entry to mark it even if highlighting is lost.
5360
1a40f80c
VS
53612013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
5364 gfxpayload=keep if cbfb is active.
5365
e343549c
VS
53662013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
5369
45fbd9a2
VS
53702013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 Add missing video ids to coreboot and ieee1275 video.
5373
ab1440bd
VS
53742013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 * util/grub-mkrescue.in: Add mips-arc support.
5377
cdeb8324
VS
53782013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
5381
8528c879
VS
53822013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 Move mips-arc link address. Previous link address was chosen
5385 in belief that RAM on SGI platforms grows down while in fact it
5386 grows up from an unusual base.
5387
17fca573
VS
53882013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
5391 Fix a type which prevented CD-ROM and floppy boot.
5392
d178788e
VS
53932013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 Support coreboot framebuffer.
5396
5397 * grub-core/video/i386/coreboot/cbfb.c: New file.
5398
fe4c3e7e
VS
53992013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
5402 detecting too small regions.
5403
ec2dd179
VS
54042013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
5407
872dac83
VS
54082013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
5411 Remove dprintf.
5412 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5413
90ec4b7f
VS
54142013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
5417 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5418 * grub-core/loader/powerpc/ieee1275/linux.c
5419 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5420
f32555dd
VS
54212013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5424 Look for /boot-rom as well as /rom/boot-rom.
5425
38649799
VS
54262013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
5429 handling when creating text_layer failed.
5430 * grub-core/video/video.c (grub_video_create_render_target):
5431 Set result to 0 on error.
5432 (grub_video_delete_render_target): Do not dereference NULL.
5433
aeace7f7
VS
54342013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
5437 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
5438 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
5439 (grub_linux_load64): Mask out 2 high bits.
5440
4eafa175
AB
54412013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
5442
5443 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
5444 more place.
5445
daaa64bd
VS
54462013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 Add support for pseries and other bootinfo machines to grub-mkrescue.
5449
5450 Tested by: Paulo Flabiano Smorigo.
5451
d0d2daa6
VS
54522013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 * util/grub-mkrescue.in: Add GPT for EFI boot.
5455
b193e100
VS
54562013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
5459 It improves performance in qemu.
5460
a0f8f3ac
VS
54612013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * build-aux/snippet: Add missing gnulib files.
5464
284df0e2
AB
54652013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5466
5467 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
5468
740201f3
AB
54692013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5470
5471 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
5472
a7e03923
PJ
54732013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
54742013-04-15 Peter Jones <pjones@redhat.com>
5475
5476 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
5477 sectors.
5478 Based on patch by Peter Jones.
5479
25fc51a8
VS
54802013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 Fix DMRAID partition handling.
5483
88017d47
VS
54842013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * tests/grub_cmd_date.in: Skip on sparc64.
5487
fa7d914e
VS
54882013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
5491 firmware error messages.
5492
cbe57a48
VS
54932013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
5496 source and destination differ.
5497
21aecce0
VS
54982013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
5501 detection.
5502
25092d29
VS
55032013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
5506 match config-util.h to avoid warnings and increase compatibility.
5507
79451522 55082013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 55092013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
5510
5511 Add option to compress files on install/image creation.
5512
78b7d77b
VS
55132013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * docs/grub-dev.texi: Rearrange menu to match the section order.
5516 Reported by: Bryan Hundven.
5517
cc2fa5ec
VS
55182013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
5521
b49fe879
VS
55222013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 Move GRUB out of system area when using xorriso 1.2.9 or later.
5525
5351da81
VS
55262013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * tests/grub_cmd_date.in: Add missing exit 1.
5529
c9d586ea
VS
55302013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * tests/partmap_test.in: Skip on sparc64.
5533
3f729741
VS
55342013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 Support grub-shell on sparc64.
5537
8ca86b3a
VS
55382013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 Support mkrescue on sparc64.
5541
aa1af9bb
VS
55422013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 Allow IEEE1275 ports on path even if it wasn't detected automatically.
5545 Needed on OpenBIOS due to incomplete device tree.
5546
ac4fea79
VS
55472013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
5550 would be otherwise excluded.
5551
55522013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
5553
5554 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5555 Inline name defines used only once.
5556
fe22b071
VS
55572013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 Fix memory leaks in ofnet.
5560 Reported by: Francesco Lavra.
5561
9d21381b
VS
55622013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * docs/man/grub-glue-efi.h2m: Add missing file.
5565
07aec23c
VS
55662013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
5569
67ab8353
VS
55702013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 Better support Apple Intel Macs on CD.
5573
ba44ca6d
VS
55742013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 Replace stpcpy with grub_stpcpy in tools.
5577
bbdd6305
VS
55782013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 Handle Japanese special keys.
5581 Reported by: Hiroyuki YAMAMORI.
5582 Codes supplied by: Hiroyuki YAMAMORI.
5583
8573d302
VS
55842013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 * util/grub-mkimage.c: Document memdisk implying --prefix.
5587
d70dbab7
VS
55882013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
5591 much we can do about it anyway.
5592
51a4c3e3
AN
55932013-04-12 Aleš Nesrsta <starous@volny.cz>
5594
5595 Fix handling of split transfers.
5596
92c8f58d
VS
55972013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/net/http.c: Fix bad free.
5600
b7d17a49
VS
56012013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5604 than buffer size.
5605
a3d566d4
VS
56062013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5609
a936af56
VS
56102013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * tests/util/grub-shell.in: Fix it on powerpc.
5613
51212234
VS
56142013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 Turn off QEMU ACPI-way since new releases don't have shutdown port
5617 anymore.
5618
a21eec9e
VS
56192013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 * docs/grub.texi: Update coreboot status info.
5622
e3734b84
VS
56232013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * tests/grub_cmd_date.in: New test for datetime.
5626
f9d40055
VS
56272013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * tests/partmap_test.in: Fix missing qemudisk setting.
5630
dbc56d8f
VS
56312013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 Support i386-ieee1275 grub-mkrescue and make check on it.
5634
a79b8a15
VS
56352013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5638 feature for it.
5639
48f39bb4
VS
56402013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5643 GRUB_CMDLINE_XEN_DEFAULT.
5644 Reported by: Marc Warne (GigaTux) <gigatux>
5645
053cfcdd
VS
56462013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 Import new gnulib.
5649
93cd84df
VS
56502013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 Use ACPI shutdown intests as traditional port was removed.
5653
f4b1fa4f
AB
56542013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5655
5656 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5657 distinction.
5658
49818a59
VS
56592013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5662 Fix few warining messages and leaks while on it.
5663
9277a306
AB
56642013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5665
5666 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5667 links under grub-core/lib/libgcrypt-grub/mpi.
5668
d5e2a158
VS
56692013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 Fix ia64-efi image generation on big-endian machines. Deduplicate
5672 some code while on it.
5673 Reported by: Leif Lindholm.
5674
18866643
AB
56752013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5676
5677 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5678 as extra_dist.
5679
ca53deb8
AB
56802013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5681
5682 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5683
d4c4b8e1
BH
56842013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5685
5686 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5687 texinfo-5.1.
5688
47043f95
VS
56892013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * grub-core/normal/term.c: Few more fixes for menu entry editor
5692 rendering.
5693 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5694
a3216068
VS
56952013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * grub-core/normal/term.c: Few more fixes for menu entry editor
5698 rendering.
5699 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5700
21026747
AB
57012013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5702
5703 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5704 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5705
59624ca8
AB
57062013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5707
5708 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5709 instead of hardcoding grub.mo.
5710
1f44478c
FN
57112013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5712
5713 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5714
eeada7b1
VS
57152013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5718 grub-core/disk/geli.c.
5719
132867de
VS
57202013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * util/grub-mkfont.c: Prefer enum to #define.
5723
de73de17
VS
57242013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
5727
1865baa7
VS
57282013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
5731
ce7d92a9
VS
57322013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5735
52eab656
VS
57362013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5739
98b23b95
VS
57402013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 * include/grub/bsdlabel.h: Use enums.
5743
0467a5dd
VS
57442013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 Move GRUB_CHAR_BIT to types.h.
5747
16cc9f03
AB
57482013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5749
5750 * docs/grub.texi: Document more user commands.
5751
3152aecb
AB
57522013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5753
5754 * docs/grub.texi: Document menuentry --id option.
5755
c506fc30
FL
57562013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
5757
5758 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
5759
aa428238
VS
57602013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 Unify file copying setup across different install scripts. Add
5763 options for performing partial install.
5764
efe0cdda
PJ
57652013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
57662013-04-04 Peter Jones <pjones@redhat.com>
5767
5768 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5769
f75835bd
VS
57702013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 Use TSC as a possible time source on i386-ieee1275.
5773
2cd5ce6c
VS
57742013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5777 Init err.
5778
c9625630
VS
57792013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * util/grub-setup.c (setup): Handle some corner cases.
5782
be008941
VS
57832013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5786
1a78d573
VS
57872013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/commands/verify.c: Save verified file to avoid it being
5790 tampered with after verification was done.
5791
db8ff59f
VS
57922013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5795 reported width by one to compensate for curesor algorithm problem.
5796
91bf46b1
VS
57972013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 Fix screen corruption in menu entry editor and simplify the code
5800 flow while on it.
5801
a7b1d693
AB
58022013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5803
5804 * util/grub-mount.c (fuse_init): Return error if fuse_main
5805 failed.
5806
31df9ad8
FL
58072013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5808
5809 * include/grub/elf.h: Add missing ARM relocation codes and fix
5810 existing ones.
5811
07f392eb
VT
58122013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5813
5814 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5815
9efd73ec 58162013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
58172013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5820 into account when calculating radius.
5821
58222013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
5823
5824 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5825
4985ddaa
VT
58262013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5827
5828 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5829
8c3635ff
RS
58302013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5831
5832 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5833 missing closing bracket.
5834
74a35e69
RS
58352013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5836
5837 * INSTALL: Mention xorriso requirement.
5838
40f1c000
AB
58392013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5840
5841 * grub-core/commands/verify.c: Fix hash algorithms values for
5842 the first three hashes - they start with 1, not with 0.
5843
e75fdee4
VS
58442013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5847 Try terminating EFI services several times due to quirks in some
5848 implementations.
5849
33028f4c
CW
58502013-03-26 Colin Watson <cjwatson@ubuntu.com>
5851
5852 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5853 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5854 BankField extended opcodes.
5855 (get_sleep_type): Add minimal scope handling (just enough to
5856 handle setting the scope to the root path).
5857 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5858 * include/grub/acpi.h: Add enumeration values for Event, Device,
5859 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5860
33871a10
VT
58612013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5862
5863 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5864 memory leak.
5865
8990963a
VS
58662013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * grub-core/disk/ahci.c: Give more time for AHCI request.
5869
daae8f9e
VS
58702013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5873 command.
5874
6a7fb94b
VS
58752013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 Replace the region at 0 from coreboot tables to available in BSD
5878 memory map.
5879
ff99babd
VS
58802013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5883 non-BIOS platforms.
5884
30d6b1b2
VS
58852013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5888 platforms.
5889
6ccd0b31
VS
58902013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5893 handling of multi-device filesystems.
5894
23c9cc04
VS
58952013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5898 platforms.
5899
ce50dbd7
VS
59002013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 Add new 'proc' filesystem framework and put luks_script into it.
5903
d975e8d5
VS
59042013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5907 and qemu.
5908
e73ba5e8
VS
59092013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5912
92750e4c
VS
59132013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 Add ability to generate newc additions on runtime.
5916
0ec45a68
VS
59172013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5920 description.
5921
320abd43
VS
59222013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * po/POTFILES.in: Regenerate.
5925
d7a6506e
VS
59262013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * grub-core/commands/verify.c (hashes): Add several hashes
5929 from the spec.
5930
8fe05def
VS
59312013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 Slight improve in USB-related boot-time checkpoints.
5934
524e2766
VS
59352013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 * grub-core/commands/boottime.c: Fix copyright header.
5938
cc19857a
VS
59392013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5942 coreboot tables content. Support for cbmemc.
5943
ef8810e9
VS
59442013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 Fix a conflict between ports structures with 2 controllers of
5947 same kind.
5948
e9dabdfa
VS
59492013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * include/grub/boottime.h: Add missing file.
5952
f6df57d2
VS
59532013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 Initialize USB ports in parallel to speed-up boot.
5956
d745dda7
VS
59572013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 Fix USB devices not being detected when requested
5960 due to delayed attach.
5961
e5a2dd7b
VS
59622013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5963
e744219b
VS
5964 Implement boot time analysis framework.
5965
59662013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
5969 descriptor to just receive it as argument rather than endpoint
5970 address.
5971
5dd6f587
VS
59722013-03-19 Aleš Nesrsta <starous@volny.cz>
5973
5974 Better estimate the maximum USB transfer size.
5975
2f1071d5
VS
59762013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 Resend a packet if we got the wrong buffer in status.
5979
46ecfc49
VS
59802013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5983 multiplication rather than division.
5984
ea811130
VS
59852013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5988 than divisions.
5989
d2789cf0
VS
59902013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5993 operations to have intended shifts and not divisions.
5994
a9c94590
VS
59952013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5998 intended shifts rather than division.
5999
84cfe81b
VS
60002013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
6003 computation for some years before epoch. Avode confusing division
6004 while on it.
6005
21344ef6
VS
60062013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * grub-core/video/i386/pc/vbe.c
6009 (grub_video_vbe_print_adapter_specific_info): Replace division by
6010 shifts.
6011
3f2b4d1a
VS
60122013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 Adjust types in gdb module to have intended unsigned shifts rather than
6015 signed divisions.
6016
3dac5878
VS
60172013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
6020 maximum size is 4G - 1 on hfs
6021
5341c0fb
VS
60222013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
6025
fc3ff2a2
VS
60262013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
6029 function.
6030
81455e8e
AB
60312013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
6032
6033 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
6034 causing gcc error with gcc 4.7.1.
6035
efd4f117
NZ
60362013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6037
6038 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
6039 dereference null pointer. While the code is technically correct, gcc
6040 may eliminate a null check if pointer is already dereferenced.
6041
e11645f4
NZ
60422013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6043
6044 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
6045 OOM check.
6046 * grub-core/normal/term.c (read_terminal_list): Likewise.
6047
77468368
VS
60482013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 Lift up core size limits on some platforms. Fix potential memory
6051 corruption with big core on small memory systems. Document remaining
6052 limits.
6053
f6b58fe5
VS
60542013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
6057 gotoxy to 0,0.
6058
19ce697d
VS
60592013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 Remove all trampoline support. Add -Wtrampolines when
6062 present. Remove symbols used for trampolines to make
6063 link fail if trampolines are present.
6064
73b5d90f
VS
60652013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
6068 append out of its parent.
6069
cb758e96
VS
60702013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
6073 parent.
6074
3188131f
VS
60752013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
6078 all vars to a macro. All users updated.
6079
e42b2514
VS
60802013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * grub-core/disk/ieee1275/nand.c: Fix compilation on
6083 i386-ieee1275.
6084
83e1a1a1
VS
60852013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
6088
1d5a880f
VS
60892013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
6092
6e4146c4
VS
60932013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 Move to more hookless approach in IEEE1275 devices handling.
6096
99fcda8a
VS
60972013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * grub-core/kern/term.c (grub_term_normal_color),
6100 (grub_term_highlight_color): Add back lost defaults.
6101
73bf57e2
VS
61022013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 Make elfload not use hooks. Opt for flags and iterators instead.
6105
7f8c105f
VS
61062013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
6109 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
6110
396d4091
VS
61112013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/script/execute.c (gettext_append): Remove nested functions.
6114
61152013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
6118 hook pass-through parameter. All users updated and unnested.
6119
74a27421
VS
61202013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
6123 out of its parent.
6124
b46d4213
VS
61252013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * grub-core/fs/hfs.c: Remove nested functions.
6128
e114c3cc
VS
61292013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
6132 the context through.
6133 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
6134
f9b7d780
VS
61352013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 * util/grub-editenv.c (list_variables): Move print_var out of its
6138 parent.
6139
ca9c2608
VS
61402013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
6143 function.
6144
5d983f5f
VS
61452013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * grub-core/gentrigtables.c: Make tables const.
6148
3056d3e7
VS
61492013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 Remove nested functions from videoinfo iterators.
6152
e2303774
VS
61532013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
6156 for 64-bit platforms.
6157
f42e3a2f
VS
61582013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
6161 a FOR_CHILDREN macro.
6162
be174e5e
VS
61632013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
6166 platform from firmware path.
6167
0789b672
VS
61682013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 Enable linux16 on non-BIOS systems for i.a. memtest.
6171
6172 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
6173 correctly.
6174 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
6175
005a9c32
VS
61762013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
6179 Fix end of table condition.
6180
ff2b3cd9
VS
61812013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
6184 out of its parent.
6185
4fc40ff8
VS
61862013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 * grub-core/fs/jfs.c: Remove nested functions.
6189
be42d97a
VS
61902013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * grub-core/fs/minix.c: Remove nested functions.
6193
99373ce4
VS
61942013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * grub-core/fs/iso9660.c: Remove nested functions.
6197
5aec2afe
VS
61982013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
6201 of parent function.
6202
6c69e691
VS
62032013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 * util/grub-fstest.c: Remove nested functions.
6206
43c91882
VS
62072013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * grub-core/loader/machoXX.c: Remove nested functions.
6210
4eb8b756
CW
62112013-02-27 Colin Watson <cjwatson@ubuntu.com>
6212
6213 Remove nested functions from disk and file read hooks.
6214
6215 * include/grub/disk.h (grub_disk_read_hook_t): New type.
6216 (struct grub_disk): Add read_hook_data member.
6217 * include/grub/file.h (struct grub_file): Likewise.
6218 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
6219 argument.
6220
6221 Update all callers.
6222
df6da5a5
AB
62232012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
6224
6225 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
6226 Fix off by one error in enumerating extended partitions.
6227
21aecde5
AB
62282013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
6229
6230 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
6231 memory leak if device name is not found.
6232
f1a19118
AB
62332013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6234
6235 * grub-core/normal/menu_entry.c (update_screen): remove
6236 unused variable `off' which caused scroll down arrow to be always shown.
6237
958bfd20
AB
62382013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6239
6240 * grub-core/normal/menu_entry.c (insert_string): fix off by one
6241 access to unallocated memory.
6242
b7b78edb
AB
62432013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6244
6245 * Makefile.util.def: Add partmap/msdos.c to common library.
6246 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
6247 * grub-core/disk/ldm.c: Check for existence of
6248 GRUB_PC_PARTITION_TYPE_LDM.
6249
28d468d6
VS
62502013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
6253 sizes and display sector size.
6254
d55ffb02
VS
62552013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 Implement new command cmosdump.
6258
b5ea6ce0
VS
62592013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6260
6261 Support Openfirmware disks with non-512B sectors.
6262
6263 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
6264 size of the disk.
6265 * (grub_ofdisk_get_block_size): New function.
6266 * (grub_ofdisk_prepare): Use the correct block size.
6267 * (grub_ofdisk_read): Likewise.
6268 * (grub_ofdisk_write): Likewise.
6269 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
6270 New proto.
6271
cc0e476f
VS
62722013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
6275
c5dbdc33
VS
62762013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
6279 on first error.
6280
3f078c0f
VS
62812013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
6284 freeing it.
6285
66a93674
VS
62862013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 Implement USBDebug (full USB stack variant).
6289
c9f0c134
VS
62902013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
6293 unless they have unexpected values.
6294
cfe1288b
VS
62952013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
6298 grub_print_error.
6299
e42b9969
VS
63002013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
6303 zero-out of port structure.
6304
cf94fd62
VS
63052013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
6308 of extended attributes.
6309
f81ef4b5
AB
63102013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
6311
6312 * util/grub-install.in: change misleading comment about
6313 device.map creation
6314
af18fdb4
VS
63152013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
6318 when menu highlight color isn't set.
6319
08bcec50
M
63202013-01-27 C. Masloch <pushbx@38.de>
6321
6322 Improve FreeDOS direct loading support compatibility.
6323
6324 * include/grub/i386/relocator.h (grub_relocator16_state):
6325 New member ebp.
6326 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
6327 variable.
6328 (grub_relocator16_boot): Handle %ebp.
6329 * grub-core/lib/i386/relocator16.S: Likewise.
6330 * grub-core/loader/i386/pc/freedos.c:
6331 Load BPB to pass kernel which partition to load from.
6332 Check that kernel file is not too large.
6333 Set register dl to BIOS unit number as well.
6334
7782b8a6
CW
63352013-01-22 Colin Watson <cjwatson@ubuntu.com>
6336
6337 * util/grub-reboot.in (usage): Document the need for
6338 GRUB_DEFAULT=saved.
6339 * util/grub-set-default.in (usage): Likewise.
6340 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
6341
e661c180
VS
63422013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
6345 than defining WORDS_BIGENDIAN manually.
6346
1c22ca9a
VS
63472013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
6350 invariants.
6351
d44892fe
CW
63522013-01-21 Colin Watson <cjwatson@ubuntu.com>
6353
6354 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
6355 nested.
6356 (blit_comb: add_device_width): Likewise.
6357
5fdbaed1
CW
63582013-01-21 Colin Watson <cjwatson@ubuntu.com>
6359
6360 Remove nested functions from USB iterators.
6361
6362 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
6363 (grub_usb_controller_iterate_hook_t): Likewise.
6364 (grub_usb_iterate): Add hook_data argument.
6365 (grub_usb_controller_iterate): Likewise.
6366 (struct grub_usb_controller_dev.iterate): Likewise.
6367
6368 Update all implementations and callers.
6369
4250985a
VS
63702013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
6373 margin when not needed.
6374
7d8848f3
VS
63752013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6376
bc136973 6377 Make color variables global instead of it being per-terminal.
7d8848f3
VS
6378
63792013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6380
bc136973
VS
6381 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
6382 asterisk.
7d8848f3 6383
ed12a003
CW
63842013-01-21 Colin Watson <cjwatson@ubuntu.com>
6385
6386 Fix powerpc and sparc64 build failures caused by un-nesting memory
6387 map iterators.
6388
6a0db449
CW
63892013-01-21 Colin Watson <cjwatson@ubuntu.com>
6390
6391 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
6392 parameter declarations.
6393
ccd86b21
VS
63942013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
6397
822b726b
VS
63982013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 Improve spkmomdem reliability by adding a separator between bytes.
6401
115c2cc1
CW
64022013-01-21 Colin Watson <cjwatson@ubuntu.com>
6403
6404 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
6405 an Acer registration utility with several sightings in the wild.
6406 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
6407
fc524edf
CW
64082013-01-21 Colin Watson <cjwatson@ubuntu.com>
6409
6410 Remove nested functions from filesystem directory iterators.
6411
6412 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
6413 (struct grub_fs.dir): Add hook_data argument.
6414
6415 Update all implementations and callers.
6416
53d3e4e3
CW
64172013-01-21 Colin Watson <cjwatson@ubuntu.com>
6418
6419 * docs/grub.texi (Multi-boot manual config): Fix typo for
6420 "recommended".
6421
c821711f
LL
64222013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6423
6424 * util/grub-mkimage.c (main): Postpone freeing arguments.output
6425 until after its use in generate_image.
6426
6a0debbd
CW
64272013-01-20 Colin Watson <cjwatson@ubuntu.com>
6428
6429 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
6430 initrd size to addr_min, since the initrd will be allocated after
6431 this address.
6432
f41e08db
AB
64332013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6434
6435 * conf/Makefile.common: Fix autogen rules to pass definition
6436 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
6437
77529e0f
LL
64382013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6439
6440 * include/grub/elf.h: Update ARM definitions based on binutils.
6441
b879aa7b
VS
64422013-01-20 Aleš Nesrsta <starous@volny.cz>
6443
6444 Split long USB transfers into short ones.
6445
8eb8284d
AB
64462013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6447
6448 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
6449 is interrupted by ESC.
6450
08dad2dc
VS
64512013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 * util/grub-script-check.c (main): Uniform the error message.
6454
6c724b85
CW
64552013-01-20 Colin Watson <cjwatson@ubuntu.com>
6456
6457 Remove nested functions from ELF iterators.
6458
25239370
CW
64592013-01-20 Colin Watson <cjwatson@ubuntu.com>
6460
6461 Remove nested functions from device iterators.
6462
6463 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
6464 (grub_arc_iterate_devs): Add hook_data argument.
6465 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
6466 (struct grub_ata_dev.iterate): Add hook_data argument.
6467 * include/grub/device.h (grub_device_iterate_hook_t): New type.
6468 (grub_device_iterate): Add hook_data argument.
6469 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
6470 (struct grub_disk_dev.iterate): Add hook_data argument.
6471 (grub_disk_dev_iterate): Likewise.
6472 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
6473 Likewise.
6474 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
6475 Likewise.
6476 * include/grub/partition.h (grub_partition_iterate_hook_t): New
6477 type.
6478 (struct grub_partition_map.iterate): Add hook_data argument.
6479 (grub_partition_iterate): Likewise.
6480 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
6481 (struct grub_scsi_dev.iterate): Add hook_data argument.
6482
6483 Update all callers.
6484
6c0314d6
CW
64852013-01-20 Colin Watson <cjwatson@ubuntu.com>
6486
6487 Fix typos for "developer" and "development".
6488
600dc5f1
VS
64892013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 Add license header to spkmodem-recv.c.
6492
17334a6b
VS
64932013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 Rewrite spkmodem to use PIT for timing. Double the speed.
6496
7d462559
VS
64972013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 Add new command pcidump.
6500
b78d6c32
VS
65012013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 New terminal outputs using serial: morse and spkmodem.
6504
34f71cb8
VS
65052013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 Improve bidi handling in entry editor.
6508
4542e71b
VS
65092013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6512 argument to prevent name collision.
6513
09fd6d82
CW
65142013-01-15 Colin Watson <cjwatson@ubuntu.com>
6515
6516 Remove nested functions from script reading and parsing.
6517
6518 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
6519 getline_data argument, passed to getline.
6520 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
6521 getline_data argument, passed to grub_parser_split_cmdline.
6522 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
6523 lexerstate->getline_data to lexerstate->getline.
6524 (grub_script_lexer_init): Add getline_data argument, saved in
6525 lexerstate->getline_data.
6526 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
6527 argument, passed to grub_script_parse.
6528 * grub-core/script/script.c (grub_script_parse): Add getline_data
6529 argument, passed to grub_script_lexer_init.
6530 * include/grub/parser.h (grub_parser_split_cmdline): Update
6531 prototype. Update all callers to pass appropriate getline data.
6532 (struct grub_parser.parse_line): Likewise.
6533 (grub_rescue_parse_line): Likewise.
6534 * include/grub/reader.h (grub_reader_getline_t): Add void *
6535 argument.
6536 * include/grub/script_sh.h (struct grub_lexer_param): Add
6537 getline_data member.
6538 (grub_script_parse): Update prototype. Update all callers to pass
6539 appropriate getline data.
6540 (grub_script_lexer_init): Likewise.
6541 (grub_normal_parse_line): Likewise.
6542
6543 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
6544 data argument.
6545 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
6546 static instead of nested. Rename to ...
6547 (grub_parser_execute_getline): ... this.
6548 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
6549 data argument.
6550 * grub-core/normal/main.c (read_config_file: getline): Make static
6551 instead of nested. Rename to ...
6552 (read_config_file_getline): ... this.
6553 (grub_normal_read_line): Add unused data argument.
6554 * grub-core/script/execute.c (grub_script_execute_sourcecode:
6555 getline): Make static instead of nested. Rename to ...
6556 (grub_script_execute_sourcecode_getline): ... this.
6557 * util/grub-script-check.c (main: get_config_line): Make static
6558 instead of nested.
6559
d0d4b8a0
CW
65602013-01-15 Colin Watson <cjwatson@ubuntu.com>
6561
6562 Remove nested functions from memory map iterators.
6563
6564 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
6565 argument, passed to hook.
6566 * grub-core/kern/i386/coreboot/mmap.c
6567 (grub_linuxbios_table_iterate): Likewise.
6568 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
6569 instead of nested.
6570 (grub_machine_mmap_iterate): Add hook_data argument.
6571 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
6572 Add hook_data argument, passed to hook.
6573 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
6574 Likewise.
6575 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
6576 Likewise.
6577 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
6578 Likewise.
6579 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
6580 Likewise.
6581 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
6582 Likewise.
6583 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
6584 Likewise.
6585 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
6586 (grub_machine_mmap_iterate): Likewise.
6587 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
6588 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
6589 prototype.
6590 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
6591 Remove NESTED_FUNC_ATTR from here and from all users.
6592 (grub_mmap_iterate): Update prototype.
6593 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6594 pass appropriate hook data.
6595 (grub_machine_mmap_iterate): Likewise.
6596
6597 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6598 static instead of nested.
6599 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6600 Rename to ...
6601 (lsmmap_hook): ... this.
6602 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6603 Likewise.
6604 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6605 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6606 heap_init): Likewise.
6607 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6608 Rename to ...
6609 (mmap_iterate_hook): ... this.
6610 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6611 Likewise.
6612 * grub-core/lib/ieee1275/relocator.c
6613 (grub_relocator_firmware_get_max_events: count): Likewise.
6614 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6615 to ...
6616 (grub_relocator_firmware_fill_events_iter): ... this.
6617 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6618 hook): Likewise. Rename to ...
6619 (grub_relocator_alloc_chunk_align_iter): ... this.
6620 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6621 Rename to ...
6622 (generate_e820_mmap_iter): ... this.
6623 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6624 Rename to ...
6625 (count_hook): ... this.
6626 (grub_linux_boot: hook): Likewise. Rename to ...
6627 (grub_linux_boot_mmap_find): ... this.
6628 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6629 (grub_linux_boot_mmap_fill): ... this.
6630 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6631 hook): Likewise. Rename to ...
6632 (grub_fill_multiboot_mmap_iter): ... this.
6633 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6634 hook): Likewise. Rename to ...
6635 (count_hook): ... this.
6636 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6637 hook): Likewise. Rename to ...
6638 (grub_fill_multiboot_mmap_iter): ... this.
6639 * grub-core/loader/powerpc/ieee1275/linux.c
6640 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6641 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6642 Likewise. Rename to ...
6643 (alloc_phys_choose): ... this.
6644 (determine_phys_base: get_physbase): Likewise.
6645 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6646 find_hook): Likewise.
6647 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6648 (malloc_hook: count_hook): Likewise.
6649 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6650 Likewise. Rename to ...
6651 (lower_hook): ... this.
6652 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6653 (upper_hook): ... this.
6654 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6655 (post64_hook): ... this.
6656 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6657 Likewise. Rename to ...
6658 (lower_hook): ... this.
6659 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6660 (upper_hook): ... this.
6661 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6662 (grub_mmap_iterate: fill_hook): Likewise.
6663 (fill_mask): Pass addr and mask within a single struct.
6664 (grub_cmd_badram: hook): Make static instead of nested. Rename
6665 to ...
6666 (badram_iter): ... this.
6667 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6668 (cutmem_iter): ... this.
6669
22099030
VS
66702013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6673 delimit path in strings using quotes.
6674 * util/getroot.c (grub_guess_root_devices): Likewise.
6675 (grub_make_system_path_relative_to_its_root): Likewise.
6676 * util/grub-probe.c (probe): Likewise.
6677 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6678 (xrealpath): Likewise.
6679
4a9950ec
VS
66802013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 Fix compilation with older compilers.
6683
6684 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6685 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6686 declarations.
6687 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6688 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6689 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6690 identifier with b.
6691 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6692 * include/grub/crypto.h: Add type defines.
6693 * util/import_gcrypth.sed: Remove duplicate type defines.
6694
adcc6020
VS
66952013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 New command list_trusted.
6698
6699 * grub-core/commands/verify.c (grub_cmd_list): New function.
6700
a4528937
CW
67012013-01-13 Colin Watson <cjwatson@ubuntu.com>
6702
6703 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6704 info message.
6705
ca3a7446
CW
67062013-01-13 Colin Watson <cjwatson@ubuntu.com>
6707
6708 Remove nested functions from PCI iterators.
6709
6710 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6711 passed to hook. Update all callers to pass appropriate hook data.
6712 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6713 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6714 Remove NESTED_FUNC_ATTR from here and from all users.
6715 (grub_pci_iterate): Update prototype.
6716 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6717 instead of nested. Rename to ...
6718 (grub_cs5536_find_iter): ... this.
6719 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6720 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6721 Likewise.
6722 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
6723 Likewise.
6724 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
6725 Likewise.
6726 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
6727 Likewise.
6728 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
6729 * grub-core/video/radeon_fuloong2e.c
6730 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
6731 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
6732 find_card): Likewise.
6733 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6734 Likewise.
6735
f8e98fee
VS
67362013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 * grub-core/commands/verify.c: Mark messages for translating.
6739
055b36b6
VS
67402013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6743 fatal.
6744
f7ff879b
VS
67452013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6748 fatal.
6749
67502013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
6751
6752 * autogen.sh: Do not try to delete nonexistant files.
6753 * util/import_gcrypth.sed: Add some missing header removals.
6754
01323d49
CW
67552013-01-12 Colin Watson <cjwatson@ubuntu.com>
6756
6757 Clean up dangling references to grub-setup.
6758 Fixes Ubuntu bug #1082045.
6759
6760 * docs/grub.texi (Images): Refer generally to grub-install rather
6761 than directly to grub-setup.
6762 (Installing GRUB using grub-install): Remove direct reference to
6763 grub-setup.
6764 (Device map) Likewise.
6765 (Invoking grub-install): Likewise.
6766 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6767 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6768 * util/grub-install.in (usage): Likewise.
6769
6770 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6771 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6772 grub-setup.
6773 * configure.ac: Remove grub_setup output variable.
6774
6775 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6776 to grub-bios-setup.
6777 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6778 grub-setup to grub-sparc64-setup.
6779
5e3b8dcb
VS
67802013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 Import gcrypt public-key cryptography and implement signature checking.
6783
535714bd
VS
67842013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/fs/ntfs.c: Ue more appropriate types.
6787 * grub-core/fs/ntfscomp.c: Likewise.
6788 * include/grub/ntfs.h: Likewise.
6789
3e4f3566
VS
67902013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 Support Apple FAT binaries on non-Apple platforms.
6793
6794 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6795 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6796 Likewise.
6797 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6798 Apple FAT binaries.
6799
4dedb13f
VS
68002013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6803 sector devices.
6804
f8861eaf
CW
68052013-01-07 Colin Watson <cjwatson@ubuntu.com>
6806
6807 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6808 explicitly zeroing elements.
6809 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6810 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
6811 of elements in a structure already allocated using grub_zalloc.
6812 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6813
86065b0a
CW
68142013-01-07 Colin Watson <cjwatson@ubuntu.com>
6815
6816 * docs/grub.texi (grub_cpu): New subsection.
6817 (grub_platform): Likewise.
6818
c6f1e92f
VS
68192013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6822
f797ec85
VS
68232013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6826 divisions.
6827
033d0b4b
VS
68282013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6831 * grub-core/fs/ntfscomp.c: Likewise.
6832 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6833 (grub_ntfs_comp): Likewise.
6834
21d1b9a0
VS
68352013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6838 Rename to ...
6839 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6840 of groups_per_block. All users updated.
6841
10ca8645
VS
68422013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6845 grub_error properly.
6846 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6847 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6848
a4c3ed4c
VS
68492013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6852 always in /boot/zfs.
6853 Reported by: Yuta Satoh.
6854
0b716507
YS
68552013-01-03 Yuta Satoh <nigoro>
6856
6857 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6858 ${grub_probe}
6859
00c05e22
VS
68602013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * configure.ac: Extend -Wno-trampolines to host.
6863
dadddb76
VS
68642013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6867 entry->len = 0.
6868
54ce53ca
CW
68692013-01-03 Colin Watson <cjwatson@ubuntu.com>
6870
6871 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6872 (Invoking grub-script-check): Likewise.
6873
8912efca
CW
68742013-01-03 Colin Watson <cjwatson@ubuntu.com>
6875
6876 * docs/grub.texi (Invoking grub-mount): New section.
6877 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6878
c3fc8394
CW
68792013-01-02 Colin Watson <cjwatson@ubuntu.com>
6880
6881 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6882 test failures, so that a failing unit test correctly causes 'make
6883 check' to fail.
6884
45d26abb
CW
68852013-01-02 Colin Watson <cjwatson@ubuntu.com>
6886
6887 Fix failing printf test.
6888
6889 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6890 '$' in the correct order when collecting type information.
6891
971dd2c6
CW
68922013-01-02 Colin Watson <cjwatson@ubuntu.com>
6893
6894 * docs/grub.texi (configfile): Explain environment variable
6895 handling.
6896 (source): New section.
6897 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6898
5c67ea6c
CW
68992012-12-31 Colin Watson <cjwatson@ubuntu.com>
6900
6901 Remove several trivially-unnecessary uses of nested functions.
6902
6903 * grub-core/commands/i386/pc/sendkey.c
6904 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6905 instead of nested.
6906 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6907 Rename to ...
6908 (legacy_file_getline): ... this.
6909 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6910 Likewise.
6911 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6912 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6913 to ...
6914 (probe_dummy_iter): ... this.
6915 * grub-core/kern/i386/coreboot/mmap.c
6916 (grub_linuxbios_table_iterate: check_signature): Likewise.
6917 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6918 check_varstate): Likewise. Mark inline.
6919 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6920 an additional parameter.
6921 (find_long: fnd_long): Likewise. Pass two additional parameters.
6922 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6923 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6924 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6925 Likewise. Rename to ...
6926 (grub_cmos_find_port_iter): ... this.
6927 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6928 Rename to ...
6929 (find_rtc_iter): ... this.
6930
6931 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6932 function directly into the function body, since it is only called
6933 once.
6934
33a68ac6
CW
69352012-12-30 Colin Watson <cjwatson@ubuntu.com>
6936
6937 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6938 __attribute__ ((unused)).
6939 * grub-core/video/bochs.c (find_card): Likewise.
6940 * grub-core/video/cirrus.c (find_card): Likewise.
6941 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6942 * grub-core/video/sis315pro.c (find_card): Likewise.
6943 * grub-core/video/sm712.c (find_card): Likewise.
6944
608b647a
CW
69452012-12-28 Colin Watson <cjwatson@ubuntu.com>
6946
6947 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6948 Fixes Savannah bug #37821.
6949
fd49ceb3
CW
69502012-12-28 Colin Watson <cjwatson@ubuntu.com>
6951
6952 Apply program name transformations at build-time rather than at
6953 run-time. Fixes Debian bug #696465.
6954
6955 * acinclude.m4 (grub_TRANSFORM): New macro.
6956 * configure.ac: Create output variables with transformed names for
6957 most programs.
6958 * util/bash-completion.d/grub-completion.bash.in: Use
6959 pre-transformed variables for program names.
6960 * util/grub-install.in: Likewise.
6961 * util/grub-kbdcomp.in: Likewise.
6962 * util/grub-mkconfig.in: Likewise.
6963 * util/grub-mkconfig_lib.in: Likewise.
6964 * util/grub-mknetdir.in: Likewise.
6965 * util/grub-mkrescue.in: Likewise.
6966 * util/grub-mkstandalone.in: Likewise.
6967 * util/grub-reboot.in: Likewise.
6968 * util/grub-set-default.in: Likewise.
6969 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6970 * tests/util/grub-shell-tester.in: Remove unused assignment.
6971 * tests/util/grub-shell.in: Likewise.
6972 * util/grub.d/00_header.in: Likewise.
6973
7024b3c0
CW
69742012-12-28 Colin Watson <cjwatson@ubuntu.com>
6975
6976 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6977
6978 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6979 HAVE_RAW_DECL_GETS.
6980 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6981
e3501b13
VS
69822012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6985 Reported by: Eriks Latosheks <foresterlv>.
6986
b40c88a9
VS
69872012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 * docs/grub.texi (Network): Update instructions on generating netboot
6990 image.
6991
ce96d01c
VS
69922012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6995 around device name if necessarry.
6996
0f596201
PFS
69972012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6998
6999 * util/grub-install.in: Follow the symbolic link parameter added
7000 to the file command.
7001
600d5bdb
AB
70022012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
7003
7004 * util/grub-install.in: Remove stale TODO.
7005
64ebd2f4
PFS
70062012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7007
7008 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
7009 dynamic allocation for the bootpath buffer.
7010
74b2fe3e
DTB
70112012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
7012
7013 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
7014 window too small.
7015
969b804f
VS
70162012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
7019 argument rather than font name. All users updated.
7020 (grub_gfxterm_set_window): Likewise.
7021
b9f5ebd6
VT
70222012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
7023
7024 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
7025 from working.
7026
258f43b7
VS
70272012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * util/getroot.c (convert_system_partition_to_system_disk): Support
7030 nbd disks.
7031
cc1ce5f9
VS
70322012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
7035 infinite loop on corrupted FS.
7036
e77a16ca
VS
70372012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 Fix big-endian mtime.
7040
7041 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
7042 together sec and usec.
7043 (grub_ufs_dir): Use correct byteswapping for UFS time.
7044
d9c48c7b
VS
70452012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 Support big-endian UFS1.
7048
7049 * Makefile.util.def (libgrubmods): Add ufs_be.c
7050 * grub-core/Makefile.core.def (ufs1_be): New module.
7051 * grub-core/fs/ufs_be.c: New file.
7052 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
7053 the file.
7054
2f9f40ba
LL
70552012-11-28 Leif Lindholm <leif.lindholm@arm.com>
7056
7057 * include/grub/types.h: Fix functionality unaffecting typo in
7058 GRUB_TARGET_WORDSIZE conditional macro.
7059
48ff0889
PFS
70602012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7061
7062 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
7063
03711240
GS
70642012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7065
7066 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
7067 that /netbsd appears first (when it exists).
7068
a31b11bd
CJ
70692012-10-12 Christoph Junghans <ottxor@gentoo.org>
7070
7071 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
7072 Fixes Savannah bug #37558.
7073
e8a5d5d4
CW
70742012-10-12 Colin Watson <cjwatson@ubuntu.com>
7075
7076 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
7077 description of extract_entries_configfile.
7078
70792012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
7080
7081 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
7082 preferred_address.
7083 (grub_cmd_linux): Likewise.
7084 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
7085 preferred_lifetime. Update all users.
7086
288c757d
CW
70872012-09-26 Colin Watson <cjwatson@ubuntu.com>
7088
7089 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
7090 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
7091
0d35da3f
CW
70922012-09-26 Colin Watson <cjwatson@ubuntu.com>
7093
7094 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
7095 errors from grub-probe to /dev/null, not stdout.
7096
b78c3127
VS
70972012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
7100 sector 1.
7101
473959f0
CW
71022012-09-24 Colin Watson <cjwatson@ubuntu.com>
7103
7104 * util/grub-install.in: Make the error message if $source_dir
7105 doesn't exist more useful.
7106
794c8c33
CW
71072012-09-22 Colin Watson <cjwatson@ubuntu.com>
7108
7109 Fix grub-emu build on FreeBSD.
7110
7111 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
7112 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
7113 headers on Linux.
7114 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
7115 implementation is currently Linux-specific.
7116 * util/getroot.c (exec_pipe): Define only on Linux or when either
7117 libzfs or libnvpair is unavailable.
7118 (find_root_devices_from_poolname): Remove unused path variable.
7119
86d08fdb
CW
71202012-09-19 Colin Watson <cjwatson@ubuntu.com>
7121
7122 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
7123 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
7124 should fit before end == 63.
7125
735abf54
CW
71262012-09-19 Colin Watson <cjwatson@ubuntu.com>
7127
7128 * util/grub-setup.c (write_rootdev): Remove unused core_img
7129 parameter. Update all callers.
7130 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
7131 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
7132 GRUB_SETUP_BIOS.
7133
140acd3c
VS
71342012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * util/grub-mkconfig_lib.in (grub_tab): New variable.
7137 (grub_add_tab): New function.
7138 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
7139 * util/grub.d/10_illumos.in: Likewise.
7140 * util/grub.d/10_kfreebsd.in: Likewise.
7141 * util/grub.d/10_linux.in: Likewise.
7142 * util/grub.d/10_netbsd.in: Likewise.
7143 * util/grub.d/10_windows.in: Likewise.
7144 * util/grub.d/10_xnu.in: Likewise.
7145 * util/grub.d/20_linux_xen.in: Likewise.
7146 * util/grub.d/30_os-prober.in: Likewise.
7147
7ddffdad
VS
71482012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7151 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
7152 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
7153 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
7154 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
7155 ieee1275-nocursor.
7156 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7157 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
7158
4e092454
VS
71592012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
7162 le-conversion.
7163 Reported by: BURETTE, Bernard.
7164
735abf54 71652012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
7166
7167 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
7168 from comment.
7169
dfd39dbd
CW
71702012-09-14 Colin Watson <cjwatson@ubuntu.com>
7171
7172 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
7173 IEEE1275 machines. Fixes powerpc-emu compilation.
7174 * include/grub/terminfo.h: Likewise.
7175
3bfa763c
VS
71762012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
7179 a const pointer.
7180 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
7181 const pointer.
7182 (efiemu_set_variable): Make vendor_guid a const pointer.
7183
250e475b
VS
71842012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 Don't require grub-mkconfig_lib to generate manpages for programs.
7187
7188 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
7189 dependencies, don't add grub-mkconfig_lib.
7190 (program): Pass empty adddeps.
7191 (script): Pass grub-mkconfig_lib as adddeps.
7192
592fd0e4
VS
71932012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
7196 * util/getroot.c (grub_find_device): Likewise.
7197 (get_mdadm_uuid): Likewise.
7198 (grub_util_is_imsm): Likewise.
7199 (grub_util_pull_device): Likewise.
7200 * util/grub-probe.c (probe): Likewise.
7201
801a3027
BG
72022012-09-10 Benoit Gschwind <gschwind>
7203
7204 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
7205 (devs): Add devpath_8.
7206
c5052c81
PJ
72072012-09-08 Peter Jones <pjones@redhat.com>
7208
7209 * grub-core/Makefile.core.def (efifwsetup): New module.
7210 * grub-core/commands/efi/efifwsetup.c: New file.
7211 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
7212 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
7213 New define.
7214 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
7215
8e832f71
JS
72162012-09-05 Jiri Slaby <jslaby@suse.cz>
7217
7218 * configure.ac: Add SuSe path.
7219
f0f55752
CW
72202012-09-05 Colin Watson <cjwatson@ubuntu.com>
7221
7222 * NEWS: Fix typo.
7223
ecadc4c2
CW
72242012-09-05 Colin Watson <cjwatson@ubuntu.com>
7225
7226 * util/import_gcry.py: Sort cipher_files, to make build system
7227 generation more deterministic.
7228
64498f25
VS
72292012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
7232 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
7233 (grub_set_datetime): Likewise.
7234
9cc836a2
VS
72352012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
7238 warnings.
7239
bcfcea01
VS
72402012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
7243
a4099485
VS
72442012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
7247
265c162a
CW
72482012-09-04 Colin Watson <cjwatson@ubuntu.com>
7249
7250 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
7251 required for checkouts from bzr, but it may be useful for users or
7252 distributors wishing to update translations against a tarball
7253 distribution, and it can be helpful for the tarball to be a superset
7254 of what's in bzr.
7255
3d171e95
CW
72562012-09-04 Colin Watson <cjwatson@ubuntu.com>
7257
7258 * Makefile.am (EXTRA_DIST): Add
7259 grub-core/tests/boot/linux.init-mips.S,
7260 grub-core/tests/boot/linux.init-ppc.S, and
7261 grub-core/tests/boot/linux-ppc.cfg.
7262
f2c2503e
CW
72632012-09-04 Colin Watson <cjwatson@ubuntu.com>
7264
7265 * grub-core/mmap/mips/loongson: Remove empty directory.
7266
72672012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
7268
7269 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
7270 gone.
7271
ab2163d5
CW
72722012-09-04 Colin Watson <cjwatson@ubuntu.com>
7273
7274 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
7275 grub-sparc64-setup.
7276
ce938140
GS
72772012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7278
7279 * configure.ac: Strengthen the test for working -nostdinc -isystem.
7280
529f58a5
GS
72812012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7282
7283 * po/POTFILES.in: Regenerated.
7284
16cf79e9
GS
72852012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7286
7287 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
7288 (NetBSD): New subsection.
7289
39b27f1e 72902012-07-22 Ales Nesrsta <starous@volny.cz>
7291
7292 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
7293 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
7294
a885261b
VS
72952012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
7298 * util/grub.d/10_hurd.in: Add missing quoting.
7299 * util/grub.d/10_illumos.in: Likewise.
7300 * util/grub.d/10_kfreebsd.in: Likewise.
7301 * util/grub.d/10_linux.in: Likewise.
7302 * util/grub.d/20_linux_xen.in: Likewise.
7303
7bd29c01
VS
73042012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 New command `lsefi'.
7307
7308 * grub-core/Makefile.core.def (lsefi): New module.
7309 * grub-core/commands/efi/lsefi.c: New file.
7310 * include/grub/efi/api.h: Add more GUIDs.
7311
ac625d8f
VS
73122012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
7315 (grub_bsd_elf32_hook): Likewise.
7316 (grub_bsd_elf64_size_hook): Likewise.
7317 (grub_bsd_elf64_hook): Likewise.
7318 (grub_bsd_load_elf): Likewise.
7319
e73bb801
VS
73202012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7321
7322 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
7323 if hash function is unavailable.
7324 (dec_stream_header): Likewise.
7325
e81db8b5
VS
73262012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
7329 filter state.
7330
d187a1c3
VS
73312012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 Fix coreboot compilation.
7334
7335 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
7336 (grub_vga_text_init_real): ... this.
7337 (grub_vga_text_fini): Rename to ...
7338 (grub_vga_text_fini_real): ... this.
7339
91a05f64
VS
73402012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
7343
6af96df7
VS
73442012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * grub-core/lib/legacy_parse.c: Support clear and testload.
7347
4d569e12
VS
73482012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
7351
073b57bb
VS
73522012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 * grub-core/fs/ext2.c: Experimental support for 64-bit.
7355
a706f4cc
VS
73562012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7357
7358 * grub-core/net/tftp.c (ack): Fix endianness problem.
7359 (tftp_receive): Likewise.
7360 Reported by: Michael Davidsaver.
7361
e7850aa9
VS
73622012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 * gentpl.py: Make mans depend on grub-mkconfig_lib.
7365
73662012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
7369 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
7370 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
7371
35692881
VS
73722012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
7375 efi_mmap_size.
7376 Reported by: Stuart Hayes.
7377
c35fc5bd
VS
73782012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
7381
7382 * grub-core/Makefile.core.def (mda_text): New module.
7383 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
7384 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
7385 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
7386 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
7387 here.
7388 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
7389 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
7390 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
7391 here.
7392 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
7393 to ..
7394 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
7395 ... here
7396 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
7397 here.
7398 * grub-core/term/i386/vga_common.c: Removed.
7399 * include/grub/i386/vga_common.h: Likewise.
7400 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
7401 (grub_vga_cr_bw_read): Likewise.
7402 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
7403 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
7404 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
7405 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
7406 grub_vga_cr_read/grub_vga_cr_write.
7407 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
7408
5f91f701
VS
74092012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * configure.ac: Bump version to 2.00.
7412 * grub-core/normal/main.c (features): Add feature_200_final.
7413
0c4f85f6
VS
74142012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
74152012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
7416
7417 * NEWS: Fix unclarity and language mistakes.
7418
f923ad22
VS
74192012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7420
7421 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
7422 additional size to 3 pages.
7423 Reported by: Stuart Hayes.
7424
d22029ba
VS
74252012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * NEWS: Add 2.00 entry.
7428
58eee08f
VS
74292012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
7432 put explicit "/" for empty path.
7433 (wildcard_expand): Improve dprintf.
7434
c59bdff7
VS
74352012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
7438 it's equal to currnode. This can happen with "" symlink.
7439
5e6a440a
YB
74402012-06-27 Yves Blusseau <blusseau@zetam.org>
7441
7442 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
7443 echo shell command by printf command.
7444
73a68bcb
VS
74452012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7446
7447 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
7448 the value returned by firmware is the maximal position, not diumension.
7449 (grub_terminfo_output_state): Use a more sane fallback.
7450
392a603b
VS
74512012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
7454
42d0867f
VS
74552012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
7458 frequency to 150 MHz.
7459
489509f4
VS
74602012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 Apple fixes.
7463
7464 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
7465 __APPLE_
7466 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
7467 definition.
7468 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
7469
9f3fc883
VS
74702012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 Handle slash in HFS label.
7473
7474 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
7475 (grub_hfs_dir): Tanslate slash.
7476 (grub_hfs_label): Don't translate slash.
7477
54853fd7
VS
74782012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
7481 network protocol listing since it introduces problematic dependency on
7482 net module.
7483
4dc02ddf
VS
74842012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
7487
c50c867d
VS
74882012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 Init video early on yeeloong to avoid being rebooted by watchdog.
7491
7492 * grub-core/Makefile.am (gensm712): New target.
7493 (sm712_start.S): Likewise.
7494 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
7495 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
7496 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
7497 description.
7498 * include/grub/vga.h: Move registry definitions to...
7499 * include/grub/vgaregs.h: ... here.
7500
5f92c8a1
VS
75012012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
7504 signedness.
7505
e9e6f111
VS
75062012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
7509 platforms with firmware disk drivers in the core.
7510
754ad9eb
VS
75112012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
7514 informative verbose message.
7515 (read_lv): Handle 64-bit segment size.
7516
315654c2
VS
75172012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
7520
fb022c79
VS
75212012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
7524 character but still remove trainling spaces.
7525 (grub_fat_label): Ignore archive flag.
7526
8645f72c
VS
75272012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
7530 cast between linux_kernel_header and linux_kernel_params.
7531
36498496
VS
75322012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
7535 type for size.
7536 (grub_raid6_recover_func_t): Likewise.
7537 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
7538 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7539
0b5ea6b8
VS
75402012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
7543
650cfcfe
GS
75442012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
7545
7546 Fix overflow.
7547
7548 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
7549 [__NetBSD__]: Add explicit cast before bitshift.
7550
8a4d6a44
VS
75512012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * configure.ac: Bump to 2.00~rc1.
7554
2fb97ed3
VS
75552012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
7558 half of $a0.
7559
1fa097dc
VS
75602012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
75612012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
7562
7563 * docs/grub.texi: Fix search syntax.
7564 (Multi-boot manual config): Put msdos rather than GPT example.
7565 Grammar corrections.
7566
c890ba78
VS
75672012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
7570
0f92dca7
VS
75712012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7572
7573 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
7574
3988c4a0
VS
75752012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
7578 message on double free. Put the value of magic in case of mismatch.
7579
9e86d4c5
VS
75802012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 Speed-up video on yeeloong.
7583
7584 * grub-core/video/sm712.c (framebuffer): Remove render_target and
7585 add cached_ptr.
7586 (grub_video_sm712_video_fini): Unmap cached_ptr.
7587 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
7588 (grub_video_sm712_set_active_render_target): Removed.
7589 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7590 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
7591 sync caches.
7592
ed24c312
VS
75932012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 Avoid flushing the same line multiple times on loongson.
7596
7597 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7598 Step in 32 bytes and not 1 byte.
7599 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7600 Likewise.
7601
d1718e7d
VS
76022012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7605 subvolumes.
7606
982f1909
VS
76072012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 Implement flow control for http.
7610
7611 * grub-core/net/http.c (parse_line): Handle response 206.
7612 (http_receive): Stall if too many packets are in the queue.
7613 (http_establish): Fix range header.
7614 (http_seek): Fix double free.
7615 (http_close): Likewise.
7616 (http_packets_pulled): New function.
7617 (grub_http_protocol): Set http_seek
7618 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7619 (ack_real): Set window depending on i_stall.
7620 (grub_net_send_tcp_packet): Likewise.
7621 (grub_net_tcp_stall): New function.
7622 (grub_net_tcp_unstall): Likewise.
7623 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7624 (grub_net_tcp_unstall): Likewise.
7625
bd407d6e
VS
76262012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7627
7628 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7629
c7564b8e
VS
76302012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7633
a3706162
VS
76342012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * tests/util/grub-shell.in: Fix a typo.
7637
b27069e0
VS
76382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7639
7640 Implement flow control for tftp.
7641
7642 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7643 packets but stop only if stop condition is satisfied.
7644 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7645 `stall' instead of `eof' as stop condition.
7646 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7647 (http_err): Likewise.
7648 * grub-core/net/tftp.c (ack): Replace the first argument with data
7649 instead of socket.
7650 (tftp_receive): Stall if too many packets are in wait queue.
7651 (tftp_packets_pulled): New function.
7652 (grub_tftp_protocol): Set packets_pulled.
7653 * include/grub/net.h (grub_net_packets): New field count.
7654 (grub_net_put_packet): Increment count.
7655 (grub_net_remove_packet): Likewise.
7656 (grub_net_app_protocol): New field `packets_pulled'.
7657 (grub_net): New field `stall'.
7658
6b9cfac6
VS
76592012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7662 sync part to handle them.
7663
f35abd81
VS
76642012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7667 * grub-core/net/drivers/ieee1275/ofnet.c
7668 (grub_ieee1275_net_config_real): Likewise.
7669
0e7ec820
VS
76702012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7673 the direct route for server/gateway.
7674
9d611a31
VS
76752012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7678 IP address to server name since we may not hame the DNS.
7679
418f45ab
VS
76802012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7681
7682 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7683 freeing random buffer on failure.
7684 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7685
44a0efc1
VS
76862012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7689
531e2241
VS
76902012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7693 reserved bytes.
7694 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7695 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7696 Handle malloc error correctly.
7697
cde393c9
VS
76982012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7701 blocks.
7702
538478d0
VS
77032012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7706 increment.
7707
9b55efe0
VS
77082012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7711 none is explicitly specified.
7712
9eb832c3
VS
77132012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7716 while reallocating.
7717
d6b7c7c9
VS
77182012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 Respect netmask from bootp/dhcp.
7721
7722 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
7723 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
7724 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
7725 into ...
7726 (grub_net_add_ipv4_local): ... this.
7727 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
7728 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
7729 (grub_net_add_ipv4_local): New proto.
7730
67caf9eb
VS
77312012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7734 determining EFI memory map size.
7735
43657558
VS
77362012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7739
eb6d0dd3
VS
77402012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7743 when looking for partition separator.
7744
31230544
VS
77452012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7748 Escape commas.
7749
918a2517
VS
77502012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 Restructure FAT driver to avoid hook in label reading as it hits a
7753 GCC bug.
7754
7755 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7756 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
7757 (grub_fat_iterate_dir): Split into ...
7758 (grub_fat_iterate_init): ... this, ...
7759 (grub_fat_iterate_fini): ... this, ...
7760 (grub_fat_iterate_dir_next): ... and this. All users updated.
7761
9f1d654e
VS
77622012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7765 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7766 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7767 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7768 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7769 New fields last_key and last_key_time.
7770 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7771 extended key-esc into extended key-extended key.
7772
52f0f643
VS
77732012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 Avoid unnecessary memcpy of whole video buffer.
7776
7777 * grub-core/video/fb/video_fb.c (dirty): New struct.
7778 (framebuffer): Add members current_dirty and previous_dirty.
7779 (dirty): New function.
7780 (grub_video_fb_fill_rect): Update dirty.
7781 (common_blitter): Likewise.
7782 (grub_video_fb_scroll): Likewise.
7783 (doublebuf_blit_update_screen): Copy only dirty part.
7784 (doublebuf_pageflipping_update_screen): Likewise.
7785 (grub_video_fb_doublebuf_blit_init): Init dirty.
7786 (doublebuf_pageflipping_init): Likewise.
7787 (grub_video_fb_setup): Likewise.
7788
e169a180
VS
77892012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7792 poll rate.
7793
48556879
VS
77942012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 Fix wildcard regexp dot and other special characters handling.
7797 Reported by: Robert Mabee.
7798
7799 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7800 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7801 (split_path): Trigger expansion on '?'.
7802 (unescape): New function.
7803 (wildcard_expand): Unescape parts copied without globbing.
7804 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7805 (grub_script_arglist_to_argv): Don't unescape expansions.
7806
0494408e
VS
78072012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 * include/grub/net.h (grub_net_card): New member txbufsize.
7810 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
7811 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7812 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7813 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7814 txbufsize.
7815 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7816 compatible property to check for macs. Set
7817 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7818 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7819 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7820 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7821 (send_card_buffer): Use txbuf.
7822 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7823 nested function out of the parent while on it.
7824
cc35fe8f
VS
78252012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7828 presence check.
7829 (grub_ieee1275_net_config_real): Fix config pointer.
7830
970a0a09
VS
78312012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7834 filename parsing to non-block devices.
7835
3e19bf87
VS
78362012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7839
c62d1a0c
VS
78402012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7843 All users updated.
7844
ef76bec3
VS
78452012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7848 UUID search command even if hints probing failed.
7849
78502012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
7851
7852 * po/POTFILES.in: Regenerated.
7853
70aaf305
VS
78542012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 Speed-up video on fuloong.
7857
7858 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7859 New function.
7860 (grub_pci_device_unmap_range): Handle non-cached address.
7861 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7862 add direct_ptr.
7863 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7864 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7865 (grub_video_sis315pro_set_active_render_target): Removed.
7866 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7867 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7868 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7869 sync caches.
7870 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7871 New proto.
7872
10400f0b
VS
78732012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * docs/grub.texi (Multi-boot manual config): New section.
7876
ba67e2c6
VS
78772012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 Avoid slow read-back from VRAM.
7880
7881 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7882 Move from here ...
7883 * grub-core/video/fb/video_fb.c
7884 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7885 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7886 (front_target): Remove front_target. Add pages.
7887 (grub_video_fb_init): Skip setting front_pages.
7888 (grub_video_fb_fini): Likewise.
7889 (doublebuf_blit_update_screen): Use pages.
7890 (grub_video_fb_doublebuf_blit_init): Likewise.
7891 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7892 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7893 (grub_video_fb_setup): Prefer doublebuffing.
7894
377c98cb
VS
78952012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7898 gzio.
7899
eac49cff
VS
79002012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 Add loongson tests.
7903
7904 * tests/util/grub-shell.in: Handle loongson.
7905 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7906 drivers.
7907 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7908 Reboot instead of shutdown if REBOOT is defined.
7909
0321415e
VS
79102012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7913 sized ports since unlike on real hardware qemu supports only 32-bit
7914 regs.
7915
3f2bdd8f
VS
79162012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7919 * util/grub-mkrescue.in: Handle loongson.
7920
29a049c9
VS
79212012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7924 Set is_part appropriately.
7925 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7926 names. Canonicalize partition without full disk.
7927
4abde346
VS
79282012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 Revert usb-quiesce since it's wrong.
7931
7932 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7933 (grub_ofdisk_init): Don't do quiesce.
7934
61f1d93b
VS
79352012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7938 PowerMac workaround to Xserves as well.
7939 Information supplied by: Benjamin Herrenschmidt.
7940
a09eb541
VS
79412012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 Don't assume that beginning address is also the entry point on ppc.
7944
7945 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7946 (grub_linux_boot): Use linux_entry.
7947 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7948 (grub_linux_load64): Likewise.
7949
505b3c9b
VS
79502012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7953
cbe0b4ef
VS
79542012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7957 needlessly lose the console.
7958
3006e981
VS
79592012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7962 space.
7963
4e5a96b0
VS
79642012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7965
7da036bb
VS
7966 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7967 than current grub_get_rtc() not implemented when booted with
7968 coreboot without TSC.
7969
7970 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7971 Add machine/time.h to kernel headers on loongson.
7972 * grub-core/Makefile.core.def (kernel): Remove
7973 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7974 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7975 (grub_get_rtc): Likewise.
7976 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7977 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7978 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7979 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7980 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7981 rather than installing known non-working time source.
7982 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7983 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7984 * include/grub/time.h: Don't include machine/time.h.
7985 * include/grub/efi/time.h: Removed.
7986 * include/grub/i386/efi/time.h: Likewise.
7987 * include/grub/i386/ieee1275/time.h: Likewise.
7988 * include/grub/powerpc/ieee1275/time.h: Likewise.
7989 * include/grub/sparc64/ieee1275/time.h: Likewise.
7990 * include/grub/x86_64/efi/time.h: Likewise.
7991
79922012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7995
7996 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7997 value.
7998 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7999 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
8000 with dotless variants when any combining above is present.
8001
5561c22d
VS
80022012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
8005 text and not binary.
8006
96f7e60e
VS
80072012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 Stop polling as soon as we have the packet we were waiting for.
8010
8011 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
8012 All users updated.
8013 * grub-core/net/arp.c (have_pending): New var.
8014 (pending_req): Likewise.
8015 (grub_net_arp_send_request): Fill pending_req and use have_pending as
8016 stop indicator.
8017 (grub_net_arp_receive): Set have_pending.
8018 * grub-core/net/dns.c (recv_data): New field stop.
8019 (recv_hook): Set stop.
8020 (grub_net_dns_lookup): Init stop and use as stop condition.
8021 * grub-core/net/http.c (http_establish): Use headers_recv as stop
8022 condition.
8023 * grub-core/net/net.c (grub_net_poll_cards): New argument
8024 stop_condition. Stop when it goes true.
8025 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
8026 indicator.
8027 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
8028
3e747239
VS
80292012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 Keep TX and RX buffers on EFI rather than always allocate new ones.
8032
8033 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
8034 card. All users updated.
8035 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
8036 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
8037 (get_card_packet): Likewise.
8038 (grub_efinet_findcards): Init new fields.
8039
f695e99a
VS
80402012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
8043 compilation error on sparc64.
8044
9e5e66d1
VS
80452012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 Use ITC on IA64 rather than broken routine based on daytime.
8048
8049 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
8050 ia64.
8051 (grub_get_rtc) [__ia64__]: Likewise.
8052 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
8053 (get_itc): New function.
8054 (grub_rtc_get_time_ms): Likewise.
8055 (grub_machine_init): Calibrate ITC.
8056 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
8057 Keep only on non-ia64. Don't export since it's broken and used only
8058 if TSC is unavailable.
8059
a1767404
VS
80602012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
8063 even if it's used.
8064 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
8065 Skip if parent is unused.
8066
34b2bced
VS
80672012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
8070
5e619f40
VS
80712012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 Fix wildcard escaping.
8074
8075 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
8076 * grub-core/script/execute.c (wildcard_escape): .. to here.
8077 Don't escape dot.
8078 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
8079 * grub-core/script/execute.c (wildcard_unescape): .. to here.
8080 Don't escape dot.
8081 * grub-core/script/execute.c (gettext_append): Always escape.
8082 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
8083 * grub-core/script/yylex.l: Don't cut away the escaping.
8084 * tests/grub_script_echo1.in: Add tests with wildcard.
8085
c8ca5855
VS
80862012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
8089 (ftdi_hw_configure): Likewise.
8090 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
8091 define.
8092 (real_config): Handle 1.5 stop bits.
8093 (pl2303_hw_configure): Likewise.
8094
7183452c
VS
80952012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 * Makefile.am: Add ppc linux bootcheck.
8098 * grub-core/tests/boot/linux-ppc.cfg: New file.
8099 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
8100
f57c84cd
VS
81012012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 * tests/grub_script_expansion.in: Skip network protocols.
8104
ecfc6207
VS
81052012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
8108
8d03d284
VS
81092012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
8112 --rom-directory.
8113 Add -graft-points.
8114
61c42af0
VS
81152012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 ESCC serial driver for conducting sautomated tests in qemu.
8118 Not tested on real hardware.
8119
8120 * include/grub/serial.h (grub_serial_port): New field escc_desc.
8121 * grub-core/term/ieee1275/escc.c: New file.
8122 * grub-core/Makefile.core.def (escc): New module.
8123
08fd1291
VS
81242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
8127 invalid on error.
8128 (serial_hw_fetch): Don't read invalid handle.
8129 (serial_hw_put): Don't write into invalid handle.
8130
08dafeea
VS
81312012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 Add a 1.5 stop bits value.
8134
8135 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
8136 * include/grub/serial.h (grub_serial_stop_bits_t): Add
8137 GRUB_SERIAL_STOP_BITS_1_5.
8138
9068fdcf
VS
81392012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
8142 value rather than let it uninited.
8143
f4d5820f
VS
81442012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 * grub-core/commands/wildcard.c (+check_file): New function.
8147 (wildcard_expand): Don't expand to non-existing files, expand with
8148 suffix and not attempt to expand if not needed.
8149
3d2de9a7
VS
81502012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
8153 out of partitions containing other partitions.
8154
c5c81ff9
VS
81552012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
8158 on some qemu versions with GRUB.
8159
8160 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
8161 define.
8162 (grub_openbsd_bootarg_pcibios): New struct.
8163 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
8164 Add PCIINFO.
8165
08a14e0b
VS
81662012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 * tests/util/grub-shell.in: Trim firmware output on EFI.
8169
cede3ca3
VS
81702012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
8173 and coreboot since it's already in kernel.
8174
558d3a60
VS
81752012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
8178 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8179 to here. New return value start. All users updated.
8180 Recursively scan linear mappings.
8181 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
8182 proto.
8183 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8184 Use grub_util_get_dm_node_linear_info.
8185 * util/getroot.c (convert_system_partition_to_system_disk): Use
8186 grub_util_info rather than grub_dprintf.
8187 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
8188
60fde14d
VS
81892012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
8192
8193 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
8194 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
8195
24bd8838
VS
81962012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 * include/grub/types.h (grub_set_unaligned64): New function.
8199 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
8200 (setup): Likewise.
8201
7bc06a49
VS
82022012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8203
8204 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
8205 (grub_ofdisk_fini): Quiesce USB devices.
8206
49cea015
VS
82072012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
8210 caches.
8211
8dcbe03b
VS
82122012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
8215
5b258735
VS
82162012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * grub-core/disk/pata.c (grub_pata_pio_read)
8219 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
8220 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8221
37ba07eb
VS
82222012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 Extend automated tests to qemu-mips.
8225
8226 * Makefile.am: reorganise tests and enable qemu-mips.
8227 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
8228 * grub-core/tests/boot/linux.init-mips.S: New file.
8229 * tests/partmap_test.in: Handle ata0 disks.
8230 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
8231 non-pc i386.
8232
070038f8
VS
82332012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
8236 ia64.
8237 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
8238 quotes while on it.
8239
004be2cd
VS
82402012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
8243 (grub_halt): Likewise.
8244 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
8245
b1622487
VS
82462012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 * grub-core/term/serial.c (grub_serial_register)
8249 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
8250 the behaviour in line with x86 platforms.
8251
b7b4ab33
VS
82522012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
8255 (grub_ata_strncpy): Likewise.
8256 (grub_ata_identify): Add missing byteswaps.
8257
5e3535ae
VS
82582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8259
8260 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
8261 byte-swap.
8262 (screen_read_char): Likewise.
8263 (grub_vga_text_cls): Likewise.
8264
c21b17e6
VS
82652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
8268 filenames.
8269 (make_file_path): Likewise.
8270
bf293dec
VS
82712012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
8274 machines.
8275 Tested by: Paulo Flabiano Smorigo.
8276 Crucial information about API supplied by: Coleen <Last name unknown>.
8277 Reviewed by: Coleen <Last name unknown>.
8278
81f6ef0e
VS
82792012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * util/grub-mkimage.c: Disable -Wcast-align.
8282
7284143a
VS
82832012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
8286 as they are fatal.
8287
b99f3e00
VS
82882012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8289
8290 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
8291
944f752d
VS
82922012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 * util/grub-probe.c (escape_of_path): Fix double free.
8295
6cce6f38
VS
82962012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 * grub-core/commands/videoinfo.c (hook): Show pitch.
8299
1e1eb50e
VS
83002012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * util/grub.d/20_linux_xen.in: Skip xen-syms.
8303
1c715b5a
VS
83042012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
8307 (probe): Add ieee1275 to OFW devices.
8308
007ae52d
VS
83092012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
8312
4557a36d
VS
83132012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 Handle IBM OFW path.
8316
8317 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
8318 available.
8319 (of_path_of_scsi): Handle vdevice.
8320
efbeefe9
VS
83212012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
8324 Allocate in multiples of 16 to avoid adding a few bytes free region the
8325 windows bugs upon.
8326
15a940bb
VS
83272012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
8330 Allocate in multiples of 16 to avoid adding a few bytes free region the
8331 windows bugs upon.
8332 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
8333
6e5efd60
VS
83342012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
8337 resolutions.
8338 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
8339 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
8340
0d3d137e
IS
83412012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
8342
8343 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
8344
45dbe300
VS
83452012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8346
8347 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
8348 resulted in \\ at the end of the line.
8349
6d8db947
VS
83502012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
8353 (grub_parser_cmdline_state): Likewise.
8354 (grub_parser_split_cmdline): Likewise.
8355
de89d338
VS
83562012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8357
8358 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
8359 /dev/root and /dev/dm-*.
8360
00d41dee
VS
83612012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
8364 fix partially stale display.
8365
f95d1f11
VS
83662012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 * grub-core/normal/menu_entry.c (backward_char): Use right line for
8369 substraction.
8370
6297e197
VS
83712012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
8374 Fix MBR remapping workaround.
8375 (grub_util_biosdisk_read) [__linux__]: Likewise.
8376
8a7ecad3
VS
83772012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 * util/grub-install.in: Check for ieee1275 and not ieee1276.
8380
2b34f944
VS
83812012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * configure.ac: Bump to beta6.
8384
684aef11
CW
83852012-05-31 Christer Weinigel <christer@weinigel.se>
8386
8387 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
8388
05b0bb91
VS
83892012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
8392 (grub_cmd_linux): Likewise.
8393
bda36bfa
CW
83942012-05-31 Christer Weinigel <christer@weinigel.se>
8395
8396 Fix EHCI low-speed.
8397
8398 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
8399 (GRUB_EHCI_MULT_TWO): Likewise.
8400 (GRUB_EHCI_MULT_THREE): Likewise.
8401 (GRUB_EHCI_CMASK_MASK): New enum value.
8402 (GRUB_EHCI_SMASK_MASK): Likewise.
8403 (GRUB_EHCI_CMASK_OFF): Likewise.
8404 (GRUB_EHCI_SMASK_OFF): Likewise.
8405 (grub_ehci_pci_iter): Enable periodic schedule.
8406 (grub_ehci_parse_notrun): Likewise.
8407 (grub_ehci_restore_hw): Likewise.
8408 (grub_ehci_setup_qh): Set flags for low speed transfers.
8409 (grub_ehci_find_qh): Use periodic list for low speed.
8410 (grub_ehci_setup_transfer): Check periodic queue as well.
8411 (grub_ehci_check_transfer): Likewise.
8412 (grub_ehci_cancel_transfer): Cancel periodic transfer.
8413
e12bcb1c
PFS
84142012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8415
8416 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
8417 parameter is used.
8418
bcc75fb3
PJ
84192012-05-31 Peter Jones <pjones@redhat.com>
8420
8421 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
8422 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
8423 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
8424
f19cb95e
VS
84252012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
8428 uninited variable. Allocate at least setup_sects.
8429
a4e5ca80
VS
84302012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 Fix handling of EFI with big memory maps.
8433
8434 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
8435 (real_mode_mem): Likewise.
8436 (real_mode_target): Likewise.
8437 (real_mode_pages): Likewise.
8438 (prot_mode_pages): Likewise.
8439 (linux_params): New var.
8440 (linux_cmdline): Likewise.
8441 (free_pages): Don't set real mode variables.
8442 (allocate_pages): Don't allocate real mode memory.
8443 (grub_e820_add_region): Remove the limit.
8444 (grub_linux_boot): Allocate and copy real mode memory.
8445 (grub_linux_unload): Free linux_cmdline.
8446 (grub_cmd_linux): Use temporary storage for parameters.
8447 (grub_cmd_initrd): Likewise.
8448 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
8449 (linux_kernel_params): Make it 1K big.
8450
ddb73558
VS
84512012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * Makefile.util.def: Remove -Wno-format.
8454 * grub-core/Makefile.core.def: Likewise.
8455
1c4afb60
VS
84562012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * tests/cmp_unit_test.c: Add missing failure message.
8459 * tests/example_unit_test.c: Likewise.
8460 * tests/printf_unit_test.c: Likewise.
8461
941e3a6d
VS
84622012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
8465 relaxation of protective MBR requirements.
8466
b105df76
VS
84672012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * configure.ac: Add condition for COND_HOST_XNU.
8470 * Makefile.util.def (10_xnu): New script.
8471 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
8472
84e1569e
VS
84732012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
8476 objconv bug.
8477
130c0f77
VS
84782012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
8481 Binary on other platforms stays identical.
8482
6fd0b143
VS
84832012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
8486 Apple.
8487
0af1751d
VS
84882012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8489
8490 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
8491
176d5f7d
VS
84922012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
8495 rather than defining size_t ourselves to avoid conflict.
8496
7de5e20a
VS
84972012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
8500 initialisation to avoid __bzero reference.
8501
f7143efe
VS
85022012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
8505 version.
8506 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
8507 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
8508 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
8509 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
8510 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
8511
e6ad0555
VS
85122012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
8515 * grub-core/kern/misc.c: Likewise.
8516 * grub-core/loader/i386/xnu.c: Likewise.
8517 * include/grub/i386/tsc.h: Likewise.
8518 * include/grub/symbol.h: Likewise.
8519
4a5a3c4a
VS
85202012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
8523 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
8524 on older compiler.
8525
037f6d90
VS
85262012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
8529 Implement Apple flavour.
8530 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
8531
f7194551
VS
85322012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
8535 (memmove) [__APPLE__]: Likewise.
8536 (memcpy) [__APPLE__]: Likewise.
8537 (memset) [__APPLE__]: Likewise.
8538 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
8539 (memmove) [__APPLE__]: Likewise.
8540 (memcpy) [__APPLE__]: Likewise.
8541 (memset) [__APPLE__]: Likewise.
8542
85a730ca
VS
85432012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
8546 dependency discard.
8547
40e80b94
VS
85482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * grub-core/normal/main.c (read_config_file): Provide config_file and
8551 config_directory.
8552 * util/grub.d/41_custom.in: Use config_directoy when available.
8553
9da59c32
VS
85542012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
8557 (grub_bfs_dir): Likewise.
8558
2787ae53
PJ
85592012-05-27 Peter Jones <pjones@redhat.com>
8560
8561 The old code gives arguments to a printf function which can't work
8562 correctly, and the compiler complains.
8563
8564 * grub-core/tests/example_functional_test.c (example_test): Add
8565 missing text.
8566 * grub-core/tests/lib/test.c (add_failure): Rewrite.
8567 * include/grub/test.h (grub_test_assert_helper): New declaration.
8568 (grub_test_assert): Use grub_test_assert_helper.
8569
526ef13d
VS
85702012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
8573 (exfctest): ... this to avoid overlong filenames.
8574 All users updated.
8575
20dd511c
VS
85762012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 Handle "." and ".." on squashfs.
8579
8580 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
8581 Make inode numbers into stack.
8582 (grub_squash_read_symlink): Use stack.
8583 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
8584 (make_root_node): Fill stack.
8585 (grub_squash_open): Use stack.
8586
1d80c62a
VS
85872012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
8590 freeing.
8591
d336f652
VS
85922012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8595 stderr on test calls.
8596
8b43f587
VS
85972012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8598
8599 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8600
80a3dc3f
VS
86012012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8604
47e297d4
VS
86052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8608 "..".
8609
df042ccb
VS
86102012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8611
8612 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8613 (grub_hfsplus_iterate_dir): Add "." and "..".
8614
fc977f48
VS
86152012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8618 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8619
f3250e5f
VS
86202012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8623 (find_path): Handle "." and "..".
8624
fd8ed4c5
VS
86252012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8628 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8629 (grub_affs_iterate_dir): Handle hardlinks.
8630
4ce776d2
MG
86312012-05-26 Matthew Garrett <mjg@redhat.com>
8632
8633 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8634 (grub_efi_console_fini): Likewise.
8635 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8636 (grub_video_gop_fill_mode_info): Rename to ...
8637 (grub_video_gop_fill_real_mode_info): ... this.
8638 (grub_video_gop_fill_mode_info): New function.
8639 (grub_video_gop_setup): Setup double framebuffer.
8640 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8641 Free offscreen.
8642 (grub_video_gop_swap_buffers): Copy framebuffer.
8643 (grub_video_gop_fini): Free offscreen buffer.
8644 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8645 New enum.
8646 (grub_efi_gop_blt_pixel): New struct.
8647
683031ba
VS
86482012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * gentpl.py: Remove error disabling for objconv.
8651
c2deb798
VS
86522012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 * configure.ac: Remove -Wunitialized as it's not available on older
8655 compilers.
8656
86572012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
8658
8659 Fix extent overflow comparator.
8660
8661 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8662 (grub_hfsplus_read_block): Set type.
8663 (grub_hfsplus_cmp_extkey): Compare type.
8664
d6b1fd36
VS
86652012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8668
0a9aa0f6
VS
86692012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8670
8671 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8672 than 0.
8673
8360e159
VS
86742012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8675
8676 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8677 (dejavu_bold_14.pf2): New target.
8678
501b9e4b
VS
86792012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8680
8681 * configure.ac: Fix djvu font detection.
8682
7026b0e2
VS
86832012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8684
8685 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8686 ext* instead of ext2.
8687
c2a51ade
VS
86882012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8691 name with \0.
8692
8f803a5d
JU
86932012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8694
8695 * docs/grub-dev.texi: Remove dot from .png.
8696
13c6353f
VS
86972012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8700 protective entry in any slot.
8701 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8702 if protective entry is found in any slot.
8703
8704 Protective entry in non-first slot make no sense but is a widespread
8705 brain damage.
8706
4cf6be1b
VS
87072012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8710
937d1c44
VS
87112012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8714 with old reiserfs.
8715 (grub_reiserfs_open): Don't free root.
8716
021d90ec
VS
87172012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8720 after freeing for safety.
8721
967b2b64
VS
87222012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
8725 Reported by: Jordan Uggla.
8726
34274d02
JU
87272012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
8728
967b2b64
VS
8729 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
8730 actual implementation. Specifically, clarify that the grub menu will
8731 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
8732 passed.
34274d02 8733
dcaaae9d
BH
87342012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8735
8736 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8737 of r0.
8738
7086ad52
VS
87392012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 Remove unjustified hard dependency of normal.mod on gfxterm.
8742
8743 * include/grub/term.h (grub_term_output): New member fullscreen.
8744 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8745 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8746 (grub_gfxterm): Set .fullscreen.
8747 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8748 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8749
37ed2c9b
VS
87502012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
8753 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 8754 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 8755
a4469c88
VS
87562012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
8759
4e461486
VS
87602012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8761
8762 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8763 a bad FS.
8764
aa78f5c4
VS
87652012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8768 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8769
197626b5
VS
87702012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8773 (grub_jfs_mount): Fill caseins.
8774 (grub_jfs_find_file): Respect caseins.
8775
8ad3f28c
VS
87762012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8779 through UTF-16.
8780
0c6c324e
VS
87812012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8784 New argument origpath. All users updated.
8785
c6666ba6
VS
87862012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8789 (read_attr): Ensure that we read start of possibly compressed block.
8790
e28e5fe5
VS
87912012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8794 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8795 All users updated.
8796
5fc23ab2
VS
87972012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8800 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8801 (dejavu.pf2): Replace with ...
8802 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8803 this.
8804
79dbc21c
VS
88052012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * util/grub.d/20_linux_xen.in: Add missing line.
8808
d2fcfb0c
VS
88092012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
8812 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8813 (grub_utf16_to_utf8): Likewise.
8814
5560e9d6
VS
88152012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8818 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8819 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8820 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8821 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8822 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8823
88242012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
8825
8826 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8827 a bad FS.
8828
5560e9d6 88292012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
8830
8831 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8832 (grub_udf_read_symlink): Handle read_string failure.
8833
5eae3175
VS
88342012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8837 comment.
8838
c1ad82db
VS
88392012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 Fix handling of UDF symlinks.
8842
8843 * grub-core/fs/udf.c (read_string): New argument outbuf.
8844 All users updated.
8845 (grub_ufs_read_symlink): Rename to ...
8846 (grub_udf_read_symlink): ... this. All users updated.
8847 Handle symlinks with more than one component.
8848
33eca6e0
VS
88492012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8852 symlinks. Replace leading colon with a slash.
8853
57f4a70b
VS
88542012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8855
8856 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8857 filename.
8858
38c8ee20
VS
88592012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8862 match in inner node.
8863
2e57f28f
VS
88642012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8867 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8868 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8869 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8870 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8871 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8872 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8873 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8874 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8875
fe8c2f11
VS
88762012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 Use grub-probe and not cmp to check that disk is empty.
8879
8880 * util/grub-install.in: Use grub-probe for zero-check.
8881 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8882 (probe): Handle PRINT_ZERO_CHECK.
8883 (argp_parser): Handle -t zero_check.
8884
88852012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
8886
8887 Flush block cache on adding disk to device map.
8888
8889 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8890 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8891 adding.
8892 (read_device_map): Likewise.
8893 (open_device): Flush on opening.
8894
690434e8
VS
88952012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8898 (handle_symlink): Fix off-by-one error.
8899 Canonicalize the target.
8900 (grub_cpio_dir): Canonicalize the name.
8901 Fix memory leak.
8902 Set directory.
8903 (grub_cpio_open): Canonicalize the name.
8904
742d2be6
VS
89052012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8908 handling.
8909
3244fe96
VS
89102012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8913 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8914
8aeb1837
VS
89152012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8918 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8919 All users updated.
8aeb1837 8920
9133fd05
VS
89212012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8924 counterpart.
8925
6d521c5b
VS
89262012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 Fix UFS1 big file support.
8929
8930 * grub-core/fs/ufs.c (INODE): Removed.
8931 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8932 64-bit.
8933 (INODE_MODE): Simplify.
8934 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8935 (grub_ufs_lookup_symlink): Don't use INODE.
8936
21b82e17
VS
89372012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8940
8941 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8942 (grub_minix_data): Replace log_block_size with block_size.
8943 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8944 (grub_minix_mount): Fill block_size.
8945
89462012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
8947
8948 * configure.ac: Bump to beta5.
8949
f417ed04
VS
89502012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 Fix wrapped HFS+ handling.
8953
8954 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8955 blocks_start. All users updated.
8956 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8957 wrapping offset.
8958 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8959
607d282b
VS
89602012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 Fix long symlinks on reiserfs.
8963
8964 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8965 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8966 (grub_reiserfs_iterate_dir): Save size for non-directories.
8967 (grub_reiserfs_open): Don't reread stat block as we already know the
8968 size.
8969 (grub_reiserfs_read): Split into...
8970 (grub_reiserfs_read_real): ... and ...
8971 (grub_reiserfs_read): ...this.
8972
ae16024d
VS
89732012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 Fix non-indexed JFS.
8976
8977 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8978 (grub_jfs_data): New field namecomponentlen.
8979 (grub_jfs_mount): Fill namecomponentlen.
8980 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8981
eea1e26e
VS
89822012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8985 * tests/grub_script_echo1.in: Add tests.
8986
df760f77
VS
89872012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * util/grub-install.in: Ignore empty devicetree directory.
8990
5efb817d
B
89912012-05-08 Bean <bean123ch@gmail.com>
8992
8993 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8994 All users updated.
8995 (free_rsm): Free header as well.
8996 (free_old_fragments): Fix memory leak.
8997 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8998 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8999 (destroy_pq): Likewise.
9000 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
9001
668ea6d2
VS
90022012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
9005 resulting hash as a precaution.
9006
1739b1fe
VS
90072012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
9010 '_' in variable names.
9011 * grub-core/net/net.c (grub_net_network_level_interface_register):
9012 Likewise.
9013
6ae485aa
VS
90142012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9015
9016 Fix AFFS with non-512B blocks.
9017
9018 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
9019 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
9020 (grub_affs_data): Replace blocksize with log_blocksize.
9021 (grub_affs_read_block): Fix non-512B blocks.
9022 (grub_affs_read_symlink): Likewise.
9023 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
9024 (grub_affs_read): Fix non-512B blocks.
9025 (grub_affs_label): Likewise.
9026 (grub_affs_mtime): Likewise.
9027 (grub_affs_mount): Fix block detection routine.
9028
d20fab84
VS
90292012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 Add filesystem mtime to AFFS.
9032
9033 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
9034 (aftime2ctime): New function.
9035 (grub_affs_dir): Use aftime2ctime.
9036 (grub_affs_label): Fix return value.
9037 (grub_affs_mtime): New function.
9038 (grub_affs_fs): Add mtime.
9039
e87b10f5
VS
90402012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
9043 UTF-8.
9044
7dceec9b
VS
90452012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
9048 UTF-8.
9049
2f48221f
VS
90502012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9051
9052 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
9053
dacd85cf
VS
90542012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
9057 flags.
9058 (FLAGS_CASE_SENSITIVE): New enum value.
9059 (cache_entry): New struct.
9060 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
9061 cache_size and cache.
9062 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
9063 Add log_blocksize and fshelp_flags.
9064 (grub_sfs_read_extent): Handle non-512 blocks.
9065 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
9066 (grub_sfs_read_file): Handle non-512 blocks.
9067 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
9068 fshelp_flags.
9069 (grub_sfs_read_symlink): Handle non-512 blocks.
9070 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
9071 (grub_sfs_dir): Free cache.
9072 (grub_sfs_close): Likewise.
9073
24e9a854
VS
90742012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
9077 filesystems.
9078
62ace64d
VS
90792012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
9082
83b2e89c
VS
90832012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
9086
75ccaea3
VS
90872012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
9090 (grub_sfs_read_extent): Likewise.
9091 (grub_sfs_read_block): Likewise.
9092 (grub_sfs_mount): Likewise.
9093 (grub_sfs_iterate_dir): Likewise.
9094 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
9095 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
9096
1b8463f2
VS
90972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 Fix errors on compressed NTFS with 512B clusters.
9100
9101 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
9102 types.
9103 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
9104 not 0.
9105 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
9106 Relax check for inline extents.
9107 (ntfscomp): Return correct -1 on error and not 0.
9108
4f8e368f
VS
91092012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 * util/grub-install.in: Fix handling of prefix containing spaces.
9112
6f5d5ee8
VS
91132012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
9116 (grub_squash_read_data): Fix offset byte-swapping.
9117
ce41ab7a
VS
91182012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
9121 per common usage and preffered in several parts of code.
9122 (grub_memcmp): Likewise.
9123 (grub_strncmp): Likewise.
9124 * include/grub/misc.h (grub_strcasecmp): Likewise.
9125 (grub_strncasecmp): Likewise.
9126 * Makefile.util.def (cmp_test): New test.
9127 (grub_script_strcmp): Likewise.
9128 * tests/cmp_unit_test.c: New file.
9129 * tests/grub_script_strcmp.in: Likewise.
9130 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
9131
49717bf4
VS
91322012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * include/grub/pci.h: Move enums into no-asm part.
9135
0a308f64
VS
91362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
9139
1796965f
ST
91402012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
9141
9142 * util/getroot.c (find_hurd_root_device): Try to make error message
9143 and comments to translators clearer.
9144
4e9b2819
VS
91452012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
9148
076aeb50
VS
91492012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9150
9151 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
9152 btrfs.
9153
19424d94
VS
91542012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * docs/grub.cfg: Update.
9157
ebb73076
VS
91582012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9159
9160 * docs/grub.texi (PXE): Remove not present variables.
9161
9a1b669c
VS
91622012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * grub-core/net/net.c (defserver_set_env): New function.
9165 (defserver_get_env): Likewise.
9166 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
9167
d38bf7d3
VS
91682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
9171 entries.
9172
91732012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
9174
9175 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
9176 * grub-core/kern/emu/hostdisk.c: Likewise.
9177
e5e4ca48
ST
91782012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9179
9180 Handle hurd userspace partitions.
9181
9182 * util/getroot.c (find_hurd_root_device): New function.
9183 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
9184
56bb5dd5
VS
91852012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
9188 names.
9189 Reported by: Bastian Blank.
9190
9e8bc27a
VS
91912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
9194 crossing page boundary.
9195
aa01499d
VS
91962012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 Fix B-tree search in BFS, especially in presence of non-ASCII
9199 characters.
9200
9201 * grub-core/fs/bfs.c (bfs_strcmp): New function.
9202 (find_in_b_tree): Use standard bsearch + btree algorithm.
9203
57006035
VS
92042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
9207 and so on.
9208
9d34bb85
MG
92092012-05-03 Matthew Garrett <mjg@redhat.com>
92102012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 Suspend broadcom cards in order to stop their DMA.
9213
9214 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
9215 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
9216 (pci): Don't build on x86 EFI.
9217 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
9218 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
9219 New function.
9220 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
9221 stop_broadcom if running on EFI.
9222 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
9223 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
9224 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
9225 (grub_pci_find_capability): New proto.
9226
01aab997
VS
92272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 * docs/grub.texi: Remove dot from the extension as it apparently
9230 doesn't work with some makeinfo versions.
9231
fbd8dca6
VS
92322012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
9235 with GRUB expectance.
9236
dab797f4
VS
92372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
9240
1516bfb4
VS
92412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
9244 zero after directory block since last entry may be not 0-terminated if
9245 it ends on block boundary. Use continue instead of if spanning whole
9246 loop.
9247
a3a0eace
VS
92482012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 Support 4K sectors UDF inline files.
9251
9252 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
9253 (grub_udf_extended_file_entry): Likewise.
9254 (grub_fshelp_node): Name the anonymous union. Put block at the end.
9255 All users updated.
9256 (get_fshelp_size): New function.
9257 (grub_udf_read_icb): Read whole block.
9258 (grub_udf_iterate_dir): Likewise.
9259 (grub_udf_dir): Likewise.
9260 (grub_udf_open): Likewise.
9261
c82f16c1
VS
92622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
9265
59fd2aac
VS
92662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9267
9268 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
9269 inline symlinks in addition to workaround.
9270
3b4afb4d
VS
92712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
9274
f45c794a
VS
92752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
9278
f25cecbd
VS
92792012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
9282
bb9a34e8
VS
92832012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 Fix reiserfs big seek times.
9286
9287 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
9288 exact. All users updated.
9289 (grub_reiserfs_read): Use nearest btree search for seeking.
9290 Fix return value on error.
9291
dc478aea
VS
92922012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
9295 entries.
9296 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
9297 * docs/grub.texi: Update menuentry description.
9298
8db10f47
VS
92992012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
9302 crash when embedding onto filesystem.
9303
bcb288ed
VS
93042012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
9307 name.
9308
a626fdd7
VS
93092012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
9312
b2f68477
VS
93132012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9314
9315 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
9316 commit.
9317
ba15b2af
B
93182012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
93192012-05-01 Bean <bean123ch@gmail.com>
9320
9321 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
9322
a188012e
VS
93232012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
9326 Special behaviour for len = 0 to read whole file isn't used anywhere and
9327 can cause buffer ovewrflows in several places.
9328
f0a53ed2
VS
93292012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9330
9331 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
9332
5ed554f0
VS
93332012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9334
9335 Handle RAIDZ on non-512B sectors.
9336
9337 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
9338 max_children_ashift.
9339 (fill_vdev_info_real): Fill max_children_ashift.
9340 (read_device): Use max_children_ashift.
9341
ddc58357
VS
93422012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
9345
e3282399
VS
93462012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9347
9348 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
9349 disk names.
9350 * docs/grub.texi: Update device.map parts.
9351
ee618bd4
VS
93522012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 Don't scan into non-diskfilter devices having diskfilter names.
9355
9356 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
9357 (scan_disk): New argument accept_diskfilter. Fix recursion depth
9358 handling.
9359 (scan_disk_hook): New function.
9360
bdf88864
B
93612012-04-29 Bean <bean123ch@gmail.com>
9362
9363 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
9364 allocation.
9365
32745f51
MK
93662012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
9367
9368 * configure.ac: Detect starfield theme font path
9369 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
9370
bc95c8c0
VS
93712012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9372
9373 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
9374 geometry on serial consoles.
9375
147fbcab
VS
93762012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9377
9378 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
9379 because of network consoles.
9380
0f42c889
VS
93812012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
9384 handling.
9385
4a3594c9
VS
93862012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
9389 falls on Q syndrom.
9390
5cb53879
VS
93912012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
9394 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
9395
b282dfe5
VS
93962012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9397
9398 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
9399 Allocate at lest 8192 for temporary buffer as required for lzo.
9400
daa59f47
VS
94012012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
9404 to cluster_bits, since it's already added in.
9405 (grub_fat_read_data): Likewise.
9406
986748ce
VS
94072012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
9410 as long as cluster size is multiple of 512 bytes.
9411
a20f6ad0
VS
94122012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 * util/grub-mkrescue.in: Fix locale directory.
9415
385f9abb
VS
94162012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * grub-core/kern/emu/hostdisk.c (map): Make static.
9419
1c557d30
B
94202012-04-23 Bean <bean123ch@gmail.com>
9421
9422 * util/grub-fstest.c (fstest): Add missing break.
9423
524b5d3a
ST
94242012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
9425
9426 Fix hurd build.
9427
9428 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
9429 not define nr variable.
fe4824e9 9430 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
9431 find_root_devices_from_poolname, find_root_devices_from_libzfs,
9432 grub_find_device): Do not define.
524b5d3a 9433
9a06490c
VS
94342012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9435
9436 Fix kfreebsd compile and behaviour.
9437
9438 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
9439 format-security.
9440 * util/getroot.c: Fix wait.h include.
9441 (grub_guess_root_devices): Error if grub_find_device fails.
9442 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
9443 (grub_util_get_dev_abstraction): Likewise.
9444 (grub_util_pull_device): Likewise.
9445 (grub_util_get_grub_dev): Likewise.
9446 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
9447
48143d96
VS
94482012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 Fix and unify wholedisk detection.
9451
9452 * util/getroot.c (convert_system_partition_to_system_disk): New argument
9453 is_part. All users updated.
9454 (device_is_wholedisk): Removed.
9455 (grub_util_biosdisk_get_grub_dev): Use is_part.
9456
ebbd24f3
VS
94572012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
9460 mode.
9461
56f7aa1e
VS
94622012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * configure.ac: Bump to beta4.
9465
9c815e01
VS
94662012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
9469 --fs-uuid --set UUID syntax.
9470
59e2651a
VS
94712012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
9474 disunification.
9475
54e03cfc
VS
94762012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
9479
81092a75
MK
94802012-04-18 Mads Kiilerich <mads@kiilerich.com>
9481
9482 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
9483
f8315e14
MG
94842012-04-18 Mike Gilbert <floppym@gentoo.org>
9485
9486 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
9487
1501ac21
B
94882012-04-18 Bean <bean123ch@gmail.com>
9489
9490 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
9491 place.
9492
cb7f944e
VS
94932012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
9496 users updated.
9497 (grub_util_biosdisk_read): Handle Linux partitions not exactly
9498 corresponding to GRUB partitions.
9499 (grub_util_biosdisk_write): Likewise.
9500
b72d44a1
VS
95012012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 Scan mdraid before LVM.
9504
9505 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
9506 (grub_diskfilter_register_front): ... this.
9507 (grub_diskfilter_register_back): New function.
9508 All users of grub_diskfilter_register updated.
9509
33d918b8
VS
95102012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9511
9512 * util/grub-install.in: Fix an automatic target detection bug.
9513
c6ca973d
VS
95142012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 * util/grub-install.in: New option --efi-directory.
9517
b41be562
VS
95182012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
9521 boot services if we have no other choice.
9522
95232012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 * util/grub-mknetdir.in: Rename --override-directory to --directory and
9526 document it.
9527 * tests/util/grub-shell.in: Update to --directory.
9528
e0595a73
VS
95292012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
9532
4ed80652
VS
95332012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
9536 (grub_minix_read_file): Likewise.
9537 (grub_minix_read_inode): Likewise.
9538 (grub_minix_find_file): Likewise.
9539 (grub_minix_dir): Likewise.
9540
56008077
VS
95412012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 * util/grub-setup.c (setup): Fix partition handling and blocklist
9544 check.
9545
ee520775
VS
95462012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
9549 redundant buggy overlap check.
9550
16fc9293
VS
95512012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
9554 and grub-mknetdir.
9555
9bab65c4
VS
95562012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
9559 kh.loadflags on pre-2.00 kernels.
9560
3c491b47
VS
95612012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 Terminate UNDI and PXE before launching the payload to avoid problems
9564 with DMA.
9565
9566 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
9567 (grub_loader_flags): ... this. All users updated.
9568 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
9569 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
9570 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
9571 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
9572 function.
9573 (grub_pxe_restore): Likewise.
9574 (fini_hnd): New var.
9575 (GRUB_MOD_INIT): Register shutdown hook.
9576 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
9577 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
9578 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
9579 (grub_loader_set): Rename second argument to flags.
9580
851ffada
VS
95812012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
9584 written bytes.
9585 (grub_get_num_of_utf8_bytes): New function.
9586 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
9587 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
9588 executing it.
9589 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
9590 (grub_ucs4_to_utf8): Change return type.
9591
491c57a8
VS
95922012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9595 warning.
851ffada
VS
9596 * grub-core/fs/bfs.c (hop_level): Likewise.
9597 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 9598
756773df
VS
95992012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9600
9601 * grub-core/lib/adler32.c: Recode due to license unclearness.
9602
fd556a96
VS
96032012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9606 (test_header): Likewise.
9607
9f9d3f69
VS
96082012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 Fix --help formatting.
9611
9612 * util/grub-mkconfig_lib.in (print_option_help): New function.
9613 (grub_fmt): Likewise.
9614 * util/grub-install.in: Use print_option_help and grub_fmt.
9615 * util/grub-kbdcomp.in: Likewise.
9616 * util/grub-mkconfig.in: Likewise.
9617 * util/grub-mknetdir.in: Likewise.
9618 * util/grub-mkrescue.in: Likewise.
9619 * util/grub-mkstandalone.in: Likewise.
9620 * util/grub-reboot.in: Likewise.
9621 * util/grub-set-default.in: Likewise.
9622 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9623
561ec77e
VS
96242012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * linguas.sh: Remove autogenerated *.po.
9627
7ec2b021
VS
96282012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * po/README: Move language fetcing to ...
9631 * linguas.sh: ... here.
9632 * po/README: Point to linguas.sh.
9633
a88f3270
VS
96342012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * po/README: Exclude ko.po due to disclaimer problems.
9637
d61357ce
VS
96382012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9641 len = 0.
9642 (grub_gettext_translate_real): Handle 0th string.
9643 (grub_gettext_translate): Ensure that "" isn't translated.
9644
505e41dc
VS
96452012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9648 TRANSLATORS comment.
9649 (grub_diskfilter_print_partmap): Propagate changing of error into
9650 warning.
9651
e44092db
VS
96522012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9655 to uint64_t to prevent overflow.
9656 (grub_diskfilter_lv): Increase start_extent and extent_count
9657 to uint64_t to prevent overflow.
9658
9b83956a
VS
96592012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * configure.ac: Increase version.
9662
da0d5b3f
VS
96632012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9666
9667 * po/Rules-translit: New file.
9668 * po/arabic.sed: Likewise.
9669 * po/cyrillic.sed: Likewise.
9670 * po/greek.sed: Likewise.
9671 * po/hebrew.sed: Likewise.
9672 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9673 * po/Makefile.in.in: Add extra_dist4.
9674
ac66b453
VS
96752012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9678
9679 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9680 modify names. Introduce MODE_BIGENDIAN.
9681 * grub-core/fs/minix_be.c: New file.
9682 * grub-core/fs/minix2_be.c: Likewise
9683 * grub-core/fs/minix3_be.c: Likewise.
9684 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9685 minix3_be.
9686 * grub-core/Makefile.core.def (minix_be): New module.
9687 (minix2_be): Likewise.
9688 (minix3_be): Likewise.
9689
96902012-04-01 Felix <email@hamburg.de>
9691
9692 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9693 (devs): Add MBP 2011.
9694
0a2d5a82
VS
96952012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9698
d1625889
VS
96992012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * grub-core/normal/cmdline.c (print_completion): New field
9702 prompt_len.
9703 (grub_cmdline_get): Handle width properly.
9704
6d36a236
VS
97052012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9706
9707 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9708
9576977e
VS
97092012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 9712 after 29th of February.
9576977e 9713
d73ff15d
VS
97142012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9715
9716 Fix exfat endianness handling.
9717
9718 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9719 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9720 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9721 Byte-swap utf16 when necessary.
9722 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
9723
bbb39a45
AB
97242012-03-31 Anton Blanchard <anton@samba.org>
97252012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 Fix btrfs endianness handling.
9728
9729 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
9730 (lower_bound): Make root uint64_t. Use root in le.
9731 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
9732 (find_path): Fix template key init.
9733 (grub_btrfs_dir): Fix mtime byteswap.
9734 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9735
354e0af7
VS
97362012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9739 recursion_depth. Break infinite resursions. All users updated.
9740
4e75f21c
VS
97412012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9744 after free.
9745 Reported by: Peter Jones.
9746
25581802
AB
97472012-03-31 Anton Blanchard <anton@samba.org>
9748
9749 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9750 8 bit values.
9751
08fbf92e
VS
97522012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9753
9754 * util/grub-install.in: Fix nvram call for PreP.
9755
5d1182a6
VS
97562012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
9759 the error when some elements are missing into a warning.
9760
3f8cdd90
VS
97612012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
9764
51006716
CW
97652012-03-28 Colin Watson <cjwatson@ubuntu.com>
9766
9767 * docs/grub.texi (Invoking grub-probe): New section.
9768 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9769
e1bd676b
VS
97702012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 Fix tab and wide character handling in editor and menu.
9773
9774 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9775 agglomerate control characters with combining marks.
9776 (bidi_line_wrap): Allow break on tab.
9777 (grub_unicode_get_comb_start): New function.
9778 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9779 and tab correctly.
9780 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9781 with a space.
9782 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9783 fixed_tab_size. All users updated.
9784 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9785 (grub_term_getcharwidth): Handle \t.
9786 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9787 and copy.
9788
22e6a774
VS
97892012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 Handle big-endian mdraid.
9792
9793 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9794 * grub-core/Makefile.core.def (mdraid09_be): New module.
9795 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9796 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9797 * grub-core/disk/mdraid_linux_be.c: New file.
9798
3c0eae66
VS
97992012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9800
9801 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9802
b6cf74c9
VS
98032012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9806 missing quotes which caused confusion among translators.
9807
83c93b9c
VS
98082012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * util/grub-mkconfig_lib.in: Fix typo.
9811
ac6fd218
VS
98122012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9815 spaces.
9816 * tests/grub_script_leading_whitespace.in: New file.
9817 * Makefile.util.def (grub_script_leading_whitespace): New test.
9818
ba287dd8
VS
98192012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9820
9821 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9822 to work.
9823
d2d58d0a
VS
98242012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9827 starts with control character.
9828
0382d9bb
VS
98292012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9832 overflow.
9833 (grub_gdb_outbuf): Likewise.
9834
d83ff9f9
VS
98352012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9838 zero terminator. Fixes a crash.
9839
2282da4a
VS
98402012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9843 beyond 4 GiB.
9844 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9845 images independently of preffered adderss field.
9846
0ae4f0bd
VS
98472012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9850 * grub-core/commands/regexp.c: Likewise.
9851 * grub-core/loader/i386/linux.c: Likewise.
9852 * grub-core/partmap/msdos.c: Likewise.
9853 * grub-core/script/execute.c: Likewise.
9854 * grub-core/term/gfxterm.c: Likewise.
9855
546fbe9b
VS
98562012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9857
9858 Add variable parsing in $"..." and fix several mismatches with bash.
9859
9860 * Makefile.util.def (grub_script_gettext): New test.
9861 * grub-core/script/execute.c (parse_string): New function.
9862 (gettext_append): Likewise.
9863 (grub_script_arglist_to_argv): Use gettext_append.
9864 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9865 * tests/grub_script_gettext.in: New file.
9866
9fdb2d7b
VS
98672012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 Fix handling of leading spaces in scripts.
9870
9871 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9872 spaces.
9873 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9874 other than skipping \r. All users updated.
9875 * tests/grub_script_echo1.in: Add space-related tests.
9876 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9877
1a1ac4f6
VS
98782012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9881
b63d89b6
VS
98822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 * configure.ac: Bump up the version to beta2.
9885
17f38c0f
VS
98862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 Fix gettext reload bugs (e.g. inability to disable gettext
9889 once enabled).
9890
9891 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9892 main_context and secondary_context. All functions updated.
9893 (grub_gettext_translate): Rename to ...
9894 (grub_gettext_translate_real): ... this. Return NULL on failed
9895 translate.
9896 (grub_gettext_translate): Handle secondary context.
9897 (grub_gettext_delete_list): Close file and zero-out the context.
9898 (grub_mofile_open): Don't call grub_gettext_delete_list.
9899 Don't close file.
9900 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9901 if locale="" to avoid pointless error message.
9902 (grub_gettext_env_write_lang): Update lang even if load fails.
9903 Handle secondary context.
9904 (grub_gettext_reread_prefix): New function.
9905 (read_main): Likewise.
9906 (read_secondary): Likewise.
9907 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9908 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9909 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9910 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9911
8e56f870
VS
99122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * configure.ac: Decrease warning level to avoid spurious warnings and
9915 to be able to compile with GCC 4.2.
9916 * Makefile.util.def: Remove -Wno-error=logical-op.
9917
82f6d455
WB
99182012-03-10 William Bittner <william.bittner@gmail.com>
9919
9920 * util/import_unicode.py: Add missing brackets around string for
9921 python 3 support.
9922
1ecd61a4
VS
99232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 Fix efi chainloader on network root.
9926
9927 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9928 network devices.
9929 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9930 New function.
9931
14361ee8
VS
99322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9935 unused show_text member.
9936 * docs/grub.texi: Document "text" property.
9937
922aabf3
VS
99382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9939
9940 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9941 in dprintf.
9942
ec316771
VS
99432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9944
9945 Fix IMSM handling on Fedora.
9946
9947 * util/getroot.c (grub_util_is_imsm): New function.
9948 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9949
0f021838
VS
99502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 * Makefile.am: Strip gold section.
9953 * conf/Makefile.common: Likewise.
9954 * gentpl.py: Likewise.
9955 * grub-core/Makefile.core.def: Likewise.
9956 * grub-core/genmod.sh.in: Likewise.
9957
1039c8eb
VS
99582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9961 * util/grub.d/20_linux_xen.in: Likewise.
9962 Based on Debian patch.
9963
6dd412cd
VS
99642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9965
9966 * util/grub.d/10_linux.in: Fix syntax error resulting in
9967 Richard Laager's patch.
9968 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9969
3fd8bae5
VS
99702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9973 dependencies.
9974
7eea1671
RL
99752012-03-10 Richard Laager <rlaager@wiktel.com>
9976
9977 * util/grub.d/10_linux.in: Fix ZFS root passing.
9978
e8e0566b
VS
99792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9982 * grub-core/commands/xnu_uuid.c: Likewise.
9983 * grub-core/loader/efi/appleloader.c: Likewise.
9984 * grub-core/script/execute.c: Likewise.
9985 * grub-core/script/main.c: Likewise.
9986 * util/grub-mkfont.c: Likewise.
9987
1acc5b1f
VS
99882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * util/grub-mkfont.c (options): Use more appropriate "select" that
9991 "set" for face index.
9992
35d70620
VS
99932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * util/grub-editenv.c (options): Gettextize command summaries.
9996
c9eb96b5
VS
99972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
10000 "out of memory" error messagge.
10001
1f493136
VS
100022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
10005 of diskfilter for diskfilter on diskfilter support.
10006
6d790129
VS
100072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10008
10009 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
10010
005f46c9
VS
100112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 * util/grub-install.in: Check for themes/starfield/theme.txt and not
10014 themes/starfield.
10015
c8f778a0
VS
100162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
10019
de1e64eb
VS
100202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
10023
c6d54211
VS
100242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
10027 of error message.
10028
dd390777
VS
100292012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
10032
5fd1c522
VS
100332012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
10036 message.
c6d54211 10037 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 10038
fae01f6c
VS
100392012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
10042 Gettextize.
10043 * util/grub-mount.c (options): Likewise.
10044
292fdaff
VS
100452012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
10048 gettextize.
10049 * grub-core/commands/search_wrap.c (options): Likewise.
10050
ecdbae77
VS
100512012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
10054
52bfedfa
VS
100552012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
10058 size calculation.
10059 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
10060 none is known.
10061
55b20e58
VS
100622012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
10065 "temporary" since it's used in identifier and is limited in space.
10066
fda9d101
VS
100672012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * po/POTFILES.in: Regenerate. Include *.h since they contain
10070 translatable strings as well.
10071
6a0295e2
VS
100722012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10075 byte-swap on big-endian.
10076 Reported by: Lennart Sorensen
10077
807fb77c
VS
100782012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
10081 (allocate_pages): Improve dprintf.
10082 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
10083 code32_start. Fill code32_start and kernel_alignment in params.
10084 (grub_cmd_initrd): Use prot_init_space.
10085
61ac50ba
VS
100862012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
10089
abdd26dd
VS
100902012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 * util/grub-install.in: Add missing dot at the end of sentence.
10093
6e69da9c
VS
100942012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10097 * grub-core/commands/videotest.c: Likewise.
10098 * grub-core/loader/i386/linux.c: Likewise.
10099
4a929343
VS
101002012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
10103 sentence.
10104 Reported by: Milo Casagrande.
10105
bb51c6c6
VS
101062012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
10109 * grub-core/commands/gptsync.c: Likewise.
10110 * grub-core/commands/hashsum.c: Likewise.
10111 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10112 * grub-core/commands/legacycfg.c: Likewise.
10113 * grub-core/io/gzio.c: Likewise.
10114 * grub-core/net/net.c: Likewise.
10115 * grub-core/term/gfxterm.c: Likewise.
10116 * grub-core/term/terminfo.c: Likewise.
10117 * grub-core/tests/test_blockarg.c: Likewise.
10118 * grub-core/video/video.c: Likewise.
10119 * util/grub-install.in: Likewise.
10120 * util/grub-mkfont.c: Likewise.
10121
b2b149cb
VS
101222012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
10125
c7c080ad
VS
101262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 10129 Reported by: David Prévot.
c7c080ad 10130
f2e243c0
VS
101312012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
10134 description.
10135
09963c76
VS
101362012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 * util/grub-script-check.c (main): Fix a syntax error message which was
10139 unclear.
10140
a50514a8
VS
101412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10142
10143 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
10144
4650daec
VS
101452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
10148 messages.
10149
101502012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
10151
10152 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
10153 without argument.
10154 * util/grub-mount.c (options): Likewise.
10155
bbc5a342
VS
101562012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
10159
ef292a87
VS
101602012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * grub-core/net/http.c: Add TRANSLATORS comments.
10163 * grub-core/normal/cmdline.c: Likewise.
10164 * grub-core/normal/misc.c: Likewise.
10165 * grub-core/partmap/msdos.c: Likewise.
10166 * grub-core/parttool/msdospart.c: Likewise.
10167 * grub-core/script/execute.c: Likewise.
10168 * grub-core/script/main.c: Likewise.
10169 * grub-core/term/terminfo.c: Likewise.
10170 * grub-core/video/bitmap.c: Likewise.
10171 * util/grub-install.in: Likewise.
10172 * util/grub-mkimage.c: Likewise.
10173 * util/grub-mklayout.c: Likewise.
10174 * util/grub-setup.c: Likewise.
10175
0fc19bd0
VS
101762012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
10179 with similar messages in grub-fstest.
10180
d95862ef
VS
101812012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * util/grub-install.in: Unify "option requires an argument" message
10184 with similar messages in other files.
10185 * util/grub-mkconfig.in: Likewise.
10186
b7308f90
VS
101872012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * util/grub-set-default.in: Replace printf with gettext_printf (the
10190 string in in question is already translated from grub-reboot)
10191
559dc587
VS
101922012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * configure.ac: Bump up the version to beta1.
10195
1a11761f
VS
101962012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
10199 case when min_align = 0.
10200
24539abd
VS
102012012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
10204 and fix a case when line_start overflows.
10205
32bd735b
VS
102062012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * util/grub-reboot.in (usage): Mention id posibility.
10209 * util/grub-set-default.in (usage): Likewise.
10210
1a2fd1e6
VS
102112012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
10214 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
10215 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10216 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10217 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10218 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10219 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10220
90eeab76
VS
102212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 * grub-core/commands/menuentry.c (options): Remove
10224 GRUB_ARG_OPTION_REPEATABLE.
10225 Reported by: Andreas Vogel
10226
5ad1be82
AV
102272012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
10228
10229 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
10230
cb055286
HE
102312012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
10232
10233 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
10234 error.
10235
93b1cd79
VS
102362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 Use sort -V by the idea of Georgi Georgiev.
10239
10240 * util/grub-mkconfig_lib.in (version_sort): New function.
10241 (version_test_numeric): Use version_sort.
10242
0cdc126c
VS
102432012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10244
10245 Use submenus in grub-mkconfig.
10246
10247 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
10248 * util/grub-mkconfig_lib.in (grub_quote): New function.
10249 (gettext_printf): Use gettext and not gettext_quoted to fix several
10250 messages.
10251 * util/grub.d/10_hurd.in: Use submenus.
10252 * util/grub.d/10_kfreebsd.in: Likewise.
10253 * util/grub.d/10_linux.in: Likewise.
10254 * util/grub.d/10_netbsd.in: Likewise.
10255 * util/grub.d/20_linux_xen.in: Likewise.
10256 * util/grub.d/30_os-prober.in: Likewise.
10257 * util/grub.d/10_illumos.in: Add missing quoting.
10258 * util/grub.d/10_windows.in: Likewise.
10259
d9bef9bc
VS
102602012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 Fix menu title instability bug.
10263
10264 * grub-core/commands/menuentry.c (options): New option --id.
10265 (grub_normal_add_menu_entry): New argument id. All users updated.
10266 (grub_cmd_menuentry): Handle --id.
10267 (grub_menu_init): Accept unknown arguments.
10268 * grub-core/normal/main.c (features): Add feature_menuentry_id and
10269 feature_menuentry_options.
10270 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
10271 saved_entry.
10272 (get_entry_number): Match with id as well.
10273 * include/grub/menu.h (grub_menu_entry): New member id.
10274 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
10275 * util/grub.d/00_header.in: Define menuentry_id_option.
10276 * util/grub.d/10_hurd.in: Define id.
10277 * util/grub.d/10_illumos.in: Likewise.
10278 * util/grub.d/10_kfreebsd.in: Likewise.
10279 * util/grub.d/10_linux.in: Likewise.
10280 * util/grub.d/10_netbsd.in: Likewise.
10281 * util/grub.d/10_windows.in: Likewise.
10282 * util/grub.d/20_linux_xen.in: Likewise.
10283 * util/grub.d/30_os-prober.in: Likewise.
10284
102852012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
10286
10287 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
10288 "scope" with "body".
10289
7c8d0ce7
VS
102902012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
10293 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
10294 prot_size and prot_file_size.
10295
49de079b
VS
102962012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
10299 All users updated. If easily=1 require raid-5/-6 to be full.
10300 (is_node_readable): Likewise.
10301 (scan_devices): Scan incomplete but readable LVs at the end.
10302 (grub_diskfilter_memberlist): Pull missing devices.
10303 (insert_array): Skip scanning until device is complete or scan is
10304 done otherwise.
10305 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
10306 check.
10307 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
10308 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
10309
aff05d45
MG
103102012-03-03 Matthew Garrett <mjg@redhat.com>
103112012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 Avoid EFI boot services when loading Linux.
10314
10315 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
10316 avoid_efi_bootservices. All users updated.
10317 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
10318 argument avoid_efi_bootservices. All users updated.
10319 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
10320 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
10321 align, min_align, relocatable, prefered_address. All users updated.
10322 Allocate avoiding boot services if kernel is relocatable.
10323 (grub_cmd_linux): Check if kernel is relocatable.
10324 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
10325 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
10326 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
10327 avoid_efi_boot_services.
10328 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
10329 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
10330 (linux_kernel_params): Likewise.
10331
3935dde2
MG
103322012-03-03 Matthew Garrett <mjg@redhat.com>
103332012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 Use EDID on EFI.
10336
10337 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
10338 datasize_out.
10339 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
10340 modes. Set gop_handle.
10341 (grub_video_gop_get_edid): New function.
10342 (grub_gop_get_preferred_mode): Likewise.
10343 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
10344 (grub_video_efi_gop_adapter): Set .get_edid.
10345 * include/grub/efi/edid.h: New file.
10346 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
10347
32107ec0
VS
103482012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10349
10350 * util/grub-install.in: Load efivars unconditionally.
10351
e70a2c50
VS
103522012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * po/Rules-piglatin: Change suffix from .po-update-en to
10355 .po-update-en-piglatin.
10356
8f9cace1
VS
103572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 Add a pig farm.
10360
10361 * po/piglatin.sed: New file.
10362 * po/en@piglatin.header: Likewise.
10363 * po/Rules-piglatin: Likewise.
10364 * po/README: Add en@piglatin to autogenerated languages.
10365
8f95d002
VS
103662012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
10369 "Command for ...".
10370 * grub-core/commands/hdparm.c (options): Use "Display" rather than
10371 "Check" since we don't check anything.
10372 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
10373 is 64-bit one.
10374 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
10375 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
10376 (grub_md_sha512_real): Likewise.
10377
805a8dcc
VS
103782012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 * grub-core/commands/gptsync.c: Fix typographic quoting.
10381 * grub-core/commands/ieee1275/suspend.c: Likewise.
10382 * grub-core/commands/parttool.c: Likewise.
10383 * grub-core/commands/search_wrap.c: Likewise.
10384 * grub-core/commands/videoinfo.c: Likewise.
10385 * grub-core/gfxmenu/gui_label.c: Likewise.
10386 * grub-core/hello/hello.c: Likewise.
10387 * grub-core/kern/emu/main.c: Likewise.
10388 * grub-core/net/net.c: Likewise.
10389 * grub-core/normal/menu.c: Likewise.
10390 * grub-core/normal/menu_text.c: Likewise.
10391 * grub-core/normal/misc.c: Likewise.
10392 * util/grub-editenv.c: Likewise.
10393 * util/grub-install.in: Likewise.
10394 * util/grub-kbdcomp.in: Likewise.
10395 * util/grub-mkconfig.in: Likewise.
10396 * util/grub-mknetdir.in: Likewise.
10397 * util/grub-mkrescue.in: Likewise.
10398 * util/grub-mkstandalone.in: Likewise.
10399 * util/grub-reboot.in: Likewise.
10400 * util/grub-set-default.in: Likewise.
10401 * util/grub-setup.c: Likewise.
10402 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10403
40211ab8
VS
104042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
10407 * grub-core/commands/keystatus.c: Likewise.
10408 * grub-core/commands/loadenv.c: Likewise.
10409 * grub-core/commands/probe.c: Likewise.
10410 * grub-core/commands/regexp.c: Likewise.
10411 * grub-core/commands/true.c: Likewise.
10412 * grub-core/commands/videoinfo.c: Likewise.
10413 * grub-core/disk/cryptodisk.c: Likewise.
10414 * grub-core/disk/ldm.c: Likewise.
10415 * grub-core/disk/loopback.c: Likewise.
10416 * grub-core/disk/luks.c: Likewise.
10417 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10418 * grub-core/kern/disk.c: Likewise.
10419 * grub-core/kern/emu/hostdisk.c: Likewise.
10420
0c7d99c7
VS
104212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
10424 * util/grub-install.in: Add missing quote in the comment.
10425
e7d2559b
VS
104262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
10429 * grub-core/commands/lsmmap.c: Likewise.
10430 * grub-core/commands/minicmd.c: Likewise.
10431 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10432 * grub-core/commands/regexp.c: Likewise.
10433 * grub-core/gdb/gdb.c: Likewise.
10434 * grub-core/term/gfxterm.c: Likewise.
10435 * util/grub-mkconfig.in: Likewise.
10436 * util/grub-mkfont.c: Likewise.
10437 * util/grub-mklayout.c: Likewise.
10438 * util/grub-mknetdir.in: Likewise.
10439 * util/grub-mkrescue.in: Likewise.
10440 * util/grub.d/30_os-prober.in: Likewise.
10441
49ce9e50
VS
104422012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
10445 with "Direct color" and "Packed" with "Packed pixel".
10446 (grub_cmd_videoinfo): Simplify legend.
10447
e4b791fa
VS
104482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10449
10450 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10451 absolutely unclear error message.
10452
fd1265cb
VS
104532012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * util/grub-mkstandalone.in: Remove confusing leftover print.
10456
8822a8a0
VS
104572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
10460 comments.
10461 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
10462 (GRUB_MOD_INIT): Likewise.
10463 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
10464 VGA mode.
10465 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
10466 comments.
10467 * util/grub-install.in (usage): Likewise.
10468 Spell ID in whole letters.
10469 Add missing ending dot.
10470 Quote variables.
10471 * util/grub-reboot.in: Fix capitalisation.
10472 * util/grub-set-default.in: Likewise.
10473
937fd0cc
VS
104742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
10477 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
10478 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
10479 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
10480 Disable -Werror for -Wdeprecated-declarations.
10481 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
10482 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
10483 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
10484 (grub_util_get_grub_dev): Make luks handling dependent on
10485 HAVE_DEVICE_MAPPER and not __linux__.
10486 (get_win32_path): Fix format security.
10487 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
10488 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
10489 Don't try grub_find_zpool_from_dir.
10490 (grub_make_system_path_relative_to_its_root) [!__linux__]:
10491 #ifdef-out paresdir.
10492
1bab1ae3
VS
104932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 * util/grub-pe2elf.c (usage): Add missing noreturn.
10496 (write_section_data): Rename name to shname to avoid shadowing.
10497 (write_symbol_table): Rename name to symname to avoid shadowing.
10498 Fix write_reloc_section call.
10499
ef023e42
VS
105002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
10503 to ensure that it's after the last byte of .text.
10504
48afcb75
VS
105052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10506
10507 * util/ieee1275/ofpath.c (my_isdigit): New function.
10508 (trailing_digits): Use my_isdigit.
10509 (strip_trailing_digits): Likewise.
10510
88d51eff
VS
105112012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
10514 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
10515
17edc2ba
VS
105162012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 * grub-core/kern/i386/pc/startup.S: Define __start.
10519
ad5518d7
VS
105202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
10523 strip already transforms he format.
10524
9e95e1bf
VS
105252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
10528
9cc3ee5c
VS
105292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 * util/grub-install.in: Add missing gettext init.
10532 * util/grub-kbdcomp.in: Likewise.
10533 * util/grub-mkconfig.in: Likewise.
10534 * util/grub-mknetdir.in: Likewise.
10535 * util/grub-mkrescue.in: Likewise.
10536 * util/grub-mkstandalone.in: Likewise.
10537 * util/grub-reboot.in: Likewise.
10538 * util/grub-set-default.in: Likewise.
10539 * util/grub.d/00_header.in: Likewise.
10540 * util/grub.d/10_hurd.in: Likewise.
10541 * util/grub.d/10_windows.in: Likewise.
10542 * util/grub.d/30_os-prober.in: Likewise.
10543 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10544
49e08a06
VS
105452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 * po/Rules-swiss: Fix header comment.
10548
3809cb41
AV
105492012-02-29 Andreas Vogel <anvoit>
10550
10551 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
10552 resulted in leak of arguments.
10553
fa6ec573
VS
105542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10555
10556 * grub-core/boot/i386/pc/startup_raw.S: Use separate
10557 reed_solomon_size const definition instead of computing it since
10558 Apple assembler doesn't support the later.
10559
22899b9c
VS
105602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 * gentpl.py (kernel): Rewrite Apple part.
10563
a132afc3
VS
105642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10565
10566 * include/grub/kernel.h (FOR_MODULES): Check module magic.
10567
9d742bd4
VS
105682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 * util/grub-mkimagexx.c (locate_sections): Support non-standard
10571 ELF section gap.
10572 (load_image): Likewise.
10573
f04a9a21
VS
105742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10575
10576 * configure.ac: Fix a typo in previous commit.
10577
46cf439c
VS
105782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 Don't add -Wl,-N on Apple platform.
10581
10582 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
10583 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
10584
c4c48c54
VS
105852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * grub-core/Makefile.core.def (lzma_decompress): Use
10588 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
10589
31a12124
VS
105902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * grub-core/genmod.sh.in: Rewrite the Apple part.
10593
4f3aa1af
VS
105942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10597 comparison.
10598
7bd8b0c7
VS
105992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 * acinclude.m4 (grub_CHECK_PIC): New test.
10602 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10603
97304d7c
VS
106042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10605
10606 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10607 to avoid the warning.
10608
fb883812
VS
106092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10612 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10613 after. All users updated.
10614
a121c964
VS
106152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 Use the common size routine in hostfs so we can read disks as well.
10618
10619 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10620 (grub_util_get_fd_size): ... this. Return size in bytes.
10621 All users updated.
10622 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10623 grub_util_get_fd_size.
10624
c66d6410
VS
106252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10628 Add blocksize retrieval.
10629
dfc8aeb0
VS
106302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * configure.ac: Restore CFLAGS after efiemu check.
10633
403e25a5
VS
106342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10637 Apple bug.
10638
382775d1
VS
106392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10642
6fd4e6e4
VS
106432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10646 (grub_cmd_halt): Likewise.
10647
bea359d6
VS
106482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10651 for local arithmetics.
10652 Break %sp init into 2 instructions.
10653 Add 0 byte at the end.
10654
32eb6ee1
VS
106552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10656
10657 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10658 before loops.
10659
e8377389
VS
106602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10661
10662 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10663 for context.
10664
8cb17de7
VS
106652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 * grub-core/disk/ldm.c (make_vg): Init part.name.
10668 (grub_ldm_detect): Silence spurious warning.
10669 (grub_util_is_ldm): Likewise.
10670
595717e6
VS
106712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10674 sane value to avoid a spurious warning.
10675
c4b7e588
VS
106762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10679 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10680
59824957
VS
106812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10682
10683 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10684 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10685
70115b99
VS
106862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10687
10688 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10689 hardcoding the relevant info.
10690
56733740
VS
106912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10694 missing const qualifiers.
10695 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10696
43481481
VS
106972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10698
10699 * util/getroot.c [__APPLE__]: Add missing includes.
10700 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10701
3cb38f01
VS
107022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10703
10704 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10705
d9dbf11e
VS
107062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10707
10708 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10709 avoid conflicts.
10710
0c42a45d
VS
107112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10714
46c34eb0
VS
107152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10718 and grub_file_close call.
10719
99ce1597
VS
107202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 Add LZSS Mach-O support (needed for new xnu kernelcache).
10723
10724 * grub-core/Makefile.core.def (xnu): Add file lzss.c
10725 * grub-core/loader/lzss.c: New file.
10726 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
10727 on Mach-O open failure.
10728 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
10729 Don't free cmdsXX in uncompressedXX is set.
10730 (grub_macho_file): Init new fields.
10731 New argument is_64bit. All users updated.
10732 Handle compressed. Error out if no suitable architecture is found.
10733 Don't close file.
10734 (grub_macho_open): New argument is_64bit. All users updated.
10735 * grub-core/loader/macho32.c: Add defines for new fields.
10736 * grub-core/loader/macho64.c: Likewise.
10737 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10738 (grub_macho_parse): Handle compressed.
10739 Defer actual processing if compressed.
10740 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10741 "filename". All users updated.
10742 (grub_macho_size): New argument "filename". All users updated.
10743 (grub_macho_get_entry_point): Likewise.
10744 (grub_macho_load): Handle compressed.
10745 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10746 (GRUB_MACHO_LZSS_OFFSET): New define.
10747 (grub_decompress_lzss): New proto.
10748 * include/grub/machoload.h (grub_macho_file): New fields to handle
10749 compressed.
10750 (grub_macho_contains_macho64): Remove proto.
10751 (grub_macho_contains_macho32): Likewise.
10752 * util/grub.d/30_os-prober.in: Use kernel cache if available.
10753
ebd17d6f
VS
107542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
10757
2702b4e4
VS
107582012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 Fix make dist.
10761
10762 * Makefile.am (starfield_theme_files): New var.
10763 (starfield_DATA): Use starfield_theme_files.
10764 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10765 Add bootcheck-related files.
10766 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10767 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10768 and font_char_metrics.txt.
10769 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10770 (setjmp): Add lib/ia64/longjmp.S.
10771 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10772 * po/POTFILES.in: Regenerate.
10773 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10774 DISTFILES.common.extra1.
10775 * util/devicemap.c: Removed.
10776 * grub-core/lib/i386/relocator_backward.S: Likewise.
10777 * util/import_gcry.py: Remove unused files. Add extra_dist for
10778 ChangeLog.
10779
cf1adfdf
VS
107802012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10781
10782 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10783 grub_gettext_delete_list before changing grub_gettext_max to avoid
10784 running out of array bounds.
10785
107862012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
10787
10788 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10789 grub_vga_text_init/grub_vga_text_fini.
10790
cf1adfdf 107912012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
10792
10793 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10794
541d92e9
VS
107952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * configure.ac: Bump to 2.00~beta0.
10798
7931dddf
VS
107992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10802 missing initialisation.
10803
f1b16fa3
VS
108042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10807
83ddae23
VS
108082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 Support v2 xnu boot arguments.
10811
10812 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10813 New argument fsbfreq_out.
10814 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10815 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10816 be used.
10817 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10818 darwin_version.
10819 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10820 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10821 (grub_xnu_boot_params): Rename to ...
10822 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10823 (grub_xnu_boot_params_v2): New struct.
10824
dc693fe6
VS
108252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10828 zeroing of CRC field before computing CRC.
10829
5a6e39c2
VS
108302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10833 Change order of allocations to decrease fragmentation.
10834
6c21f5d7
VS
108352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10838
cfe456dc
CW
108392012-02-27 Colin Watson <cjwatson@ubuntu.com>
10840
10841 Use write-combining MTRR to speed up video with buggy BIOSes.
10842
10843 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10844 (cpuid): New define.
10845 (rdmsr): Likewise.
10846 (wrmsr): Likewise.
10847 (mtrr_base): Likewise.
10848 (mtrr_mask): Likewise.
10849 (grub_vbe_enable_mtrr_entry): New function.
10850 (grub_vbe_enable_mtrr): Likewise.
10851 (grub_vbe_disable_mtrr): Likewise.
10852 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10853 control off to BIOS.
10854 (grub_video_vbe_init): Fill mtrr.
10855 (grub_video_vbe_fini): Disable mtrr.
10856 (grub_video_vbe_get_info_and_fini): Likewise.
10857 (grub_video_vbe_setup): Enable mtrr.
10858
e3c78337
CW
108592012-02-27 Colin Watson <cjwatson@ubuntu.com>
10860
10861 * include/grub/partition.h (grub_partition_map): Change prototype of
10862 embed to take a maximum value for nsectors.
10863 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10864 * include/grub/fs.h (grub_fs): Likewise.
10865 * grub-core/partmap/msdos.c (embed_signatures): New array.
10866 (pc_partition_map_embed): Check for and avoid sectors matching any
10867 of the signatures in embed_signatures, up to max_nsectors.
10868 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10869 returned sector map to max_nsectors.
10870 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10871 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10872 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10873 * util/grub-setup.c (setup): Allow for the embedding area being
10874 split into multiple blocklists. Tell dest_partmap->embed the
10875 maximum number of sectors we care about.
10876
108772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10880 Specify blocklist_install and reserver_first_sector for all fs.
10881 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10882 blocklists.
10883
984b973f
VS
108842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 * util/grub-install.in: Clarify strings.
10887 Fix source dir check.
10888
f122e0d6
RL
108892012-02-27 Richard Laager <rlaager@wiktel.com>
10890
10891 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10892 "zfs" and "fuse.zfs" as synonyms.
10893
071114bb
VS
108942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 * configure.ac: Put platform and target_cpu substitutions back since
10897 they are used for directories.
10898
817e6abc
RL
108992012-02-27 Richard Laager <rlaager@wiktel.com>
109002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10903 * util/grub.d/20_linux_xen.in: Likewise.
10904
897b7419
RL
109052012-02-27 Richard Laager <rlaager@wiktel.com>
10906
10907 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10908 with full paths.
10909
a414bd15
RL
109102012-02-27 Richard Laager <rlaager@wiktel.com>
10911
10912 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10913 unescape.
10914
30ac48c4
VS
109152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 Don't use insecure popen in getroot.
10918
10919 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10920 (exec_pipe): ... here.
10921 (find_root_devices_from_poolname): Use exec_pipe.
10922
53f13848
VS
109232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 Remove platform and target_cpu replacement.
10926
10927 * configure.ac: Remove platform and target_cpu substitutions.
10928 * tests/util/grub-shell.in: Use modinfo.
10929 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10930 explicitly.
10931
90cb2803
VS
109322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10933
10934 Autodetect platform in grub-install but allow override.
10935
10936 * util/grub-install.in: Autodetect platform. Support --target and
10937 --directory. Read platform from modinfo.sh.
10938
b9136427
VS
109392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 Support btrfs multi-volume probe.
10942
10943 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10944 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10945 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10946 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10947 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10948 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10949 grub_find_root_devices_from_btrfs if on btrfs.
10950
c36e5cd1
VS
109512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 Remove any awareness of *.c util files about target.
10954
10955 * Makefile.util.def (grub-setup): Split to ...
10956 (grub-bios-setup): ... and this.
10957 (grub-sparc64-setup): ... and this.
10958 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10959 * docs/man/grub-setup.h2m: Split into ...
10960 * docs/man/grub-sparc64-setup.h2m: ... this.
10961 * docs/man/grub-bios-setup.h2m: ... and this.
10962 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10963 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10964 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10965 (grub_target_addr_t): Remove.
10966 (grub_target_size_t): Remove.
10967 (grub_target_ssize_t): Remove.
10968 * util/grub-install.in: Use new grub-*-setup.
10969 * util/grub-mkimagexx.c (Elf_Word): New define.
10970 (Elf_Half): Likewise.
10971 (Elf_Section): Likewise.
10972 (ELF_ST_TYPE): Likewise.
10973 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10974 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10975
584b2f8a
VS
109762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10977
10978 Replace grub_target_addr with more appropriate types.
10979
10980 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10981 grub_target_addr with grub_addr.
10982 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10983 grub_target_addr with grub_port.
10984 (grub_cmd_write): Likewise.
10985 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10986 grub_target_addr with grub_addr.
10987 (grub_cmd_write): Likewise.
10988 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10989
5a0dc6fb
VS
109902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10993 const qualifier for vendor_guid.
10994
786aff6e
VS
109952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10998 const qualifier.
10999 (efiemu_memequal): Likewise.
11000 (find_variable): Likewise.
11001
49017b17
VS
110022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 Fix missing console prototype on qemu-mips.
11005
11006 * include/grub/mips/qemu_mips/console.h: New file.
11007
c5988629
MG
110082012-02-27 Matthew Garrett <mjg@redhat.com>
110092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
11012 * include/grub/efi/efi.h: Likewise.
11013 * include/grub/efi/api.h: Add guid for EFI-specified variables.
11014 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
11015 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
11016 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
11017 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
11018 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
11019
e33f8d69
MG
110202012-02-27 Matthew Garrett <mjg@redhat.com>
11021
11022 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
11023
fb312cd9
VS
110242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
11027 error.
11028
7134247c
VS
110292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * configure.ac: Remove inappropriate use of program_transform_name
11032 on grubdir and bootdir but allow explicit specification of those
11033 variables.
11034
6a313124
VS
110352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * util/grub-mknetdir.in (grub_prefix): Removed.
11038 (subdir): Use @bootdirname@ and @grubdirname@.
11039
2311c5ca
VS
110402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
11043
7d5d60f7
VS
110442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 * po/POTFILES.in: Regenerated.
11047
8151bc82
VS
110482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 Remove improper use of program_transform_name on pkglibrootdir.
11051
11052 * configure.ac (pkglibrootdir): Removed.
11053 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
11054 * util/grub-mkimage.c: Likewise.
11055
b4a6a533
VS
110562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
11059 warning.
11060
668f304f
VS
110612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 * util/grub-install.in: Use file identifier if no UUID is available
11064 or user explicitly prompted for it.
11065
665f2341
NP
110662012-02-27 Navdeep Parhar <nparhar@gmail.com>
11067
11068 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
11069 (freebsd_get_zfs): New function.
11070 (grub_freebsd_boot): Pass zfs UUID.
11071 (grub_cmd_freebsd): Set zfs UUID.
11072
8151bc82 110732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
11074
11075 * conf/Makefile.common (platformdir): Base on pkglibdir and not
11076 pkglibrootdir.
11077
e4c498a1
MG
110782012-02-27 Mike Gilbert <floppym@gentoo.org>
11079
11080 Add configure flag to control libzfs integration.
11081
11082 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
11083
1e9a9a3f
VS
110842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11085
11086 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
11087 device.
11088 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
11089 small devices.
11090
036985b8
VS
110912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11092
11093 Remove grub_{modname}_init and grub_{modname}_fini. They should never
11094 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
11095 be used on non-modules.
11096
11097 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
11098 Rename to grub_boot_init.
11099 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
11100 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
11101 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
11102 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
11103 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
11104 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
11105 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
11106 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
11107 includes.
11108 (grub_machine_init): Remove empty inits.
11109 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
11110 includes.
11111 (grub_machine_init): Remove empty inits.
11112 * grub-core/term/arc/console.c: Remove explicit proto.
11113 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
11114 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
11115 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11116 grub_at_keyboard_fini.
11117 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
11118 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
11119 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11120 grub_gfxterm_fini.
11121 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
11122 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
11123 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11124 grub_vgatext_fini.
11125 * grub-core/term/ieee1275/console.c: Remove explicit proto.
11126 * grub-core/term/serial.c (GRUB_MOD_INIT)
11127 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
11128 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11129 grub_serial_fini.
11130 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
11131 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
11132 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11133 grub_terminfo_fini.
11134 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
11135 (GRUB_MOD_FINI): Likewise.
11136 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
11137 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
11138 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11139 grub_video_radeon_fuloong2e_fini.
11140 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
11141 [LOONGSON]: Rename to grub_video_sis315pro_init.
11142 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11143 grub_video_sis315pro_fini.
11144 * grub-core/video/sm712.c (GRUB_MOD_INIT)
11145 [LOONGSON]: Rename to grub_video_sm712_init.
11146 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11147 grub_video_sm712_fini.
11148 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
11149 (grub_at_keyboard_fini): Likewise.
11150 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
11151 Don't declare grub_{modname}_init.
11152 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
11153 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
11154 New proto.
11155 (grub_keylayouts_fini) [!EMU]: Likewise.
11156 * include/grub/serial.h (grub_serial_init) [!EMU]:
11157 New proto.
11158 (grub_serial_fini) [!EMU]: Likewise.
11159 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
11160 New proto.
11161 (grub_terminfo_fini) [!EMU]: Likewise.
11162 * include/grub/video.h (grub_font_init) [!EMU]:
11163 New proto.
11164 (grub_font_fini) [!EMU]: Likewise.
11165 (grub_gfxterm_init) [!EMU]: Likewise.
11166 (grub_gfxterm_fini) [!EMU]: Likewise.
11167 (grub_video_sm712_init) [!EMU]: Likewise.
11168 (grub_video_sm712_fini) [!EMU]: Likewise.
11169 (grub_video_sis315pro_init) [!EMU]: Likewise.
11170 (grub_video_sis315pro_fini) [!EMU]: Likewise.
11171 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
11172 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
11173
d5534665
VS
111742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11175
11176 Make nand a prefix for nand devices.
11177
11178 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
11179
10133b5f
VS
111802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
11183 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
11184
8e307a62
VS
111852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * include/grub/env.h (grub_env_find): Remove prototype.
11188 * grub-core/kern/env.c (grub_env_find): Make static.
11189 (grub_env_set): Remove useless set.
11190
a4c65f34
VS
111912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11192
11193 * grub-core/kern/i386/realmode.S: Remove useless align.
11194
d87893d5
VS
111952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11196
11197 * include/grub/dl.h (grub_dl_load_file): Don't export.
11198
50159add
VS
111992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
11202 grub_dprintf.
11203
b2582b84
VS
112042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11205
11206 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
11207 grub_errors.
11208 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
11209 not reloading whole superblock but only the part which is really needed.
11210 Remove useless grub_errors.
11211 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
11212 grub_errors.
11213
e2a83395
VS
112142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 Don't export grub_get_rtc.
11217
11218 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
11219 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
11220
e7d2a906
VS
112212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
11224
6cf1363b
VS
112252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 11228 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 11229
eece3349
VS
112302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11231
11232 Remove prio_list.
11233
11234 * include/grub/list.h (grub_prio_list): Removed.
11235 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
11236 GRUB_COMMAND_PRIO_MASK.
11237 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
11238 GRUB_COMMAND_FLAG_ACTIVE.
11239 (grub_prio_list_insert): Removed.
11240 (grub_prio_list_remove): Likewise.
11241 (GRUB_AS_PRIO_LIST): Likewise.
11242 (GRUB_AS_PRIO_LIST_P): Likewise.
11243 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
11244 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
11245 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
11246 * grub-core/kern/command.c (grub_register_command_prio): Inline
11247 the prio_list code.
11248 (grub_unregister_command): Likewise.
11249
94f064b4
VS
112502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 Fix interrupt mixup from previous commit.
11253
11254 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
11255 (grub_realidt): New var.
11256 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
11257 Load idt.
11258 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
11259 New declaration.
11260 (grub_relocator16_boot): Set grub_relocator16_idt.
11261 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
11262 (LOCAL(realidt)): ... this.
11263 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
11264 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
11265 (grub_realidt): New variable.
11266
27317084
VS
112672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11268
11269 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
11270 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
11271 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
11272 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
11273 Gettextize.
11274 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
11275 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
11276 * po/POTFILES.in: Regenerate.
11277
47b40053
VS
112782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
11281 errors.
11282
2b343101
VS
112832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
11286 \0.
11287 (add_length): Likewise.
11288
ff27c3dd
LK
112892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
112902012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
11291
11292 GDB serial and backtrace support.
11293
11294 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
11295 (prot_to_real): Likewise.
11296 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
11297 * grub-core/Makefile.core.def (backtrace): New module.
11298 (gdb): Likewise.
11299 * grub-core/gdb/cstub.c: New file.
11300 * grub-core/gdb/gdb.c: Likewise.
11301 * grub-core/gdb/i386/idt.c: Likewise.
11302 * grub-core/gdb/i386/machdep.S: Likewise.
11303 * grub-core/gdb/i386/signal.c: Likewise.
11304 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 11305 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
11306 * include/grub/backtrace.h: Likewise.
11307 * include/grub/gdb.h: Likewise.
11308 * include/grub/i386/gdb.h: Likewise.
11309
113102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
11311
11312 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
11313 New function.
11314 (add_length): Likewise.
11315 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
11316 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
11317 proto.
11318 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
11319 __argp_get_display_len.
11320
ff27c3dd 113212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
11322
11323 $"..." support in scripts.
11324
11325 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
11326 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
11327 * grub-core/script/yylex.l: Likewise.
11328 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
11329 value.
11330
ff27c3dd 113312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
11332
11333 * gentpl.py: Remove obsolete pkglib_DATA handling.
11334
ff27c3dd 113352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
11336
11337 Don't transform PACKAGE_TARNAME following a discussion on autoconf
11338 mailing list.
11339
11340 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
11341 * util/grub-kbdcomp.in: Likewise.
11342 * util/grub-mkconfig.in: Likewise.
11343 * util/grub-mkconfig_lib.in: Likewise.
11344 * util/grub-mknetdir.in: Likewise.
11345 * util/grub-mkrescue.in: Likewise.
11346 * util/grub-mkstandalone.in: Likewise.
11347 * util/grub-reboot.in: Likewise.
11348 * util/grub-set-default.in: Likewise.
11349 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11350
ff27c3dd 113512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
11352
11353 Remove GRUB_PREFIX.
11354
11355 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
11356 * util/grub.d/00_header.in: Compute prefix in the only place it's still
11357 used for backward compatibility.
11358
ff27c3dd 113592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
11360
11361 Add new all_video module.
11362
11363 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
11364 * grub-core/Makefile.core.def (all_video): New module.
11365 * grub-core/genmoddep.awk: Generate dependency of all_video from
11366 video.lst.
11367 * grub-core/lib/fake_module.c: New file.
11368 * grub-core/normal/main.c (features): Add feature_all_video_module.
11369 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
11370 don't do explicit search again.
47454da5 11371 insmod all_video in load_video if available.
22c7ce85 11372
ff27c3dd 113732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
11374
11375 Another round of string clarification and adding TRANSLATORS comments.
11376
ff27c3dd 113772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
11378
11379 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
11380
ff27c3dd 113812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
11382
11383 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
11384 to grub_ssize_t.
11385 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
11386 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
11387
ff27c3dd 113882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
11389
11390 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
11391 trailing newline implicitly. All users updated.
11392
ff27c3dd 113932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
11394
11395 Implement serial on IEEE1275 and EFI.
11396
11397 * docs/grub.texi (Platform-specific limitations): Fix the columen video
11398 on emu. Mention arc and emu as the only platforms without serial
11399 support.
11400 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
11401 ieee1275 platforms.
11402 * grub-core/term/efi/serial.c: New file.
11403 * grub-core/term/ieee1275/serial.c: Likewise.
11404 * grub-core/term/serial.c (grub_serial_find): Disable direct port
11405 specification if no ns8250 driver is available.
11406 (grub_cmd_serial): Likewise.
11407 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
11408 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
11409 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
11410 (grub_efi_parity_type_t): New type.
11411 (grub_efi_stop_bits_t): Likewise.
11412 (grub_efi_serial_io_interface): New struct.
11413 * include/grub/serial.h (grub_serial_port): Make 'broken' field
11414 available for all interfaces.
11415 Add EFI and IEEE1275 fields.
11416 (grub_ofserial_init): New proto.
11417 (grub_efiserial_init): Likeiwse.
11418 * util/grub.d/00_header.in: Don't check for the presence of serial
11419 module.
11420
ff27c3dd 114212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
11422
11423 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
11424 name as if it was an alias.
11425
114076ef
VS
114262012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11427
11428 * grub-core/commands/lsacpi.c (options): Fix typo.
11429
6a656b0e
VS
114302012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11431
11432 Convert grub-emu to argp.
11433
11434 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
11435 emu.
11436 * util/argp_common.c: Rename to ...
11437 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
11438 Add missing includes.
11439 * grub-core/kern/emu/main.c: Convert to argp.
11440 * po/POTFILES.in: Regenerate.
11441 * util/grub-install.in (usage): Make first letter lowcase in messages
11442 for uniformity.
11443 * util/grub-setup.c (options): Likewise.
11444
1e3f8ae8
VS
114452012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
11448 Put back accidently commented-out code.
11449
ed167a80
VS
114502012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
11453 loop check using Brent algorithm.
11454 (grub_hfsplus_btree_search): Likewise.
11455
6753c0ec
VS
114562012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * util/grub-install.in: Fix usage of wrong device for PreP install.
11459
4e27343f
VS
114602012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 * conf/Makefile.common (CFLAGS_GNULIB): Add
11463 -Wno-unsafe-loop-optimizations.
11464 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
11465 on tools.
11466 * grub-core/commands/legacycfg.c: Add pragma to skip
11467 -Wunsafe-loop-optimizations.
11468 (check_password_md5_real): Fix loop counter type.
11469 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
11470 reading.
11471 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
11472 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
11473 loop condition.
11474 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
11475 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
11476 * grub-core/net/net.c (grub_net_route_address): Add safety loop
11477 condition.
11478 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
11479 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
11480 avoid possible infinite loops.
11481 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
11482 and -Wunsafe-loop-optimizations.
11483 * grub-core/script/yylex.l: Likewise.
11484 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
11485 (print_glyphs): Avoid infinite loops.
11486 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
11487
697f18b0
GS
114882012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
11489
11490 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
11491 to avoid infinite loop.
11492 (disp_acpi_rsdt_table): Likewise.
11493
274416e8
VS
114942012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * grub-core/font/font.c (grub_font_load): Add support for default
11497 path for fonts ($prefix/fonts).
11498 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
11499 for checking if string is a path.
11500 * grub-core/normal/main.c (features): Add feature_default_font_path.
11501 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
11502 * util/grub.d/00_header.in: Use default directory if possible.
11503 * util/grub-install.in: Install unicode.pf2.
11504
b3e08622
VS
115052012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
11508 * po/Rules-swiss: New file.
11509 * po/swiss.sed: Likewise.
11510
fe42ce09
VS
115112012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 * grub-core/fs/btrfs.c (find_device): Fix typos.
11514 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
11515 * util/grub-mkrelpath.c (argp_parser): Likewise.
11516 Reported by: Yuri Chornoivan.
11517
72f1d065
DO
115182012-02-23 Dalet Omega <daletomega@gmail.com>
11519
11520 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
11521 for usual informative messages.
11522
c5884973
DO
115232012-02-23 Dalet Omega <daletomega@gmail.com>
11524
11525 Starfield theme.
11526
11527 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
11528 * conf/Makefile.common: Define starfielddir.
11529 * configure.ac: Configure starfield.
11530 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
11531 * themes/starfield/README: Likewise.
11532 * themes/starfield/blob_w.png: Likewise.
11533 * themes/starfield/boot_menu_c.png: Likewise.
11534 * themes/starfield/boot_menu_e.png: Likewise.
11535 * themes/starfield/boot_menu_n.png: Likewise.
11536 * themes/starfield/boot_menu_ne.png: Likewise.
11537 * themes/starfield/boot_menu_nw.png: Likewise.
11538 * themes/starfield/boot_menu_s.png: Likewise.
11539 * themes/starfield/boot_menu_se.png: Likewise.
11540 * themes/starfield/boot_menu_sw.png: Likewise.
11541 * themes/starfield/boot_menu_w.png: Likewise.
11542 * themes/starfield/slider_c.png: Likewise.
11543 * themes/starfield/slider_n.png: Likewise.
11544 * themes/starfield/slider_s.png: Likewise.
11545 * themes/starfield/src/blob_nw.xcf: Likewise.
11546 * themes/starfield/src/bootmenu/: Likewise.
11547 * themes/starfield/src/bootmenu/center.xcf: Likewise.
11548 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
11549 * themes/starfield/src/bootmenu/side.xcf: Likewise.
11550 * themes/starfield/src/slider_c.xcf: Likewise.
11551 * themes/starfield/src/slider_n.xcf: Likewise.
11552 * themes/starfield/src/slider_s.xcf: Likewise.
11553 * themes/starfield/src/terminalbox/: Likewise.
11554 * themes/starfield/src/terminalbox/center.xcf: Likewise.
11555 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
11556 * themes/starfield/src/terminalbox/side.xcf: Likewise.
11557 * themes/starfield/starfield.png: Likewise.
11558 * themes/starfield/terminal_box_c.png: Likewise.
11559 * themes/starfield/terminal_box_e.png: Likewise.
11560 * themes/starfield/terminal_box_n.png: Likewise.
11561 * themes/starfield/terminal_box_ne.png: Likewise.
11562 * themes/starfield/terminal_box_nw.png: Likewise.
11563 * themes/starfield/terminal_box_s.png: Likewise.
11564 * themes/starfield/terminal_box_se.png: Likewise.
11565 * themes/starfield/terminal_box_sw.png: Likewise.
11566 * themes/starfield/terminal_box_w.png: Likewise.
11567 * themes/starfield/theme.txt: Likewise.
11568
17d73325
VS
115692012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * util/grub.d/00_header.in: Add missing export theme.
11572
dbebaf92
VS
115732012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
11576 already included.
11577 Reported by: Eren D.
11578
3d68bffb
VS
115792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11580
11581 * conf/Makefile.common (grubdatadir): Removed.
11582 (Makefile.am): Move eveything grubdata to pkgdata.
11583
4b59234d
VS
115842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * grub-core/commands/acpihalt.c (get_sleep_type):
11587 Remove unused variable.
11588
463dcadc
VS
115892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11590
11591 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
11592 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11593 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11594 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11595 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11596 i18n with gettext no-op.
11597 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11598 GRUB_ACPI_OPCODE_STRING_CONST.
11599 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11600 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11601
e5b90c82
VS
116022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * po/POTFILES.in: Regenerate.
11605
2a704ca9
VS
116062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11607
11608 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11609 -Wno-error=missing-noreturn.
11610
84f9d341
VS
116112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11612
11613 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11614 condition to avoid possibly infinite loops.
11615 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11616 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11617
d46683f9
VS
116182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11621 condition to avoid possibly infinite loops.
11622
c44866b2
VS
116232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11626 on show_error.
11627
96790539
VS
116282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11631
1ba7e295
VS
116322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11633
11634 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11635
21ffe8f1
VS
116362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11637
11638 * util/bin2h.c (usage): Add missing attribute noreturn.
11639
0ccb6b3c
VS
116402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11643 if the size isn't divisible by 512.
11644
b00d7fb6
VS
116452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11646
11647 Make list_push and list_remove functions rather than inline functions
11648 to decrease size and avoid aliasing violations.
11649
11650 * include/grub/list.h (grub_list_push): Move to ...
11651 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11652 * include/grub/list.h (grub_list_remove): Move to ...
11653 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11654
9d369087
VS
116552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11658 and -Wunused-result.
11659
af0250d9
VS
116602012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11661
11662 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11663 Reported by: Seth Goldberg
11664
aad32b14
VS
116652012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11668
ac96441c
ST
116692012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11670
11671 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11672 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11673 command line.
11674 * docs/grub.texi (Simple configuration): Document
11675 GRUB_CMDLINE_GNUMACH.
11676
116772012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
11678
11679 * conf/Makefile.common (platform_SCRIPTS): New variable.
11680 (platform_PROGRAMS): Likewise.
11681 * gentpl.py: Mark *,module and *.image for install.
11682 * grub-core/gdb_grub.in: Add a notice of expected environment.
11683 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11684 (gmodule.pl): Likewise.
11685
ac96441c 116862012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
11687
11688 Replace grub_checkkey with grub_getkey_noblock.
11689
11690 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11691 (grub_getkey_noblock): ... this. All users updated.
11692
ac96441c 116932012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
11694
11695 * grub-core/kern/emu/console.c: Move to ...
11696 * grub-core/term/emu/console.c: ...here.
11697 (grub_ncurses_getkey): Fix return value if no key is detected.
11698
e51b5666
VS
116992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11702 (grub_unit_test_fini): Likewise.
11703 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11704
117052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * include/grub/test.h (GRUB_UNIT_TEST)
11708
d9a62292
VS
117092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11710
11711 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11712 Better error handling.
11713 (grub_script_return): Likewise.
11714 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11715
77c9182f
VS
117162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11719 rimplicit redifinition.
11720
edb13cf9
VS
117212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11722
11723 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
11724 GRUB.
11725
a9e9dc7c
VS
117262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
11729 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
11730 prompt here.
11731
b4ba8e02
VS
117322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11735 as GRUB_ERR_BUG. Don't malloc if no device is available.
11736
dded5540
VS
117372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11740 Mark calling with invalid term as GRUB_ERR_BUG.
11741
0cf69874
VS
117422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11743
11744 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11745 packets rather than raising an error.
11746
59bfe502
VS
117472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11750 in if.
11751
db5fc596
VS
117522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
11755 diagnostic to dprintf.
11756 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11757
e4b7f404
VS
117582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
11761 device name.
11762
e7b02f9e
VS
117632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11764
11765 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11766 (grub_ntfs_iterate_dir): Likewise.
11767
0331e102
VS
117682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 Efiemu stylistic fixes and gettext.
11771
11772 * grub-core/efiemu/i386/loadcore32.c
11773 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11774 * grub-core/efiemu/i386/loadcore64.c
11775 (grub_arch_efiemu_relocate_symbols64): Likewise.
11776 * grub-core/efiemu/i386/pc/cfgtables.c
11777 (grub_machine_efiemu_init_tables): Likewise.
11778 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11779 (grub_efiemu_loadcore_initXX): Add a filename argument.
11780 All users updated.
11781 Improved error message.
11782 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11783 Add a filename argument.
11784 All users updated.
11785 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11786 Reclassify double relocation as GRUB_ERR_BUG.
11787
306fc074
VS
117882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11789
11790 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11791 handling.
11792
794d8ef2
VS
117932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11794
11795 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11796 on partition.
11797
117982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
11799
11800 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11801
794d8ef2 118022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
11803
11804 Improve string. Gettextize.
11805
78dde88e
VS
118062012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11807
11808 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11809 utils.
11810 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
11811
4786a90f
VS
118122012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11813
11814 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11815 [GRUB_UTIL]: New function.
11816 (insert_array) [GRUB_UTIL]: Store partmaps.
11817 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11818 partmaps.
11819 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11820 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11821 (probe_abstraction): Print diskfilter and not raid.
11822 Reported by: Lennart Sorensen
11823
0b6225bd
VS
118242012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11825
11826 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11827 * util/grub-mkimagexx.c (MASK3): New define.
11828 (add_value_to_slot_20b): Use MASK3.
11829 (add_value_to_slot_21): Likewise.
11830 (relocate_addresses): Fix format specification.
11831 (load_image): Explicitly init symtab_section.
11832
b055f8f6
VS
118332012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11836 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11837
b77c2fb7
VS
118382012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11839
11840 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11841 on powerpc.
11842 Reported by: Lennart Sorensen
11843
e3ec28ab
VS
118442012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11845
11846 * gentpl.py: Add missing license header.
11847 * docs/grub.texi: Update copyright year.
11848
c8d9ead6
GS
118492012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11850
11851 Source grub-mkconfig_lib from the build directory at build time.
11852 Suggested by: Vladimir Serbinenko.
11853
11854 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11855 * util/grub-install.in: Define pkgdatadir if not already set, and source
11856 grub-mkconfig_lib from there.
11857 * util/grub-kbdcomp.in: Likewise.
11858 * util/grub-mkconfig.in: Likewise.
11859 * util/grub-mknetdir.in: Likewise.
11860 * util/grub-mkrescue.in: Likewise.
11861 * util/grub-mkstandalone.in: Likewise.
11862 * util/grub-reboot.in: Likewise.
11863 * util/grub-set-default.in: Likewise.
11864 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11865
ebcecdf1
VS
118662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11867
11868 Increase warning level.
11869
11870 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11871 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11872 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11873 (TARGET_CFLAGS): Likewise.
11874 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11875 * grub-core/Makefile.core.def (decompressor_xz): Add
11876 -Wno-unreachable-code.
11877 (normal): Add -Wno-redundant-decls.
11878 (xzio): Add -Wno-unreachable-code.
11879 (lzopio): Add -Wno-redundant-decls -Wno-error.
11880 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11881 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11882 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11883 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11884 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11885 * grub-core/kern/i386/coreboot/init.c: Add exception to
11886 -Wsuggest-attribute=noreturn.
11887 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11888 * grub-core/kern/ia64/dl_helper.c: Likewise.
11889 * grub-core/kern/mips/dl.c: Likewise.
11890 * grub-core/kern/sparc64/dl.c: Likewise.
11891 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11892 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11893 (memcmp): Likewise.
11894 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11895 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11896 * grub-core/loader/mips/linux.c: Likewise.
11897 * grub-core/loader/multiboot_elfxx.c: Likewise.
11898 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11899 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11900 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11901 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11902 fixme.
11903 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11904 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11905 Fix prototype.
11906
37bb97fe
VS
119072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11910 address.
11911
29a3550b
VS
119122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11915 Avoid improper use of strings.
11916 (grub_cmd_legacy_initrdnounzip): Likewise.
11917
dfdffd0d
VS
119182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11921 attribute.
11922 (grub_util_info): Likewise.
11923 (grub_util_error): Likewise.
11924
102fae4a
VS
119252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11928 * util/grub-fstest.c (fstest): Likewise.
11929
7e94d044
VS
119302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11931
11932 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11933 (grub_md_sha512_real): Likewise.
11934 (grub_util_get_geli_uuid): Likewise.
11935 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11936 (grub_util_biosdisk_open): Fix format specification.
11937 Respect format security.
11938 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11939 (xrealloc): Likewise.
11940 (xasprintf): Likewise.
11941
5ebd9769
VS
119422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 * util/import_gcry.py: Include grub/crypto.h in init.c.
11945
495fc8c1
VS
119462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11947
11948 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11949 (generate_image): Make prefix a const char *.
11950 Fix format specifications. Respect format security.
11951 Avoid void * arithmetics.
11952 Avoid shadowing.
11953 (argp_parser): Remove unused variable. Respect format security.
11954 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11955 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11956 (count_funcs): Remove unused variable.
11957 (relocate_addresses): Fix format specification.
11958 Disable x86-64 with elf32. Remove unused variables.
11959 (add_fixup_entry): Avoid shadowing.
11960 (make_reloc_section): Fix format specification.
11961 Use assert.
11962 (locate_sections): Fix format specifications.
11963 (load_image): Avoid shadowing.
11964
043c2ea3
VS
119652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11968 Fix format specifications. Respect format security.
11969 Don't translate already translated grub_errmsg.
11970 (argp_parser): Remove unused variable
11971
3ec65a81
VS
119722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11973
11974 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11975
a4d9fe4a
VS
119762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11979 (main): Likewise. Use xmalloc. Respect format security.
11980
15b81d49
VS
119812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11984 a const char *.
11985 (argp_parser): Remove unused variable.
11986
31731fc0
VS
119872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11988
11989 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11990 (add_pixel): Make static.
11991 (add_font): Likewise.
11992 (write_string_section): Make name and str a const char *.
11993 (write_be16_section): Make name a const char *.
11994 (print_glyphs): Make static.
11995 (write_font_ascii_bitmap): Likewise.
11996 (write_font_width_spec): Likewise.
11997 (write_font_pf2): Likewise.
11998 (argp_parser): Remove unused variable.
11999 Respect format security.
12000 (main): Avoid shadowing. Respect format security.
12001
0809527b
VS
120022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12003
12004 * util/grub-editenv.c (argp_parser): Make static.
12005 (create_envblk_file): Use xmalloc.
12006 (open_envblk_file): Likewise.
12007 Resepect format security.
12008 (set_variables): Respect format security.
12009
45b0c8b7
VS
120102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * util/getroot.c (grub_find_device): Respect format security.
12013 (get_mdadm_uuid): Remove unused variable.
12014 (grub_util_pull_device): Dont call gettext on already translated
12015 grub_errmsg.
12016 (find_system_device): Remove unused variable.
12017 (grub_util_get_grub_dev): Likewise.
12018 (grub_make_system_path_relative_to_its_root): Respect format security.
12019
1b024b4e
VS
120202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12021
12022 * util/grub-fstest.c (execute_command): Make first argument
12023 a const char *.
12024 (read_file): Avoid shadowing.
12025 Reuse underlying error message if device open fails.
12026 (cmd_cmp): Respect format security.
12027 (root): Make const char *.
12028 (fstest): Remove args argument and use global copy.
12029 Respect format security.
12030 (argp_parser): Make static.
12031 (main): Make default_root const char *.
12032
5d1d4e28
VS
120332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 * util/grub-mount.c (root): Make const char *.
12036 (execute_command): Make first argument a const char *.
12037 (fuse_init): Respect format security.
12038 (argp_parser): Make static. Remove unused variable.
12039 (main): Make default_root a const char *.
12040 Respect format security.
12041
36eb7379
VS
120422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 * util/grub-probe.c (probe): Don't call gettext on already translated
12045 grub_errmsg.
12046 Remove unused variables.
12047 (argp_parser): Remove unused variable.
12048
76fb2ea9
VS
120492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * util/grub-script-check.c (argp_parser): Remove unused variable.
12052 (main): Rename read to curread to avoid shadowing.
12053
56c98584
VS
120542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * util/misc.c (grub_util_write_image_at): Fix format specification.
12057 (grub_util_write_image): Likewise.
12058 (grub_script_execute_argument_to_string): Removed (unused).
12059 (grub_script_execute_menuentry): Likewise.
12060 (grub_putchar): Likewise.
12061
164ebb48
VS
120622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
12065 (FUNCTION) [GRUB_UTIL]: Likewise.
12066 (VARIABLE) [GRUB_UTIL]: Likewise.
12067
44318d61
VS
120682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
12071 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
12072
31a26002
VS
120732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12074
12075 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
12076 buffer.
12077
120782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12079
12080 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
12081 (LzmaEnc_SaveState): Removed (unused).
12082 (LzmaEnc_RestoreState): Likewise.
12083 (LzmaEnc_InitPriceTables): Made static.
12084 (LzmaEnc_Construct): Likewise.
12085 (LzmaEnc_FreeLits): Likewise.
12086 (LzmaEnc_Destruct): Likewise.
12087 (LzmaEnc_Init): Likewise.
12088 (LzmaEnc_InitPrices): Likewise.
12089 (LzmaEnc_Finish): Likewise.
12090 (LzmaEnc_PrepareForLzma2): Removed (unused).
12091 (LzmaEnc_MemPrepare): Likewise.
12092 (LzmaEnc_GetNumAvailableBytes): Likewise.
12093 (LzmaEnc_GetCurBuf): Likewise.
12094 (LzmaEnc_CodeOneMemBlock): Likewise.
12095
6fa67967
VS
120962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12097
12098 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
12099 (grub_util_ldm_embed): Likewise.
12100
9a7428e6
VS
121012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12102
12103 * util/grub-editenv.c (print_var): Rename name to varname to
12104 avoid shadowing.
12105 (main): Rename index to curindex to avoid shadowing.
31a26002 12106 Make filename a const char *.
9a7428e6 12107
4f96abd1
VS
121082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12109
12110 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
12111 to arg_getline to avoid shadowing.
12112
44d10dad
VS
121132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
12116 disk_ to avoid shadowing.
12117
340ba63e
VS
121182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
12121 curindex to avoid shadowing.
12122 Make static.
12123 (MatchFinder_GetNumAvailableBytes): Make static.
12124
22965bce
VS
121252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
12128 avoid shadowing.
12129
7b5784d4
VS
121302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12131
12132 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
12133 argument from encrypt to do_encrypt to avoid shadowing.
12134
6f48ca01
VS
121352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
12138 incorrect nesting of #if's.
12139
a4ea2dff
VS
121402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12141
12142 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
12143 checks which are always false on some platforms.
12144 (grub_cmd_lsacpi): Likewise.
12145 * grub-core/kern/misc.c (grub_strtoul): Likewise.
12146 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
12147 Likewise.
12148
def9fc1b
VS
121492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12150
12151 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
12152 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
12153
a67b2a04
VS
121542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12155
12156 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
12157 re_dfa_t to avoid breaking alignment invariants.
12158 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
12159 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
12160
44c6828d
VS
121612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
12164 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
12165
bebe0dd0
VS
121662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
12169 Fix declaration.
12170
a9cdb3cf
VS
121712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
12174 conserve alignment invariants.
12175 (grub_ehci_ehcc_read16): Likewise.
12176 (grub_ehci_oper_read32): Likewise.
12177 (grub_ehci_oper_write32): Likewise.
12178 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12179 Conserve alignment invariants.
12180
ccc3b1b8
VS
121812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
12184 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
12185 declarations.
12186
987fbd95
VS
121872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
12190 Remove unused variable.
12191
0df363f3
VS
121922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
12195 Remove set in if.
12196
b2c0c4a6
VS
121972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12198
12199 * include/grub/net.h: Remove double declarations.
12200
690c531f
VS
122012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 Remove "payload" command in ia64 Linux loader since I couldn't
12204 find any evidence of it being used for anything.
12205 Replace "relocate" command with an environment variable
12206
12207 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
12208 fields.
12209 (ia64_boot_payload): Removed.
12210 (last_payload): Likewise.
12211 (RELOCATE_OFF): Likewise.
12212 (RELOCATE_ON): Likewise.
12213 (RELOCATE_FORCE): Likewise.
12214 (relocate): Likewise.
12215 (free_pages): Don't free payloads.
12216 (grub_load_elf64): Use common error messages.
12217 Use "linux_relocate" variable.
12218 Increase the space after boot_params.
12219 (grub_cmd_payload): Removed.
12220 (grub_cmd_relocate): Likewise.
12221 (grub_cmd_fpswa): Improve messages.
12222 (cmd_payload): Removed.
12223 (cmd_relocate): Likewise.
12224 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
12225 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
12226
01783768
VS
122272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 Convert UHCI to DMA framework.
12230
12231 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
12232 (grub_uhci_pci_iter): Fill new members
12233 (grub_alloc_td): Use P2V and V2P functions.
12234 (grub_free_queue): Likewise.
12235 (grub_alloc_qh): Likewise.
12236 (grub_uhci_setup_transfer): Likewise.
12237 (grub_uhci_check_transfer): Likewise.
12238
43206939
VS
122392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12240
12241 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
12242 Remove assignment in if while on it.
12243
571e140e
VS
122442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 * util/grub-mkstandalone.in: Fix modules directory.
12247
a9d96eeb
VS
122482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12249
12250 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
12251 on i386-pc target.
12252 (argp_parser): Accept "auto" as compression specification.
12253
e4e37e8d
VS
122542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 Fix `help' with unloaded modules.
12257
12258 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
12259 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
12260 (grub_dyncmd_dispatcher): Small stylistic fix.
12261 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
12262 explicit help is requested.
12263
e1ea3ade
VS
122642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
12267 Explicitly init restart while on it.
12268
27556881
VS
122692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
12272 uninited variable.
12273
d65f6b36
VS
122742012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * util/grub-mknetdir.in: Use . rather than source for POSIX
12277 compatibility.
12278
0a1e473c
VS
122792012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
12282
ce6647c8
VS
122832012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
12286 variable.
12287
66747894
VS
122882012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
12291 without quotes.
12292
71645f6e
VS
122932012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
12296
0e1c1f61
VS
122972012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
12300 iteration of partitions.
12301
9c4b5c13
VS
123022012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12303
12304 Improve gettext support. Stylistic fixes and error handling fixes while
12305 on it.
12306
215c90cb
VS
123072012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
12310 part. Instead setup the correct stack in RM.
12311 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
12312 for stack.
12313 * include/grub/i386/relocator_private.h: New file.
12314
b5c1f9bf
VS
123152012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12316
12317 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
12318 argument.
12319 * util/grub-fstest.c (options): Add missing DEVICE part.
12320
b525fd83
VS
123212012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 Clarify and unify messages.
12324
12325 * grub-core/commands/hashsum.c (options): Unify messages.
12326 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
12327 literal-only message as translatable.
12328 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
12329 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
12330 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
12331 commands.
12332 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
12333 key, not the key used to unlock. Clarify what it's used for.
12334 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
12335 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
12336 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
12337 * util/grub-editenv.c (options): Unify "verbose" message.
12338 * util/grub-fstest.c (read_file): Unify error message.
12339 (fstest): Add quotes around commands.
12340 (options): Unify "verbose" message.
12341 * util/grub-install.in: Add quotes around variable name.
12342 * util/grub-kbdcomp.in: Unify error message.
12343 * util/grub-mkfont.c (main): Likewise.
12344 * util/grub-mkrescue.in: Likewise.
12345 * util/grub-mklayout.c (options): Unify "verbose" message.
12346 * util/grub-mkstandalone.in: Unify help and verbose messages.
12347 * util/grub-mount.c (options): Unify "verbose" message.
12348 * util/grub-probe.c (options): Likewise.
12349 * util/grub-script-check.c (options): Likewise.
12350 * util/grub-setup.c (setup): Unify no-terminator message.
12351 (options): Use DEVICE and not DEV.
12352 Unify "verbose" message.
12353 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
12354
0ae70393
VS
123552012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12356
12357 Improve and unify messages.
12358
12359 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
12360 name. All users updated.
12361 Print filename in error.
12362 (read_device_map): Print filename in error.
12363 * util/getroot.c (grub_guess_root_devices): Print filename in error.
12364 (grub_util_get_os_disk): Likewise.
12365 (grub_util_biosdisk_get_grub_dev): Likewise.
12366 (grub_util_check_block_device): Likewise.
12367 (grub_util_check_char_device): Likewise.
12368 (grub_make_system_path_relative_to_its_root): Likewise.
12369 * util/grub-editenv.c (create_envblk_file): Likewise.
12370 (open_envblk_file): Likewise.
12371 (write_envblk): Likewise.
12372 * util/grub-fstest.c (cmd_cp): Likewise.
12373 (cmd_cat): Likewise.
12374 (cmd_cmp): Likewise.
12375 * util/grub-menulst2cfg.c (main): Likewise.
12376 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
12377 (write_font_width_spec): Likewise.
12378 (write_font_pf2): Likewise.
12379 * util/grub-mkimage.c (generate_image): New argument outname.
12380 All users updated.
12381 Remove unreacheable message.
12382 (options): Unify messages.
12383 (help_filter): Likewise.
12384 * util/grub-mklayout.c (usage): Removed (unused).
12385 (main): Print filename in error.
12386 * util/grub-mkrescue.in: Fix wrong quoting.
12387 * util/grub-setup.c (setup): Print filename in error.
12388 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
12389 (check_sas): Likewise.
12390 * util/misc.c (grub_util_get_fp_size): Removed.
12391 (grub_util_get_image_size): Print filename in error.
12392 (grub_util_read_at): Removed.
12393 (grub_util_read_image): Print filename in error.
12394 (grub_util_load_image): Likewise.
12395 (grub_util_write_image_at): New argument filename. All users updated.
12396 Print filename in error.
12397 (grub_util_write_image): New argument filename. All users updated.
12398 Print filename in error.
12399 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
12400 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
12401
0a96117d
VS
124022012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * grub-core/Makefile.core.def (pxechain): New module.
12405 * grub-core/loader/i386/pc/pxechainloader.c: New file.
12406 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
12407 function.
12408 (grub_pc_net_config_real): Use grub_pxe_get_cached.
12409 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
12410
aca002f7
VS
124112012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
12414 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
12415 * include/grub/err.h (grub_error_saved): New struct.
12416 (grub_errmsg): Make array size explicit.
12417 * include/grub/misc.h (grub_error_save): New function.
12418 (grub_error_load): Likewise.
12419 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
12420 (grub_error_push): Update `errno' member name.
12421 (grub_error_pop): Likewise
12422 * grub-core/net/tftp.c (tftp_data): New member save_err.
12423 (tftp_receive): Save error.
12424 (tftp_open): Restore error.
12425
a51dab13
VS
124262012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
12429 to real mode down to execute A20-related code in protected mode as
12430 intended.
12431
eb6e6649
GS
124322012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
12433
12434 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
12435 NULL when the argument `level' has an unexpected value.
12436
92cd0f6e
VS
124372012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12438
12439 Move platform-dependent files from $prefix to $prefix/$platform.
12440
12441 * config.h.in (GRUB_TARGET_CPU): New definition.
12442 (GRUB_PLATFORM): Likewise.
12443 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
12444 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
12445 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12446 * grub-core/kern/dl.c (grub_dl_load): Likewise.
12447 * grub-core/normal/autofs.c (read_fs_list): Likewise.
12448 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
12449 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
12450 * grub-core/normal/term.c (read_terminal_list): Likewise.
12451 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
12452 $prefix/locale.
12453 (grub_gettext_init_ext): Likewise.
12454 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
12455 grub_platform.
12456 * util/grub-install.in: Update directories.
12457 * util/grub-mknetdir.in: Likewise.
12458 * util/grub-mkrescue.in: Likewise.
12459
db606889
VS
124602012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12461
12462 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
12463 grub_error framework. All users updated.
12464
c39992a4
VS
124652012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12466
12467 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
12468 lists (by always binsearching), improve caching (cache strings
12469 used for binsearch, not only results), improve
12470 maintainability (by using more structured binary search) and correct
12471 error handling.
12472
1e5ec32f
VS
124732012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12474
12475 * grub-core/script/execute.c (grub_script_return): Fix warning.
12476
ac576cde
VS
124772012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 * grub-core/script/execute.c (grub_script_return): Fix potential
12480 NULL-dereference.
12481 Reported by: Jim Meyering.
12482
498453f6
VS
124832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * po/POTFILES.in: Regenerate.
12486 * util/grub-install.in: Gettextize the strings missed in first pass.
12487
8be63f2e
VS
124882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * Makefile.util.def (grub-mkdevicemap): Removed.
12491 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
12492 * include/grub/util/deviceiter.h: Removed.
12493 * util/deviceiter.c: Likewise.
12494 * util/getroot.c (grub_util_get_os_disk): New function.
12495 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
12496 replacement for EFI.
12497 * util/grub-mkdevicemap.c: Removed.
12498 * util/grub-probe.c (probe): Handle PRINT_DISK.
12499 (argp_parser): Handle -t disk.
12500
8e1e4e39
VS
125012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12502
12503 * util/grub-mkfont.c: Migrate to argp.
12504 * util/grub-mklayout.c: Likewise.
12505 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12506 * util/grub-mkrelpath.c: Likewise.
12507 * util/grub-probe.c: Likewise.
12508 * util/grub-script-check.c: Likewise.
12509
4459819a
VS
125102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 * util/grub-reboot.in: Add missing datarootdir.
12513 Add missing newline.
12514 * util/grub-set-default.in: Add missing datarootdir.
12515 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
12516 * util/grub-mkrescue.in: Likewise.
12517
f65741c7
VS
125182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12519
12520 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
12521
c1a33466
VS
125222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 * util/grub-kbdcomp.in: Add decent help and gettextize.
12525 * docs/man/grub-kbdcomp.h2m: New file.
12526
c76899a0
VS
125272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 Migrate grub-mkimage.c to argp.
12530
12531 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
12532 (grub-setup): Likewise.
12533 * util/grub-setup.c (print_version): Move to ...
12534 * util/argp_common.c (print_version): ... here.
12535 * util/grub-setup.c (argp_program_version_hook): Move to ...
12536 * util/argp_common.c (argp_program_version_hook): ... here.
12537 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
12538 safety.
12539 * util/grub-mkimage.c (main): Migrate to argp.
12540
57db0757
VS
125412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 * util/grub-mkrescue.in: Use same message as
12544 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
12545 for better translations.
12546
18534ad9
VS
125472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12548
12549 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
12550 options with generic grub-mkrescue.in with the goal of future
12551 merge.
12552
c84ba308
VS
125532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12554
12555 * grub-core/kern/mm.c: Add missing include of i18n.h
12556 * grub-core/lib/relocator.c: Likewise.
12557
347998c2
VS
125582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
12561 error.
12562 (allocate_pages): Check return value.
12563 Replace fatal with error.
12564 (grub_linux_boot): Replace printf with dprintf.
12565 Check find_mmap_size return value.
12566 Replace fatal with error.
12567 Don't call grub_machine_fini.
12568 (grub_load_elf64): Replace printf with dprintf.
12569 (grub_cmd_linux): Likewise.
12570 (grub_cmd_initrd): Likewise.
12571 (grub_cmd_payload): Likewise.
12572
c779226e
VS
125732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12574
12575 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
12576 message.
12577 * grub-core/video/radeon_fuloong2e.c
12578 (grub_video_radeon_fuloong2e_setup): Likewise.
12579 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
12580 * grub-core/video/video.c (grub_video_set_mode): Don't override
12581 standard out of memory message.
12582
dc87d45a
GS
125832012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12584
12585 NetBSD disk wedge support.
12586
12587 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
12588 [__NetBSD__]: Handle NetBSD disk wedges.
12589 * util/getroot.c (convert_system_partition_to_system_disk)
12590 [__NetBSD__]: Likewise.
12591
055f856f
MW
125922012-02-03 Mark Wooding <mdw@distorted.org.uk>
12593
12594 * util/grub-mkconfig.in: Use umask rather than chmod to create
12595 grub.cfg.new to avoid insecure grub.cfg.
12596
4a9f8346
VS
125972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12598
12599 * grub-core/commands/ls.c: Gettextize.
12600 * grub-core/commands/setpci.c: Likewise.
12601 * grub-core/commands/videotest.c: Likewise.
12602 * grub-core/disk/geli.c: Likewise.
12603 * grub-core/kern/mm.c: Likewise.
12604 * grub-core/lib/relocator.c: Likewise.
12605 * grub-core/loader/efi/appleloader.c: Likewise.
12606 * grub-core/loader/i386/xnu.c: Likewise.
12607 * grub-core/loader/ia64/efi/linux.c: Likewise.
12608 * grub-core/loader/xnu.c: Likewise.
12609 * grub-core/net/dns.c: Likewise.
12610 * grub-core/net/net.c: Likewise.
12611 * grub-core/script/lexer.c: Likewise.
12612 * grub-core/script/parser.y: Likewise.
12613 * grub-core/script/yylex.l: Likewise.
12614 * util/getroot.c: Likewise.
12615 * util/grub-setup.c: Likewise.
12616
a646a366
VS
126172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12618
12619 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12620 number.
12621
54e2be26
VS
126222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12623
12624 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12625
f7c71e68
VS
126262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12629 macro.
12630 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12631 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12632
a32d5c71
VS
126332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12634
12635 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12636 * util/grub-install.in: Gettextize.
12637 * util/grub-mkconfig.in: Likewise.
12638 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12639 if not available.
12640 (grub_warn): Gettextize.
12641 * util/grub-mknetdir.in: Gettextize.
12642 * util/grub-mkrescue.in: Likewise.
12643 * util/grub-mkstandalone.in: Likewise.
12644 * util/grub-reboot.in: Likewise.
12645 * util/grub-set-default.in: Likewise.
12646 * util/grub.d/00_header.in: Likewise.
12647 * util/grub.d/10_hurd.in: Likewise.
12648 * util/grub.d/10_kfreebsd.in: Likewise.
12649 * util/grub.d/10_linux.in: Likewise.
12650 * util/grub.d/10_netbsd.in: Likewise.
12651 * util/grub.d/10_windows.in: Likewise.
12652 * util/grub.d/20_linux_xen.in: Likewise.
12653 * util/grub.d/30_os-prober.in: Likewise.
12654 * po/POTFILES-shell.in: Regenerate.
12655
69edd81a
RL
126562012-02-03 Richard Laager <rlaager@wiktel.com>
12657
12658 * util/grub-mkimage.c (main): Fix format-security warning.
12659 * util/grub-mkrelpath.c (main): Likewise.
12660 * util/grub-probe.c (main): Likewise.
12661
65f08dbf
RL
126622012-02-03 Richard Laager <rlaager@wiktel.com>
12663
12664 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12665 failure.
12666 Put back lost PRINT_DRIVE.
12667
e9084abe
RL
126682012-02-03 Richard Laager <rlaager@wiktel.com>
12669
12670 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12671 (grub_guess_root_devices): Replace strlen with sizeof.
12672 Avoid crash.
12673 (find_root_devices_from_poolname): Remove unused variable.
12674 Handle raidzN.
12675
cf5f7ee7
VS
126762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 Support install on multi-device filesystems.
12679
12680 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12681 (grub_guess_root_devices): ...this. Return char **. All users updated.
12682 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12683 Removed.
12684 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12685 (find_root_devices_from_poolname): ... here.
12686 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12687 Support zfs-fuse.
12688 (grub_guess_root_device): Rename to ...
12689 (grub_guess_root_devices): ... this. Return char **. All users updated.
12690 * util/grub-install.in: Handle multi-device filesystems.
12691 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12692 argument. All users updated.
12693 Handle multi-device filesystems.
12694 Use 'delim' as separator.
12695 Remove device check to allow filesystems on file.
12696 (main): Support -0 argument. Handle multi-device.
12697 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12698 Fix a cross-device check while on it.
12699 (arguments): Remove root_dev.
12700 (argp_parser): Remove -r.
12701 (main): Remove root_dev.
12702
2f53a9ed
VS
127032012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12706
17e1d934
VS
127072012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12710 symbol.
12711 Reported by: NODA, Kai <nodakai>.
12712
d3e3fab5
VS
127132012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 Fix ehci on amd64.
12716
12717 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12718 pointers.
12719 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12720 (grub_ehci_setup_qh): Likewise.
12721 (grub_ehci_find_qh): Likewise.
12722 (grub_ehci_transaction): Likewise.
12723 (grub_ehci_setup_transfer): Likewise.
12724 (grub_ehci_check_transfer): Likewise.
12725 (grub_ehci_portstatus): Likewise.
12726 (grub_ehci_detect_dev): Likewise.
12727 (grub_ehci_transfer_controller_data): New field td_last_phys.
12728 (grub_ehci_setup_transfer): Fill td_last_phys.
12729 (grub_ehci_check_transfer): Use td_last_phys.
12730
3008675b
SG
127312012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
12732
12733 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12734 if no submenu is present.
12735
fc9b5652
AN
127362012-02-01 Aleš Nesrsta <starous@volny.cz>
12737
12738 CBI support.
12739
12740 * include/grub/usb.h (grub_usbms_protocol_t): New values
12741 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12742 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12743 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12744 (grub_usbms_dev): Add subclass, protocol and intrpt.
12745 Remove in_maxsz and out_maxsz.
12746 (grub_usbms_reset): Rename to ...
12747 (grub_usbms_bo_reset): .. this.
12748 (grub_usbms_cbi_cmd): New function.
12749 (grub_usbms_cbi_reset): Likewise.
12750 (grub_usbms_reset): Likewise.
12751 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
12752 (grub_usbms_transfer): Rename to ...
12753 (grub_usbms_transfer_bo): ... this.
12754 (grub_usbms_transfer_cbi): Likewise.
12755 (grub_usbms_transfer): Likewise.
12756
a2b81d53
AN
127572012-02-01 Aleš Nesrsta <starous@volny.cz>
127582012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12759
12760 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
12761 the support for the CS5536 modification thereos and few bugfixes.
12762
12763 * grub-core/Makefile.core.def (ehci): New module.
12764 * grub-core/bus/usb/ehci.c: New file.
12765 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12766 port and hubaddr. All users updated.
12767 Save port and hubaddr into dev structure.
12768 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12769 define.
12770 * include/grub/pci.h (grub_dma_phys2virt): New function.
12771 (grub_dma_virt2phys): Likewise.
12772 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12773
b1d51f02
VS
127742012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12775
12776 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12777 check as some mkfs implementations omit it.
12778
fc694106
VS
127792012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12782
6c0920e3
VS
127832012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12786 Add new member volname2.
12787 (grub_jfs_label): Use volname2 if available.
12788
d1a46f9a
VS
127892012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12790
12791 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12792 over last_mounted as seen in image generated by mkfs.nilfs2.
12793 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12794
dec8ed14
VS
127952012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12796
12797 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12798 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12799 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12800
7397c69b
VS
128012012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12804 over the sector.
12805
b3fe42ad
VS
128062012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12807
12808 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12809 subvolume name (by removing a bogus and useless check).
12810
10476bb0
VS
128112012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12812
12813 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12814 sizeof while on it.
12815
9c08ad87
VS
128162012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12817
12818 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12819 (grub_scsi_read_capacity10): ... this.
12820 (grub_scsi_read_capacity16): New function.
12821 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12822 0xffffffff.
12823 Fix off-by-one error.
12824 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12825 64-bit unsigned.
12826 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12827 (grub_scsi_read_capacity10): ... this.
12828 (grub_scsi_read_capacity_data): Rename to ...
12829 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12830 (grub_scsi_read_capacity16): New struct.
12831 (grub_scsi_read_capacity16_data): Likewise.
12832 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12833 grub_scsi_cmd_read_capacity10.
12834 New command grub_scsi_cmd_read_capacity16.
12835
bc8d0f45
VS
128362012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 SCSI >2TiB support.
12839
12840 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12841 (grub_scsi_write16): Likewise.
12842 (grub_scsi_read): Use read16 when necessary.
12843 (grub_scsi_write): Likewise.
12844 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12845 (grub_scsi_write16): Likewise.
12846 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12847
cc774926
VS
128482012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 SCSI write support (for usbms mainly).
12851
12852 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12853 a const pointer.
12854 (grub_scsi_write): Implement.
12855 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12856
67639fd7
VS
128572012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12860 variable.
12861
9079d3ed
VS
128622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12863
12864 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12865
c6a6f204
VS
128662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * po/POTFILES.in: Regenerate.
12869
ecbf8cd1
VS
128702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12871
12872 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12873 with grub_printf to avoid unnecessary fatal failure.
12874
0b3b3b38
VS
128752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12876
12877 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12878 (INT_MAX): Likewise.
12879 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12880 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12881 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12882 (strcpy): Likewise.
12883 (strstr): Likewise.
12884 (strchr): Likewise.
12885 (strncpy): Likewise.
12886 (strcat): Likewise.
12887 (strncat): Likewise.
12888 (strcoll): Likewise.
12889 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12890 (GRUB_INT_MAX): Likewise.
12891
db7337a3
VS
128922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12895 unexpected error.
12896 (optimize_utf8): Likewise.
12897 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12898
f37c87e1
VS
128992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12900
12901 * grub-core/boot/i386/pc/lnxboot.S: Use
12902 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12903 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12904 location.
12905 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12906 definition.
12907 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12908
63fe43f3
VS
129092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12912 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12913 now to avoid double free.
12914 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12915 hostdisk.
12916 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12917 * util/grub-probe.c (escape_of_path): Always return a new copy.
12918 (print_full_name): Escape path.
12919 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12920 Fix hints on abstractions.
12921
ebe2c961
VS
129222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12923
12924 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12925 Don't add "root" line if no compatibility hont is available.
12926 Suggested by: Seth Goldberg.
12927
2b5336a2
VS
129282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12929
12930 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12931 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12932 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12933 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12934
74310bd8
VS
129352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12938
c30582ba
VS
129392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 * util/grub-pe2elf.c (ehdr): Make static.
12942 (shdr): Likewise.
12943 (num_sections): Likewise.
12944 (offset): Likewise.
12945
5f47782c
VS
129462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12947
12948 Eliminate ofpath limits and possible overflows.
12949
12950 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12951 (OF_PATH_MAX): Removed.
12952 (MAX_DISK_CAT): New const.
12953 (find_obppath): Use allocated rather than preallocated buffer.
12954 Return result. Argument of_path removed. All users updated.
12955 Add missing fdstat.
12956 (xrealpath): New function.
12957 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12958 Allocate rather than use preallocated buffer. All users updated.
12959 (__of_path_common): Use allocated rather than preallocatecd buffer.
12960 Return result. Argument of_path removed. All users updated.
12961 (vendor_is_ATA): Read only needed part form the file.
12962 (check_sas): Allocate depending on contents rather than fixed.
12963 (main) [STANDALONE]: Handle NULL result.
12964
f990cbf9
VS
129652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12966
12967 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12968
9c6e84b8
VS
129692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12970
12971 Cryptodisk write support.
12972
12973 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12974 (grub_cryptodisk_decrypt): Moved logic to ...
12975 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12976 (grub_cryptodisk_write): Implement.
12977 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12978 (grub_util_fd_write): ... this. Make global.
12979 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12980
87cf9744
VS
129812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 * include/grub/list.h (grub_list_remove): Don't crash if element is
12984 removed twice.
12985
ca8c0baf
VS
129862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12987
12988 Rename ofconsole to console.
12989
12990 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12991 as sysnonym to console.
12992 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12993 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12994 Rename grub_ofconsole_ to grub_console_. All users updated
12995 (grub_console_term_output): Rename "ofconsole" to "console".
12996 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12997 as "console".
12998
64c8b8f6
VS
129992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13000
13001 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
13002 handling.
13003 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
13004 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
13005 GRUB_DISK_DEVICE_FILE_ID.
13006
f6c434d5
VS
130072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13008
13009 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
13010 and improve performance.
13011
5858b42d
VS
130122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13013
13014 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
13015 missing ieee1275/ prefix on whole disk.
13016
4ed3c26b
VS
130172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13018
13019 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
13020 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13021
df71143e
VS
130222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
13025
076e7c0f
VS
130262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13027
13028 Merge common RAID and LVM logic to an abstract diskfilter.
13029 Add LDM support using the same framework.
13030
13031 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
13032 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
13033 (libgrubmods): Remove grub-core/disk/raid.c and
13034 grub-core/partmap/gpt.c.
13035 * grub-core/Makefile.core.def (ldm): New module.
13036 (raid): Renamed to diskfilter. All users updated.
13037 * grub-core/disk/raid.c: Moved to ...
13038 * grub-core/disk/diskfilter.c: ... here.
13039 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
13040 (lv_num): New var.
13041 (find_array): Renamed to ...
13042 (find_lv): ... this. Support multi-LV. Skip nameless LVs
13043 (grub_is_array_readable): Renamed to ...
13044 (grub_is_lv_readable): ... this. Support multinode hierarchy.
13045 (insert_array): New argument id.
13046 (is_node_readable): New function.
13047 (scan_device): Rename to ...
13048 (scan_disk): .. this. Restrict to one disk.
13049 (scan_devices): New function.
13050 (grub_diskfilter_iterate): Support multi-LV.
13051 Skip invisible and nameless LVs.
13052 (grub_diskfilter_memberlist): Support multi-LV.
13053 (grub_diskfilter_read_node): New function.
13054 (grub_raid_read): Most of logic moved to ...
13055 (read_segment): ... here
13056 (read_lv): New function.
13057 (grub_diskfilter_get_vg_by_uuid): New function.
13058 (grub_diskfilter_make_raid): Likewise.
13059 * grub-core/disk/ldm.c: New file.
13060 * grub-core/disk/lvm.c (vg_list): Removed.
13061 (lv_count): Likewise.
13062 (scan_depth): Likewise.
13063 (is_lv_readable): Likewise.
13064 (grub_lvm_getvalue): Advance pointer past the number.
13065 (find_lv): Removed.
13066 (do_lvm_scan): Refactored into ...
13067 (grub_lvm_detect): ... this. Support raid.
13068 (grub_lvm_iterate): Removed.
13069 (grub_lvm_memberlist): Likewise.
13070 (grub_lvm_open): Likewise.
13071 (grub_lvm_close): Likewise.
13072 (read_lv): Likewise.
13073 (read_node): Likewise.
13074 (is_node_readable): Likewise.
13075 (is_lv_readable): Likewise.
13076 (grub_lvm_read): Likewise.
13077 (grub_lvm_write): Likewise.
13078 (grub_lvm_dev): Use diskfilter
13079 (GRUB_MOD_INIT): Likewise.
13080 (GRUB_MOD_FINI): Likewise.
13081 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
13082 new interface.
13083 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
13084 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13085 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
13086 grub_diskfilter_read_node.
13087 Fix a bug with xor.
13088 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
13089 grub_diskfilter_read_node.
13090 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
13091 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
13092 (grub_disk_dev_iterate): Move from here...
13093 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
13094 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
13095 Make global.
13096 (grub_hostdisk_find_partition_start): Likewise.
13097 (grub_hostdisk_os_dev_to_grub_drive): New function.
13098 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
13099 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
13100 * util/getroot.c (make_device_name): ... here.
13101 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
13102 Move to ...
13103 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
13104 * grub-core/kern/emu/hostdisk.c
13105 (convert_system_partition_to_system_disk): Move to ...
13106 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
13107 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
13108 * util/getroot.c (device_is_wholedisk): ... here.
13109 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
13110 * util/getroot.c (find_system_device): ... here.
13111 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
13112 Move to ...
13113 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
13114 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13115 Move to ...
13116 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
13117 Handle LDM.
13118 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13119 Move to ...
13120 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
13121 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
13122 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
13123 DISKFILTER.
13124 * include/grub/raid.h: Renamed to ...
13125 * include/grub/diskfilter.h: ... this.
13126 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
13127 (GRUB_RAID_LAYOUT_*): Make into array.
13128 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
13129 (grub_diskfilter_vg): New struct.
13130 (grub_diskfilter_pv_id): Likewise.
13131 (grub_raid_member): Removed.
13132 (grub_raid_array): Likewise.
13133 (grub_diskfilter_pv): New struct.
13134 (grub_diskfilter_lv): Likewise.
13135 (grub_diskfilter_segment): Likewise.
13136 (grub_diskfilter_node): Likewise.
13137 (grub_diskfilter_get_vg_by_uuid): New proto.
13138 (grub_raid_register): Inline.
13139 (grub_diskfilter_unregister): Likewise.
13140 (grub_diskfilter_make_raid): New proto.
13141 (grub_diskfilter_vg_register): Likewise.
13142 (grub_diskfilter_read_node): Likewise.
13143 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
13144 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
13145 (grub_util_is_ldm): Likewise.
13146 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
13147 (grub_hostdisk_find_partition_start): Likewise.
13148 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
13149 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
13150 New definition.
13151 (grub_gpt_partition_map_iterate): New proto.
13152 * include/grub/lvm.h (grub_lvm_vg): Removed.
13153 (grub_lvm_pv): Likewise.
13154 (grub_lvm_lv): Likewise.
13155 (grub_lvm_segment): Likewise.
13156 (grub_lvm_node): Likewise.
13157 * util/getroot.c [...]
13158 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
13159 (probe_abstraction): Likewise.
13160 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
13161 (main): Remove dead logic.
13162
8a7f9b9c
VS
131632012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 Simplify root device discover and don't fail when trying to open
13166 incorrect devices.
13167
13168 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
13169 function.
13170 (get_diskname_from_path): Likewise.
13171 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
13172 of iterating.
13173
30545b85
VS
131742012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13175
13176 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
13177
28ea58cf
VS
131782012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13179
13180 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
13181 pastthe end.
13182
692dabca
VS
131832012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 * util/grub-install.in: Add missing \.
13186 Reported by: gentoofan
13187
f6e4ea70
VS
131882012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
13191 (direct_read): Use correct compressed size.
13192 (grub_squash_read_data): Likewise.
13193
131942012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
13195
13196 * docs/grub.texi (Platform limitations): New section.
13197 (Platform-specific operations): Likewise.
13198 * docs/grub-dev.texi (Porting): Likewise.
13199
76261110
VS
132002012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 IEEE1275 disk write support.
13203
13204 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
13205 const void *.
13206 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
13207 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
13208 and seek loginc to ...
13209 (grub_ofdisk_prepare): ... here.
13210 (grub_ofdisk_write): Implement.
13211
fc36d603
VS
132122012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13213
13214 ARC disk write support.
13215
13216 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
13217 (reopen): New argument writable. All users updated.
13218 Handle required access mode.
13219 (grub_arcdisk_write): Implement.
13220 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
13221 (grub_arc_firmware_vector): Make buffer to write a const buffer.
13222
e06c2e7a
VS
132232012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13224
13225 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
13226 (read_sblock): Don't attempt to read superblocks outside the disk size.
13227
ff447958
VS
132282012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13229
13230 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
13231 first superblock to find the second one when possible.
13232
9e88df39
VS
132332012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13234
13235 * util/grub-install.in: Fix an ARC bug.
13236 Print a warning if no platform-specific setup is available.
13237
bb26e4ff
VS
132382012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13239
13240 Use static allocation rather than scratch pointer in reed_solomon.
13241 It decreases its size significantly and avoids a variable in .text.
13242
13243 * grub-core/lib/reed_solomon.c (scratch): Removed.
13244 (chosenstat): New const or static array.
13245 (sigma): Likewise.
13246 (errpot): Likewise.
13247 (errpos): Likewise.
13248 (sy): Likewise.
13249 (mstat): Likewise.
13250 (errvals): Likewise.
13251 (eqstat): Likewise.
13252 (pol_evaluate): Replace x with log_x argument. All users updated.
13253 (syndroms): Removed.
13254 (gauss_solve): Use statically allocated arrays.
13255 (rs_recover): Likewise.
13256 Calculate syndroms directly.
13257 (decode_block): Use statically allocated arrays.
13258 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
13259 (main) [TEST]: Allow -DTEST -DSTANDALONE.
13260
2e13ede5
VS
132612012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 Eliminate fixed limit on reed solomon decoder length.
13264
13265 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
13266 rather than hardcoding the address.
13267 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
13268 no_reed_solomon_length.
13269 Move gate_a20 to no-reed-solomon part.
13270 Don't force a particular size of no reed-solomon part.
13271 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13272 Removed.
13273 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
13274 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
13275
f8a9ab12
VS
132762012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * grub-core/commands/wildcard.c (match_files): Handle filenames
13279 without explicit device.
13280 (wildcard_expand): Don't add explicit device if not already present.
13281 * tests/grub_script_echo1.in: Add a new expansion test.
13282
87edb894
VS
132832012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 Replace single-linked with double-linked lists. It results in more
13286 compact and more efficient code.
13287
13288 * grub-core/kern/list.c (grub_list_push): Moved from here ...
13289 * include/grub/list.h (grub_list_push): ... to here. Set prev.
13290 (grub_list_remove): Moved from here ...
13291 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
13292 (grub_prio_list_insert): Set prev.
13293 * include/grub/list.h (grub_list): Add prev. All users updated.
13294
48b391e9
VS
132952012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 Handle newer autotools. Add some missing quotes while on it.
13298
13299 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
13300 (pkglib_DATA): Move grub-mkconfig_lib from here ...
13301 (pkgdata_DATA): ... here.
13302 * Makefile.util.def (update-grub_lib): Removed.
13303 * conf/Makefile.common (pkglib_DATA): Removed.
13304 (pkglib_SCRIPTS): Likewise.
13305 (pkgdata_DATA): New variable.
13306 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
13307 needed.
13308 Add missing quotes.
13309 Remove unused variable while on it.
13310 * tests/util/grub-shell.in: Likewise.
13311 * util/grub-install.in: Likewise.
13312 * util/grub-mkconfig.in: Likewise.
13313 * util/grub-mknetdir.in: Likewise.
13314 * util/grub-mkrescue.in: Likewise.
13315 * util/grub-mkstandalone.in: Likewise.
13316 * util/grub.d/00_header.in: Likewise.
13317 * util/grub.d/10_hurd.in: Likewise.
13318 * util/grub.d/10_illumos.in: Likewise.
13319 * util/grub.d/10_kfreebsd.in: Likewise.
13320 * util/grub.d/10_linux.in: Likewise.
13321 * util/grub.d/10_netbsd.in: Likewise.
13322 * util/grub.d/10_windows.in: Likewise.
13323 * util/grub.d/20_linux_xen.in: Likewise.
13324 * util/grub.d/30_os-prober.in: Likewise.
13325 * util/update-grub_lib.in: Removed.
13326
133272012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
13328
13329 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
13330 a workaround for intel problem.
13331
66832792
PRP
133322012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
133332012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
133342012-01-23 pfsmorigo
13335
13336 * util/grub-install.in: Support dd'in into PreP partition.
13337 * util/grub-probe.c (probe): Support discovering partition type.
13338 (main): Support -t msdos_parttype.
13339
7816a17e
VS
133402012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13341
13342 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
13343 infinite recursion using counter.
13344 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
13345 init to skip it if the magic check fails.
13346 (dec_stream_header): Init s->crc32.
13347
8f9d3a8c
ZB
133482012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
133492012-01-22 Zachary Bedell <pendorbound@gmail.com>
133502012-01-22 Richard Laager <rlaager@wiktel.com>
13351
13352 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
13353 All users updated.
13354 (find_bestub): Determine correct size.
13355 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
13356 (scan_disk): Align the size down.
13357 Call check pool before find_bestub to have ashift.
13358
b055dd32
VS
133592012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13360
13361 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
13362 dprintf in no-malloc zone.
13363
d779e9bd
ML
133642012-01-22 Mario Limonciello <mario_limonciello@dell.com>
13365
13366 * configure.ac: Add back in test for limits.h.
13367
b508af69
VS
133682012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 Support 4K-sector NTFS.
13371
13372 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
13373 (grub_ntfs_data): Remove blocksize.
13374 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
13375 Remove data argument. All users updated.
13376
dad9c8b5
VS
133772012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
13380 being in .text to avoid dprel references.
13381 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
13382 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
13383 (grub_arch_highmemsize): Likewise.
13384 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
13385 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
13386 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
13387
d43a777e
VS
133882012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13389
13390 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
13391
13392 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
13393 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
13394
34e4208f
VS
133952012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
13398 GRUB_UTIL.
13399 (grub_set_datetime_cmos): Likewise.
13400
3ec0fc1c
VS
134012012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 Make XZ compression parameters dependent on target and not host CPU.
13404
13405 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
13406 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
13407
22489834
VS
134082012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13409
13410 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
13411 set but not used variable.
13412
8502fbca
VS
134132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13414
13415 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
13416 created when no uuid support is compiled into mkfs.reiser.
13417
76df2068
VS
134182012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13419
13420 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
13421 (utf8_to_macroman): Do the opposite.
13422 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
13423
64e3f8f6
VS
134242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13425
13426 * configure.ac: Refise build qemu_mips w/o unifont.
13427
9c271078
VS
134282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 Eliminate grub_min/grub_max prone to overflow usage.
13431
13432 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
13433 (poll_nonroot_hub): Likewise.
13434 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
13435 (grub_affs_label): Likewise.
13436 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
13437 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
13438 (grub_hfs_label): Likewise.
13439 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
13440 * grub-core/fs/zfs/zfs.c (MIN): Remove.
13441 (zap_leaf_array_equal): Use grub_size. Remove MIN.
13442 (zap_leaf_array_get): Likewise.
13443 (dnode_get_path): Likewise.
13444 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
13445 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
13446 * grub-core/script/execute.c (grub_script_break): Likewise.
13447 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
13448 grub_max.
13449 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
13450 * include/grub/misc.h (grub_min): Removed.
13451 (grub_max): Likewise.
13452
80662dbc
VS
134532012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13454
13455 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
13456 direct.inode = 0.
13457
e6da1467
VS
134582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13459
13460 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
13461
b1ac4cb1
VS
134622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13463
13464 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
13465
b4bf7c3b
VS
134662012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13467
13468 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
13469 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
13470
8ee1101a
VS
134712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13472
13473 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
13474 rather than a hack for grub_strncasemap.
13475
134762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13477
13478 Support multiple initrds
13479 Note: part of this was accidently committed in r3739.
13480
13481 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
13482 initrd.
13483 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
13484 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
13485 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13486 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13487 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13488
4d1e2bc9
VS
134892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
13492 disks with unknown size.
13493 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
13494
75b49ebe
VS
134952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13496
13497 Remove defines pertaining to arbitrary limits not affecting GRUB
13498 anymore.
13499
13500 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
13501 (EXT2_MAX_SYMLINKCNT): Likewise.
13502 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
13503 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
13504 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
13505 (GRUB_PXE_MAX_BLKSIZE): Likewise.
13506 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
13507 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
13508 (DN_MAX_OBJECT_SHIFT): Likewise.
13509 (DN_MAX_OFFSET_SHIFT): Likewise.
13510 (DN_MAX_OBJECT): Likewise.
13511 (DNODES_PER_LEVEL_SHIFT): Likewise.
13512 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
13513 (SPA_MAXBLOCKSIZE): Likewise.
13514 (SPA_BLOCKSIZES): Likewise.
13515 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
13516 (MZAP_MAX_BLKSZ): Likewise.
13517
74a1dce7
VS
135182012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
13521 handle NULL appropriately.
13522 Remove MIN.
13523
30c7d3ce
VS
135242012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 Fix efiemu.
13527
13528 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
13529 cpu/types.h.
13530 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
13531 * configure.ac: Fix efiemu check.
13532
3c76ea0c
VS
135332012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
13536 grub_probe.
13537 Reported by: adamwill
13538
7e532280
SG
135392012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
13540
13541 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
13542
30492374
VS
135432012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 Fix handling of wide characters in gfxterm.
13546
13547 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
13548 (clear_char): Likewise.
13549 (paint_char): Skip code == NULL chars.
13550 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
13551
e70cb72f
VS
135522012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13553
13554 * grub-core/normal/charset.c: Move comment to right place.
13555
5c827cf9
VS
135562012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13557
13558 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
13559 (GRUB_AFFS_FLAG_FFS): Put back where it was.
13560 (grub_affs_mount): Revert the correct version checking.
13561
53603892
VS
135622012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13563
13564 * docs/grub.texi (Unicode): Mention several other unsupported features.
13565
ff094b9b
VS
135662011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13567
13568 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
13569 case statements as compile-time one.
13570 (direct_read): Prevent spurious warnings.
13571 (grub_squash_read_data): Likewise.
13572
c029da8a
VS
135732011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 Various squash4 fixes and LZO and XZ support.
13576
13577 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
13578 Add xzembed source files.
13579 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
13580 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
13581 (grub_squash_inode): New subtype long_dir.
13582 (SQUASH_TYPE_LONG_DIR): New inode type.
13583 (COMPRESSION): New enum.
13584 (XZBUFSIZ): New const.
13585 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
13586 (read_chunk): Use data->decompress.
13587 (zlib_decompress): New function.
13588 (lzo_decompress): Likewise.
13589 (xz_decompress): Likewise.
13590 (squash_mount): Set new data fields.
13591 (grub_squash_iterate_dir): Handle long dir.
13592 (squash_unmount): Free xzdec and xzbuf.
13593 (grub_squash_open): Check ino type.
13594 (direct_read): Stylistic fixes. Use data->decompress.
13595 (grub_squash_read_data): Likewise.
13596 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13597 (get_byte): Likewise.
13598 (grub_zlib_disk_read): Removed.
13599 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13600 (GRUB_POSIX_BOOL_DEFINED): New define.
13601 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13602 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13603 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13604 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13605
7a45a539
VS
136062011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 Don't override more informative errors.
13609
13610 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13611 * grub-core/font/font.c (open_section): Likewise.
13612 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13613 filename. Don't override errors.
13614 (grub_cmd_openbsd_ramdisk): Don't override errors.
13615 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13616 (grub_cmd_initrd): Likewise.
13617 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13618 (grub_cmd_initrd): Likewise.
13619 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13620 (grub_cmd_linux): Likewise.
13621 (grub_cmd_initrd): Likewise.
13622 (grub_cmd_payload): Likewise.
13623 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13624 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13625 (grub_cmd_module): Likewise.
13626 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13627 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13628 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13629 (grub_cmd_xnu_mkext): Likewise.
13630 (grub_cmd_xnu_ramdisk): Likewise.
13631 (grub_xnu_check_os_bundle_required): Likewise.
13632 (grub_xnu_load_kext_from_dir): Likewise.
13633 (grub_cmd_xnu_kextdir): Likewise.
13634 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13635
b2d004db
VS
136362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13639 as 1024 in block size field. Found on one of my test images.
13640 Small optimisation while on it.
13641
ec000eac
VS
136422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13645 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13646 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13647 performance fixes while on it.
13648 (grub_sfs_close): Fix memory leak while on it.
13649 (grub_sfs_label): Convert Latin1 to UTF-8.
13650
f50e1165
VS
136512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13654 space to avoid overflows.
13655 (grub_hfs_label): Convert from macroman to UTF-8.
13656
2ae254de
VS
136572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13658
13659 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13660
0108f491
VS
136612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13662
13663 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13664
f45f5f89
VS
136652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13666
13667 * unicode: Import Unicode 6.0 data.
13668
4d8c4765
VS
136692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13670
63fa8ef9
VS
13671 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13672 outside of range.
13673
136742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
13677
13678 * include/grub/charset.h (grub_getend): New function.
13679 * grub-core/script/function.c (grub_script_function_find): Use
13680 grub_getend.
13681 * grub-core/normal/completion.c (add_completion): Likewise.
13682
f3cb4a4e
VS
136832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13686 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13687 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13688 (GRUB_UNICODE_TAG_END): Likewise.
13689 (GRUB_UNICODE_LAST_VALID): Likewise.
13690
5da8dbc5
VS
136912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13694 len and make it smaller. All users updated.
13695 * util/import_unicode.py: Put length and not end character.
13696 Check length.
13697
8569f13d
VS
136982011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13699
13700 Make better Unicode-compliant and unify some UTF-8 code pathes.
13701
13702 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13703 valid character.
13704 (grub_is_valid_utf8): Use grub_utf8_process.
13705 Check resulting code range.
13706 (grub_utf8_to_ucs4): Use grub_utf8_process.
13707 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13708 valid character.
13709
cc4fddf5
VS
137102011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13711
13712 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13713
bbc47747
VS
137142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13715
13716 * docs/grub.texi (Filesystems): Mention AFS.
13717
f63d6bf4
VS
137182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13719
13720 * docs/grub.texi (Filesystems): Clarify restrictions.
13721 (Regexp): Mention non-Unicode regexp behaviour.
13722 (Other): Mention non-Unicode matching behaviour.
13723
74bbf0db
VS
137242011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13725
f63d6bf4 13726 Make HFS implementation use MacRoman.
74bbf0db
VS
13727
13728 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
13729 (macroman): New const array.
13730 (macroman_to_utf8): New function.
13731 (utf8_to_macroman): Likewise.
13732 (grub_hfs_find_dir): Use utf8_to_macroman.
13733 (grub_hfs_dir): Use macroman_to_utf8.
13734 Set case_insensitive.
13735
4ea0316e
VS
137362011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13739
d3c13cbd
VS
137402011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 Integrate hints into autogeneration scripts.
13743
13744 * docs/grub.texi (Filesystems): Add a hostdisk example.
13745 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13746 (grub-probe): Add ofpath.
13747 * gentpl.py: Remove group nosparc64.
13748 * grub-core/commands/search.c (cache_entry): New struct.
13749 (cache): New var.
13750 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
13751 * grub-core/commands/search_wrap.c (options): Add platform-specific
13752 hint options.
13753 (grub_cmd_search): Handle platform-specific hints.
13754 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
13755 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
13756 (grub_util_biosdisk_data): Likewise.
13757 (grub_util_biosdisk_open): Set device_map.
13758 (read_device_map): Handle "" as indication of no map.
13759 Set device_map.
13760 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
13761 (grub_util_biosdisk_get_compatibility_hint): New function.
13762 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
13763 * include/grub/emu/hostdisk.h
13764 (grub_util_biosdisk_get_compatibility_hint): New proto.
13765 * util/grub-install.in: Don't call grub-mkdevicemap.
13766 Add platform-specific hint to load.cfg.
13767 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13768 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13769 hints. Set root preliminary to compatibility hint, not to OS name.
13770 * util/grub-probe.c (PRINT_*): Add hints.
13771 (print): Make static.
13772 (escape_of_path): New function.
13773 (guess_bios_drive): Likewise.
13774 (guess_efi_drive): Likewise.
13775 (guess_baremetal_drive): Likewise.
13776 (print_full_name): Likewise.
13777 (probe): Handle hints.
13778 (main): Likewise.
13779 * util/ieee1275/devicemap.c: Removed.
13780 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13781 updated.
13782 (grub_util_devname_to_ofpath): Return NULL on failure.
13783
13784 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13785 resource leak.
13786 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13787
13788 * po/POTFILES.in: Regenerated.
13789
13790 Allow purely long options
13791
13792 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13793 (SHORT_ARG_USAGE): Likewise.
13794 (grub_arg_show_help): Compare opt with help_options.
13795 (parse_option): Receive opt as argument. If makes big simplificatons.
13796 All users updated
13797
00ce2df3
VS
137982011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13799
13800 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13801 Restructure to avoid warning.
13802
e77e325f
VS
138032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 * util/grub-install.in: Account for possible escaped comma in device
13806 name.
13807
165099ea
VS
138082011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
13811 channel.
13812
ce4a999d
VS
138132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13816 allocation and zero-setting.
13817 (grub_ieee1275_get_devname): Check that alias is complete.
13818
379586ad
VS
138192011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13822 unaligned segments.
13823
9197b0ad
VS
138242011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13825
13826 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13827 prefix.
13828 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13829 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13830 Add ieee1275 prefix.
13831
edddb7f9
VS
138322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13833
13834 * docs/grub.texi (Filesystems): Update.
13835
a1a8b1b9
VS
138362011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13837
13838 Support odc, newc and bigendian cpio formats.
13839
13840 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13841 * grub-core/Makefile.core.def (newc): New module.
13842 (odc): Likewise.
13843 (cpio_be): Likewise.
13844 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13845 (MAGIC): Likewise.
13846 (MAGIC2): Likewise.
13847 (head) [MODE_ODC]: Adapt for the format.
13848 (head) [MODE_NEWC]: Likewise.
13849 (head) [!MODE_*]: Write fields of interest as arrays.
13850 (MAGIC_USTAR): Removed.
13851 (read_number) [MODE_NEWC]: Change to hex.
13852 (read_number) [!MODE_*]: Parse binary arrays.
13853 (grub_cpio_find_file): Factor out the code for better structure and
13854 always use read_number.
13855 (grub_cpio_mount): Use MAGIC and MAGIC2.
13856 (grub_cpio_dir): Exit on first hook non-0 return.
13857 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13858 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13859 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13860 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13861 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13862 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13863 * grub-core/fs/newc.c: New file.
13864 * grub-core/fs/odc.c: Likewise.
13865 * grub-core/fs/cpio_be.c: Likewise.
13866
58eba9ee
VS
138672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13868
13869 Fix handling of tar numbers occupying the whole field.
13870
13871 * grub-core/fs/cpio.c (read_number): New function.
13872 (grub_cpio_find_file): Use read_number instead of strtoull.
13873
a54a0e12
VS
138742011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13877 occupying the whole field size.
13878
a6120aca
LA
138792011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13880
13881 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13882
a93964ce
VS
138832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13886
3ea1ca46
SG
138872011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13888
13889 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13890 TARGET_IMG_LDFLAGS.
13891
b87f7ef2
VS
138922011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13893
13894 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13895 (mountinfo_entry): Increase the field size to take escaping into
13896 account.
13897 (find_root_device_from_libzfs): Add one byte to size of strings for
13898 security.
13899
62092395
VS
139002011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13903 an assert.
13904 * util/grub-setup.c (setup): Likewise.
13905
1f0b1a77
VS
139062011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13909 _LzmaDecodeA.
13910
8eba9997
VS
139112011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13912
13913 * docs/grub.texi (Internationalisation): New section.
13914
dd0c91e9
VS
139152011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13916
13917 * docs/grub.texi (Loopback booting): New section.
13918
139192011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13920
13921 * util/grub-mkstandalone.in: Fix minor typo errors.
13922
198e150a
VS
139232011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13926
13927 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13928 net/icmp.c and net/icmp6.c.
13929 (http): New module.
13930 (priority_queue): Likewise.
13931 * grub-core/io/bufio.c: Rewritten.
13932 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13933 TYPE_WITH_CONFIGFILE_OPTION.
13934 (legacy_commands): Add bootp and dhcp.
13935 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13936 (grub_legacy_parse): Likewise.
13937 * grub-core/lib/priority_queue.c: New file.
13938 * grub-core/net/arp.c: Add missing license header.
13939 (arp_find_entry): Removed.
13940 (arp_find_entry): Likewise.
13941 (grub_net_arp_resolve): Rename to ...
13942 (grub_net_arp_send_request): ...this.
13943 (grub_net_arp_receive): New card argument.
13944 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13945 Set router and DNS server.
13946 (grub_net_configure_by_dhcp_ack): Handle routing information.
13947 (grub_cmd_bootp): Set checksum.
13948 (grub_bootp_init): Remove net_dhcp.
13949 * grub-core/net/dns.c: New file.
13950 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13951 completion.
13952 (get_card_packet): Handle allocation.
13953 (grub_efinet_findcards): Set mtu.
13954 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13955 (get_card_packet): Handle allocation.
13956 (emucard): Set mtu.
13957 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13958 (GRUB_MOD_INIT): Set mtu.
13959 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13960 mtu.
13961 (get_card_packet): Handle allocation.
13962 (grub_ofnet_findcards): Set mtu.
13963 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13964 assert.
13965 (grub_net_recv_ethernet_packet): Handle IPv6.
13966 * grub-core/net/http.c: New file.
13967 * grub-core/net/icmp.c: Likewise.
13968 * grub-core/net/icmp6.c: Likewise.
13969 * grub-core/net/ip.c (ip6addr): New type.
13970 (ip6hdr): Likewise.
13971 (reassemble): Likewise.
13972 (cmp): New function.
13973 (reassembles): New variable.
13974 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13975 (id): New variable.
13976 (send_fragmented): New function.
13977 (grub_net_send_ip_packet): Rename to ...
13978 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13979 Handle non-UDP.
13980 (grub_net_recv_ip_packets): Rename to ...
13981 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13982 (free_rsm): New function.
13983 (free_old_fragments): Likewise.
13984 (grub_net_recv_ip4_packets): New function.
13985 (grub_net_send_ip6_packet): Likewise.
13986 (grub_net_send_ip_packet): Likewise.
13987 (grub_net_recv_ip6_packets): Likewise.
13988 (grub_net_recv_ip_packets): Likewise.
13989 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13990 (LINK_LAYER_CACHE_SIZE): New const.
13991 (link_layer_find_entry): New function.
13992 (grub_net_link_layer_add_address): Likewise.
13993 (grub_net_link_layer_resolve_check): Likewise.
13994 (grub_net_link_layer_resolve): Likewise.
13995 (grub_net_ipv6_get_slaac): Likewise.
13996 (grub_net_ipv6_get_link_local): Likewise.
13997 (grub_cmd_ipv6_autoconf): Likewise.
13998 (parse_ip): Handle one number representation.
13999 (parse_ip6): New functoion.
14000 (match_net): Handle IPv6.
14001 (grub_net_resolve_address): Handle IPv6 and DNS.
14002 (grub_net_resolve_net_address): Handle IPv6.
14003 (route_cmp): New function.
14004 (grub_net_route_address): Find best route.
14005 (grub_net_addr_to_str): Handle IPv6.
14006 (grub_net_addr_cmp): New function.
14007 (grub_net_add_addr): Register local route.
14008 (print_net_address): Handle net address.
14009 (grub_net_poll_cards): Retransmit TCP.
14010 (grub_net_poll_cards_idle_real): Likewise.
14011 (have_ahead): New function.
14012 (grub_net_seek_real): Use underlying seek.
14013 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
14014 * grub-core/net/tcp.c: New file.
14015 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
14016 (cmp): New function.
14017 (ack): Likewise.
14018 (tftp_receive): Handle unordered input.
14019 (destroy_pq): New function.
14020 (tftp_close): Close pq.
14021 * grub-core/net/udp.c: Put missing license header.
14022 (grub_net_udp_socket): New function.
14023 (udp_socket_register): Likewise.
14024 (grub_net_udp_close): Likewise.
14025 (grub_net_recv_udp_packet): Check checksum.
14026 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
14027 * include/grub/misc.h (grub_memchr): New function.
14028 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
14029 (grub_net_card_driver): Return buf in recv.
14030 (grub_net_slaac_mac_list): New struct.
14031 (grub_network_level_protocol_id): Add ipv6.
14032 (grub_net_network_level_addr): Likewise.
14033 (grub_net_network_level_net_addr): Likewise.
14034 (grub_net_app_protocol): Add seek.
14035 (grub_net_socket): Removed.
14036 (grub_net_sockets): Likewise.
14037 (grub_net_socket_register): Likewise.
14038 (grub_net_socket_unregister): Likewise.
14039 (FOR_NET_SOCKETS): Likewise.
14040 (grub_net_add_addr): Add const.
14041 (GRUB_NET_BOOTP_*): New enum.
14042 (grub_net_addr_cmp): New proto.
14043 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
14044 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
14045 (grub_net_hwaddr_to_str): NEw proto.
14046 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
14047 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
14048 (grub_dns_init): New proto.
14049 (grub_dns_fini): Likewise.
14050 (grub_net_tcp_retransmit): Likewise.
14051 (grub_net_link_layer_add_address): Likewise.
14052 (grub_net_link_layer_resolve_check): Likewise.
14053 (grub_net_link_layer_resolve): Likewise.
14054 (grub_net_dns_lookup): Likewise.
14055 (grub_net_add_dns_server): Likewise.
14056 (grub_net_remove_dns_server): Likewise.
14057 (GRUB_NET_TRIES): New const.
14058 (GRUB_NET_INTERVAL): Likewise.
14059 * include/grub/net/arp.h: Mostly rewritten.
14060 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
14061 * include/grub/net/ip.h: Mostly rewritten.
14062 * include/grub/net/netbuff.h: Indent.
14063 * include/grub/net/tcp.h: New file.
14064 * include/grub/net/udp.h: Mostly rewritten.
14065 * include/grub/priority_queue.h: New file.
14066 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
14067 (grub_swap_bytes64_compile_time): Likewise.
14068 (grub_cpu_to_be16_compile_time): Likewise.
14069 (grub_cpu_to_be32_compile_time): Likewise.
14070 (grub_cpu_to_be64_compile_time): Likewise.
14071 (grub_be_to_cpu64_compile_time): Likewise.
14072
215c1800
VS
140732011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
14076 UINT_TO_PTR with cast.
14077
c17e546c
VS
140782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14079
14080 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
14081 don't use them.
14082
ff6b18b6
VS
140832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14084
14085 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
14086 already there.
14087
70ffcc93
VS
140882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14089
14090 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
14091 confusing ipxe.
14092
e5f4d260
VS
140932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14094
14095 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
14096 Add missing const attribute.
14097 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
14098 Likewise.
14099 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
14100 Likewise.
14101
8e54b4b7
VS
141022011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
14105 misaligned access.
14106 (serpent_setkey): Likewise.
14107 (serpent_encrypt_internal): Likewise.
14108 (serpent_decrypt_internal): Likewise.
14109 (serpent_encrypt): Don't put an alignment-increasing cast.
14110 (serpent_decrypt): Likewise.
14111 (serpent_test): Likewise.
14112
813c0a2b
VS
141132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14114
14115 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
14116
f2b60fbd
VS
141172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14118
14119 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
14120
14121 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
14122 grub_addr_t casts.
14123 (PTR_TO_UINT64): Likewise.
14124 (PTR_TO_UINT32): Likewise.
14125
5ef5c511
VS
141262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14127
14128 * util/grub-mkimage.c (generate_image): Decrease the higher limit
14129 because of stack.
14130 * util/grub-setup.c (setup): Don't add redundancy past the higher load
14131 limit.
14132
c476e6df
VS
141332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14134
14135 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
14136 text_width > available width a bit more gracefully.
14137
384ad7cc
VS
141382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
14141 current address calculation.
14142
96f8caf8
VS
141432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14144
14145 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
14146 stack.
14147 (encode_block): Likewise.
14148
276b7a8b
VS
141492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14150
14151 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
14152 certainety.
14153
e3fd394a
VS
141542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14155
14156 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
14157 non-RS part to avoid RS messing with GDT.
14158 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14159 Increase to suit in realmode routines.
14160
141612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * grub-core/kern/i386/realmode.S: Increase alignment.
14164 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
14165
ee9c2e7a
VS
141662011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14167
14168 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
14169 be deterministic.
14170 (syndroms): Compute 0 syndrom.
14171 (rs_recover): Use 0 syndrom.
14172
7a7f7cc9
VS
141732011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14174
14175 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
14176
a14b16d1
VS
141772011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14178
14179 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
14180 brackets.
14181
9f59e9fc
VS
141822011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14183
ca1b552c
VS
14184 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
14185 account.
14186 (get_top_pad): Likewise.
14187 (get_right_pad): Likewise.
14188 (get_bottom_pad): Likewise.
14189
141902011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14191
14192 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 14193
e739d698
VS
141942011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14195
14196 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
14197 attribute as the structure isn't guaranteed to be properly aligned.
14198 (grub_efi_pci_device_path): Likewise.
14199 (grub_efi_pccard_device_path): Likewise.
14200 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
14201 specify the size of `memory_type'.
14202 (grub_efi_vendor_device_path): Likewise.
14203 (grub_efi_controller_device_path): Likewise.
14204 (grub_efi_acpi_device_path): Likewise.
14205 (grub_efi_expanded_acpi_device_path): Likewise.
14206 (grub_efi_atapi_device_path): Likewise.
14207 (grub_efi_scsi_device_path): Likewise.
14208 (grub_efi_fibre_channel_device_path): Likewise.
14209 (grub_efi_1394_device_path): Likewise.
14210 (grub_efi_usb_device_path): Likewise.
14211 (grub_efi_usb_class_device_path): Likewise.
14212 (grub_efi_i2o_device_path): Likewise.
14213 (grub_efi_mac_address_device_path): Likewise.
14214 (grub_efi_ipv4_device_path): Likewise.
14215 (grub_efi_ipv6_device_path): Likewise.
14216 (grub_efi_infiniband_device_path): Likewise.
14217 (grub_efi_uart_device_path): Likewise.
14218 (grub_efi_vendor_messaging_device_path): Likewise.
14219 (grub_efi_hard_drive_device_path): Likewise.
14220 (grub_efi_cdrom_device_path): Likewise.
14221 (grub_efi_vendor_media_device_path): Likewise.
14222 (grub_efi_file_path_device_path): Likewise.
14223 (grub_efi_protocol_device_path): Likewise.
14224 (grub_efi_piwg_device_path): Likewise.
14225 (grub_efi_bios_device_path): Likewise.
14226
cb8f88ea
VS
142272011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14228
14229 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
14230 (grub_ucs4_to_utf8_alloc): Likewise.
14231 (grub_ucs4_to_utf8): Likewise.
14232 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
14233 (grub_ucs4_to_utf8_alloc): Likewise.
14234
309e5352
VS
142352011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14236
14237 AFFS never uses unicode.
14238
14239 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
14240 (grub_latin1_to_utf8): New inline function.
14241 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
14242
e7987e1b
VS
142432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
14246 overflow.
14247
efc2616e
VS
142482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14249
14250 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
14251 (grub_squash_dirent_header): Likewise.
14252 (read_chunk): Don't double swap.
14253 (grub_squash_iterate_dir): Fix swap sizes.
14254
3c349f5a
VS
142552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14256
14257 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
14258
b453412d
VS
142592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
14262 (grub_hfs_iterate_dir): Likewise.
14263
12e9d4d1
VS
142642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 Fix video on platforms where unaligned access is forbidden.
14267 Make several optimisations while on it.
14268
14269 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
14270 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14271 (grub_video_fbblit_replace_32bit_1bit): Likewise.
14272 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14273 Disable.
14274 (grub_video_fbblit_replace_16bit_1bit):
14275 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14276 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14277 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
14278 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
14279 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14280 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14281 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
14282 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
14283 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
14284 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
14285 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
14286 (grub_video_fbblit_replace_index_RGB888): Likewise.
14287 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
14288 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
14289 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
14290 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
14291 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
14292 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14293 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14294 Disable.
14295 (grub_video_fbblit_blend_XXX565_1bit):
14296 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14297 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
14298 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
14299 void *.
14300 * grub-core/video/fb/video_fb.c (common_blitter)
14301 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
14302 (grub_video_fb_create_render_target_from_pointer)
14303 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
14304 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
14305 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
14306 definition.
14307 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
14308
ace96609
VS
143092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
14312 HH22 and HM10 relocations.
14313
fd261d73
VS
143142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14315
14316 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
14317
e59b7857
VS
143182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14319
14320 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
14321 allocation succeeded.
14322
9b4baaa4
VS
143232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14324
14325 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
14326 argument a u8 pointer. All users updated.
14327 Handle unaligned buffers.
14328
dc713193
VS
143292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14330
14331 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
14332 add_part to workaround compiler bug.
14333
30dd48c2
VS
143342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
14337
0c6087a8
VS
143382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
14341 Reserve alignment invariants.
14342 (grub_multiboot_load): Likewise.
14343 (retrieve_video_parameters): Likewise.
14344 (grub_multiboot_make_mbi): Likewise.
14345
c2e77777
VS
143462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14347
14348 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
14349 incorrect pointer.
14350
b70b6d11
VS
143512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
14354 (grub_pata_pio_write): Likewise.
14355
02a2bf83
VS
143562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 Add noreturn attributes and remove unreachable code.
14359
14360 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
14361 code.
14362 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
14363 code. Mark as noreturn.
14364 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
14365 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
14366 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
14367 unreachable code.
14368 * grub-core/kern/main.c (grub_main): Mark as noreturn.
14369 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
14370 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
14371 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
14372 * include/grub/kernel.h (grub_main): Mark as noreturn.
14373 * include/grub/reader.h (grub_rescue_run): Likewise.
14374
2019d09e
VS
143752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14376
14377 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
14378 redundant declaration.
14379
d1c501ee
VS
143802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14381
14382 * include/grub/net.h (grub_net_network_level_interfaces): Remove
14383 redundant declaration.
14384 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
14385
61664420
VS
143862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
14389 to ensure alignment.
14390 (grub_hdparm_print_identify): Make argument uint16 * to ensure
14391 alignment. Ensure tmp alignment.
14392 (grub_cmd_hdparm): Ensure buf alignment.
14393 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
14394 to ensure alignment.
14395 (grub_ata_dumpinfo): Ensure text alignment.
14396 (grub_atapi_identify): Preserve alignment invariant.
14397 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
14398
0d51ee20
VS
143992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14400
14401 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
14402 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
14403 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
14404 * include/grub/misc.h (grub_reboot)
14405 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
14406 (grub_halt) [__mips__]: Likewise.
14407
753ef8c1
VS
144082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14409
14410 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
14411 Remove redundant declaration.
14412 (grub_mmap_get_post64): Likewise.
14413 (grub_mmap_get_upper): Likewise.
14414 (grub_mmap_get_lower): Likewise.
14415
85c85365
VS
144162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
14419 uint32_t * to ensure alignment.
14420 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
14421
a23f2cc4
VS
144222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14423
93018f64
VS
14424 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
14425 uint16_t * to ensure alignment.
14426 (sun_pc_partition_map_iterate): Make `block' a union to ensure
14427 alignment.
14428
144292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14430
14431 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
14432 to ensure alignment.
14433 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
14434
58acccd6
VS
144352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 * grub-core/fs/ntfs.c (u16at): Make into inline function.
14438 Handle unaligned pointers.
14439 (u32at): Likewise.
14440 (u64at): Likewise.
14441 (fixup): Use byte access instead of v16at.
14442 (find_attr): Fix imporper usage of v32at.
14443 (read_data): Likewise.
14444 (list_file): Handle byte-swapping and unaligned strings.
14445 (grub_ntfs_label): Likewise.
14446
9b05cad7
VS
144472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14448
14449 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
14450 as it's not necessarily aligned.
14451
b3950b84
VS
144522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
14455 redundant declaration.
14456 (grub_serial_init): Likewise.
14457 (grub_terminfo_init): Likewise.
14458
fcd232b7
VS
144592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14460
14461 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
14462 function.
14463 (ZAP_HASH_IDX): Likewise.
14464 (ZAP_LEAF_HASH_SHIFT): Likewise.
14465 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
14466 (LEAF_HASH): Likewise.
14467 (ZAP_LEAF_NUMCHUNKS): Likewise.
14468 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
14469 alignment invariants. Return pointer. All users updated.
14470 (ZAP_LEAF_ENTRY): Make into inline function.
14471 (NBBY): Removed.
14472 (xor): LIkewise.
14473 (xor_out): Use grub_crypto_xor.
14474 (dnode_get_path): Use grub_get_unaligned.
14475 (nvlist_find_value): Likewise.
14476 (grub_zfs_nvlist_lookup_uint64): Likewise.
14477 (grub_zfs_nvlist_lookup_string): Likewise.
14478 (get_nvlist_size): Likewise.
14479 (grub_zfs_open): Likewise.
14480 (fill_fs_info): Likewise.
14481 (grub_zfs_dir): Likewise.
14482 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
14483 alignment invariants.
14484 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
14485 necessarily aligned.
14486
f138623a
VS
144872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14488
14489 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
14490
564840dc
VS
144912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14492
14493 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
14494 arithmetic to conserve alignment invariants.
14495
9b40df20
VS
144962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14497
14498 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
14499 redundant declaration.
14500 (grub_efiemu_mm_obtain_request): Likewise.
14501 (grub_efiemu_prepare): Likewise.
14502
d1c930f9
VS
145032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
14506 to match types.
14507
4c5f3056
VS
145082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
14511 case of aunaligned recptr.
14512 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
14513 alignment.
14514 (grub_hfsplus_btree_search): Handle unaligned index.
14515
728cba91
VS
145162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
14519 to get freetag and skip.
14520
eb561f31
VS
145212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
14524 array.
14525 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
14526 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
14527
20993fbb
VS
145282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14529
14530 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
14531 name for checksum and fix allocation algorithm.
14532
1f313b94
VS
145332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 * include/grub/types.h (grub_properly_aligned_t): New type.
14536 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
14537 (grub_get_unaligned16): Add explicit casts.
14538 (grub_get_unaligned32): Likewise.
14539 (grub_get_unaligned64): Likewise.
14540 (grub_set_unaligned16): New function.
14541 (grub_set_unaligned32): Likewise.
14542
47ae27ec
VS
145432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14544
14545 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14546
78c2cd1c
VS
145472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14548
14549 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
14550 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
14551 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
14552
53072f9b
VS
145532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14554
14555 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
14556 conditionals.
14557
055dc239
VS
145582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14559
14560 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
14561 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
14562
496bd074
VS
145632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14564
14565 Unify and improve RAID and crypto xor.
14566
14567 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
14568 changed to grub_crypto_xor
14569 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
14570 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
14571 Use bigger types when possible.
14572
ef6e4335
VS
145732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14574
14575 * grub-core/disk/raid.c (scan_devices): Fix condition.
14576
5d048bf2
VS
145772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
14580 Make name a const ptr.
14581
ee533335
VS
145822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14583
14584 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
14585 first argument a const pointer.
14586 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14587 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
14588 proto.
14589 (grub_children_iterate): Likewise.
14590 (grub_machine_mmap_iterate): Remove redundant declaration.
14591
cc8f3668
VS
145922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14595 (grub_cmd_acpi) [!x86]: Disable EBDA.
14596
c5fc563a
VS
145972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 Enable UTF8 in gnulib regexp.
14600
14601 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14602 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14603 (isupper): Use grub_isupper.
14604 (isascii): New inline function.
14605 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14606 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14607 * grub-core/normal/charset.c (grub_utf8_process): New function.
14608 (grub_utf8_to_utf16): Use grub_utf8_process.
14609 (grub_encode_utf8_character): New function.
14610 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14611 * include/grub/charset.h (grub_utf8_process): New declaration.
14612 (grub_encode_utf8_character): Likewise.
14613 * include/grub/misc.h (grub_islower): New inline function.
14614 (grub_isupper): Likewise.
14615 (grub_strchrsub): Moved down to fix the definitions.
14616
0af2346f
VS
146172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14618
14619 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14620 specification.
14621
74dbd244
VS
146222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14623
14624 * include/grub/loader.h (grub_loader_register_preboot_hook):
14625 Use struct preboot * and not void * for handle. All users updated.
14626 (grub_loader_unregister_preboot_hook): Likewise.
14627
1bc8f60d
VS
146282011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14631 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14632 UTF-16-BE. All users updated.
14633 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14634 (grub_hfsplus_iterate_dir): Likewise.
14635 (grub_hfsplus_label): Likewise.
14636
48d6e456
VS
146372011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14638
14639 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14640
bf3a3857
VS
146412011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14642
14643 Add missing const qualifiers.
14644
14645 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14646 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14647 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14648 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14649 (grub_lvm_check_flag): Likewise.
14650 * grub-core/efiemu/i386/coredetect.c
14651 (grub_efiemu_get_default_core_name): Likewise
14652 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14653 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14654 * grub-core/fs/ntfs.c (fixup): Likewise.
14655 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14656 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14657 (fzap_lookup): Likewise.
14658 (zap_lookup): Likewise.
14659 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14660 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14661 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14662 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14663 (grub_freebsd_add_meta_module): Likewise.
14664 (grub_cmd_freebsd_module): Likewise.
14665 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14666 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14667 (grub_xnu_writetree_get_size): Likewise.
14668 (grub_xnu_writetree_toheap_real): Likewise.
14669 (grub_xnu_find_key): Likewise.
14670 (grub_xnu_create_key): Likewise.
14671 (grub_xnu_create_value): Likewise.
14672 (grub_xnu_register_memory): Likewise.
14673 (grub_xnu_check_os_bundle_required): Likewise.
14674 (grub_xnu_scan_dir_for_kexts): Likewise.
14675 (grub_xnu_load_kext_from_dir): Likewise.
14676 * grub-core/normal/color.c (color_list): Likewise.
14677 * grub-core/normal/completion.c (current_word): Likewise.
14678 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14679 * grub-core/term/serial.c (grub_serial_find): Likewise.
14680 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14681 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14682 Likewise.
14683 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14684 (grub_freebsd_add_meta_module): Likewise.
14685 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14686 * include/grub/net.h (grub_net_card_driver): Likewise.
14687 (grub_net_card): Likewise.
14688 (grub_net_app_protocol): Likewise.
14689 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14690 * include/grub/serial.h (grub_serial_find): Likewise.
14691 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14692 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14693 (grub_xnu_create_value): Likewise.
14694 (grub_xnu_find_key): Likewise.
14695 (grub_xnu_scan_dir_for_kexts): Likewise.
14696 (grub_xnu_load_kext_from_dir): Likewise.
14697
14698 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14699 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14700 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14701 Moved from here ...
14702 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14703
112b4837
CW
147042011-11-28 Colin Watson <cjwatson@ubuntu.com>
14705
14706 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14707
49e891ac
VS
147082011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14709
14710 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14711 (read_device): Fix size calculation.
14712
fd258e5c
RM
147132011-11-25 Robert Millan <rmh@gnu.org>
14714
14715 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14716 (find_root_device_from_libzfs): Add zpool output parser to be used
14717 as fallback when libzfs isn't available.
14718
78845dc2
SG
147192011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14720
14721 * po/Makefile.in.in: Add missing escape-continuation.
14722
adac5211
VS
147232011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
14726
10b64f1c
VS
147272011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14728
14729 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
14730
bb416954
VS
147312011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14734
bdfe9eeb
VS
147352011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14736
14737 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14738
581ffa8a
VS
147392011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14740
14741 * grub-core/lib/adler32.c: Add missing license specification.
14742 * grub-core/lib/crc64.c: Likewise.
14743 * grub-core/loader/i386/pc/plan9.c: Likewise.
14744 * grub-core/partmap/plan.c: Likewise.
14745
2536cf64
LK
147462011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14747
14748 Add facility to debug GRUB with gdb under qemu.
14749
14750 * grub-core/gdb_grub.in: New file.
14751 * grub-core/gmodule.pl.in: Likewise.
14752 * grub-core/Makefile.core.def (gmodule.pl): New script.
14753 (gdb_grub): Likewise.
14754
bc108a4a
VS
147552011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14756
14757 * util/grub-mount.c (argp_parser): Accept relative pathes.
14758 * util/grub-fstest.c (argp_parser): Likewise.
14759
111c1778
VS
147602011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14761
14762 Plan9 support.
14763
14764 * Makefile.util.def (libgrubmods): Add
14765 grub-core/partmap/plan.c.
14766 * docs/grub.texi: Notice Plan9 support.
14767 * grub-core/Makefile.core.def (plan9): New module.
14768 (part_plan): Likewise.
14769 * grub-core/loader/i386/pc/plan9.c: New file.
14770 * grub-core/partmap/plan.c: Likewise.
14771 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14772 define.
14773 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14774 * include/grub/mm.h (grub_extend_alloc): New inline function.
14775
c30be3b6
VS
147762011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 Make Reed-Solomon faster by using power of generator representation of
14779 GF(256)*.
14780
14781 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14782 (gf_double_t): Likewise.
14783 (gf_invert): Removed.
14784 (gf_powx): New array.
14785 (gf_powx_inv): Likewise.
14786 (scratch): Move higher.
14787 (gf_reduce): Removed.
14788 (gf_mul): Use powx.
14789 (gf_invert): Likewise.
14790 (init_inverts): Replaced with ...
14791 (init_powx): ...this. All users updated.
14792 (pol_evaluate): Replace multiplications with additions.
14793 (rs_encode): Likewise.
14794 (gauss_eliminate): Call gf_invert.
14795 (grub_reed_solomon_add_redundancy): Call init_powx.
14796 (grub_reed_solomon_recover): Call init_powx unconditionally.
14797
fa5aeffc
VS
147982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14799
14800 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14801
a346b81c
VS
148022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14803
14804 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14805 disk->partiton for safety.
14806
d89ee414
VS
148072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14808
14809 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14810 Fix a memory leak.
14811 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
14812
91ee7b6d
VS
148132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14816
91e5a33d
VS
148172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14820
9edd7be2
VS
148212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14822
14823 Fix spaces handling in proc/self/mountinfo.
14824
14825 * util/getroot.c (unescape): New function.
14826 (grub_find_root_device_from_mountinfo): Use unescape.
14827
ba102053
VS
148282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14829
14830 Support ZFS embedding.
14831
14832 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14833 (grub_zfs_fs): Register grub_zfs_embed.
14834
aa94b870
VS
148352011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14836
14837 Fix MIPS compilation.
14838
14839 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14840 * include/grub/offsets.h: Rename decompressor fields from
14841 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14842 * util/grub-mkimage.c (image_targets): Use new names.
14843
5fbdac14
VS
148442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14845
14846 Defer multiboot device parsing until we're in compressed part.
14847
14848 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14849 bsd_part. setdevice has fallen into disuse.
14850 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14851 (bsd_part): Likewise.
14852 (boot_dev): New variable.
14853 (multiboot_trampoline): Don't parse multiboot device.
14854 Pass multiboot device in %edx.
14855 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14856 grub_boot_device.
14857 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14858 Likewise.
14859 * grub-core/kern/i386/pc/startup.S: Save edx.
14860 (grub_boot_drive): Removed.
14861 (grub_install_dos_part): Likewise.
14862 (grub_install_bsd_part): Likewise.
14863 (grub_boot_device): New variable.
14864 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14865 (grub_install_bsd_part): Likewise.
14866 (grub_boot_drive): Likewise.
14867 (grub_boot_device): New variable.
14868 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14869 Removed.
14870 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14871 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14872 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14873 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14874 * util/grub-install.in: Remove redundant condition.
14875
691cbb58
VS
148762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 Fix bug introduced by previous commit.
14879
14880 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14881
60240b8b
VS
148822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14883
14884 Use decompressors framework on i386-pc. It increases core size
14885 by 46 bytes but improves compatibility and maintainability.
14886
14887 * grub-core/Makefile.core.def (lzma_decompress): New image.
14888 (kernel): Add i386_pc_ldflags.
14889 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14890 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14891 to real_to_prot, prot_to_real and device info.
14892 * include/grub/offsets.h: Renamed decompressor offsets.
14893 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14894 (image_target_desc): Remove raw_size and rename decompressor fields.
14895 (compress_kernel): Handle lzma.
14896 (generate_image): Handle decompressors on i386-pc.
14897
e9d3421c
VS
148982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14899
14900 * configure.ac: Add -fno-asynchronous-unwind-tables.
14901
2b23074a
VS
149022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14903
14904 Move assembly code to C by using intwrap. It increases core size
14905 by 88 bytes but improves compatibility and maintainability.
14906
14907 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14908 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14909 ... here. Translated to C.
14910 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14911 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14912 ... here. Translated to C.
14913 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14914 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14915 ... here. Translated to C.
14916 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14917 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14918 ... here. Translated to C.
14919 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14920 * grub-core/term/i386/pc/console.c (grub_console_cls):
14921 ... here. Translated to C.
14922 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14923 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14924 ... here. Translated to C.
14925 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14926 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14927 Translated to C.
14928 * grub-core/term/i386/pc/console.c (int10_9): New function.
14929 (grub_console_putchar): Likewise.
14930 * include/grub/i386/pc/console.h: Removed the not anymore shared
14931 functions.
14932
678f4b67
VS
149332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 Move grub_chainloader_real_boot out of the kernel.
14936
14937 * grub-core/Makefile.am: Remove machine/loader.h.
14938 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14939 Removed.
14940 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14941 variable.
14942 (grub_relocator16_keep_a20_enabled): Likewise.
14943 (grub_relocator16_boot): Fill new variables.
14944 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14945 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14946 relocator.
14947 (grub_chainloader_unload): Likewise.
14948 (grub_chainloader_cmd): Likewise.
14949 * include/grub/i386/pc/loader.h: Removed.
14950 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14951 and esi. All initialisers updated.
14952
4626edf6
VS
149532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
149542011-11-12 Colin Watson <cjwatson@ubuntu.com>
14955
14956 * Makefile.util.def (grub-mount): New util.
14957 * .bzrignore: Add grub-mount.
14958 * configure.ac: Check for fuse and enable grub-mount if available.
14959 * docs/man/grub-mount.h2m: New file.
14960 * util/grub-mount.c: Likewise.
14961
10f0117b
VS
149622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14963
14964 * grub-core/commands/efi/fixvideo.c: Gettextize.
14965 * grub-core/commands/hashsum.c: Likewise.
14966 * grub-core/commands/i386/cmostest.c: Likewise.
14967 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14968 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14969 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14970 * grub-core/commands/lsmmap.c: Likewise.
14971 * grub-core/commands/menuentry.c: Likewise.
14972 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14973 * grub-core/commands/setpci.c: Likewise.
14974 * grub-core/loader/i386/bsd.c: Likewise.
14975 * grub-core/loader/i386/linux.c: Likewise.
14976 * util/getroot.c: Likewise.
14977 * util/grub-editenv.c: Likewise.
14978 * util/grub-fstest.c: Likewise.
14979 * util/grub-mkfont.c: Likewise.
14980 * util/grub-mkimage.c: Likewise.
14981 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14982 * util/grub-pe2elf.c: Likewise.
14983 * util/grub-probe.c: Likewise.
14984 * util/grub-setup.c: Likewise.
14985 * util/ieee1275/ofpath.c: Likewise.
14986 * util/misc.c: Likewise.
14987 * util/raid.c: Likewise.
14988
566f779b
RM
149892011-11-11 Robert Millan <rmh@gnu.org>
14990
14991 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14992 __attribute__((unused)) from `os_dev', which *is* being used.
14993
b50787de
VS
149942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14995
14996 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14997 forgotten define.
14998 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14999 GRUB_IA64_DL_GOT_ALIGN.
15000 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
15001 GRUB_IA64_DL_TRAMP_ALIGN.
15002
119d11c8
VS
150032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15004
15005 Replace grub_fatal with normal errors in i386 linux loader.
15006
15007 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
15008 (allocate_pages): Check find_efi_mmap_size return value.
15009 (grub_e820_add_region): Return error.
15010 (grub_linux_boot): Check mmap return value.
15011
6e0632e2
VS
150122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 * grub-core/commands/acpihalt.c: Gettextized.
15015 * grub-core/commands/cacheinfo.c: Likewise.
15016 * grub-core/commands/cmp.c: Likewise.
15017 * grub-core/commands/efi/loadbios.c: Likewise.
15018 * grub-core/commands/gptsync.c: Likewise.
15019 * grub-core/commands/ieee1275/suspend.c: Likewise.
15020 * grub-core/commands/legacycfg.c: Likewise.
15021 * grub-core/commands/memrw.c: Likewise.
15022 * grub-core/commands/minicmd.c: Likewise.
15023 * grub-core/commands/parttool.c: Likewise.
15024 * grub-core/commands/time.c: Likewise.
15025 * grub-core/commands/videoinfo.c: Likewise.
15026 * grub-core/disk/geli.c: Likewise.
15027 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
15028 * grub-core/disk/luks.c: Likewise.
15029 * grub-core/disk/lvm.c: Likewise.
15030 * grub-core/font/font_cmd.c: Likewise.
15031 * grub-core/fs/zfs/zfscrypt.c: Likewise.
15032 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15033 * grub-core/gfxmenu/view.c: Likewise.
15034 * grub-core/kern/emu/hostdisk.c: Likewise.
15035 * grub-core/kern/emu/main.c: Likewise.
15036 * grub-core/kern/emu/misc.c: Likewise.
15037 * grub-core/kern/emu/mm.c: Likewise.
15038 * grub-core/kern/mips/arc/init.c: Likewise.
15039 * grub-core/kern/mips/loongson/init.c: Likewise.
15040 * grub-core/kern/partition.c: Likewise.
15041 * grub-core/lib/i386/halt.c: Likewise.
15042 * grub-core/lib/mips/arc/reboot.c: Likewise.
15043 * grub-core/lib/mips/loongson/reboot.c: Likewise.
15044 * grub-core/loader/i386/pc/chainloader.c: Likewise.
15045 * grub-core/loader/i386/xnu.c: Likewise.
15046 * grub-core/loader/multiboot.c: Likewise.
15047 * grub-core/net/bootp.c: Likewise.
15048 * grub-core/net/net.c: Likewise.
15049 * grub-core/normal/term.c: Likewise.
15050 * grub-core/partmap/bsdlabel.c: Likewise.
15051 * grub-core/parttool/msdospart.c: Likewise.
15052 * grub-core/term/gfxterm.c: Likewise.
15053 * grub-core/term/terminfo.c: Likewise.
15054 * grub-core/video/i386/pc/vbe.c: Likewise.
15055 * util/grub-menulst2cfg.c: Likewise.
15056 * util/grub-mkdevicemap.c: Likewise.
15057 * util/grub-mklayout.c: Likewise.
15058 * util/grub-mkrelpath.c: Likewise.
15059 * util/grub-script-check.c: Likewise.
15060 * util/ieee1275/grub-ofpathname.c: Likewise.
15061 * util/resolve.c: Likewise.
15062
073aa7a9
VS
150632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 Support %1$d syntax.
15066
15067 * tests/printf_unit_test.c: New file.
15068 * Makefile.util.def (printf_test): New test.
15069 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
15070
c76b5417
VS
150712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
15074 fix.
15075
df067ad1
VS
150762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
15079 dprintf.
15080 * grub-core/font/font.c (grub_font_load): Likewise.
15081
5b289bc5
VS
150822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 * util/grub-macho2img.c: Add comment concerning gettext.
15085 * grub-core/lib/legacy_parse.c: Likewise.
15086
c1860f87
VS
150872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15088
15089 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
15090 (grub_xvasprintf): Likewise.
15091
d35d0d37
VS
150922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15093
15094 Add const keyword to grub_env_get and gettextize week days.
15095
15096 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
15097 (grub_read_hook_datetime): Return const char *.
15098 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
15099 updated.
15100 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15101 Mark for gettext.
15102 (grub_get_weekday_name): Return const char *. Call gettext.
15103 * grub-core/script/argv.c (grub_script_argv_append): Receive const
15104 char * and len as the argument. All users updated.
15105 (grub_script_argv_split_append): Receive const char *.
15106 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
15107 * include/grub/env.h (grub_env_get): Likewise.
15108 (grub_env_read_hook_t): Return const char *.
15109 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
15110 (grub_script_argv_split_append): Likewise.
15111
9aed8a71
VS
151122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15113
15114 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
15115
067fdf00
VS
151162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
15119 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
15120
a8bd9d39
VS
151212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
15124 Fix prototype.
15125
f7ce5baf
VS
151262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15127
15128 Fix mips compilation.
15129
15130 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
15131 normal decoder.
15132 (hashes): Use in embed decoder as well (for sizes).
15133 (dec_stream_header): Fix embed decompressor logic.
15134 (dec_stream_footer): Likewise.
15135
9bb182f3
VS
151362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15137
15138 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
15139 an error and not a fatal on unrecognised relocation types.
15140
63a9e6f6
VS
151412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15142
15143 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15144 Issue error rather than printf on unknown arguments.
15145
4c458569
VS
151462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15147
15148 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
15149 Make buf a const.
15150
e2d22baf
VS
151512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15152
15153 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
15154 Fix module name.
15155
53dc8590
VS
151562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15157
15158 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
15159 leftover debug printf.
15160
6c189294
VS
151612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15162
15163 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
15164
f7688369
VS
151652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15166
15167 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
15168 A stylistic fix.
15169
11a775a3
VS
151702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15171
15172 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
15173
33f784e8
SL
151742011-11-10 Shea Levy <slevy@tieronedesign.com>
15175
15176 Allow all modules to perform serial IO
15177
15178 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
15179 * include/grub/serial.h (grub_serial_port_configure): New inline
15180 function.
15181 (grub_serial_port_fetch): Likewise.
15182 (grub_serial_port_put): Likewise.
15183 (grub_serial_port_fini): Likewise.
15184 (grub_serial_find): New proto.
15185
f6276525
VS
151862011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15187
15188 Put symlink at the end of the node and fix a potential
15189 memory corruption.
15190
15191 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
15192 Make symlink into an array.
15193 (set_rockridge): Set have_symlink and alloc_dirents.
15194 (grub_iso9660_read_symlink): Use new layout.
15195 (grub_iso9660_iterate_dir): Fix memory corruption.
15196 Use new layout.
15197 (grub_iso9660_dir): Set have_symlink.
15198 (grub_iso9660_open): Likewise.
15199
c3591189
VS
152002011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15201
15202 Remove local keyword.
15203
15204 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
15205 (version_test_gt): Likewise.
15206 (version_find_latest): Likewise.
15207 (gettext_printf): Likewise.
15208 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
15209
cb544caa
VS
152102011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15211
15212 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
15213
45bd824d
VS
152142011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15215
15216 Fix ZFS memory and resource leaks.
15217
15218 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
15219 All users updated.
15220 Free type on exit.
15221 (fill_vdev_info): New parameter inserted. All users updated.
15222 (check_pool_label): Likewise.
15223 (scan_disk): Likewise.
15224 (scan_devices): Close non-inserted disks.
15225 (fzap_iterate): Free l.
15226 (unmount_device): Free children descripto memory.
15227
ad9a2f44
VS
152282011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15229
15230 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
15231 argument (access out of bounds).
15232
6b68db81
VS
152332011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15234
15235 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
15236 >= 6 drives.
15237
28840fda
VS
152382011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15239
15240 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
15241 Fix declaration.
15242
8a5a3a5b
VS
152432011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15244
15245 Fix several memory leaks.
15246
15247 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
15248 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
15249 (grub_cpio_dir): Likewise.
15250 * grub-core/fs/fat.c (grub_fat_label): Likewise.
15251 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
15252 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
15253 (grub_romfs_label): Likewise.
15254 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
15255 (squash_unmount): New function.
15256 (grub_squash_dir): Fix memory leak.
15257 (grub_squash_open): Likewise.
15258 (grub_squash_read): Likewise.
15259 (grub_squash_mtime): Likewise.
15260 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
15261 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
15262 * util/grub-fstest.c (fstest): Likewise.
15263
57b01250
VS
152642011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15265
15266 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
15267 avoid accessing beyond the array.
15268
19e81ba7
VS
152692011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15270
15271 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
15272
52b656c0
VS
152732011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15274
15275 Several AFFS fixes.
15276
15277 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
15278 (GRUB_AFFS_FLAG_FFS): Removed.
15279 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
15280 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
15281 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
15282 (grub_fshelp_node): Make block 32-bit.
15283 Add block_cache and last_block_cache.
15284 (grub_affs_read_block): Fill and use block cache.
15285 (grub_affs_read_file): Removed.
15286 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
15287 boot block.
15288 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
15289 safety.
15290 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
15291 space.
15292 (grub_affs_close): Free block cache.
15293 (grub_affs_read): Use grub_fshelp_read_file directly.
15294
438a746a
VS
152952011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15296
15297 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
15298 with no error set.
15299
49a45021
VS
153002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15301
15302 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
15303 used variable.
15304 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15305 Likewise.
15306
3ae17eb8
VS
153072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15308
15309 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
15310
15311 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
15312 byteswap when needed.
15313
27610c38
VS
153142011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15315
15316 Fix FreeBSD compilation.
15317
15318 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
15319 to avoid circular dependency.
15320 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
15321 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
15322 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
15323
4a19b601
VS
153242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15325
15326 Fix ZFS crypto error types.
15327
15328 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
15329 (grub_gcm_decrypt): Likewise.
15330 (grub_zfs_load_key_real): Fix error code type. Handle possible error
15331 from PBKDF2.
15332
958ee221
VS
153332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15334
15335 Illumos support.
15336
15337 * Makefile.util.def (10_illumos): New script.
15338 * configure.ac: Set COND_HOST_ILLUMOS.
15339 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
15340 Support Illumos calls.
15341 (find_partition_start) [__sun__]: Likewise.
15342 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
15343 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
15344 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
15345 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
15346 device.
15347 * util/grub-probe.c (probe) [__sun__]: Do character check.
15348 * util/grub.d/10_illumos.in: New file.
15349
cac14fb6
VS
153502011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15351
15352 Support escaped commas in hostdisk.
15353
15354 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
15355 (find_grub_drive): Use unescape_cmp.
15356 (make_device_name): Escape commas.
15357
78e08dc3
VS
153582011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
15361
9f421dd1
VS
153622011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
15365 variable.
15366
ed64e9e2
VS
153672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15368
15369 Support trampoline jumps on powerpc.
15370
15371 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
15372 __ia64__ path.
15373 (grub_dl_load_segments): Set mod->sz.
15374 (grub_dl_flush_cache): Flush whole space occupied by module, not just
15375 segments.
15376 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
15377 (jump): Likewise.
15378 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
15379 function.
15380 (trampoline): New struct.
15381 (trampoline_template): New const.
15382 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
15383 * include/grub/dl.h (grub_dl): Add sz element.
15384 [__powerpc__]: Follow __ia64__.
15385 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
15386 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
15387 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
15388 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
15389
3084ede4
VS
153902011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 ZFS crypto support.
15393
15394 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
15395 * grub-core/Makefile.core.def (zfscrypt): New module.
15396 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
15397 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
15398 it. All users updated.
15399 (grub_zfs_decrypt): New var.
15400 (grub_zfs_load_key): Likewise.
15401 (zio_checksum_functions): Add SHA256+MAC.
15402 (zio_checksum_verify): Handle incomplete comparison due to MAC.
15403 (zio_read): Handle encrypted blocks.
15404 (zap_verify): Remove incorrect check.
15405 (fzap_iterate): Handle non-standard fzap.
15406 (zap_iterate): Likewise.
15407 (zap_iterate_u64): New function.
15408 (dnode_get_fullpath): Load keys.
15409 * grub-core/fs/zfs/zfscrypt.c: New file.
15410 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
15411 (grub_crypto_ecb_encrypt): Make input const.
15412 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
15413 (grub_crypto_ecb_encrypt): Make input const.
15414 (GRUB_CIPHER_AES): New macro.
15415 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
15416 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
15417 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
15418 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
15419 prefix. All users updated.
15420 (grub_zfs_add_key): New proto.
15421 (grub_zfs_decrypt): Likewise.
15422 (grub_zfs_load_key): Likewise.
15423 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
15424 * util/grub-fstest.c (options): Add -K option.
15425 (argp_parser): Likewise.
15426
b632b404
VS
154272011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15428
15429 Support zle compression on ZFS.
15430
15431 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
15432 (decomp_table): Add zle.
15433 * include/grub/zfs/zio.h (zio_compress): Add zle.
15434
c7ba4f69
VS
154352011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 Support BtrFS embedding.
15438
15439 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
15440 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
15441 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
15442 * util/grub-setup.c (setup): Use fs embedding if available.
15443 Add additional sanity check.
15444
455377d9
VS
154452011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15446
15447 * util/grub-install.in: Fix condition for config_opt.
15448
c2fd16ca
VS
154492011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15450
15451 Support third redundancy strip on raidz3.
15452
15453 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
15454 Return error on singularity. All users updated.
15455 (read_device): Don't stop on 3rd failure on raidz3.
15456
8622923b
VS
154572011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15458
15459 Support case-insensitive ZFS subvolumes.
15460
15461 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
15462 All users updated.
15463 (zap_hash): Likewise.
15464 (name_cmp): New function.
15465 (zap_leaf_array_equal): New parameter case_insensitive.
15466 All users updated.
15467 (zap_leaf_lookup): Likewise.
15468 (fzap_lookup): Likewise.
15469 (zap_lookup): Likewise.
15470 (dnode_get_path): New parameter case_insensitive. Retrieve case
15471 sensitiviness of a volume. All users updated.
15472 (dnode_get_fullpath): New parameter case_insensitive.
15473 All users updated.
15474 (grub_zfs_dir): Set info.case_insensitiveness.
15475
95f2e860
VS
154762011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 Support second redundancy strip on raidz(2,3).
15479
15480 * grub-core/fs/zfs/zfs.c (powx): New array.
15481 (powx_inv): Likewise.
15482 (poly): New const.
15483 (xor_out): New function.
15484 (gf_mul): Likewise.
15485 (recovery): Likewise.
15486 (read_device): Use second redundancy strip.
15487
11ee4389
VS
154882011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15489
15490 Use a power of generator representation of GF(256) multiplication group
15491 to save space time and complexity.
15492
15493 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
15494 (raid6_table2): Likewise.
15495 (powx): New array.
15496 (powx_inv): Likewise.
15497 (poly): New const.
15498 (grub_raid_block_mul): Replace with ...
15499 (grub_raid_block_mulx): ...this.
15500 (grub_raid6_init_table): Rewritten.
15501 (grub_raid6_recover): Use power of generator representation.
15502
09e2763f
VS
155032011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15504
15505 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
15506 for the right device.
15507
8bec9a28
VS
155082011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15509
15510 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
15511 expected by grub-mkimage and it's more clear since there is no implicit
15512 padding.
15513
dbd3a32e
VS
155142011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
15517 disk.
15518 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15519
182c872a
PMH
155202011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
15521
15522 * util/grub-mkrescue.in: Fix handling xorriso option.
15523
1e51cabd
VS
155242011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15525
15526 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
15527 NULL.
15528
9cc3581d 155292011-11-03 crocket <crockabiscuit@gmail.com>
15530
15531 * util/grub.d/10_linux.in: Add Slackware initrd naming.
15532
158dc1ea
VS
155332011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 XZ CRC64 and SHA256 support.
15536
15537 * Makefile.util.def (libgrubmods): Add crc64.c.
15538 * grub-core/Makefile.core.def (crc64): New module.
15539 * grub-core/lib/crc64.c: New file.
15540 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
15541 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
15542 Fix the type.
15543 (MAX_HASH_SIZE): New define.
15544 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
15545 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
15546 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15547 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15548 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
15549 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
15550 Handle non-crc32 hashes.
15551 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
15552 (dec_stream_header): Handle non-crc32 hashes.
15553 (dec_stream_footer): Likewise.
15554 (dec_block_header): Likewise.
15555 (dec_main): Likewise.
15556 (xz_dec_init): Likewise.
15557 (xz_dec_reset): Likewise.
15558 (xz_dec_end): Likewise.
15559 * util/import_gcry.py: Add CRC64 line.
15560
9d9b3d2f
VS
155612011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15562
15563 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
15564 as well.
15565
7d0ac931
VS
155662011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15567
15568 Make reiserfs label retrieval similar to other *_label functions.
15569
15570 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
15571 (REISERFS_MAX_LABEL_LENGTH): Removed.
15572 (REISERFS_LABEL_OFFSET): Likewise.
15573 (grub_reiserfs_label): Rewritten.
15574
155752011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15576
15577 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
15578 field.
15579
cf5ba824
VS
155802011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15581
15582 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
15583
17744004
VS
155842011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
15587 drive failure on both raidz and raidz2.
15588
aca5aefc
VS
155892011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15590
15591 Fix RAIDZ(2) for >= 5 devices.
15592
15593 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15594 asize argument. All users updated.
15595
ce8ca56e
VS
155962011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15597
15598 Fix RAIDZ(2).
15599
15600 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15601 (fill_vdev_info_real): Set ashift.
15602 (read_device): Rewrite RAIDZ part based on reverse engineering.
15603
7c01e783
VS
156042011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15605
15606 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15607 don't report potentially unavialiable fields in debug output.
15608 (find_path): Fix double-free and memory leak.
15609
ce109e84
VS
156102011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15611
15612 Read label on UFS1.
15613
15614 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15615 (grub_ufs_fs): Always set .label.
15616
87661123
VS
156172011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15618
15619 Use shifts in UFS.
15620
15621 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15622 (grub_ufs_data): New field log2_blksz.
15623 (grub_ufs_read_file): Use shifts.
15624 (grub_ufs_mount): Check block size and logarithm it.
15625
46bc1dc2
VS
156262011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15627
15628 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15629 long symlinks.
15630
19ee2987
VS
156312011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 Handle symlinks and long names on tar and cpio.
15634
15635 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15636 (ATTR_FILE): Likewise.
15637 (ATTR_DIR): Likewise.
15638 (ATTR_LNK): Likewise.
15639 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15640 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15641 L and K entries.
15642 (grub_cpio_mount): Zero-fill data.
15643 (handle_symlink): New function.
46bc1dc2
VS
15644 (grub_cpio_dir): Handle symlinks.
15645 (grub_cpio_open): Likewise.
15646 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 15647
c83a08d8
VS
156482011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 Fix iso9660 filename limitations and fix memory leaks.
15651
15652 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15653 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15654
45cdd3ea
VS
156552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15656
15657 Fix JFS file name length limitations.
15658
15659 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15660 (grub_jfs_diropen): Fix maximum filename length.
15661 (grub_jfs_getent): Fix filename length.
15662 (grub_jfs_lookup_symlink): Fix size checks.
15663
94ef05c2
VS
156642011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15665
15666 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15667 string.
15668
785ab8c7
VS
156692011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15670
eb0b6b45
VS
15671 Leverage BFS implementation to read AFS.
15672
15673 * Makefile.util.def (libgrubmods): Add afs.c.
15674 * grub-core/Makefile.core.def (afs): New module
15675 * grub-core/fs/afs.c: New file.
15676 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15677
156782011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15679
15680 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 15681
c4a1628f
VS
156822011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15683
15684 * grub-core/fs/bfs.c: Run indent.
15685
5825b379
VS
156862011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 BFS implementation based on the specification.
15689
15690 * grub-core/fs/bfs.c: New file.
15691 * Makefile.util.def (libgrubmods): Add bfs.c.
15692 * grub-core/Makefile.core.def (bfs): New module.
15693
42b2a706
VS
156942011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15695
15696 * util/grub-fstest.c (cmd_cp): Clarify error message.
15697 (cmd_cmp): Likewise.
15698
61b99bfc
YB
156992011-10-30 Yves Blusseau <blusseau@zetam.org>
15700
15701 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15702 and befs_be.
15703
faba3d16
VS
157042011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15705
15706 Remove afs and befs because of copyright problem.
15707
15708 * grub-core/fs/afs.c: Removed.
15709 * grub-core/fs/afs_be.c: Removed.
15710 * grub-core/fs/befs.c: Removed.
15711 * grub-core/fs/befs_be.c: Removed.
15712 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15713 * grub-core/Makefile.core.def (afs): Removed.
15714 (afs_be): Likewise.
15715 (befs): Likewise.
15716 (befs_be): Likewise.
15717
c39224b0
VS
157182011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15719
15720 Prefer rockridge over Joliet.
15721
15722 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
15723 to ...
15724 (set_rockridge): ... here.
15725 (grub_iso9660_mount): Check rockridge on the primary label when
15726 discovering. Ignore Joliet if Rockridge is present.
15727
e551115a
VS
157282011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 Use shifts in nilfs2.
15731
15732 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
15733 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15734 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15735 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15736 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15737 (grub_nilfs2_entries_per_block): Replaced with ...
15738 (grub_nilfs2_log_entries_per_block_log): ... this.
15739 (grub_nilfs2_blocks_per_group): Replaced with ...
15740 (grub_nilfs2_blocks_per_group_log): ... this.
15741 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15742 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15743 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15744 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15745 (grub_nilfs2_palloc_entry_offset): Replaced ...
15746 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15747 (grub_nilfs2_dat_translate): Use shifts.
15748 (grub_nilfs2_read_inode): Likewise.
15749 (GRUB_MOD_INIT): Ensure that logs are correct.
15750
564dd58c
VS
157512011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15752
15753 Use shifts in minix filesystem.
15754
15755 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
15756 (GRUB_MINIX_ZONE2SECT): Likewise.
15757 (grub_minix_data): Replace block_size with log_block_size.
15758 (grub_minix_read_file): Use shifts.
15759 (grub_minix_mount): Check block size and take a logarithm.
15760
ed9ba06d
VS
157612011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15762
15763 Use shifts in squash4.
15764
15765 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15766 (squash_mount): Check block size and take logarithm.
15767 (direct_read): Use shifts.
15768
ad03fe76
VS
157692011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 Correct befs block counting logic.
15772
15773 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15774 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15775 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15776 (grub_afs_read_inode): Use block_shift.
15777 (RANGE_SHIFT): New definition.
15778 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15779 unexpected conditions, use shifts and appropriate types.
15780 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15781
6563f63d
VS
157822011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 * grub-core/disk/raid.c (scan_devices): Check partition.
15785 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15786
5b1ae25f
VS
157872011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15788
15789 Support BFS (befs) UUID.
15790
15791 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15792 (grub_afs_small_data_element_header): New struct.
15793 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15794 (grub_afs_read_attribute) [MODE_BFS]: New function.
15795 (grub_afs_iterate_dir): Allocate for complete inode.
15796 (grub_afs_mount): Likewise.
15797 (grub_afs_uuid) [MODE_BFS]: New function.
15798 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15799
f8d82408
VS
158002011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15801
15802 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15803 (zfs_unmount): Fix memory leak.
15804
5773fb64
VS
158052011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15806
15807 Support NTFS reparse points.
15808
15809 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15810 (symlink_descriptor): New struct.
15811 (grub_ntfs_read_symlink): New function.
15812 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15813 (grub_ntfs_open): Likewise.
15814
91c3fdde
VS
158152011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15818
3be82e10
VS
158192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15820
15821 fstest xnu_uuid subcommand.
15822
15823 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15824 grub-core/commands/xnu_uuid.c.
15825 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15826 (fstest): Handle xnu_uuid.
15827 (options): Document xnu_uuid.
15828 (argp_parser): Parse xnu_uuid.
15829
8e32442e
VS
158302011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15833 -l argument. Add newline at the end if printing.
15834 (GRUB_MOD_INIT): Document -l.
15835
52a05075
VS
158362011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15837
15838 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15839
1869edb5
VS
158402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 ZFS multi-device and version 33 support.
15843
15844 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15845 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15846 (grub_zfs_data): Add multidev-ice-related fields.
15847 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15848 (dva_get_offset): Make dva const.
15849 (zfs_fetch_nvlist): New function.
15850 (fill_vdev_info_real): Likewise.
15851 (fill_vdev_info): Likewise.
15852 (check_pool_label): Likewise.
15853 (scan_disk): Likewise.
15854 (scan_devices): Likewise.
15855 (read_device): Likewise.
15856 (read_dva): Likewise.
15857 (zio_read_gang): Use read_dva.
15858 (zio_read_data): Likewise.
15859 (zap_leaf_lookup): Add missing endian conversion.
15860 (zap_verify): Add missing endian conversion. All users updated.
15861 (fzap_lookup): Likewise.
15862 (fzap_iterate): Likewise.
15863 (dnode_get_path): Handle SA bonus.
15864 (nvlist_find_value): Make input const. All users updated.
15865 (unmount_device): New function.
15866 (zfs_unmount): Use unmount_device.
15867 (zfs_mount): Use scan_disk.
15868 (zfs_mtime): New function.
15869 (grub_zfs_open): Handle system attributes.
15870 (fill_fs_info): Likewise.
15871 (grub_zfs_dir): Likewise.
15872 (grub_zfs_fs): Add mtime.
15873 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15874 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15875 (SA_MTIME_OFFSET): Likewise.
15876 (SA_SYMLINK_OFFSET): Likewise.
15877 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15878 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15879 (fstest): Support zfsinfo.
15880 (argp_parser): Likewise.
15881
186b4028
VS
158822011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15883
15884 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15885 error.
15886
158872011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
15888
15889 ZFS fixes.
15890
15891 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15892 sharing the same block. Iterate over correct number of indices.
15893 (dnode_get_path): Handle symlinks correctly.
15894
c0584900
VS
158952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15898
67e2bd71
VS
158992011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15900
15901 Read label on HFS+.
15902
15903 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15904 (grub_hfsplus_btree_search): Fix types.
15905 (grub_hfsplus_label): Implement.
15906
e9cc6b7b
VS
159072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15908
15909 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15910
19832ddb
VS
159112011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15914
66b40850
VS
159152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15916
15917 Fix symlink handling on iso9660.
15918
15919 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15920 All users updated.
15921 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15922 (grub_iso9660_read_symlink): Moved most of code ...
15923 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15924
db821363
VS
159252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15926
15927 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15928 Use union to avoid breaking strict-aliasing rules.
15929
e1211949
VS
159302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15931
15932 Support multi-extent iso files.
15933
15934 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15935 Add node.
15936 (grub_fshelp_node): Revamp. All users updated.
15937 (FLAG_*): New enum.
15938 (read_node): New function.
15939 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15940 All users updated.
15941 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15942 (get_node_size): New function.
15943 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15944 entries.
15945 Fix memory leak on . and ..
15946 (grub_iso9660_read): Use read_node.
15947 (grub_iso9660_close): Free node.
15948
d4888031
VS
159492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15950
15951 Fix tar 4G limit and handle paths containing dot.
15952
15953 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15954 (canonicalize): New function.
15955 (grub_cpio_find_file): Use canonicalize. Store offs in
15956 grub_disk_addr_t.
15957 (grub_cpio_dir): Use grub_disk_addr_t.
15958 (grub_cpio_open): Likewise.
15959
9f12e664
VS
159602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15961
15962 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15963
15964 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15965 unused flags.
15966 (grub_squash_inode): Add long_file and block_size.
15967 (grub_squash_cache_inode): New struct.
15968 (grub_squash_dirent): Make types into enum.
15969 (SQUASH_TYPE_LONG_REGULAR): New type.
15970 (grub_squash_frag_desc): Add field size.
15971 (SQUASH_BLOCK_FLAGS): New enum.
15972 (grub_squash_data): Use grub_squash_cache_inode.
15973 (grub_fshelp_node): Make ino_chunk 64-bit.
15974 (read_chunk): Minor argument change. All users updated.
15975 (squash_mount): Use correct le_to_cpu.
15976 (grub_squash_open): Handle LONG_REGULAR.
15977 (direct_read): New function.
15978 (grub_squash_read_data): Handle blocks correctly.
15979
9f326fba
VS
159802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15981
15982 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15983
f4d9b64b
VS
159842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15985
15986 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15987
5bbd28b8
VS
159882011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 Fix 2G limit on ZFS.
15991
15992 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15993 types.
15994 (uberblock_verify): Likewise.
15995 (dmu_read): Likewise.
15996 (grub_zfs_read): Likewise. Remove invalid cast.
15997
68c72069
VS
159982011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15999
16000 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
16001 (grub_jfs_blkno): Fix incorrect shift.
16002 (grub_jfs_read_file): Use more appropriate types.
16003
6e536dc8
VS
160042011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16005
16006 Support triple indirect on minix2 and minix3.
16007
16008 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
16009 Declare triple_indir_zone.
16010 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
16011 indirect.
16012
e0864e7a
VS
160132011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16014
16015 Minix FS fixes.
16016
16017 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
16018 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
16019 Rename ctime to mtime. All users updated.
16020 (grub_minix_get_file_block): Fix types and double indirect computations.
16021
89481cab
VS
160222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16023
16024 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
16025 if no label is found.
16026 (grub_fat_iterate_dir): Fix file size type.
16027 (grub_fat_iterate_dir): Likewise.
16028
f646e143
VS
160292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16030
16031 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
16032 save some space.
16033 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16034 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16035
534d769e
VS
160362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
16039
e084ba18
VS
160402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16041
16042 * util/import_gcry.py: Accept space between # and include.
16043
3471ecdf
VS
160442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
16047
124df5f6
VS
160482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16049
16050 Fine grainely disable warnings on lexer. Remove Wno-error on it.
16051
16052 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
16053 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
16054 yylex_strncpy.
16055 * grub-core/script/yylex.l: Add fine-grained #pragma.
16056
4defb8d5
VS
160572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16058
16059 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
16060 New inline function.
16061 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
16062 Likewise.
16063 (memset) [GRUB_UTIL]: Likewise.
16064 (memcmp) [GRUB_UTIL]: Likewise.
16065
4e94ae65
VS
160662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16067
16068 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
16069 inline function rather than a define.
16070
18c575e5
VS
160712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16072
16073 * util/grub-setup.c: Add missing include.
16074
f8bc22a8
VS
160752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * util/ieee1275/grub-ofpathname.c: Add missing include.
16078
3ce69fc9
VS
160792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
16082 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
16083 Likewise.
16084
d1e293bb
VS
160852011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16086
16087 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
16088 grub_memcmp usage.
16089
7a5c54a4
VS
160902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 * util/grub-install.in: Add datarootdir as per automake manual
16093 suggestion.
16094 * util/grub-mknetdir.in: Likewise.
16095
160962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
16097
16098 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
16099 suggestion.
16100 * util/grub.d/10_kfreebsd.in: Likewise.
16101 * util/grub.d/10_linux.in: Likewise.
16102 * util/grub.d/10_netbsd.in: Likewise.
16103 * util/grub.d/10_windows.in: Likewise.
16104 * util/grub.d/20_linux_xen.in: Likewise.
16105
766f7d08
VS
161062011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
16107
16108 Remove redundant grub_kernel_image_size.
16109
16110 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
16111 _edata and _start.
16112 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
16113 the small code. It moves it only by few bytes but simplifies the code.
16114 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
16115 _start.
16116 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
16117 (grub_kernel_image_size): Removed.
16118 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
16119 (grub_kernel_image_size): Removed.
16120 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
16121 compiled with Apple toolchain.
16122 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
16123 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
16124 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
16125 (grub_total_module_size): Likewise.
16126 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
16127 Removed.
16128 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
16129 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
16130 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16131 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
16132 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
16133 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
16134 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
16135 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
16136 Removed.
16137 (grub_total_module_size): Removed.
16138 * util/grub-mkimage.c (image_target_desc): Remove image_size.
16139 (image_targets): Likewise.
16140 Set .compressed_size to no field on sparc.
16141 (generate_image): Remove kernel_image_size handling.
16142
fcf1d672
SJ
161432011-10-19 Szymon Janc <szymon@janc.net.pl>
16144
16145 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
16146 NULL pointer dereference.
16147
de9c615e
VS
161482011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
16151 done with a dedicated section.
16152
16153 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
16154 Ensure the correct position of boot_path.
16155 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
16156 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
16157 other fields.
16158 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
16159 * include/grub/boot.h: Removed. All references removed.
16160 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16161 Removed.
16162 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
16163
e55599dc
VS
161642011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
16167 name.
16168
36dd20ad
VS
161692011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
16172
f8f72eb8
VS
161732011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16174
16175 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16176 Don't add the bogus brackets.
16177
a374751b
VS
161782011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 ExFAT support.
16181
16182 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
16183 * grub-core/Makefile.core.def (exfat): New module.
16184 * grub-core/fs/exfat.c: New file.
16185 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
16186 (GRUB_FAT_ATTR_*): Make into an enum.
16187 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
16188 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
16189 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
16190 (GRUB_FAT_MAXFILE): Removed.
16191 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
16192 (grub_current_fat_bpb_t): New type.
16193 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
16194 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
16195 (grub_fat_dir_node_t): New type.
16196 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
16197 (fat_log2) [MODE_EXFAT]: Removed.
16198 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
16199 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
16200 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
16201 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
16202 (grub_fat_label) [MODE_EXFAT]: New function.
16203 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
16204 reserved_first_sector to 0.
16205
544c2487
VS
162062011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 Move grub_reboot out of the kernel.
16209
16210 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
16211 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
16212 * grub-core/lib/efi/reboot.c: ... here.
16213 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
16214 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16215 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
16216 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
16217 * grub-core/lib/i386/reboot_trampoline.S: ... here.
16218 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
16219 * grub-core/lib/ieee1275/reboot.c: ... here.
16220 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
16221 * grub-core/lib/mips/arc/reboot.c: ... here.
16222 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
16223 * grub-core/lib/mips/loongson/reboot.c: ...here.
16224 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
16225 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
16226 * include/grub/emu/misc.h (grub_reboot): New function declaration.
16227 * include/grub/i386/reboot.h: New file.
16228 * include/grub/mips/loongson/ec.h: Fix includes.
16229 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
16230 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
16231 * grub-core/lib/i386/reboot.c: New file.
16232
a97501d2
VS
162332011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
16234
16235 Make grub_prefix into module to fix the arbitrary limit and save
16236 some space.
16237
16238 * grub-core/kern/emu/main.c (grub_prefix): Removed.
16239 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
16240 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
16241 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
16242 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
16243 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
16244 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
16245 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
16246 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16247 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
16248 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
16249 * include/grub/ia64/efi/kernel.h: Removed.
16250 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
16251 (grub_prefix): Removed.
16252 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
16253 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
16254 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
16255 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
16256 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
16257 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
16258 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
16259 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
16260 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
16261 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
16262 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16263 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16264 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16265 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16266 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
16267 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
16268 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
16269 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16270 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
16271 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
16272 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
16273 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
16274 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
16275 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
16276 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
16277 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
16278 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
16279 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
16280 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
16281 from module.
16282 * util/grub-mkimage.c (image_target_desc): Removed prefix and
16283 prefix_end.
16284 (image_targets): Likewise.
16285 (generate_image): Put prefix as a module.
16286
39705fad
VS
162872011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16288
16289 Replace grub_module_iterate with FOR_MODULES.
16290
16291 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
16292 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
16293 (grub_efi_modules_addr): ...this.
16294 * grub-core/kern/efi/init.c (grub_modbase): New variable.
16295 (grub_efi_init): Set grub_modbase.
16296 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
16297 (grub_modbase): New variable.
16298 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
16299 (grub_modbase): New variable.
16300 (grub_machine_init): Set grub_modbase.
16301 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
16302 (grub_modbase): New variable.
16303 (grub_machine_init): Set grub_modbase.
16304 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
16305 (grub_modbase): New variable.
16306 (grub_machine_init): Set grub_modbase.
16307 * grub-core/kern/main.c (grub_module_iterate): Remove.
16308 (grub_modules_get_end): Use grub_modbase.
16309 (grub_load_modules): Use FOR_MODULES.
16310 (grub_load_config): Likewise.
16311 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
16312 (grub_modbase): New variable.
16313 (grub_machine_init): Set grub_modbase.
16314 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
16315 (grub_modbase): New variable.
16316 (grub_machine_init): Set grub_modbase.
16317 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
16318 Removed.
16319 (grub_modbase): New variable.
16320 (grub_machine_init): Set grub_modbase.
16321 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
16322 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
16323 (grub_module_iterate): Likewise.
16324 (grub_modbase): New variable declaration.
16325 (FOR_MODULES): New macro.
16326
2afb7f6c
VS
163272011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 * configure.ac: Check for __ctzdi2 and __ctzsi2.
16330 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
16331
366e34fa
VS
163322011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16333
16334 Fix few obvious type discrepancies.
16335
16336 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
16337 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
16338 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
16339 variable.
16340 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
16341 and connected types.
16342 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
16343 offset.
16344 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
16345 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
16346 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
16347 and connected types.
16348
177b960e
VS
163492011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16350
16351 Fix python 3.x incompatibilities.
16352
16353 * gentpl.py: Put brackets around print strings.
16354 * util/import_gcry.py: Open explicitly as utf-8.
16355 Use in instead of has_key.
16356
3b619ae1
VS
163572011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16358
16359 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
16360 (GRUB_XFS_INO_AGBITS): Make into inline function.
16361 (GRUB_XFS_INO_INOINAG): Likewise.
16362 (GRUB_XFS_INO_AG): Likewise.
16363 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
16364 (GRUB_XFS_EXTENT_OFFSET): Likewise.
16365 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16366 (GRUB_XFS_EXTENT_SIZE): Likewise.
16367 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
16368 (GRUB_XFS_NEXT_DIRENT): Likewise.
16369 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
16370 (grub_xfs_read_file): Fix offset type.
16371
8bcebcb8
RM
163722011-10-15 Robert Millan <rmh@gnu.org>
16373
16374 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
16375
0017e5ef
RM
163762011-10-15 Robert Millan <rmh@gnu.org>
16377
16378 Fix build problem on FreeBSD and GNU/kFreeBSD.
16379
16380 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
16381
d8919552
VS
163822011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16383
16384 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
16385
16386 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
16387 types.
16388 (grub_hfsplus_btree_recoffset): Likewise.
16389 (grub_hfsplus_btree_recptr): Likewise.
16390 (grub_hfsplus_find_block): Likewise.
16391 (grub_hfsplus_btree_search): Likewise.
16392 (grub_hfsplus_read_block): Likewise.
16393 (grub_hfsplus_read_file): Likewise.
16394 (grub_hfsplus_mount): Likewise.
16395 (grub_hfsplus_btree_iterate_node): Likewise.
16396 (grub_hfsplus_btree_search): Likewise.
16397 (grub_hfsplus_iterate_dir): Likewise.
16398 (grub_hfsplus_read): A small code simplification.
16399
c81296b6
VS
164002011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16401
16402 * grub-core/kern/emu/hostdisk.c
16403 (convert_system_partition_to_system_disk): Don't assume that children
16404 of mapper nodes are mapper nodes.
16405
0eb8ffb1
VS
164062011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16407
16408 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
16409 * include/grub/misc.h (grub_isxdigit): New function.
16410 * grub-core/video/colors.c (my_isxdigit): Removed. All users
16411 switched to grub_isxdigit.
16412 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
16413 number starting with a letter.
16414
a98f4a08
RM
164152011-10-09 Robert Millan <rmh@gnu.org>
16416
16417 LVM support for FreeBSD and GNU/kFreeBSD.
16418
16419 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
16420 GNU/kFreeBSD.
16421 (LVM_DEV_MAPPER_STRING): Move from here ...
16422 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
16423 * util/getroot.c: Include `<grub/util/lvm.h>'.
16424 (grub_util_get_dev_abstraction): Enable
16425 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
16426 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
16427 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
16428 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
16429 support it.
16430 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
16431 GNU/kFreeBSD.
16432 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
16433 when LVM abstraction is required for ${GRUB_DEVICE}.
16434
050e8e90
SJ
164352011-10-06 Szymon Janc <szymon@janc.net.pl>
16436
16437 Add support for LZO compression in GRUB:
16438 - import of minilzo library,
16439 - LZO decompression for btrfs,
16440 - lzop files decompression.
16441
16442 * grub-core/io/lzopio.c: New file.
16443 * grub-core/lib/adler32.c: Likewise.
16444 * grub-core/lib/minilzo/lzoconf.h: Likewise.
16445 * grub-core/lib/minilzo/lzodefs.h: Likewise.
16446 * grub-core/lib/minilzo/minilzo.c: Likewise.
16447 * grub-core/lib/minilzo/minilzo.h: Likewise.
16448 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
16449 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
16450 grub-core/lib/minilzo/minilzo.c to common.
16451 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
16452 cflags in cppflags.
16453 * grub-core/Makefile.core.def (btrfs): Likewise.
16454 * grub-core/Makefile.core.def (lzopio): New module.
16455 (adler32): Likewise.
16456 * grub-core/fs/btrfs.c: Include minilzo.h.
16457 (GRUB_BTRFS_COMPRESSION_LZO): New define.
16458 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
16459 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
16460 (grub_btrfs_lzo_decompress): New function.
16461 (grub_btrfs_extent_read): Add support for LZO compression type.
16462 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
16463 (GRUB_USHRT_MAX): Likewise.
16464 (GRUB_UINT_MAX): Likewise.
16465 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
16466 (UINT_MAX): Likewise.
16467 (CHAR_BIT): Likewise.
16468 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
16469 grub-core/lib/posix_wrap/limits.h
16470 (UCHAR_MAX): Likewise.
16471 * include/grub/file.h (grub_file_filter_id): New compression filter
16472 GRUB_FILE_FILTER_LZOPIO.
16473 * include/grub/file.h (grub_file_filter_id): Set
16474 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
16475 * include/grub/types.h (grub_get_unaligned16): New function.
16476 (grub_get_unaligned32): Likewise.
16477 (grub_get_unaligned64): Likewise.
16478 * util/import_gcry.py (cryptolist): Add adler32.
16479
0eb8ffb1
VS
164802011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
16481
16482 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
16483 in perspective decreases the complexity of build system and fixes
16484 compilation right now.
16485
ce79cc99 164862011-10-01 Ales Nesrsta <starous@volny.cz>
16487
16488 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
16489 (fixed problem related to using UHCI with coreboot).
16490
8667a314
BC
164912011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16492
16493 * gentpl.py: Use Autogen macros so that the output template file
16494 (Makefile.tpl) size is reduced.
16495
fc5efcc0
MK
164962011-09-29 Mads Kiilerich <mads@kiilerich.com>
16497
16498 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
16499 extra_dist.
16500
d1ab689d
ML
165012011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16502
16503 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
16504 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
16505
c05de032
ML
165062011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16507
16508 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
16509 _fullpath.
16510
cca7ccd8
ML
165112011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16512
16513 Remove extra declaration of sleep for mingw32.
16514
16515 * util/misc.c (sleep) [__MINGW32__]: Removed.
16516 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
16517
e0b0dc83
GS
165182011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
16519
16520 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
16521 type and packname.
16522 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
16523 Resurrected.
16524 (NETBSD_BTINFO_BOOTWEDGE): New definition.
16525 (grub_netbsd_btinfo_bootwedge): New struct.
16526 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16527 New function.
16528 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
16529
91a1a164
TH
165302011-09-28 Thomas Haller <thomas.haller@fen-net.de>
16531
16532 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
16533 loader.
16534
2ded951e
AB
165352011-09-28 Andreas Born <futur.andy@googlemail.com>
16536
16537 Fix incorrect identifiers in bash-completion.
16538
16539 * util/bash-completion.d/grub-completion.bash.in
16540 (_grub_mkpasswd-pbkdf2): Rename to ...
16541 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
16542 (_grub_script-check): Rename to ...
16543 (_grub_script_check): ... this. All users updated.
16544
69915030
VS
165452011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
16546
16547 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
16548 Return 0 if disk isn't biosdisk.
16549
20fd15f9
GS
165502011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16551
16552 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
16553 on NetBSD.
16554 * Makefile.util.def (grub-fstest): Likewise.
16555
1a7d7db9
GS
165562011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16557
16558 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
16559 Get sector size from disk label.
16560
2221ab6c
CW
165612011-09-05 Colin Watson <cjwatson@ubuntu.com>
16562
16563 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
16564 */README* as well as README*.
16565 Reported by: Axel Beckert.
16566
ca51c4a0
VS
165672011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16568
16569 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
16570 case of less than 256 MiB of RAM.
16571
ab80f326
VS
165722011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16573
16574 * grub-core/commands/wildcard.c (make_regex): Handle @.
16575
4155e697
VS
165762011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16577
16578 * util/grub-install.in: Move cryptodisk logic to appropriate place.
16579
ab178c08
SJ
165802011-08-21 Szymon Janc <szymon@janc.net.pl>
16581
16582 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
16583 AC_LANG_CONFTEST macros.
16584
7dc3c686
SJ
165852011-08-20 Szymon Janc <szymon@janc.net.pl>
16586
16587 Add grub-fstest option to uncompress data for commands.
16588
16589 * util/grub-fstest.c (uncompress): New var.
16590 (options): New option -u.
16591
fe8d4a7b
SJ
165922011-08-20 Szymon Janc <szymon@janc.net.pl>
16593
16594 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16595 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16596
a5219af1
SJ
165972011-08-20 Szymon Janc <szymon@janc.net.pl>
16598
16599 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16600 file type was not recognized correctly (not gzip or corrupted).
16601
f87abff5
VS
166022011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16605 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16606
d94497ea
VS
166072011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16608
16609 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16610 loongson.
16611 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16612 video_radeon_fuloong2e.
16613 * grub-core/video/radeon_fuloong2e.c: New file.
16614 * include/grub/video.h (grub_video_id_t): Add new ID
16615 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16616
0d1fd011
VS
166172011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16618
16619 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16620 define.
16621 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16622 that PRID matches the detected subplatform and reset the subplatform
16623 if it doesn't.
16624
84beb0ee
VS
166252011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16626
16627 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16628
1227c133
VS
166292011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16630
16631 Fix PCI iterating on functions >= 4.
16632
16633 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16634 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16635 Removed.
16636 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16637 (grub_pci_read): Fix bitmask.
16638 (grub_pci_read_word): Likewise.
16639 (grub_pci_read_byte): Likewise.
16640 (grub_pci_write): Likewise.
16641 (grub_pci_write_word): Likewise.
16642 (grub_pci_write_byte): Likewise.
16643
9594c689
VS
166442011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16645
16646 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16647 can still be specified in TARGET_CFLAGS)
16648
14a2562c
VS
166492011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16652
16653 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16654 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16655 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16656 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16657 (FULOONG): Rename to ...
16658 (FULOONG2F): ... this. All users updated.
16659 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16660 (machtype_fuloong2f_str): ... this.
16661 (machtype_fuloong2e_str): New string.
16662 Check for machtype_fuloong2e_str.
16663 * grub-core/loader/mips/linux.c (loongson_machtypes)
16664 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16665 * grub-core/term/serial.c (loongson_defserial)
16666 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16667 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16668 loongson_defserial.
16669 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16670 Rename to ...
16671 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16672 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16673 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16674 to IMAGE_FULOONG2F_FLASH. All users updated.
16675 (image_targets): Rename images.
16676 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16677
b526cbb6
SJ
166782011-08-19 Szymon Janc <szymon@janc.net.pl>
16679
16680 Make enable of disk cache statistics code configurable.
16681
16682 * configure.ac: --enable-cache-stats added.
16683 * config.h.in (DISK_CACHE_STATS): New define.
16684 * grub-core/Makefile.core.def (cacheinfo): New command.
16685 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16686 * grub-core/commands/cacheinfo.c: New file.
16687 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16688 moved to cacheinfo.c.
16689 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16690 debug code.
16691 * include/grub/disk.h: Likewise.
16692
fb739ccd
SJ
166932011-08-19 Szymon Janc <szymon@janc.net.pl>
16694
16695 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16696 * grub-core/Makefile.am: Likewise.
16697
2bba8cfd
VS
166982011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16699
16700 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16701 non-zero pull.
16702
43526629
VS
167032011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16704
16705 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16706 All users updated.
16707 (grub_jfs_lookup_symlink): Use correct starting inode.
16708
5c144cc8
VS
167092011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16710
16711 * util/grub-setup.c (main): Add missing gcry initialisation.
16712
b1257f65
VS
167132011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16714
16715 Don't accept text modes on EFI when booting Linux.
16716
16717 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16718 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16719
828bc390
ML
167202011-08-15 Mario Limonciello <mario_limonciello@dell.com>
167212011-08-15 Colin Watson <cjwatson@ubuntu.com>
16722
16723 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
16724 use of "/path/.." as in grub-install for EFI as well as handling
16725 symlinks correctly.
16726 Fixes Debian bug #637768.
16727
5f60ccac
CW
167282011-08-15 Colin Watson <cjwatson@ubuntu.com>
16729
16730 * util/grub-probe.c: Remove duplicate #include.
16731
6dc212f9
RM
167322011-08-10 Robert Millan <rmh@gnu.org>
16733
16734 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16735
16736 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16737 function.
16738 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16739 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16740
66816d85
RM
167412011-08-03 Robert Millan <rmh@gnu.org>
16742
16743 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16744 la_array as packed.
16745 Reported by: Zachary Bedell
16746
20168fca
CW
167472011-07-26 Colin Watson <cjwatson@ubuntu.com>
16748
16749 * configure.ac: The Loongson port requires grub-mkfont due to its
16750 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
16751 be built.
16752
303b6246
CW
167532011-07-26 Colin Watson <cjwatson@ubuntu.com>
16754
16755 * util/grub-install.in: Don't source grub-mkconfig_lib until after
16756 processing arguments (otherwise help2man fails when GRUB has not yet
16757 been installed).
16758
6795300e
VS
167592011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16760
41aa28ea
VS
16761 New script grub-mkstandalone.
16762
16763 * Makefile.util.def (grub-mkstandalone): New script.
16764 * docs/man/grub-mkstandalone.h2m: New file.
16765 * util/grub-mkstandalone.in: Likewise.
16766
167672011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16768
16769 Support ATA disks with 4K sectors.
6795300e
VS
16770
16771 * include/grub/ata.h (grub_ata): New member log_sector_size.
16772 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16773 (grub_ata_identify): Read sector size.
16774 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16775
92227597
VS
167762011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16777
16778 * util/grub-install.in: Don't use uhci outside of x86.
16779
c77069f5
VS
167802011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16781
16782 * util/grub-mkrescue.in: Add missing quotes.
16783
167842011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
16785
16786 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16787 dereference.
16788
583168a2
VS
167892011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16790
16791 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16792
6be1c01f
VS
167932011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 * include/grub/video.h: add missing EXPORT_FUND on
16796 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16797
a1167439
VS
167982011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16799
16800 * include/grub/mips/kernel.h: Fix define conflict.
16801
bf66054f
VS
168022011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16803
16804 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16805 all four ways.
16806
8fc4fa45
CW
168072011-07-21 Colin Watson <cjwatson@ubuntu.com>
16808
16809 Preferred resolution detection for VBE.
16810
16811 * grub-core/video/video.c (grub_video_edid_checksum): New function.
16812 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16813 the Flat Panel extension, in line with the X.org VESA driver.
16814 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16815 New function.
16816 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16817 (grub_vbe_bios_read_edid): Likewise.
16818 (grub_vbe_get_preferred_mode): Likewise.
16819 (grub_video_vbe_setup): When the mode is "auto", try to get the
16820 preferred mode from VBE, and use the largest mode that is no larger
16821 than the preferred mode (some BIOSes expose a preferred mode that is
16822 not in their mode list!). If this fails, fall back to 640x480 as a
16823 safe conservative choice.
16824 (grub_video_vbe_get_edid): New function.
16825 (grub_video_vbe_adapter): Add get_edid.
16826 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16827 (struct grub_video_adapter): Add get_edid.
16828 (grub_video_edid_checksum): Add prototype.
16829 (grub_video_edid_preferred_mode): Likewise.
16830 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16831 structure.
16832
16833 * grub-core/commands/videoinfo.c (print_edid): New function.
16834 (grub_cmd_videoinfo): Print EDID if available.
16835
16836 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16837 is more appropriate on a wider range of platforms than 640x480.
16838 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16839 documentation.
16840
ca5572a9
VS
168412011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16842
16843 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16844
e4bcf625
VS
168452011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16846
16847 * po/POTFILES.in: Regenerate.
16848
c4edd548
VS
168492011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16850
16851 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16852 incorrect memory usage.
16853
16a2bab0
VS
168542011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16855
16856 * util/grub-install.in: Source grub-mkconfig_lib.
16857
2e418de6
VS
168582011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16859
16860 Remove getroot.c from core on emu platform.
16861
16862 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16863 kern/emu/raid.c.
16864 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16865 useless.
16866 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16867 * util/getroot.c (get_win32_path): ... here.
16868 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16869 * util/getroot.c (fini_libzfs): ... here.
16870 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16871 * util/getroot.c (grub_get_libzfs_handle): ... here.
16872 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16873 Moved from here...
16874 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16875 * grub-core/kern/emu/misc.c
16876 (grub_make_system_path_relative_to_its_root): Moved from here...
16877 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16878 * grub-core/kern/emu/getroot.c: Moved from here ...
16879 * util/getroot.c: ... here. All users updated.
16880 * grub-core/kern/emu/raid.c: Moved from here ...
16881 * util/raid.c: ... here. All users updated.
16882
def9832a
VS
168832011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16884
16885 * po/POTFILES.in: Regenerate.
16886
cd8fe79a
VS
168872011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16888
16889 Fix compilation on GNU/Linux.
16890
16891 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16892 Disable geli.
16893 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16894 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16895 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16896
a251b719
VS
168972011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
168982011-07-07 Michael Gorven <michael@gorven.za.net>
168992011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16900
16901 LUKS and GELI support.
16902
16903 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16904 grub-core/disk/luks.c, grub-core/disk/geli.c,
16905 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16906 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16907 grub-core/lib/arg.c.
16908 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16909 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16910 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16911 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16912 (grub-bin2h): Add libgcry.a.
16913 (grub-mkimage): Likewise.
16914 (grub-mkrelpath): Likewise.
16915 (grub-script-check): Likewise.
16916 (grub-editenv): Likewise.
16917 (grub-mkpasswd-pbkdf2): Likewise.
16918 (grub-pe2elf): Likewise.
16919 (grub-fstest): Likewise.
16920 (grub-mkfont): Likewise.
16921 (grub-mkdevicemap): Likewise.
16922 (grub-probe): Likewise.
16923 (grub-ofpath): Likewise.
16924 (grub-mklayout): Likewise.
16925 (example_unit_test): Likewise.
16926 (grub-menulst2cfg): Likewise.
16927 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16928 * grub-core/Makefile.core.def (cryptodisk): New module.
16929 (luks): Likewise.
16930 (geli): Likewise.
16931 * grub-core/disk/AFSplitter.c: New file.
16932 * grub-core/disk/cryptodisk.c: Likewise.
16933 * grub-core/disk/geli.c: Likewise.
16934 * grub-core/disk/luks.c: Likewise.
16935 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16936 grub_util_is_lvm.
16937 (grub_util_get_dm_abstraction): New function.
16938 (grub_util_follow_gpart_up): Likewise.
16939 (grub_util_get_geom_abstraction): Likewise.
16940 (grub_util_get_dev_abstraction): Use new functions.
16941 (grub_util_pull_device): Pull GELI and LUKS.
16942 (grub_util_get_grub_dev): Handle LUKS and GELI.
16943 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16944 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16945 (follow_geom_up): Removed.
16946 (grub_util_fd_seek): New function.
16947 (open_device): Use grub_util_fd_seek.
16948 (nread): Rename to ..
16949 (grub_util_fd_read): ... this. All users updated.
16950 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16951 (grub_crypto_cbc_decrypt): Likewise.
16952 (grub_crypto_hmac_write): Likewise.
16953 (grub_crypto_hmac_buffer): Likewise.
16954 (grub_password_get): Extend to util.
16955 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16956 New member modname.
16957 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16958 * include/grub/cryptodisk.h: New file.
16959 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16960 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16961 LUKS and GELI.
16962 (grub_util_follow_gpart_up): New proto.
16963 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16964 (grub_util_fd_read): Likewise.
16965 (grub_cryptodisk_cheat_mount): Likewise.
16966 (grub_util_cryptodisk_print_uuid): Likewise.
16967 (grub_util_get_fd_sectors): Likewise.
16968 * util/grub-fstest.c (mount_crypt): New var.
16969 (fstest): Mount crypto if requested.
16970 (options): New option -C.
16971 (argp_parser): Parse -C.
16972 (main): Init and fini gcry.
16973 * util/grub-install.in: Support cryptodisk install.
16974 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16975 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16976 cryptodisk.
16977 (prepare_grub_to_access_device): Likewise.
16978 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16979 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16980 (probe_cryptodisk_uuid): New function.
16981 (probe_abstraction): Likewise.
16982 (probe): Use new functions.
16983 * util/import_gcry.py: Create Makefile.utilgcry.def.
16984 Add modname member.
16985
9bfdcbbc
VS
169862011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16987
16988 Lazy device scanning.
16989
16990 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16991 (grub-setup): Remove util/raid.c.
16992 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16993 * grub-core/disk/lvm.c (scan_depth): New variable.
16994 (grub_lvm_iterate): Rescan if necessary.
16995 (find_lv): New function based on grub_lvm_open.
16996 (grub_lvm_open): Use find_lv. Rescan on error.
16997 (is_node_readable): New function.
16998 (is_lv_readable): Likewise.
16999 (grub_lvm_scan_device): Skip already found disks.
17000 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
17001 Stop if searched device is found and readable.
17002 * grub-core/disk/raid.c (inscnt): New variable.
17003 (scan_depth): Likewise.
17004 (scan_devices): New function based on grub_raid_register. Abort if
17005 looked for device is found.
17006 (grub_raid_iterate): Rescan if needed.
17007 (find_array): NEw function based on -grub_raid_open.
17008 (grub_raid_open): Use find_array and rescan.
17009 (insert_array): Set became_readable_at.
17010 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
17011 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
17012 New function.
17013 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
17014 (grub_util_pull_device): New function.
17015 (grub_util_get_grub_dev): Call grub_util_pull_device.
17016 * util/raid.c: Moved to ..
17017 * grub-core/kern/emu/raid.c: ... here.
17018 (grub_util_raid_getmembers): New parameter "bootable".
17019 All users updated. Support 1.x.
17020 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
17021 All users updated.
17022 * include/grub/disk.h (grub_disk_pull_t): New enum.
17023 (grub_disk_dev): Change iterate prototype.
17024 All users updated.
17025 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
17026 New proto.
17027 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
17028 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
17029 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
17030 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
17031 All users updated.
17032 * include/grub/util/raid.h: Removed.
17033
1c358e59
VS
170342011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17035
17036 * po/POTFILES.in: Regenerate.
17037
abee94ed
VS
170382011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17039
17040 Unify sparc init with other ieee1275.
17041
17042 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
17043 instead of kern/sparc64/ieee1275/init.c.
17044 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
17045 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
17046 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
17047 grub/machine/kernel.h.
17048 (grub_ieee1275_original_stack) [__sparc__]: New variable.
17049 (grub_claim_heap) [__sparc__]: Use sparc version.
17050 (grub_machine_init): Moved args parsing to
17051 (grub_parse_cmdline): ...this.
17052 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
17053 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
17054 New definition.
17055 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
17056
17057 Move BOOTP to separate file.
17058
17059 * grub-core/Makefile.core.def (net): Add net/bootp.c.
17060 * grub-core/net/net.c: Move all BOOTP functions to
17061 * grub-core/net/bootp.c: ... here.
17062
17063 Use frame interface on PXE.
17064
17065 * grub-core/Makefile.core.def (pxecmd): Removed.
17066 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
17067 * grub-core/commands/i386/pc/pxecmd.c: Removed.
17068 * grub-core/i386/pc/pxe.c: Moved from here ...
17069 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
17070 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
17071 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
17072
17073 EFI network support.
17074
17075 * grub-core/Makefile.core.def (efinet): New module.
17076 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
17077 here...
17078 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
17079 All users updated.
17080 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
17081 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
17082 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
17083 * grub-core/net/drivers/efi/efinet.c: New file.
17084 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
17085 (grub_efi_net_config): New extern var.
17086
17087 Various cleanups and bugfixes.
17088
17089 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
17090 error.
17091 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
17092 disk declared as partition.
17093 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
17094 leak on failure.
17095 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
17096 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
17097 (grub_debug_zalloc): Likewise.
17098 (grub_debug_realloc): Likewise.
17099 (grub_debug_memalign): Likewise.
17100 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
17101 Check that target is IPv4.
17102 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
17103 local-mac-address as fallback.
17104 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
17105 memory leak.
17106 * grub-core/net/ip.c (ipchksum): Rename to ...
17107 (grub_net_ip_chksum): ... this. All users updated.
17108 (grub_net_recv_ip_packets): Special handling for DHCP.
17109 * util/grub-mkimage.c (generate_image): Zero-out aout header.
17110
17111 Unify prefix handling
17112
17113 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
17114 (grub_machine_get_bootlocation): ... this.
17115 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
17116 (grub_machine_get_bootlocation): ... this.
17117 (grub_prefix): New variable.
17118 (prefix): Removed.
17119 (root_dev): New variable.
17120 (dir): Likewise.
17121 (main): Use new variables.
17122 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
17123 Revamped into ...
17124 (grub_machine_get_bootlocation): ... this.
17125 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
17126 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
17127 (grub_machine_get_bootlocation): ... this.
17128 (grub_machine_set_prefix): Removed.
17129 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
17130 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
17131 Revamped into ...
17132 (grub_machine_get_bootlocation): ... this.
17133 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
17134 (grub_set_prefix_and_root): ... this. All users updated.
17135 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
17136 Revamped into ...
17137 (grub_machine_get_bootlocation): ... this.
17138 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
17139 (grub_machine_get_bootlocation): New proto.
17140 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
17141
17142 Less intrusive and more reliable seek on network implementation.
17143
17144 * grub-core/kern/file.c (grub_file_net_seek): Removed.
17145 (grub_file_seek): Don't call grub_file_net_seek.
17146 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
17147 (grub_net_fs_read_real): .. this.
17148 (grub_net_seek_real): Use net->offset.
17149 (grub_net_fs_read): Seek if necessary.
17150
17151 Unify IEEE1275 netwotk config with the other platforms.
17152
17153 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
17154 New variable.
17155 (grub_machine_get_bootlocation): Support network.
17156 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
17157 Support type and device parsing.
17158 (grub_ieee1275_get_device_type): New function.
17159 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
17160 into ...
17161 (grub_ieee1275_net_config_real): ... this.
17162 (grub_ofnet_probecards): Removed.
17163 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
17164 * include/grub/ieee1275/ofnet.h: Removed.
17165 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
17166 extern var.
17167 (grub_ieee1275_get_device_type): New function.
17168
17169 Unify network device closing across platforms and make more robust.
17170
17171 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
17172 grub_grubnet_fini.
17173 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
17174 already.
17175 * grub-core/net/net.c (grub_net_network_level_interface_register):
17176 Update num_ifaces.
17177 (grub_net_card_unregister): Close all interfaces.
17178 (receive_packets): Don't poll if no iterfaces are registered.
17179 Open if necessary.
17180 (grub_net_fini_hw): New function.
17181 (grub_net_restore_hw): Likewise.
17182 (fini_hnd): New variable.
17183 (GRUB_MOD_INIT): Register preboot hook.
17184 (GRUB_MOD_FINI): Run and unregister preboot hook.
17185
17186 Poll network cards when idle.
17187
17188 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
17189 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
17190 * grub-core/net/net.c (receive_packets): Save last poll time.
17191 (grub_net_poll_cards_idle_real): New function.
17192 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
17193 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
17194 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
17195
17196 Rename ofnet interfaces.
17197
17198 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
17199 (grub_ofnet_findcards): Use ofnet_%s names.
17200
17201 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
17202
17203 Cleanup socket opening.
17204
17205 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
17206 (grub_net_fs_close): Likewise.
17207 (grub_net_fs_read_real): Use eof member.
17208 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
17209 (+grub_net_udp_close): New inline function.
17210
17211 * include/grub/net/tftp.h: Moved to the top of ...
17212 * grub-core/net/tftp.c: ... here.
17213 * include/grub/net/ip.h: Moved mostly to the top of ...
17214 * grub-core/net/ip.c: ... here.
17215 * include/grub/net/ethernet.h: Moved mostly to the top of ...
17216 * grub-core/net/ethernet.c: ... here.
17217
17218 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
17219
17220 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
17221 FS name.
17222
17223 * include/grub/net/ip.h (ipv4_ini): Removed.
17224 (ipv4_fini): Likewise.
17225
17226 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
17227 (grub_net_send_ip_packets): Likewise.
17228
cf1337aa
VS
172292011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17230
17231 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
17232 grub_read_cmos prototype.
17233
93c06ff9
VS
172342011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 VGA text support in qemu-mips
17237
17238 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
17239 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
17240 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
17241 text.
17242 * grub-core/kern/i386/qemu/init.c: Renamed to ...
17243 * grub-core/kern/vga_init.c: ... this.
17244 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
17245 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
17246 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
17247 Adjust.
17248 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
17249 GRUB_MACHINE_PCI_IO_BASE.
17250
748ccabe
VS
172512011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17252
17253 MIPS qemu flash support.
17254
17255 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
17256 magic.
17257 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
17258 (grub_machine_init): Probe memory if its size isn't known.
17259 * util/grub-mkimage.c (image_targets): Add flash targets.
17260 (generate_image): Handle flash targets.
17261
d7345994
VS
172622011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17263
17264 MIPS qemu at_keyboard support.
17265
17266 * gentpl.py (videoinkernel): Add qemu-mips.
17267 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
17268 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
17269 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
17270 modules.
17271 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
17272 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
17273 * grub-core/term/serial.c (grub_serial_register)
17274 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
17275
a07a81b3
VS
172762011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17277
17278 CMOS support on sparc.
17279
17280 * gentpl.py (cmos): Add powerpc and sparc.
17281 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
17282 powerpc and sparc.
17283 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
17284 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
17285 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
17286 grub_set_datetime_cmos.
17287 * grub-core/lib/ieee1275/cmos.c: New file.
17288 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
17289 (find_rtc): Set no_ieee1275_rtc on error.
17290 (grub_get_datetime): Call grub_get_datetime_cmos on error.
17291 (grub_set_datetime): Call grub_set_datetime_cmos on error.
17292 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
17293 fail. Move value to argument. All users updated
17294 (grub_cmos_write): Likewise.
17295 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
17296 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
17297 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
17298 grub_get_datetime_cmos and grub_set_datetime_cmos.
17299
77546584
GS
173002011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17301
17302 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
17303 sourcing grub-mkconfig_lib.
17304 * util/update-grub_lib.in: Likewise.
17305 * util/grub.d/00_header.in: Likewise.
17306 * util/grub.d/10_hurd.in: Likewise.
17307 * util/grub.d/10_kfreebsd.in: Likewise.
17308 * util/grub.d/10_linux.in: Likewise.
17309 * util/grub.d/10_netbsd.in: Likewise.
17310 * util/grub.d/10_windows.in: Likewise.
17311 * util/grub.d/20_linux_xen.in: Likewise.
17312 * util/grub.d/30_os-prober.in: Likewise.
17313
54894791
CW
173142011-06-28 Colin Watson <cjwatson@ubuntu.com>
17315
17316 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
17317 default_bg_color rather than black.
17318 (grub_gfxterm_fullscreen): Likewise.
17319 (grub_gfxterm_background_color_cmd): Save new background color in
17320 default_bg_color.
17321
8d5d8444
VS
173222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
17325
5afeb5bd
VS
173262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17327
17328 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
17329 mismerge.
17330
ba7df45e
VS
173312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17332
17333 Chainloading on coreboot support.
17334
17335 * grub-core/Makefile.core.def (chain): Add coreboot.
17336 * grub-core/loader/i386/coreboot/chainloader.c: New file.
17337
d0b526b2
VS
173382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
17341 if it happens.
17342
5ff1d945
VS
173432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17344
17345 Implement time command.
17346
17347 * grub-core/Makefile.core.def (time): New module.
17348 * grub-core/commands/time.c: New file.
17349 * grub-core/script/parser.y: Remove "time" keyword.
17350 * grub-core/script/yylex.l: Likewise.
17351
5ebaad7e
VS
173522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17353
17354 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
17355
bdea3798
VS
173562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17357
17358 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
17359 when handling leftovers.
17360
b28c5655
VS
173612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17362
17363 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
17364 so that help2man doesn't fail.
17365
b6f945dc
VS
173662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17367
17368 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
17369 type in pointers on sparc64.
17370 (get_card_packet): Likewise.
17371
f9b75e8a
CW
173722011-06-27 Colin Watson <cjwatson@ubuntu.com>
17373
17374 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
17375 with `*'.
17376 (grub_cmd_videoinfo): Fetch current video mode.
17377
1e3d9b86
VS
173782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17379
17380 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
17381 because of underlying system restrictions.
17382
efff4b1c
VS
173832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17384
17385 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
17386 necessary.
17387
9fc9ce37
VS
173882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17389
17390 Coreboot video support.
17391
17392 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
17393 (vbe): Likewise.
17394 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
17395 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
17396 here ...
17397 * grub-core/kern/i386/int.S: ... here.
17398 * grub-core/video/i386/pc/vbe.c: Updated includes.
17399 * grub-core/video/i386/pc/vga.c: Likewise.
17400 * include/grub/i386/coreboot/memory.h
17401 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
17402 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
17403 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
17404 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
17405 Disable interrupts.
17406 * include/grub/i386/pc/vga.h: Removed. All users updated.
17407
41bec7fe
VS
174082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17409
17410 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
17411 definitions for dprintf.
17412 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
17413
ca80309d
VS
174142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17415
17416 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
17417 prototype.
17418 (get_card_packet): Likewise.
17419
9e322ce8
YB
174202011-06-26 Yves Blusseau <blusseau@zetam.org>
17421
17422 Display the path of the file when file is not found
17423
17424 * grub-core/fs/fat.c: Display the filename when file is not found.
17425 * grub-core/fs/fshelp.c: Likewise.
17426 * grub-core/fs/hfs.c: Likewise.
17427 * grub-core/fs/jfs.c: Likewise.
17428 * grub-core/fs/minix.c: Likewise.
17429 * grub-core/fs/ufs.c: Likewise.
17430 * grub-core/fs/btrfs.c: Likewise.
17431 * grub-core/commands/i386/pc/play.c: Likewise.
17432
cbf597af
SJ
174332011-06-26 Szymon Janc <szymon@janc.net.pl>
17434
17435 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
17436 pointer checks before calling grub_free().
17437 * grub-core/commands/wildcard.c (match_devices): Likewise.
17438 * grub-core/commands/wildcard.c (match_files): Likewise.
17439 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
17440 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
17441 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
17442 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
17443 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
17444 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
17445 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
17446 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17447 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
17448
6295b32f
P
174492011-06-25 Patrick <p55@mailinator.com>
17450
17451 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
17452
77c0840b
VS
174532011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
17454
17455 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
17456 (grub_pxe_send): Likewise.
17457 (GRUB_MOD_INIT): Fix types.
17458
40ea05de
SJ
174592011-06-24 Szymon Janc <szymon@janc.net.pl>
17460
17461 * grub-core/io/xzio.c: Fix code style issues
17462
90162423
MRA
174632011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
174642011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
17465
17466 Network infrastructure.
17467 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
17468
17469 * include/grub/net/arp.h: New file.
90162423
MRA
17470 * include/grub/net/device.h: Likewise.
17471 * include/grub/net/ethernet.h: Likewise.
17472 * include/grub/net/ip.h: Likewise.
17473 * include/grub/net/netbuff.h: Likewise.
17474 * include/grub/net/tftp.h: Likewise.
17475 * include/grub/net/udp.h: Likewise.
17476 * include/grub/ieee1275/ofnet.h: Likewise.
17477 * include/grub/emu/export.h: Likewise.
17478 * include/grub/net.h: Likewise.
17479 * grub-core/net/arp.c: Likewise.
17480 * grub-core/net/ethernet.c: Likewise.
17481 * grub-core/net/ip.c: Likewise.
17482 * grub-core/net/udp.c: Likewise.
17483 * grub-core/net/tftp.c: Likewise.
17484 * grub-core/net/netbuff.c: Likewise.
17485 * grub-core/net/net.c: Likewise.
17486 * grub-core/net/drivers/emu/emunet.c: Likewise.
17487 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
17488 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
17489 export.h.
17490 * grub-core/Makefile.core.def (net): New module.
17491 (tftp): Likewise.
17492 (ofnet): Likewise.
17493 (emunet): Likewise.
17494 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
17495 network protocols.
17496 * grub-core/kern/device.c (grub_net_open) : New variable.
17497 (grub_device_open): Handle network device.
17498 (grub_device_close): Likewise.
17499 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
17500 (grub_grubnet_fini): Likewise.
17501 (grub_file_seek): Seek in network device.
17502 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
17503 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
17504 network root.
17505 (grub_machine_fini): Call grub_grubnet_fini.
17506 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
17507 network.
17508 (grub_ieee1275_get_aliasdevname): New function.
17509 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17510 Add unofficial Solaris network info.
17511 (grub_multiboot_make_mbi): Likewise.
17512 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
17513 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
17514 * include/grub/device.h (grub_fs): Removed.
17515 * include/grub/err.h (grub_err_t): Add network-related values.
17516 * include/grub/i386/pc/pxe.h: Removed bootp parts.
17517 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
17518 (grub_ieee1275_get_aliasdevname): New proto.
17519 * include/grub/net.h: Rewritten.
423a1849 17520
031f22a0
VS
175212011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17522
17523 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
17524 names.
17525
4388ca72
VS
175262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17527
17528 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
17529 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
17530 it truncates the output.
17531 Reported by: Ximin Luo.
17532
98e2f506
VS
175332011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17534
17535 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
17536
2a5e94d8
VS
175372011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17538
17539 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
17540 partmap before abstraction.
17541
535c1910
AK
175422011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
17543
17544 * util/grub-mkconfig_lib.in: Add missing quotes.
17545
bc09e1a2
VS
175462011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17547
17548 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
17549 old method if mountinfo would return /dev/root and /dev/root doesn't
17550 exist.
17551
290766fb
VS
175522011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17553
17554 ZFS zlib support
17555
17556 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
17557 (decomp_table): Add zlib entries.
17558 (zio_read): USe 8 bits for compression function rather than 3.
17559 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
17560
175612011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 * grub-core/disk/ahci.c: Add missing license statements.
17564 * grub-core/fs/romfs.c: Likewise.
17565 * grub-core/lib/ia64/setjmp.S: Likewise.
17566 * grub-core/loader/i386/pc/freedos.c: Likewise.
17567 * grub-core/loader/ia64/efi/linux.c: Likewise.
17568 * grub-core/video/colors.c: Likewise.
17569 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
17570
5ab3f48a
VS
175712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 AHCI support.
17574
17575 * grub-core/Makefile.core.def (ata_pthru): Removed.
17576 (ahci): New module.
17577 (pata): Likewise.
17578 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
17579 on unload.
17580 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
17581 readwrite.
17582 (grub_hdparm_do_check_powermode_cmd): Likewise.
17583 (grub_hdparm_do_smart_cmd): Likewise.
17584 (grub_hdparm_set_val_cmd): Likewise.
17585 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
17586 * grub-core/disk/ahci.c: New file.
17587 * grub-core/disk/ata.c: Factor out the low-level part into ...
17588 * grub-core/disk/pata.c: ... here.
17589 * grub-core/disk/ata_pthru.c: Contents moved to ...
17590 * grub-core/disk/pata.c: ... here.
17591 * grub-core/disk/scsi.c (grub_scsi_names): New array.
17592 (grub_scsi_iterate): Use grub_scsi_names.
17593 (grub_scsi_open): Likewise.
17594 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17595 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17596 (grub_ata_regs_t): New struct.
17597 (grub_disk_ata_pass_through_parms): Likewise.
17598 (grub_ata_device): Renamed to ...
17599 (grub_ata): ... this.
17600 (grub_ata_dev): New struct.
17601 Removed all low-level inline functions.
17602 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17603 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17604 iterate hooks and open. All users updated.
17605 * util/grub-install.in: Handle AHCI disk module.
17606
c31dc5f5
SJ
176072011-06-23 Szymon Janc <szymon@janc.net.pl>
17608
17609 Add support for DRI and RSTn markers in JPEG files.
17610
17611 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17612 (JPEG_MARKER_RST0): Likewise.
17613 (JPEG_MARKER_RST1): Likewise.
17614 (JPEG_MARKER_RST2): Likewise.
17615 (JPEG_MARKER_RST3): Likewise.
17616 (JPEG_MARKER_RST4): Likewise.
17617 (JPEG_MARKER_RST5): Likewise.
17618 (JPEG_MARKER_RST6): Likewise.
17619 (JPEG_MARKER_RST7): Likewise.
17620 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17621 (grub_jpeg_decode_dri): New function.
17622 (grub_jpeg_decode_sos): Move image data related part into
17623 grub_jpeg_decode_data function.
17624 (grub_jpeg_decode_data): New function.
17625 (grub_jpeg_reset): New function.
17626 (grub_jpeg_decode_jpeg): Handle new markers.
17627
fe12fd5b
VS
176282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17629
17630 * util/ieee1275/ofpath.c (check_sas): Close fd.
17631 (main): Free of_path.
17632 Reported by: David Volgyes <dvolgyes>.
17633
03147f46
VS
176342011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17635
17636 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17637 Reported by: David Volgyes <dvolgyes>.
17638
cad3237f
VS
176392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17640
17641 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17642 file after stat.
17643 Reported by: David Volgyes <dvolgyes>.
17644
13548d26
VS
176452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17646
17647 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17648
17649 Reported by: David Volgyes <dvolgyes>.
17650
e061a1b5
VS
176512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17652
17653 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17654 Prevent memory leak.
17655
1abe47dc
VS
176562011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17657
17658 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17659 (main): Close file.
e061a1b5 17660 Reported by: David Volgyes <dvolgyes>.
1abe47dc 17661
fbc62666
VS
176622011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17665 to continue if allocation is failed.
17666
17667 Reported by: David Volgyes <dvolgyes>.
17668
e98c83e9
DV
176692011-06-23 David Volgyes <dvolgyes>
17670
17671 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17672 dereference.
17673
a199a8cd
VS
176742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17675
17676 Fix spurious warning.
17677
17678 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17679 (acorn_partition_map_find): Use .bin member.
17680
e2d1dba0
VS
176812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17684 /dev/root as a valid device.
17685
8a5d6919
JM
176862011-06-23 Jim Meyering <meyering@redhat.com>
17687
e2d1dba0
VS
17688 Avoid NULL deref in grub_device_open.
17689
8a5d6919
JM
17690 * grub-core/kern/device.c (grub_device_open): Don't dereference
17691 a NULL pointer upon failed grub_env_get.
17692
f7db6f4a
VS
176932011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17694
17695 Support non-512B sectors and agglomerate reads.
17696
17697 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17698 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17699 (disk_io_guid): Removed.
17700 (make_devices): Locate solely by BlockIO.
17701 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17702 (grub_efidisk_read): Use read_blocks.
17703 (grub_efidisk_write): Use write_blocks.
17704 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17705 log_sector_size.
17706 (get_safe_sectors): Handle non-512B sectors.
17707 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17708 sectors.
17709 (grub_biosdisk_write): Handle non-512B sectors.
17710 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17711 (grub_scsi_read): Remove special non-512B block handling (now handled
17712 one level up).
17713 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17714 and do sanity checks.
17715 (grub_disk_adjust_range): Handle non-512B sectors.
17716 (transform_sector): New function.
17717 (grub_disk_read_small): Likewise.
17718 (grub_disk_read): Rewritten.
17719 (grub_disk_write): Handle non-512B sectors.
17720 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17721 log_sector_size.
17722 (open_device): Use log_sector_size.
17723 (grub_util_biosdisk_read): Likewise.
17724 (grub_util_biosdisk_write): Likewise.
17725 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
17726 non-512B sectors.
17727 (pc_partition_map_embed): Likewise.
17728 * include/grub/disk.h (grub_disk): New field log_sector_size.
17729 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
17730 (GRUB_DISK_CACHE_BITS): Increased to 6.
17731 * util/grub-fstest.c (fstest): New command testload.
17732 (argp_parser): Likewise.
17733
881ac815
RM
177342011-06-16 Robert Millan <rmh@gnu.org>
17735
17736 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17737 `ata' driver on kernel of FreeBSD 9.
17738
17739 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17740 (get_ataraid_disk_name): New functions.
17741 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17742 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17743 get_ataraid_disk_name() and get_ada_disk_name().
17744
1e9aef7d
CW
177452011-06-13 Colin Watson <cjwatson@ubuntu.com>
17746
17747 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17748 input format.
17749
351c7c8a
CW
177502011-05-29 Colin Watson <cjwatson@ubuntu.com>
17751
17752 * docs/grub.texi (Obtaining and Building GRUB): Substitute
17753 `ftp.gnu.org' for `alpha.gnu.org'.
17754
6b4e6430
CW
177552011-05-27 Colin Watson <cjwatson@ubuntu.com>
17756
17757 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
17758 partitions under /dev/disk/by-id/.
17759
c64db050
CW
177602011-05-27 Colin Watson <cjwatson@ubuntu.com>
17761
17762 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
17763 after ten consecutive open failures. Scanning all the way up to
17764 10000 is excessive and can cause serious performance problems in
17765 some configurations.
17766 Fixes Ubuntu bug #787461.
17767
245f4aba
VS
177682011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17769
17770 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17771 opening new one.
17772
f767c929
VS
177732011-05-21 Colin Watson <cjwatson@ubuntu.com>
177742011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17775
17776 Don't stat devices unless we have to.
17777
17778 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17779 dir == /dev/mapper.
17780 (grub_guess_root_device): Use already known os_dev if possible.
17781 * grub-core/kern/emu/hostdisk.c
17782 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17783 if device is known to be a dm one.
17784
f35fa3a6
CW
177852011-05-20 Colin Watson <cjwatson@ubuntu.com>
17786
17787 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17788 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17789 Reported by: Pawel Tecza.
17790
9a79fcf2
VS
177912011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17792
17793 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17794 (lsefisystab): Likewise.
17795 (lssal): Likewise.
17796 (lsefimmap): Likewise.
17797 (hdparm): Enable on qemu-mips.
17798 (setjmp): Add ia64 nodist.
17799 (serial): Simplify tags.
17800
63e3eea9
CW
178012011-05-18 Colin Watson <cjwatson@ubuntu.com>
17802
17803 * Makefile.util.def (grub-ofpathname): Install manual page.
17804
09728256
CW
178052011-05-18 Colin Watson <cjwatson@ubuntu.com>
17806
17807 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17808
8b63a142
CW
178092011-05-18 Colin Watson <cjwatson@ubuntu.com>
17810
17811 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
17812
e775d8ed
VS
178132011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17814
17815 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17816 into dprintf.
17817
bf947d36
VS
178182011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17819
17820 Use full 64-bit division.
17821
17822 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17823 (grub_divmod64): ... this.
17824 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17825 version.
17826
b84f26c5
CW
178272011-05-18 Colin Watson <cjwatson@ubuntu.com>
17828
17829 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17830 `source'.
17831
5626056f
CW
178322011-05-18 Colin Watson <cjwatson@ubuntu.com>
17833
17834 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17835 to avoid accidents when debugging with 'sh -x'.
17836 * grub-core/gensyminfo.sh.in: Likewise.
17837 * tests/example_scripted_test.in: Likewise.
17838 * tests/grub_cmd_regexp.in: Likewise.
17839 * tests/grub_script_blanklines.in: Likewise.
17840 * tests/grub_script_dollar.in: Likewise.
17841 * tests/grub_script_expansion.in: Likewise.
17842 * tests/grub_script_final_semicolon.in: Likewise.
17843 * tests/partmap_test.in: Likewise.
17844 * tests/util/grub-shell-tester.in: Likewise.
17845 * tests/util/grub-shell.in: Likewise.
17846
e2965f4a
CW
178472011-05-18 Colin Watson <cjwatson@ubuntu.com>
17848
17849 Move gfxmenu color handling to video, so that gfxterm can use it
17850 too.
17851
17852 * grub-core/gfxmenu/named_colors.c: Move to ...
17853 * grub-core/video/colors.c: ... here. Rename
17854 grub_gui_get_named_color to grub_video_get_named_color.
17855 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17856 * grub-core/video/colors.c (my_isxdigit): ... here.
17857 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17858 Move to ...
17859 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17860 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17861 to ...
17862 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17863
17864 * include/grub/gui.h (grub_gui_color_t): Move to ...
17865 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17866 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17867 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17868 * include/grub/gui.h (grub_gui_map_color): Move to ...
17869 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17870 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17871 to ...
17872 * include/grub/video.h (grub_video_get_named_color): ... here.
17873 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17874 * include/grub/video.h (grub_video_parse_color): ... here.
17875
17876 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17877 video/colors.c.
17878 (gfxmenu): Remove gfxmenu/named_colors.c.
17879 (video) [videomodules]: Add video/colors.c.
17880
17881 Add a background_color command.
17882
17883 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17884 function.
17885 (GRUB_MOD_INIT): Register background_color command.
17886 (GRUB_MOD_FINI): Unregister background_color command.
17887 (redraw_screen_rect): Allow blend/replace of text layer to be
17888 controlled independently from whether there is a background bitmap.
17889 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17890 changing bitmap.
17891
1e4b4390
VS
178922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17893
26618ff0
VS
17894 Patch BPB in ntldr and chainloader --bpb.
17895
1e4b4390
VS
17896 * grub-core/fs/fat.c: Include grub/fat.h.
17897 (grub_fat_bpb): Moved to ...
17898 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17899 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17900 grub/ntfs.h.
17901 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17902 Moved from here...
17903 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17904 here.
17905 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17906 New function.
17907 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17908 (GRUB_MOD_INIT): Show --bpb.
17909 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17910 * grub-core/normal/main.c (features): New variable.
17911 (GRUB_MOD_INIT): Set feature_* variables.
17912 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17913 proto.
17914 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17915
cf02731e
VS
179162011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17917
17918 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17919 for cleanness.
17920
e3a1073f
VS
179212011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17922
17923 FreeDOS direct loading support.
17924
17925 * docs/grub.texi (Supported OS): Add FreeDOS.
17926 * grub-core/Makefile.core.def (freedos): New module.
17927 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17928 variable.
17929 (grub_relocator16_boot): Handle %ebx.
17930 * grub-core/lib/i386/relocator16.S: Likewise.
17931 * grub-core/loader/i386/pc/freedos.c: New file.
17932
05caa461
VS
179332011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17934
17935 Long Linux command line support.
17936
17937 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17938 (maximal_cmdline_size): New variable.
17939 (allocate_pages): Use maximal_cmdline_size.
17940 (grub_cmd_linux): Set and use maximal_cmdline_size.
17941 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17942 (allocate_pages): Use maximal_cmdline_size.
17943 (grub_cmd_linux): Set and use maximal_cmdline_size.
17944 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17945 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17946 and cmdline_size.
17947
a2491e23
VS
179482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
179492011-05-18 Colin Watson <cjwatson@ubuntu.com>
17950
17951 Improve devmapper support
17952
17953 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17954 (grub_util_is_lvm): New function.
17955 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17956 than lvm if not dmraid.
17957 Handle mapped md nodes.
17958 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17959 (grub_util_device_is_mapped): ... this. Make always available. All users
17960 updated.
17961 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17962 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17963 dmraid nodes.
17964 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17965
6ad6223e
VS
179662011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17967
17968 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17969
17970 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17971 * grub-core/modinfo.sh.in: New file.
17972 * grub-core/Makefile.core.def (modinfo.sh): New script.
17973 * util/grub-mknetdir.in: Use modinfo.sh.
17974 * util/grub-mkrescue.in: Likewise.
17975
543a8f6e
VS
179762011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17977
17978 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17979 Fix potential usage of Elf32 instead of Elf64 when compiling on
17980 32-bit architecture. Add endianness macros while on it.
17981
4959e111
VS
179822011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17983
17984 Use mipsel- rather than mips- in directories involving mipsel ports to
17985 allow both endiannesses coexist.
17986
17987 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17988 mips. All conditions adjusted.
17989 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17990 variable.
17991 * util/grub-install.in: Adjust conditions to take renaming into account.
17992 * util/grub-mkimage.c (image_targets): Likewise. New target
17993 mips-qemu_mips-elf for bigendian mips.
17994
35341bbc
VS
179952011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17996
17997 Avoid unnecessary copying on MIPS.
17998
17999 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
18000 early if src == dest.
18001 * util/grub-mkimage.c (generate_image): Arange for src == dest if
18002 compression is none.
18003
b772baed
VS
180042011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18005
18006 Reduce memory footprint on SGI by putting modules before the kernel
18007 as opposed to after.
18008
18009 * grub-core/Makefile.core.def (kernel): Increase linking address.
18010 (none_decompress): Likewise.
18011 (xz_decompress): Likewise.
18012 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
18013 address.
18014 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
18015 layout change.
18016 (grub_arch_modules_addr): New function.
18017 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
18018 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
18019 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
18020 here.
18021 * grub-core/kern/mips/startup.S (total_size): Rename to ...
18022 (grub_total_modules_size): ... this. Make global.
18023 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
18024 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
18025 New definition.
18026 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
18027 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
18028 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
18029 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
18030 * util/grub-mkimage.c (image_target_desc): New flag
18031 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
18032 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
18033 (generate_image): Handle images with modules before kernel.
18034
566a1917
VS
180352011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18036
18037 Prevent potential loss of memory map by overwrite on qemu-mips.
18038
18039 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18040 Save ram size in $s4.
18041 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
18042 All users changed to grub_arch_memsize.
18043 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
18044 Loongson.
18045 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
18046 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
18047 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
18048 external variable.
18049
5d420cd9
CW
180502011-05-17 Colin Watson <cjwatson@ubuntu.com>
18051
18052 * .bzrignore: Remove grub-dumpbios.
18053
d064b830
CW
180542011-05-17 Colin Watson <cjwatson@ubuntu.com>
18055
18056 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
18057 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
18058 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
18059 existing options which append).
18060 * docs/grub.texi (Simple configuration): Document new options.
18061 Reported by: Ian Jackson. Fixes Debian bug #617538.
18062
3ca2b466
CW
180632011-05-17 Colin Watson <cjwatson@ubuntu.com>
18064
18065 * util/grub-fstest.c (cmd_cat): New function.
18066 (fstest): Handle CMD_CAT.
18067 (options): Add cat.
18068 (argp_parser): Handle cat.
18069
24c9143a
CW
180702011-05-17 Colin Watson <cjwatson@ubuntu.com>
18071
18072 * Makefile.util.def (grub-bin2h): Don't install.
18073 * docs/man/grub-bin2h.h2m: Remove.
18074
90f7ac19
VS
180752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18076
18077 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
18078 place.
18079
8d4a5178
VS
180802011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18081
18082 Reenable qemu-mips port.
18083
18084 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
18085 Fix small arc bug while on it.
18086 * gentpl.py: Handle qemu_mips.
18087 * grub-core/Makefile.am: Likewise.
18088 * grub-core/Makefile.core.def: Likewise.
18089 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
18090 inappropriate includes.
18091 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
18092 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
18093 * grub-core/kern/main.c (grub_modules_get_end)
18094 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
18095 * grub-core/kern/mips/qemu-mips: Moved to ..
18096 * grub-core/kern/mips/qemu_mips: ... this.
18097 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
18098 (grub_machine_init): Call terminfo_init and serial_init.
18099 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
18100 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18101 New variable.
18102 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
18103 parameter passing.
18104 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
18105 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
18106 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
18107 * include/grub/mips/qemu_mips/cmos.h: New file.
18108 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
18109 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
18110 Removed.
18111 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
18112 Use correct mips-style address.
18113 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
18114 (GRUB_TICKS_PER_SECOND): Removed.
18115 (grub_get_rtc): Likewise.
18116 (grub_cpu_idle): Likewise.
18117 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
18118 New definition.
18119 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
18120 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
18121 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
18122 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
18123 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
18124 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
18125 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
18126 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
18127
400b9371
VS
181282011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18129
18130 SGI ARCS port.
18131
18132 * Makefile.util.def (libgrubmods.a): Add dvh.c.
18133 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
18134 platforms.
18135 * configure.ac: New target mips-arc.
18136 * gentpl.py: Likewise.
18137 * grub-core/Makefile.am: Likewise.
18138 * grub-core/Makefile.core.def: Likewise.
18139 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
18140 (none_decompress): Likewise.
18141 (lsdev): New module.
18142 (datetime): Use lib/arc/datetime.c on ARC.
18143 (part_dvh): New module.
18144 * grub-core/commands/arc/lsdev.c: New file.
18145 * grub-core/disk/arc/arcdisk.c: Likewise.
18146 * grub-core/kern/mips/arc/init.c: Likewise.
18147 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
18148 aligned addresses.
18149 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
18150 support.
18151 (grub_arch_dl_relocate_symbols): Likewise.
18152 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
18153 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
18154 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
18155 platforms.
18156 * grub-core/lib/arc/datetime.c: New file.
18157 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
18158 pci.h on non-loongson.
18159 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
18160 (grub_linux_boot): Set unused registers to 0.
18161 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
18162 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
18163 * grub-core/mmap/mips/uppermem.c: ...here.
18164 * grub-core/partmap/dvh.c: New file.
18165 * grub-core/term/arc/console.c: Likewise.
18166 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
18167 (grub_terminfo_set_current): Add terminal "arc".
18168 (grub_terminfo_readkey): Support ARC sequences.
18169 * include/grub/arc/arc.h: New file.
18170 * include/grub/arc/console.h: Likewise.
18171 * include/grub/disk.h (grub_disk_dev_id): Add
18172 GRUB_DISK_DEVICE_ARCDISK_ID.
18173 * include/grub/mips/arc/kernel.h: New file.
18174 * include/grub/mips/arc/memory.h: Likewise.
18175 * include/grub/mips/arc/time.h: Likewise.
18176 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
18177 * include/grub/mips/kernel.h (grub_halt): ... here.
18178 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
18179 here...
18180 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
18181 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
18182 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
18183 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
18184 proto.
18185 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
18186 from here ...
18187 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
18188 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
18189 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
18190 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
18191 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
18192 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
18193 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
18194 (grub_phys_addr_t): Moved from here ...
18195 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
18196 (grub_vtop): Moved from here ...
18197 * include/grub/mips/memory.h (grub_vtop): ... here.
18198 (grub_map_memory): Moved from here ...
18199 * include/grub/mips/memory.h (grub_map_memory): ... here.
18200 (grub_unmap_memory): Moved from here ...
18201 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
18202 (grub_machine_mmap_iterate): Moved from here ...
18203 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
18204 (grub_mmap_get_lower): Moved from here ...
18205 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
18206 (grub_mmap_get_upper): Moved from here ...
18207 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
18208 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18209 here ...
18210 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18211 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
18212 here ...
18213 * include/grub/mips/time.h (grub_get_rtc): ... here.
18214 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18215 here ...
18216 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18217 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
18218 here ...
18219 * include/grub/mips/time.h (grub_cpu_idle): ... here.
18220 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
18221 definition.
18222 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
18223 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
18224 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
18225 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
18226 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
18227 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
18228 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
18229 (GRUB_MACHINE_LINK_ADDR): Likewise.
18230 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
18231 to 6.
18232 * util/grub-install.in: Run dvhtool on ARC.
18233 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 18234 (generate_image): Handle ECOFF output for mips-arc.
400b9371 18235
c8ecc840
VS
182362011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
18239 blocks.
18240
153a4b55
VS
182412011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18242
18243 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
18244 after enabling port.
18245
ff44d107
VS
182462011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18247
18248 Skip incorrect USB devices.
18249
18250 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
18251 configcnt == 0.
18252 * include/grub/usb.h (grub_usb_err_t): New enum value
18253 GRUB_USB_ERR_BADDEVICE.
18254
638dbe4f
VS
182552011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 Fuloong video init support.
18258
18259 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
18260 well.
18261 (grub_vga_read_arx): New function.
18262 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
18263 definition.
18264 (framebuffer): New members io, mmioptr and mmiobase.
18265 (read_sis_cmd): New function.
18266 (write_sis_cmd): Likewise.
18267 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
18268 rather than 640x400.
18269 * grub-core/video/sis315_init.c: New file.
18270
c3fc520c
VS
182712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18272
18273 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
18274 non-loongson.
18275 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
18276 to grub_dl_register_symbol.
18277
67b1e5c9
VS
182782011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18279
18280 Fix compilation errors.
18281
18282 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
18283 potentially unused.
18284 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
18285 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
18286 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
18287 to loongson machines.
18288
b756f75f
VS
182892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18290
18291 Several FS mtime support.
18292
18293 * grub-core/fs/affs.c (grub_affs_time): New struct.
18294 (grub_affs_file): New field mtime.
18295 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
18296 type. Removed 'size'. New field 'di'. All users updated.
18297 (grub_affs_mount): Simplify checsum checking.
18298 (grub_affs_iterate_dir): New helper grub_affs_create_node.
18299 (grub_affs_dir): Handle mtime.
18300 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
18301 (grub_cpio_dir): Likewise.
18302 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
18303 (grub_hfs_filerec): New field mtime.
18304 (grub_hfs_dir): Handle mtime.
18305 (grub_hfs_mtime): New function.
18306 (grub_hfs_fs): Register grub_hfs_mtime.
18307 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
18308 (grub_iso9660_dir): New field mtime.
18309 (grub_fshelp_node): New field dirent.
18310 (iso9660_to_unixtime): New function.
18311 (iso9660_to_unixtime2): Likewise.
18312 (grub_iso9660_read_symlink): Use node->dirent.
18313 (grub_iso9660_iterate_dir): Likewise.
18314 (grub_iso9660_dir): Set mtime.
18315 (grub_iso9660_mtime): New function.
18316 (grub_iso9660_fs): Register grub_iso9660_mtime.
18317 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
18318 (grub_jfs_inode): New fields atime, ctime and mtime.
18319 (grub_jfs_dir): Set mtime.
18320 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18321 * grub-core/fs/ntfs.c (list_file): Set mtime.
18322 (grub_ntfs_dir): Likewise.
18323 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
18324 (grub_reiserfs_iterate_dir): Set mtime.
18325 (grub_reiserfs_dir): Likewise.
18326 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
18327 (grub_fshelp_node): Likewise.
18328 (grub_sfs_iterate_dir): Set mtime.
18329 (grub_sfs_dir): Likewise.
18330 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
18331 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
18332 (grub_xfs_inode): New fields atime, mtime, ctime.
18333 (grub_xfs_dir): Set mtime.
18334 * include/grub/datetime.h (grub_datetime2unixtime): New function.
18335 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
18336 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
18337
18338 Support UDF symlinks.
18339
18340 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
18341 (grub_ufs_read_symlink): New function. All users updated.
18342
18343 Check amiga partmap checksum.
18344
18345 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
18346 (grub_amiga_partition): Likewise.
18347 (amiga_partition_map_checksum): New function.
18348 (amiga_partition_map_iterate): Check checksum.
18349
5470225d
VS
183502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18351
18352 ROMFS support.
18353
18354 * Makefile.util.def (libgrubmods.a): Add romfs.
18355 * grub-core/Makefile.core.def (romfs): New module.
18356 * grub-core/fs/romfs.c: New file.
18357
d4680a35
VS
183582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18359
18360 Squashfs v4 support.
18361
18362 * Makefile.util.def (libgrubmods.a): Add squash4.
18363 * grub-core/Makefile.core.def (squash4): New module.
18364 * grub-core/fs/squash4.c: New file.
18365 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
18366 disk_input_start, disk_input.
18367 (get_byte): Handle disk_input.
18368 (grub_zlib_disk_read): New function.
18369 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
18370
bcb18e74
FZ
183712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
183722011-05-15 Feiran Zheng <famcool@gmail.com>
18373
18374 * Makefile.util.def (libgrubmods.a): Add minix3.
18375 * grub-core/Makefile.core.def (minix3): New module.
18376 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
18377 (GRUB_MINIX_BSIZE): Removed.
18378 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
18379 (grub_minix_ino_t): New type.
18380 (grub_minix_le_to_cpu_ino): New macro.
18381 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
18382 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
18383 (grub_minix_data): New field block_size.
18384 (grub_minix_read_file): Handle 64-bit correctly.
18385 * grub-core/fs/minix3.c: New file.
18386
32297d5f
TG
183872011-05-15 Tristan Gingold <gingold@free.fr>
183882011-05-15 Robert Millan <rmh.grub@aybabtu.com>
183892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18390
18391 IA64 support.
18392
18393 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
18394 * configure.ac: Add ia64-efi target.
18395 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
18396 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
18397 * gentpl.py: Add ia64_efi platform.
18398 Rename x86_efi to efi and Add ia64-efi. All users updated.
18399 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
18400 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
18401 Remove kern/generic/rtc_get_time_ms.c on EFI.
18402 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
18403 kern/ia64/dl_helper.c on ia64-efi.
18404 Add kern/emu/cache.c on emu.
18405 (linux): Use on loader/ia64/efi/linux.c on ia64.
18406 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
18407 whether symbol is a function.
18408 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
18409 (grub_symbol): New field 'isfunc'.
18410 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
18411 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
18412 (grub_dl_load_segments): Place all sections into the same region.
18413 [__ia64__]: Create trampolines and got.
18414 [GRUB_MACHINE_EMU]: Call mprotect.
18415 (grub_dl_resolve_symbols): Resolve symbol type as well.
18416 [__ia64__]: Create function descriptors.
18417 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
18418 (grub_rtc_get_time_ms): ... this. Expressions simplified.
18419 (grub_get_rtc): New function.
18420 * grub-core/kern/emu/cache.c [__ia64__]: New file.
18421 * grub-core/kern/emu/cache.S: Renamed to ...
18422 * grub-core/kern/emu/cache_s.S: ... this.
18423 [__ia64__]: Add a nop.
18424 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
18425 [__ia64__]: New function.
18426 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
18427 * grub-core/kern/ia64/dl.c: New file.
18428 * grub-core/kern/ia64/dl_helper.c: Likewise.
18429 * grub-core/kern/ia64/efi/init.c: New file.
18430 * grub-core/kern/ia64/efi/startup.S: Likewise.
18431 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
18432 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
18433 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
18434 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
18435 * grub-core/loader/ia64/efi/linux.c: New file.
18436 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
18437 (GRUB_MOD_DEP): Likewise.
18438 (grub_dl) [__ia64__]: New fields got and tramp.
18439 (grub_dl): New field 'base'.
18440 (grub_dl_register_symbol): New argument isfunc. All users updated.
18441 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
18442 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
18443 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
18444 (grub_ia64_dl_get_tramp_got_size): New proto.
18445 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
18446 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
18447 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
18448 * include/grub/efi/api.h: Skip call wrappers on ia64.
18449 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
18450 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
18451 * include/grub/elf.h (ELF_ST_INFO): New definition.
18452 * include/grub/ia64/efi/kernel.h: New file.
18453 * include/grub/ia64/efi/memory.h: Likewise.
18454 * include/grub/ia64/efi/time.h: Likewise.
18455 * include/grub/ia64/kernel.h: Likewise.
18456 * include/grub/ia64/setjmp.h: Likewise (from glibc).
18457 * include/grub/ia64/time.h: New file.
18458 * include/grub/ia64/types.h: Likewise.
18459 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
18460 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
18461 New protos.
18462 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
18463 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
18464 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
18465 * util/grub-mkimage.c (image_target_desc): New field pe_target.
18466 All users updated.
18467 (EFI64_HEADER_SIZE): New definition. All users updated.
18468 (image_targets): Add ia64-efi.
18469 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
18470 jumpers_addr. All users updated.
18471 Create function descriptors.
18472 (count_funcs): New function.
18473 (unaligned_uint32): New struct.
18474 (MASK20): New definition.
18475 (MASK19): Likewise.
18476 (MASKF21): Likewise.
18477 (add_value_to_slot_20b): New function.
18478 (add_value_to_slot_21_real): Likewise.
18479 (add_value_to_slot_21): Likewise.
18480 (ia64_kernel_trampoline): New struct.
18481 (nopm): New variable.
18482 (jump): Likewise.
18483 (make_trampoline): New function.
18484 (relocate_addresses): Handle ia64.
18485 (make_reloc_section): Likewise.
18486 (load_image): Likewise.
18487
983b414d
VS
184882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18489
18490 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
18491 warning. Move variables before code while on it.
18492
5d063cdc
VS
184932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18494
18495 Fuloong support.
18496
18497 * configure.ac: Rename yeeloong platform to loongson. All users updated.
18498 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
18499 * grub-core/boot/mips/loongson/fuloong.S: New file.
18500 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
18501 Explicitly init CS5536.
18502 [FULOONG]: Don't use serial until CS5536 is available.
18503 Set GPIO based on dumps.
18504 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
18505 [FULOONG]: Handle GPIO and memory controller differences.
18506 Parse machine type in $a2.
18507 * grub-core/boot/mips/startup_raw.S: Determine and save the
18508 architecture.
18509 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
18510 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
18511 init on architecture type.
18512 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18513 SIS315E. Don't init at_keyboard on fuloong.
18514 (grub_halt): Support Fuloong.
18515 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
18516 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
18517 (loongson_machtypes): New array.
18518 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
18519 type.
18520 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
18521 config. All users updated. Handle CS5536 serial.
18522 * grub-core/term/serial.c (grub_serial_register): Conditionalise
18523 default port on machine type. Register serial as inactive.
18524 * grub-core/video/sis315pro.c: New file.
18525 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
18526 definition.
18527 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
18528 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
18529 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
18530 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
18531 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
18532 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
18533 to ...
18534 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
18535 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
18536 definition.
18537 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
18538 (grub_arch_machine): New extern var.
18539 * include/grub/mips/loongson/serial.h
18540 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
18541 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
18542 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
18543 (GRUB_MACHINE_SERIAL_PORT0): ... this.
18544 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
18545 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
18546 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
18547 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
18548 * include/grub/term.h (grub_term_register_input_inactive): New inline
18549 function.
18550 (grub_term_register_output_inactive): Likewise.
18551 * include/grub/video.h (grub_video_driver_id): New value
18552 GRUB_VIDEO_DRIVER_SIS315PRO.
18553 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
18554 New field "names". All users updated.
18555 New field value IMAGE_FULOONG_FLASH.
18556 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
18557
6ada82d1
JU
185582011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
18559
18560 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
18561 and add some clarification.
18562
90c571a4
VS
185632011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18564
18565 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
18566 platforms if kernel is compressed.
18567
de04eecf
VS
185682011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18569
18570 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
18571 unused modules since currently referrence counter isn't reliable and
18572 there isn't much memory to recover there anyway.
18573
57688121
VS
185742011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18575
18576 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
18577 rather than resetting it to allow modules to reference themselves
18578 in init.
18579
3d2c7e35
VS
185802011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18581
18582 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
18583 counter on dependencies since grub_dl_unref already handles this.
18584
b25db218
VS
185852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18586
18587 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
18588 on error if not already done.
18589
25a45338
VS
185902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18591
18592 Fix few potential memory misusage.
18593
18594 * grub-core/font/font.c (load_font_index): Don't free char_index to
18595 avoid double free.
b25db218
VS
18596 (grub_font_load): Zero-fill font at alloc for safety.
18597 Close file on error.
18598 (free_font): Free bmp_idx.
25a45338 18599
0cac83df
VS
186002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18601
18602 * docs/grub.texi (Installation): Fix several outdated claims.
18603
2217a143
VS
186042011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18605
18606 Handle module_license on windows.
18607
18608 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18609 sections shifted.
18610 (insert_string): Make argument const char * instead of char *.
18611 (write_section_data): Handle long section names.
18612 Handle module_license.
18613
d4de6b01
VS
186142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18615
18616 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18617 handle class-free menuentries.
18618 (grub_normal_add_menu_entry): Add a check to be sure.
18619
4c2a3b43
VS
186202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18623 PgUp and PgDown.
18624
85c6210f
VS
186252011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18626
18627 * configure.ac: Bump version to 1.99.
18628
36084912
VS
186292011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18630
18631 Give ATA device a bit more time on first try in order to allow disks
18632 to spin up.
18633
18634 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18635 if dev->present is 1. Reset dev->present on failure.
18636 (grub_ata_device_initialize): Set dev->present to 1.
18637 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18638 (grub_ata_device): New member 'present'.
18639
bda0e219
VS
186402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 * util/grub-mkimage.c (generate_image): Update hash.
18643
19e1c41b
VS
186442011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18645
18646 Flush caches on DMA memory.
18647
18648 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18649 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18650 (grub_dma_free): Likewise.
18651 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18652
91bbcc0c
VS
186532011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18656 to avoid asm treating ld and sd as macros.
18657
60ddfad3
VS
186582011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18659
18660 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18661 decompressor.
18662
a298aa04
VS
186632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18664
18665 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18666 grub_decompress_core since later would fail if grub_decompress_core
18667 is too far.
18668
9b44feca
VS
186692011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18670
18671 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18672 R_MIPS_JALR since it's used by newer compiler.
18673
56dbe7b4
VS
186742011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18675
18676 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18677
52856af2
VS
186782011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18679
18680 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18681 file_path to 0 for surety.
18682 (grub_chainloader_boot): Set exit_data to NULL.
18683 Unset the loader once done.
18684 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18685
9c9bfc6d
VS
186862011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18687
18688 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18689 unknown key into a dprintf.
18690
dd94a3df
VS
186912011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18692
18693 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18694 on first non-existant partition.
18695
fa68d99c
VS
186962011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18697
18698 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18699 openning fails.
18700 Reported by: Mark Korenberg.
18701
157effb7
VS
187022011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18703
18704 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18705 overflow.
18706
ea75312f
VS
187072011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18708
18709 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18710 before closing to ensure that it will be readable by grub-setup.
18711
072b5d31
VS
187122011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18713
18714 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18715 (devpath_1): Use MAKE_PIWG_PATH.
18716 (devpath_2): Likewise.
18717 (devpath_3): Likewise.
18718 (devpath_4): Likewise.
18719 (devpath_5): Likewise.
18720 (devpath_6): Likewise.
18721
18722 The appleldr.mod was checked that to be binary identical to previous
18723 version.
18724
7fae0051
Z
187252011-05-05 Zach <mikezackles>
18726
18727 Support 2010 Macbooks.
18728
18729 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
18730 (devs): Add devpath_6.
18731
7c515bee
VS
187322011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18733
18734 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18735 /dev/random. /dev/urandom is good enough for our purposes (salting).
18736
ed660bd8
VS
187372011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18738
18739 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18740
ee5614b7
VS
187412011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18742
18743 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18744 hexadecimal.
18745
664889a6
VS
187462011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18747
18748 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18749 and not 0 on failure.
18750
bd405bbc
CW
187512011-05-03 Colin Watson <cjwatson@ubuntu.com>
18752
18753 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
18754 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
18755 disk; otherwise grub_fs_probe will not fall back to the next
18756 filesystem.
18757 (grub_pxefs_open): Likewise, for consistency.
18758 Reported and tested by: Ezekiel Grave.
18759
4ebff753
CW
187602011-05-03 Colin Watson <cjwatson@ubuntu.com>
18761
18762 * tests/partmap_test.in: Don't hardcode path to parted.
18763 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
18764
8f942553
CW
187652011-05-01 Colin Watson <cjwatson@ubuntu.com>
18766
18767 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18768 of `ls' to find out which devices are available.
18769
3c62402d
VS
187702011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18771
18772 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18773 than source address for efi mmap buffer.
18774
723f63f2
VS
187752011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18776
18777 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18778 wrong action on non-detecting the magic.
18779
68797f92
VS
187802011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18781
18782 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18783 already supplied by another part of the module (fixes compilation on
18784 FreeBSD).
18785
6be8715d
VS
187862011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18787
18788 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18789 match the one used by mdadm.
18790
e91dba5b
CW
187912011-04-21 Colin Watson <cjwatson@ubuntu.com>
18792
18793 * po/README: Add instructions for creating po/LINGUAS.
18794
c85140b3
CW
187952011-04-21 Colin Watson <cjwatson@ubuntu.com>
18796
18797 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18798 #551428.
18799
18800 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18801 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18802 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18803 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18804 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18805 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18806 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18807 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18808 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18809 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18810 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
18811 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
18812 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18813 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18814 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18815 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18816 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18817 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18818 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18819 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18820 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18821 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18822
92051871
CW
188232011-04-21 Colin Watson <cjwatson@ubuntu.com>
18824
18825 * grub-core/kern/emu/getroot.c
18826 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18827 test that was incorrectly reintroduced in r3214.
18828 Reported by: Ian Dall. Fixes Savannah bug #33133.
18829
b13f79a4
CW
188302011-04-21 Colin Watson <cjwatson@ubuntu.com>
18831
18832 Fix stack pointer handling in 16-bit relocator.
18833
18834 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18835 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18836 Fixes Ubuntu bug #683904.
18837
9b710a88
VS
188382011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18839
18840 * configure.ac: Bump version to 1.99~rc2.
18841
d97e7b59
VS
188422011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18843
18844 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18845 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18846 * grub-core/lib/x86_64/setjmp.S: Likewise.
18847 * grub-core/lib/mips/setjmp.S: Likewise.
18848 * grub-core/lib/powerpc/setjmp.S: Likewise.
18849 * grub-core/lib/sparc64/setjmp.S: Likewise.
18850
0624551c
VS
188512011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18852
18853 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18854 * grub-core/lib/efi/datetime.c: Likewise.
18855
e8f28d4c
VS
188562011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18857
18858 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18859 New function.
18860 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18861 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18862 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18863
bba79a15
VS
188642011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18865
18866 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18867 bitmap.
18868 (grub_gfxterm_term_init): Likewise.
18869
abc474ef
VS
188702011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18871
18872 Take into account the decorations the computing menu entry width.
18873
18874 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18875 (grub_gfxmenu_create_box): Register get_border_width.
18876 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18877 if available.
18878 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18879 get_border_width.
18880
e74b3947
EP
188812011-04-18 Endres Puschner <code@e7p.de>
18882
18883 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18884 Don't skip first class.
18885
34faa595
VS
188862011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18887
18888 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18889 chunks.
18890 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18891
93a777e3
VS
188922011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18893
18894 Complete 64-bit division support.
18895
18896 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18897 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18898 * include/grub/misc.h (grub_divmod64): Rename to ...
18899 (grub_divmod64_full): ... this.
18900 (grub_divmod64): New inline function.
18901
a5102d94
VS
189022011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18903
18904 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18905
f3fb7b36
VS
189062011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18907
18908 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18909 performing the necessary test.
18910
9ac718b0
VS
189112011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18912
18913 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18914 (kfreebsd.elf): Likewise.
18915 (pc-chainloader.elf): Likewise.
18916 (ntldr.elf): Likewise.
18917
50d2cc5a
VS
189182011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18919
18920 Identify RAID by its UUID rather than (guessed) name.
18921
18922 * grub-core/disk/raid.c (ascii2hex): New function.
18923 (grub_raid_open): Accept mduuid/%s specification.
18924 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18925 (get_mdadm_uuid): ... this.
18926 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18927
e03f7bea
VS
189282011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18929
18930 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18931 to negative size.
18932
e74c3112
CW
189332011-04-13 Colin Watson <cjwatson@ubuntu.com>
18934
18935 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18936 btrfs subvolume.
18937 * util/grub.d/20_linux_xen.in: Likewise.
18938
78fa584f
CW
189392011-04-13 Colin Watson <cjwatson@ubuntu.com>
18940
18941 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18942 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18943
18944 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18945 Build a list of relevant visible mounts using the mnt_id and
18946 parent_mnt_id fields, and then scan that list at the end.
18947
9d5f8162
CW
189482011-04-12 Colin Watson <cjwatson@ubuntu.com>
18949
18950 * docs/grub.texi (normal): New section.
18951 (normal_exit): New section.
18952 (Embedded configuration): Add reference to normal.
18953 (GRUB only offers a rescue shell): Likewise.
18954 * docs/grub-dev.texi (Error Handling): Fix typo.
18955
09a9d66f
CW
189562011-04-12 Colin Watson <cjwatson@ubuntu.com>
18957
18958 * NEWS: Drop obsolete entry about probe-only btrfs support.
18959
0c676933
CW
189602011-04-12 Colin Watson <cjwatson@ubuntu.com>
18961
18962 * util/import_gcry.py: Fix typo.
18963
ec9f5e0d
VS
189642011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18965
18966 * NEWS: Add btrfs support.
18967
fe6b2cba
VS
189682011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
189692011-04-11 Colin Watson <cjwatson@ubuntu.com>
18970
18971 BtrFS support. Written by me (Vladimir) with important bugfixes and
18972 even more important testing by Colin.
18973
18974 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18975 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18976 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18977 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18978 mem_input_off and mem_input. All users updated to accept in-RAM input.
18979 (gzio_seek): New function.
18980 (test_zlib_header): Likewise.
18981 (grub_gzio_read): Likewise.
18982 (grub_zlib_decompress): Likewise.
18983 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18984 Accept partial and non-virtual mounts.
18985 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18986 avoid receiving /dev/dm-X as device.
18987 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18988 Handle bind and partial mounts.
18989 * grub-core/lib/crc.c: New file.
18990 * include/grub/deflate.h: Likewise.
18991 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18992 proto.
18993 * include/grub/lib/crc.h: New file.
18994
e745cf0c
VS
189952011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18996
18997 Implement automatic module license checking according to new GNU
18998 guidelines.
18999
19000 * grub-core/kern/dl.c (grub_dl_check_license): New function.
19001 (grub_dl_load_core): Use grub_dl_check_license.
19002 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
19003 (GRUB_MOD_LICENSE): Likewise.
19004 (GRUB_MOD_DUAL_LICENSE): Likewise.
19005 All modules updated.
19006
2a9bc016
CW
190072011-04-11 Colin Watson <cjwatson@ubuntu.com>
19008
19009 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
19010 reserved_first_sector to 1. btrfs reserves plenty of space for boot
19011 loaders.
19012 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
19013
8a3bc88e
VS
190142011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
19017
af869a4a
VS
190182011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 * util/grub-fstest.c (read_file): Report GRUB error if file opening
19021 failed.
19022
9ee8d94f
VS
190232011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19024
19025 * grub-core/kern/file.c (grub_file_open): Don't take into account the
19026 parenthesis in the middle of the filename.
19027
b01abe3e
VS
190282011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19029
19030 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
19031 rather than trying to put initrd way too high.
19032 Reported by: Ryan Lortie <desrt@desrt.ca>
19033
335bda1e
VS
190342011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19035
19036 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
19037 improperly removed string.
19038
5ca1a64d
VS
190392011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19040
19041 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
19042 is_disk.
19043 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
19044 (open_device) Likewise.
19045 (grub_util_biosdisk_close): Likewise.
d8ce9995 19046 Reported by: Mark Korenberg.
5ca1a64d 19047
cbac5b1e
AK
190482011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
19049
19050 * util/grub-mkconfig_lib.in: Add missing quotes.
19051
088cdb65
CW
190522011-04-10 Colin Watson <cjwatson@ubuntu.com>
19053
19054 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
19055 is NULL.
19056
8b8a81fa
VS
190572011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19058
19059 Dynamically count the number of lines for the lower banner.
19060
19061 * grub-core/normal/menu_entry.c (per_term_screen): New member
19062 num_entries.
19063 (print_down): Use num_entries.
19064 (update_screen): Likewise.
19065 (grub_menu_entry_run): Set num_entries.
19066 * grub-core/normal/menu_text.c (menu_viewer_data): New member
19067 num_entries.
19068 (grub_print_message_indented): Move real part to ...
19069 (grub_print_message_indented_real): ... here. Additional argument
19070 dry_run.
19071 (draw_border): Additional argument num_entries.
19072 (print_message): Additional argument dry_run.
19073 (print_entries): Receive menu viewer data.
19074 (grub_menu_init_page): New argment num_entries.
19075 (menu_text_set_chosen_entry): Use num_entries.
19076 (grub_menu_try_text): Likewise.
19077 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
19078 All users updated.
19079 (grub_ucs4_count_lines): New function.
19080 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
19081 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
19082 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
19083 (grub_term_border_height): Likewise.
19084 (grub_term_num_entries): Likewise.
19085
277f955b
VS
190862011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
19089 Remove now unused string.
19090
536ce85a
CW
190912011-04-09 Colin Watson <cjwatson@ubuntu.com>
19092
19093 * docs/grub-dev.texi (Finding your way around): Update for 1.99
19094 build system.
19095 (Getting started): GRUB is developed in Bazaar now, not Subversion.
19096
19097 (Comment): Fix typo.
19098 (Getting started): General copy-editing.
19099 (Typical Development Experience): Likewise.
19100 (Error Handling): Likewise.
19101 (Video API): Likewise.
19102
2cf09e32
CW
191032011-04-09 Colin Watson <cjwatson@ubuntu.com>
19104
19105 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
19106 throughout.
19107
1ec652f4
VS
191082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19109
19110 * util/grub-mkimage.c (main): Handle special naming of yeeloong
19111 directory.
19112
2c583728
CW
191132011-04-08 Colin Watson <cjwatson@ubuntu.com>
19114
19115 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
19116 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
19117 "development".
19118
d7a565e9
VS
191192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19120
19121 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
19122 grub_strcpy since the lines aren't necessarily 0-terminated.
19123
7c2e4909
VS
191242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19125
19126 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
19127 root on legacy.
19128
34c09785
VS
191292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19130
19131 * grub-core/commands/probe.c (options): Argument to set isn't optional.
19132 (GRUB_MOD_INIT): DEVICE isn't optional.
19133
6a6f8058
VS
191342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19135
19136 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
19137 word on new line if it's too long anyway. Fixes a hang.
19138
2e335e90
VS
191392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19140
19141 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
19142 const.
19143 * util/grub-setup.c (main): Reuse md device name if available.
19144 * util/raid.c (grub_util_raid_getmembers): Receive device name and
19145 not GRUB name as argument.
19146 Based on patch by: Florian Wagner <fwagner>.
19147
10a7a867
VS
191482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19149
19150 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19151 Place mbi on low memory for better compatibility.
19152
7a3d6cd9
VS
191532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19154
19155 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
19156
18dd6b47
VS
191572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
191582011-04-08 Colin Watson <cjwatson@ubuntu.com>
19159
19160 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 19161 * conf/Makefile.common: Likewise.
18dd6b47 19162
3c0e3f14
VS
191632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19164
f7148863
VS
19165 * grub-core/normal/menu.c: Add missing include.
19166
191672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19168
19169 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 19170
6d1fa41f
MZ
191712011-04-08 Martin Zuther <mzuther@mzuther.de>
19172
19173 * util/grub-mkconfig.in: Ignore emacsen backup.
19174
478182a8
VS
191752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19176
19177 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
19178 on open.
19179 (grub_util_biosdisk_close): Likewise.
19180
72a89a54
VS
191812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19182
19183 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
19184 const attribute and use grub_isdigit.
19185
b5ebecfa
A
191862011-04-06 Andrey <dev_null@ukr.net>
19187
19188 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
19189 gcc warning.
19190
7755f66e
VS
191912011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19192
19193 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
19194 useful grub_dprintf's.
19195
461121ff
VS
191962011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19197
19198 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
19199
2a961775
VS
192002011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19201
19202 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
19203
adf594cc
VS
192042011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19205
19206 Output errors if theme loading failed.
19207
19208 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
19209 grub_gfxterm_fullscreen on error paths to ...
19210 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
19211 theme loading error.
19212
665900a3
VS
192132011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19214
19215 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
19216 space for older compilers.
19217 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19218
a562b479
VS
192192011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19220
19221 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
19222 and report them as not RAID members since they are useless for GRUB.
19223 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19224
850e9373
VS
192252011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19226
19227 Increase LVM implementation robustness in order not to crash on
19228 configurations like pvmove. Previously code assumed that in some places
19229 only lvs or only pvs are used whereas it seems that they are used
19230 interchangeably.
19231
19232 * grub-core/disk/lvm.c (read_node): New function.
19233 (read_lv): Use read_node.
19234 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
19235 Match volumes only at the end when all lvs are found. Take both
19236 pvs (first) and lvs (second) into account.
19237 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
19238 mirror_* into node_*. All users updated.
19239 (grub_lvm_stripe): Merge this ...
19240 (grub_lvm_mirror): ... and this ...
19241 (grub_lvm_node): ... into this. All users updated.
19242
6f332153
VS
192432011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19244
19245 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
19246 of function to allow further scanning for LVMs.
19247
829ea451
VS
192482011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19249
19250 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
19251 on failed seek as it breaks open fd reusage.
19252
09ceb9a5
VS
192532011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19254
19255 * util/grub-install.in: Add a recommendation to use --recheck before
19256 reporting bugs.
19257
67e11623
VS
192582011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19259
19260 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
19261 are obtained.
19262
caee5efd
VS
192632011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 GRUB developper manual based on existing Internals section and
19266 contributions by the various authors with active copyright assignment.
19267
19268 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
19269 * docs/font_char_metrics.png: New file.
19270 * docs/font_char_metrics.txt: Likewise.
19271 * docs/grub-dev.texi: Likewise.
19272 * docs/grub.texi (Internals): Move from here ...
19273 * docs/grub-dev.texi: ... here.
19274
2cccc747
CW
192752011-04-01 Colin Watson <cjwatson@ubuntu.com>
19276
19277 Store the loopback device as data on loopback grub_disk structures,
19278 rather than the file it points to. This fixes use of freed memory
19279 if an existing loopback device is replaced.
19280
19281 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
19282 disk->data, not dev->file.
19283 (grub_loopback_read): Adjust file assignment to match.
19284 Fixes Ubuntu bug #742967.
19285
186ae367
CW
192862011-04-01 Colin Watson <cjwatson@ubuntu.com>
19287
19288 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
19289 when replacing an existing device.
19290
cfed2ad0
VS
192912011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
19292
19293 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
19294 memory corruptions.
19295
19296 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
19297 unsigned.
19298 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
19299 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
19300 (grub_jfs_read_inode): Likewise.
19301 (grub_jfs_opendir): Likewise. Remove now useless casts.
19302 (grub_jfs_getent): Likewise.
19303 Make ino a grub_uint32_t rather than int.
19304 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
19305 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
19306 division and module with bit operations.
19307 (grub_jfs_find_file): Make ino a grub_uint32_t.
19308 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
19309
05d2ed32
CW
193102011-04-01 Colin Watson <cjwatson@ubuntu.com>
19311
19312 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
19313 warning. (This was in fact always initialised before use, but GCC
19314 wasn't smart enough to prove that.)
19315 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
19316
91dc6073
VS
193172011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19318
19319 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
19320 stack alignment.
19321 (efi_wrap_1): Likewise.
19322 (efi_wrap_2): Likewise.
19323 (efi_wrap_3): Likewise.
19324 (efi_wrap_4): Likewise.
19325 (efi_wrap_5): Likewise.
19326 (efi_wrap_6): Likewise.
19327 (efi_wrap_10): Likewise.
19328 Based on information by: Red Hat/Peter Jones.
19329
a8afc1d1
CW
193302011-03-31 Colin Watson <cjwatson@ubuntu.com>
19331
19332 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
19333 set-but-not-used variable.
19334
a826cc7d
CW
193352011-03-31 Colin Watson <cjwatson@ubuntu.com>
19336
19337 * docs/grub.texi (Simple configuration): Be more explicit about
19338 GRUB_DEFAULT, and add an example.
19339 Reported by: Leslie Rhorer.
19340
875b67ba
CW
193412011-03-30 Colin Watson <cjwatson@ubuntu.com>
19342
19343 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
19344 shell".
19345
fd7cd914
AS
193462011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19347
19348 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
19349 * util/grub.d/20_linux_xen.in: Likewise.
19350
090b1b6a
VS
193512011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19352
19353 * util/grub.d/10_linux.in: Try alternative config filenames where
19354 we parse config file.
19355 * util/grub.d/20_linux_xen.in: Likewise.
19356
baad885c
AS
193572011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19358
19359 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
19360 * util/grub.d/20_linux_xen.in: Likewise.
19361
241e41f5
VS
193622011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19363
19364 * grub-core/disk/raid.c (insert_array): Add few potentially
19365 useful grub_util_info.
19366 (grub_raid_register): Likewise.
19367
56445fb2
VS
193682011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19369
19370 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
19371 Preserve partition number in mdadm code path.
19372
c871b1c6
VS
193732011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19374
19375 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
19376 few potentially useful grub_util_info.
19377
5e631b4f
CW
193782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19379
19380 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
19381
2d5d0333
CW
193822011-03-30 Colin Watson <cjwatson@ubuntu.com>
19383
19384 * docs/grub.texi (default): Use @example rather than nested
19385 itemized lists to avoid breaking gendocs.
19386
3d7ed04e
CW
193872011-03-30 Colin Watson <cjwatson@ubuntu.com>
19388
19389 * docs/grub.texi (Future): Update.
19390
abf04200 193912011-03-30 Colin Watson <cjwatson@ubuntu.com>
19392
19393 * docs/grub.texi (Environment): New chapter.
19394 (Changes from GRUB Legacy): Link to "Environment block" section for
19395 details of limitations.
19396 (Simple configuration): Likewise. Link to documentation of gfxmode
19397 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
19398 respectively.
19399 (Shell-like scripting): Note that normal variables are stored in the
19400 environment.
19401 (gettext): Link to documentation of lang and locale_dir.
19402 (list_env): New section.
19403 (load_env): New section.
19404 (save_env): New section.
19405
19406 (Reporting bugs): Fix typo.
19407
e1ad0edd
VS
194082011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19409
19410 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
19411 the example.
19412
5d803174
VS
194132011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19414
19415 * grub-core/term/at_keyboard.c (set_scancodes)
19416 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
19417
2a2da1d0
CW
194182011-03-30 Colin Watson <cjwatson@ubuntu.com>
19419
19420 * docs/grub.texi (Menu-specific commands): Remove some semantics
19421 that were true in GRUB Legacy but not in GRUB 2.
19422 (submenu): New section.
19423 (false): New section.
19424 (read): New section.
19425 (true): New section.
19426
a7527639
CW
194272011-03-30 Colin Watson <cjwatson@ubuntu.com>
19428
19429 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
19430
194312011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
19432
19433 * docs/grub.texi (Simple configuration): Explain some of the
19434 current limitations of grub-mkconfig.
8a748df2 19435 Reported by: Leslie Rhorer.
e30af029 19436
fc858482
VS
194372011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19438
19439 Old macs search for boot.efi rather than for bootia32.efi.
19440
19441 * util/grub-install.in: Copy bootia32.efi to boot.efi.
19442 * util/grub-mkrescue.in: Likewise.
19443 Suggested by: Peter Jones.
19444
e1eb511d
VS
194452011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19446
19447 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
19448
70e75364
VS
194492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
19452 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
19453 (grub_lvm_mirror): New struct.
19454 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
19455 (grub_lvm_iterate): Iterate only visible volumes.
19456 (grub_lvm_read): Factor out to ..
19457 (read_lv): ... this. Support mirrors.
19458 (grub_lvm_read): New wrapper function.
19459 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
19460 stripped or mirrored.
19461
fc18f6a3
VS
194622011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19463
19464 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
19465
5c650f4c
CW
194662011-03-29 Colin Watson <cjwatson@ubuntu.com>
19467
19468 * docs/grub.texi (loopback): New section.
19469
61d7156b
CW
194702011-03-29 Colin Watson <cjwatson@ubuntu.com>
19471
19472 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
19473 removed -p option.
19474
994b8264
CW
194752011-03-29 Colin Watson <cjwatson@ubuntu.com>
19476
19477 * docs/grub.texi (BIOS installation): New section, partly based on
19478 previous text in other sections.
19479 (Installing GRUB using grub-install): Replace BIOS discussion with a
19480 cross-reference.
19481 (Images): Likewise.
19482
9e4d19e0
VS
194832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19484
19485 * grub-core/kern/emu/hostdisk.c (find_partition_start)
19486 [HAVE_DIOCGDINFO]: Add safety checks.
19487
a307c0b2
VS
194882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19489
19490 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
19491 per default compiled in kernel and prior to 8.0 isn't shipped at all.
19492
b4db4f39
CW
194932011-03-29 Colin Watson <cjwatson@ubuntu.com>
19494
19495 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
19496 real_sb->size is zero (e.g. RAID-0), get the disk size from
19497 real_sb->data_size instead.
19498 Fixes Ubuntu bug #743136.
19499
35e5f84c
VS
195002011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19501
19502 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
19503 printf clauses for printing size and start.
19504
d2e29d81
VS
195052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19506
19507 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
19508 Reported and tested by: Timothy Nikkel.
19509
ed5587af
VS
195102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19511
19512 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
19513 (dirty_region_add_real): ... this.
19514 (dirty_region_add): Don't discard margin refresh when performing
19515 scheduled repaint.
19516
a1dc717c
VS
195172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19518
19519 * grub-core/lib/relocator.c (allocate_regstart)
19520 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
19521 terminals are capabple of malloc-free operation.
19522 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19523 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19524
9f3677d3
VS
195252011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
19526
19527 * util/grub-setup.c: Copy the partition table zone if floppy support
19528 is disabled, even if no partition table is found.
19529
19530 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
19531 during POST if an invalid partition table is contained in the PBR
19532 of the active partition when GRUB is installed to a partition.
19533
24148725
CW
195342011-03-28 Colin Watson <cjwatson@debian.org>
19535
19536 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
19537 comment.
19538
f329eda7
CW
195392011-03-28 Colin Watson <cjwatson@debian.org>
19540
19541 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
19542 to be specific about what kind of RAID device we're scanning for.
19543
c482ad98
SG
195442011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
19545
19546 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
19547 return freed string.
19548
5ee04984
VS
195492011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19550
19551 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
19552
f4727da9
VS
195532011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19554
19555 Use libgeom on FreeBSD to detect partitions.
19556
19557 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
19558 (grub-mkrelpath): Likewise.
19559 (grub-script-check): Likewise.
19560 (grub-editenv): Likewise.
19561 (grub-mkpasswd-pbkdf2): Likewise.
19562 (grub-fstest): Likewise.
19563 (grub-mkfont): Likewise.
19564 (grub-mkdevicemap): Likewise.
19565 (grub-probe): Likewise.
19566 (grub-setup): Likewise.
19567 (grub-ofpathname): Likewise.
19568 (grub-mklayout): Likewise.
19569 (example_unit_test): Likewise.
19570 (grub-menulst2cfg): Likewise.
19571 * grub-core/Makefile.core.def (grub-emu): Likewise.
19572 (grub-emu-lite): Likewise.
19573 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
19574 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
19575 define HAVE_DIOCGDINFO.
19576 (follow_geom_up) [FreeBSD]: New function.
19577 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
19578 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
19579 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
19580 unconditionally of HAVE_DIOCGDINFO.
19581
82fe6c75
VS
195822011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19583
19584 Fix FreeBSD compilation problem.
19585
19586 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
19587 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
19588
4c6c9431
CW
195892011-03-24 Colin Watson <cjwatson@ubuntu.com>
19590
19591 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
19592 Switch back to page zero before loading a kernel, since some kernel
19593 drivers expect that.
19594 Thanks to: Felix Kuehling.
19595
c7064d94
VS
195962011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19597
19598 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19599 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19600 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19601
3f71cded
VS
196022011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19603
19604 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19605 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19606
ef6de21a
VS
196072011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19608
19609 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19610 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19611 malloc is disabled.
19612
8bc66a2c
VS
196132011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19614
19615 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19616 for modules headers when counting the needed allocation size.
19617
5657722c
VS
196182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19619
19620 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19621 if no ASCII character is found to prevent crash.
19622
41a85f55
AK
196232011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19624
19625 * grub-core/video/bitmap.c (match_extension): Ignore case.
19626
59e1e5f1
VS
196272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19628
19629 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19630
bd4d051a
VS
196312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19632
19633 * grub-core/script/parser.y: Declare "time" as valid argument.
19634
bae7fcc1
PJ
196352011-03-23 Peter Jones <pjones@redhat.com>
19636
19637 Fix incorrect assert failure reporting.
19638
19639 * grub-core/tests/example_functional_test.c (example_test): Add
19640 a failure comment.
19641 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19642 (failure_start): ...this. Check that malloc succeeded.
19643 Don't call xvasprintf. Return failure struct.
19644 (failure_append_vtext): New function.
19645 (failure_append_text): Likewise.
19646 (add_failure): Likewise.
19647 (grub_test_assert_helper): Likewise.
19648 * include/grub/test.h (grub_test_assert_helper): New declaration.
19649 (grub_test_assert): Macro rewritten.
19650
537dc9be
VS
196512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19652
19653 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19654
fa3e01bf
VS
196552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19656
19657 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19658
b1d28404
VS
196592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19660
19661 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19662 into GRUB-style one.
19663
2e3e2e09
VS
196642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19665
19666 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19667 error and not grub_errno.
19668 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19669
ed57e557
VS
196702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19671
19672 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19673 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19674
d1611f01
VS
196752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19676
19677 * grub-core/efiemu/i386/pc/cfgtables.c
19678 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19679 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19680 (grub_xnu_unlock): Likewise.
19681 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19682
7d4e39d6
VS
196832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19684
19685 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19686 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19687 * grub-core/commands/hashsum.c (aliases): Likewise.
19688 * grub-core/commands/setpci.c (pci_registers): Likewise.
19689 * grub-core/disk/usbms.c (attach_hook): Likewise.
19690 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19691 (zio_checksum_table): Likewise.
19692 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19693 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19694 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19695 * grub-core/lib/relocator.c (leftovers): Likewise.
19696 (extra_blocks): Likewise.
19697 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19698 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19699 (modules_last): Likewise.
19700 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19701 (devices): Likewise.
19702 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19703 (modules_last): Likewise.
19704 * grub-core/normal/auth.c (users): Likewise.
19705 * grub-core/normal/context.c (initial_menu): Likewise.
19706 (current_menu): Likewise.
19707 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19708 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19709 (grub_serial_terminfo_input_template): Likewise.
19710 (grub_serial_terminfo_output_template): Likewise.
19711 (grub_serial_terminfo_input): Likewise.
19712 (grub_serial_terminfo_output): Likewise.
19713 (registered): Likewise.
19714 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19715
40fc4659
VS
197162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19717
19718 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19719 grub_video_mode_type_t.
19720 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19721 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
19722 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
19723
2da48d28
VS
197242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19725
19726 * util/grub-install.in: Correct the x86-64 name as x86_64.
19727
9b43bf39
CW
197282011-03-11 Colin Watson <cjwatson@ubuntu.com>
19729
19730 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
19731 initial chunk read from the kernel always includes GRUB's multiboot
19732 header, which is now outside the first sector.
19733
be1a7ce0
CW
197342011-03-09 Colin Watson <cjwatson@ubuntu.com>
19735
19736 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19737 cached mmap_size, so that this works correctly when called multiple
19738 times.
19739 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19740
83a3c48d
CW
197412011-03-09 Colin Watson <cjwatson@ubuntu.com>
19742
19743 * docs/grub.texi (Simple configuration): Tidy up formatting.
19744
57d75699
SJ
197452011-03-07 Szymon Janc <szymon@janc.net.pl>
19746
19747 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19748 Set-but-not-used variable removed.
19749
028501a0
VS
197502011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19751
19752 Workaround yet another IEEE1275 bug.
19753
19754 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
19755 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
19756 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
19757 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
19758 is set.
19759 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19760 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
19761
d998657d
VS
197622011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19763
19764 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19765 error.
19766
fee7cdd4
CW
197672011-02-11 Colin Watson <cjwatson@ubuntu.com>
19768
19769 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19770 empty, since in that case we can only generate either nothing or a
19771 syntactically invalid configuration file.
19772 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19773
97286eb5
CW
197742011-02-09 Colin Watson <cjwatson@ubuntu.com>
19775
19776 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19777 (Making a GRUB bootable CD-ROM): Likewise.
19778 (Invoking grub-mkrescue): New section.
19779 Reported by: Yann Dirson. Fixes Debian bug #612585.
19780
22b28eb3
CW
197812011-02-09 Colin Watson <cjwatson@ubuntu.com>
19782
19783 * util/grub-install.in: Remove unnecessary brackets from tr
19784 arguments.
19785 * util/grub.d/10_hurd.in: Likewise.
19786 * util/grub.d/10_kfreebsd.in: Likewise.
19787 * util/grub.d/10_linux.in: Likewise.
19788 * util/grub.d/20_linux_xen.in: Likewise.
19789 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19790
7e735e43
CW
197912011-02-08 Colin Watson <cjwatson@ubuntu.com>
19792
19793 * include/grub/file.h (not_easly_seekable): Rename to ...
19794 (not_easily_seekable): ... this. Update all users.
19795
800f1881
CW
197962011-01-28 Colin Watson <cjwatson@ubuntu.com>
19797
19798 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19799 grub-mkrescue.
19800
3281d3d6
VS
198012011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19802
19803 * util/grub-mkimage.c (generate_image): Refuse to create the images
19804 bigger than the actual flash (512K) in Loongson machines. 512K is also
19805 the biggest chip supported by them.
19806
3533413c
VS
198072011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19808
19809 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19810
73ae4f4f
VS
198112011-01-22 Anthony DeRobertis <anthony@derobert.net>
19812
19813 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19814 super_offset field.
19815
37f4f608
VS
198162011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 * util/grub-install.in: Ignore install device on platforms
19819 where it doesn't make sense. Always use UUIDs except on pc, efi and
19820 sparc64.
19821 Reported by: Daniel Kahn Gillmor.
19822
03a4ccb5
VS
198232011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19824
19825 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19826
ffc8f4d8
VS
198272011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19828
19829 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19830 (iterate_real): Don't rely on partition being non-NULL.
19831
80f23be7
VS
198322011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19833
19834 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19835 supported platforms. Put a compile time assert for this rather than
19836 generate a warning with 32-bit shift.
19837
5d4f4dd5
VS
198382011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19839
19840 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19841 logical expression more readable.
19842
e489601a
VS
198432011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19844
19845 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19846 even if some elements have a name.
19847 Reported by: Alexander GQ Gerasiov.
19848
96e0a6ea
CW
198492011-01-22 Colin Watson <cjwatson@ubuntu.com>
19850
19851 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19852 path unreadable if `grub-probe -t abstraction' fails, for example if
19853 memberlist fails on an LVM volume group.
19854 Reported by: Darius Jahandarie.
19855
81431e2b
CW
198562011-01-22 Colin Watson <cjwatson@ubuntu.com>
19857
19858 * docs/grub.texi (Simple configuration): Document
19859 GRUB_PRELOAD_MODULES.
19860
5e79d66a
CW
198612011-01-17 Colin Watson <cjwatson@ubuntu.com>
19862
19863 * .bzrignore: Remove nonexistent grub-pbkdf2.
19864
646ada34
VS
198652011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19866
19867 * configure.ac: Bump version to 1.99~rc1.
19868
04360337
VS
198692011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19870
19871 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19872 for safety.
19873
46c9db88
VS
198742011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19877 module.
19878
198792011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
19880
19881 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19882
4fbf1852
VS
198832011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19884
19885 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19886 diskdevid.
19887
f1632d4d
VS
198882011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 Fix compilation on cygwin.
19891
19892 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19893 -R .drectve on cygwin.
19894 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19895 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19896 (COND_CYGWIN): New condition.
19897 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19898 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19899 not @TARGET_OBJ2ELF@.
19900 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19901 type to determine whether aux is to be used.
19902
0b5e127b
VS
199032011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19906 realpath'ed device string.
19907 Handle floppy (somewhat).
19908 Issue error in unknown case rather than garbage.
19909 Reported by: Axel Beckert.
19910
173b71e9
VS
199112011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19912
19913 * util/grub.d/00_header.in (load_video): Handle the case when no video
19914 drivers available.
19915 Thanks to: Axel Beckert.
19916
f8f479db
VS
199172011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19918
19919 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19920 variable. Fixes problem on big endian platforms.
19921
8fc0a245
VS
199222011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19923
19924 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19925 It doesn't work well there.
19926
b8494fbe
VS
199272011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19928
19929 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19930 warning.
19931 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19932 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19933 counter.
19934
b44a558c
VS
199352011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19936
19937 Use alias->path rather than buggy "canon".
19938
19939 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19940 (ofdisk_hash_add): New argument curcan. All users updated.
19941
51fa856c
CW
199422011-01-11 Colin Watson <cjwatson@ubuntu.com>
19943
19944 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19945
9da068a5
VS
199462011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19947
19948 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19949 loadmask before doing any calculations. Use correct type for offset.
19950 (grub_linux_load64): Likewise.
19951
86205c94
CW
199522011-01-11 Colin Watson <cjwatson@ubuntu.com>
19953
19954 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19955 with NULL.
19956 (console_grub_equivalences_unshift): Likewise.
19957 Reported by: Daniel Dehennin.
19958
4531a206
VS
199592011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19960
19961 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19962 (set_env_limn_ro): Likewise.
19963 (GRUB_MOD_INIT): Likewise.
19964 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19965 ARRAY_SIZE while on it.
19966 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19967 * grub-core/normal/context.c (grub_env_export): Move from here ...
19968 * grub-core/kern/env.c (grub_env_export): ... here.
19969 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19970 prefix.
19971 * grub-core/kern/main.c (grub_main): Export root and prefix.
19972 * include/grub/env.h (grub_env_export): Export.
19973 Reported by: Seth Goldberg.
19974
45146057
VS
199752011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19976
19977 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19978 Take into account space used by ELF sections and multiboot palette.
19979 Reported by: Grégoire Sutre.
19980
f093110b
VS
199812011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19982
19983 * BUGS: New file.
19984
3395fe52
VS
199852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19986
19987 Pass more appropriate video id to Linux.
19988
19989 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19990 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19991 fill have_vga.
19992 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19993 shift params->lfb_size.
19994 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19995
c2fa6cbb
VS
199962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19997
19998 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19999
b3ff6ff0
VS
200002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20001
20002 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
20003 separator and pass bootpath/devid even if only one of them is available.
20004 Reported by: Seth Goldberg.
20005
ae67942e
VS
200062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20007
20008 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
20009 implementations bug on them.
20010
20011 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
20012 memory.
20013 (filter_memory_map): Likewise.
20014
d570097a
VS
200152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20016
20017 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
20018 Reported by: nebuchadnezzar.
20019
a508e776
VS
200202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20021
20022 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
20023 Reported by: nebuchadnezzar.
20024
dcb883b1
VS
200252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 Submenu default support.
20028
20029 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
20030 auto_boot. All users updated.
20031 Declared static.
20032 Handle chosen and default with submenus.
20033 (grub_menu_execute_with_fallback): Declared static.
20034 Don't notify failure if autobooted. Upper level does it.
20035 (menuentry_eq): New function.
20036 (get_entry_number): Use menuentry_eq.
20037 (show_menu): New parameter "autobooted". All users updated.
20038 (grub_show_menu): Likewise.
20039 * include/grub/normal.h (grub_show_menu): Likewise.
20040 * include/grub/menu.h (grub_menu_execute_entry): Removed.
20041 (grub_menu_execute_with_fallback): Likewise.
20042
6fef99b4
VS
200432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20044
20045 * util/grub-mklayout.c (usage): Update help text.
20046
47a77af5
VS
200472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20048
20049 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
20050
ce6bb3ee
VS
200512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 * util/grub-menulst2cfg.c (main): Trim the line.
20054
db87be2a
VS
200552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20056
20057 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
20058 (grub_machine_init): Don't check amount of low memory as reportedly
20059 INT 12h can be broken and if low memory is too low we wouldn't have
20060 gotten into grub_machine_init anyway.
20061
c49849cc
VS
200622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20063
20064 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
20065 (grub_machine_mmap_iterate): Take low memory into account
20066
b1969b30
VS
200672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20068
20069 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
20070 badfs.
20071 Reported by: TiCPU.
20072
cf0eaf13
VS
200732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20074
20075 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
20076 members errors.
20077
1f060f39
GS
200782011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20079
20080 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
20081 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
20082
a21e5672
GS
200832011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20084
20085 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
20086 openbsd and netbsd types being in part_bsd module.
20087
c88172fa
VS
200882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20089
20090 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
20091 (_FILE_OFFSET_BITS): Likewise.
20092 Reported by: Seth Goldberg.
20093
53798c4b
GS
200942011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20095
20096 * configure.ac: Check for libdevmapper header.
20097
e7121b69
VS
200982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20099
20100 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
20101 avoid aliasing.
20102 (fzap_lookup): Likewise.
20103 (dnode_get): Likewise.
20104 (make_mdn): Likewise.
20105 (zfs_mount): Likewise.
20106 (fzap_iterate): Use temporary pointer to avoid aliasing.
20107 (grub_zfs_read): Likewise.
20108 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
20109 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
20110 pointers to avoid aliasing.
20111 (grub_cmd_xnu_kernel64): Likewise.
20112 (grub_xnu_load_driver): Likewise.
20113
fc836af9
VS
201142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20115
20116 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
20117 aliasing warning.
20118 (grub_cmd_terminal_output): Likewise.
20119 Reported and tested by: Grégoire Sutre.
20120
f9f37648
VS
201212011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20122
20123 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
20124 warning.
20125 Reported and tested by: Grégoire Sutre.
20126
ec1dfd63
VS
201272011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20128
20129 * configure.ac: Do CPU substitution even if it's specified explicitly.
20130 Reported and tested by: Alain Greppin.
20131
9462775a
VS
201322011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
20135 Reported and tested by: Alain Greppin.
20136
0fd48e35
VS
201372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20138
20139 Satisfy some bison versions need for inttypes.h.
20140
20141 * grub-core/lib/posix_wrap/inttypes.h: New file.
20142 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
20143 (int16_t): Likewise.
20144 (int32_t): Likewise.
20145 (int64_t): Likewise.
20146 Reported and tested by: Alain Greppin.
20147
43f1bc83
VS
201482011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
20151 Silence spurious warning.
20152 Reported and tested by: Alain Greppin.
20153
64d1f041
SJ
201542011-01-07 Szymon Janc <szymon@janc.net.pl>
20155
20156 * docs/grub.texi (Support automatic decompression): Update with xz
20157 decompression support.
20158
25953e10
SJ
201592011-01-07 Szymon Janc <szymon@janc.net.pl>
20160
20161 Improve loaders' kernel command line handling.
20162
20163 * grub-core/lib/cmdline.c: New file.
20164 * include/grub/lib/cmdline.h: Likewise.
20165 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
20166 grub_create_loader_cmdline to create kernel command line.
20167 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20168 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
20169 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
20170 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
20171 (linux): Add lib/cmdline.c on common.
20172
e72d259f
VS
201732011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20174
20175 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
20176 inopos might be unaligned.
20177
c0cf26da
VS
201782011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20179
20180 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
20181 endian transformations.
20182 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20183 Based on report by: Doug Nazar.
20184
0ca09e6c
DN
201852011-01-07 Doug Nazar <nazard.michi@gmail.com>
20186
20187 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
20188 array->members[i].start_sector.
20189 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
20190
014b6806
VS
201912011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
20194 Reported and tested by: Grégoire Sutre.
20195
415502c2
CW
201962011-01-06 Colin Watson <cjwatson@ubuntu.com>
20197
20198 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
20199 avoid causing test failures by clearing the screen.
20200
71b6a2b7
CW
202012011-01-06 Colin Watson <cjwatson@ubuntu.com>
20202
20203 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20204 Fix prefix check to handle the case where dir ends with a slash
20205 (most significantly, "/" itself).
20206 Reported by: Michael Vogt.
20207
b3f8d28a
VS
202082011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20209
20210 Run terminfo_cls on initing terminfo output to clear the screen and
20211 move the cursor to (0,0).
20212
20213 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
20214 Call grub_terminfo_output_init.
20215 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
20216 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
20217 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
20218
4c3e4f37
VS
202192011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20220
20221 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
20222 only when needed.
20223
488f71f1
VS
202242011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20225
20226 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
20227 CTRL.
20228
18a38098
VS
202292011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20230
20231 The E820 type 5 is BADRAM, not EXEC_CODE.
20232
20233 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20234 (GRUB_E820_BADRAM): New define.
20235 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
20236 into reserved. Propagate BADRAM.
20237 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20238 (GRUB_E820_BADRAM): New define.
20239
9eae2084
VS
202402011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20241
20242 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
20243 Ignore the memory post-4G.
20244 (grub_relocator_firmware_alloc_region): Additional debug statement.
20245
ebc71d28
VS
202462011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20247
20248 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
20249 names.
20250 Reported by: David Pravec.
20251
446fa400
VS
202522011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20253
20254 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
20255 BIOSes.
20256
a0159f37
VS
202572011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20258
20259 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
20260 Prevent overflow.
20261 (grub_reed_solomon_recover): Likewise.
20262
e5146ca1
VS
202632011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20264
20265 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
20266
202672011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
20268
20269 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
20270 variable.
20271
5b1bdf12
CW
202722011-01-04 Colin Watson <cjwatson@ubuntu.com>
20273
20274 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
20275 descriptions of extract_legacy_entries_source and
20276 extract_legacy_entries_configfile.
20277 Reported by: Seung Soo, Ha.
20278
99d925aa
CW
202792011-01-03 Colin Watson <cjwatson@ubuntu.com>
20280
20281 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
20282 on devices that do not implement function 0.
20283
4af0504b
DV
202842011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
20285
20286 * grub-core/fs/hfsplus.c: Make parent unsigned.
20287 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
20288 overflows.
20289 (grub_hfsplus_cmp_extkey): Likewise
20290
469ee10a
VS
202912011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20292
20293 * util/grub-install.in: Correctly use bootloader_id and not
20294 GRUB_DISTRIBUTOR on efibootmgr line.
20295
323a8e9c
VS
202962011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20297
20298 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
20299
1b394975
IC
203002010-12-31 Ian Campbell <ijc@hellion.org.uk>
20301
20302 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
20303 Xen and reorder menu item wording to make it clearer that this entry
20304 will launch Xen. Print separate messages when loading Xen and
20305 Linux.
20306
275bff5f
VS
203072010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20308
20309 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
20310 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
20311 loop in case of incorrect amiga partmap.
20312
307806cb
VS
203132010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20314
20315 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
20316 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
20317 Reported by:EHeM.
20318
b12b923e
VS
203192010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20320
20321 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
20322 spurious warning.
20323 Reported by: crocket
20324
14b48a19
VS
203252010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20326
20327 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
20328 Preload EFIemu.
20329 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
20330
693db2df
VS
203312010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20332
20333 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
20334 is loaded
20335 (grub_cmd_xnu_kextdir): Likewise.
20336 (grub_cmd_xnu_splash): Likewise.
20337
c7638645
VS
203382010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20339
20340 Avoid using Reed-Solomon with 0 redundancy.
20341
20342 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
20343 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
20344 or 0 redundancy.
20345 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
20346 (grub_reed_solomon_recover): Likewise.
20347
25dd4780
VS
203482010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20349
20350 Don't use disk subsystem in freebsd_boot.
20351
20352 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
20353 (freebsd_biosdev): Likewise.
20354 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
20355 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
20356
0b2db943
VS
203572010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
20358
20359 Handling of files of unknown size is currently limited. They can't be
20360 used e.g. for initrd or modules. Moreover gzip handling of not
20361 easily seekable files is buggy. Disable unknown file size for now. May
20362 be inefficient but works.
20363
20364 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
20365 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
20366
5c408d0f
MP
203672010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
20368
20369 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
20370 floppy probe.
20371
190a011a
JD
203722010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
20373
20374 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
20375
022d01b8
SL
203762010-12-25 Shea Levy <shlevy>
20377
20378 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
20379
c4855fdc
VS
203802010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20381
20382 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
20383 Windows Server 2008.
20384 Reported by: Devin Giddings.
20385
0354b867
VS
203862010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20387
20388 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
20389 writing an error message because of async power management.
20390 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
20391 (grub_reboot): Likewise.
20392
ab66c69f
JU
203932010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
20394
20395 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
20396 keep unit tests from failing when they shouldn't.
20397
1426ef35
CW
203982010-12-21 Colin Watson <cjwatson@ubuntu.com>
20399
20400 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
20401 previous patch increased the size of the RS code by 20 bytes (at
20402 least with gcc-4.4), so increase this by 20 bytes to match.
20403 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20404
20641b6b
CW
204052010-12-21 Colin Watson <cjwatson@ubuntu.com>
20406
20407 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
20408 scratch area. Make sure to initialise chosen in standalone mode as
20409 well as non-standalone.
20410 Reported by: Robert Hooker and Andy Whitcroft.
20411 Tested by: Andy Whitcroft.
20412
d060ad60
CW
204132010-12-21 Colin Watson <cjwatson@ubuntu.com>
20414
20415 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
20416 constructing a new unescaped string and passing it to grub_xputs in
20417 one go, rather than passing characters to grub_printf one at a time.
20418
b889cfad
CW
204192010-12-21 Colin Watson <cjwatson@ubuntu.com>
20420
20421 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
20422 initialising utf16.
20423
4e01b6c8
CW
204242010-12-21 Colin Watson <cjwatson@ubuntu.com>
20425
20426 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
20427 comment. Add an extra layer of quotation, requiring the output of
20428 this function to be used in a printf format string.
20429 (gettext_printf): New function.
20430 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
20431 Extract translatable strings from here-documents and use a temporary
20432 variable instead, so that xgettext can find them.
20433 * util/grub.d/10_kfreebsd.in: Likewise.
20434 * util/grub.d/10_linux.in: Likewise.
20435 * util/grub.d/20_linux_xen.in: Likewise.
20436
20437 * po/grub.d.sed: New file.
20438 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
20439 arguments. Set c-format flags on all strings extracted from
20440 util/grub.d/ (xgettext refuses to include these itself for strings
20441 it extracted from a shell file, but these really are c-format).
20442
5318fe98
VS
204432010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20444
20445 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
20446 Avoid next pointing to nowhere.
20447
6c85b743
VS
204482010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20449
20450 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
20451 rather than assuming than rootblock is exactly in the middle.
20452 (grub_affs_label): Likewise.
20453
a2a08a35
VS
204542010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20455
20456 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
20457 reserved_first_sector to 0.
20458 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
20459 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
20460 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
20461
7059d1ec
VS
204622010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20463
20464 Fix handling of UTF-16 UDF labels.
20465
20466 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
20467 (read_string): .. here.
20468 (grub_udf_label): Use read_string.
20469
30aff4cb
BC
204702010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
20471
20472 * grub-core/normal/menu_entry.c (run): Execute commands from menu
20473 editor under argument scope.
20474 Reported by: Jordan Uggla
20475
5cf86f4b
VS
204762010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20477
20478 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
20479
32570200
CW
204802010-12-18 Colin Watson <cjwatson@ubuntu.com>
20481
20482 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
20483 line, and other keys scroll an entire page (previous handling was
20484 for \r and \n to scroll a page and other keys to scroll two lines).
20485
e1dffcf2
VS
204862010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20487
20488 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20489 Set ptrdest to correct get_physical_target_address rather than
20490 incorrect get_virtual_current_address.
20491
b04298cf 204922010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
20493
20494 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
20495 correct cat to grub_uint8_t * rather than grub_uint32_t *.
20496
5367ecd3
CW
204972010-12-10 Colin Watson <cjwatson@ubuntu.com>
20498
20499 * .bzrignore: Ignore grub-core/rs_decoder.S.
20500
1fb430f8
CW
205012010-12-10 Colin Watson <cjwatson@ubuntu.com>
20502
20503 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
20504 .mo/.mo.gz opening sequence to ...
20505 (grub_mofile_open_lang): ... here.
20506 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
20507 * util/grub.d/00_header.in (grub_lang): Include country part of
20508 locale.
20509 Reported by: Mario Limonciello.
20510
a94a6671
RM
205112010-12-09 Robert Millan <rmh@gnu.org>
20512
20513 * NEWS: Document addition of ZFS support.
20514
24b7938b
CW
205152010-12-04 Colin Watson <cjwatson@ubuntu.com>
20516
20517 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
20518 rather than `/ 2', as the latter requires -Wa,--divide which would
20519 require bumping our minimum binutils version.
20520
bddc3ef6
BC
205212010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
20522
20523 * util/grub-script-check.c (main): Print script line number on
20524 error.
20525
bf78d5b2
RM
205262010-12-01 Robert Millan <rmh@gnu.org>
20527
20528 * grub-core/fs/zfs/zfs.c: New file.
20529 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
20530 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
20531 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
20532 * grub-core/fs/zfs/zfsinfo.c: Likewise.
20533
20534 * include/grub/zfs/dmu.h: Likewise.
20535 * include/grub/zfs/dmu_objset.h: Likewise.
20536 * include/grub/zfs/dnode.h: Likewise.
20537 * include/grub/zfs/dsl_dataset.h: Likewise.
20538 * include/grub/zfs/dsl_dir.h: Likewise.
20539 * include/grub/zfs/sa_impl.h: Likewise.
20540 * include/grub/zfs/spa.h: Likewise.
20541 * include/grub/zfs/uberblock_impl.h: Likewise.
20542 * include/grub/zfs/vdev_impl.h: Likewise.
20543 * include/grub/zfs/zap_impl.h: Likewise.
20544 * include/grub/zfs/zap_leaf.h: Likewise.
20545 * include/grub/zfs/zfs.h: Likewise.
20546 * include/grub/zfs/zfs_acl.h: Likewise.
20547 * include/grub/zfs/zfs_znode.h: Likewise.
20548 * include/grub/zfs/zil.h: Likewise.
20549 * include/grub/zfs/zio.h: Likewise.
20550 * include/grub/zfs/zio_checksum.h: Likewise.
20551
20552 * Makefile.util.def: Build ZFS into libgrubmods.
20553 * grub-core/Makefile.core.def: Build zfs.mod.
20554
3f0f3831
SJ
205552010-11-30 Szymon Janc <szymon@janc.net.pl>
20556
20557 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
20558 variable.
20559 * grub-core/commands/wildcard.c (match_files): Likewise.
20560
3a4253b2
RM
205612010-11-30 Robert Millan <rmh@gnu.org>
20562
20563 * grub-core/loader/i386/bsd.c
20564 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
20565 whether kernel is loaded using grub_loader_is_loaded(), rather
20566 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
20567 certain error conditions.
20568
8c317b27
RM
205692010-11-30 Robert Millan <rmh@gnu.org>
20570
c5c9cd3e
RM
20571 * grub-core/commands/echo.c: Include `<grub/term.h>'.
20572 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 20573
49d3ab46
VS
205742010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 Avoid using tricks for initialising endian variables.
20577
20578 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
20579 Make const.
20580 (GRUB_MOD_INIT): Don't byte-swap.
20581 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20582 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
20583 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
20584 (grub_swap_bytes32_compile_time): Likewise.
20585 (grub_cpu_to_le32_compile_time): Likewise.
20586 (grub_cpu_to_le16_compile_time): Likewise.
20587
f420a804
VS
205882010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20589
20590 * util/grub-setup.c (setup): Stop recommending --force. People who
20591 understand the dangers of blocklists are able to find this option
20592 anyway and the ones who don't shouldn't use it anyway.
20593
4e7db17b
RM
205942010-11-26 Robert Millan <rmh@gnu.org>
20595
20596 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20597 Update all users.
20598
9be57a0d
CW
205992010-11-26 Colin Watson <cjwatson@ubuntu.com>
20600
20601 Fix LVM-on-RAID probing.
20602
20603 * util/grub-probe.c (probe): Remember which disk was detected as
20604 RAID (perhaps an LVM physical volume). Use that disk's raidname
20605 rather than that of the top-level disk.
20606
2c7859b3 206072010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 20608
d7647bb6
BC
20609 Fix cmdline argument quotes for setparams command of menuentry
20610 definitions.
7e623b0d
BC
20611
20612 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20613 quotes for arguments.
f866fe80 20614 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 20615 grub_strchrsub function instead.
f866fe80 20616
7955bea0 20617 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 20618
74f72a64
CW
206192010-11-24 Colin Watson <cjwatson@ubuntu.com>
20620
20621 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20622 effort by skipping "." and ".." entries up-front.
20623 Suggested by: Michael Lazarev.
20624
5a407278
CW
206252010-11-24 Colin Watson <cjwatson@ubuntu.com>
20626
20627 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20628 ldflags to ldadd, to fix link line ordering.
20629 (none_decompress): Likewise.
20630
3030d8ec
CW
206312010-11-24 Colin Watson <cjwatson@ubuntu.com>
20632
20633 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20634 platforms.
20635 (grub-emu-lite): Remove kern/emu/cache.S.
20636
b7fbac12
CW
206372010-11-23 Colin Watson <cjwatson@ubuntu.com>
20638
20639 * util/deviceiter.c (compare_devices): If the by-id link for a
20640 device couldn't be resolved, fall back to sorting by the by-id link
20641 rather than segfaulting.
20642 Reported and tested by: Daniel Mierswa.
20643
5225f328
CW
206442010-11-23 Colin Watson <cjwatson@ubuntu.com>
20645
20646 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20647 ldflags, to fix link line ordering.
20648
038b3ce8
CW
206492010-11-23 Colin Watson <cjwatson@ubuntu.com>
20650
20651 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20652 linkers are picky about this.
20653
bf16e98e
CW
206542010-11-23 Colin Watson <cjwatson@ubuntu.com>
20655
20656 * grub-core/Makefile.am (command.lst): Adjust sed expression
20657 ordering so that extended and priority commands aren't treated as
20658 ordinary commands.
20659
7242bab6
CW
206602010-11-23 Colin Watson <cjwatson@ubuntu.com>
20661
20662 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20663 Remove byte-swapping function calls, which are not valid in
20664 structure initialisers.
20665 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20666 non-const.
20667 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20668 grub_gpt_partition_type_bios_boot.
20669
14e8b279
CW
206702010-11-22 Colin Watson <cjwatson@ubuntu.com>
20671
20672 Fix test program build on GNU/kFreeBSD.
20673
20674 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20675 $(LIBNVPAIR)' library dependencies.
20676
e6f63338 206772010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
20678
20679 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20680
cf8ffc38
CW
206812010-11-22 Colin Watson <cjwatson@ubuntu.com>
20682
20683 * util/grub-install.in: Remove excessive quoting that broke
20684 installations to RAID devices.
20685
7f8b0fd7
VS
206862010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20687
20688 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20689 bootloader version instead of 0.
20690
dfd240b1
VS
206912010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20692
20693 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20694 warning.
20695
7b61e609
VS
206962010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20697
20698 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20699 retrieve the metadat sector if size isn't known.
20700 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20701
9dfe92d0
RM
207022010-11-18 Robert Millan <rmh@gnu.org>
20703
20704 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20705 with grub_memcmp().
20706
41cc919e
VS
207072010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20708
20709 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20710 arrow.
20711 Reported by: Jordan Uggla.
20712
1afcc914
VS
207132010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20714
20715 Make better UTF compliant.
20716
20717 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20718 sequences as incorrect.
20719 (grub_is_valid_utf8): Likewise.
20720 (grub_utf8_to_ucs4): Likewise.
20721 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
20722 (grub_ucs4_to_utf8_alloc): Likewise.
20723 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
20724
f1808884
VS
207252010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20726
20727 Make legacy_source behave like source.
20728
20729 * grub-core/commands/legacycfg.c (legacy_file): Don't call
20730 grub_show_menu.
20731 (grub_cmd_legacy_source): Call grub_show_menu if needed.
20732
24ec575b
CW
207332010-11-16 Colin Watson <cjwatson@debian.org>
20734
20735 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20736 (-Wunused implies -Wunused-parameter, but not vice versa).
20737
72b7c7aa
CW
207382010-11-16 Colin Watson <cjwatson@ubuntu.com>
20739
20740 * configure.ac: Make error messages less confusing by testing for
20741 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20742 accepted, but produces a diagnostic if something else is wrong).
20743
e98937aa
VS
207442010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20745
20746 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20747 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20748 (now unused).
20749 (grub_keyboard_controller_init)
20750 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
20751 read the initial state since controller isn't inited yet.
20752
f6bbabc3
VS
207532010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20754
20755 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
20756 allocate_regbeg may need to create new chunk header.
20757
22e7dbb2
VS
207582010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20759
20760 Fix quoting in legacy parser.
20761
20762 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20763 single quotes.
20764 (grub_legacy_parse): Likewise.
20765 Reported by: Jordan Uggla.
20766 Tested by: Jordan Uggla.
20767
03f80960
VS
207682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20769
20770 Don't add -lgcc on i386 and x86_64.
20771
20772 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20773 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20774 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20775
779dc15b
VS
207762010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20777
20778 * configure.ac: Add -Wno-trampolines when supported.
20779
d20a3b37
MV
207802010-11-14 Modestas Vainius <modax@debian.org>
20781
20782 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20783 fakeraid.
20784
e5360933
GC
207852010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20786
20787 Add generic logical block size support for UDF.
20788
20789 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20790 (GRUB_UDF_BLKSZ): Removed.
20791 (struct grub_udf_data): New field "lbshift" to hold the logical block
20792 size of the file system in log2 format. All users updated.
20793 (sblocklist): Change type to unsigned.
20794 (grub_udf_mount): Change type of "sblklist" to unsigned.
20795 Move AVDP search before VRS recognition, because the latter requires
20796 knowledge of the logical block size, which is detected during the
20797 former.
20798 Detect and validate logical block size during AVDP search, adding
20799 support for block sizes 512, 1024 and 4096.
20800 Make VRS recognition independent of block size.
20801
cb0229c5
GC
208022010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20803
20804 Properly handle deleted files on UDF.
20805
20806 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20807 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20808 set.
20809
406858a8
GC
208102010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20811
20812 Support reading files larger than 2 GiB.
20813
20814 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20815 "offset" to grub_off_t.
20816 (grub_udf_read_file): Likewise for parameter "pos".
20817
130da6a7
VS
208182010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20819
20820 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20821 unavailable.
20822 (Simple configuration): Refer to Changes from GRUB Legacy about
20823 save_env availability.
20824
65e93f6b
VS
208252010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20826
20827 * util/grub-install.in: Ignore empty partition table detection
20828 instead of trying to include part_ module.
20829
1fd08bf1
VS
208302010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20831
20832 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20833 LVM on RAID support.
20834
de1a024f
VS
208352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20836
20837 Properly define WORDS_BIGENDIAN in wrapped environments.
20838
20839 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20840 definition.
20841 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20842
20843 Reported by: Manoel Rebelo Abranches.
20844 Tested by: Manoel Rebelo Abranches.
20845
bc5dd0b9
VS
208462010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20847
20848 * util/grub-mkconfig.in: Fix quoting.
20849
58c184be
VS
208502010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20851
20852 Support big ext2 files.
20853
20854 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20855 (grub_ext2_read_block): Support triple indirect blocks.
20856 (grub_ext2_read_file): Use 64-bit types and read size_high.
20857 (grub_ext2_open): Read size_high.
20858 Reported by: Ximin Luo.
20859 Tested by: Manoel Rebelo Abranches.
20860
5f0c02b3
VS
208612010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20862
20863 * util/grub-install.in: Handle filenames containing spaces.
20864 Reported by: Jordan Uggla.
20865 Tested by: Jordan Uggla.
20866
4417aae6
VS
208672010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20868
20869 * util/grub-mkconfig.in (grub_script_check): New variable.
20870 Use grub_script_check instead of grub-script-check.
20871 Reported by: Barry Jackson.
20872
7625a68e
VS
208732010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20874
20875 * docs/grub.texi (menu): Correct the order.
20876 Reported by: D. Hugh Redelmeier.
20877
10001ac5
VS
208782010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20879
20880 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20881 jump.
20882
9c4cf53b
MRA
208832010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20884
10001ac5
VS
20885 * include/grub/elfload.h (grub_elf32_size): New parameter.
20886 All users updated.
9c4cf53b
MRA
20887 Return maximum segments alignment.
20888 (grub_elf64_size): Likewise.
20889 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20890 Return maximum segments alignment.
20891 (grub_elf64_size): Likewise.
20892 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
20893 (grub_linux_claimmap_iterate): New function. Uses the
20894 "available" property in the "memory" node for memory allocation
20895 for kernel in the PowerPC loader.
9c4cf53b
MRA
20896 (grub_linux_load32): Correctly find linux entry point offset.
20897 (grub_linux_load64): Likewise.
20898
d2bf06bf
RM
208992010-11-07 Robert Millan <rmh@gnu.org>
20900
20901 On mips-yeeloong, build with -march=loongson2f when this flag is
20902 available (GCC >= 4.4).
20903 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20904 `-march=mips3'.
20905 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20906 or otherwise add -march=mips3.
20907
898c99a2
BC
209082010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20909
87220a68
BC
20910 Suppress shell expansion on echo '*' and echo "*" like cases.
20911 Reported by: Jordan Uggla.
898c99a2
BC
20912
20913 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20914 string arguments before shell expansion.
20915 * tests/grub_cmd_echo.in: New testcases.
20916
4f9b406a
RM
209172010-11-07 Robert Millan <rmh@gnu.org>
20918
20919 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20920 transition.
20921
80c6d25e
VS
209222010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20923
20924 * grub-core/kern/emu/hostdisk.c
20925 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20926
4a1a0153
VS
209272010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20928
20929 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20930 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20931 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20932
34706ddc
VS
209332010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20934
20935 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20936
6972dea9
VS
209372010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20938
20939 * util/grub-install.in: Replace useless recomendation to pass
20940 --modules with a recomendation to report a bug.
20941
9c693bd6
VS
209422010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20943
20944 Properly register serial terminfo.
20945 Reported by: Jordan Uggla
20946
20947 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20948 const.
20949 (grub_serial_terminfo_output_template): Likewise.
20950 (grub_cmd_serial): Register "serial" with terminfo.
20951 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20952 grub_serial_terminfo_output.
20953
6c9e4c0c
RM
209542010-11-05 Robert Millan <rmh@gnu.org>
20955
20956 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20957 needed).
20958
b9b3839f
RM
209592010-11-05 Robert Millan <rmh@gnu.org>
20960
20961 On Yeeloong, pass machine type information to Linux.
20962
20963 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20964 (LOONGSON_MACHTYPE): New macro, set to
20965 "machtype=lemote-yeeloong-2f-8.9inches".
20966 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20967 additional argument to Linux.
20968
1a3aaff4
RM
209692010-11-04 Robert Millan <rmh@gnu.org>
20970
20971 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20972 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20973 (its SATA disks are detected as slaveless IDE master drives on
20974 kFreeBSD).
20975 Reported by Carsten Aulbert.
20976
a75f4f62
CW
209772010-11-02 Colin Watson <cjwatson@ubuntu.com>
20978
20979 * util/bin2h.c (main): Fix spelling error in generated output.
20980
33b4b0c6
GS
209812010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20982
20983 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20984
2b36fbf4
VS
209852010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20986
20987 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20988 vga= option is supplied.
20989
74aaf558
VS
209902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20991
20992 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20993 * util/grub.d/10_kfreebsd.in: Likewise.
20994 * util/grub.d/10_linux.in: Likewise.
20995 * util/grub.d/20_linux_xen.in: Likewise.
20996
6428dec3
VS
209972010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20998
20999 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
21000 argument as an argument to no-argument option.
21001
f8729d98
VS
210022010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21003
21004 * util/grub.d/10_linux.in: Add missing load_video with explicit
21005 GRUB_GFXPAYLOAD_LINUX.
21006
89d68fa6
VS
210072010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21008
21009 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
21010
3a1197cd
VS
210112010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21012
21013 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
21014 elements with invlid index.
21015 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21016 * grub-core/disk/raid.c (insert_array): Automatically reallocate
21017 members.
21018 * include/grub/raid.h (grub_raid_member): New struct.
21019 (grub_raid_array): Transform devices and start_sector into usage of
21020 grub_raid_member. All users updated
21021 (allocated_devs): New member.
21022
71574288
VS
210232010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21024
21025 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
21026 is modified
21027
8d40ec65
BC
210282010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
21029
21030 NetBSD build fix for getline function conflict from gnulib.
21031
21032 * Makefile.util.def (libgrubkern.a): New library for grub kernel
21033 components that depend on gnulib headers.
21034 (libgrubmods.a): Renamed from earlier libgrub.a.
21035 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
21036
95b9257e
VS
210372010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21038
21039 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
21040 install rather than creating a broken install.
21041
26c53dc6
VS
210422010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21043
21044 * util/grub-setup.c (argp): Remove misleading example of installing to
21045 a partition.
21046
4171b3c5
VS
210472010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21048
21049 * util/grub-setup.c (setup): Clarify the error message.
21050
18568d18
VS
210512010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21052
21053 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
21054
4f6a2e21
VS
210552010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
21056
21057 * grub-core/kern/emu/misc.c
21058 (grub_make_system_path_relative_to_its_root)
21059 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
21060
210612010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
21062
21063 * grub-core/kern/emu/misc.c
21064 (grub_make_system_path_relative_to_its_root): Revert r2882.
21065
e138c458
VS
210662010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
21067
21068 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
21069 useless field head. All users updated.
21070 (free_subchunk): Correct handling of IN_REGION subchunk.
21071
0cbcdf0e
CW
210722010-10-22 Colin Watson <cjwatson@ubuntu.com>
21073
21074 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
21075 (Supported kernels): Likewise.
21076
b65ea155
GS
210772010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21078
21079 Make mktemp invocations portable.
21080
21081 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
21082 exit if mktemp fails.
21083 * tests/grub_script_blockarg.in: Likewise.
21084 * tests/partmap_test.in: Likewise.
21085 * tests/util/grub-shell-tester.in: Likewise.
21086 * tests/util/grub-shell.in: Likewise.
21087 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21088 * Makefile.am: Likewise, and chain shell commands with `&&'
21089 instead of ';'.
21090 * util/grub-mkrescue.in: Use the same explicit template as above, and
21091 exit if mktemp fails.
21092
05f43cdd
BC
210932010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
21094
21095 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
21096 Linux kernel, reported by Dennis Schridde.
21097
800e6a9b
SJ
210982010-10-17 Szymon Janc <szymon@janc.net.pl>
21099
21100 * grub-core/normal/auth.c (grub_auth_check_authentication):
21101 Set-but-not-used variable removed.
21102
d82df574
VS
211032010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * docs/grub.texi (GNU/Linux): Document APM unavailability with
21106 32-bit linux protocol.
21107
7bced458
VS
211082010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21109
21110 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
21111 cursor shape for sanity.
21112
5b027690
VS
211132010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 * docs/grub.texi (Installation): Document buggy BIOS install.
21116
ba5f65cf
VS
211172010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21118
21119 * docs/grub.texi (Installation): Indent.
21120
fdf2ec9c
VS
211212010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21122
21123 * util/grub-setup.c (setup): New parameter allow_floppy.
21124 (arguments): New member allow_floppy.
21125 (argp_parser): Handle --allow-floppy.
21126 (main): Pass allow_floppy.
21127 * util/grub-install.in: New option --allow-floppy passed though to
21128 grub-setup.
21129
861dfd4c
VS
211302010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21131
21132 * util/grub-install.in: Handle partitionless disks.
21133
f77a8c24
VS
211342010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21135
21136 * util/grub-setup.c (setup): Don't clean blocklists before readability
21137 verfification.
21138
27d9ee32
VS
211392010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21140
21141 * docs/grub.texi (Installation): Document embedding zone. Remove
21142 obsolete grub-install example.
21143
6bdda8f8
SJ
211442010-10-16 Szymon Janc <szymon@janc.net.pl>
21145
21146 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
21147 Set-but-not-used variable ifdef'ed.
21148 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
21149 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
21150 variable removed.
21151 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
21152 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
21153 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
21154 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
21155 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
21156 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21157 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
21158 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
21159 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
21160 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
21161 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
21162 Likewise.
21163
e19b016b
VS
211642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21165
21166 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
21167 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
21168 enum value.
21169
6c8d3002
VS
211702010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21171
21172 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
21173 synonym to _S5_. Needed for some DSDTs.
21174
c32b51c9
VS
211752010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21176
21177 Userspace ACPI parser debugging.
21178
21179 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
21180 headers and add relevant defines. Don't include standard headers.
21181 (main) [GRUB_DSDT_TEST]: New function.
21182 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
21183 Don't declare functions.
21184
fbfbeb39
VS
211852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21186
21187 Remove dead grub_efi_mm_fini.
21188
21189 * grub-core/kern/efi/mm.c (allocated_page): Removed.
21190 (ALLOCATED_PAGES_SIZE): Likewise.
21191 (MAX_ALLOCATED_PAGES): Likewise.
21192 (allocated_pages): Likewise.
21193 (grub_efi_allocate_pages): Don't record allocated pages.
21194 (grub_efi_free_pages): Likewise.
21195 (grub_efi_mm_init): Likewise.
21196 (grub_efi_mm_fini): Removed.
21197
65f7ed7c
VS
211982010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
21201 (grub_efi_mm_init): Take into account the memory map size increase.
21202
24977b44
VS
212032010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21204
21205 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
21206 (serial_hw_put): Wait based on real time rather than port reads. Don't
21207 roken ports.
21208 * include/grub/serial.h (grub_serial_port): New field broken.
21209
1eb01cd2
RM
212102010-10-16 Robert Millan <rmh@gnu.org>
21211
21212 * grub-core/kern/emu/misc.c
21213 (grub_make_system_path_relative_to_its_root): Fix premature return
21214 when processing non-root ZFS filesystems.
5f8b440b 21215 Reported by Sergio Talens-Oliag.
1eb01cd2 21216
2d5fed60
RM
212172010-10-15 Robert Millan <rmh@gnu.org>
21218
21219 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
21220 guarantee compressed ones are processed first.
21221
d0f4c1ea
VS
212222010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21223
21224 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
21225 grub_efiemu_autocore.
21226
d87c681f
VS
212272010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21228
21229 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
21230 rather than 0x1b.
21231 (grub_console_getkey): Use correct jae opcode rather than ja.
21232
219b3564
RM
212332010-10-12 Robert Millan <rmh@gnu.org>
21234
21235 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
21236 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
21237 variable. All references updated.
21238
21239 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
21240
20c6bb7e
VS
212412010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
21242
21243 Correctly distinguish mdraid flavours.
21244
21245 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
21246 (insert_array): New argument raid.
21247 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
21248 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
21249 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
21250
74baff84
VS
212512010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
21252
21253 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
21254 handling of special keys.
21255
3ef068df 212562010-10-02 Aleš Nesrsta <starous@volny.cz>
21257
c7980ad9
VS
21258 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
21259 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 21260
a9455194 212612010-10-02 Aleš Nesrsta <starous@volny.cz>
21262
c7980ad9
VS
21263 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
21264 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
21265 users updated.
a9455194 21266 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 21267 Use right endpoint when querying descriptor.
a9455194 21268
441cfe65
VS
212692010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21270
21271 Clear out 0x80 color bit on EFI.
21272 Tested by: decoder
21273 Reported by: decoder and meta tech.
21274
21275 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
21276 (grub_console_setcolorstate): Clear out 0x80 bit.
21277 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
21278 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
21279 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
21280
bf26bcc4
VS
212812010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21282
21283 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
21284 Set to "auto".
21285
6e3c515d
VS
212862010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21287
21288 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
21289 mo_file after freeing.
21290
e6d983ba
VS
212912010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21292
21293 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
21294
74ccb5b5
VS
212952010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21296
21297 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
21298 flags.
21299
17821956
VS
213002010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21301
21302 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
21303 usage.
21304
ee74fa48
VS
213052010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21306
21307 Put terminfo into core on ieee1275 and yeeloong (needed for console).
21308
21309 * gentpl.py: New groups terminfoinkernel and terminfomodule.
21310 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
21311 and terminfo.h when needed.
21312 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
21313 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
21314 (terminfo): Enable only on terminfokernel.
21315 (extcmd): Likewise.
21316 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
21317 * include/grub/lib/arg.h: Likewise.
21318 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
21319 incorrect usage of ->.
21320
aa438e68
VS
213212010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
21324 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
21325
57994012
VS
213262010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21327
21328 Fix coreboot compilation.
21329
21330 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21331 Take VBE info into account even if only text is supported.
21332 (fill_vbe_info): Take into account the case when only VGA text
21333 is supported.
21334 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
21335 on coreboot, multiboot and qemu.
21336
2a406611
VS
213372010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21338
21339 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
21340 debug messages.
21341 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
21342
d33613fc
VS
213432010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21344
21345 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
21346 parameters.
21347
44a1b432
VS
213482010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21349
21350 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
21351 if they were BSD-style.
21352
edde54e6
VS
213532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21354
21355 * grub-core/boot/i386/pc/lnxboot.S: Replace
21356 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
21357 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
21358
b65830fa
VS
213592010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 Write embedding zone using Reed-Solomon.
21362
21363 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
21364 * grub-core/Makefile.am (rs_decoder.S): New target.
21365 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
21366 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
21367 (multiboot): Move to RS part.
21368 (post_reed_solomon): New label.
21369 (grub_boot_drive): Move to non-RS part since it's modified in memory
21370 on boot.
21371 Include rs_decoder.S.
21372 * grub-core/lib/reed_solomon.c: New file.
21373 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
21374 New definition.
21375 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
21376 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
21377 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
21378 * include/grub/partition.h (grub_partition_map): Change prototype of
21379 embed to allow returning additional sectors.
21380 * include/grub/reed_solomon.h: New file.
21381 * util/grub-setup.c (setup): Handle Reed-Solomon.
21382
0b4b227f
CW
213832010-09-28 Colin Watson <cjwatson@ubuntu.com>
21384
21385 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21386 i386 and x86-64 definedness tests.
21387
f772623b
YB
213882010-09-27 Yves Blusseau <blusseau@zetam.org>
21389
21390 Fix generation of kernel_syms.lst
21391
21392 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
21393 ASM_PREFIX
21394
8e57a6ca
RM
213952010-09-26 Robert Millan <rmh@gnu.org>
21396
21397 Support degraded ZFS arrays in "grub-probe -t device" resolution.
21398
21399 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
21400 the pool is an array of devices, iterate through it and return the
21401 first device that passes a stat() test (instead of blindly returning
21402 the first one).
21403
f9130836
RM
214042010-09-26 Robert Millan <rmh@gnu.org>
21405
21406 Build fixes for GNU/kFreeBSD.
21407
21408 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
21409 to programs that require ZFS conversion.
21410 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
21411 kernels that don't have FLOPPY_MAJOR.
21412
96510faf
BC
214132010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21414
21415 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
21416
449333eb
BC
214172010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21418
21419 Fix grub-emu build.
21420
21421 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
21422 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
21423 mdraid09 and mdraid1x.
21424
e1fd1939
CW
214252010-09-24 Colin Watson <cjwatson@ubuntu.com>
21426
21427 Re-enable grub-extras.
21428
21429 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
21430 avoid confusing Automake. Run autogen only twice, once for the top
21431 level and once for grub-core. Add Makefile.util.def and
21432 Makefile.core.def from extra modules to the appropriate autogen
21433 invocations. If Makefile.common exists in an extra module, include
21434 it in both Makefile.util.am and grub-core/Makefile.core.am;
21435 similarly, include any Makefile.util.common file in Makefile.util.am
21436 and any Makefile.core.common file in grub-core/Makefile.core.am.
21437 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
21438 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
21439 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
21440 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
21441
21442 * gentpl.py (gvar_add): Turn GVARS into a set.
21443 (global_variable_initializers): Sort global variables on output.
21444 (vars_init): New function.
21445 (first_time): Likewise.
21446 (library): Ensure that non-global variable initialisations are
21447 emitted before the first time we emit code for a library block.
21448 Append to variables rather than setting them. Only emit
21449 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
21450 each conditional path.
21451 (program): installdir() emits an Autogen macro, so must be passed to
21452 var_add rather than gvar_add.
21453 (data): Likewise.
21454 (script): Likewise.
21455 (rules): New function, centralising handling for different target
21456 types. Set up Guile association lists for first_time and vars_init,
21457 and send most output to a diversion so that variable initialisations
21458 can be emitted first.
21459 (module_rules): Use new rules function.
21460 (kernel_rules): Likewise.
21461 (image_rules): Likewise.
21462 (library_rules): Likewise.
21463 (program_rules): Likewise.
21464 (script_rules): Likewise.
21465 (data_rules): Likewise.
21466
21467 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
21468
21469 * .bzrignore: Add contrib and grub-core/contrib. Remove
21470 grub-core/Makefile.gcry.am.
21471
1d12cf29
YB
214722010-09-24 Yves Blusseau <blusseau@zetam.org>
21473
21474 * grub-core/lib/LzFind.c: Add missing include.
21475 * grub-core/lib/LzmaEnc.c: Likewise.
21476 * grub-core/script/lexer.c: Likewise.
21477 * grub-core/script/yylex.l: Likewise.
21478 * util/grub-macho2img.c: Likewise.
21479 * util/grub-menulst2cfg.c: Likewise.
21480 * util/grub-mklayout.c: Likewise.
21481 * util/grub-mkpasswd-pbkdf2.c
21482 * util/grub-mkrelpath.c: Likewise.
21483 * util/resolve.c: Likewise.
21484
dd363028
BC
214852010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
21486
21487 * Makefile.util.def (example_unit_test): Add
21488 grub-core/gnulib/libgnu.a.
21489
f5a109e2
GS
214902010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
21491
21492 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
21493
6d0fa83c
VS
214942010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
21495
21496 Support xz compression on yeeloong.
21497
21498 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
21499 * configure.ac: Check for LZMA.
21500 * grub-core/Makefile.core.def (xz_decompress): New target.
21501 (none_decompress): Likewise.
21502 * grub-core/boot/decompressor/minilib.c: New file.
21503 * grub-core/boot/decompressor/none.c: Likewise.
21504 * grub-core/boot/decompressor/xz.c: Likewise.
21505 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
21506 * grub-core/kern/mips/cache_flush.S: Likewise.
21507 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
21508 * grub-core/kern/mips/startup.S: Move first stage to ...
21509 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
21510 nomacro.
21511 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
21512 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
21513 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
21514 Allocate statically.
21515 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
21516 Allocate statically or use scratch. Don't check CRC32.
21517 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
21518 Allocate statically. Don't check CRC32.
21519 * include/grub/decompressor.h: New file.
21520 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
21521 Removed.
21522 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
21523 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
21524 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
21525 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
21526 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
21527 * util/grub-mkimage.c (grub_compression_t): New type.
21528 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
21529 (image_target_desc): New field default_compression.
21530 (image_targets): Adjust yeeloong targets.
21531 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
21532 (compress_kernel): New parameter comp.
21533 (generate_image): Likewise. Handle new compression case.
21534 (options): New option --compression
21535 (help): Likewise.
21536 (main): Handle new option.
21537
1b655af6
GS
215382010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
21539
21540 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
21541
8f03f0b5
CW
215422010-09-22 Colin Watson <cjwatson@ubuntu.com>
21543
21544 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21545 typo in __i386__ conditional.
21546
7835dfd3
VS
215472010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21548
21549 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
21550 include.
21551
e255597e
VS
215522010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21553
6d0fa83c 21554 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
21555
21556 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
21557 new tags as supported.
21558 (acpiv2_size): New function.
21559 (grub_multiboot_get_mbi_size): Take new tags into account.
21560 (grub_multiboot_make_mbi): Add new tags.
21561 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 21562
6cc14051 215632010-09-21 Aleš Nesrsta <starous@volny.cz>
21564
21565 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
21566 Added missing configuration of USB device.
21567
df7769d8
CW
215682010-09-21 Colin Watson <cjwatson@ubuntu.com>
21569
21570 * grub-core/normal/menu_entry.c (run): Make sure we always return
21571 a value.
21572
b031012d
CW
215732010-09-21 Colin Watson <cjwatson@ubuntu.com>
21574
21575 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
21576 NumberOfPages is UINT64 according to the UEFI specification, not
21577 UINTN. Fix printf format.
21578
174de8f3
CW
215792010-09-21 Colin Watson <cjwatson@ubuntu.com>
21580
21581 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
21582 `err' to grub_usb_err_t.
21583 Reported and tested by: KESHAV P.R.
21584
d7dbe923
CW
215852010-09-21 Colin Watson <cjwatson@ubuntu.com>
21586
21587 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
21588 tpart non-const, so that we can assign to it. (Since this is a
21589 typedef, the constness refers to the pointer rather than what it
21590 points to.)
21591
8d5e2af3
CW
215922010-09-21 Colin Watson <cjwatson@ubuntu.com>
21593
21594 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21595 $(top_srcdir)/grub-core/gnulib as well as
21596 $(top_builddir)/grub-core/gnulib.
21597 Reported by: KESHAV P.R.
21598
5c527783
CW
215992010-09-21 Colin Watson <cjwatson@ubuntu.com>
21600
21601 * util/grub-install.in: Fix the bootloader ID option to be
21602 consistently --bootloader-id, not --bootloader_id.
21603 Reported by: KESHAV P.R.
21604
d309a16e
CW
216052010-09-21 Colin Watson <cjwatson@ubuntu.com>
21606
21607 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21608 check hash checksum." consistently translatable.
21609
b830cd16
YB
216102010-09-21 Yves Blusseau <blusseau@zetam.org>
21611
21612 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21613 $(top_builddir).
21614
c4fe27a8
CW
216152010-09-21 Colin Watson <cjwatson@ubuntu.com>
21616
21617 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21618 (GRUB_MOD_INIT): Register sha1sum command.
21619 (GRUB_MOD_FINI): Unregister sha1sum command.
21620
a4c1d277
YB
216212010-09-21 Yves Blusseau <blusseau@zetam.org>
21622
21623 Keep boot and grub directory names in sync with utils scripts
21624
21625 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21626 * config.h.in: Add previous macros.
21627 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21628 * util/grub-install.in: Use $bootdir and $grubdir variables.
21629
4eff79d2
CW
216302010-09-21 Colin Watson <cjwatson@ubuntu.com>
21631
21632 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21633 convert partition names to disk names if the new `convert' parameter
21634 is set.
21635 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21636 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21637 disk in its own right. This can happen with Xen disk images.
21638
934d7e44
YB
216392010-09-21 Yves Blusseau <blusseau@zetam.org>
21640
21641 * util/grub-editenv.c: Update strings to avoid warnings when generating
21642 grub.pot file.
21643 * util/grub-setup.c: Likewise.
934d7e44 21644
df3367cc
VS
216452010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21646
21647 * configure.ac: Change version to 1.99~beta0.
21648
77a94e98
VS
216492010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21650
21651 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21652 Add BADRAM.
21653 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21654 Likewise.
21655 * include/multiboot.h: Resynced with specification.
21656 * include/multiboot2.h: Likewise.
21657
269004c1
CW
216582010-09-21 Colin Watson <cjwatson@ubuntu.com>
21659
21660 Fix po directory handling.
21661
21662 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21663 * grub-core/gnulib/Makefile.am: Import gettext module.
21664 * m4/gnulib-cache.m4: Likewise.
21665 * m4/gnulib-comp.m4: Likewise.
21666 * m4/gettext.m4: New file, from gnulib.
21667 * m4/glibc2.m4: Likewise.
21668 * m4/iconv.m4: Likewise.
21669 * m4/intdiv0.m4: Likewise.
21670 * m4/intl.m4: Likewise.
21671 * m4/intldir.m4: Likewise.
21672 * m4/intlmacosx.m4: Likewise.
21673 * m4/intmax.m4: Likewise.
21674 * m4/inttypes-pri.m4: Likewise.
21675 * m4/lcmessage.m4: Likewise.
21676 * m4/lib-ld.m4: Likewise.
21677 * m4/lib-link.m4: Likewise.
21678 * m4/lib-prefix.m4: Likewise.
21679 * m4/lock.m4: Likewise.
21680 * m4/nls.m4: Likewise.
21681 * m4/po.m4: Likewise.
21682 * m4/printf-posix.m4: Likewise.
21683 * m4/progtest.m4: Likewise.
21684 * m4/threadlib.m4: Likewise.
21685 * m4/uintmax_t.m4: Likewise.
21686 * m4/visibility.m4: Likewise.
21687 * po/Makefile.am: Remove.
21688 * po/Makefile.in.in: New file, from gettext.
21689 ($(DOMAIN).pot-update): Support POTFILES-shell.
21690 * po/Makevars: New file.
21691 * po/POTFILES-shell: Rename to ...
21692 * po/POTFILES-shell.in: ... this. Update.
21693 * po/POTFILES: Rename to ...
21694 * po/POTFILES.in: ... this. Update.
21695 * po/Rules-quot: New file, from gettext.
21696 * po/boldquot.sed: Likewise.
21697 * po/en@boldquot.header: Likewise.
21698 * po/en@quot.header: Likewise.
21699 * po/insert-header.sin: Likewise.
21700 * po/quot.sed: Likewise.
21701 * po/remove-potcdate.sin: Likewise.
21702
3e0fa5d0
VS
217032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21704
21705 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21706
ade9bd66
VS
217072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21708
21709 * util/grub.d/20_linux_xen.in: Use submenus.
21710
fc55cc4c
VS
217112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21712
21713 Support submenus.
21714
21715 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21716 parameter submenu. All users updated.
21717 * grub-core/normal/main.c (free_menu): Rename to ...
21718 (grub_normal_free_menu): ... this. Made global.
21719 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21720 if requested.
21721 * grub-core/normal/menu_entry.c (screen): New field submenu.
21722 (make_screen): Set submenu.
21723 (run): Open new context if requested.
21724 * include/grub/menu.h (grub_menu_entry): New field submenu.
21725 * include/grub/normal.h (grub_normal_free_menu): New proto.
21726
600cedf7
VS
217272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21728
21729 Menu entries extractor.
21730
21731 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
21732 variants.
21733 (GRUB_MOD_INIT): Register new variants.
21734 (GRUB_MOD_FINI): Unregister new variants.
21735 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21736 into grub_cmd_legacy_source.
21737 (grub_cmd_legacy_source): Implement extractor variants.
21738 (GRUB_MOD_INIT): Register new variants.
21739 (GRUB_MOD_FINI): Unregister new variants.
21740 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21741 as an extractor.
21742 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21743 search as an extractor.
21744 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21745 test as an extractor.
21746 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21747 as an extractor.
21748 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21749 (grub_env_new_context): New function.
21750 (grub_env_context_open): Likewise.
21751 (grub_env_extractor_open): Likewise.
21752 (grub_env_extractor_close): Likewise.
21753 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21754 grub_extractor_level.
21755 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
21756 * include/grub/env.h (grub_env_extractor_open): New proto.
21757 (grub_env_extractor_close): Likewise.
21758 * include/grub/normal.h (grub_extractor_level): New external variable.
21759
7bda3a87
VS
217602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21761
21762 Make cutmem accept a region specification.
21763 Suggested by: Samuel Thibault
21764
21765 * grub-core/mmap/mmap.c (parsemem): New function.
21766 (grub_cmd_cutmem): Handle new arguments.
21767
2ea57f88
VS
217682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21769
21770 New command cutmem.
21771
21772 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21773 (GRUB_MOD_INIT): Register new command.
21774 (GRUB_MOD_FINI): Unregister new command.
21775
74342e31
VS
217762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21777
21778 Support some annoying BSD and Minix subpartitions.
21779
21780 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21781 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21782 Properly handle concatenation.
21783 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21784 * grub-core/normal/completion.c (iterate_partition): Likewise.
21785 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21786 contain partition. All users updated.
21787 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21788 struct.
21789 (grub_openbsdlabel_partition_map): Likewise.
21790 (bsdlabel_partition_map_iterate): Rename to ..
21791 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21792 (bsdlabel_partition_map_iterate): New function.
21793 (netopenbsdlabel_partition_map_iterate): Likewise.
21794 (netbsdlabel_partition_map_iterate): Likewise.
21795 (openbsdlabel_partition_map_iterate): Likewise.
21796 (GRUB_MOD_INIT): Register new partmaps.
21797 (GRUB_MOD_FINI): Unregister new partmaps.
21798 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21799 (grub_partition_msdos_iterate): ... this. All users updated.
21800 Don't support embedding other than in a minix partition.
21801 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21802 proto.
21803 * include/grub/partition.h (grub_partition): New field msdostype.
21804 * util/grub-install.in: Handle openbsd and netbsd types being in
21805 part_bsd module.
21806
1e8d555b
VS
218072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21808
21809 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21810
21811 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
21812 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21813 (mdraid09): ... this.
21814 (mdraid1x): New module.
21815 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21816 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21817
899d8af4
VS
218182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21819
21820 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21821 vsprintf.
21822
40901acd
CW
218232010-09-20 Colin Watson <cjwatson@ubuntu.com>
21824
21825 * grub-core/commands/efi/lsefimmap.c: Correct header.
21826 * NEWS: Update.
21827
dfe3b247
CW
218282010-09-20 Colin Watson <cjwatson@ubuntu.com>
21829
21830 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21831 as printf format strings; the translations might contain '%' which
21832 could cause a crash.
21833 (main): Likewise.
21834 * util/grub-fstest.c (argp_parser): Likewise.
21835 * util/grub-setup.c (argp_parser): Likewise.
21836 (main): Likewise.
21837
3286a4b4
VS
218382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21839
21840 Use argp in grub-fstest.
21841
21842 * util/grub-fstest.c: Don't include getopt.h.
21843 Include argp.h.
21844 (root): New variable.
21845 (args_count): Likewise.
21846 (nparm): Likewise.
21847 (num_disks): Likewise.
21848 (images): Likewise.
21849 (cmd): Likewise.
21850 (debug_str): Likewise.
21851 (args): Likewise.
21852 (options): Transformed to argp.
21853 (usage): Removed.
21854 (main): Split argument parsing into ...
21855 (argp_parser): ... this. Changed to argp format.
21856 (argp): New variable.
21857 (main): Use argp_parse.
21858
3dccbe4b
TG
218592010-09-20 Tristan Gingold <gingold@free.fr>
218602010-09-20 Robert Millan <rmh.grub@aybabtu.com>
218612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21862
21863 * grub-core/commands/efi/lsefimmap.c: New file.
21864 * grub-core/Makefile.core.def (lsefimmap): New module.
21865 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21866
38c259a7
VS
218672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21868
21869 Pause the execution (10s max) if any errors are displayed so the user
21870 has a chance to see them.
21871
21872 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21873 (grub_print_error): Increment grub_err_printed_errors.
21874 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21875 execution if any errors were displayed.
21876 (show_menu): Remove old code for pause.
21877 * grub-core/normal/menu_entry.c (run): Likewise.
21878 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21879 users updated.
21880 (grub_normal_get_char_counter): Likewise.
21881 * include/grub/err.h (grub_err_printed_errors): New external variable.
21882 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21883
f218b09c
VS
218842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21885
21886 Support multiboot VBE info.
21887
21888 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21889 Take VBE info into account.
21890 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21891 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21892 Call fill_vbe_info when appropriate.
21893 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21894 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21895 as supported.
21896 (grub_multiboot_get_mbi_size): Take new tags into account.
21897 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21898 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21899 Call fill_vbe_tag when appropriate.
21900 (grub_multiboot_make_mbi): Properly align tags.
21901 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21902 function.
21903 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21904 proto.
21905 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21906
a9cc5438
VS
219072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21908
21909 Suport manual terminal geometry specification.
21910
21911 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21912 Save state in grub_ofconsole_terminfo_output.
21913 (grub_ofconsole_term): Use grub_terminfo_getwh.
21914 (grub_ofconsole_getwh): Removed.
21915 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21916 (grub_serial_term): Use grub_terminfo_getwh.
21917 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21918 (options): New struct.
21919 (OPTION_*): New enum.
21920 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21921 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21922 width and height.
21923 (grub_terminfo_getwh): New proto.
21924 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21925
1a8fed20
VS
219262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21927
21928 Handle legacy "terminal" command.
21929
21930 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21931 and FLAG_TERMINAL.
21932 (legacy_commands): Add terminal and title.
21933 (grub_legacy_parse): Handle terminal. Simplify title handling.
21934
41e9c57d
VS
219352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21936
21937 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21938 parameters overflow.
21939
61c874c5
CW
219402010-09-20 Colin Watson <cjwatson@ubuntu.com>
21941
21942 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21943 widthspec.h.
21944
21945 * docs/grub.texi (Shell-like scripting): Document `!'.
21946 (Network): Simplify using new i386-pc-pxe format. Mention
21947 grub-mknetdir.
21948
21949 * NEWS: Update.
21950
943682b4
CW
219512010-09-20 Colin Watson <cjwatson@ubuntu.com>
21952
21953 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21954 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21955 when needed.
21956
6d3d698d
CW
219572010-09-20 Colin Watson <cjwatson@ubuntu.com>
21958
21959 * grub-core/commands/efi/lsefisystab.c: Correct header.
21960 * grub-core/commands/efi/lssal.c: Likewise.
21961 * grub-core/commands/testload.c: Likewise.
21962
c982589f
CW
219632010-09-20 Colin Watson <cjwatson@ubuntu.com>
21964
21965 * util/grub-mkrescue.in: Add explicit root argument to --set to
21966 prevent the UUID being interpreted as an argument to --set (matches
21967 previous change to prepare_grub_to_access_device).
21968
a63c31b6
CW
219692010-09-20 Colin Watson <cjwatson@ubuntu.com>
21970
21971 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21972 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21973 the verbosity of later #ifs.
21974 (find_partition_start): Define this function on FreeBSD too.
21975 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21976 function.
21977 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21978 on FreeBSD.
21979
6439b8ee
YB
219802010-09-20 Yves Blusseau <blusseau@zetam.org>
21981
21982 * util/grub-editenv.c: Use argp instead of getopt.
21983
c5930ec8
YB
219842010-09-20 Yves Blusseau <blusseau@zetam.org>
21985
21986 * util/grub-setup.c: Use argp instead of getopt.
21987
15c69261
YB
219882010-09-20 Yves Blusseau <blusseau@zetam.org>
21989
21990 Use gnulib-tool to create gnulib source files.
21991
21992 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21993 grub-core/gnulib directories
21994 * .bzignore: Add **/.deps and autogenerated gnulib files
21995 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21996 of gnulib macros, add grub-core/gnulib/Makefile
21997 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21998 include m4 directory to aclocal.
21999 * Makefile.util.def: Remove direct compilation of gnulib source files
22000 and use the new grub-core/gnulib/libgnu.a.
22001 * build-aux/config.rpath: move config.rpath from top directory to
22002 build-aux
22003 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
22004 in gnulib headers
22005 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
22006 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
22007 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
22008 header.
22009 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
22010 string.
22011
e511c9f5
YB
220122010-09-20 Yves Blusseau <blusseau@zetam.org>
22013
22014 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
22015 grub-core/genmod.sh and grub-core/gensyminfo.sh
22016
c2dede05
BC
220172010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
22018
22019 Add a test for echo command options.
22020
22021 * tests/grub_cmd_echo.in: New test.
22022 * Makefile.util.def: Rules for new test.
22023
c55f5018
SJ
220242010-09-20 Szymon Janc <szymon@janc.net.pl>
22025
22026 Remove crc.mod and move crc command to hashsum.mod.
22027 Remove lib/crc.c - users updated to use gcrypt implementation.
22028
22029 * grub-core/commands/crc.c: Removed.
22030 * grub-core/Makefile.core.def (crc): Module removed.
22031 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
22032 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
22033 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
22034 * grub-core/lib/crc.c: Removed.
22035 * include/grub/lib/crc.h: Removed.
22036 * Makefile.util.def (crc): Remove lib/crc.c
22037 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
22038 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
22039 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
22040 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
22041 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
22042 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
22043
e0337366
VS
220442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22045
22046 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
22047
742f9232
VS
220482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22049
22050 Split config.h for util and core.
22051
22052 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
22053 (ADDR32): Likewise.
22054 (DATA32): Likewise.
22055 (BSS_START_SYMBOL): Likewise.
22056 (END_SYMBOL): Likewise.
22057 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
22058 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
22059 * config.h.in: New file.
22060 * configure.ac: Use config-util.h as config define file.
22061 Rename MACHINE into GRUB_MACHINE. All users updated.
22062 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
22063 updated.
22064 (NESTED_FUNC_ATTR): Likewise.
22065 Substitue new variables.
22066 (COND_HAVE_ASM_USCORE): New conditional.
22067 * grub-core/Makefile.am (ASM_PREFIX): New variable.
22068 (kernel_syms.lst): Use ASM_PREFIX.
22069 * grub-core/kern/emu/console.c: Include config-util.h.
22070 * grub-core/kern/emu/misc.c: Likewise.
22071 * grub-core/kern/emu/mm.c: Likewise.
22072 * include/grub/emu/misc.h: Likewise.
22073 * include/grub/libgcc.h: Likewise.
22074
39feb0e8
VS
220752010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22076
22077 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
22078 constants usage.
22079 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
22080 Fix GRUB_TERM_KEY_* constants usage.
22081 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
22082
9af6dac3
VS
220832010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22084
22085 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
22086 print pointer.
22087 * grub-core/bus/usb/uhci.c: Remove empty define.
22088 (grub_uhci_check_transfer): Add missing cast.
22089 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
22090 print pointer.
22091 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
22092 PRIuGRUB_SIZE.
22093 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
22094
d6d94820
VS
220952010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22096
22097 * grub-core/Makefile.core.def (legacycfg): Add
22098 lib/i386/pc/vesa_modes_table.c on emu.
22099
3572f2b6
BC
221002010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22101
22102 Reduce number of temporary files generated by build system.
22103
22104 * grub-core/gencmdlist.sh: Removed.
22105 * grub-core/genfslist.sh: Removed.
22106 * grub-core/genhandlerlist.sh: Removed.
22107 * grub-core/genmodsrc.sh: Removed.
22108 * grub-core/genpartmaplist.sh: Removed.
22109 * grub-core/genparttoollist.sh: Removed.
22110 * grub-core/gentermiinallist.sh: Removed.
22111 * grub-core/genvideolist.sh: Removed.
22112
22113 * grub-core/genmod.sh.in: New file.
22114 * grub-core/gensyminfo.sh.in: New file.
22115
22116 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
22117 * conf/Makefile.extra-dist: Update with new files.
22118 * gentpl.py: Remove rules related to unnecessary temporary files.
22119 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
22120 and und-* files.
22121 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
22122 genmod.sh scripts.
22123 * grub-core/bus/usb/uhci.c: Remove empty #define.
22124 * grub-core/genmoddep.awk: Updated with new syminfo format.
22125 * util/bash-completion.d/Makefile.am: Add config.log to
22126 CLEANFILES.
22127
c836b030
YB
221282010-09-19 Yves Blusseau <blusseau@zetam.org>
22129
22130 * Makefile.util.def: Add forgotten $(LIBINTL) library.
22131
2f4e8053
BC
221322010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22133
22134 * util/grub-mkconfig.in: Check the config script for syntax errors
22135 before saving.
22136
75831c34
CW
221372010-09-19 Colin Watson <cjwatson@ubuntu.com>
221382010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22139
22140 * Makefile.util.def (grub-install): Use util/grub-install.in on all
22141 platforms.
22142 * util/grub-install.in: Add EFI and IEEE1275 support.
22143 * util/i386/efi/grub-install.in: Removed.
22144 * util/ieee1275/grub-install.in: Likewise.
22145
eaf41b25
VS
221462010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22147
22148 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
22149 (grub_cmd_cmosclean): Likewise.
22150 (GRUB_MOD_INIT): Register command cmosclean.
22151 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
22152 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
22153
1a9130dd
CPE
221542010-09-18 Carles Pina i Estany <carles@pina.cat>
221552010-09-18 Aleš Nesrsta <starous@volny.cz>
221562010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22157
22158 Add keyboard layouts support.
22159
22160 * Makefile.util.def (grub-mklayout): New file.
22161 (grub-kbdcomp): New script.
22162 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
22163 Add keyboard_layouts.h.
22164 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
22165 commands/boot.c on yeeloong.
22166 (keylayouts): New module.
22167 * grub-core/bus/usb/ohci.c
22168 * grub-core/bus/usb/uhci.c
22169 * grub-core/bus/usb/usbhub.c (rescan): New variable.
22170 (grub_usb_add_hub): Poll interrupt pipe for device handling.
22171 (attach_root_port): Likewise.
22172 (poll_nonroot_hub): Likewise.
22173 (grub_usb_poll_devices): Likewise.
22174 (detach_device): Close transfer.
22175 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
22176 function.
22177 (grub_usb_bulk_setup_readwrite): Likewise.
22178 (grub_usb_bulk_finish_readwrite): Likewise.
22179 * grub-core/commands/keylayouts.c: New file.
22180 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
22181 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
22182 aliases.
22183 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
22184 support scancode 2.
22185 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
22186 * include/grub/keyboard_layouts.h: New file.
22187 * util/grub-mklayout.c: New file.
22188 * util/grub-kbdcomp.in: Likewise.
22189
a1d84a5e
VS
221902010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22191
22192 Unify memory types.
22193
22194 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
22195 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
22196 types.
22197 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
22198 (grub_upper_mem): Likewise.
22199 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
22200 * include/grub/memory.h (grub_memory_type_t): New enum.
22201 All users updated.
22202
9696382e
VS
222032010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22204
22205 * grub-core/Makefile.core.def (lsapm): New module.
22206 * grub-core/commands/i386/pc/lsapm.c: New file.
22207 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
22208 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
22209 Likewise.
22210 * include/grub/i386/pc/apm.h: New file.
22211 * include/multiboot.h (multiboot_apm_info): New struct.
22212
222132010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22214
22215 GRUB-legacy configuration file support.
22216
22217 * Makefile.util.def (grub-menulst2cfg): New util.
22218 * docs/man/grub-menulst2cfg.h2m: New file.
22219 * grub-core/Makefile.core.def (legacycfg): New module.
22220 * grub-core/commands/legacycfg.c: New file.
22221 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
22222 (grub_normal_add_menu_entry): ... this.
22223 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
22224 (grub_normal_set_password): ...this.
22225 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
22226 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
22227 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
22228 * grub-core/lib/legacy_parse.c: New file.
22229 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
22230 * include/grub/i386/pc/vesa_modes_table.h: New file.
22231 * include/grub/legacy_parse.h: Likewise.
22232 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
22233 * util/grub-menulst2cfg.c: New file.
22234
bf8d1338
CW
222352010-09-17 Colin Watson <cjwatson@ubuntu.com>
22236
22237 * grub-core/kern/emu/hostdisk.c
22238 (convert_system_partition_to_system_disk): Initialise node.
22239
9c0bad2e
CW
222402010-09-17 Colin Watson <cjwatson@ubuntu.com>
22241
22242 * grub-core/kern/emu/hostdisk.c
22243 (convert_system_partition_to_system_disk): Fix devmapper memory pool
22244 leak.
22245 Reported and based on patch by: Modestas Vainius.
22246
a939d135
CW
222472010-09-17 Colin Watson <cjwatson@ubuntu.com>
22248
22249 Fix DM-RAID probing with recent versions of device-mapper udev
22250 rules.
22251
22252 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
22253 canonicalise device paths under /dev/mapper/.
22254 (convert_system_partition_to_system_disk): Compare the
22255 uncanonicalised path to /dev/mapper/ rather than the canonicalised
22256 path, since device nodes under /dev/mapper/ are often symlinks.
22257
0f7ee3c9
YB
222582010-09-17 Yves Blusseau <blusseau@zetam.org>
22259
22260 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
22261
10854d0d
YB
222622010-09-16 Yves Blusseau <blusseau@zetam.org>
22263
22264 * configure.ac: Avoid some annoying error messages if freetype-config
22265 program is not found.
22266
108538d8
CW
222672010-09-16 Colin Watson <cjwatson@ubuntu.com>
22268
22269 Support RAID on virtio devices, and others.
22270
22271 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
22272 Rename to ...
22273 [__MINGW32__] (grub_find_device): ... this.
22274 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
22275 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
22276 reasonable default if dir is NULL.
22277 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
22278 ...
22279 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
22280 (grub_guess_root_device): Update callers.
22281 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
22282
22283 * util/raid.c (grub_util_getdiskname): Remove.
22284 (grub_util_raid_getmembers): Use grub_find_device rather than
22285 grub_util_getdiskname.
22286
e5bfc130
CW
222872010-09-16 Colin Watson <cjwatson@ubuntu.com>
22288
22289 * docs/grub.texi (serial): Remove obsolete comment about GRUB
22290 needing to be compiled with serial support.
22291 (ls): Indicate that multiple files are accepted.
22292 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
22293 indicate that multiple files are accepted.
22294
be458ae2
CW
222952010-09-16 Colin Watson <cjwatson@ubuntu.com>
22296
22297 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
22298 libgrub_a_init.c, and util/bash-completion.d/grub.
22299
cb731b5e
VS
223002010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22301
22302 * util/grub-setup.c (setup): Fix incorrect container semantics.
22303
35139e8a
VS
223042010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22305
22306 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
22307 misusage.
22308 Reported by: J. Nick Terry
22309
e50fca4a
VS
223102010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22311
22312 Move embedding routines to partmap sources files.
22313
22314 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
22315 [GRUB_UTIL]: New variable.
22316 (gpt_partition_map_iterate): Set part.parent.
22317 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
22318 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
22319 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
22320 New function.
22321 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
22322 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
22323 (grub_partition_map) [GRUB_UTIL]: New field embed.
22324 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
22325 (setup): Use ->embed.
22326
f00478b7
VS
223272010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22328
22329 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
22330 function.
22331 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
22332 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
22333
2b94e3ff
YB
223342010-09-15 Yves Blusseau <blusseau@zetam.org>
22335
22336 Add function to get completions from usage.
22337
22338 * util/bash-completion.d/grub-completion.bash.in: Add function to get
22339 completions from usage. Use LC_ALL=C to get options properly.
22340
2e04a006
VS
223412010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22342
22343 * grub-core/gnulib/basename-lgpl.c: Imported.
22344 * grub-core/gnulib/basename.c: Likewise.
22345 * grub-core/gnulib/dirname-lgpl.c: Likewise.
22346 * grub-core/gnulib/dirname.c: Likewise.
22347 * grub-core/gnulib/dirname.h: Likewise.
22348 * grub-core/gnulib/stripslash.c: Likewise.
22349
5dcdf93a
VS
223502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22351
22352 * grub-core/gnulib/error.c: Resynced.
22353 * grub-core/gnulib/getopt.c: Likewise.
22354 * grub-core/gnulib/getopt_int.h: Likewise.
22355 * grub-core/gnulib/regex.h: Likewise.
22356 * grub-core/gnulib/regex_internal.c: Likewise.
22357 * grub-core/gnulib/regex_internal.h: Likewise.
22358
014f47b7
SJ
223592010-09-15 Szymon Janc <szymon@janc.net.pl>
22360
22361 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
22362 CRC calculations and validity checks.
22363 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
22364 calculations.
22365
dd521a4a
SJ
223662010-09-15 Szymon Janc <szymon@janc.net.pl>
22367
22368 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
22369
79c4eeb9
VS
223702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22371
22372 Fix incorrect echo options handling.
22373 Reported by: Yves Blusseau.
22374
22375 * include/grub/command.h (grub_command_flags_t): New flags
22376 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
22377 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
22378 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
22379
ed80f7d5
VS
223802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22381
22382 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
22383 users updated.
22384 (GRUB_COMMAND_FLAG_MENU): Likewise.
22385 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22386 (GRUB_COMMAND_FLAG_TITLE): Removed.
22387 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22388 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
22389 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
22390 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
22391 (grub_command_flags_t): New enum. All users updated.
22392
5fe7620a
SG
223932010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
22394
22395 Fix solaris compilation.
22396
22397 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
22398 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
22399 (grub-emu-list): Likewise.
22400
545b752f
VS
224012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22402
22403 Remove deprecated root command.
22404
22405 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
22406 updated.
22407
6c1a338c
VS
224082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22409
22410 * util/i386/pc/grub-setup.c: Merge this ...
22411 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
22412 * util/grub-setup.c: ... into this.
22413 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
22414 New struct.
22415
224162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22417
22418 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
22419 possible.
22420
d2ea4551
VS
224212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22422
22423 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
22424 allocate p.
22425
3c3b5040
VS
224262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22427
22428 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
22429 explicit root argument to set to prevent UUID to be interpreted as
22430 argument to set.
22431
b71c3fae
VS
224322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22433
22434 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
22435
275433e6
VS
224362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22437
22438 Don't export grub_gate_a20.
22439
22440 * grub-core/kern/i386/pc/init.c: Remove leftovers.
22441 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
22442 to ...
22443 (grub_gate_a20): ... this. All users updated.
22444 * include/grub/i386/pc/init.h: Removed. All users updated.
22445
a5dbb1f1
VS
224462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22447
22448 Create euro.pf2 which supports most European languages.
22449
22450 * Makefile.am (grubdata_DATA): Add euro.pf2.
22451 (euro.pf2): New target.
22452 (CLEANFILES): Add euro.pf2.
22453
62a747cb
VS
224542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22455
22456 * configure.ac: Disable emu-usb by default to prevent inadvertent
22457 device takeover.
22458
608e43b1
VS
224592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22460
22461 Disable usbserial on grub-emu since our libusb code isn't good enough
22462 yet.
22463
22464 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
22465 (usbserial_pl2303): Likewise.
22466 (usbserial_ftdi): Likewise.
22467
94564f81
VS
224682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22469
22470 * include/grub/disk.h (grub_disk): Remove has_partitions.
22471 All users updated.
22472 * disk/loopback.c (grub_loopback): Remove has_partitions.
22473 All users updated.
22474 (options): Remove partitions. All users updated.
22475 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
22476 * util/i386/pc/grub-setup.c (setup): copy partition table only when
22477 actual partition table is found.
22478
3352800b
VS
224792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22480
22481 Remove readability checks (too many false negatives).
22482
22483 * util/grub-install.in: Remove readability checks.
22484 * util/grub-mkconfig.in: Likewise.
22485 * util/grub.d/10_hurd.in: Likewise.
22486 * util/grub.d/10_kfreebsd.in: Likewise.
22487 * util/grub.d/10_linux.in: Likewise.
22488 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
22489 way.
22490
2419f17a
VS
224912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22492
22493 Enable acpi shutdown on all ACPI platforms.
22494
22495 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
22496 on coreboo, multiboot and EFI.
22497 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
22498 (grub_acpi_halt): Likewise.
22499 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
22500 (grub_cmd_halt): Don't call grub_acpi_halt directly.
22501 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
22502 * grub-core/lib/i386/halt.c (grub_halt)
22503 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
22504
0575c7c3
VS
225052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22506
22507 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
22508 context.
22509
54ac3cd1
VS
225102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22511
22512 * grub-core/video/efi_gop.c: Fix over-80-chars line.
22513 * grub-core/video/efi_uga.c: Likewise.
22514
b2a30ac5
VS
225152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22516
22517 Filter devaliases and never open same device twice.
22518
22519 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
22520 (last_ihandle): Likewise.
22521 (ofdisk_hash_ent): New member shortest.
22522 (ofdisk_hash_add): Add canonical path too.
22523 (scan): New function.
22524 (grub_ofdisk_iterate): Iterate over hashed entries.
22525 (compute_dev_path): Don't add :0.
22526 (grub_ofdisk_open): Don't really open the disk.
22527 (grub_ofdisk_close): Avoid closing unrelated disk.
22528 (grub_ofdisk_read): Implement reopen logic.
22529 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
22530 New function.
22531 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
22532 New proto.
22533
fb53b340
VS
225342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22535
22536 Fix sparc64.
22537
22538 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
22539 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
22540 right address. Add sparc64_ieee1275_ldflags.
22541 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
22542 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
22543 to grub_host_to_target_addr
22544 (load_image): Likewise.
22545
f452b040
VS
225462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22547
22548 * grub-core/normal/completion.c (complete_file): Handle device
22549 containing slash.
22550 Fix based on patch by Doug Nazar.
22551
9b5b2541
VS
225522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22553
22554 grub-mknetdir script.
22555
22556 * Makefile.util.def (grub-mknetdir): New module.
22557 * tests/util/grub-shell.in: Support boot=net
22558 * util/grub-mknetdir.in: New file.
22559
9d2be652
VS
225602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22561
22562 videoinfo on non-vbe.
22563
22564 * grub-core/Makefile.core.def (vbeinfo): Removed.
22565 (vbetest): Removed.
22566 (videoinfo): New module.
22567 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
22568 * grub-core/commands/i386/pc/vbetest.c: Removed.
22569 * grub-core/commands/videoinfo.c: New file.
22570 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
22571 specification.
22572 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
22573 as vbetest.
22574 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
22575 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
22576 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
22577 mode_number. New parameter mode. All users updated.
22578 (grub_video_gop_iterate): New function.
22579 (grub_video_efi_gop): New member iterate.
22580 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
22581 (grub_vbe_set_video_mode): Remove setting useless fields.
22582 (vbe2videoinfo): New function.
22583 (grub_video_vbe_iterate): Likewise.
22584 (grub_video_vbe_setup): Use vbe2videoinfo.
22585 (grub_video_vbe_print_adapter_specific_info): New function.
22586 (grub_video_vbe_adapter): New fields iterate and
22587 print_adapter_specific_info.
22588 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
22589 All users updated.
22590 (grub_video_mode_info): New field mode_number.
22591 (grub_video_adapter): New fields iterate and
22592 print_adapter_specific_info.
22593
179503f5
TG
225942010-09-13 Tristan Gingold <gingold@free.fr>
225952010-09-13 Robert Millan <rmh.grub@aybabtu.com>
225962010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22597
22598 * grub-core/commands/efi/lsefisystab.c: New file.
22599 * grub-core/commands/efi/lssal.c: Likewise.
22600 * grub-core/Makefile.core.def (lsacpi): New module.
22601 (lsefisystab): Likewise.
22602 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22603 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22604 (grub_efi_sal_system_table): New struct.
22605 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22606 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22607 (grub_efi_sal_system_table_platform_features): Likewise.
22608 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22609 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22610 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22611 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22612
cf9827de
VS
226132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22614
22615 Support explicit user claim that a device is BIOS-visible.
22616
22617 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22618 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22619 * grub-core/kern/emu/hostdisk.c
22620 (convert_system_partition_to_system_disk): Support mdX.
22621 (find_system_device): New parameter add. All users updated.
22622 (grub_util_biosdisk_is_present): New function.
22623 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22624 proto.
22625
53f0eb1f
VS
226262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22627
22628 Search hints support.
22629
22630 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22631 All users updated.
22632
b23ffd70
YB
226332010-09-13 Yves Blusseau <blusseau@zetam.org>
22634
22635 Bash completion script for util commands
22636
22637 * Makefile.am: Add util/bash-completion.d directory
22638 * configure.ac: Likewise.
22639 * util/bash-completion.d/Makefile.am: New file.
22640 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22641
d547dc28
VS
226422010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22643
22644 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22645 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22646 Reported by: Yves Blusseau.
22647
2fc8ccb9
VS
226482010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22649
22650 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22651 partition size and offset.
22652
d8a84076
VS
226532010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22654
22655 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22656
84fb3b3d
VS
226572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22658
22659 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22660
768ec2e2
VS
226612010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22662
22663 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22664 (grub_xvasprintf): Likewise.
22665
4870900f
VS
226662010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22667
22668 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22669
faca6bec
VS
226702010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22671
22672 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22673 args ending with NULL.
22674
226752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
22676
22677 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22678 pointer.
22679
3c70f225
SJ
226802010-09-11 Szymon Janc <szymon@janc.net.pl>
22681
22682 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22683
4df7996d
VS
226842010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22685
22686 Shutdown using ACPI.
22687
22688 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22689 * grub-core/commands/acpihalt.c: New file.
22690 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22691 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22692 (grub_acpi_halt): New proto.
22693 (GRUB_ACPI_SLP_EN): New const.
22694 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22695 (GRUB_ACPI_OPCODE_*): New enum.
22696 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22697
126b4c32
TG
226982010-09-11 Tristan Gingold <gingold@free.fr>
226992010-09-11 Robert Millan <rmh.grub@aybabtu.com>
227002010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22701
22702 * commands/lsacpi.c: New file.
22703 * grub-core/Makefile.core.def (lsacpi): New module.
22704 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22705 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22706 (grub_acpi_madt_entry_header): New struct.
22707 (grub_acpi_madt): Likewise.
22708 (grub_acpi_madt_entry_interrupt_override): Likewise.
22709 (grub_acpi_madt_entry_sapic): Likewise.
22710 (grub_acpi_madt_entry_lsapic): Likewise.
22711 (grub_acpi_madt_entry_platform_int_source): Likewise.
22712 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22713 (PRIuGRUB_UINT32_T): Likewise.
22714 (PRIxGRUB_UINT64_T): Likewise.
22715
1aa4fe88
VS
227162010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22717
22718 Implement loading palette on ieee1275_fb.
22719
22720 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22721 (have_setcolors): Likewise.
22722 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
22723 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
22724 (grub_video_ieee1275_set_palette): Implement.
22725
25761e13
VS
227262010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
227272010-09-11 Colin Watson <cjwatson@ubuntu.com>
22728
22729 * util/grub-install.in (grub_partition): New variable.
22730 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
22731 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
22732 Fixes a bug reported by Yves Blusseau.
22733
050abaea
VS
227342010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22735
22736 Fix emu on mipsel.
22737
22738 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22739 =grub_cpu_flush_cache on all mips and not only yeeloong.
22740 * configure.ac (COND_mips): New conditional.
22741 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22742 platforms.
22743 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22744 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22745 [GRUB_LINKER_HAVE_INIT]: New function.
22746 (grub_emu_post_init): Likewise.
22747 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22748 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22749 * include/grub/cache.h (_mips): Include mips/cache.h.
22750 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
22751 LVM and RAID prototypes.
22752 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
22753 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
22754 function.
22755
5ed7d816
CW
227562010-09-10 Colin Watson <cjwatson@ubuntu.com>
22757
22758 * util/grub-install.in: Don't try to verify core.img until after
22759 running grub-mkimage to create it.
22760
90367e04
RM
227612010-09-10 Robert Millan <rmh@gnu.org>
22762
22763 * util/grub.d/10_hurd.in: Add misc readability checks.
22764 * util/grub.d/10_kfreebsd.in: Likewise.
22765 * util/grub.d/10_linux.in: Likewise.
22766
c452fa66
CW
227672010-09-10 Colin Watson <cjwatson@ubuntu.com>
22768
22769 * util/grub-install.in: ${imgext} won't be defined here until the
22770 install branch is merged. For the meantime, only verify core.img on
22771 i386-pc and sparc64-ieee1275 platforms.
22772
c38fe9f4
RM
227732010-09-10 Robert Millan <rmh@gnu.org>
22774
22775 Solaris support in grub_find_zpool_from_dir(). Thanks
22776 Seth Goldberg for referring to getextmntent() facility.
22777
22778 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22779 `sys/mkdev.h'.
22780 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22781 `<sys/mnttab.h>'.
22782 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22783 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22784 method for finding zpool name.
22785
905f7773
CW
227862010-09-10 Colin Watson <cjwatson@ubuntu.com>
22787
22788 grub-fstest needs the host and hostfs modules while other utilities
22789 actively require those modules to be absent, so grub-fstest needs
22790 its own initialisation and finalisation code.
22791
22792 * Makefile.am (grub_fstest.pp): New target.
22793 (grub_fstest_init.lst): Likewise.
22794 (grub_fstest_init.c): Likewise.
22795 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22796
fb90b546
RM
227972010-09-10 Robert Millan <rmh@gnu.org>
22798
22799 * configure.ac: Check for `struct statfs.f_fstypename' and
22800 `struct statfs.f_mntfromname'.
22801
22802 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22803 kFreeBSD-specific code.
22804
66d4bea5
RM
228052010-09-10 Robert Millan <rmh@gnu.org>
22806
22807 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22808 on ZFS. Now non-main filesystems are supported as / too.
22809
b6a690ee
CW
228102010-09-09 Colin Watson <cjwatson@ubuntu.com>
22811
22812 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22813 and grub-core/disk/host.c to ...
22814 (grub-fstest): ... here. Having the host disk implementation
22815 present confuses grub-probe and other utility programs.
22816
22817 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22818 when writing to a file, not when writing to stdout.
22819
8901b00c 228202010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22821
22822 * tests/partmap_test.in: New test for partitions.
22823 * Makefile.util.def: Rules for new test.
22824
7bf45fdd
RM
228252010-09-09 Robert Millan <rmh@gnu.org>
22826
22827 * util/grub-probe.c (probe): Fix a pair of unhandled error
22828 conditions.
22829
4dfbc574
RM
228302010-09-09 Robert Millan <rmh@gnu.org>
22831
22832 Basic Btrfs support (detection and UUID).
22833
22834 * grub-core/fs/btrfs.c: New file.
22835 * Makefile.util.def (library): Register btrfs.c.
22836 * grub-core/Makefile.core.def: Likewise.
22837
6b8e78ae
RM
228382010-09-08 Robert Millan <rmh@gnu.org>
22839
22840 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22841 with (optional) parameters to specify device and relative path.
22842 * util/grub-install.in: Use is_path_readable_by_grub() to
22843 verify readability of a few critical files.
22844 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22845 verify readability of grub.cfg.new.
22846
27f21a8b
VS
228472010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22848
22849 Split minix.mod into minix.mod and minix2.mod.
22850
22851 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22852 * grub-core/Makefile.core.def (minix2): New module.
22853 * grub-core/fs/minix.c: Use definitions instead of runtime version
22854 checking.
22855 * grub-core/fs/minix2.c: New file.
22856
c0e53ea5
YB
228572010-09-08 Yves Blusseau <blusseau@zetam.org>
22858
22859 Add new --boot-directory option to replace --root-directory
22860
22861 * util/grub-install.in: Add new --boot-directory option
22862 * util/grub-reboot.in: Likewise.
22863 * util/grub-set-default.in: Likewise.
22864
b9fe6ea2
YB
228652010-09-08 Yves Blusseau <blusseau@zetam.org>
22866
22867 * util/grub-mkconfig.in: Use new variable.
22868
d87aedff
YB
228692010-09-08 Yves Blusseau <blusseau@zetam.org>
22870
22871 * configure.ac: Define some useful variables.
22872
e55e8495
VS
228732010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22874
22875 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22876 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22877 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22878 Use terminfo and don't use cursor-on/cursor-off unless it's known
22879 to work.
22880 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22881 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22882
6fa6d675
CW
228832010-09-08 Colin Watson <cjwatson@ubuntu.com>
22884
22885 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22886 starts with "(,", fill the drive containing the loaded image in
22887 between those two characters, but expect that a full partition
22888 specification including partition map names will follow.
22889
92f2aef0
RM
228902010-09-08 Robert Millan <rmh@gnu.org>
22891
22892 * configure.ac: Remove `--enable-grub-fstest' option.
22893 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22894
22895 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22896 `grub-fstest' instead of `grub-probe' for readability verification.
22897 * util/grub-probe.c (probe): Remove readability verification kludge.
22898
99fd620d
RM
228992010-09-08 Robert Millan <rmh@gnu.org>
22900
22901 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22902 initializing `GRUB_FS'.
22903
058e30ac 229042010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22905
22906 Not command (!) support to GRUB script.
22907
22908 * tests/grub_script_not.in: New test.
22909 * Makefile.util.def: Rules for new test.
22910
22911 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22912 ! command as a special case.
22913 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22914
b61d05ed 229152010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22916
058e30ac 22917 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22918 grub_free.
b61d05ed 22919
4d69c786 229202010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22921
22922 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22923
aa3119c4 229242010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22925
22926 * docs/grub.texi (Shell-like scripting): Documentation for break,
22927 continue, shift and return commands.
22928
db0f7e3d
VS
229292010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22930
22931 Rename CD-ROM to cd on BIOS.
22932
22933 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22934 "cd".
22935 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22936
88b87c93
VS
229372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22938
22939 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22940 * util/grub-probe.c (main): Likewise.
22941 * util/i386/pc/grub-setup.c (main): Likewise.
22942 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22943 Reported and debugged by: alexxy
22944
294f324d
VS
229452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22946
22947 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22948 diagnostic info.
22949
d7ee3441
JS
229502010-09-05 Jo Shields <directhex@apebox.org>
22951
22952 * util/grub.d/30_os-prober.in: Add missing classes.
22953
d7e06c1f
VS
229542010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22955
22956 * docs/grub.texi (Theme file format): Document new position format.
22957
fc157e53
VS
229582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22959
22960 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22961 a table. Use @code instead of @verbatim.
22962
506e9a1c
CB
229632010-09-05 Colin D Bennett <colin@gibibit.com>
22964
22965 Gfxmenu documentation.
22966
22967 * docs/grub.texi (Theme file format): New chapter.
22968
f0aff67c
SJ
229692010-09-05 Szymon Janc <szymon@janc.net.pl>
22970
22971 * grub-core/Makefile.core.def (xzio): New module.
22972 * grub-core/io/xzio.c: New file.
22973 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22974 * grub-core/lib/xzembed/xz_config.h: Likewise.
22975 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22976 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22977 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22978 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22979 * grub-core/lib/xzembed/xz_private.h: Likewise.
22980 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22981 * include/grub/file.h (grub_file_filter_id): New compression filter
22982 GRUB_FILE_FILTER_XZIO.
22983
82a85062
VS
229842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22985
22986 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22987 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22988 size.
22989
3579415d
VS
229902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22991
22992 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22993 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22994
5124ae6d
VS
229952010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22996
22997 Uncompressed checksum support.
22998
22999 * grub-core/commands/hashsum.c (options): Add option --uncompress.
23000 (check_list): New parameter uncompress.
23001 (grub_cmd_hashsum): Handle --uncompress.
23002
9aadb3d1
VS
230032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23004
23005 Reintroduce testload.
23006
23007 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
23008 from here ...
23009 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
23010 (GRUB_MOD_INIT): New function.
23011 (GRUB_MOD_FINI): Likewise.
23012 * grub-core/Makefile.core.def (testload): New module.
23013
a17792c3
SJ
230142010-09-05 Szymon Janc <szymon@janc.net.pl>
23015
23016 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
23017 (uint8_t): New type.
23018 (uint16_t): Likewise.
23019 (uint32_t): Likewise.
23020 (uint64_t): Likewise.
23021
b81e40a3
SJ
230222010-09-05 Szymon Janc <szymon@janc.net.pl>
23023
23024 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
23025
fc2ef117
VS
230262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23027
23028 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
23029 Made static.
23030 (grub_gzfile_open): Removed. All users updated.
23031 (GRUB_MOD_INIT): New function.
23032 (GRUB_MOD_FINI): Likewise.
23033 * grub-core/kern/file.c (grub_file_filters_all): New variable.
23034 (grub_file_filters_enabled): Likewise.
23035 (grub_file_open): Handle filters.
23036 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
23037 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
23038 * include/grub/file.h (grub_file_filter_id_t): New type.
23039 (grub_file_filter_t): Likewise.
23040 (grub_file_filters_all): New extern variable.
23041 (grub_file_filters_enabled): Likewise.
23042 (grub_file_filter_register): New inline function.
23043 (grub_file_filter_unregister): Likewise.
23044 (grub_file_filter_disable): Likewise.
23045 (grub_file_filter_disable_compression): Likewise.
23046 * include/grub/gzio.h: Removed.
23047
35ee15e0
BC
230482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23049
23050 Filename expansion support for wildcards in GRUB script.
23051
23052 * tests/grub_script_expansion.in: New test.
23053 * Makefile.util.def: Rule for new test.
23054
23055 * grub-core/commands/wildcard.c: New file, implements filename
23056 expansion support for GRUB script.
23057 * grub-core/Makefile.core.def: Rule update for regexp.mod.
23058 * grub-core/script/argv.c: Cosmetic changes.
23059 * grub-core/script/execute.c (grub_script_arglist_to_argv):
23060 Refactored to perform wildcard expansion on arguments.
23061 * include/grub/script_sh.h (grub_script_wildcard_translator): New
23062 struct.
23063
23064 * tests/util/grub-shell.in: Fix quoting for read input.
23065
5f0c4aca
BC
230662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23067
23068 Support for updating environment variables with matched substrings
23069 of regexp.
23070
23071 * tests/grub_cmd_regexp.in: New test.
23072 * Makefile.util.def: Rule for new test.
23073
23074 * grub-core/commands/regexp.c: New option -s to update environment
23075 variables with regexp matches.
23076
3759a35f
SJ
230772010-09-04 Szymon Janc <szymon@janc.net.pl>
23078
23079 * include/grub/file.h (grub_file): New member not_easly_seekable.
23080 (grub_file_seekable): New inline function.
23081 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
23082 easily seekable.
23083 (grub_gzio_open): Set not_easly_seekable.
23084 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
23085 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
23086
ed8c6dec
BC
230872010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23088
23089 Support for options to appear multiple times on cmdline.
23090
23091 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
23092 * grub-core/commands/extcmd.c: Support for repeatable option.
23093 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
23094 repeatable option support.
23095
23096 Refactor menuentry into a regular command.
23097
23098 * grub-core/commands/menuentry.c: New file, menuentry command
23099 implementation.
23100 * grub-core/Makefile.core.def: Rule update for normal.mod.
23101 * grub-core/normal/main.c: Moved menuentry creation to
23102 grub-core/commands/menuentry.c.
23103 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
23104 (grub_menu_execute_entry_real): Removed.
23105 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
23106 function.
23107 (grub_script_execute_menuentry): Removed.
23108 * grub-core/script/parser.y (menuentry): Removed.
23109 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
23110 * grub-core/script/yylex.l (menuentry): Removed.
23111 * include/grub/menu.h (grub_menu_init): New prototype.
23112 (grub_menu_fini): New prototype.
23113 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
23114 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
23115 (grub_script_execute_sourcecode): New prototype.
23116
dacd0cf0
BC
231172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23118
23119 "return" command for GRUB script functions.
23120
23121 * tests/grub_script_return.in: New test.
23122 * Makefile.util.def: Rules for new test.
23123
23124 * grub-core/script/execute.c (grub_script_return): New function.
23125 * grub-core/script/main.c: Register/unregister return commaond.
23126 * include/grub/script_sh.h (grub_script_return): New prototype.
23127
52e72f9d
BC
231282010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23129
23130 "setparams" command to update positional parameters.
23131
23132 * tests/grub_script_setparams.in: New test.
23133 * Makefile.util.def: Rules for new test.
23134
23135 * grub-core/script/argv.c (grub_script_argv_make): New function.
23136 * grub-core/script/execute.c (replace_scope): New function.
23137 (grub_script_setparams): New function.
23138 * grub-core/script/lexer.c: Remove unused variables.
23139 * grub-core/script/main.c: Register/unregister setparams command.
23140 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
23141 (grub_script_setparams): New prototype.
23142
25b60c91
BC
231432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23144
23145 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
23146 grub_free order.
23147
37e7bf68
BC
231482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23149
23150 Support for passing block of commands as an argument to extcmds.
23151
23152 * Makefile.util.def: Rules for new test.
23153 * tests/grub_script_blockarg.in: New test.
23154 * grub-core/tests/test_blockarg.c: New file, block argument
23155 command used in the test.
23156
23157 * include/grub/extcmd.h (grub_extcmd_context): New struct.
23158 (grub_register_extcmd_prio): New function prototype.
23159 (grub_extcmd_dispatcher): New function prototype.
23160 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
23161 type.
23162 * include/grub/script_sh.h (struct grub_script): New members
23163 `children', `next_siblings' and `refcnt' for block arguments and
23164 reference counting.
23165 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
23166 (grub_script_arg): New member `script' for block argument.
23167 (grub_script_argv): New member `script' for block argument.
23168 (grub_parser_param): New member `scripts' for block argument.
23169 (grub_script_mem_free): New extern function prototype.
23170 (grub_script_ref): New function prototype.
23171 (grub_script_unref): New function prototype.
23172
23173 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
23174 extcmd form to support block arguments.
23175 * grub-core/script/argv.c: Block arguments support.
23176 * grub-core/script/execute.c: Likewise.
23177 * grub-core/script/lexer.c: Likewise.
23178 * grub-core/script/main.c: Likewise.
23179 * grub-core/script/script.c: Likewise.
23180 * grub-core/script/parser.y: Likewise. New `block' and `block0'
23181 non-terminals.
23182
23183 * grub-core/commands/acpi.c: Update extcmd implementations with
23184 grub_extcmd_context_t.
23185 * grub-core/commands/cat.c: Likewise.
23186 * grub-core/commands/echo.c: Likewise.
23187 * grub-core/commands/extcmd.c: Likewise.
23188 * grub-core/commands/hashsum.c: Likewise.
23189 * grub-core/commands/hdparm.c: Likewise.
23190 * grub-core/commands/help.c: Likewise.
23191 * grub-core/commands/hexdump.c: Likewise.
23192 * grub-core/commands/i386/cpuid.c: Likewise.
23193 * grub-core/commands/i386/pc/drivemap.c: Likewise.
23194 * grub-core/commands/i386/pc/halt.c: Likewise.
23195 * grub-core/commands/i386/pc/sendkey.c: Likewise.
23196 * grub-core/commands/iorw.c: Likewise.
23197 * grub-core/commands/keystatus.c: Likewise.
23198 * grub-core/commands/loadenv.c: Likewise.
23199 * grub-core/commands/ls.c: Likewise.
23200 * grub-core/commands/lspci.c: Likewise.
23201 * grub-core/commands/memrw.c: Likewise.
23202 * grub-core/commands/probe.c: Likewise.
23203 * grub-core/commands/search_wrap.c: Likewise.
23204 * grub-core/commands/setpci.c: Likewise.
23205 * grub-core/commands/sleep.c: Likewise.
23206 * grub-core/disk/loopback.c: Likewise.
23207 * grub-core/hello/hello.c: Likewise.
23208 * grub-core/loader/i386/bsd.c: Likewise.
23209 * grub-core/loader/xnu.c: Likewise.
23210 * grub-core/term/gfxterm.c: Likewise.
23211 * grub-core/term/serial.c: Likewise.
23212 * grub-core/tests/lib/functional_test.c: Likewise.
23213
888d1500
BC
232142010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23215
23216 Multi-line quoted strings support.
23217
23218 * grub-core/script/lexer.c (append_newline): Removed.
23219 (grub_script_lexer_yywrap): Refactored.
23220 (grub_script_lexer_init): Refactored.
23221 * grub-core/script/yylex.l (yywrap): New function.
23222 (grub_lexer_resplit): New function.
23223 (grub_lexer_unput): New function.
23224 * include/grub/script_sh.h (grub_lexer_param): New members, unput
23225 and resplit.
23226 * tests/grub_script_echo1.in: Added few more testcases.
23227
dda060dd
VS
232282010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23229
23230 * grub-core/kern/misc.c: Don't add abort alias in utils.
23231 Reported by: echoline.
23232
6556eba9
BC
232332010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
23234
23235 Add missing files into "make dist" tarball for other platforms.
23236
23237 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
23238 * conf/Makefile.common (dist_noinst_DATA): New variable.
23239 * conf/Makefile.extra-dist: Added missing make dist files.
23240 * grub-core/Makefile.core.def: Likewise.
23241
c8e7bf5f
VS
232422010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23243
23244 Compress grub_prefix.
23245
23246 * grub-core/boot/i386/pc/lnxboot.S: Use
23247 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
23248 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
23249 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
23250 GRUB_MACHINE_PREFIX_END. All users updated.
23251 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
23252 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
23253 + 0x40.
23254 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
23255 * util/grub-mkimage.c (image_target_desc): Change data_end to
23256 prefix_end. All users updated.
23257
a7c00cdb
VS
232582010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23259
23260 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
23261 value.
23262 (grub_openbsd_boot): Likewise.
23263 (grub_netbsd_boot): Likewise.
23264 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
23265 (grub_xnu_boot): Likewise.
23266
9f915872
VS
232672010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23268
23269 * configure.ac: Clean LIBS variable after tests.
23270
efa1bee7
CW
232712010-09-02 Colin Watson <cjwatson@ubuntu.com>
23272
23273 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
23274
61d720e5
VS
232752010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23276
23277 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
23278 echo if libdevmapper will be used.
23279
ef8e0ec8
IT
232802010-09-02 Ian Turner <Ian.Turner@deshaw.com>
23281
23282 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
23283 constant for the same file.
23284
03e261d8
VS
232852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23286
23287 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
23288
c2a4eba6
CW
232892010-09-02 Colin Watson <cjwatson@ubuntu.com>
23290
23291 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
23292 grub-core/*.pp.
23293
9056cbf3
CW
232942010-09-02 Colin Watson <cjwatson@ubuntu.com>
23295
23296 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
23297 required by the boot protocol.
23298
23299 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
23300 ebp and edi members.
23301 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
23302 state.ebp and state.edi.
23303 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
23304 %ebp and %edi according to grub_relocator32_ebp and
23305 grub_relocator32_edi respectively.
23306 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
23307 and state.edi.
23308
529cc99a
VS
233092010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23310
23311 Add i386-pc-pxe image target.
23312
23313 * util/grub-mkimage.c (image_target_desc): New enum value
23314 IMAGE_I386_PC_PXE.
23315 (image_targets): New target i386-pc-pxe.
23316 (generate_image): Handle i386-pc-pxe image.
23317
9a093920
VS
233182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23319
23320 Fix grub_pxe_scan.
23321
23322 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
23323 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
23324 All users updated.
23325 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
23326 (grub_pxe_pxenv): Correct type.
23327
f9cefc4e
CW
233282010-09-01 Colin Watson <cjwatson@ubuntu.com>
23329
23330 * NEWS: Document most of the important changes since 1.98.
23331
4066f57f
CW
233322010-09-01 Colin Watson <cjwatson@ubuntu.com>
23333
23334 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
23335 generated manual page) a little.
23336
da2891f9
CW
233372010-09-01 Colin Watson <cjwatson@ubuntu.com>
23338
23339 * docs/grub.texi: Add myself as an author.
23340
ad717fae
VS
233412010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23342
23343 * Makefile.util.def (libgrub.a): Add missing sunpc.
23344 Reported by: Seth Goldberg.
23345
eefe8abd
VS
233462010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23347
23348 Interrupt wrapping and code simplifications.
23349
9494ef9a
VS
23350 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
23351 x86_noieee1275 which are functionaly equivalent in this case.
23352 (grub-install): Make source on each platform explicit. Enable on
23353 all noemu.
23354 * gentpl.py (x86_efi_pc): Removed group.
23355 (x86_noefi): Likewise.
23356 (i386_noefi): Likewise.
23357 (x86_noieee1275): Likewise.
23358 (i386_noieee1275): Likewise.
23359 (i386_noefi_noieee1275): Likewise.
23360 (i386_pc_qemu_coreboot): Likewise.
23361 (i386_coreboot_multiboot): Likewise.
23362 (i386_pc_coreboot_multiboot_qemu): Likewise.
23363 (x86_noefi_mips): Likewise.
23364 (noieee1275): Likewise.
23365 (ieee1275_mips): Likewise.
23366 (noemu_noieee1275): Likewise.
23367 (cmos): New group.
23368 (usb): Likewise.
23369 (videoinkernel): Likewise.
23370 (videomodules): Likewise.
eefe8abd 23371 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
23372 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
23373 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
23374 include/grub/loader.h, include/grub/msdos_partition.h,
23375 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
23376 include/grub/machine/console.h, include/grub/machine/vga.h,
23377 include/grub/machine/vbe.h, include/grub/machine/init.h,
23378 include/grub/machine/kernel.h, include/grub/cpu/time.h,
23379 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 23380 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
23381 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
23382 * grub-core/Makefile.core.def (kernel): Explicit the source for
23383 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
23384 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
23385 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
23386 Use videoinkernel tag.
23387 (usb): Enable on all usb.
23388 (usbserial_common): Likewise.
23389 (usbserial_pl2303): Likewise.
23390 (usbserial_ftdi): Likewise.
23391 (uhci): Enable on all x86.
23392 (ohci): Enable on all pci.
23393 (cmostest): Enable on all CMOS.
23394 (acpi): Include commands/acpi.c on all platforms.
23395 (halt): Add relevant lib/*/halt.c.
23396 (hdparm): Enable on all pci.
23397 (lspci): Likewise.
23398 (usbtest): Enable on all usb.
23399 (ata): Enable on all pci.
23400 (ata_pthru): Likewise.
23401 (usbms): Enable on all usb.
23402 (usb_keyboard): Likewise.
23403 (font): Use tag videomodules.
23404 (bufio): Likewise.
23405 (datetime): Use tag cmos. Enable on all noemu.
23406 (mmap): Use tags common and x86.
23407 (gfxterm): Use tag videomodules.
23408 (bitmap): Likewise.
23409 (bitmap_scale): Likewise.
23410 (video_fb): Likewise.
23411 (video): Likewise.
23412 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
23413 adjust padding accordingly. All users updated.
23414 (grub_ohci_transaction): Fix bad format specification.
23415 (GRUB_MOD_INIT): Add asserts for struct size.
23416 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
23417 (grub_alloc_td): Likewise.
23418 (grub_free_queue): Likewise.
23419 (grub_uhci_transfer): Likewise.
23420 (grub_uhci_transaction): Fix bad format specification.
23421 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23422 (grub_usb_bulk_readwrite): Likewise.
23423 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
23424 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
23425 Made static.
23426 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
23427 Made static.
23428 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
23429 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
23430 Transformed into C.
23431 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
23432 Moved from here ...
23433 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
23434 ... here. Transformed into C. Made static.
23435 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
23436 Moved from here ...
23437 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
23438 ... here. Transformed into C. Made static.
23439 * grub-core/kern/i386/pc/startup.S
23440 (grub_biosdisk_check_int13_extensions): Moved from here ...
23441 * grub-core/disk/i386/pc/biosdisk.c
23442 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
23443 Made static.
23444 * grub-core/kern/i386/pc/startup.S
23445 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
23446 * grub-core/disk/i386/pc/biosdisk.c
23447 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
23448 Transformed into C. Made static.
23449 * grub-core/kern/i386/pc/startup.S
23450 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
23451 * grub-core/disk/i386/pc/biosdisk.c
23452 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
23453 Transformed into C. Made static.
23454 * grub-core/kern/i386/pc/startup.S
23455 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
23456 * grub-core/disk/i386/pc/biosdisk.c
23457 (grub_biosdisk_get_diskinfo_standard): ... here.
23458 Transformed into C. Made static.
23459 * grub-core/kern/i386/pc/startup.S
23460 (grub_biosdisk_get_num_floppies): Moved from here ...
23461 * grub-core/disk/i386/pc/biosdisk.c
23462 (grub_biosdisk_get_num_floppies): ... here.
23463 Transformed into C. Made static.
23464 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
23465 New function.
23466 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
23467 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
23468 Transformed into C. Made static.
23469 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
23470 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
23471 Transformed into C. Made static.
23472 * grub-core/kern/i386/ieee1275/init.c: Removed.
23473 * grub-core/kern/i386/misc.S: Likewise.
23474 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
23475 Splitted from here ...
23476 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
23477 Transformed into C. Made static. All users updated.
23478 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
23479 Transformed into C. Made static. All users updated.
23480 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
23481 Moved from here...
23482 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
23483 Transformed into C. Made static. All users updated.
23484 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
23485 Moved from here...
23486 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
23487 Transformed into C. Made static. All users updated.
23488 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
23489 Removed (replaced by C version).
23490 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
23491 Moved from here...
23492 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
23493 Transformed into C. Made static.
23494 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
23495 Moved from here...
23496 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
23497 ... here. Transformed into C.
23498 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
23499 Moved from here...
23500 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
23501 ... here. Transformed into C.
23502 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
23503 Moved from here...
23504 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
23505 ... here. Transformed into C. Made static.
23506 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
23507 Moved from here...
23508 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
23509 ... here. Transformed into C.
21ed554b
VS
23510 * grub-core/kern/i386/pc/startup.S
23511 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
23512 * grub-core/video/i386/pc/vbe.c
23513 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
23514 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
23515 Moved from here...
23516 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
23517 ... here. Transformed into C.
23518 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
23519 Moved from here...
23520 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
23521 ... here. Transformed into C.
23522 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
23523 Moved from here...
23524 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
23525 ... here. Transformed into C.
23526 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
23527 Moved from here...
23528 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
23529 ... here. Transformed into C.
23530 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
23531 Moved from here...
23532 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
23533 ... here. Transformed into C. Made static.
23534 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
23535 Moved from here...
23536 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
23537 ... here. Transformed into C. Made static.
23538 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
23539 Moved from here...
23540 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
23541 ... here. Transformed into C. Made static.
23542 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
23543 pxe_rm_entry as third argument.
23544 (grub_bios_interrupt): New function.
23545 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
23546 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
23547 of calling grub_stop.
23548 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
23549 * grub-core/lib/efi/halt.c (grub_halt): ...here.
23550 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
23551 * grub-core/lib/emu/halt.c (grub_halt): ... here.
23552 * grub-core/lib/i386/halt.c: Moved from here ...
23553 * grub-core/lib/i386/halt.c: ... here.
23554 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
23555 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
23556 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
23557 grub_stop_floppy.
23558 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
23559 * include/grub/i386/coreboot/init.h: Removed.
23560 * include/grub/i386/multiboot/init.h: Likewise.
23561 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
23562 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
23563 * include/grub/i386/pc/int.h: New file.
23564 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
23565 (grub_pxe_scan): Removed.
23566 (grub_pxe_call): Update prototype.
23567 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
23568 prototypes.
23569 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
23570 * include/grub/i386/qemu/init.h: Removed.
23571 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
23572 noreturn.
23573 (grub_halt): Likewise.
23574 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
23575 (grub_reboot): Likewise.
23576 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
23577 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
23578 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
23579
215dd471
RM
235802010-08-30 Robert Millan <rmh@gnu.org>
23581
23582 * NEWS: Document addition of ZFS support in `grub-install' and
23583 `grub-mkconfig'.
23584
ebd65b82
BC
235852010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
23586
23587 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
23588 dprintf output.
23589
11721d19
VS
235902010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23591
23592 Remove leftover embedding of font objects.
23593
23594 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23595 * util/grub-install.in (font): Removed.
23596 * util/grub-mkimage.c (generate_image): Remove font support. All users
23597 updated.
23598
37837d4e
VS
235992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23600
23601 Remove leftover embedding of font objects.
23602
23603 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23604 * util/grub-install.in (font): Removed.
23605 * util/grub-mkimage.c (generate_image): Remove font support. All users
23606 updated.
23607
b4c1aae0
VS
236082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23609
23610 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 23611 Reported by: Ian Turner
b4c1aae0 23612
8920a08d
VS
236132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23614
23615 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23616 timeout to avoid indefinite boot stalling.
23617
f21db033
VS
236182010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23619
23620 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23621 (grub_env_write_color_highlight): Likewise.
23622
9a9de209
VS
236232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23624
23625 * grub-core/normal/term.c (print_more): Return to normal and not
23626 to standard state after printing "---MORE---".
23627
3dca01d7
VS
236282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23629
23630 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23631 Mask out the bit 0x80 since it has other meaning that specifiing color.
23632
0b986c40
VS
236332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23634
23635 New relocator. Allows for more kernel support and more straightforward
23636 loader writing.
23637
23638 * Makefile.am (BOOTTARGET): New variable.
23639 (QEMU32): Likewise.
23640 (linux.init.x86_64): New target.
23641 (linux.init.i386): Likewise.
23642 (multiboot.elf): Likewise.
23643 (kfreebsd.elf): Likewise.
23644 (kfreebsd.aout): Likewise.
23645 (pc-chainloader.elf): Likewise.
23646 (pc-chainloader.bin): Likewise.
23647 (ntldr.elf): Likewise.
23648 (ntldr.bin): Likewise.
23649 (multiboot2.elf): Likewise.
23650 (kfreebsd.init.x86_64): Likewise.
23651 (kfreebsd.init.i386): Likewise.
23652 (knetbsd.init.i386): Likewise.
23653 (kopenbsd.init.i386): Likewise.
23654 (knetbsd.init.x86_64): Likewise.
23655 (kopenbsd.init.x86_64): Likewise.
23656 (linux-initramfs.i386): Likewise.
23657 (linux-initramfs.x86_64): Likewise.
23658 (kfreebsd-mfsroot.i386.img): Likewise.
23659 (knetbsd.image.i386): Likewise.
23660 (kopenbsd.image.i386): Likewise.
23661 (kopenbsd.image.x86_64): Likewise.
23662 (knetbsd.miniroot-image.i386.img): Likewise.
23663 (kfreebsd-mfsroot.x86_64.img): Likewise.
23664 (knetbsd.image.x86_64): Likewise.
23665 (knetbsd.miniroot-image.x86_64.img): Likewise.
23666 (kfreebsd-mfsroot.i386.gz): Likewise.
23667 (bootcheck-kfreebsd-i386): Likewise.
23668 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23669 (bootcheck-kfreebsd-x86_64): Likewise.
23670 (knetbsd.miniroot-image.i386.gz): Likewise.
23671 (bootcheck-knetbsd-i386): Likewise.
23672 (bootcheck-kopenbsd-i386): Likewise.
23673 (bootcheck-kopenbsd-x86_64): Likewise.
23674 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23675 (bootcheck-knetbsd-x86_64): Likewise.
23676 (bootcheck-linux-i386): Likewise.
23677 (bootcheck-linux-x86_64): Likewise.
23678 (bootcheck-linux16-i386): Likewise.
23679 (bootcheck-linux16-x86_64): Likewise.
23680 (bootcheck-multiboot): Likewise.
23681 (bootcheck-multiboot2): Likewise.
23682 (bootcheck-kfreebsd-aout): Likewise.
23683 (bootcheck-pc-chainloader): Likewise.
23684 (bootcheck-ntldr): Likewise.
23685 (CLEANFILES): Add new targets.
23686 (BOOTCHECKS): New variable.
23687 (.PHONY): Add bootchecks.
23688 (SUCCESSFUL_BOOT_STRING): New variable.
23689 (BOOTCHECK_TIMEOUT): Likewise.
23690 (bootcheck): New target
23691 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23692 * configure.ac: Correct efiemu excuse.
23693 * docs/grub.texi (Supported kernels): New chapter.
23694 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23695 include/grub/mm_private.h. Simplify inclusion of
23696 include/grub/boot.h, include/grub/loader.h
23697 and include/grub/msdos_partition.h
23698 (KERNEL_HEADER_FILES) [i386_coreboot]:
23699 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23700 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23701 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23702 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23703 include/grub/machine/loader.h.
23704 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23705 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23706 extra_dist.
23707 (pci.mod): Enable on i386-multiboot.
23708 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23709 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23710 i386-qemu.
23711 (relocator.mod): Rewritten.
23712 (aout.mod): Enable on all x86.
23713 (bsd.mod): Likewise.
23714 (ntldr.mod): New module.
23715 (linux.mod): Use loader/i386/linux.c on all x86.
23716 (xnu.mod): Enable on all x86.
23717 (vga_text.mod): disable on EFI and QEMU.
23718 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23719 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23720 * grub-core/efiemu/loadcore.c: Likewise.
23721 * grub-core/efiemu/main.c: Likewise.
23722 (grub_efiemu_exit_boot_services): Removed.
23723 (grub_efiemu_finish_boot_services): Likewise.
23724 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
23725 function.
23726 * grub-core/efiemu/i386/nocfgtables.c: New file.
23727 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
23728 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
23729 (grub_efi_finish_boot_services): Moved from here ...
23730 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
23731 Fille finish memory map and related data.
23732 (finish_mmap_buf): New variable.
23733 (grub_efi_uintn_t finish_mmap_size): Likewise.
23734 (grub_efi_uintn_t finish_key): Likewise.
23735 (grub_efi_uintn_t finish_desc_size): Likewise.
23736 (grub_efi_uint32_t finish_desc_version): Likewise.
23737 (grub_efi_is_finished): Likewise.
23738 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23739 finished.
23740 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23741 (grub_elf64_phdr_iterate): Likewise.
23742 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23743 (grub_os_area_size): Likewise.
23744 (grub_machine_init): Don't reserve os area.
23745 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23746 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23747 * grub-core/kern/i386/loader.S: Removed.
23748 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23749 (grub_os_area_size): Likewise.
23750 (grub_machine_init): Don't reserve os area.
23751 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
23752 Don't call grub_dl_unload_all.
23753 Don't include loader.S.
23754 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
23755 Declare the memory after _end as available.
23756 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 23757 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 23758 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
23759 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
23760 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
23761 * include/grub/mm_private.h (grub_mm_header): ... here.
23762 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
23763 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
23764 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23765 (grub_mm_region): ..here. Removed addr. Added pre_size.
23766 All users updated.
23767 * grub-core/kern/mm.c (base): Renamed to ...
23768 (grub_mm_base): ... this. Made global.
23769 (grub_real_malloc): Alloc from end of region.
23770 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23771 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23772 * grub-core/kern/powerpc/cache_flush.S: ... here.
23773 * grub-core/lib/efi/relocator.c: New file.
23774 * grub-core/lib/i386/relocator.c: Rewritten.
23775 * grub-core/lib/i386/relocator16.S: New file.
23776 * grub-core/lib/i386/relocator32.S: Likewise.
23777 * grub-core/lib/i386/relocator64.S: Likewise.
23778 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23779 * grub-core/lib/i386/relocator_common.S: New file.
23780 * grub-core/lib/ieee1275/relocator.c: Likewise.
23781 * grub-core/lib/mips/relocator.c: Rewritten.
23782 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23783 stylistic adjustments.
23784 * grub-core/lib/powerpc/relocator.c: New file.
23785 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23786 * grub-core/lib/relocator.c: Rewritten.
23787 * grub-core/lib/x86_64/relocator_asm.S: New file.
23788 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23789 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23790 (bsd_tag): New struct.
23791 (tags): New variable.
23792 (tags_last): Likewise.
23793 (netbsd_module): New struct.
23794 (netbsd_mods): New variable.
23795 (netbsd_mods_last): Likewise.
23796 (openbsd_opts): New parameter "serial".
23797 (OPENBSD_SERIAL_ARG): New definition.
23798 (netbsd_opts): New parameter "serial".
23799 (NETBSD_SERIAL_ARG): New definition.
23800 (grub_freebsd_add_meta): Reorganised into ...
23801 (grub_bsd_add_meta): ...this. All users updated.
23802 (grub_freebsd_add_mmap): Reorganised into ...
23803 (generate_e820_mmap): ...this...
23804 (grub_bsd_add_mmap): ...and this. All users updated.
23805 (grub_freebsd_list_modules): Use tags.
23806 (grub_netbsd_add_meta_module): New function.
23807 (grub_netbsd_list_modules): Likewise.
23808 (grub_freebsd_boot): Use relocator and finish EFI.
23809 (grub_openbsd_boot): Likewise.
23810 (grub_netbsd_setup_video): New function.
23811 (grub_netbsd_add_modules): Likewise.
23812 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23813 and finish EFI.
23814 (grub_bsd_unload): Unload tags.
23815 (grub_bsd_load_aout): Use relocator.
23816 (grub_bsd_elf32_size_hook): New function.
23817 (grub_bsd_elf32_hook): Use relocator.
23818 (grub_bsd_elf64_size_hook): New function.
23819 (grub_bsd_elf64_hook): Use relocator.
23820 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23821 (grub_bsd_load): Zero-out openbsd_ramdisk.
23822 (grub_bsd_load): Use relocator.
23823 (grub_cmd_openbsd): Support serial.
23824 (grub_cmd_netbsd): Support modules.
23825 (grub_cmd_freebsd_module): Use relocator.
23826 (grub_netbsd_module_load): New function.
23827 (grub_cmd_netbsd_module): Likewise.
23828 (grub_cmd_openbsd_ramdisk): Likewise.
23829 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23830 kopenbsd_ramdisk.
23831 (GRUB_MOD_FINI): Unregister new commands.
23832 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23833 (grub_freebsd_load_elfmodule_obj): Use relocator.
23834 (grub_freebsd_load_elfmodule): Likewise.
23835 (grub_freebsd_load_elf_meta): Likewise.
23836 (grub_netbsd_load_elf_meta): New function.
23837 (grub_openbsd_find_ramdisk): Likewise.
23838 * grub-core/loader/i386/bsd_helper.S: Removed.
23839 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23840 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23841 * grub-core/loader/i386/efi/linux.c: Likewise.
23842 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23843 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23844 (DEFAULT_VIDEO_MODE): Likewise.
23845 (real_mode_target): New variable.
23846 (prot_mode_target): Likewise.
23847 (initrd_mem_target): Likewise.
23848 (relocator): Likewise.
23849 (efi_mmap_buf): Likewise.
23850 (efi_mmap_size): Likewise.
23851 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23852 (free_pages): Use relocator.
23853 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23854 (grub_linux_setup_video): Return error.
23855 (grub_linux_trampoline_start): Removed.
23856 (grub_linux_trampoline_end): Likewise.
23857 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23858 andd video parameters depending on firmware.
23859 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23860 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23861 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23862 (grub_cmd_initrd): Use relocator.
23863 * grub-core/loader/i386/linux_trampoline.S: Removed.
23864 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23865 (elf_sec_entsize): Likewise.
23866 (elf_sec_shstrndx): Likewise.
23867 (elf_sections): Likewise.
23868 (grub_multiboot_load): Use relocator.
23869 (grub_multiboot_get_mbi_size): Account for sections.
23870 (grub_multiboot_make_mbi): Use relocator and support sections.
23871 (grub_multiboot_add_elfsyms): New function.
23872 (grub_multiboot_free_mbi): Free sections.
23873 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23874 (grub_linux_real_target): Likewise.
23875 (grub_linux_real_chunk): Likewise.
23876 (grub_linux16_prot_size): Likewise.
23877 (grub_linux16_boot): Use relocator.
23878 (grub_linux_unload): Unload relocator.
23879 (grub_cmd_linux): Use relocator.
23880 (grub_cmd_initrd): Likewise.
23881 * grub-core/loader/i386/pc/ntldr.c: New file.
23882 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23883 Don't try to guess CPU frequency.
23884 (grub_xnu_set_video): Stretch bitmap.
23885 (grub_xnu_boot): Use relocator.
23886 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23887 (grub_linux_unload): Free relocator.
23888 (grub_linux_load32): Use relocator.
23889 (grub_linux_load64): Likewise.
23890 (grub_cmd_initrd): Likewise.
23891 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23892 (grub_multiboot_unload): Unload relocator.
23893 (grub_cmd_multiboot): Use relocator.
23894 (grub_cmd_module): Likewise.
23895 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23896 Use relocator and support sections.
23897 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23898 (elf_sec_entsize): Likewise.
23899 (elf_sec_shstrndx): Likewise.
23900 (elf_sections): Likewise.
23901 (grub_multiboot_load): Use relocator.
23902 (grub_multiboot_get_mbi_size): Account for sections.
23903 (grub_multiboot_make_mbi): Use relocator and support sections.
23904 (grub_multiboot_add_elfsyms): New function.
23905 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23906 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23907 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23908 Prototype changed. All users updated.
23909 (grub_xnu_align_heap): Simplified.
23910 (grub_xnu_writetree_toheap): Likewise.
23911 (grub_xnu_unload): Unload relocator.
23912 (grub_cmd_xnu_kernel): Use relocator.
23913 (grub_cmd_xnu_kernel64): Likewise.
23914 (grub_xnu_register_memory): Simplified.
23915 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23916 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23917 EFI is finished.
23918 (grub_console_checkkey): Likewise.
23919 (grub_console_getkey): Likewise.
23920 (grub_console_getwh): Likewise.
23921 (grub_console_getxy): Likewise.
23922 (grub_console_gotoxy): Likewise.
23923 (grub_console_cls): Likewise.
23924 (grub_console_setcolorstate): Likewise.
23925 (grub_console_setcursor): Likewise.
23926 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23927 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23928 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23929 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23930 * grub-core/tests/boot/kernel-8086.S: Likewise.
23931 * grub-core/tests/boot/kernel-i386.S: Likewise.
23932 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23933 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23934 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23935 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23936 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23937 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23938 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23939 * grub-core/tests/boot/linux.cfg: Likewise.
23940 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23941 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23942 * grub-core/tests/boot/linux16.cfg: Likewise.
23943 * grub-core/tests/boot/multiboot.cfg: Likewise.
23944 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23945 * grub-core/tests/boot/ntldr.cfg: Likewise.
23946 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23947 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23948 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23949 New definition.
23950 * include/grub/dl.h (grub_dl_unload_all): Removed.
23951 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23952 (grub_efi_finish_boot_services): Change prototype.
23953 (grub_efi_is_finished): New variable.
23954 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23955 Changed prototype.
23956 (grub_efiemu_finish_boot_services): Removed.
23957 (grub_machine_efiemu_init_tables): New prototype.
23958 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23959 (grub_elf64_phdr_iterate): Likewise.
23960 * include/grub/i386/bsd.h: Include relocator.h.
23961 (freebsd_tag_header): New struct.
23962 (grub_openbsd_bios_mmap): Removed.
23963 (grub_unix_real_boot): Removed.
23964 (grub_freebsd_load_elfmodule32): Changed prototype.
23965 (grub_freebsd_load_elfmodule_obj64): Likewise.
23966 (grub_freebsd_load_elf_meta32): Likewise.
23967 (grub_freebsd_load_elf_meta64): Likewise.
23968 (grub_freebsd_add_meta): Removed.
23969 (grub_netbsd_load_elf_meta32): New prototype.
23970 (grub_netbsd_load_elf_meta64): Likewise.
23971 (grub_bsd_add_meta): Likewise.
23972 (grub_openbsd_ramdisk_descriptor): New struct.
23973 (grub_openbsd_find_ramdisk32): New prototype.
23974 (grub_openbsd_find_ramdisk64): Likewise.
23975 * include/grub/i386/coreboot/loader.h: Removed.
23976 * include/grub/i386/efi/loader.h: Likewise.
23977 * include/grub/i386/ieee1275/loader.h: Likewise.
23978 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23979 to grub_uint32_t.
23980 * include/grub/i386/loader.h: Removed.
23981 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23982 value.
23983 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23984 (grub_phys_addr_t): New type.
23985 (grub_vtop): New inline function.
23986 (grub_map_memory): Likewise.
23987 (grub_unmap_memory): Likewise.
23988 * include/grub/i386/multiboot/loader.h: Removed.
23989 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23990 (NETBSD_BTINFO_CONSOLE): New definition.
23991 (NETBSD_BTINFO_SYMTAB): Likewise.
23992 (NETBSD_BTINFO_MODULES): Likewise.
23993 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23994 (grub_netbsd_bootinfo): New struct.
23995 (grub_netbsd_btinfo_common): Use explicit bitsize.
23996 (grub_netbsd_btinfo_mmap_entry): Removed.
23997 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23998 (grub_netbsd_btinfo_bootdisk): New struct.
23999 (grub_netbsd_btinfo_symtab): Likewise.
24000 (grub_netbsd_btinfo_serial): Likewise.
24001 (grub_netbsd_btinfo_modules): Likewise.
24002 (grub_netbsd_btinfo_framebuf): Likewise.
24003 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
24004 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
24005 Likewise.
24006 (grub_openbsd_bootargs): Use explicit bitsize.
24007 (grub_openbsd_bootarg_console): New struct.
24008 (GRUB_OPENBSD_COM_MAJOR): New definition.
24009 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
24010 * include/grub/i386/pc/efiemu.h: Removed.
24011 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
24012 * include/grub/i386/qemu/loader.h: Removed.
24013 * include/grub/i386/relocator.h: Rewritten.
24014 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
24015 * include/grub/mips/memory.h: New file.
24016 * include/grub/mips/multiboot.h: Rewritten.
24017 * include/grub/mips/relocator.h: Rewritten.
24018 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
24019 (grub_vtop): New function.
24020 (grub_map_memory): Likewise.
24021 (grub_unmap_memory): Likewise.
24022 * include/grub/misc.h (ALIGN_DOWN): New definition.
24023 * include/grub/mm.h (grub_mm_check_real): New proto.
24024 (GRUB_MM_CHECK): New definition.
24025 * include/grub/mm_private.h: New file.
24026 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
24027 (grub_multiboot_get_mbi_size): Removed.
24028 (grub_multiboot_make_mbi): Change prottype.
24029 (grub_multiboot_set_accepts_video): New proto.
24030 (grub_multiboot_add_elfsyms): Likewise.
24031 (grub_multiboot_payload_eip): New variable.
24032 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
24033 New prototype.
24034 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
24035 New definition.
24036 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
24037 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
24038 * include/grub/powerpc/ieee1275/loader.h: Removed.
24039 * include/grub/powerpc/memory.h: New file.
24040 * include/grub/powerpc/relocator.h: Likewise.
24041 * include/grub/relocator.h: Likewise.
24042 * include/grub/relocator_private.h: Likewise.
24043 * include/grub/sparc64/ieee1275/loader.h: Removed.
24044 * include/grub/x86_64/memory.h: New file.
24045 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
24046 (grub_xnu_heap_malloc): Likewise.
24047 (grub_xnu_heap_real_start): Removed.
24048 (grub_xnu_heap_start): Likewise.
24049 (grub_xnu_relocator): New variable.
24050 (grub_xnu_heap_target_start): Likewise.
24051 * tests/util/grub-shell.in: Support non-pc.
24052 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 24053
5303b85d
VS
240542010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24055
24056 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
24057 on malloc error.
24058 (grub_bidi_logical_to_visual): Check that malloc succeded.
24059 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
24060 puts.
24061 (grub_xputs_normal): Likewise.
24062
d768d159
VS
240632010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24064
24065 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
24066 extra_dist.
24067
240682010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24069
24070 * grub-core/efiemu/runtime/efiemu.sh: Removed.
24071
5bf84df4
VS
240722010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24073
24074 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
24075
3626810e
VS
240762010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24077
24078 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
24079 dprintf.
24080
a7363f53
BC
240812010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
24082
24083 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
24084
902f75f6
VS
240852010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24086
24087 * grub-core/normal/term.c (print_more): Fix a memory leak.
24088 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
24089 (grub_xputs_normal): Likewise.
24090
3c707967
VS
240912010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24092
24093 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
24094 the begining of the string
24095
2053cc07
VS
240962010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24097
24098 * grub-core/script/script.c (grub_script_parse): Free parsed on
24099 failure.
24100
46422ebf
VS
241012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24102
24103 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
24104 on failure.
24105
9e0fa3f6
VS
241062010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24107
24108 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
24109 return.
24110
3393cf16
VS
241112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24112
24113 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
24114 (scroll_up): Fix a memory leak.
24115
b17540cb
VS
241162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24117
24118 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
24119 errors.
24120
67140446
VS
241212010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
24122
24123 Handle USB pendrives exposed as floppies.
24124
24125 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
24126 floppy.
24127 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24128 Check for partitions on all devices.
24129
e35e46fc
VS
241302010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24131
24132 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
24133 (readkey): Likewise.
24134
d24c6190
BC
241352010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
24136
24137 Multiple variable names support to "export" command.
24138
24139 * normal/context.c (grub_cmd_export): "export" command supports
24140 multiple variable names.
24141
04ddcc6a
ST
241422010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
24143
24144 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
24145 --target=drive output to Mach device name.
24146
0c8b61d8
BC
241472010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24148
24149 New Automake based build system for GRUB.
24150
24151 * ABOUT-NLS: New file.
24152 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
24153 in Makefile.util.def file.
24154 * Makefile.util.def: New file. Autogen build definitions file for
24155 GRUB host utils.
24156 * conf/Makefile.common: New file. Common variables for GRUB host
24157 utils and target modules.
24158 * conf/Makefile.extra-dist: New file. Extra files for make dist.
24159 * docs/Makefile.am: New file. Automake file for docs.
24160 * gentpl.py: New file. Python script to generate Autogen
24161 template.
24162 * grub-core/Makefile.am: New file. GRUB target modules' rules
24163 that doesn't fit in Makefile.core.def file.
24164 * grub-core/Makefile.core.def: New file. Autogen build
24165 definitions file for GRUB target modules.
24166 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
24167 specific setjmp.S file.
24168 * po/Makefile.am: New file.
24169
24170 * .bzrignore: New ignores.
24171 * INSTALL: New requirements, without Ruby.
24172 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
24173 * autogen.sh: Updated to invoke autogen as necessary.
24174 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
24175 and defines for Automake conditionals.
24176 * geninit.sh: Refactoring.
24177
24178 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
24179 necessary.
24180 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
24181 New prototype.
24182
24183 * include/grub/test.h: Fix functional test modules' naming.
24184 * grub-core/tests/example_functional_test.c: Fix test module name.
24185
24186 * util/misc.c: Hosted versions' of grub functions for libgrub.a
24187 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
24188 * util/grub-editenv.c: Likewise.
24189 * util/grub-fstest.c: Likewise.
24190 * util/grub-mkdevicemap.c: Likewise.
24191 * util/grub-mkfont.c: Likewise.
24192 * util/grub-mkimage.c: Likewise.
24193 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24194 * util/grub-probe.c: Likewise.
24195 * util/grub-script-check.c: Likewise.
24196 * util/i386/pc/grub-setup.c: Likewise.
24197 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24198
24199 * tests/util/grub-shell.in: Fix override directory path.
24200 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
24201 * util/import_gcry.py: Create Makefile.gcry.def file instead.
24202
24203 * util/lvm.c: Update #includes.
24204 * util/raid.c: Likewise.
24205 * util/resolve.c: Likewise.
24206 * grub-core/bus/emu/pci.c: Likewise.
24207 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
24208 * grub-core/lib/posix_wrap/string.h: Likewise.
24209 * grub-core/kern/emu/main.c: Likewise.
24210
24211 * grub-core/gensymlist.sh: New file. Script for generating kernel
24212 symbols file.
24213 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
24214
24215 * grub-core/gentrigtables.c: Fix unused variable warnings.
24216
24217 * Makefile.in: Removed.
24218 * conf/any-emu.rmk: Removed.
24219 * conf/common.rmk: Removed.
24220 * conf/i386-coreboot.rmk: Removed.
24221 * conf/i386-efi.rmk: Removed.
24222 * conf/i386-ieee1275.rmk: Removed.
24223 * conf/i386-multiboot.rmk: Removed.
24224 * conf/i386-pc.rmk: Removed.
24225 * conf/i386-qemu.rmk: Removed.
24226 * conf/i386.rmk: Removed.
24227 * conf/mips-yeeloong.rmk: Removed.
24228 * conf/mips.rmk: Removed.
24229 * conf/powerpc-ieee1275.rmk: Removed.
24230 * conf/sparc64-ieee1275.rmk: Removed.
24231 * conf/tests.rmk: Removed.
24232 * conf/x86-efi.rmk: Removed.
24233 * conf/x86_64-efi.rmk: Removed.
24234 * gendistlist.sh: Removed.
24235 * geninitheader.sh: Removed.
24236 * genkernsyms.sh.in: Removed.
24237 * genmk.rb: Removed.
24238 * gensymlist.sh.in: Removed.
24239 * mkinstalldirs: Removed.
24240 * boot: Moved ...
24241 * grub-core/boot: ... to here.
24242 * bus: Moved ...
24243 * grub-core/bus: ... to here.
24244 * commands: Moved ...
24245 * grub-core/commands: ... to here.
24246 * disk: Moved ...
24247 * grub-core/disk: ... to here.
24248 * efiemu: Moved ...
24249 * grub-core/efiemu: ... to here.
24250 * font: Moved ...
24251 * grub-core/font: ... to here.
24252 * fs: Moved ...
24253 * grub-core/fs: ... to here.
24254 * gencmdlist.sh: Moved ...
24255 * grub-core/gencmdlist.sh: ... to here.
24256 * genemuinit.sh: Moved ...
24257 * grub-core/genemuinit.sh: ... to here.
24258 * genemuinitheader.sh: Moved ...
24259 * grub-core/genemuinitheader.sh: ... to here.
24260 * genfslist.sh: Moved ...
24261 * grub-core/genfslist.sh: ... to here.
24262 * genhandlerlist.sh: Moved ...
24263 * grub-core/genhandlerlist.sh: ... to here.
24264 * genmoddep.awk: Moved ...
24265 * grub-core/genmoddep.awk: ... to here.
24266 * genmodsrc.sh: Moved ...
24267 * grub-core/genmodsrc.sh: ... to here.
24268 * genpartmaplist.sh: Moved ...
24269 * grub-core/genpartmaplist.sh: ... to here.
24270 * genparttoollist.sh: Moved ...
24271 * grub-core/genparttoollist.sh: ... to here.
24272 * genterminallist.sh: Moved ...
24273 * grub-core/genterminallist.sh: ... to here.
24274 * gentrigtables.c: Moved ...
24275 * grub-core/gentrigtables.c: ... to here.
24276 * genvideolist.sh: Moved ...
24277 * grub-core/genvideolist.sh: ... to here.
24278 * gettext: Moved ...
24279 * grub-core/gettext: ... to here.
24280 * gfxmenu: Moved ...
24281 * grub-core/gfxmenu: ... to here.
24282 * gnulib: Moved ...
24283 * grub-core/gnulib: ... to here.
24284 * hello: Moved ...
24285 * grub-core/hello: ... to here.
24286 * hook: Moved ...
24287 * grub-core/hook: ... to here.
24288 * io: Moved ...
24289 * grub-core/io: ... to here.
24290 * kern: Moved ...
24291 * grub-core/kern: ... to here.
24292 * lib: Moved ...
24293 * grub-core/lib: ... to here.
24294 * loader: Moved ...
24295 * grub-core/loader: ... to here.
24296 * mmap: Moved ...
24297 * grub-core/mmap: ... to here.
24298 * normal: Moved ...
24299 * grub-core/normal: ... to here.
24300 * partmap: Moved ...
24301 * grub-core/partmap: ... to here.
24302 * parttool: Moved ...
24303 * grub-core/parttool: ... to here.
24304 * script: Moved ...
24305 * grub-core/script: ... to here.
24306 * term: Moved ...
24307 * grub-core/term: ... to here
24308 * tests/example_functional_test.c: Moved ...
24309 * grub-core/tests/example_functional_test.c: ... to here.
24310 * tests/lib/functional_test.c: Moved ...
24311 * grub-core/tests/lib/functional_test.c: ... to here.
24312 * tests/lib/test.c: Moved ...
24313 * grub-core/tests/lib/test.c: ... to here.
24314 * video: Moved ...
24315 * grub-core/video: ... to here.
24316
645586e6
BC
243172010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24318
24319 Replace --enable-grub-emu-modules with grub-emu-lite.
24320
24321 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
24322 cache.S.
24323
24324 * include/grub/emu/misc.h (grub_emu_init): New prototype.
24325 * kern/emu/full.c: New file. For grub-emu specific initialization.
24326 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
24327 * kern/emu/main.c: Call initialization function grub_emu_init.
24328
24329 * Makefile.in: Include grub-emu-lite in install.
24330 * commands/parttool.c: Use grub_no_autoload to differentiate
24331 between grub-emu and grub-emu-lite.
24332 * include/grub/misc.h: New variable grub_no_autoload.
24333
24334 * conf/any-emu.rmk: New rules for grub-emu-lite.
24335 * configure.ac: Remove --enable-grub-emu-modules.
24336 * genmk.rb: Cleanup unnecessary rules.
24337 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
24338
24339 * normal/main.c: Don't load list files on grub-emu-lite.
24340 * util/misc.c (grub_arch_sync_caches): Removed.
24341
f86a4030
CW
243422010-08-23 Colin Watson <cjwatson@ubuntu.com>
24343
24344 * kern/mips/startup.S (grub_prefix): Update comment to refer to
24345 grub-mkimage rather than grub-mkelfimage.
24346 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
24347
06776944
VS
243482010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24349
24350 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
24351 a key after CapsLock or NumLock. It's just a qemu bug.
24352
df262419
VS
243532010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24354
24355 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
24356 needed by libusb wrapper.
24357
b40ea81b
ST
243582010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24359
24360 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
24361
dee50575
VS
243622010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24363
24364 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
24365 --nounzip is passed.
24366
fb1d7b79
VS
243672010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
24368
24369 USB hotunplugging and USB serial support.
24370
24371 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
24372 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
24373 (grub_uhci_transfer): Respect timeout and set *actual.
24374 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
24375 non-standard length.
24376 (grub_usb_device_attach): Autoload modules.
24377 (GRUB_MOD_INIT): Set grub_term_poll_usb.
24378 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
24379 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
24380 users updated.
24381 (grub_usb_add_hub): Fill nports and children.
24382 (attach_root_port): Receive hub instead of controller.
24383 All users updated. Fill hub->devices.
24384 (grub_usb_root_hub): Allocate hub->devices.
24385 (detach_device): New function.
24386 (poll_nonroot_hub): Fill children and detach devices.
24387 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
24388 actual arguments. All users updated.
24389 (grub_usb_bulk_read_extended): New function.
24390 * bus/usb/serial/common.c: New file.
24391 * bus/usb/serial/ftdi.c: Likewise.
24392 * bus/usb/serial/pl2303.c: Likewise.
24393 * commands/terminal.c (handle_command): Support wildcard.
24394 * commands/usbtest.c: Output "Unknown" instead of empty string.
24395 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
24396 (usbserial_common_mod_SOURCES): New variable.
24397 (usbserial_common_mod_CFLAGS): Likewise.
24398 (usbserial_common_mod_LDFLAGS): Likewise.
24399 (pkglib_MODULES): Add usbserial_pl2303.mod.
24400 (usbserial_pl2303_mod_SOURCES): New variable.
24401 (usbserial_pl2303_mod_CFLAGS): Likewise.
24402 (usbserial_pl2303_mod_LDFLAGS): Likewise.
24403 (pkglib_MODULES): Add usbserial_ftdi.mod.
24404 (usbserial_ftdi_mod_SOURCES): New variable.
24405 (usbserial_ftdi_mod_CFLAGS): Likewise.
24406 (usbserial_ftdi_mod_LDFLAGS): Likewise.
24407 (pkglib_MODULES): Add serial.mod.
24408 (serial_mod_SOURCES): New variable.
24409 (serial_mod_CFLAGS): Likewise.
24410 (serial_mod_LDFLAGS): Likewise.
24411 * conf/i386-pc.rmk: Likewise.
24412 * conf/mips-yeeloong.rmk: Likewise.
24413 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
24414 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24415 * disk/usbms.c (first_available_slot): New variable.
24416 (grub_usbms_attach): Don't reuse free slots due to potential cache
24417 problems.
24418 * include/grub/serial.h: Moved to ..
24419 * include/grub/ns8250.h: ...this.
24420 * include/grub/serial.h: New file.
24421 * include/grub/term.h (grub_term_poll_usb): New variable.
24422 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
24423 readkey. All users updated.
24424 (grub_terminfo_output_state): Pass term to put.
24425 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
24426 (grub_usb_controller_dev): Add timeout and actual arguments to
24427 transfer. All users updated.
24428 (grub_usb_interface): New field detach_data.
24429 (grub_usb_device): New fields children and nports.
24430 (grub_usb_ep_type_t): New type.
24431 (grub_usb_get_ep_type): New function.
24432 (grub_usb_bulk_read_extended): Likewise.
24433 * include/grub/usbdesc.h (grub_usb_desc): New type.
24434 * include/grub/usbserial.h: New file.
24435 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
24436 * kern/term.c (grub_term_poll_usb): New variable.
24437 (grub_getkey): Call grub_term_poll_usb if set.
24438 (grub_checkkey): Likewise.
24439 (grub_getkeystatus): Likewise.
24440 * term/serial.c: Moved controller-specific parts to ...
24441 * term/ns8250.c: ... here.
24442 * term/serial.c: Mostly rewritten.
24443 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
24444 according to spec.
24445
21a313de
RM
244462010-08-20 Robert Millan <rmh@gnu.org>
24447
24448 Make kFreeBSD code more generic to support ext2fs as root, ufs as
24449 a separate module and maybe other interesting combinations.
24450
24451 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
24452 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
24453 (kfreebsd_entry): Add generic filesystem module load routine.
24454 Map GRUB `ext2' to kFreeBSD `ext2fs'.
24455
63c734a6
CW
244562010-08-20 Colin Watson <cjwatson@ubuntu.com>
24457
24458 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
24459 "numcenter" (I misunderstood the purpose of this entry).
24460 * docs/grub.texi (sendkey): Likewise.
24461
c4d16542
CW
244622010-08-20 Colin Watson <cjwatson@ubuntu.com>
24463
24464 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
24465 status flag options; simply omitting the option is equivalent and
24466 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
24467 (keysym_table): Rename "num5numlock" to "numlock".
24468 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
24469 can uniformly say that only the last of multiple `sendkey'
24470 invocations has any effect.
24471 * docs/grub.texi (sendkey): New section.
24472
93541d66
CW
244732010-08-19 Colin Watson <cjwatson@ubuntu.com>
24474
24475 * commands/i386/pc/sendkey.c (options): Fix three typos.
24476
b4ece5e1
VS
244772010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
24478
24479 Implement sendkey support.
24480
24481 * commands/i386/pc/sendkey.c: New file.
24482 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
24483 (sendkey_mod_SOURCES): New variable.
24484 (sendkey_mod_CFLAGS): Likewise.
24485 (sendkey_mod_LDFLAGS): Likewise.
24486
51f1f5af
CW
244872010-08-18 Colin Watson <cjwatson@ubuntu.com>
24488
24489 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
24490 fix warnings from Autoconf.
24491
9da94e05
CW
244922010-08-18 Colin Watson <cjwatson@ubuntu.com>
24493
24494 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
24495 to avoid false positives with some assemblers that output things
24496 like "someprefix_func" as part of their output.
24497
729a0f2e
RM
244982010-08-15 Robert Millan <rmh@gnu.org>
24499
24500 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
24501 errors.
24502 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
24503 grub_get_libzfs_handle() errors.
24504
f3710e08
RM
245052010-08-14 Robert Millan <rmh@gnu.org>
24506
24507 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
24508 filesystem is not ZFS.
24509
7a3c13de
BC
245102010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24511
24512 Fix for misspelled color names defaulting to black/black (bug
24513 reported by Doug Nazar)
24514
24515 * include/grub/normal.h (grub_parse_color_name_pair): Add return
24516 status to prototype.
24517 * normal/color.c (grub_parse_color_name_pair): Return failure
24518 status.
24519 (grub_env_write_color_normal): Ignore bad color names.
24520 (grub_env_write_color_highlight): Likewise.
24521 * normal/main.c (GRUB_MOD_INIT): Set default color names.
24522
ab8ba50d
BC
245232010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24524
24525 "shift" command support to GRUB script.
24526
24527 * include/grub/script_sh.h (grub_script_shift): New prototype.
24528 * script/execute.c (grub_script_shift): New function.
24529 * script/main.c (grub_script_init): Register shift command.
24530 (grub_script_fini): Unregister shift command.
24531 * util/grub-script-check.c (grub_script_cmd_shift): New function.
24532
24533 * tests/grub_script_shift.in: New testcase.
24534 * conf/tests.rmk: Rules for new testcase.
24535
4d61999e
BC
245362010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24537
24538 "continue" command support to GRUB script.
24539
24540 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
24541 (grub_script_break): Continue support.
24542 * script/main.c (grub_script_init): Register continue command.
24543 (grub_script_fini): Unregister continue command.
24544
24545 * tests/grub_script_continue.in: New testcase.
24546 * conf/tests.rmk: Rules for new testcase.
24547
4df51e00
BC
245482010-08-12 BVK Chaitanya <bvk@dbook>
24549
24550 "break" command support to GRUB script.
24551
24552 * conf/common.rmk: Rule updates to grub-script-check.
24553 * include/grub/misc.h (grub_min): New function.
24554 * include/grub/script_sh.h (grub_script_init): New prototype.
24555 (grub_script_fini): New prototype.
24556 (grub_script_break): New prototype.
24557 * script/main.c (grub_script_init): New function.
24558 (grub_script_fini): New function.
24559 * script/execute.c (grub_script_break): New function.
24560 * normal/main.c: Calls to grub_script_{init,fini}.
24561 * util/grub-script-check.c (grub_script_break): New function.
24562
24563 * tests/grub_script_break.in: New testcase.
24564 * conf/tests.rmk: Rules for new test case.
24565
f12c8420
BC
245662010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24567
24568 Function parameters support to GRUB script.
24569
24570 * script/yylex.l (VARIABLE): Regular expression update.
24571 * script/function.c (grub_script_function_call): Moved ...
24572 * script/execute.c (grub_script_function_call): ... to here.
24573 (grub_script_execute_arglist_to_argv): Removed.
24574 (grub_script_arglist_to_argv): New function.
24575 * script/argv.c: New file.
24576 (grub_script_argv_free): New function.
24577 (grub_script_argv_next): Likewise.
24578 (grub_script_argv_append): Likewise.
24579 (grub_script_argv_split_append): Likewise.
24580 * include/grub/script_sh.h (grub_script_argv): New struct.
24581 (grub_script_argv_free): New function.
24582 (grub_script_argv_next): Likewise.
24583 (grub_script_argv_append): Likewise.
24584 (grub_script_argv_split_append): Likewise.
24585
24586 * conf/common.rmk (normal.mod): New source script/argv.c.
24587
24588 * tests/grub_script_echo1.in: More tests.
24589 * tests/grub_script_vars1.in: Likewise.
24590 * tests/grub_script_functions.in: New test case.
24591 * conf/tests.rmk: Rules for new testcase.
24592
8022b748
BC
245932010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24594
24595 Remove grub_script_cmdblock struct.
24596
24597 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24598 * script/parser.y: Likewise.
24599 * script/execute.c: Rename cmdblock suffix to cmdlist.
24600 * script/script.c: Likewise.
24601 * util/grub-script-check.c: Likewise.
24602
79a6ba61
YB
246032010-08-11 Yves Blusseau <blusseau@zetam.org>
24604
24605 * .bzrignore: add grub-macho2img
24606
d04b9414
VS
246072010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24608
24609 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24610
f947ab49
VS
246112010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24612
24613 Remove the dump of sm712 initialisation sequence.
24614
24615 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24616 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24617 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24618 (GRUB_VGA_CR_*): Added many registers.
24619 (GRUB_VGA_SR_*): Likewise.
24620 (GRUB_VGA_GR_*): Likewise.
24621 (grub_vga_write_arx): New function.
24622 (grub_video_hw_config): New struct.
24623 (grub_vga_set_geometry): New function.
24624 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24625 GRUB_PCI_CLASS_SUBCLASS_VGA.
24626 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24627 * video/sm712.c (grub_sm712_write_reg): New function
24628 (grub_sm712_read_reg): Likewise.
24629 (grub_sm712_sr_write): Likewise.
24630 (grub_sm712_gr_write): Likewise.
24631 (grub_sm712_cr_write): Likewise.
24632 (grub_sm712_write_arx): Likewise.
24633 (grub_sm712_cr_shadow_write): Likewise.
24634 (grub_sm712_write_dda_lookup): Likewise.
24635 (grub_video_sm712_setup): Initialise the video rather then
24636 blindly replay the dump.
24637 (main) [TEST]: Add a routine to be able to compile as standalone for
24638 tests.
24639 * video/sm712_init.c (sm712_init): Removed.
24640 (sm712_sr_seq1): New array.
24641 (sm712_sr_seq2): Likewise.
24642
f0206638
VS
246432010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24644
24645 * include/grub/vga.h: Add missing grub/pci.h include.
24646
2764da3b
YB
246472010-08-10 Yves Blusseau <blusseau@zetam.org>
24648
24649 * util/grub-macho2img.c (main): fix typo
24650
cf0c775e
VS
246512010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24652
24653 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24654 (grub_vga_gr_read): Likewise.
24655 (grub_vga_cr_write): Likewise.
24656 (grub_vga_cr_read): Likewise.
24657 (grub_vga_sr_write): Likewise.
24658 (grub_vga_sr_read): Likewise.
24659 (grub_vga_palette_read): Likewise.
24660 (grub_vga_palette_write): Likewise.
24661 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24662 (grub_sm712_sr_read): New function.
24663 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24664 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24665
07f360e9
RM
246662010-08-09 Robert Millan <rmh@gnu.org>
24667
24668 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24669 out unused variables on non-ZFS build.
24670
346c2072
RM
246712010-08-08 Robert Millan <rmh@gnu.org>
24672
24673 Fix path generation for sub-filesystems in ZFS.
24674
24675 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24676 missing slash.
24677
71175420
RM
246782010-08-08 Robert Millan <rmh@gnu.org>
24679
24680 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24681
0d8286f3
RM
246822010-08-08 Robert Millan <rmh@gnu.org>
24683
24684 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24685 exist, issue a proper error message (rely on `ls' for translated
24686 strings).
24687
55dd2924
RM
246882010-08-08 Robert Millan <rmh@gnu.org>
24689
24690 Fix grub-probe invocation.
24691
24692 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24693
d3dd9e80
RM
246942010-08-04 Robert Millan <rmh@gnu.org>
24695
24696 * configure.ac: Remove checks for getfsstat() and getmntany().
24697 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24698 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24699 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24700 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24701 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24702 function.
24703 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24704 via find_mount_point_from_dir() and getfsstat() / getmntany().
24705
0de22aa9
RM
247062010-08-04 Robert Millan <rmh@gnu.org>
24707
24708 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24709 (grub_find_zpool_from_mount_point): Merge into ...
24710 (grub_find_zpool_from_dir): ... this.
24711 * kern/emu/misc.c: Likewise.
24712
24713 * kern/emu/misc.c
24714 (grub_make_system_path_relative_to_its_root): Replace
24715 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24716 with grub_find_zpool_from_dir().
24717 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24718
62858144
RM
247192010-08-04 Robert Millan <rmh@gnu.org>
24720
24721 Support OpenSolaris in ZFS device resolution.
24722
24723 * configure.ac: Check for getmntany().
24724 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
24725 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
24726 support.
24727
9dd6fd50
RM
247282010-08-03 Robert Millan <rmh@gnu.org>
24729
24730 Fix grub-emu build.
24731
24732 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
24733 * include/grub/emu/misc.h: ... here.
24734
24735 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24736 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24737
24738 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24739 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24740 (grub_get_libzfs_handle): Move to ...
24741 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24742 (grub_get_libzfs_handle): ... here.
24743
c9f7ff97
BC
247442010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24745
24746 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24747 as command name case.
24748
a870a783
CW
247492010-08-02 Colin Watson <cjwatson@ubuntu.com>
24750
24751 * disk/raid.c (insert_array): Select unique numbers for named arrays
24752 as well, for use as keys in the disk cache.
24753
c7db243b
RM
247542010-08-01 Robert Millan <rmh@gnu.org>
24755
24756 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
24757 kFreeBSD device name, except on ZFS where the filesystem label is
24758 used.
24759 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
24760 `/boot/zfs/zpool.cache'.
24761 Set mountfrom kernel variable using ${kfreebsd_device}.
24762
f7abdefb
RM
247632010-08-01 Robert Millan <rmh@gnu.org>
24764
24765 Make it even harder to use uninitialized `libzfs_handle' (and
24766 make the interface a bit simpler).
24767
24768 * include/grub/util/misc.h (grub_util_init_libzfs)
24769 (libzfs_handle): Remove.
24770 (grub_get_libzfs_handle): New prototype.
24771
24772 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24773 attribute.
24774 (grub_util_init_libzfs): Remove.
24775 (grub_get_libzfs_handle): New function.
24776
24777 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24778 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24779 accessing `libzfs_handle' directly.
24780
c882acc0
RM
247812010-08-01 Robert Millan <rmh@gnu.org>
24782
24783 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24784 (grub_find_zpool_from_mount_point): New function prototypes.
24785
24786 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24787 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24788
24789 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24790 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24791 `static' attribute.
24792
24793 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24794 finding zpool from mount point into ...
24795 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24796
24797 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24798 requested path is part of a ZFS pool, use
24799 grub_find_zpool_from_mount_point() to detect its filesystem name,
24800 and generate a path with `/fsname@path' syntax.
24801
8bfe31d8
CW
248022010-08-01 Colin Watson <cjwatson@ubuntu.com>
24803
24804 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24805 (void) rather than () so that this is a proper prototype.
24806
553df63d
VS
248072010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24808
24809 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24810
8687cf07
VS
248112010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24812
24813 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24814 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24815
ea9be8ea
CW
248162010-08-01 Colin Watson <cjwatson@ubuntu.com>
24817
24818 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24819
6eea041a
CW
248202010-08-01 Colin Watson <cjwatson@ubuntu.com>
24821
24822 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24823
2cfb45df
CW
248242010-08-01 Colin Watson <cjwatson@ubuntu.com>
24825
24826 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24827 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24828 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24829 disable gfxpayload.
24830 (Shell-like scripting): Add real content.
24831 (Serial terminal): Suggest `terminal_input serial; terminal_output
24832 serial' rather than putting the two commands on separate lines,
24833 since console input will be inoperative after the first command.
24834 (menuentry): Document --class, --users, and --hotkey options.
24835 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24836 Vladimir Serbinenko).
24837
7decd202
VS
248382010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
248392010-08-01 Colin Watson <cjwatson@ubuntu.com>
24840
24841 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24842
c882acc0
RM
248432010-08-01 Robert Millan <rmh@gnu.org>
24844
24845 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24846 (grub_find_zpool_from_mount_point): New function prototypes.
24847
24848 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24849 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24850
24851 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24852 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24853 `static' attribute.
24854
24855 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24856 finding zpool from mount point into ...
24857 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24858
24859 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24860 requested path is part of a ZFS pool, use
24861 grub_find_zpool_from_mount_point() to detect its filesystem name,
24862 and generate a path with `/fsname@path' syntax.
24863
deb0caa3
RM
248642010-08-01 Robert Millan <rmh@gnu.org>
24865
24866 Prevent accidental use of uninitialized libzfs_handle.
24867
24868 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24869 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24870 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24871
ce04ef47
CW
248722010-08-01 Colin Watson <cjwatson@ubuntu.com>
24873
24874 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24875 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24876
ebf53056
RM
248772010-08-01 Robert Millan <rmh@gnu.org>
24878
24879 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 24880
3710bb6b
RM
248812010-07-31 Robert Millan <rmh@gnu.org>
24882
24883 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24884
8072efeb
RM
248852010-07-31 Robert Millan <rmh@gnu.org>
24886
24887 * kern/emu/misc.c: Add missing license header.
24888
3169f4c7
RM
248892010-07-31 Robert Millan <rmh@gnu.org>
24890
24891 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24892
24893 * include/grub/util/libnvpair.h: Include `<config.h>'.
24894 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24895 declaring libnvpair prototypes ourselves.
24896 * include/grub/util/libzfs.h: Include `<config.h>'.
24897 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24898 declaring libzfs prototypes ourselves.
24899
24900 (libzfs_handle): Moved to ...
24901 * include/grub/util/misc.h (libzfs_handle): ... here.
24902 Include `<grub/util/libzfs.h>'.
24903
c9a00aee
RM
249042010-07-30 Robert Millan <rmh@gnu.org>
24905
24906 * include/grub/emu/misc.h: Add missing license header.
24907
a184f9c8
RM
249082010-07-30 Robert Millan <rmh@gnu.org>
24909
24910 Enable `grub-probe -t device' resolution on ZFS.
24911
24912 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24913 * include/grub/util/libnvpair.h: New file.
24914 * include/grub/util/libzfs.h: New file.
24915
24916 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24917 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24918 `<grub/util/libnvpair.h>'.
24919 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24920
24921 (find_mount_point_from_dir): New static function.
24922 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24923 function.
24924 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24925 find_root_device_from_libzfs() before ressorting to find_root_device().
24926
24927 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24928 prototype.
24929 * util/misc.c: Include `<grub/util/libzfs.h>'.
24930 (grub_util_init_libzfs): New function.
24931 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24932 [HAVE_LIBZFS] (fini_libzfs): New static function.
24933 (grub_util_init_libzfs): New function.
24934 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24935
f7790cdd
RM
249362010-07-30 Robert Millan <rmh@gnu.org>
24937
24938 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24939 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24940 `warn_unused_result' attribute.
24941 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24942 (grub_xasprintf, grub_xvasprintf): Likewise.
24943 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24944
0806b63c
RM
249452010-07-29 Robert Millan <rmh@gnu.org>
24946
24947 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24948 (probe): Handle `PRINT_FS_LABEL'.
24949 (main): Handle `-t fs_label'.
24950
9f841f5c
RM
249512010-07-29 Robert Millan <rmh@gnu.org>
24952
24953 * configure.ac: Remove grub-mkisofs checks.
24954
46371121
VS
249552010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24956
24957 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24958 Reported by: Lennart Sorensen.
24959
249602010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24961
24962 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24963 prior to terminal_input/terminal_output separation. It's been over 1.5
24964 years and those versions weren't widely deployed.
24965
a9600892
CW
249662010-07-22 Colin Watson <cjwatson@ubuntu.com>
24967
24968 * disk/raid.c (insert_array): Don't count named arrays when looking
24969 for unused array numbers.
697e053c 24970 Reported and tested by: Michael Guntsche.
a9600892 24971
c03507df
CW
249722010-07-20 Colin Watson <cjwatson@ubuntu.com>
24973
24974 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24975 implementation of this so that grub-emu links again, with a note
24976 that this should support hotplugging in the future.
24977
b26f1c11
CW
249782010-07-20 Colin Watson <cjwatson@ubuntu.com>
24979
24980 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24981
efc9d7f1
CW
249822010-07-20 Colin Watson <cjwatson@ubuntu.com>
24983
24984 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24985 handle on failure.
24986 (grub_loopback_close): Remove empty function.
24987 (grub_loopback_dev): Remove close method.
24988
dd8ff5c9
CW
249892010-07-20 Colin Watson <cjwatson@ubuntu.com>
24990
24991 Disable EFI cursor when the EFI console becomes inactive.
24992
24993 * term/efi/console.c (grub_efi_console_init): New function.
24994 (grub_efi_console_fini): New function.
24995 (grub_console_term_output): Register init and fini methods.
24996
5e3bec67
VS
249972010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24998
24999 * tests/util/grub-shell-tester.in: Remove bashism and declare as
25000 sh script.
25001
afaec079
VS
250022010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25003
25004 * disk/loopback.c (grub_loopback): Replace filename with file.
25005 (delete_loopback): Handle new semantics.
25006 (grub_cmd_loopback): Likewise.
25007 (grub_loopback_iterate): Likewise.
25008 (grub_loopback_close): Likewise.
25009
a6a11f3c
VS
250102010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25011
25012 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
25013 with -p "".
25014 Reported by: Tito Keitel.
25015
64a638b0
VS
250162010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25017
25018 * docs/grub.texi (Naming convention): Document new naming convention.
25019
ab8ba957
VS
250202010-07-20 Vadim Solomin <vadic052@gmail.com>
250212010-07-20 Colin Watson <cjwatson@ubuntu.com>
25022
25023 Generate device.map in something closer to the old ordering.
25024
25025 * util/deviceiter.c (struct device): New declaration.
25026 (compare_file_names): Rename to ...
25027 (compare_devices): ... this. Sort by kernel name in preference to
25028 the stable by-id name, but keep the latter as a fallback comparison.
25029 Update header comment.
25030 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
25031 of `struct device' rather than of plain file names.
25032
a29d6a4b
TF
250332010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
25034
25035 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
25036 on i386.
25037
39d824e8
VS
250382010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25039
25040 * commands/acpi.c (setup_common_tables): Use sizeof instead of
25041 hardcoding size.
25042 (setv1table): Likewise.
25043
f058276b
FZ
250442010-07-20 Colin Watson <cjwatson@ubuntu.com>
25045
25046 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
25047 removing the homehost if present.
25048 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
25049 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
25050 removing the homehost if present.
25051 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
25052 if possible.
25053 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
25054
25055 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
25056 parameter. Set its pointer target to 0.
25057 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
25058 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
25059 `data_offset' value from the superblock for 1.x metadata.
25060 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
25061 data on the device.
25062 (insert_array): Record the start sector of data on the device.
25063 (grub_raid_register): Pass start_sector parameters to
25064 grub_raid_list->detect and insert_array.
25065 * include/grub/raid.h (struct grub_raid_array): Add start_sector
25066 member.
25067 (struct grub_raid): Add start_sector parameter to `detect'.
25068
25069 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
25070 __attribute__ ((packed)), leaving a comment.
25071 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
25072 (grub_mdraid_detect_09): ... here and ...
25073 (grub_mdraid_detect_1x): ... here.
25074
250752010-07-20 Peter Henn <peter.henn@web.de>
25076
25077 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
25078 chunk size and disk size, which are already given as sector counts
25079 as distinct from the 0.90 units. Fetch the correct device number
25080 from the role table instead of using the table index.
25081
250822010-07-20 Felix Zielcke <fzielcke@z-51.de>
25083
25084 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
25085 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
25086 (WriteMostly1): New macro.
25087 Set array->name to NULL for metadata format 0.90. Add support for
25088 metadata 1.x. Fix some comments.
25089 * disk/raid.c (): Add support for name based RAID arrays. Fix a
25090 few comments.
25091 * util/getroot.c (grub_util_get_grub_dev): Add support for
25092 /dev/md/name style devices.
25093
4b761da9
CW
250942010-07-20 Colin Watson <cjwatson@ubuntu.com>
25095
25096 * .bzrignore: Ignore 20_linux_xen.
25097
5771289a
CW
250982010-07-17 Colin Watson <cjwatson@ubuntu.com>
25099
25100 * util/import_unicode.py: Remove unnecessary imports.
25101
5dab68df
AN
251022010-07-17 Aleš Nesrsta <starous@volny.cz>
25103
25104 Hotplugging and USB hub support.
25105
25106 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
25107 (grub_ohci): Likewise.
25108 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
25109 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
25110 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
25111 (GRUB_OHCI_CTRL_EDS): Likewise.
25112 (GRUB_OHCI_BULK_EDS): Likewise.
25113 (GRUB_OHCI_TDS): Likewise.
25114 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
25115 (grub_ohci_ed_phys2virt): New function.
25116 (grub_ohci_virt_to_phys): Likewise.
25117 (grub_ohci_td_phys2virt): Likewise.
25118 (grub_ohci_td_virt2phys): Likewise.
25119 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
25120 attachment.
25121 (grub_ohci_find_ed): New function.
25122 (grub_ohci_alloc_td): Likewise.
25123 (grub_ohci_free_td): Likewise.
25124 (grub_ohci_free_tds): Likewise.
25125 (grub_ohci_transfer): Use previously allocated memory.
25126 (grub_ohci_portstatus): Reset status changed bit.
25127 (grub_ohci_detect_dev): Supply status changed.
25128 (grub_ohci_fini_hw): Free memory.
25129 (grub_ohci_restore_hw): Reallocate memory.
25130 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
25131 Reset status change.
25132 (grub_uhci_detect_dev): Supply status_change.
25133 * bus/usb/usb.c (attach_hooks): New var.
25134 (grub_usb_device_attach): New function.
25135 (grub_usb_register_attach_hook_class): Likewise.
25136 (grub_usb_unregister_attach_hook_class): Likewise.
25137 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
25138 (grub_usb_add_hub): Reset connection changed bit.
25139 (attach_root_port): New function.
25140 (grub_usb_root_hub): Likewise.
25141 (poll_nonroot_hub): Likewise.
25142 (grub_usb_poll_devices): Likewise.
25143 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
25144 * disk/usbms.c (grub_usbms_open): Use device hooks.
25145 (grub_usbms_iterate) :Poll devices.
25146 (grub_usbms_finddevs): Split into ...
25147 (grub_usbms_attach): ... this ...
25148 (grub_usbms_attach): ... and this.
25149 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
25150 in detect_dev.
25151 (grub_usb_interface): New fields attached and detach_hook.
25152 (grub_usb_attach_hook_class): New type.
25153 (grub_usb_attach_desc): New struct.
25154 (grub_usb_register_attach_hook_class): New function.
25155 (grub_usb_unregister_attach_hook_class): Likewise.
25156 (grub_usb_poll_devices): Likewise.
25157 (grub_usb_device_attach): Likewise.
25158 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
25159 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
25160
3222efaf
VS
251612010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25162
25163 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
25164 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
25165 delta determination style. Works with most NetBSD partitions too.
25166
139b714a
VS
251672010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25168
25169 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
25170 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
25171
986aad56
VS
251722010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25173
25174 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
25175
99be513c
AB
251762010-07-14 Anton Blanchard <anton@samba.org>
25177
25178 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
25179 ET_DYN files.
25180
18075f62
GS
251812010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25182
25183 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
25184
8d9a5b15
GS
251852010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25186
25187 * kern/partition.c (grub_partition_check_containment): New function to
25188 check that a partition is physically contained in a parent. Since
25189 offsets are relative (and non-negative), this reduces to checking that
25190 the partition ends before its parent.
25191 (grub_partition_map_probe): Discard out-of-range sub-partitions.
25192 (grub_partition_iterate): Likewise.
25193 * include/grub/partition.h (grub_partition_map): Slightly more detailed
25194 comments.
25195 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
25196 partitions that start before their parent, and add debug printfs.
25197
19563c25
CW
251982010-07-13 Colin Watson <cjwatson@ubuntu.com>
25199
25200 * Makefile.in (.SUFFIX): Spell correctly, as ...
25201 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
25202 bare module name without `.mod', e.g. `test') tried to invoke a
25203 Modula-2 compiler.
25204
1a1f1e67
CW
252052010-07-13 Colin Watson <cjwatson@ubuntu.com>
25206
25207 * README: Point to the Info manual.
25208
811b0dca
JS
252092010-07-13 Jiro SEKIBA <jir@unicus.jp>
25210
25211 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
25212 2nd superblock position from partition size.
25213
e4f4eafc
CW
252142010-07-10 Colin Watson <cjwatson@ubuntu.com>
25215
25216 * Makefile.in (MAINTAINER_CLEANFILES): Remove
25217 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
25218 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
25219 outputs.
25220
4274c30f
VS
252212010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25222
25223 Restructure SCSI .id handling.
25224 Reported and tested by: Aleš Nesrsta.
25225
25226 * disk/ata.c (grub_atapi_close): Removed. All users updated.
25227 (grub_atapi_dev): Changed .name to "ata". New field .id.
25228 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
25229 (grub_usbms_dev): New field .id.
25230 * disk/scsi.c (grub_scsi_iterate): Generate name.
25231 (grub_scsi_open): Parse name.
25232 * include/grub/scsi.h (grub_make_scsi_id): New function.
25233 (grub_scsi_dev): Change iterate and open to number instead of naming
25234 busses. All users updated.
25235 (grub_scsi): Remove name. Add .bus.
25236
5bc24388
VS
252372010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25238
25239 * commands/help.c (grub_cmd_help): Fix a typo.
25240
249975ba
VS
252412010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25242
25243 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
25244 Reported and tested by: Colin Watson.
25245
3eaac1a1
VS
252462010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25247
25248 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
25249 in this context.
25250
becce1b1
VS
252512010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
25252
25253 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
25254
f7bf0918
CW
252552010-07-07 Colin Watson <cjwatson@ubuntu.com>
25256
25257 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
25258 indentation.
25259
0b0f9620
CW
252602010-07-06 Colin Watson <cjwatson@ubuntu.com>
25261
25262 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
25263 and disk/raid6_recover.c.
25264 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25265 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25266
1e545469
CW
252672010-07-06 Colin Watson <cjwatson@ubuntu.com>
25268
25269 * term/gfxterm.c (repaint_schedulded): Rename to ...
25270 (repaint_scheduled): ... this. Update all callers.
25271 (repaint_was_schedulded): Rename to ...
25272 (repaint_was_scheduled): ... this. Update all callers.
25273
5357687a
CW
252742010-07-06 Colin Watson <cjwatson@ubuntu.com>
25275
25276 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
25277 which we expect to be handled by upper layers.
25278
29d7e783
BC
252792010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
25280
25281 * bus/usb/usbhub.c: #include time.h header.
25282
37582066
CW
252832010-07-06 Colin Watson <cjwatson@ubuntu.com>
25284
25285 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
25286 entry_name also for entries without stat blocks (e.g. ".."); fixes
25287 corruption of the first entry in a directory.
25288
c8c06953
CW
252892010-07-06 Colin Watson <cjwatson@ubuntu.com>
25290
25291 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
25292 after setting gfxterm as the active terminal. GRUB_BACKGROUND
25293 doesn't work otherwise.
25294
e75056f1
CW
252952010-07-05 Colin Watson <cjwatson@ubuntu.com>
25296
25297 * docs/grub.texi (Features): Update list of supported file systems.
25298 (GNU/Linux): Update for GRUB 2.
25299 (Serial terminal): Remove mention of --disable-serial, which was a
25300 GRUB Legacy configure option. Update instructions to use
25301 `terminal_input' and `terminal_output' rather than `terminal'.
25302 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
25303 configuration' and `Installing GRUB using grub-install'.
25304 (Menu entry editor): Update for GRUB 2.
25305 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
25306 Document new -a, -u, and -v options.
25307 (initrd): New section.
25308 (initrd16): New section.
25309 (linux): New section.
25310 (linux16): New section.
25311 (search): The `var' argument to `--set' is optional.
25312 (GRUB only offers a rescue shell): Go into a little more detail on
25313 drive ordering.
25314
5cf69151
CW
253152010-07-05 Colin Watson <cjwatson@ubuntu.com>
25316
25317 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
25318
e3f90044
CW
253192010-07-05 Colin Watson <cjwatson@ubuntu.com>
25320
25321 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
25322 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
25323
38d8f4f3
CW
253242010-07-05 Colin Watson <cjwatson@ubuntu.com>
25325
25326 * util/i386/pc/grub-setup.c (setup): Rename prefix to
25327 install_prefix, in line with install_dos_part and install_bsd_part.
25328 Add new prefix variable, which is copied to install_prefix after
25329 comparing core.img in memory with the one read from disk in the
25330 no-embedding case, and use that rather than overwriting
25331 install_prefix immediately when installing to a partition.
25332 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
25333 Bicakci.
25334
57ebd41e
GS
253352010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25336
25337 * configure.ac: Avoid == in test command, it's not portable.
25338 * util/grub.d/30_os-prober.in: Likewise.
25339
cb7f64b2
CW
253402010-07-04 Colin Watson <cjwatson@ubuntu.com>
25341
25342 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
25343
6b654bb0
GS
253442010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25345
25346 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
25347 multiple (top-level) partmaps.
25348
72a2026d
VS
253492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25350
25351 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 25352 Reported by: Tino Keitel.
72a2026d 25353
df3eb88f
VS
253542010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25355
25356 Bidi and diacritics support.
25357
25358 * Makefile.in (widthspec.bin): New target.
25359 (widthspec.h): Likewise.
25360 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
25361 * autogen.sh: Generate unidata.c.
25362 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
25363 * commands/ls.c (grub_ls_list_devices): Likewise.
25364 (grub_ls_list_files): Likewise.
25365 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
25366 (grub_mini_cmd_lsmod): Likewise.
25367 * commands/read.c: Likewise.
25368 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
25369 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
25370 * lib/arg.c (grub_arg_show_help): Likewise.
25371 * lib/crypto.c (grub_password_get): Likewise.
25372 * normal/auth.c (grub_username_get): Likewise.
25373 * normal/misc.c (grub_normal_print_device_info): Likewise.
25374 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
25375 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
25376 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
25377 (normal/charset.c_DEPENDENCIES): New variable.
25378 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
25379 (pkglib_MODULES): Remove charset.mod.
25380 (charset_mod_SOURCES): Removed.
25381 (charset_mod_CFLAGS): Likewise.
25382 (charset_mod_LDFLAGS): Likewise.
25383 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
25384 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
25385 and term/tparm.c.
25386 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25387 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25388 (kernel_img_HEADERS): Add terminfo.h.
25389 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
25390 Fill ->font. Reverse ascii bitmaps.
25391 (grub_font_get_xheight): New function.
25392 * font/font.c (grub_font_get_string_width): Moved from here ...
25393 * gfxmenu/font.c (grub_font_get_string_width): ... here.
25394 * font/font.c (grub_font_draw_string): Moved from here ...
25395 * gfxmenu/font.c (grub_font_draw_string): ... here.
25396 * font/font.c (grub_font_dup_glyph): New function.
25397 (grub_font_blit_glyph): Likewise.
25398 (grub_font_blit_glyph_mirror): Likewise.
25399 (blit_comb): Likewise.
25400 (grub_font_construct_dry_run): Likewise.
25401 (grub_font_get_constructed_device_width): Likewise.
25402 (grub_font_construct_glyph): Likewise.
25403 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
25404 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
25405 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
25406 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
25407 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
25408 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
25409 (grub_font_get_xheight): New proto.
25410 (grub_font_get_constructed_device_width): Likewise.
25411 (grub_font_construct_glyph): Likewise.
25412 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
25413 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
25414 * include/grub/font.h (grub_font_draw_string): Moved from here ...
25415 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
25416 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
25417 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
25418 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
25419 (grub_console_getcharwidth): Likewise.
25420 * include/grub/misc.h (grub_xputs): New proto.
25421 (grub_puts): Inlined.
25422 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
25423 (grub_normal_get_line_counter): Removed.
25424 (grub_install_newline_hook): Likewise.
25425 (grub_normal_get_char_counter): New proto.
25426 (grub_normal_reset_more): Likewise.
25427 (grub_xputs_normal): Likewise.
25428 * include/grub/powerpc/ieee1275/console.h: Removed.
25429 * include/grub/sparc64/ieee1275/console.h: Likewise.
25430 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
25431 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
25432 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
25433 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
25434 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
25435 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
25436 (grub_term_input): Pass reference to self. All users updated.
25437 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
25438 Pass reference to self. New fields normal_color, highlight_color and
25439 data. All users updated.
25440 (grub_putchar): Removed.
25441 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
25442 (grub_unicode_estimate_width): New function.
25443 (grub_term_getcharwidth): Add defaults.
25444 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
25445 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
25446 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
25447 (grub_cls): Remove EXPORT_FUNC.
25448 (grub_setcolorstate): Inline.
25449 (grub_newline_hook): Removed.
25450 * include/grub/terminfo.h: Rewritten. All users updated.
25451 * include/grub/unicode.h: New file.
25452 * include/grub/video.h (grub_video_signed_rect): New type.
25453 * kern/emu/console.c (grub_console_highlight_color): Removed.
25454 (grub_console_normal_color): Likewise.
25455 (grub_console_standard_color): Made static.
25456 (grub_ncurses_putchar): Remove mapping.
25457 (grub_ncurses_getcharwidth): Removed.
25458 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25459 (grub_ncurses_setcolor): Removed.
25460 (grub_ncurses_getcolor): Likewise.
25461 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
25462 (grub_console_putchar): ... this.
25463 (grub_console_putchar): Handle argument difference.
25464 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
25465 console_init_early and console_init_lately.
25466 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
25467 * kern/misc.c (grub_puts): Removed.
25468 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
25469 (grub_vsnprintf_real): Remove str = NULL support.
25470 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
25471 * normal/charset.c (grub_utf8_to_ucs4): ... here.
25472 * kern/term.c (grub_putcode): Renamed to ...
25473 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
25474 (grub_putchar): Removed.
25475 (grub_xputs_dumb): New function.
25476 (grub_xputs): New variable.
25477 * lib/charset.c: Move from here ...
25478 * normal/charset.c: ... to here.
25479 (grub_ucs4_to_utf8): New function.
25480 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
25481 (join_types): New variable.
25482 (unpack_join): New function.
25483 (bidi_types): New variable.
25484 (unpack_bidi): New function.
25485 (get_bidi_type): Likewise.
25486 (get_join_type): Likewise.
25487 (is_mirrored): Likewise.
25488 (grub_unicode_get_comb_type): Likewise.
25489 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
25490 (is_type_after): Likewise.
25491 (grub_unicode_aglomerate_comb): Likewise.
25492 (bidi_line_wrap): Likewise.
25493 (grub_bidi_line_logical_to_visual): Likewise.
25494 (grub_bidi_logical_to_visual): Likewise.
25495 (grub_unicode_mirror_code): Likewise.
25496 (grub_unicode_shape_code): Likewise.
25497 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
25498 Don't use grub_putchar.
25499 * normal/main.c (grub_normal_init_page): Use grub_putcode.
25500 (grub_normal_reader_init): Likewise.
25501 (grub_xputs_saved): New variable.
25502 (GRUB_MOD_INIT): Set grub_xputs.
25503 (GRUB_MOD_FINI): Restore grub_xputs.
25504 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
25505 (menu_init): Avoid printing gfxmenu error.
25506 (show_menu): Use grub_normal_get_char_counter.
25507 * normal/menu_entry.c (update_screen): Fix out-of-array.
25508 (complete): Avoid NULL dereferencing.
25509 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
25510 * normal/menu_text.c (print_spaces): Removed.
25511 (grub_print_ucs4): Likewise.
25512 (grub_print_message_indented): Use grub_print_ucs4.
25513 (print_message): Use grub_putcode.
25514 (print_entry): Hanlde diacritics.
25515 * normal/term.c (term_state): New type.
25516 (grub_more_lines): Removed.
25517 (term_states): New variable.
25518 (grub_normal_line_counter): Renamed to ..
25519 (grub_normal_char_counter): ...this. All users updated.
25520 (grub_normal_get_line_counter): Renamed to ...
25521 (grub_normal_get_char_counter): ... this.
25522 (grub_normal_reset_more): New function.
25523 (process_newline): Removed.
25524 (print_more): New function.
25525 (grub_install_newline_hook): Removed.
25526 (map_code): New function.
25527 (grub_puts_terminal): Use grub_print_ucs4.
25528 (putglyph): New function.
25529 (putcode_real): Likewise.
25530 (grub_putcode): Use putcode_real.
25531 (get_maxwidth): New function.
25532 (get_startwidth): Likewise.
25533 (print_ucs4_terminal): Likewise.
25534 (find_term_state): Likewise.
25535 (put_glyphs_terminal): Likewise.
25536 (print_backlog): Likewise.
25537 (print_ucs4_real): Likewise.
25538 (grub_print_ucs4): Likewise.
25539 (grub_xputs_normal): Likewise.
25540 * term/efi/console.c (grub_console_putchar): Output diacritics.
25541 (grub_console_getcharwidth): Removed.
25542 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25543 * term/gfxterm.c (clear_char): Free chars.
25544 (scroll_up): Avoid leaking memory.
25545 (grub_gfxterm_putchar): Support diacritics.
25546 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25547 * term/i386/pc/console.c (grub_console_term_output): Declare as
25548 GRUB_TERM_CODE_TYPE_VGA.
25549 * term/i386/pc/vga.c (grub_vga_term): Declare as
25550 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
25551 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
25552 GRUB_TERM_CODE_TYPE_VGA.
25553 * term/i386/vga_common.c (map_char): Removed.
25554 (grub_console_putchar): Likewise.
25555 (grub_console_getcharwidth): Likewise.
25556 * term/ieee1275/ofconsole.c: Simplify using terminfo.
25557 (colors): Reordered to match terminfo.
25558 (grub_ofconsole_normal_color): Removed.
25559 (grub_ofconsole_writeesc): Likewise.
25560 (grub_ofconsole_highlight_color): Likewise.
25561 (grub_ofconsole_getcharwidth): Likewise.
25562 (grub_ofconsole_setcolorstate): Likewise.
25563 (grub_ofconsole_setcolor): Likewise.
25564 (grub_ofconsole_getcolor): Likewise.
25565 (grub_ofconsole_readkey): Renamed to ...
25566 (readkey): ... this. Remove escape sequence handling. Return -1 on no
25567 key.
25568 (grub_ofconsole_checkkey): Removed.
25569 (grub_ofconsole_getkey): Likewise.
25570 (grub_ofconsole_getxy): Likewise.
25571 (grub_ofconsole_gotoxy): Likewise.
25572 (grub_ofconsole_cls): Likewise.
25573 (grub_ofconsole_refresh): Likewise.
25574 (grub_ofconsole_terminfo_input): New struct.
25575 (grub_ofconsole_terminfo_output): Likewise.
25576 (grub_ofconsole_term_input): Use terminfo.
25577 (grub_ofconsole_term_output): Likewise.
25578 (grub_console_init): Split into ...
25579 (grub_console_init_early): ...this and ...
25580 (grub_console_init_lately): ...this. Use terminfo.
25581 (grub_ofconsole_putchar): Renamed to ...
25582 (put): ... this. Remove mapping.
25583 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25584 * term/serial.c: Simplify using terminfo.
25585 (xpos): Removed.
25586 (ypos): Likewise.
25587 (keep_track): Likewise.
25588 (registered): Likewise.
25589 (input_buf): Likewise.
25590 (npending): Likewise.
25591 (serial_translate_key_sequence): Likewise.
25592 (fill_input_buf): Likewise.
25593 (grub_serial_checkkey): Likewise.
25594 (grub_serial_getkey): Likewise.
25595 (grub_serial_getxy): Likewise.
25596 (grub_serial_gotoxy): Likewise.
25597 (grub_serial_putchar): Likewise.
25598 (grub_serial_cls): Likewise.
25599 (grub_serial_setcolorstate): Likewise.
25600 (grub_serial_setcursor): Likewise.
25601 (serial_hw_init): Use serial_hw_fetch.
25602 (grub_serial_terminfo_input): New variable.
25603 (grub_serial_terminfo_output): Likewise.
25604 (grub_serial_term_input): Use terminfo.
25605 (grub_serial_term_output): Likewise.
25606 * term/terminfo.c (putstr): Use put.
25607 (grub_terminfo_all_free): New function
25608 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25609 (grub_terminfo_output_register): New function.
25610 (grub_terminfo_output_unregister): Likewise.
25611 (grub_terminfo_getxy): Likewise.
25612 (grub_terminfo_readkey): Likewise.
25613 (grub_terminfo_checkkey): Likewise.
25614 (grub_terminfo_getkey): Likewise.
25615 (grub_terminfo_input_init): Likewise.
25616 (print_terminfo): Likewise.
25617 (grub_cmd_terminfo): Handle encoding.
25618 (grub_terminfo_gotoxy): Track position.
25619 (grub_terminfo_cls): Likewise.
25620 (grub_terminfo_putchar): Likewise.
25621 (grub_terminfo_setcolorstate): Handle colors
25622 (grub_terminfo_cursor_on): This ...
25623 (grub_terminfo_cursor_off): ... and this merged into ...
25624 (grub_terminfo_setcursor): ... this.
25625 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25626 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25627 * unicode/BidiMirroring.txt: Likewise.
25628 * unicode/UnicodeData.txt: Likewise.
25629 * unicode/COPYING: Likewise.
25630 * util/grub-editenv.c (grub_putchar): Removed.
25631 (grub_xputs_real): New function.
25632 (grub_xputs): New variable.
25633 * util/grub-fstest.c (grub_putchar): Removed.
25634 (grub_xputs_real): New function.
25635 (grub_xputs): New variable.
25636 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25637 (grub_xputs_real): New function.
25638 (grub_xputs): New variable.
25639 * util/grub-probe.c (grub_putchar): Removed.
25640 (grub_xputs_real): New function.
25641 (grub_xputs): New variable.
25642 * util/grub-script-check.c (grub_putchar): Removed.
25643 (grub_xputs_real): New function.
25644 (grub_xputs): New variable.
25645 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25646 (grub_xputs_real): New function.
25647 (grub_xputs): New variable.
25648 * util/import_unicode.py: New file.
25649 * util/grub-mkfont.c (ft_errmsgs): New array.
25650 (grub_glyph_info): Make bitmap a pointer.
25651 (file_formats): New type WIDTH_SPEC.
25652 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25653 (options): Add width-spec.
25654 (help): Likewise.
25655 (add_char): Renamed to ...
25656 (add_glyph): ... this.
25657 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25658 (glyph_replace): New type.
25659 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25660 (add_char): New function.
25661 (add_subst): Likewise.
25662 (process_cursive): Likewise.
25663 (add_font): Handle GSUB.
25664 (write_font_width_spec): New function.
25665 (main): Sort glyphs.
25666 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25667 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25668 * kern/term.c (grub_cls): Moved from here...
25669 * normal/term.c (grub_cls): ... here.
25670
50f0bcda
CW
256712010-07-02 Colin Watson <cjwatson@ubuntu.com>
25672
25673 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25674 suitable for using within the format argument of printf when
25675 converting grub_size_t.
25676 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25677 "x" to convert grub_size_t arguments.
25678
40372103
VS
256792010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25680
25681 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25682 too long captions.
25683 (list_get_minimal_size): Take selection box into account.
25684
942a10c7
VS
256852010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25686
25687 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25688 NULL font.
25689
2bdb2892
CW
256902010-07-02 Colin Watson <cjwatson@ubuntu.com>
25691
25692 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25693 devices when iterating over /dev/disk/by-id; they will be handled
25694 later if appropriate, which they aren't always (e.g. LVM).
25695
e03ed6c1
CW
256962010-07-02 Colin Watson <cjwatson@ubuntu.com>
25697
25698 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25699 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25700 fails.
25701 (grub_halt): Likewise.
25702 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25703 reset-all fails.
25704 (grub_halt): Don't return, even if all of shut-down, power-off, and
25705 poweroff fail.
25706
47695765
CW
257072010-07-02 Colin Watson <cjwatson@ubuntu.com>
25708
25709 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25710 arguments, not three.
25711
507736c8
CW
257122010-07-02 Colin Watson <cjwatson@ubuntu.com>
25713
25714 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25715 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25716 LVM-on-RAID is handled correctly.
25717
e3c8cd37
CW
257182010-07-02 Colin Watson <cjwatson@ubuntu.com>
25719
25720 * docs/grub.texi (Changes from GRUB Legacy): New section.
25721 (Future): Fix typo.
25722
8d4a2fec
CW
257232010-07-02 Colin Watson <cjwatson@ubuntu.com>
25724
25725 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
25726 grub.d/README accidentally ends up executable for one reason or
25727 another. Ignore it.
25728
1c4827be
VS
257292010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25730
25731 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
25732 (gpt_partition_map_iterate): Support non-512B sectors.
25733
d9a0c941
VS
257342010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25735
25736 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25737 Tested by: Seth Goldberg.
25738
48f27e87
VS
257392010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25740
25741 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25742 Properly align mbi.
25743 Reported by: Seth Goldberg.
25744
b0c4f956
VS
257452010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25746
25747 * util/grub-mkrescue.in: Avoid module duplication.
25748
105a2e8c
SF
257492010-07-01 Sean Finney <seanius@seanius.net>
25750
25751 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
25752
5944958c
SF
257532010-07-01 Sean Finney <seanius@seanius.net>
25754
25755 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
25756
257572010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25758
25759 * disk/lvm.c (grub_lvm_checkvalue): New function.
25760 (grub_lvm_check_flag): Likewise.
25761
b79889ba
RM
257622010-07-01 Robert Millan <rmh@gnu.org>
25763
25764 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25765 Support 'p' as partition separator on kernel of FreeBSD (used
25766 with GPT labels).
25767 (grub_util_biosdisk_get_grub_dev): Likewise.
25768
ec1d04f1
VS
257692010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25770
25771 Yeeloong firmware port.
25772
25773 * boot/mips/yeeloong/fwstart.S: New file.
25774 * bus/cs5536.c (gpiodump): New const.
25775 (set_io_space): New function.
25776 (set_iod): Likewise.
25777 (set_p2d): Likewise.
25778 (grub_cs5536_init_geode): Likewise.
25779 * commands/mips/yeeloong/lsspd.c: New file.
25780 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25781 (serial_mod_SOURCES): New variable.
25782 (serial_mod_CFLAGS): Likewise.
25783 (serial_mod_LDFLAGS): Likewise.
25784 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25785 term/terminfo.c and term/tparm.c.
25786 (pkglib_IMAGES): Add fwstart.img.
25787 (fwstart_img_SOURCES): New variable.
25788 (fwstart_img_CFLAGS): Likewise.
25789 (fwstart_img_ASFLAGS): Likewise.
25790 (fwstart_img_LDFLAGS): Likewise.
25791 (fwstart_img_FORMAT): Likewise.
25792 (pkglib_MODULES): Add lsspd.mod.
25793 (lsspd_mod_SOURCES): New variable.
25794 (lsspd_mod_CFLAGS): Likewise.
25795 (lsspd_mod_LDFLAGS): Likewise.
25796 (pkglib_MODULES): Add halt.mod.
25797 (halt_mod_SOURCES): New variable.
25798 (halt_mod_CFLAGS): Likewise.
25799 (halt_mod_LDFLAGS): Likewise.
25800 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25801 (serial_mod_SOURCES): Removed.
25802 (serial_mod_CFLAGS): Likewise.
25803 (serial_mod_LDFLAGS): Likewise.
25804 * disk/ata.c (check_device): New function.
25805 (grub_ata_device_initialize): Use check_device.
25806 (grub_ata_iterate): Recheck devices.
25807 (grub_ata_open): Likewise.
25808 (grub_atapi_iterate): Likewise.
25809 (grub_atapi_open): Likewise.
25810 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
25811 (GRUB_ATA_CH1_PORT1): Likewise.
25812 (GRUB_ATA_CH0_PORT2): Likewise.
25813 (GRUB_ATA_CH1_PORT2): Likewise.
25814 * include/grub/mips/loongson.h: New file.
25815 * include/grub/mips/yeeloong/ec.h: Likewise.
25816 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25817 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25818 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25819 * include/grub/misc.h (grub_halt): Declare as noreturn.
25820 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25821 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25822 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25823 (UART_ENABLE_DTRRTS): Likewise.
25824 (UART_ENABLE_MODEM): Removed.
25825 (UART_ENABLE_OUT2): New const.
25826 * include/grub/term.h (grub_term_register_input_active): New function.
25827 (grub_term_register_output_active): Likewise.
25828 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25829 argument.
25830 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25831 (init_pci): New function.
25832 (grub_machine_init): Execute platform init when firmware. Init serial.
25833 (grub_halt): Implement.
25834 (grub_exit): Likewise.
25835 (grub_reboot): Likewise.
25836 * term/serial.c (serial_hw_init): Update macros.
25837 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25838 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25839 (image_targets): New target mipsel-yeeloong-flash.
25840 (generate_image): Support IMAGE_YEELOONG_FLASH.
25841 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25842 (grub_video_sm712_setup): Init card.
25843 (grub_video_sm712_set_palette): Removed.
25844 * video/sm712_init.c: New file.
25845
ff4a70d2
CW
258462010-06-30 Colin Watson <cjwatson@ubuntu.com>
25847
25848 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25849 PATH when running help2man and then run it on the unadorned
25850 executable names, rather than passing $(builddir)/* paths to
25851 help2man. This avoids the build directory ending up in generated
25852 manual pages.
25853
1246efeb
CW
258542010-06-29 Colin Watson <cjwatson@ubuntu.com>
25855
25856 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25857 to avoid accidents when debugging with 'sh -x'.
25858 * util/grub-mkrescue.in: Likewise.
25859 * util/grub.d/00_header.in: Likewise.
25860 * util/grub.d/10_hurd.in: Likewise.
25861 * util/grub.d/10_kfreebsd.in: Likewise.
25862 * util/grub.d/10_linux.in: Likewise.
25863 * util/grub.d/10_netbsd.in: Likewise.
25864 * util/grub.d/10_windows.in: Likewise.
25865 * util/grub.d/20_linux_xen.in: Likewise.
25866 * util/grub.d/30_os-prober.in: Likewise.
25867 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25868
1ba9b889
CW
258692010-06-29 Colin Watson <cjwatson@ubuntu.com>
25870
25871 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25872 last character in the buffer.
25873 Reported by: Vladimir Serbinenko.
25874
dccaf99d
RM
258752010-06-29 Robert Millan <rmh@gnu.org>
25876
25877 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25878 (Command-line and menu entry commands): Document `badram' command.
25879
d500ed12
RM
258802010-06-28 Robert Millan <rmh@gnu.org>
25881
25882 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25883 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25884 command using ${GRUB_BADRAM} as parameter.
25885
20bc84a6
CW
258862010-06-28 Colin Watson <cjwatson@ubuntu.com>
25887
25888 * docs/grub.texi (Device map): New section.
25889 (Themes): New section (stub).
25890 * Makefile.in (docs/grub.info): The info documentation now builds
25891 without errors. Make sure it stays that way.
25892
4045dee1
VS
258932010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25894
25895 Use normal parser for menu entries.
25896 Reported by: Thomas Frauendorfer
25897
25898 * include/grub/parser.h (grub_parser_execute): Don't export.
25899 * normal/menu.c (grub_menu_execute_entry_real): New function.
25900 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25901
bca58c7b
CW
259022010-06-28 Colin Watson <cjwatson@ubuntu.com>
25903
25904 * docs/grub.texi (Embedded configuration): New section (replacing
25905 old "Preset Menu" stub).
25906 (Images): New section.
25907 (configfile): Note that any menu entries defined in `file' are shown
25908 immediately.
25909
dec53e63
JT
259102010-06-28 Josh Triplett <josh@joshtriplett.org>
25911
25912 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25913
c06e40f7
CW
259142010-06-28 Colin Watson <cjwatson@ubuntu.com>
25915
25916 * util/grub-install.in: Add --debug-image= option.
25917
cb88052b
CW
259182010-06-28 Colin Watson <cjwatson@ubuntu.com>
25919
25920 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25921 possible on Linux.
25922
25923 * util/deviceiter.c (check_device): Rename to ...
25924 (check_device_readable_unique): ... this. Update all callers.
25925 Maintain and check a list of which devices (by canonicalized name)
25926 have already been seen.
25927 (clear_seen_devices): New function.
25928 (compare_file_names) [__linux__]: New function.
25929 (grub_util_iterate_devices): Clear the list of seen devices on exit
25930 and (just in case) on entry.
25931 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25932 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25933 seen-devices list, superseded by general code in check_device.
25934
bbe34652
CW
259352010-06-28 Colin Watson <cjwatson@ubuntu.com>
25936
25937 * commands/cat.c (options): New variable.
25938 (grub_cmd_cat): Parse options. If the --dos option is given, print
25939 DOS-style "\r\n" line endings as simple newlines (Debian bug
25940 #586358).
25941 (GRUB_MOD_INIT): Use extcmd.
25942 (GRUB_MOD_FINI): Likewise.
25943 * docs/grub.texi (cat): Document --dos.
25944
412e09f3
VS
259452010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25946
25947 XEN with Linux grub-mkconfig support.
25948
25949 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25950 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25951 GRUB_CMDLINE_XEN_DEFAULT.
25952 * util/grub.d/20_linux_xen.in: New file.
25953
53f3ef38 259542010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
25955
25956 Initialise VGA video on qemu ourselves.
25957
25958 * boot/i386/qemu/boot.S: Don't call 0xc000.
25959 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25960 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25961 (kernel_img_HEADERS): Add pci.h.
25962 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25963 * configure.ac: Force unifont on qemu and yeeloong.
25964 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25965 (grub_vga_palette_write): Use correct register.
25966 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25967 Call grub_qemu_init_cirrus.
25968 * kern/i386/qemu/init.c: New file.
25969 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25970
25971 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25972
c75be4fb
PR
259732010-06-26 Pavel Roskin <proski@gnu.org>
25974
25975 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25976 13.
25977
d8034603
CW
259782010-06-26 Colin Watson <cjwatson@ubuntu.com>
25979
25980 * docs/grub.texi (Simple configuration): Explain that
25981 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25982 set to `true' to disable their respective recovery entries, not
25983 merely set.
25984
3fa06487
CW
259852010-06-26 Colin Watson <cjwatson@ubuntu.com>
25986
25987 Make the `source' command slightly faster.
25988
25989 * normal/main.c (grub_normal_execute): Don't re-read list files when
25990 nested.
25991
e9b29642
CW
259922010-06-23 Colin Watson <cjwatson@ubuntu.com>
25993
25994 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25995 field position and mask size to red fields from mode_info, not
25996 green.
25997 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25998 Remove redundant tag->common.framebuffer_type assignment.
25999 Reported by: Seth Goldberg.
26000
e726542f
CW
260012010-06-23 Colin Watson <cjwatson@ubuntu.com>
26002
26003 Sync up other versions of the Linux loader with Robert Millan's
26004 change of 2010-01-09, "Make loader output a bit more user-friendly".
26005
26006 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
26007 grub_dprintf().
26008 (grub_cmd_linux): Likewise.
26009 (grub_cmd_initrd): Likewise.
26010 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
26011 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26012
d6e98a17
CW
260132010-06-21 Colin Watson <cjwatson@ubuntu.com>
26014
26015 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
26016 larger than MEMORY_MAP_SIZE.
26017
14d3f08e
BC
260182010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
26019
26020 Fix parallel build.
26021
26022 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
26023 dependency.
26024 * script/parser.y: #include grub_script.tab.h header.
26025
4f9613a3
VS
260262010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26027
26028 Support >3GiB and <16MiB RAM in i386-qemu.
26029
26030 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
26031 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
26032 (grub_lower_mem): Removed.
26033 (grub_upper_mem): Likewise.
26034 (mem_size): Made static.
26035 (above_4g): New variable.
26036 (grub_machine_mmap_init): Detect small mem_size and above_4g.
26037 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
26038 support.
26039
05e51879
VS
260402010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26041
26042 Cirrus 5446 and Bochs video cards support.
26043
26044 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
26045 video_bochs.mod
26046 (video_cirrus_mod_SOURCES): New variable.
26047 (video_cirrus_mod_CFLAGS): Likewise.
26048 (video_cirrus_mod_LDFLAGS): Likewise.
26049 (video_bochs_mod_SOURCES): Likewise.
26050 (video_bochs_mod_CFLAGS): Likewise.
26051 (video_bochs_mod_LDFLAGS): Likewise.
26052 * include/grub/vga.h: New file.
26053 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
26054 (grub_video_fb_set_page_t): New type.
26055 (grub_video_fb_setup): New prototype.
26056 (grub_video_fb_swap_buffers): Likewise.
26057 (grub_video_fb_get_info_and_fini): Likewise.
26058 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
26059 (CRTC_DATA_PORT): Likewise.
26060 (CRTC_CURSOR): Likewise.
26061 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26062 (CRTC_CURSOR_ADDR_LOW): Likewise.
26063 (CRTC_CURSOR_DISABLE): Likewise.
26064 (update_cursor): Use grub_vga_cr_write.
26065 (grub_vga_text_setcursor): Likewise.
26066 * video/bochs.c: New file.
26067 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
26068 (palette): Likewise.
26069 (palette_size): Likewise.
26070 (framebuffer): New variable.
26071 (grub_video_fb_init): Use 'framebuffer'.
26072 (grub_video_fb_fini): Likewise.
26073 (grub_video_fb_get_info): Likewise.
26074 (grub_video_fb_get_palette): Likewise.
26075 (grub_video_fb_set_palette): Likewise.
26076 (grub_video_fb_set_viewport): Likewise.
26077 (grub_video_fb_get_viewport): Likewise.
26078 (grub_video_fb_map_color): Likewise.
26079 (grub_video_fb_map_rgb): Likewise.
26080 (grub_video_fb_map_rgba): Likewise.
26081 (grub_video_fb_unmap_color): Likewise.
26082 (grub_video_fb_unmap_color_int): Likewise.
26083 (grub_video_fb_fill_rect): Likewise.
26084 (grub_video_fb_blit_bitmap): Likewise.
26085 (grub_video_fb_blit_render_target): Likewise.
26086 (grub_video_fb_scroll): Likewise.
26087 (grub_video_fb_create_render_target): Likewise.
26088 (grub_video_fb_doublebuf_blit_init): Likewise.
26089 (grub_video_fb_set_active_render_target): Handle doublebuffering.
26090 (doublebuf_pageflipping_update_screen): New function.
26091 (doublebuf_pageflipping_init): Likewise.
26092 (grub_video_fb_setup): Likewise.
26093 (grub_video_fb_swap_buffers): Likewise.
26094 (grub_video_fb_get_info_and_fini): Likewise.
26095 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
26096 All users updated.
26097 (doublebuf_pageflipping_commit): Restructured into ...
26098 (doublebuf_pageflipping_set_page): ... this.
26099 (doublebuf_pageflipping_update_screen): Removed.
26100 (doublebuf_pageflipping_init): Likewise.
26101 (double_buffering_init): Likewise.
26102 (grub_video_vbe_setup): Use grub_video_fb_setup.
26103 (grub_video_vbe_swap_buffers): Removed.
26104 (grub_video_vbe_set_active_render_target): Likewise.
26105 (grub_video_vbe_get_active_render_target): Likewise.
26106 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
26107 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
26108 grub_video_fb_set_active_render_target and
26109 grub_video_fb_get_active_render_target.
26110 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
26111 (SEQUENCER_DATA_PORT): Likewise.
26112 (MAP_MASK_REGISTER): Likewise.
26113 (CRTC_ADDR_PORT): Likewise.
26114 (CRTC_DATA_PORT): Likewise.
26115 (START_ADDR_HIGH_REGISTER): Likewise.
26116 (START_ADDR_LOW_REGISTER): Likewise.
26117 (GRAPHICS_ADDR_PORT): Likewise.
26118 (GRAPHICS_DATA_PORT): Likewise.
26119 (READ_MAP_REGISTER): Likewise.
26120 (INPUT_STATUS1_REGISTER): Likewise.
26121 (INPUT_STATUS1_VERTR_BIT): Likewise.
26122 (get_map_mask): Use grub_vga_sr_read.
26123 (set_map_mask): Use grub_vga_sr_write.
26124 (set_read_map): Use grub_vga_gr_write.
26125 (set_start_address): Use grub_vga_cr_write.
26126 * video/sm712.c (framebuffer): Remove leftover fields.
26127
4321c64a
CW
261282010-06-20 Colin Watson <cjwatson@ubuntu.com>
26129
26130 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
26131 setting GRUB_VIDEO_BACKEND. Make it available as a user override
26132 instead. Replace the gfxterm backend check with a check that
26133 ${GRUB_PREFIX}/video.lst is non-empty.
26134 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
26135 again.
26136 (load_video): New generated function. Call it before loading
26137 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
26138 * util/grub.d/10_linux.in (linux_entry): Call load_video.
26139 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
26140 * docs/grub.texi (Simple configuration): Document
26141 GRUB_VIDEO_BACKEND.
26142
261432010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26144
26145 Use video functions in linux and xnu loaders.
26146
26147 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
26148 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
26149 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
26150 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
26151 loader/i386/pc/linux.c.
26152 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
26153 (find_line_len): Removed.
26154 (find_framebuf): Likewise.
26155 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
26156 * loader/i386/efi/xnu.c: Removed.
26157 * loader/i386/pc/xnu.c: Moved from here...
26158 * loader/i386/xnu.c: ...here.
26159
26160 Enable priorities in video drivers.
26161
26162 * include/grub/video.h (grub_video_adapter_prio_t): New type.
26163 (grub_video_adapter): New field prio.
26164 (grub_video_register): Respect prio when inserting.
26165 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
26166 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
26167 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
26168 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
26169 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
26170 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
26171 * video/sm712.c (grub_video_sm712_adapter): Likewise.
26172
26173 Fix SDL driver ID.
26174
26175 * include/grub/video.h (grub_video_driver_id_t): New value
26176 GRUB_VIDEO_DRIVER_SDL.
26177 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
26178
7d24e434
CW
261792010-06-17 Colin Watson <cjwatson@ubuntu.com>
26180
26181 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
26182 argument to printf.
26183 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26184
c88a83f6
CW
261852010-06-17 Colin Watson <cjwatson@ubuntu.com>
26186
26187 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
26188 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26189
094dfb69
CW
261902010-06-17 Colin Watson <cjwatson@ubuntu.com>
26191
26192 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
26193 directly, and recommend grub-install instead.
26194 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26195
2164da6b
CW
261962010-06-17 Colin Watson <cjwatson@ubuntu.com>
26197
26198 Fix i386-pc prefix handling with nested partitions (Debian bug
26199 #585068). Note that the case where the core image is booted using
26200 multiboot and relocated from its original location still requires
26201 more work.
26202
26203 * kern/i386/pc/init.c (make_install_device): If the prefix starts
26204 with "(,", fill the boot drive in between those two characters, but
26205 expect that a full partition specification including partition map
26206 names will follow.
26207 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
26208 specified, write a prefix without the drive name but including a
26209 full partition specification.
26210
044e2e60
CW
262112010-06-16 Colin Watson <cjwatson@ubuntu.com>
26212
26213 * util/grub-mkconfig.in: Ignore non-option arguments, for
26214 compatibility with older versions (before 2010-06-12) which did the
26215 same. In particular, this makes it easier to ship an update-grub
26216 wrapper which is compatible with that used with GRUB Legacy (Debian
26217 bug #586056).
26218
5591324f
GS
262192010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26220
26221 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
26222 for manual page generation.
26223
662e24d5
GS
262242010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26225
26226 * po/POTFILES: Remove leftover commands/handler.c.
26227
8d70754e
CW
262282010-06-14 Colin Watson <cjwatson@ubuntu.com>
26229
26230 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
26231 left this script non-functional.
26232
41160e2e
CW
262332010-06-14 Colin Watson <cjwatson@ubuntu.com>
26234
26235 * docs/man/grub-emu.h2m: New file.
26236
b5309cc1
CW
262372010-06-13 Colin Watson <cjwatson@ubuntu.com>
26238
26239 * docs/grub.texi (Commands): Document reduced command set in rescue
26240 mode.
26241 (cpuid): New section.
26242
fcb2d090
GS
262432010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
26244
26245 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
26246 new partition naming style.
26247 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
26248
96e5c556
BC
262492010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
26250
26251 Add "-o grub.iso" like cmdline options support.
26252
26253 * util/grub-install.in: Improve cmdline option parsing.
26254 * util/grub-mkconfig.in: Likewise.
26255 * util/grub-mkrescue.in: Likewise.
26256 * util/grub-reboot.in: Likewise.
26257 * util/grub-set-default.in: Likewise.
26258 * util/i386/efi/grub-install.in: Likewise.
26259 * util/ieee1275/grub-install.in: Likewise.
26260 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26261
c16be99b
CW
262622010-06-12 Colin Watson <cjwatson@ubuntu.com>
26263
26264 * .bzrignore: Ignore 41_custom.
26265
ce08a9fb
TS
262662010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26267
26268 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
26269
7beac90c
CW
262702010-06-12 Colin Watson <cjwatson@ubuntu.com>
26271
26272 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
26273 prototype declarations.
26274
26275 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
26276 generating fs, partmap, and video lists.
26277 * include/grub/fs.h (grub_fs_register): Omit prototype if
26278 GRUB_LST_GENERATOR is defined.
26279 * include/grub/partition.h (grub_partition_map_register): Likewise.
26280 * include/grub/video.h (grub_video_register): Likewise.
26281
1c8f0f8d
JM
262822010-06-12 Javier Martín <lordhabbit@gmail.com>
26283
26284 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
26285
a6085973
TS
262862010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26287
26288 * util/grub-mkrescue.in: Support --xorriso argument.
26289
25c56d29
VS
262902010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26291
26292 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
26293 Suggested by: Thomas Schmitt.
26294
e03e4b24
VS
262952010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26296
26297 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
26298 Suggested by: Thomas Schmitt.
26299
57711df6
VS
263002010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26301
26302 custom.cfg support.
26303
26304 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
26305 * util/grub.d/41_custom.in: New file.
26306
ee62c427
CW
263072010-06-12 Colin Watson <cjwatson@ubuntu.com>
26308
26309 * util/grub-mkrescue.in (make_image): Remove sh module, which has
26310 been merged back into normal.
26311
283af07a
CW
263122010-06-11 Colin Watson <cjwatson@ubuntu.com>
26313
26314 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
26315 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
26316
56a0d956
CW
263172010-06-11 Colin Watson <cjwatson@ubuntu.com>
26318
26319 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
26320 when generating manual pages.
26321 * docs/man/grub-bin2h.h2m: New file.
26322 * docs/man/grub-editenv.h2m: New file.
26323 * docs/man/grub-fstest.h2m: New file.
26324 * docs/man/grub-install.h2m: New file.
26325 * docs/man/grub-macho2img.h2m: New file.
26326 * docs/man/grub-mkconfig.h2m: New file.
26327 * docs/man/grub-mkdevicemap.h2m: New file.
26328 * docs/man/grub-mkfont.h2m: New file.
26329 * docs/man/grub-mkimage.h2m: New file.
26330 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
26331 * docs/man/grub-mkrelpath.h2m: New file.
26332 * docs/man/grub-mkrescue.h2m: New file.
26333 * docs/man/grub-ofpathname.h2m: New file.
26334 * docs/man/grub-pe2elf.h2m: New file.
26335 * docs/man/grub-probe.h2m: New file.
26336 * docs/man/grub-reboot.h2m: New file.
26337 * docs/man/grub-script-check.h2m: New file.
26338 * docs/man/grub-set-default.h2m: New file.
26339 * docs/man/grub-setup.h2m: New file.
26340
3a37e322
VS
263412010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
26342
26343 Use FOR_* macros instead of *_iterate whenever possible.
26344
26345 * commands/handler.c: Removed.
26346 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
26347 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
26348 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26349 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
26350 (grub_probe_SOURCES): Remove kern/parser.c.
26351 (util/grub-script-check.c_DEPENDENCIES): Removed.
26352 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
26353 and grub_script_check_init.c.
26354 (grub_script_check_init.lst): Removed.
26355 (grub_script_check_init.h): Likewise.
26356 (grub_script_check_init.c): Likewise.
26357 (pkglib_MODULES): Remove handler.mod and sh.mod.
26358 (handler_mod_SOURCES): Removed.
26359 (handler_mod_CFLAGS): Likewise.
26360 (handler_mod_LDFLAGS): Likewise.
26361 (normal_mod_SOURCES): Remove normal/handler.c.
26362 Add script/main.c, script/script.c, script/execute.c,
26363 script/function.c, script/lexer.c, grub_script.tab.c
26364 and grub_script.yy.c.
26365 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26366 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26367 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
26368 (grub_setup_SOURCES): Remove kern/parser.c.
26369 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26370 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
26371 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
26372 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26373 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26374 (grub_setup_SOURCES): Remove kern/parser.c.
26375 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26376 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
26377 * include/grub/command.h (grub_command_iterate): Removed.
26378 (FOR_COMMANDS): New macro.
26379 * include/grub/dl.h (grub_dl): New member next.
26380 (grub_dl_iterate): Removed.
26381 (grub_dl_head): New variable declaration.
26382 (FOR_DL_MODULES): New macro.
26383 * include/grub/fs.h: Include list.h.
26384 (grub_fs): Make next first element.
26385 (grub_fs_list): New variable declaration.
26386 (grub_fs_register): Make inline.
26387 (grub_fs_unregister): Likewise.
26388 (grub_fs_iterate): Removed.
26389 (FOR_FILESYSTEMS): New macro.
26390 * include/grub/handler.h: Removed.
26391 * include/grub/list.h (grub_list_hook_t): Removed.
26392 (grub_list_test_t): Likewise.
26393 (grub_list_pop): Likewise.
26394 (grub_list_iterate): Likewise.
26395 (grub_list_insert): Likewise.
26396 (FOR_LIST_ELEMENTS): New macro.
26397 * include/grub/parser.h (grub_parser_class): Removed.
26398 (grub_parser_register): Likewise.
26399 (grub_parser_unregister): Likewise.
26400 (grub_parser_get_current): Likewise.
26401 (grub_parser_set_current): Likewise.
26402 (grub_register_rescue_parser): Likewise.
26403 (grub_rescue_parse_line): New function.
26404 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
26405 * include/grub/script_sh.h (grub_script_function_list): New variable
26406 declaration.
26407 (FOR_SCRIPT_FUNCTIONS): New macro.
26408 (grub_script_function_iterate): Removed.
26409 (grub_normal_parse_line): New prototype.
26410 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
26411 (FOR_DISABLED_TERM_INPUTS): Likewise.
26412 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26413 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26414 * include/grub/video.h (grub_video_adapter): Move 'next' to first
26415 element.
26416 (grub_video_register): Inline.
26417 (grub_video_unregister): Likewise.
26418 (grub_video_adapter_list): New variable declaration.
26419 (grub_video_iterate): Removed.
26420 (FOR_VIDEO_ADAPTERS): New macro.
26421 * kern/dl.c (grub_dl_list): Removed. All users updated.
26422 (grub_dl_iterate): Removed.
26423 * kern/fs.c (grub_fs_list): Make global.
26424 (grub_fs_register): Removed.
26425 (grub_fs_unregister): Likewise.
26426 (grub_fs_iterate): Likewise.
26427 * kern/handler.c: Removed.
26428 * kern/list.c (grub_list_pop): Removed.
26429 (grub_list_iterate): Likewise.
26430 (grub_list_insert): Likewise.
26431 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
26432 (grub_prio_list_insert): Don't use grub_list_insert.
26433 * kern/main.c (grub_register_rescue_parser): Don't call
26434 grub_register_rescue_parser.
26435 * kern/parser.c (grub_parser_class): Removed.
26436 (grub_parser_execute): Use grub_rescue_parse_line.
26437 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
26438 (grub_rescue_parser): Removed.
26439 (grub_register_rescue_parser): Likewise.
26440 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
26441 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
26442 (grub_auth_check_authentication): Likewise.
26443 * normal/completion.c (iterate_command): Removed.
26444 (grub_normal_do_completion): Use FOR_COMMANDS.
26445 * normal/handler.c: Removed.
26446 * normal/main.c (read_config_file): Remove parser changing.
26447 (grub_normal_execute): Don't call read_handler_list.
26448 (grub_normal_read_line_real): Statically allocate prompt.
26449 (grub_cmdline_run): Use grub_normal_parse_line.
26450 (GRUB_MOD_FINI): Don't call free_handler_list.
26451 * normal/menu_entry.c (run): Likewise.
26452 * script/function.c (grub_script_function_list): Make global.
26453 (grub_script_function_iterate): Removed.
26454 * script/main.c (grub_normal_parse_line): Make global.
26455 (grub_sh_parser): Removed.
26456 (GRUB_MOD_INIT): Likewise.
26457 (GRUB_MOD_FINI): Likewise.
26458 * tests/lib/functional_test.c (grub_functional_test): Use
26459 FOR_LIST_ELEMENTS.
26460 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
26461 (grub_test_run): Use FOR_LIST_ELEMENTS.
26462 * tests/lib/unit_test.c (main): Likewise.
26463 * util/deviceiter.c (grub_util_iterate_devices): Don't use
26464 grub_list_pop.
26465 * util/grub-fstest.c (grub_term_input_class): Removed.
26466 (grub_term_output_class): Likewise.
26467 * util/grub-probe.c: Likewise.
26468 * util/i386/pc/grub-setup.c: Likewise.
26469 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26470 * util/grub-script-check.c (main): Don't call grub_init_all and
26471 grub_fini_all.
26472 * video/video.c (grub_video_adapter_list): Make global.
26473 (grub_video_register): Removed.
26474 (grub_video_unregister): Likewise.
26475 (grub_video_iterate): Likewise.
26476
6289c3a7
VS
264772010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
26478
26479 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
26480 reported by Henrique Ferreiro.
26481
91460247
RM
264822010-06-09 Robert Millan <rmh@gnu.org>
26483
26484 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
26485 ones, when both are available.
26486
0ea7c4f9
GS
264872010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26488
26489 Make --version uniform and avoid hard-coded program name.
26490
26491 * util/grub-mkimage.c (main): Use `program_name' instead of
26492 hard-coded string.
26493 * util/i386/pc/grub-setup.c (main): Likewise.
26494 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
26495 * util/grub-install.in: Save the basename of $0 in $self, and use the
26496 latter in informational messages. Use the same format for --version
26497 as the binary programs.
26498 * util/grub-mkconfig.in: Likewise.
26499 * util/grub-mkrescue.in: Likewise.
26500 * util/grub-reboot.in: Likewise.
26501 * util/grub-set-default.in: Likewise.
26502 * util/i386/efi/grub-install.in: Likewise.
26503 * util/ieee1275/grub-install.in: Likewise.
26504 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26505
e8a6f3b6
GS
265062010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26507
26508 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
26509 embedding area. Use <= instead of == when checking for non-emptiness.
26510
f4d095d7
GS
265112010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26512
26513 * configure.ac: Add `.' to the directories searched for unifont.
26514
50e532ca
CW
265152010-06-08 Colin Watson <cjwatson@ubuntu.com>
26516
26517 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
26518 grub_script.yy.h.
26519
d39f3dec
CW
265202010-06-08 Colin Watson <cjwatson@ubuntu.com>
26521
26522 * docs/grub.texi (History): Expand to cover GRUB 2.
26523 (Serial terminal): Refer to `terminal_input' and `terminal_output'
26524 commands, not `terminal'.
26525 (serial): Likewise.
26526 (terminal_input): New section.
26527 (terminal_output): New section.
26528 (uppermem): New section (stub).
26529 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
26530
6ef0ddb4
CW
265312010-06-08 Colin Watson <cjwatson@ubuntu.com>
26532
26533 * docs/grub.texi (Security): Menu entries are unrestricted by
26534 default, not restricted to superusers as I had previously thought.
26535 Reword to account for this.
26536
e0f4c438
CW
265372010-06-07 Colin Watson <cjwatson@ubuntu.com>
26538
26539 * kern/emu/misc.c (device_mapper_null_log): New function.
26540 (grub_device_mapper_supported): New function.
26541 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
26542 prototype.
26543 * kern/emu/hostdisk.c (find_partition_start): Check whether
26544 device-mapper is supported before trying to use it.
26545 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
26546
da908200
CW
265472010-06-07 Colin Watson <cjwatson@ubuntu.com>
26548
26549 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
26550 (File name syntax): Likewise.
26551 (help): --all is no longer supported in GRUB 2. Be more precise
26552 about pattern matching.
26553
fb55c3ac
CW
265542010-06-07 Colin Watson <cjwatson@ubuntu.com>
26555
26556 * normal/completion.c (grub_normal_do_completion): When completing
26557 arguments to "set" and the current word contains an equals sign,
26558 skip to after the equals sign before starting completion.
26559
258c2573
CW
265602010-06-07 Colin Watson <cjwatson@ubuntu.com>
26561
26562 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
26563
ee75515e
CW
265642010-06-07 Colin Watson <cjwatson@ubuntu.com>
26565
26566 * docs/grub.texi (Network): New section.
26567 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
26568 `(nd)' as in GRUB Legacy.
26569 (pxe_unload): New section.
26570
a6a700aa
CW
265712010-06-07 Colin Watson <cjwatson@ubuntu.com>
26572
26573 * docs/grub.texi (Troubleshooting): `echo' is not usually available
26574 in the rescue shell, so recommend using `set' instead. Thanks,
26575 Jordan Uggla.
26576
4003dd38
CW
265772010-06-07 Colin Watson <cjwatson@ubuntu.com>
26578
26579 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
26580 (password): New section.
26581 (password_pbkdf2): New section.
26582 (search): New section.
26583 (Security): New section.
26584 (Troubleshooting): New section, currently very incomplete.
26585 (Invoking grub-mkpasswd-pbkdf2): New section.
26586 (Internals): New section, currently very incomplete.
26587
e1cbcc40
CW
265882010-06-07 Colin Watson <cjwatson@ubuntu.com>
26589
26590 * util/grub.d/00_header.in: Add some more quoting (of
26591 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
26592 work again.
26593 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26594
db8fa1ad
CW
265952010-06-07 Colin Watson <cjwatson@ubuntu.com>
26596
26597 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26598 to `count', fixing variable shadowing that broke the -c option.
26599
266002010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
26601
26602 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26603 in case they contain spaces.
26604
f28a9212
CW
266052010-06-04 Colin Watson <cjwatson@ubuntu.com>
26606
26607 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26608 "part_" to partmap module names, in line with grub-install.
26609 Reported by: Jindřich Makovička (Debian bug #584426).
26610
9cdfe32f
CW
266112010-06-04 Colin Watson <cjwatson@ubuntu.com>
26612
26613 * util/grub-mkimage.c: Make target-related error messages slightly
26614 more helpful; -O talks about "format". Explicitly point to the use
26615 of -O if no target is specified.
26616 Reported by: Didier Raboud (Debian bug #584415).
26617
795b593a
CW
266182010-06-03 Colin Watson <cjwatson@ubuntu.com>
26619
26620 * INSTALL: Document several build requirements for optional features
26621 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26622
9d9b5833
GS
266232010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26624
26625 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26626 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26627 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26628
0819fec8
CW
266292010-06-02 Colin Watson <cjwatson@ubuntu.com>
26630
26631 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26632 Thanks to Jordan Uggla for spotting this.
26633
49396b4f
VS
266342010-06-02 Aleš Nesrsta <starous@volny.cz>
26635
26636 Finally make USB usable.
26637
26638 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26639 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26640 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26641 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26642 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26643 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26644 (GRUB_OHCI_FSMPS): Likewise.
26645 (GRUB_OHCI_PERIODIC_START): Likewise.
26646 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26647 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26648 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26649 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26650 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26651 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26652 (grub_ohci_transaction): Likewise.
26653 (grub_ohci_transfer): Improve condition detection algorithms.
26654 Handle toggle property. Program the transactions correctly.
26655 Improve error handling. Various important fixups.
26656 (grub_ohci_portstatus): Put register writes in right order.
26657 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26658 (grub_uhci_transfer): Don't show "failed" message on success.
26659 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26660 array.
26661 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26662 determine its size.
26663 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26664 before initialization is completed. Use IN direction for empty
26665 transfers. Use last_trans and compute toggle.
26666 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26667 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26668 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26669 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26670 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26671 (grub_usb_device): Increase toggle to 256.
26672 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26673 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26674 GRUB_USBMS_SUBCLASS_SFF8070.
26675 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26676 (grub_scsi_inquiry): New member page and alloc_length.
26677 (grub_scsi_request_sense): New structure.
26678 (grub_scsi_request_sense_data): Likewise.
26679 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26680 control.
26681 * disk/scsi.c (grub_scsi_request_sense): New function.
26682 (grub_scsi_test_unit_ready): Likewise.
26683 (grub_scsi_inquiry): Fill new fields.
26684 (grub_scsi_read_capacity): Likewise.
26685 (grub_scsi_read10): Add request sense at the end.
26686 (grub_scsi_read12): Likewise.
26687 (grub_scsi_write10): Likewise.
26688 (grub_scsi_write12): Likewise.
26689 (grub_scsi_open): Add Test Unit Ready.
26690 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26691 Support additional subclasses. Con't clear halt yet. Activate the
26692 proper config. Calculate LUNs correctly.
26693 (grub_usbms_transfer): Various important fixups.
26694
266952010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26696
26697 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26698 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26699 (grub_ohci_fini_hw): New function.
26700 (grub_ohci_restore_hw): Likewise.
26701 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26702 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26703 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26704
267052010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26706
26707 Dedicated DMA allocations.
26708
26709 * bus/pci.c (grub_memalign_dma32): New function
26710 (grub_dma_free): Likewise.
26711 (grub_dma_get_virt): Likewise.
26712 (grub_dma_get_phys): Likewise.
26713 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26714 (grub_ohci_pci_iter): Use dma32_alloc.
26715 (grub_ohci_transfer): Likewise.
26716 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26717 (grub_usb_bulk_readwrite): Likewise.
26718 * include/grub/pci.h: Add declarations.
26719
267202010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26721
26722 CS5536 support.
26723
26724 * bus/cs5536.c: New file.
26725 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
26726 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
26727 (cs5536_mod_SOURCES): New variable.
26728 (cs5536_mod_CFLAGS): Likewise.
26729 (cs5536_mod_LDFLAGS): Likewise.
26730 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
26731 machine/pci.h.
26732 (kernel_img_SOURCES): Add bus/cs5536.c.
26733 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26734 usb_keyboard.mod.
26735 (usb_mod_SOURCES): New variable.
26736 (usb_mod_CFLAGS): New variable.
26737 (usb_mod_LDFLAGS): New variable.
26738 (usbtest_mod_SOURCES): New variable.
26739 (usbtest_mod_CFLAGS): New variable.
26740 (usbtest_mod_LDFLAGS): New variable.
26741 (ohci_mod_SOURCES): New variable.
26742 (ohci_mod_CFLAGS): New variable.
26743 (ohci_mod_LDFLAGS): New variable.
26744 (usbms_mod_SOURCES): New variable.
26745 (usbms_mod_CFLAGS): New variable.
26746 (usbms_mod_LDFLAGS): New variable.
26747 (usb_keyboard_mod_SOURCES): New variable.
26748 (usb_keyboard_mod_CFLAGS): New variable.
26749 (usb_keyboard_mod_LDFLAGS): New variable.
26750 * include/grub/smbus.h: New file.
26751 * include/grub/cs5536.h: New file.
26752
0b35b2a9
CW
267532010-06-02 Colin Watson <cjwatson@ubuntu.com>
26754
26755 * util/grub.d/00_header.in: Add safety check to make sure that
26756 ${locale_dir} exists before trying to probe it.
26757
ca0afd5b
CW
267582010-06-02 Colin Watson <cjwatson@ubuntu.com>
26759
26760 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
26761 per the GNU Coding Standards; this is now too obscure to be worth
26762 documenting.
26763 (QNX): Likewise.
26764 (chainloader): Remove cross-reference to `SCO UnixWare'.
26765
1c41aa78
CW
267662010-06-02 Colin Watson <cjwatson@ubuntu.com>
26767
26768 * docs/grub.texi (Chain-loading): New section.
26769 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26770 adjusted for GRUB 2.
26771 (SCO UnixWare): Likewise.
26772 (QNX): Likewise.
26773 (chainloader): Add reference to `Block list syntax'.
26774 (drivemap): New section.
26775 (parttool): New section.
26776
bb8ea0f5
CW
267772010-06-02 Colin Watson <cjwatson@ubuntu.com>
26778
26779 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26780 the grub shell'.
26781 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26782 (Installing GRUB using grub-install): Remove reference to the grub
26783 shell; mention `grub-mkimage' and `grub-setup' instead.
26784 (Invoking grub-install): Likewise.
26785 (Interface): Add reference to `Menu entry editor'.
26786 (serial): Remove `--device' option.
26787
288dd6ed
CW
267882010-06-02 Colin Watson <cjwatson@ubuntu.com>
26789
26790 * docs/grub.texi (Configuration): New section, documenting
26791 configuration file generation using grub-mkconfig. I've left a slot
26792 for documenting the full shell scripting format but have not yet
26793 started on writing that up.
26794 (Invoking grub-mkconfig): New section.
26795
34c9f0e9
CW
267962010-06-02 Colin Watson <cjwatson@ubuntu.com>
26797
26798 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26799 (GNU GRUB manual): Likewise.
26800 (General commands): Update description of `terminfo' for GRUB 2.
26801
9121567e
CW
268022010-06-02 Colin Watson <cjwatson@ubuntu.com>
26803
26804 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26805 (GRUB_MOD_INIT): Fix capitalisation.
26806 * docs/grub.texi (Command-line and menu entry commands): Document
26807 gettext and gptsync commands.
26808
ab631611
CW
268092010-06-02 Colin Watson <cjwatson@ubuntu.com>
26810
26811 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
26812 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26813
bde4a9ac
CW
268142010-06-01 Colin Watson <cjwatson@ubuntu.com>
26815
26816 Add btrfs probing support, currently only in the single-device case.
26817
26818 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26819 function.
26820 (grub_guess_root_device): Call find_root_device_from_mountinfo
26821 before looking in /dev.
26822
b1d17e10
VS
268232010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26824
26825 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26826 GRUB_DISK_SIZE_UNKNOWN.
26827 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26828
dfbfe004
JS
268292010-05-31 Jiro SEKIBA <jir@unicus.jp>
26830
26831 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26832 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26833 corrupted or not synced properly.
26834
c2ffc8e9
VS
268352010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26836
26837 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26838 Reported by: Seth Goldberg.
26839
56293166
VS
268402010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26841
26842 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26843 addition of dest.
26844 Reported by: Seth Goldberg.
26845
7620e7de
VS
268462010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26847
26848 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26849 Reported by: Seth Goldberg.
26850
c837af3f
VS
268512010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26852
26853 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26854 64-bit address as signed on MIPS.
26855
c7c75cf4
CW
268562010-05-28 Colin Watson <cjwatson@ubuntu.com>
26857
26858 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26859 to the empty string.
26860
fa4b8490
BC
268612010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26862
26863 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26864
26865 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26866 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26867 * kern/misc.c (__enable_execute_stack): Disable on
26868 GRUB_MACHINE_EMU.
26869
a33075b9
CW
268702010-05-28 Colin Watson <cjwatson@ubuntu.com>
26871
26872 Make grub-probe work with symbolic links under /dev/mapper as well
26873 as with real block devices. The Linux world seems to be (at best)
26874 in transition here, and GRUB shouldn't get caught in the middle.
26875
26876 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26877 /dev/mapper.
26878
d8708134
CW
268792010-05-27 Colin Watson <cjwatson@ubuntu.com>
26880
26881 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26882 input files (in which case exit zero).
26883
db2102a0
CW
268842010-05-27 Colin Watson <cjwatson@ubuntu.com>
26885
26886 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26887 return NULL for various reasons even if it has a maximum-length
26888 buffer: for example, there might be a symlink loop, or the path
26889 might exceed PATH_MAX. If this happens, return NULL.
26890
5fdba519
RM
268912010-05-27 Robert Millan <rmh@gnu.org>
26892
26893 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26894 partmap module to handle cross-partmap setups.
26895 Reported by Orestes Mas. Gràcies!
26896
d1d368e4
CW
268972010-05-27 Colin Watson <cjwatson@ubuntu.com>
26898
26899 * util/grub-mkrescue.in: Initialise override_dir rather than
26900 assuming that it's unset or empty in the environment.
26901
95ac3c73
GS
269022010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26903
26904 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26905 variable index into p_index to suppress a warning with -Wshadow.
26906
7d8c0213
BC
269072010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26908
26909 * INSTALL: Added flex >= 2.5.35 requirement.
26910
db4d5813
VS
269112010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26912
26913 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26914
f24f4300
VS
269152010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26916
26917 cmostest support.
26918
26919 * commands/i386/cmostest.c: New file.
26920 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26921 (cmostest_mod_SOURCES): New variable.
26922 (cmostest_mod_CFLAGS): Likewise.
26923 (cmostest_mod_LDFLAGS): Likewise.
26924 * conf/i386-pc.rmk: Likewise.
26925 * docs/grub.texi (Vendor power-on keys): New section.
26926 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26927 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26928 and GRUB_BUTTON_CMOS_ADDRESS.
26929 * util/grub.d/00_header.in: Handle powering-on by separate button.
26930
ad603f61
VS
269312010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26932
26933 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26934 Removed drawing_scrollbar argument. All users updated
26935 Fixes #29792.
26936 Reported by Jo Shields
26937
3ecb080a
VS
269382010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26939
26940 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26941 buffer since gfxterm handles double repaint.
26942
5f2316c1
VS
269432010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26944
26945 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26946 * term/gfxterm.c (real_scroll): Likewise.
26947
9a25f885
VS
269482010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26949
26950 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26951 before calling BIOS.
26952
39fbb79a
VS
269532010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26954
26955 * include/grub/i18n.h: Always enable grub_gettext.
26956
228cfa97
VS
269572010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26958
26959 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26960 partition naming style.
26961
21717c8f
CW
269622010-05-21 Colin Watson <cjwatson@ubuntu.com>
26963
26964 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26965 not the first option.
26966
c0f48e65
CW
269672010-05-20 Colin Watson <cjwatson@ubuntu.com>
26968
26969 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26970
96779aec
CW
269712010-05-20 Colin Watson <cjwatson@ubuntu.com>
26972
26973 * util/misc.c: Move inclusion of <limits.h> to ...
26974 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26975
fa9d256e
GS
269762010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26977
26978 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26979 Fix merge error in NetBSD code.
26980 (find_partition_start) [__NetBSD__]: Likewise.
26981
123b7a85
BC
269822010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26983
26984 Fix grub-mkrescue usage unit testing.
26985
26986 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26987
74276c0d
CF
269882010-05-18 Christian Franke <franke@computer.org>
26989
26990 * util/grub.d/10_windows.in: Use path names instead of
26991 drive letters to prevent warning from Cygwin 1.7.
26992 Add drivemap command to menuentry if needed.
26993
c4f7b523
ST
269942010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26995
26996 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26997 gnumach and gnumach.gz.
26998
95b97950
VS
269992010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27000
27001 * include/grub/i18n.h (gettext): Inline instead of using #define.
27002 (grub_gettext): Likewise.
27003 (_): Likewise.
27004
01b8d2d7
VS
270052010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27006
27007 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
27008 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
27009 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
27010 (main): Add a slash after pkglibdirroot.
27011
654e1d1e
VS
270122010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27013
27014 * util/grub-install.in: Add missing "in" keyword.
27015
26966aeb
VS
270162010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27017
27018 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
27019 Reported by: Seth Goldberg.
27020
75006747
VS
270212010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27022
27023 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
27024
74cbf5bd
CW
270252010-05-18 Colin Watson <cjwatson@ubuntu.com>
27026
27027 * configure.ac: Check for Linux device-mapper support.
27028
27029 * util/hostdisk.c (device_is_mapped): New function.
27030 (find_partition_start): New function, partly broken out from
27031 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
27032 device-mapper support added.
27033 (linux_find_partition): Use find_partition_start.
27034 (convert_system_partition_to_system_disk): Add `st' argument.
27035 Support Linux /dev/mapper/* devices if device-mapper support is
27036 available; only DM-RAID devices are understood at present.
27037 (find_system_device): Add `st' argument. Pass it to
27038 convert_system_partition_to_system_disk.
27039 (grub_util_biosdisk_get_grub_dev): Pass stat result to
27040 find_system_device and convert_system_partition_to_system_disk. Use
27041 find_partition_start.
27042
27043 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
27044 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
27045 * util/deviceiter.c [__linux__]: Define MINOR.
27046 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
27047 * util/mkdevicemap.c (grub_putchar): New function.
27048 (grub_getkey): New function.
27049 (grub_refresh): New function.
27050 (main): Set debug=all if -v -v is used.
27051
355b51e9
CW
270522010-05-18 Colin Watson <cjwatson@ubuntu.com>
27053
27054 Fix build with non-GNU libcs.
27055
27056 * util/misc.c (canonicalize_file_name): Move to ...
27057 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
27058 grub_make_system_path_relative_to_its_root.
27059
7fb5c25f
CW
270602010-05-18 Colin Watson <cjwatson@ubuntu.com>
27061
27062 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
27063 we handle finding grub-mkimage. Default to finding grub-mkimage in
27064 ${bindir} with program_transform_name applied, and provide a
27065 --grub-mkimage option to override this.
27066
1d3293d6
VS
270672010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27068
27069 Remove grub-mkisofs.
27070
27071 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
27072 (grub_mkisofs_SOURCES): Removed.
27073 (grub_mkisofs_CFLAGS): Removed.
27074 * util/mkisofs/defaults.h: Removed.
27075 * util/mkisofs/eltorito.c: Likewise.
27076 * util/mkisofs/exclude.h: Likewise.
27077 * util/mkisofs/hash.c: Likewise.
27078 * util/mkisofs/include/: Likewise.
27079 * util/mkisofs/include/fctldefs.h: Likewise.
27080 * util/mkisofs/include/mconfig.h: Likewise.
27081 * util/mkisofs/include/prototyp.h: Likewise.
27082 * util/mkisofs/include/statdefs.h: Likewise.
27083 * util/mkisofs/iso9660.h: Likewise.
27084 * util/mkisofs/joliet.c: Likewise.
27085 * util/mkisofs/match.c: Likewise.
27086 * util/mkisofs/match.h: Likewise.
27087 * util/mkisofs/mkisofs.c: Likewise.
27088 * util/mkisofs/mkisofs.h: Likewise.
27089 * util/mkisofs/msdos_partition.h: Likewise.
27090 * util/mkisofs/multi.c: Likewise.
27091 * util/mkisofs/name.c: Likewise.
27092 * util/mkisofs/rock.c: Likewise.
27093 * util/mkisofs/tree.c: Likewise.
27094 * util/mkisofs/write.c: Likewise.
27095
5dde9afe
VS
270962010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27097
27098 Unify grub-mkimage accross platforms.
27099
27100 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
27101 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
27102 (grub_mkelfimage_SOURCES): Removed.
27103 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
27104 (util/grub-mkimage.c_DEPENDENCIES): .. this.
27105 (bin_UTILITIES): Add grub-mkimage.
27106 (grub_mkimage_SOURCES): New variable.
27107 (kernel_img_HEADERS): Remove machine/kernel.h.
27108 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
27109 (pkglib_PROGRAMS): Add kernel.img.
27110 (kernel_img_HEADERS): Add machine/kernel.h.
27111 (kernel_img_FORMAT): Removed.
27112 (bin_UTILITIES): Remove grub-mkimage.
27113 (grub_mkimage_SOURCES): Removed.
27114 (grub_mkimage_CFLAGS): Likewise.
27115 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27116 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
27117 (pkglib_PROGRAMS): Add kernel.img.
27118 (bin_UTILITIES): Remove grub-mkimage.
27119 (grub_mkimage_SOURCES): Removed.
27120 (grub_mkimage_CFLAGS): Likewise.
27121 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27122 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
27123 (pkglib_PROGRAMS): Add kernel.img.
27124 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
27125 (pkglib_PROGRAMS): Add kernel.img.
27126 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
27127 (grub_mkimage_SOURCES): Removed.
27128 (grub_mkimage_CFLAGS): Likewise.
27129 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27130 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
27131 (pkglib_PROGRAMS): Add kernel.img.
27132 (bin_UTILITIES): Remove grub-mkimage.
27133 (grub_mkimage_SOURCES): Removed.
27134 (grub_mkimage_CFLAGS): Likewise.
27135 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27136 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
27137 (grub_mkimage_SOURCES): Removed.
27138 (grub_mkimage_CFLAGS): Likewise.
27139 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27140 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
27141 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
27142 (grub_pe32_optional_header): ... this.
27143 (grub_pe64_optional_header): ... and this. All users updated.
27144 (GRUB_PE32_PE32_MAGIC): Split into ..
27145 (GRUB_PE32_PE32_MAGIC): .. this.
27146 (GRUB_PE32_PE64_MAGIC): .. and this.
27147 (GRUB_PE32_SIGNATURE_SIZE): New definition.
27148 * include/grub/elf.h (PT_GNU_STACK): New definition.
27149 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
27150 * include/grub/i386/efi/kernel.h: Likewise.
27151 * include/grub/i386/kernel.h: Likewise.
27152 * include/grub/i386/pc/kernel.h: Likewise.
27153 * include/grub/i386/qemu/boot.h: Likewise.
27154 * include/grub/mips/kernel.h: Likewise.
27155 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27156 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27157 * include/grub/powerpc/kernel.h: Likewise.
27158 * include/grub/sparc64/ieee1275/boot.h: Likewise.
27159 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27160 * include/grub/sparc64/kernel.h: Likewise.
27161 * include/grub/x86_64/efi/kernel.h: Likewise.
27162 * include/grub/x86_64/kernel.h: Likewise.
27163 * include/grub/offsets.h: New file.
27164 * include/grub/kernel.h (grub_module_info): Split into ...
27165 (grub_module_info32): ... this.
27166 (grub_module_info64): ... and this.
27167 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
27168 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
27169 (grub_boot_blocklist): Moved from here ...
27170 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
27171 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
27172 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
27173 * include/grub/types.h (grub_target_to_host16): Removed.
27174 (grub_target_to_host32): Likewise.
27175 (grub_target_to_host64): Likewise.
27176 (grub_host_to_target16): Likewise.
27177 (grub_host_to_target32): Likewise.
27178 (grub_host_to_target64): Likewise.
27179 (grub_host_to_target_addr): Likewise.
27180
27181 Support grub-mkrescue for efi, coreboot and qemu.
27182
27183 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
27184 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
27185 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
27186 * util/grub-mkrawimage.c: Moved from here ...
27187 * util/grub-mkimage.c: ... here. All users updated.
27188 (ALIGN_ADDR): Use image_target.
27189 (TARGET_NO_FIELD): New const.
27190 (image_target_desc): New type.
27191 (image_targets): New array.
27192 (grub_target_to_host64): Use image_target.
27193 (grub_target_to_host32): Likewise.
27194 (grub_target_to_host16): Likewise.
27195 (grub_host_to_target64): Likewise.
27196 (grub_host_to_target32): Likewise.
27197 (grub_host_to_target16): Likewise.
27198 (grub_host_to_target_addr): Likewise.
27199 (generate_image): Handle multiimage.
27200 (main): Require -O parameter. All users updated.
27201 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
27202 util/efi/grub-mkimage.c
27203 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
27204 New option --rom-directory.
27205 Use xorriso.
27206 * util/i386/efi/grub-mkimage.c: Removed.
27207 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
27208 (grub_target_to_host32): Likewise.
27209 (grub_target_to_host64): Likewise.
27210 (grub_host_to_target16): Likewise.
27211 (grub_host_to_target32): Likewise.
27212 (grub_host_to_target64): Likewise.
27213 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
27214 (grub_target_to_host32): Likewise.
27215 (grub_target_to_host64): Likewise.
27216 (grub_host_to_target16): Likewise.
27217 (grub_host_to_target32): Likewise.
27218 (grub_host_to_target64): Likewise.
27219
f4fc97d0
BC
272202010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
27221
27222 Source tree is reorganized for emu build.
27223
27224 * include/grub/util/console.h: Move from here...
27225 * include/grub/emu/console.h: ...to here.
27226 * include/grub/util/getroot.h: Move from here...
27227 * include/grub/emu/getroot.h: ...to here.
27228 * include/grub/util/hostdisk.h: Move from here...
27229 * include/grub/emu/hostdisk.h: ...to here.
27230 * util/console.c: Move from here...
27231 * kern/emu/console.c: ...to here.
27232 * util/getroot.c: Move from here...
27233 * kern/emu/getroot.c: ...to here.
27234 * util/grub-emu.c: Move from here...
27235 * kern/emu/main.c: ...to here.
27236 * util/hostdisk.c: Move from here...
27237 * kern/emu/hostdisk.c: ...to here.
27238 * util/hostfs.c: Move from here...
27239 * kern/emu/hostfs.c: ...to here.
27240 * util/mm.c: Move from here...
27241 * kern/emu/mm.c: ...to here.
27242 * util/pci.c: Move from here...
27243 * bus/emu/pci.c: ...to here.
27244 * util/sdl.c: Move from here...
27245 * video/emu/sdl.c: ...to here.
27246 * util/time.c: Move from here...
27247 * kern/emu/time.c: ...to here.
27248 * util/usb.c: Move from here...
27249 * bus/usb/emu/usb.c: ...to here.
27250
27251 * include/grub/emu/misc.h: New header for grub-emu functions.
27252 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
27253
27254 * conf/any-emu.rmk: Rule updates for above renames.
27255 * conf/common.rmk: Likewise.
27256 * conf/i386-pc.rmk: Likewise.
27257 * conf/i386-qemu.rmk: Likewise.
27258 * conf/mips.rmk: Likewise.
27259 * conf/sparc64-ieee1275.rmk: Likewise.
27260 * conf/x86-efi.rmk: Likewise.
27261
27262 * disk/lvm.h: #include updates for above renames.
27263 * util/grub-mkrelpath.c: Likewise.
27264 * util/grub-probe.c: Likewise.
27265 * util/i386/pc/grub-setup.c: Likewise.
27266 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27267 * kern/emu/console.c: Likewise.
27268 * kern/emu/getroot.c: Likewise.
27269 * kern/emu/hostdisk.c: Likewise.
27270 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
27271
27272 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
27273 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
27274 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
27275 * util/misc.c: Remove grub-emu functions.
27276
cced9145
VS
272772010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
27278
27279 Fix gfxmenu crash.
27280 Reported by: Thorsten Grützmacher.
27281
27282 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
27283 timeout hook.
27284 (circprog_set_property): Register and unregister timeout hook.
27285 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
27286 (label_destroy): Free template. and unregister hook.
27287 (label_set_state): New function.
27288 (label_set_property): Handle templates and hooks.
27289 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
27290 timeout hook.
27291 (progress_bar_set_property): Register and unregister timeout hook.
27292 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
27293 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
27294 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
27295 (update_timeout_visit): Removed.
27296 (update_timeouts): New function.
27297 (redraw_timeouts): Likewise.
27298 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
27299 (grub_gfxmenu_clear_timeout): Likewise.
27300 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
27301 (grub_gfxmenu_timeout_notify): Likewise.
27302 (grub_gfxmenu_timeout_notifications): New external variable.
27303 (grub_gfxmenu_timeout_register): New function.
27304 (grub_gfxmenu_timeout_unregister): Likewise.
27305
c6e5caab
VS
273062010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27307
27308 Transform (broken) vga terminal into (working) vga video driver.
27309
27310 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
27311 video/i386/pc/vga.c.
27312 * include/grub/video.h (grub_video_driver_id):
27313 Add GRUB_VIDEO_DRIVER_VGA.
27314 * term/i386/pc/vga.c: Renamed to ...
27315 * video/i386/pc/vga.c: ...this
27316 (DEBUG_VGA): Removed.
27317 (CHAR_WIDTH): Likewise.
27318 (CHAR_HEIGHT): Likewise.
27319 (TEXT_WIDTH): Likewise.
27320 (TEXT_HEIGHT): Likewise.
27321 (DEFAULT_FG_COLOR): Likewise.
27322 (DEFAULT_BG_COLOR): Likewise.
27323 (colored_char): Likewise.
27324 (xpos): Likewise.
27325 (ypos): Likewise.
27326 (cursor_state): Likewise.
27327 (fg_color): Likewise.
27328 (bg_color): Likewise.
27329 (text_buf): Likewise.
27330 (page): Likewise.
27331 (font): Likewise.
27332 (framebuffer): New variable.
27333 (set_read_map): Disabled.
27334 (setup): New variable.
27335 (is_target): Likewise.
27336 (grub_vga_mod_init): Likewise.
27337 (grub_vga_mod_fini): Likewise.
27338 (check_vga_mem): Likewise.
27339 (write_char): Likewise.
27340 (write_cursor): Likewise.
27341 (scroll_up): Likewise.
27342 (grub_vga_putchar): Likewise.
27343 (grub_vga_getcharwidth): Likewise.
27344 (grub_vga_getwh): Likewise.
27345 (grub_vga_getxy): Likewise.
27346 (grub_vga_gotoxy): Likewise.
27347 (grub_vga_cls): Likewise.
27348 (grub_vga_setcolorstate): Likewise.
27349 (grub_vga_setcursor): Likewise.
27350 (grub_video_vga_init): New function.
27351 (grub_video_vga_setup): Likewise.
27352 (grub_video_vga_fini): Likewise.
27353 (update_target): Likewise.
27354 (grub_video_vga_blit_bitmap): Likewise.
27355 (grub_video_vga_blit_render_target): Likewise.
27356 (grub_video_vga_set_active_render_target): Likewise.
27357 (grub_video_vga_get_active_render_target): Likewise.
27358 (grub_video_vga_swap_buffers): Likewise.
27359 (grub_video_vga_set_palette): Likewise.
27360 (grub_video_vga_get_info_and_fini): Likewise.
27361 (grub_vga_term): Removed.
27362 (grub_video_vga_adapter): New variable.
27363 (GRUB_MOD_INIT): Register a video driver instead of terminal.
27364 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
27365
2bf61a98
VS
273662010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27367
27368 * video/readers/jpeg.c: Indented.
27369
09ddcd11
VS
273702010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27371
27372 Various jpeg cleanups.
27373
27374 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
27375 (grub_jpeg_decode_quan_table): Use sizeof.
27376 (grub_jpeg_decode_du): Use ARRAY_SIZE.
27377
e5507505
PH
273782010-05-05 Peter Hurley <No e-mail available> (tiny change)
27379
27380 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
27381 tables. Ignore non-last ac bit.
27382 (grub_jpeg_decode_quan_table): Likewise.
27383
7e720a9b
VS
273842010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27385
27386 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
27387 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
27388 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27389 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
27390 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
27391 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
27392
a7fc080b
VS
273932010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27394
27395 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
27396 error.
27397
2bf6012d
VS
273982010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27399
27400 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
27401
265d68cd
VS
274022010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27403
27404 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
27405 condition.
27406
274072010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
27408
27409 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
27410 part.
27411
265d68cd 274122010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
27413
27414 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
27415 pointers.
27416
265d68cd 274172010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
27418
27419 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
27420
d1b61374
CF
274212010-05-01 Christian Franke <franke@computer.org>
27422
27423 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
27424 Remove broken Cygwin path conversion.
27425 * util/misc.c: [__CYGWIN__] Add include and define.
27426 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
27427 for Cygwin 1.7.
27428 (make_system_path_relative_to_its_root): Simplify loop, replace early
27429 return by break.
27430 [__CYGWIN__] Add conversion to win32 path.
27431 Include "/" case in trailing slash removal.
27432
3558c6e9
VS
274332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27434
27435 * kern/main.c (grub_load_config): Fix copy-pasted comment.
27436 Reported by: Seth Goldberg
27437
f5f3ff93
VS
274382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27439
27440 * commands/help.c (grub_cmd_help): Fix a typo.
27441 Reported by: Seth Goldberg
27442
d8b5cd40
VS
274432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27444
27445 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
27446 name and add N_.
27447 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
27448 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
27449 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
27450 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
27451 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
27452 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
27453 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27454 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27455 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27456 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27457 * normal/context.c (GRUB_MOD_INIT): Likewise.
27458 * normal/main.c (GRUB_MOD_INIT): Likewise.
27459 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27460 * term/serial.c (GRUB_MOD_INIT): Likewise.
27461 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27462
88c14915
VS
274632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27464
27465 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
27466 extra == 0.
27467
165134bc
VS
274682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27469
27470 * commands/iorw.c: New file.
27471 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
27472 (iorw_mod_SOURCES): New variable.
27473 (iorw_mod_CFLAGS): Likewise.
27474 (iorw_mod_LDFLAGS): Likewise.
27475
c5ac9b32
VS
274762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27477
27478 Hotkey support
27479
27480 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
27481 * normal/main.c (hotkey_aliases): New variable.
27482 (grub_normal_add_menu_entry): Parse "--hotkey".
27483 * normal/menu_text.c (run_menu): Handle hotkeys.
27484
ce60689c
VS
274852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27486
27487 * kern/i386/coreboot/init.c (grub_machine_init): Call
27488 grub_machine_mmap_init on qemu.
27489
0359d006
VS
274902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27491
27492 * boot/i386/qemu/boot.S: Add a missing .code16.
27493
7819a456
VS
274942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27495
27496 Use LBIO on coreboot.
27497
27498 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
27499 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
27500 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
27501 New declaration.
27502 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
27503 grub_machine_mmap_init on coreboot.
27504 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
27505 GRUB_LINUXBIOS_MEMBER_LINK.
27506 (grub_machine_mmap_iterate): Fix declaration.
27507 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
27508
7210dca9
VS
275092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27510
27511 Split coreboot and multiboot ports.
27512
27513 * conf/i386-multiboot.rmk: New file.
27514 * configure.ac: Add multiboot port.
27515 * include/grub/i386/multiboot/boot.h: New file.
27516 * include/grub/i386/multiboot/console.h: Likewise.
27517 * include/grub/i386/multiboot/init.h: Likewise.
27518 * include/grub/i386/multiboot/kernel.h: Likewise.
27519 * include/grub/i386/multiboot/loader.h: Likewise.
27520 * include/grub/i386/multiboot/memory.h: Likewise.
27521 * include/grub/i386/multiboot/serial.h: Likewise.
27522 * include/grub/i386/multiboot/time.h: Likewise.
27523 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
27524 * loader/multiboot.c: Likewise.
27525 * loader/multiboot_mbi2.c: Likewise.
27526 * util/grub-mkrescue.in: Generate multiboot rescue.
27527
6f8aaf68
VS
275282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27529
3080f7a7
VS
27530 * kern/parser.c (grub_parser_execute): Cope with read-only config.
27531
275322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27533
27534 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
27535
27536 * commands/terminal.c (abstract_terminal): New struct.
27537 (handle_command): New function. Based on grub_cmd_terminal_input.
27538 (grub_cmd_terminal_input): Use handle_command.
27539 (grub_cmd_terminal_output): Use handle_command.
27540
a8ebb841
BC
275412010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
27542
27543 Fix comment handling.
27544
27545 * tests/grub_script_comments.in: New testcase.
27546 * conf/tests.rmk: Rules for new testcase.
27547 * script/yylex.l: Updated flex rules.
27548
bb06ba08
ST
275492010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
27550
27551 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
27552 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
27553 if argc is 1.
bb06ba08 27554
cc9d2425
VS
275552010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27556
27557 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
27558 autogen issues.
27559
460d8402
CF
275602010-04-26 Christian Franke <franke@computer.org>
27561
27562 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
27563 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
27564 (grub_get_prefix): Remove function.
27565 * util/grub-emu.c (main): Replace grub_get_prefix () call by
27566 make_system_path_relative_to_its_root ().
27567 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
27568
553c01f9
CF
275692010-04-24 Christian Franke <franke@computer.org>
27570
27571 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
27572 (kernel_img_LDFLAGS): Remove -static-libgcc.
27573
2aec1692
CF
275742010-04-24 Christian Franke <franke@computer.org>
27575
27576 * configure.ac: Do not CHECK_BSS_START_SYMBOL
27577 and CHECK_END_SYMBOL if grub-emu is built.
27578 Unset TARGET_OBJ2ELF if grub-emu is built
27579 without module support.
27580
f67dc308
JS
275812010-04-24 Jiro SEKIBA <jir@unicus.jp>
27582
27583 Nilfs2 support.
27584
27585 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
27586 (grub_fstest_SOURCES): Likewise.
27587 (pkglib_MODULES): Add nilfs2.mod.
27588 (nilfs2_mod_SOURCES): New variable.
27589 (nilfs2_mod_CFLAGS): Likewise.
27590 (nilfs2_mod_LDFLAGS): Likewise.
27591 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27592 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27593 * fs/nilfs2.c: New file.
27594
4ba8d354
VS
275952010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27596
27597 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27598 is not supported.
27599
0d2c20c6
GS
276002010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27601
27602 Add grub-mkconfig support for NetBSD.
27603
27604 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27605 * util/grub-mkconfig.in: export new NetBSD specific variables.
27606 * po/POTFILES-shell: added 10_netbsd.in.
27607 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27608
bc4a2d83
BC
276092010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27610
27611 Fix emu build with grub-emu-pci and grub-emu-modules.
27612
27613 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27614 functions.
27615 * include/grub/libpciaccess.h: New file.
27616 * conf/any-emu.rmk: Update kernel headers for emu build.
27617
f48c87aa
VS
276182010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27619
27620 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27621
18959385
VS
276222010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27623
27624 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27625
0037de3f
VS
276262010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27627
27628 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27629 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27630 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27631 util/ieee1275/ofpath.c.
27632 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27633 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27634 * include/grub/sparc64/ieee1275/boot.h
27635 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27636 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27637 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27638 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27639 const char *.
27640 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27641 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27642 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27643 install.
27644
38e55e90
GS
276452010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27646
27647 * util/grub-mkconfig.in: Corrected two == equality tests.
27648 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27649 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27650 expect a number appended to it.
27651 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27652 expects a number appended to it.
27653
a9e6ff28
VS
276542010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27655
27656 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27657
0b830b8f
VS
276582010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27659
27660 * util/hostdisk.c (make_device_name): Change to new partition naming.
27661
0973daeb
VS
276622010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27663
27664 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27665
460d8402 276662010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
27667
27668 * Makefile.in: Add missing localedir setting.
27669
0b456309
CW
276702010-04-14 Colin Watson <cjwatson@ubuntu.com>
27671
27672 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27673 mistake in r2156. Noticed by Anthony Fok.
27674
27675 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27676 @localedir@.
27677 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27678
08f46d62
BC
276792010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27680
27681 Fix a spurious, uninitialized variable warning.
27682
27683 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27684 Initialize variable, shdr.
27685 (grub_freebsd_load_elfmodule): Likewise.
27686 (grub_freebsd_load_elf_meta): Likewise.
27687
8c4a72d4
BC
276882010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27689
27690 Fix for escaped dollar in double quoted strings.
27691
27692 * script/yylex.l: Updated flex rules.
27693 * conf/tests.rmk: Rule for new testcase.
27694 * tests/grub_script_dollar.in: New testcase.
27695
ce44826e
CPE
276962010-04-13 Carles Pina i Estany <carles@pina.cat>
276972010-04-13 Colin Watson <cjwatson@ubuntu.com>
27698
27699 Enclose all translated strings in grub.cfg in single quotes, and
27700 escape them appropriately (Ubuntu bug #552921).
27701
27702 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27703 * util/grub.d/10_hurd.in: Use it.
27704 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27705 * util/grub.d/10_linux.in (linux_entry): Likewise.
27706
4b0cd8f8
VS
277072010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27708
27709 Fix cygwin compilation.
27710
27711 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27712 * include/grub/misc.h (__register_frame_info)
27713 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27714 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27715 * kern/misc.c (__register_frame_info)
27716 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27717 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27718
01fcf061
VS
277192010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27720
27721 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
27722
5d04b11e
VS
277232010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27724
27725 Unify libgcc processing.
27726
27727 * Makefile.in (kernel_img_LDFLAGS): New variable.
27728 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
27729 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
27730 overwriting.
27731 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
27732 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
27733 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27734 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27735 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27736 overwriting. Remove -lgcc and -static-libgcc
27737 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27738 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27739 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27740 (kernel_img_LDFLAGS): Append instead of overwriting.
27741 Remove -lgcc and -static-libgcc
27742 * conf/sparc64-ieee1275.rmk: Likewise.
27743 * include/grub/powerpc/libgcc.h: Move to ...
27744 * include/grub/libgcc.h: .. this.
27745 * include/grub/libgcc.h: Don't export most of the function on x86.
27746 (__bswapsi2): New export.
27747 (__bswapdi2): Likewise.
27748 * include/grub/mips/libgcc.h: Removed.
27749 * include/grub/sparc64/libgcc.h: Likewise.
27750
b7f3ac29
VS
277512010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27752
27753 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
27754 disk_info_msg (conflicts with gettexting into languages with cases).
27755
2c7031b1
GS
277562010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
27757
27758 Add grub-probe support for NetBSD.
27759
27760 * util/getroot.c (find_root_device): Convert block device to
27761 character device on NetBSD.
27762 * util/probe.c (probe): Require character device on NetBSD.
27763 * util/hostdisk.c: NetBSD specific headers.
27764 (configure_device_driver): new function to tune device driver
27765 parameters (currently only for NetBSD floppy driver).
27766 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27767 via disklabel ioctl).
27768 (open_device): call configure_device_driver on NetBSD.
27769 (convert_system_partition_to_system_disk): NetBSD specific code.
27770 (device_is_wholedisk): Likewise.
27771 (grub_util_biosdisk_get_grub_dev): Likewise.
27772 (make_device_name): Fixed a typo in bsd_part_str.
27773 * configure.ac: check for opendisk() and getrawpartition() on
27774 NetBSD and set LIBUTIL.
27775 * Makefile.in: add LIBUTIL to LIBS.
27776
f516290c
BC
277772010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27778
27779 Documentation fix.
27780
27781 * util/grub-script-check.c: Better help message.
27782
d8dcc0df
BC
277832010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27784
27785 Fix FreeBSD build.
27786
27787 * configure.ac: Flex version check.
27788 * conf/common.rmk: Add -Wno-error to sh.mod.
27789 * script/yylex.l: Remove all #pragma.
27790
6734334a
VS
277912010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27792
27793 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27794 prototype.
27795 Reported by: Seth Goldberg.
27796
daea6abd
VS
277972010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27798
27799 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27800 Rename "module" to "module2".
27801 Reported by: Seth Goldberg.
27802
f2fd9d2b
VS
278032010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27804
27805 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27806 EXPORT_FUNC.
27807 Reported by: Seth Goldberg.
27808
be124579
VS
278092010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27810
27811 * lib/posix_wrap/locale.h: Add missing file.
27812 Reported by: Seth Goldberg.
27813
ef5da797
VS
278142010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27815
27816 grub-emu module load support.
27817
27818 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27819 NO_DYNAMIC_MODULES switched to this.
27820 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27821 (CFLAGS): Likewise.
27822 * conf/any-emu.rmk: Generate symlist.
27823 (kernel_img_HEADERS): Add util/datetime.h.
27824 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27825 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27826 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27827 kern/$(target_cpu)/cache.S.
27828 * configure.ac (grub-emu-modules): New option.
27829 * genmk.rb: Handle multiple source lists.
27830 * include/grub/sdl.h: New file.
27831 * include/grub/libusb.h: Likewise.
27832 * util/grub-emu.c (main): Hanle (host) root.
27833 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27834 GRUB_ERR_UNKNOWN_DEVICE.
27835 * util/misc.c: Move mm functions to ...
27836 * util/mm.c: ... here. All users updated.
27837
47822096
VS
278382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27839
27840 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27841 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27842 missing files.
27843 (maintainer-clean): Remove libgcrypt-grub.
27844
5d7e7445
VS
278452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27846
27847 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27848
25f4e252
EC
278492010-04-09 EFI Coder <eficoder@hotmail.com>
27850
27851 * normal/menu_text.c (print_message): Clean up the message and show
27852 the Fn information when on EFI
27853 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27854
027de555
VS
278552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27856
27857 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27858 All users updated.
27859 * normal/crypto.c (read_crypto_list): Likewise.
27860 * normal/dyncmd.c (read_command_list): Likewise.
27861 * normal/term.c (read_terminal_list): Likewise.
27862 * normal/main.c (read_lists): Use explicit prefix.
27863 (read_lists_hook): Use read_lists.
27864 (grub_normal_execute): Likewise.
27865
47779711
VS
278662010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27867
27868 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27869 Reported by: Thomas Schmitt.
27870 Add -no-emul-boot to grub-mkisofs parameters.
27871
1118c32e
VS
278722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27873
27874 * font/font.c: Indented.
27875
7d652447
BC
278762010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27877
27878 Elif support to GRUB script (by Deepak Vankadaru).
27879
27880 * tests/grub_script_if.in: New testcase.
27881 * conf/tests.rmk: Rule for new testcase.
27882 * script/parser.y: Grammar rules for elif.
27883
34bb22df
BC
278842010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27885
27886 While and until loops support to GRUB script.
27887
27888 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27889 (grub_script_create_cmdwhile): New function prototype.
27890 (grub_script_execute_cmdwhile): New function prototype.
27891 * script/execute.c (grub_script_execute_cmdwhile): New function.
27892 * script/parser.y (command): New commands.
27893 (whilecmd): New grammar rule.
27894 (untilcmd): New grammar rule.
27895 * script/script.c (grub_script_create_cmdwhile): New function.
27896 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27897 function.
27898
27899 * tests/grub_script_while1.in: New testcase.
27900 * conf/tests.rmk: Rule for new testcase.
27901
e215d8e0
VS
279022010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27903
27904 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27905 as *.jpg.
27906
d7c43ba1
MV
279072010-04-09 Mario Vazquez <mariovazq@gmail.com>
27908
27909 GRUB_BACKGROUND support.
27910
27911 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27912 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27913
d64795c0
VS
279142010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27915
27916 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27917 Idea by: Mario Vazquez
d64795c0
VS
27918
27919 * util/grub.d/00_header.in: Load pf2 and image modules.
27920
f267f83a
VS
279212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27922
27923 grub-mkconfig multiple terminal support.
27924
27925 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27926 * util/grub.d/00_header.in: Likewise.
27927
b7841ceb
VS
279282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27929
27930 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27931 we use cd $(srcdir).
27932
df60998c
CW
279332010-04-08 Colin Watson <cjwatson@ubuntu.com>
27934
27935 * util/grub.d/10_linux.in: Only use the first word of
27936 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27937 spaces in GRUB_DISTRIBUTOR.
27938 * util/grub.d/10_kfreebsd.in: Likewise.
27939 * util/grub.d/10_hurd.in: Likewise.
27940
fa09c82e
BC
279412010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27942
14e18ae3 27943 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
27944
27945 * tests/util/grub-shell.in: Remove -serial stdio option.
27946
daf892b3
BC
279472010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27948
27949 POSIX header file wrappers.
27950
27951 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27952 equivalents.
27953 * lib/posix_wrap/ctype.h: Likewise.
27954 * lib/posix_wrap/errno.h: Likewise.
27955 * lib/posix_wrap/langinfo.h: Likewise.
27956 * lib/posix_wrap/limits.h: Likewise.
27957 * lib/posix_wrap/localcharset.h: Likewise.
27958 * lib/posix_wrap/stdint.h: Likewise.
27959 * lib/posix_wrap/stdio.h: Likewise.
27960 * lib/posix_wrap/stdlib.h: Likewise.
27961 * lib/posix_wrap/string.h: Likewise.
27962 * lib/posix_wrap/sys/types.h: Likewise.
27963 * lib/posix_wrap/unistd.h: Likewise.
27964 * lib/posix_wrap/wchar.h: Likewise.
27965 * lib/posix_wrap/wctype.h: Likewise.
27966 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27967 (grub_script.yy.h): Likewise.
27968 * script/yylex.l: Remove POSIX emulation #defines.
27969 * Makefile.in (POSIX_CFLAGS): New variable.
27970 (GNULIB_UTIL_CFLAGS): Likewise.
27971
27972 Regexp support.
27973
27974 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27975 (regexp_mod_SOURCES): New variable.
27976 (regexp_mod_CFLAGS): Likewise.
27977 (regexp_mod_LDFLAGS): Likewise.
27978 * commands/regexp.c: New file.
27979 * gnulib/regcomp.c: New file. Imported from gnulib.
27980 * gnulib/regex.c: Likewise.
27981 * gnulib/regex_internal.c: Likewise.
27982 * gnulib/regex_internal.h: Likewise.
27983 * gnulib/regexec.c: Likewise.
27984 * gnulib/regex.h: Likewise.
27985
974ac4f7
VS
279862010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27987
27988 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27989 unsupported video mode types.
27990
2622c3ff
VS
279912010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27992
27993 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27994
064cb524
VS
279952010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27996
27997 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27998 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27999
a8c3b552
VS
280002010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28001
28002 Remove unused grub_vga_get_font.
28003
28004 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
28005 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
28006
187bbe3d
GS
280072010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28008
28009 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
28010 * include/grub/misc.h: Likewise.
28011
b9396631
GS
280122010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28013
28014 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
28015 for which failure is fatal.
28016
50479feb
GS
280172010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28018
28019 * util/grub-install.in: Use mkdir -p to create grub directory.
28020 * util/i386/efi/grub-install.in: Likewise.
28021 * util/ieee1275/grub-install.in: Likewise.
28022
b1654fdf
GS
280232010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28024
28025 * Makefile.in (LEX): new variable.
28026
bd5a6415
GS
280272010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28028
28029 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
28030 `=' and added double quotes on operands of this equality test.
28031
3db3a82b
VS
280322010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28033
28034 * Makefile.in (uninstall): Remove a leftover debug echo.
28035 Reported by: Grégoire Sutre
28036
38023412
VS
280372010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28038
28039 MIPS multiboot2 support.
28040
28041 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
28042 (multiboot2_mod_SOURCES): New variable.
28043 (multiboot2_mod_CFLAGS): Likewise.
28044 (multiboot2_mod_LDFLAGS): Likewise.
28045 (multiboot2_mod_ASFLAGS): Likewise.
28046 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
28047 definition.
28048 (MULTIBOOT_ENTRY_REGISTER): Likewise.
28049 (MULTIBOOT_MBI_REGISTER): Likewise.
28050 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
28051 (MULTIBOOT_ELF32_MACHINE): Likewise.
28052 (MULTIBOOT_ELF64_MACHINE): Likewise.
28053 * include/grub/mips/multiboot.h: New file.
28054 * include/grub/video.h (grub_video_driver_id): New type
28055 GRUB_VIDEO_DRIVER_SM712.
28056 (grub_video_get_info_and_fini): Export.
28057 (grub_video_get_palette): Likewise.
28058 (grub_video_get_driver_id): Likewise.
28059 * include/multiboot2.h: Resynced with spec.
28060 * loader/i386/multiboot.c: Moved from here ...
28061 * loader/multiboot.c: ... here. All users updated.
28062 (grub_multiboot_boot): Use platform-specific macros.
28063 * loader/i386/multiboot_elfxx.c: Moved from here ...
28064 * loader/multiboot_elfxx.c: ... here. All users updated.
28065 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
28066 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
28067 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
28068
47674667
VS
280692010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
28070
28071 Import gnulib argp module.
28072
28073 * gnulib/argp-ba.c: New file.
28074 * gnulib/argp-eexst.c: Likewise.
28075 * gnulib/argp-fmtstream.c: Likewise.
28076 * gnulib/argp-fmtstream.h: Likewise.
28077 * gnulib/argp-fs-xinl.c: Likewise.
28078 * gnulib/argp-help.c: Likewise.
28079 * gnulib/argp-namefrob.h: Likewise.
28080 * gnulib/argp-parse.c: Likewise.
28081 * gnulib/argp-pin.c: Likewise.
28082 * gnulib/argp-pv.c: Likewise.
28083 * gnulib/argp-pvh.c: Likewise.
28084 * gnulib/argp-version-etc.c: Likewise.
28085 * gnulib/argp-version-etc.h: Likewise.
28086 * gnulib/argp-xinl.c: Likewise.
28087 * gnulib/argp.h: Likewise.
28088
495442ed
VS
280892010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28090
28091 * kern/device.c (grub_device_iterate): Clear errors after failed
28092 opening device.
28093
f9fd65df
VS
280942010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28095
28096 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
28097 returned by firmware.
28098
af09641e
VS
280992010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
28100
28101 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
28102 compilation on coreboot and qemu
28103
016883a5
VS
281042010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28105
28106 * include/multiboot2.h: Resync with spec.
28107
f97e1f7d
VS
281082010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28109
28110 Multiboot2 tag support
28111
28112 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
28113 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
28114 Remove loader/multiboot_loader.c.
28115 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
28116 (grub_multiboot2_real_boot): Likewise.
28117 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
28118 (grub_get_multiboot_mmap_count): New proto.
28119 (grub_fill_multiboot_mmap): Likewise.
28120 (grub_multiboot_set_video_mode): Likewise.
28121 (grub_multiboot_set_console): Likewise.
28122 (grub_multiboot_load): Likewise.
28123 (grub_multiboot_load_elf): Likewise.
28124 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
28125 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
28126 * include/multiboot.h: Resynced with specification.
28127 * include/multiboot2.h: Resynced with specification.
28128 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
28129 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
28130 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
28131 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
28132 users updated.
28133 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
28134 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
28135 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
28136 Removed.
28137 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
28138 Moved from here...
28139 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
28140 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
28141 Moved from here...
28142 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
28143 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
28144 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
28145 All users updated.
28146 * loader/i386/multiboot_mbi2.c: New file.
28147
3506b90b
VS
281482010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28149
28150 Resync with gnulib.
28151
28152 * Makefile.in (GNULIB_CFLAGS): New variable.
28153 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
28154 (grub_script_check_CFLAGS): New variable.
28155 * gnulib/alloca.h: Resync with gnulib.
28156 * gnulib/error.c: Likewise.
28157 * gnulib/error.h: Likewise.
28158 * gnulib/fnmatch.c: Likewise.
28159 * gnulib/fnmatch_loop.c: Likewise.
28160 * gnulib/getdelim.c: Likewise.
28161 * gnulib/getline.c: Likewise.
28162 * gnulib/getopt.c: Likewise.
28163 * gnulib/getopt1.c: Likewise.
28164 * gnulib/getopt_int.h: Likewise.
28165 * gnulib/gettext.h: Likewise.
28166 * gnulib/progname.c: Likewise.
28167 * gnulib/progname.h: Likewise.
28168
394a3120
GS
281692010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
28170
28171 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
28172 which is the case with --disabled-nls.
28173
28174 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
28175 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
28176 * util/misc.c: Likewise.
28177 * util/mkisofs/mkisofs.c: Likewise.
28178 * util/mkisofs/mkisofs.h: Likewise.
28179
969d1c78
VS
281802010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28181
28182 Simplify Apple CC support.
28183
28184 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
28185 Add 0 byte at the end not to have a symbol with empty target.
28186 * mmap/i386/pc/mmap_helper.S: Likewise.
28187 * genmk.rb: Ignore errors 2030 and 2050.
28188 * kern/i386/pc/startup.S: Use LOCAL when possible.
28189
8d2977bb
BC
281902010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
28191
28192 Testcase and the fix for final semicolon on cmdline.
28193
28194 * tests/grub_script_final_semicolon.in: New testcase.
28195 * conf/tests.rmk: Rules for the new testcase.
28196 * script/parser.y: Grammar fix.
28197
a7bd6915
BC
281982010-03-26 BVK Chaitanya <bvk@localhost>
28199
28200 Blank lines testcase for GRUB script.
28201
28202 * tests/grub_script_blanklines.in: New testcase.
28203 * conf/tests.rmk: Rules for the new testcase.
28204
e4ff6628
VS
282052010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28206
28207 Don't use __FILE__.
28208
28209 * genmk.rb: Add -DGRUB_FILE to all C targets.
28210 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
28211 * include/grub/list.h: Likewise.
28212 * include/grub/misc.h: Likewise.
28213 * include/grub/mm.h: Likewise.
28214 * include/grub/test.h: Likewise.
28215 * kern/mm.c: Likewise.
28216 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28217
6a5cf6b6
VS
282182010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28219
28220 Sunpc partitions support.
28221
28222 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
28223 (grub_fstest_SOURCES): Likewise.
28224 (pkglib_MODULES): Add part_sunpc.mod.
28225 (part_sunpc_mod_SOURCES): New variable.
28226 (part_sunpc_mod_CFLAGS): Likewise.
28227 (part_sunpc_mod_LDFLAGS): Likewise.
28228 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
28229 * partmap/sunpc.c: New file.
28230
746d9045
BC
282312010-03-26 BVK Chaitanya <bvk@localhost>
28232
28233 For loop support to GRUB script.
28234
28235 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
28236 (grub_script_create_cmdfor): New function prototype.
28237 (grub_script_execute_cmdfor): New function prototype.
28238 * script/execute.c (grub_script_execute_cmdfor): New function.
28239 * script/parser.y (command): New for command.
28240 (forcmd): New grammar rule.
28241 * script/script.c (grub_script_create_cmdfor): New function.
28242 * util/grub-script-check.c (grub_script_execute_cmdfor): New
28243 function.
28244 * tests/grub_script_for1.in: New testcase.
28245 * conf/tests.rmk: Rules for new testcase.
28246
18486b18
VS
282472010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28248
28249 Nested partitions
28250
28251 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
28252 'partition' is NULL, grub_partition_get_start already does that.
28253 * commands/loadenv.c (check_blocklists): Likewise.
28254 (write_blocklists): Likewise.
28255 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
28256 (grub_fstest_SOURCES): Likewise.
28257 (pkglib_MODULES): Add part_bsd.mod.
28258 (part_bsd_mod_SOURCES): New variable.
28259 (part_bsd_mod_CFLAGS): Likewise.
28260 (part_bsd_mod_LDFLAGS): Likewise.
28261 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
28262 (grub_emu_SOURCES): Likewise.
28263 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28264 * include/grub/bsdlabel.h: New file.
28265 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
28266 'get_name'.
28267 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
28268 (grub_partition_map_list): New variable.
28269 (grub_partition_map_register): Inline.
28270 (grub_partition_map_unregister): Likewise.
28271 (FOR_PARTITION_MAPS): New macro.
28272 (grub_partition_map_iterate): Removed.
28273 (grub_partition_get_start): Handle nested partitions.
28274 * include/grub/msdos_partition.h: Remove bsd-related entries.
28275 (grub_pc_partition): Remove.
28276 * kern/disk.c (grub_disk_close): Free partition data.
28277 (grub_disk_adjust_range): Handle nested partitions.
28278 * kern/partition.c (grub_partition_map_probe): New function.
28279 (grub_partition_probe): Parse name to number, handle subpartitions.
28280 (get_partmap): New function.
28281 (grub_partition_iterate): Handle subpartitions.
28282 (grub_partition_get_name): Likewise.
28283 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
28284 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
28285 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
28286 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
28287 Set 'number'.
28288 (acorn_partition_map_probe): Remove.
28289 (acorn_partition_map_get_name): Likewise.
28290 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
28291 Set 'number'.
28292 Set 'index' to 0 since there can be only one partition entry per sector.
28293 (amiga_partition_map_probe): Remove.
28294 (amiga_partition_map_get_name): Likewise.
28295 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
28296 Set 'number'.
28297 Set 'offset' and 'index' to real positions of partitions.
28298 (apple_partition_map_probe): Remove.
28299 (apple_partition_map_get_name): Likewise.
28300 * partmap/bsdlabel.c: New file.
28301 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
28302 Set 'number'.
28303 Allocate 'data' so it can be correctly freed.
28304 Set 'index' to offset inside sector.
28305 (gpt_partition_map_probe): Remove.
28306 (gpt_partition_map_get_name): Likewise.
28307 * partmap/msdos.c (grub_partition_parse): Remove.
28308 (pc_partition_map_iterate): Don't force raw access.
28309 Set 'number'.
28310 Make 'ext_offset' a local variable.
28311 (pc_partition_map_probe): Remove.
28312 (pc_partition_map_get_name): Remove.
28313 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
28314 Set 'number'.
28315 (sun_partition_map_probe): Remove.
28316 (sun_partition_map_get_name): Likewise.
28317 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
28318 (grub_pcpart_type): Likewise.
28319 * util/hostdisk.c (open_device): Handle new numbering scheme.
28320 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
28321 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
28322 * util/grub-probe.c (probe_partmap): Handle nested paritions.
28323 * util/grub-install.in: Insert all subpartition modules.
28324 * util/ieee1275/grub-install.in: Likewise.
28325
a3940f88
AG
283262010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
28327
28328 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
28329 grammar.
28330
21b99926 283312010-03-24 Colin Watson <cjwatson@ubuntu.com>
28332
28333 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
28334
bed1d352
CW
283352010-03-21 Colin Watson <cjwatson@ubuntu.com>
28336
28337 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
28338 match where 'make install' puts them.
28339 * util/i386/efi/grub-install.in: Likewise.
28340
c9f58427
CW
283412010-03-19 Colin Watson <cjwatson@ubuntu.com>
28342
28343 * .bzrignore: Add gentrigtables, grub-script-check,
28344 grub_script_check_init.c, grub_script_check_init.h, and
28345 trigtables.c.
28346
f84afb27
VS
283472010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
28348
28349 * kern/parser.c: Indented.
28350
ed0e3d30
VS
283512010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28352
28353 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
28354
0ea81d98
VS
283552010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28356
28357 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
28358 alpha_mask_size == 0 case.
28359
0cdc2a09
BC
283602010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
28361
28362 GRUB shell lexer and parser improvements.
28363
28364 * conf/any-emu.rmk: Build rule updates.
28365 * conf/common.rmk: Likewise.
28366 * conf/i386-coreboot.rmk: Likewise.
28367 * conf/i386-efi.rmk: Likewise.
28368 * conf/i386-ieee1275.rmk: Likewise.
28369 * conf/i386-pc.rmk: Likewise.
28370 * conf/powerpc-ieee1275.rmk: Likewise.
28371 * conf/x86_64-efi.rmk: Likewise.
28372
28373 * configure.ac: Configure check for flex.
28374
28375 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
28376 types.
28377 (grub_lexer_param): Struct member updates.
28378 (grub_parser_param): Likewise.
28379 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
28380 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
28381 (grub_script_lexer_init): Prototype update.
28382 (grub_script_lexer_record_start): Likewise.
28383 (grub_script_lexer_record_stop): Likewise.
28384 (grub_script_lexer_yywrap): New function prototype.
28385 (grub_script_lexer_fini): Likewise.
28386 (grub_script_execute_argument_to_string): Removed by...
28387 (grub_script_execute_argument_to_argv): ...better version.
28388
28389 * script/execute.c (ROUND_UPTO): New macro.
28390 (grub_script_execute_cmdline): Out of memory fixes.
28391 (grub_script_execute_menuentry): Likewise.
28392 (grub_script_execute_argument_to_string): Removed. Update all
28393 users by...
28394 (grub_script_execute_argument_to_argv): ...better version.
28395 * script/function.c (grub_script_function_create): Use
28396 grub_script_execute_argument_to_argv instead of
28397 grub_script_execute_argument_to_string.
28398
28399 * script/lexer.c (check_varstate): Removed.
28400 (check_textstate): Removed.
28401 (grub_script_lexer_record_start): Likewise.
28402 (grub_script_lexer_record_stop): Likewise.
28403 (recordchar): Replaced with...
28404 (grub_script_lexer_record): ...new function.
28405 (nextchar): Removed.
28406 (grub_script_lexer_init): Rewritten.
28407 (grub_script_yylex): Rewritten.
28408 (append_newline): New function.
28409 (grub_script_lexer_yywrap): New function.
28410 (grub_script_lexer_fini): New function.
28411 (grub_script_yyerror): Sets error flag.
28412
28413 * script/yylex.l: New file.
28414 (grub_lexer_yyfree): Wrapper for flex yyffre.
28415 (grub_lexer_yyalloc): Likewise.
28416 (grub_lexer_yyrealloc): Likewise.
28417 * script/parser.y: Refactored.
28418
28419 * script/script.c (grub_script_arg_add): Out of memory fixes.
28420 (grub_script_add_arglist): Likewise.
28421 (grub_script_create_cmdline): Likewise.
28422 (grub_script_create_cmdmenu): Likewise.
28423 (grub_script_add_cmd): Likewise.
28424 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
28425 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
28426 unnecessary code.
28427
28428 * tests/grub_script_echo1.in: New testcase.
28429 * tests/grub_script_vars1.in: New testcase.
28430 * tests/grub_script_echo_keywords.in: New testcase.
28431
1d63a066
VS
284322010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28433
28434 Remove some redundancy in build system.
28435
28436 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
28437 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
28438 (TARGET_LDFLAGS): Add -nostdlib.
28439 (TARGET_IMG_LDFLAGS): Likewise.
28440 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
28441 anything since mmap isn't available.
28442 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
28443 Add util/time.c.
28444 (pkglib_MODULES): Remove reboot.mod.
28445 (reboot_mod_SOURCES): Removed.
28446 (reboot_mod_CFLAGS): Likewise.
28447 (reboot_mod_LDFLAGS): Likewise.
28448 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
28449 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
28450 (DEFSYMFILES): Add kernel_syms.lst.
28451 (kernel_img_HEADERS): Add common headers.
28452 (symlist.c): New target.
28453 (kernel_syms.lst): Likewise.
28454 (pkglib_MODULES): Add memdisk.mod.
28455 (memdisk_mod_SOURCES): New variable.
28456 (memdisk_mod_CFLAGS): Likewise.
28457 (memdisk_mod_LDFLAGS): Likewise.
28458 (pkglib_MODULES): Add reboot.mod.
28459 (reboot_mod_SOURCES): New variable.
28460 (reboot_mod_CFLAGS): Likewise.
28461 (reboot_mod_LDFLAGS): Likewise.
28462 (pkglib_MODULES): Add date.mod.
28463 (date_mod_SOURCES): New variable.
28464 (date_mod_CFLAGS): Likewise.
28465 (date_mod_LDFLAGS): Likewise.
28466 (pkglib_MODULES): Add datehook.mod.
28467 (datehook_mod_SOURCES): New variable.
28468 (datehook_mod_CFLAGS): Likewise.
28469 (datehook_mod_LDFLAGS): Likewise.
28470 (pkglib_MODULES): Add lsmmap.mod.
28471 (lsmmap_mod_SOURCES): New variable.
28472 (lsmmap_mod_CFLAGS): Likewise.
28473 (lsmmap_mod_LDFLAGS): Likewise.
28474 (pkglib_MODULES): Add boot.mod.
28475 (boot_mod_SOURCES): New variable.
28476 (boot_mod_CFLAGS): Likewise.
28477 (boot_mod_LDFLAGS): Likewise.
28478 * conf/i386-coreboot.rmk: Removed redundant parts.
28479 * conf/i386-ieee1275.rmk: Likewise.
28480 * conf/i386-pc.rmk: Likewise.
28481 * conf/mips-yeeloong.rmk: Likewise.
28482 * conf/mips.rmk: Likewise.
28483 * conf/powerpc-ieee1275.rmk: Likewise.
28484 * conf/sparc64-ieee1275.rmk: Likewise.
28485 * conf/x86_64-efi.rmk: Likewise.
28486 * conf/i386-coreboot.rmk: Moved qemu parts ..
28487 * conf/i386-qemu.rmk: ... here
28488 * conf/i386-efi.rmk: Moved common parts to...
28489 * conf/x86-efi.rmk: ... here.
28490 * conf/i386.rmk: Added modules common to all x86 variants.
28491 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
28492 * disk/memdisk.c: Remove grub/machine/kernel.h.
28493 * gensymlist.sh.in: Include symbol.h.
28494 * hook/datehook.c: Correct module name.
28495 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
28496 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
28497 * include/grub/i386/efi/serial.h: New file.
28498 * include/grub/x86_64/efi/serial.h: Likewise.
28499 * util/time.c: Likewise.
28500 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
28501
463ac55f
CK
285022010-03-14 Colin King <colin.king@ubuntu.com>
285032010-03-14 Colin Watson <cjwatson@ubuntu.com>
28504
28505 Shrink the pre-partition-table part of boot.img by eight bytes.
28506
28507 * boot/i386/pc/boot.S (ERR): New macro.
28508 (chs_mode): Use ERR.
28509 (geometry_error): Likewise.
28510 (hd_probe_error): Remove. This is only used once, so we wrwite
28511 it inline instead.
28512 (read_error): Instead of printing read_error_string, just set up
28513 %si and fall through to ...
28514 (error_message): ... this new function, also used by ERR.
28515
08e46ede
CW
285162010-03-14 Colin Watson <cjwatson@ubuntu.com>
28517
28518 Speed up consecutive hostdisk operations on the same device.
28519
28520 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
28521 (grub_util_biosdisk_open): Initialise disk->data.
28522 (struct linux_partition_cache): New structure.
28523 (linux_find_partition): Cache partition start positions; these are
28524 expensive to compute on every read and write.
28525 (open_device): Cache open file descriptor in disk->data, so that we
28526 don't have to reopen it and flush the buffer cache for consecutive
28527 operations on the same device.
28528 (grub_util_biosdisk_close): New function.
28529 (grub_util_biosdisk_dev): Set `close' member.
28530
28531 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
28532 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
28533 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28534 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
28535 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
28536
4a6d2d06
VS
285372010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28538
28539 Compile parts of grub-emu as modules.
28540
28541 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
28542 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
28543 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
28544 (all-local): Add $(GRUB_EMU).
28545 (install-local): Install $(GRUB_EMU).
28546 (uninstall): Uninstall $(GRUB_EMU).
28547 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
28548 * kern/dl.c: Likewise.
28549 * commands/sleep.c: Not include machine/time.h.
28550 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
28551 (COMMON_CFLAGS): Likewise.
28552 (sbin_UTILITIES): Remove grub-emu.
28553 (grub_emu_SOURCES): Removed.
28554 (kernel_img_RELOCATABLE): New variable.
28555 (pkglib_PROGRAMS): Add kernel.img.
28556 (kernel_img_SOURCES): New variable
28557 (kernel_img_CFLAGS): Likewise.
28558 (kernel_img_LDFLAGS): Likewise.
28559 (TARGET_NO_STRIP): Likewise.
28560 (TARGET_NO_DYNAMIC_MODULES): Likewise.
28561 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
28562 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
28563 (grub-emu): New target.
28564 (GRUB_EMU): New variable.
28565 * configure.ac: Whitelist -emu as possible x86_64 architecture.
28566 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
28567 * loader/xnu.c: Likewise.
28568 * include/grub/pci.h: Likewise.
28569 * genemuinit.sh: New file.
28570 * genemuinitheader.sh: Likewise.
28571 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
28572 Support TARGET_NO_DYNAMIC_MODULES.
28573 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
28574 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
28575 * disk/loopback.c: Likewise.
28576 * font/font_cmd.c: Likewise.
28577 * partmap/acorn.c: Likewise.
28578 * partmap/amiga.c: Likewise.
28579 * partmap/apple.c: Likewise.
28580 * partmap/gpt.c: Likewise.
28581 * partmap/msdos.c: Likewise.
28582 * partmap/sun.c: Likewise.
28583 * parttool/msdospart.c: Likewise.
28584 * term/gfxterm.c: Likewise.
28585 * video/bitmap.c: Likewise.
28586 * video/readers/jpeg.c: Likewise.
28587 * video/readers/png.c: Likewise.
28588 * video/readers/tga.c: Likewise.
28589 * video/video.c: Likewise.
28590 * util/grub-emu.c (read_command_list): Removed.
28591 (main): Don't call util_init_nls.
28592 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28593 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28594
91fdd2ed
VS
285952010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28596
28597 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28598 date.mod, datehook.mod.
28599 (datetime_mod_SOURCES): New variable.
28600 (datetime_mod_CFLAGS): Likewise.
28601 (datetime_mod_LDFLAGS): Likewise.
28602 (date_mod_SOURCES): Likewise.
28603 (date_mod_CFLAGS): Likewise.
28604 (date_mod_LDFLAGS): Likewise.
28605 (datehook_mod_SOURCES): Likewise.
28606 (datehook_mod_CFLAGS): Likewise.
28607 (datehook_mod_LDFLAGS): Likewise.
28608 * conf/sparc64-ieee1275.rmk: Likewise.
28609 * lib/ieee1275/datetime.c: New file.
28610
873ccae6
VS
286112010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28612
28613 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28614 (ieee1275_fb_mod_SOURCES): New variable.
28615 (ieee1275_fb_mod_CFLAGS): Likewise.
28616 (ieee1275_fb_mod_LDFLAGS): Likewise.
28617 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28618 New proto.
28619 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28620 (HEAP_MAX_ADDR): Likewise.
28621 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28622 type.
28623 Correct stop condition.
28624 (grub_ieee1275_devices_iterate): New function.
28625 * video/ieee1275.c: New file.
28626
601c97c0
VS
286272010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28628
28629 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28630
28631 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28632 as scratch.
28633 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28634 SCRATCH_PAD_DISKBOOT as scratch.
28635 (bootit): Pass Openfirmware pointer in %o4.
28636 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28637 of 0x200000.
28638 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28639 with util/grub-mkrawimage.c.
28640 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28641 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28642 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28643 (grub_aout_load) [GRUB_UTIL]: Likewise.
28644 * include/grub/kernel.h (grub_modules_get_end): New proto.
28645 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28646 (SCRATCH_PAD_BOOT): New definition.
28647 (SCRATCH_PAD_DISKBOOT): Likewise.
28648 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28649 * include/grub/sparc64/ieee1275/ieee1275.h
28650 (grub_ieee1275_original_stack): New variable
28651 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28652 New definition
28653 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28654 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28655 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28656 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28657 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28658 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28659 (grub_platform_image_format_t): New type.
28660 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28661 * kern/main.c (grub_modules_get_end)
28662 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28663 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28664 (codestart): Switch stacks.
28665 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28666 variable.
28667 (grub_heap_init): Use grub_modules_get_end.
28668 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28669 stack.
28670 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28671 (main): Likewise.
28672 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28673
d68b491e
TG
286742010-03-14 Thorsten Glaser <tg@mirbsd.org>
28675
28676 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28677
4e02ed50
MK
286782010-03-08 Matt Kraai <kraai@ftbfs.org>
28679
28680 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28681 bug #559005).
28682
1f15fc1e
VS
286832010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28684
28685 * genmoddep.awk: Output all missing symbols and not only first.
28686
fce5d8ff
VS
286872010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28688
28689 * NEWS: Put the date of 1.98 release.
28690
d1e8a02f
VS
286912010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28692
28693 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28694 ft2build.h.
28695
696fd607
VS
286962010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28697
28698 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28699 completition in the middle of string.
28700
33e2e6f3
VS
287012010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28702
28703 * util/grub-mkrescue.in: Use mktemp with explicit template.
28704
b1f6d291
VS
287052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28706
28707 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28708
2ac227c7
VS
287092010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28710
28711 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28712 right pointer.
28713
8f9a632b
VS
287142010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28715
28716 Fix FreeBSD compilation.
28717
28718 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28719 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28720
60b03859
VS
287212010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28722
28723 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
28724
48a5a769
VS
287252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28726
28727 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
28728
3ab4bd77
VS
287292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28730
28731 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28732
d116e0d8
RM
287332010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28734
28735 Support relative image path in theme file.
28736
28737 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28738 (image_set_property): Handle theme_dir and relative path.
28739
c7ef54aa
VS
287402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28741
28742 * configure.ac: Alias amd64 to x86_64.
28743
fcee14ed
VS
287442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28745
28746 * NEWS: mention multiboot on EFI.
28747
d0780363
VS
287482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28749
28750 * kern/main.c (grub_load_modules): Handle errors from init functions of
28751 embeded modules.
28752
41168ea4
VS
287532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28754
28755 * normal/autofs.c (autoload_fs_module): Handle errors.
28756
b54d93ac
VS
287572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28758
28759 Disable linux.mod on qemu-mips since it's not functional and leads
28760 to compilation failure.
28761
28762 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
28763 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
28764 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28765 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28766 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28767 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28768 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28769 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28770 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28771 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28772 Reported by: BVK Chaitanya
28773
fc8345da
JU
287742010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28775
28776 * INSTALL: Add gettext as a dependency and add qemu to a new section
28777 "Prerequisites for make-check".
28778
4760f979
CF
287792010-03-04 Christian Franke <franke@computer.org>
28780
28781 * util/grub-pe2elf.c: Add missing include "progname.h".
28782
f209b5b2
VS
287832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28784
28785 * normal/crypto.c (read_crypto_list): Fix a typo.
28786 Reported by: Seth Goldberg.
28787
b4b7be98
VS
287882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28789
28790 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 28791 Reported by: Seth Goldberg.
b4b7be98 28792
c0ee0385
VS
287932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28794
28795 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28796 ascii.bitmaps.
28797
a8efbf64
VS
287982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28799
28800 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 28801 Reported by: Seth Goldberg.
a8efbf64 28802
08dcd913
VS
288032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28804
28805 * util/i386/efi/grub-install.in: Copy gettext files.
28806
c4d0b332
VS
288072010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28808
28809 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28810
c6f2fe52
VS
288112010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28812
28813 Wait for user entry basing on presence of output rather than on errors.
28814
28815 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28816 (grub_install_newline_hook): Likewise.
28817 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28818 * normal/menu.c (show_menu): Check line_counter to determine presence
28819 of output.
28820 * normal/term.c (grub_normal_line_counter): New variable.
28821 (grub_normal_get_line_counter): New function.
28822 (grub_install_newline_hook): Likewise.
28823
5382b1e4
VS
288242010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28825
28826 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28827
5519963b
VS
288282010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28829
28830 * configure.ac: Update version to 1.98.
28831
72b28631
VS
288322010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28833
28834 * util/grub.d/10_linux.in (linux_entry): Don't default to
28835 gfxpayload=keep if Linux doesn't support video handover.
28836
c140a180
VS
288372010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28838
28839 Don't compile video modules on yeeloong since video subsystem is part
28840 of kernel.
28841
28842 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28843 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28844 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28845 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28846 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28847 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28848 * include/grub/bitmap_scale.h: Likewise.
28849 * include/grub/bufio.h: Likewise.
28850 * include/grub/font.h: Likewise.
28851 * include/grub/gfxterm.h: Likewise.
28852 * include/grub/video.h: Likewise.
28853 * include/grub/vbe.h: Don't include video_fb.h.
28854 * video/i386/pc/vbe.c: Include video_fb.h.
28855 * commands/i386/pc/vbetest.c: Include video.h.
28856
a0ca21c2
CW
288572010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28858
28859 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28860 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28861 default entry if GRUB_SAVEDEFAULT=true. This allows using
28862 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28863 saving a new default on every boot.
28864
4a8a763c
VS
288652010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28866
28867 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28868 * normal/term.c (read_terminal_list): Likewise.
28869 * normal/main.c (grub_normal_init_page): Likewise.
28870 (grub_normal_read_line_real): Likewise.
28871
607ffde2
VS
288722010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28873
28874 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28875 memory leak.
28876 Reported by: Seth Goldberg.
28877
2b8fa975
CW
288782010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28879
28880 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28881 duplicate declaration of `start'.
28882
618307dd
VS
288832010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28884
28885 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28886 filename.
28887 Reported by: Georgy Buranov
28888
7dd05b96 288892010-02-20 Carles Pina i Estany <carles@pina.cat>
28890
28891 * util/grub-mkrawimage.c (usage): Change string formatting to
28892 improve gettext.
28893
d1484a42
MRA
288942010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28895
28896 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28897 backspace keys.
28898
42b1d186
VS
288992010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28900
28901 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28902 Reported by: Michael Suchanek.
28903
289042010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28905
28906 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28907 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28908
d9f31a41
VS
289092010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28910
28911 Remove any reference to non-free fonts.
28912
28913 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28914 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28915 uses non-free components.
28916 * font/font.c (grub_font_get_name): Remove example name.
28917 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28918 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28919 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28920 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28921
2793c71e
GB
289222010-02-16 Georgy Buranov <gburanov@gmail.com>
28923
28924 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28925
402e3779
VS
289262010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28927
28928 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28929 Double divisor.
28930 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28931 features.
28932 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28933
0dd1e0dd
VS
289342010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28935
28936 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28937
6fa7cfce
ST
289382010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28939
28940 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28941 * docs/grub.texi (Command-line and menu entry commands): Document play
28942 command.
28943
37c8483b
ST
289442010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28945
28946 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28947 parse arguments as inline tempo and notes. Move code for playing notes
28948 to...
28949 (play): ... new function.
28950
14da0fb7
ST
289512010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28952
28953 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28954 grub_uint16_t instead of short.
28955 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28956 disk from little endian to cpu endianness.
28957
04459e70
ST
289582010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28959
28960 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28961 GRUB_TICKS_PER_SECOND instead of 120.
28962
a0876943
VS
289632010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28964
28965 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28966 escape sequence after \e.
28967
e29f95dc
VS
289682010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28969
28970 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28971 non-ASCII characters.
28972
d27859b2
VS
289732010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28974
28975 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28976 set root in single quotes to prevent \, from being unescaped.
28977
bc028f2f
VS
289782010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28979
28980 Prevent unknown commands from stopping menuentry execution.
28981
28982 * script/execute.c (grub_script_execute_cmdline): Print error after
28983 unknown command.
28984
095f5f82
VS
289852010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28986
28987 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28988 Reported by: Pavel Pisa.
28989
8c717950
VS
289902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28991
28992 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28993
904935c3
VS
289942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28995
28996 Merge grub_ieee1275_map_physical into grub_map and rename to
28997 grub_ieee1275_map
28998
28999 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
29000 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
29001 Remove.
29002 * kern/ieee1275/openfw.c (grub_map): Rename to ...
29003 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
29004 necessary.
29005 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
29006
5b59a4e3
VS
290072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29008
29009 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
29010 opening and not after.
29011
69e137e8
VS
290122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29013
29014 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
29015 constants.
29016
2c0fcc36
VS
290172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29018
29019 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
29020 (alloc_phys): Use ALIGN_UP instead of align_addr.
29021
8c6052ce
VS
290222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29023
29024 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
29025
17cec782
VS
290262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29027
29028 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
29029
e0128bbd
VS
290302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29031
29032 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
29033 verbose dprintf.
29034
ca62070b
VS
290352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29036
29037 Fix over-4GiB seek on sparc64.
29038
29039 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
29040 Replace pos_i and pos_lo with pos. All users updated.
29041 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29042 New constant.
29043 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29044 Likewise.
29045 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
29046 and pos_lo.
29047
bdca2607
VS
290482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29049
29050 * util/grub-mkrawimage.c (main): Call set_program_name.
29051
da278c4d
VS
290522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29053
29054 Properly align 64-bit targets.
29055
29056 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
29057 (generate_image): Use ALIGN_ADDR.
29058
b274d734
VS
290592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29060
29061 Properly create cross-endian images.
29062
29063 * include/grub/types.h (grub_host_to_target_addr): New macro
29064 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
29065
82da2062
VS
290662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29067
29068 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
29069
7cae4377
VS
290702010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29071
29072 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
29073
29074 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
29075 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
29076 (grub_linux_boot): Divide by 64K when on VESA.
29077
65a533e7
VS
290782010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29079
29080 Support GRUB_GFXPAYLOAD_LINUX.
29081
29082 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
29083 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
29084
dd01d397
VS
290852010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29086
29087 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
29088 to show messages instead of discarding them.
29089 Process errors after executing command and not before. Keep old method
29090 too as precaution.
29091
660960d6
VS
290922010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
29093
29094 * configure.ac: Check for ft2build.h.
29095
62509f04
VS
290962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29097
29098 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
29099
473df63d
VS
291002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29101
29102 * genkernsyms.sh.in: Use TARGET_CC.
29103
c98d2a13
CW
291042010-02-07 Colin Watson <cjwatson@ubuntu.com>
29105
29106 * NEWS: Update.
29107
6e14234c
VS
291082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29109
29110 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
29111 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
29112 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 29113
b255e9cf
YB
291142010-02-07 Yves Blusseau <blusseau@zetam.org>
29115
6e14234c 29116 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 29117
98e6959d
VS
291182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29119
29120 Fix warnings in grub-emu when compiling with maximum warning options.
29121
29122 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
29123 (grub_arch_modules_addr): Return 0 and not NULL.
29124 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 29125 (xstrdup): Use newstr instead of dup.
f88d801b
VS
29126 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
29127 of disk to dsk to avoid shadowing.
74e4934e
VS
29128 (find_free_slot): Fix prototype.
29129 * util/getroot.c (grub_util_is_dmraid): Make static.
29130 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
29131 Add missing prototype.
29132 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 29133
74e31b5c
VS
291342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29135
29136 * loader/i386/linux.c (grub_linux_setup_video): Handle error
29137 appropriately.
29138
6b2ad14b
VS
291392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29140
29141 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
29142 code out.
29143
8f891adc
VS
291442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29145
29146 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
29147 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
29148 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
29149 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
29150 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
29151 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
29152
74b45184
VS
291532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29154
29155 * include/grub/err.h (grub_err_printf): Don't export.
29156
a4bced77
VS
291572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29158
29159 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
29160
007d0695
VS
291612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29162
29163 * include/grub/i18n.h (grub_gettext_dummy): Removed.
29164 * kern/misc.c (grub_gettext_dummy): Make static.
29165
b6c0d9c2
VS
291662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29167
29168 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
29169 by non-valid ones.
29170 * kern/term.c (grub_putchar): Likewise.
29171
f51a90d0
VS
291722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29173
29174 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
29175 buggy hook call and memory leak.
29176
6846cec5
VS
291772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29178
29179 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
29180
468d69fe
VS
291812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29182
29183 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
29184
51906b8c
VS
291852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29186
29187 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
29188 modevar.
29189 Return grub_errno on allocation error.
29190
09706ce5
VS
291912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29192
29193 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
29194
911df80c
YB
291952010-02-06 Yves Blusseau <blusseau@zetam.org>
29196
29197 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
29198 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
29199
3746a6bc
VS
292002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29201
29202 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
29203 non-pxe disk.
29204 (grub_pxefs_open): Likewise.
29205
09706ce5
VS
292062010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29207
29208 * util/grub.d/10_hurd.in: Add --class information to menuentries.
29209 * util/grub.d/10_kfreebsd.in: Likewise.
29210 * util/grub.d/10_linux.in: Likewise.
29211
7cc192d9
VS
292122010-02-06 Colin D Bennett <colin@gibibit.com>
29213
29214 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
29215 (gfxmenu_mod_SOURCES): New variable.
29216 (gfxmenu_mod_CFLAGS): Likewise.
29217 (gfxmenu_mod_LDFLAGS): Likewise.
29218 * include/grub/term.h (grub_term_set_current_output): Declare
29219 argument as const.
29220 * docs/gfxmenu-theme-example.txt: New file.
29221 * gfxmenu/gfxmenu.c: Likewise.
29222 * gfxmenu/gui_box.c: Likewise.
29223 * gfxmenu/gui_canvas.c: Likewise.
29224 * gfxmenu/gui_circular_progress.c: Likewise.
29225 * gfxmenu/gui_image.c: Likewise.
29226 * gfxmenu/gui_label.c: Likewise.
29227 * gfxmenu/gui_list.c: Likewise.
29228 * gfxmenu/gui_progress_bar.c: Likewise.
29229 * gfxmenu/gui_string_util.c: Likewise.
29230 * gfxmenu/gui_util.c: Likewise.
29231 * gfxmenu/icon_manager.c: Likewise.
29232 * gfxmenu/model.c: Likewise.
29233 * gfxmenu/named_colors.c: Likewise.
29234 * gfxmenu/theme_loader.c: Likewise.
29235 * gfxmenu/view.c: Likewise.
29236 * gfxmenu/widget-box.c: Likewise.
29237 * include/grub/gfxmenu_model.h: Likewise.
29238 * include/grub/gfxmenu_view.h: Likewise.
29239 * include/grub/gfxwidgets.h: Likewise.
29240 * include/grub/gui.h: Likewise.
29241 * include/grub/gui_string_util.h: Likewise.
29242 * include/grub/icon_manager.h: Likewise.
29243
292442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29245
29246 Agglomerate scrolling in gfxterm.
29247
29248 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
29249 (grub_virtual_screen_setup): Initialise 'total_screen'.
29250 (write_char): Split to ...
29251 (paint_char): ... this ...
29252 (write_char): ... and this.
29253 (paint_char): Handle delayed scrolling.
29254 (draw_cursor): Likewise.
29255 (scroll_up): Split to ...
29256 (real_scroll): ... this ...
29257 (scroll_up): ... and this.
29258 (real_scroll): Handle multi-line scroll and draw below-the-bottom
29259 characters.
29260 (grub_gfxterm_refresh): Call real_scroll.
29261
292622010-02-06 Colin D Bennett <colin@gibibit.com>
29263
29264 * include/grub/misc.h (grub_iscntrl): New inline function.
29265 (grub_isalnum): Likewise.
29266 (grub_strtol): Likewise.
29267
292682010-02-06 Colin D Bennett <colin@gibibit.com>
29269
29270 * normal/menu_text.c (get_entry_number): Move from here ...
29271 * normal/menu.c (get_entry_number): ... moved here.
29272 * include/grub/menu.h (grub_menu_get_default_entry_index):
29273 New prototype.
29274 * normal/menu.c (grub_menu_get_default_entry_index): New function.
29275 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
29276 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
29277 (grub_menu_viewer_should_return): Likewise.
29278 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
29279 * normal/menu_text.c (run_menu): Enable menu switching.
29280 * normal/menu_viewer.c (should_return): New variable.
29281 (menu_viewer_changed): Likewise.
29282 (grub_menu_viewer_show_menu): Handle menu viewer changes.
29283 (grub_menu_viewer_should_return): New function.
29284 (menuviewer_write_hook): Likewise.
29285 (grub_menu_viewer_init): Likewise.
29286
292872010-02-06 Colin D Bennet <colin@gibibit.com>
292882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29289
29290 Support for gfxterm in a window.
29291
29292 * include/grub/gfxterm.h: New file.
29293 * include/grub/video.h (struct grub_video_rect): New declaration.
29294 (grub_video_rect_t): Likewise.
29295 * term/gfxterm.c (struct grub_gfxterm_window): New type.
29296 (refcount): New variable.
29297 (render_target): Likewise.
29298 (window): Likewise.
29299 (repaint_callback): Likewise.
29300 (grub_virtual_screen_setup): Use 'render_target'.
29301 (init_window): New function.
29302 (grub_gfxterm_init_window): Likewise.
29303 (grub_gfxterm_init): Check reference counter.
29304 Use init_window.
29305 (destroy_window): New function.
29306 (grub_gfxterm_destroy_window): Likewise.
29307 (grub_gfxterm_fini): Check reference counter.
29308 Use destroy_window.
29309 (redraw_screen_rect): Restore viewport.
29310 Use 'render_target' and 'window'.
29311 Call 'repaint_callback'.
29312 (write_char): Use 'render_target'.
29313 (draw_cursor): Likewise.
29314 (scroll_up): Restore viewport.
29315 Use 'render_target' and 'window'.
29316 Call 'repaint_callback'.
29317 (grub_gfxterm_cls): Likewise.
29318 (grub_gfxterm_refresh): Use 'window'.
29319 (grub_gfxterm_set_repaint_callback): New function.
29320 (grub_gfxterm_background_image_cmd): Use 'window'.
29321 (grub_gfxterm_get_term): New function.
29322 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
29323
293242010-02-06 Colin D Bennett <colin@gibibit.com>
29325
29326 Bitmap scaling support.
29327
29328 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
29329 (bitmap_scale_mod_SOURCES): New variable.
29330 (bitmap_scale_mod_CFLAGS): Likewise.
29331 (bitmap_scale_mod_LDFLAGS): Likewise.
29332 * include/grub/bitmap_scale.h: New file.
29333 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
29334 (background_image_cmd_options): New variable.
29335 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
29336 (cmd): Rename and change type to ...
29337 (background_image_cmd_handle): ... this. All users updated.
29338 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
29339 * video/bitmap_scale.c: New file.
29340
293412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29342
29343 SDL support.
29344
29345 * Makefile.in (LIBSDL): New variable.
29346 (enable_grub_emu_sdl): Likewise.
29347 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
29348 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
29349 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
29350 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
29351 * util/sdl.c: New file.
29352
293532010-02-06 Colin D Bennett <colin@gibibit.com>
293542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29355
29356 Double buffering support.
29357
29358 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
29359 * include/grub/video.h: Update comment.
29360 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
29361 New type.
29362 (grub_video_fb_doublebuf_blit_init): New prototype.
29363 * term/gfxterm.c (scroll_up): Support double buffering.
29364 (grub_gfxterm_refresh): Likewise.
29365 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
29366 (grub_video_fb_doublebuf_blit_init): Likewise.
29367 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
29368 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
29369 'displayed_page', 'render_page' and 'update_screen'.
29370 (grub_video_vbe_fini): Free offscreen buffer.
29371 (doublebuf_pageflipping_commit): New function.
29372 (doublebuf_pageflipping_update_screen): Likewise.
29373 (doublebuf_pageflipping_init): Likewise.
29374 (double_buffering_init): Likewise.
29375 (grub_video_vbe_setup): Enable doublebuffering.
29376 (grub_video_vbe_swap_buffers): Implement.
29377 (grub_video_vbe_set_active_render_target): Handle double buffering.
29378 (grub_video_vbe_get_active_render_target): Likewise.
29379 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
29380 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
29381 (grub_video_vbe_enable_double_buffering): Likewise.
29382 (grub_video_vbe_swap_buffers): Use update_screen.
29383 (grub_video_set_mode): Use double buffering.
29384
293852010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29386
29387 * maintainance/gentrigtables.py: Remove.
29388 * lib/trig.c: Likewise.
29389
29390 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
29391
29392 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
29393 `trigtables.c'.
29394 (trigtables.c): New rule.
29395 (gentrigtables): Likewise.
29396 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
29397
293982010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29399
29400 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
29401 integer constants.
29402
294032010-02-06 Colin D Bennet <colin@gibibit.com>
29404
29405 Trigonometry support.
29406
29407 * include/grub/trig.h: New file.
29408 * lib/trig.c: Likewise.
29409 * maintainance/gentrigtables.py: Likewise.
29410 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
29411 (trig_mod_SOURCES): New variable.
29412 (trig_mod_CFLAGS): Likewise.
29413 (trig_mod_LDFLAGS): Likewise.
29414
5562834e
VS
294152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29416
29417 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
29418 disk devices.
29419
4f8528fc
VS
294202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29421
29422 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
29423 error.
29424
2b4068e9
VS
294252010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29426
29427 * util/hostdisk.c (open_device): Don't use partition device when reading
29428 before the partition.
29429 (grub_util_biosdisk_read): Don't read from partition and before the
29430 partition in single operation.
29431 (grub_util_biosdisk_write): Don't write to partition and before the
29432 partition in single operation.
29433
399f6e4d
TL
294342010-02-03 Torsten Landschoff <torsten@debian.org>
29435
29436 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29437 last sectors.
29438
996649b0
VS
294392010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29440
29441 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
29442 CDROM reads.
29443 (grub_biosdisk_write): Refuse to write to CDROM.
29444
3b205d4d
VS
294452010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29446
29447 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
29448
61e89d9d
VS
294492010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29450
29451 * font/font.c (find_glyph): Check that bmp_idx is available before
29452 using it.
29453 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
29454 with (font == NULL).
29455
bf7fcba2
CS
294562010-01-28 Christian Schmitt <chris@ilovelinux.de>
29457
29458 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
29459
f45d2663
BC
294602010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
29461
29462 * include/grub/script_sh.h (sourcecode): Add const qualifier.
29463 * util/grub-script-check.c (getline): Fix empty lines case.
29464
ec1444e6
RM
294652010-01-28 Robert Millan <rmh.grub@aybabtu.com>
29466
29467 * Makefile.in (check): Exit with fail status when one of the tests
29468 fails.
29469 * tests/example_functional_test.c (example_test): Fix reversed assert.
29470 * tests/example_unit_test.c (example_test): Likewise.
29471
2e1cb9bb
CW
294722010-01-28 Colin Watson <cjwatson@ubuntu.com>
29473
29474 * util/grub.d/10_linux.in: This script does not use any of the
29475 contents of gettext.sh, only the external command `gettext', so stop
29476 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
29477 the same prefix as GRUB.)
29478 * util/grub.d/10_kfreebsd.in: Likewise.
29479
63533ab0
VS
294802010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29481
29482 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
29483 of the line.
29484
989e1f93
VS
294852010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29486
29487 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29488 last sectors.
29489
e709ebe2
VS
294902010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29491
29492 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
29493 having a 4KiB and not 32KiB buffer size.
29494
27dea7ed
RM
294952010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29496
29497 * util/hostfs.c: Include `<errno.h>'.
29498 (grub_hostfs_read): Handle errors from fseeko() and fread().
29499
67667b9c
RM
295002010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29501
29502 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
29503 loop when using read hooks on files whose size isn't sector-aligned.
29504
c294d9d8
RM
295052010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29506
29507 Remove unused parameter.
29508
29509 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
29510 (grub_iso9660_open): Remove initialization of `data->length'.
29511
af75a9f1
RM
295122010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29513
29514 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
29515 memleak conditions.
29516
254e2ce5 295172010-01-27 Carles Pina i Estany <carles@pina.cat>
29518
29519 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
29520 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
29521
b510928c 295222010-01-26 Carles Pina i Estany <carles@pina.cat>
29523
29524 * util/bin2h.c (usage): Fix warning (space after backslash).
29525
aa2f9dd2 295262010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 29527
29528 * font/font.c: Include `grub/fontformat.h.
29529 Remove font file format constants.
29530 (grub_font_load): Use the new macros.
29531 * include/grub/fontformat.h: New file.
29532 * util/grub-mkfont.c: Include `grub/fontformat.c'.
29533 (write_font_pf2): Use the new macros.
29534
94e7e712
RM
295352010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29536
29537 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
29538 does.
29539
3973a59a
RM
295402010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29541
29542 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
29543
29544 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
29545 (_start): Macroify `0x7F'.
29546
29547 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
29548 (make_install_device): Use "(pxe)" as fallback prefix when booting
29549 via PXE.
29550
42e0cba3
GS
295512010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
29552
29553 * configure.ac: Reset LIBS after check for libgcc symbols.
29554
847effd8
CW
295552010-01-25 Colin Watson <cjwatson@ubuntu.com>
29556
29557 * util/hostdisk.c (open_device): Add trailing newline to debug
29558 message.
29559
ea4a7e35
GS
295602010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
29561
29562 * configure.ac: Check for `limits.h'.
29563 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
29564
67951a53
RM
295652010-01-24 Robert Millan <rmh.grub@aybabtu.com>
29566
29567 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
29568 capitalize error strings.
29569
c273d4ce
ST
295702010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
29571
29572 * util/grub.d/10_hurd.in: Add a recovery mode.
29573
69be5b74
VS
295742010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
29575
29576 * configure.ac: Check for libgcc symbols with -nostdlib.
29577
fc9e5810
BC
295782010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
29579
29580 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
29581
4b358c0a
VS
295822010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29583
29584 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
29585 stack since heap may be unavailable at that point.
29586 (grub_ofconsole_gotoxy): Likewise.
29587
454fcd1c
VS
295882010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29589
29590 * configure.ac: Check for _restgpr_14_x.
29591 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
29592 and _savegpr_* prototypes.
29593
566863ca
RM
295942010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29595
29596 Use generic grub_reboot() for i386-efi.
29597
29598 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29599 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29600 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29601
bf86e59a
VS
296022010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29603
29604 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29605 presence of "prefix" variable as it breaks when normal.mod is
29606 embedded.
29607
d645e0f8
VS
296082010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29609
29610 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29611 stack since heap is unavailable at that point.
29612
f9ab2e25
VS
296132010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29614
29615 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29616 (grub_freebsd_bootinfo): Rewritten.
29617 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29618
01fc7054
VS
296192010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29620
29621 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29622
caab4fd6
RM
296232010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29624
29625 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29626 domain now.
29627
67eb1427
FZ
296282010-01-20 Felix Zielcke <fzielcke@z-51.de>
29629
29630 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29631 around for handling "/" to the correct fix. Fix a memory leak. Use
29632 xstrdup instead of strdup.
29633
a9ed4ff3
VS
296342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29635
29636 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29637
296382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
29639
29640 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29641
29642 * font/font.c (struct grub_font): New member 'bmp_idx'.
29643 (font_init): Initialise 'bmp_idx'.
29644 (load_font_index): Fill 'bmp_idx'.
29645 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29646
48209f4f
VS
296472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29648
29649 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29650 unnecessary calls.
29651
9f0a4bb7
VS
296522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29653
29654 Move context handling out of the kernel.
29655
29656 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29657 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29658 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29659 * conf/i386-efi.rmk: Likewise.
29660 * conf/i386-ieee1275.rmk: Likewise.
29661 * conf/i386-pc.rmk: Likewise.
29662 * conf/powerpc-ieee1275.rmk: Likewise.
29663 * conf/sparc64-ieee1275.rmk: Likewise.
29664 * conf/x86_64-efi.rmk: Likewise.
29665 * include/grub/env.h: Include grub/menu.h.
29666 (grub_env_var_type): Removed.
29667 (grub_env_var): Replaced field 'type' with 'global'.
29668 (grub_env_find): New prototype.
29669 (grub_env_context_open): Remove EXPORT_FUNC.
29670 (grub_env_context_close): Likewise.
29671 (grub_env_export): Likewise.
29672 (grub_env_set_data_slot): Removed.
29673 (grub_env_get_data_slot): Likewise.
29674 (grub_env_unset_data_slot): Likewise.
29675 (grub_env_unset_menu): New prototype.
29676 (grub_env_set_menu): Likewise.
29677 (grub_env_get_menu): Likewise.
29678 * include/grub/env_private.h: New file.
29679 * include/grub/normal.h (grub_context_init): New prototype.
29680 (grub_context_fini): Likewise.
29681 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29682 * normal/context.c (grub_cmd_export): ... to here.
29683 * kern/env.c: Include env_private.h.
29684 (HASHSZ): Moved to include/grub/env_private.h.
29685 (grub_env_context): Likewise.
29686 (grub_env_sorted_var): Likewise.
29687 (current_context): Renamed from this ...
29688 (grub_current_context): ...to this. 'static' removed. All users updated.
29689 (grub_env_find): Removed 'static'.
29690 (grub_env_context_open): Moved to normal/context.c.
29691 (grub_env_context_close): Likewise.
29692 (grub_env_export): Likewise.
29693 (mangle_data_slot_name): Removed.
29694 (grub_env_set_data_slot): Likewise.
29695 (grub_env_get_data_slot): Likewise.
29696 (grub_env_unset_data_slot): Likewise.
29697 * kern/main.c (grub_set_root_dev): Don't export root.
29698 It will be done later.
29699 (grub_main): Don't export prefix.
29700 It will be done later.
29701 * normal/context.c: New file.
29702 * normal/main.c (free_menu): Use grub_env_unset_menu.
29703 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29704 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29705 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29706 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29707
8dd35b8c
VS
297082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29709
29710 setpci support.
29711
29712 * commands/setpci.c: New file.
29713 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29714 (setpci_mod_SOURCES): New variable.
29715 (setpci_mod_CFLAGS): Likewise.
29716 (setpci_mod_LDFLAGS): Likewise.
29717
449193d5
VS
297182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29719
29720 Byte-addressable PCI configuration space.
29721
29722 * bus/pci.c (grub_pci_make_address): Use byte address instead of
29723 dword address.
29724 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
29725 GRUB_PCI_REG_CACHELINE.
29726 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
29727 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
29728 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
29729 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
29730 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
29731 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
29732 grub_pci_make_address.
29733 (lock_rom_area): Likewise.
29734 * commands/lspci.c (grub_lspci_iter): Use macroses
29735 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29736 of grub_pci_make_address.
29737 * disk/ata.c (grub_ata_pciinit): Likewise.
29738 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29739 (GRUB_PCI_REG_VENDOR): Likewise.
29740 (GRUB_PCI_REG_DEVICE): Likewise.
29741 (GRUB_PCI_REG_COMMAND): Likewise.
29742 (GRUB_PCI_REG_STATUS): Likewise.
29743 (GRUB_PCI_REG_REVISION): Likewise.
29744 (GRUB_PCI_REG_CLASS): Likewise.
29745 (GRUB_PCI_REG_CACHELINE): Likewise.
29746 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29747 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29748 (GRUB_PCI_REG_BIST): Likewise.
29749 (GRUB_PCI_REG_ADDRESSES): Likewise.
29750 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29751 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29752 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29753 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29754 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29755 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29756 (GRUB_PCI_REG_CIS_POINTER): Likewise.
29757 (GRUB_PCI_REG_SUBVENDOR): Likewise.
29758 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
29759 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
29760 (GRUB_PCI_REG_CAP_POINTER): Likewise.
29761 (GRUB_PCI_REG_IRQ_LINE): Likewise.
29762 (GRUB_PCI_REG_IRQ_PIN): Likewise.
29763 (GRUB_PCI_REG_MIN_GNT): Likewise.
29764 (GRUB_PCI_REG_MAX_LAT): Likewise.
29765 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29766 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29767 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 29768 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
29769 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29770 space.
29771
96d73208
RM
297722010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29773
29774 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29775 can be reliably determined to be supported.
29776
d4484482
RM
297772010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29778
29779 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29780 that VESA is supported.
29781 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29782 supported.
29783
00308ecf
VS
297842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29785
29786 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29787
f66924a4
RM
297882010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29789
29790 * util/misc.c (make_system_path_relative_to_its_root): Work around
29791 special-casing of "/", as previous incarnation of this routine did.
29792
cbca0ada
VS
297932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29794
29795 Fix any-emu compilation.
29796
29797 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29798 * grub_bin2h_SOURCES: New variable.
29799
34a66d99
RM
298002010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29801
29802 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29803
94fabf58
RM
298042010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29805
29806 * util/grub.d/00_header.in: Fix handling of locale_dir.
29807
02cf98ca
VS
298082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29809
29810 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
29811 as possible unifont location (Gentoo).
29812 Reported by: Alexander Brüning
29813
327dbcd7
VS
298142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29815
29816 Don't try to generate lists for kernel.img.
29817
29818 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29819 (pkglib_MODULES): Remove kernel.img.
29820 (kernel_img_EXPORTS): Removed.
29821 (kernel_img_RELOCATABLE): New variable.
29822 * conf/x86_64-efi.rmk: Likewise.
29823 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29824
ca467290
VS
298252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29826
29827 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29828 grub_xasprintf or grub_snprintf.
29829 (grub_vsprintf): Likewise.
29830 (grub_snprintf): New proto.
29831 (grub_vsnprintf): Likewise.
29832 (grub_xasprintf): Likewise.
29833 (grub_xvasprintf): Likewise.
29834 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29835 (grub_sprintf): Removed.
29836 (grub_vsnprintf): New function.
29837 (grub_snprintf): Likewise.
29838 (grub_xvasprintf): Likewise.
29839 (grub_xasprintf): Likewise.
29840 (grub_vsprintf): Renamed to ...
29841 (grub_vsnprintf_real): ...this. New argument max_len.
29842
aca655fd
BC
298432010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29844
29845 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29846 fix grub-script-check warning.
29847
7ee92c32
VS
298482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29849
29850 * include/grub/font.h (grub_font_load): Fix prototype.
29851
f80927ca
VS
298522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29853
29854 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29855
119c50ea
VS
298562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29857
29858 * include/grub/x86_64/at_keyboard.h: New file.
29859
47d5f3c1
VS
298602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29861
29862 * loader/mips/linux.c: Include missing grub/i18n.h.
29863
55ff5266
RM
298642009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29865
29866 * normal/menu.c (notify_execution_failure): Clarify error message.
29867
c893cc87
RM
298682009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29869
29870 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29871 return value (and revert all return statements). Update users.
29872
917dd370
CW
298732010-01-20 Dan Merillat <debian@dan.merillat.org>
29874
29875 * kern/device.c (grub_device_iterate): Allocate new part_ent
29876 structure based on sizeof (*p) rather than sizeof (p->next), to
29877 account for structure padding.
29878
29879 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29880 disk is NULL, which might happen for LVM physical volumes with no
29881 LVM signature.
29882
d4a4ee57
RM
298832009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29884
29885 * loader/mips/linux.c (grub_cmd_initrd)
29886 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29887
298882009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29889
29890 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29891 (grub_video_video_init, grub_video_bitmap_init)
29892 (grub_font_manager_init, grub_term_gfxterm_init)
29893 (grub_at_keyboard_init): New extern declarations.
29894 (grub_machine_init): Initialize gfxterm and at_keyboard.
29895
29896 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29897
29898 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29899 `gfxterm.mod' into core image.
29900
29901 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29902 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29903 (kernel_img_FORMAT): Copy to ...
29904
29905 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29906 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29907 (kernel_img_FORMAT): ... here, and ...
29908
29909 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29910 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29911 (kernel_img_FORMAT): ... here.
29912
29913 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29914 and input (at_keyboard) terminals in kernel.
29915 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29916
29917 (pkglib_MODULES): Remove `pci.mod'.
29918 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29919 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29920 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29921 (at_keyboard_mod_LDFLAGS): Remove variables.
29922
299232010-01-11 Felix Zielcke <fzielcke@z-51.de>
29924
29925 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29926
299272009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29928
29929 * include/grub/mips/libgcc.h: Only export symbols for functions
29930 that libgcc provides.
29931
299322009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29933
29934 MIPS support.
29935
29936 * bus/bonito.c: New file.
29937 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29938 GRUB_PCI_NUM_DEVICES.
29939 * term/i386/pc/serial.c: Move to ...
29940 * term/serial.c: ... here. All users updated.
29941 * util/i386/pc/grub-mkimage.c: Move to ...
29942 * util/grub-mkrawimage.c: ... here. All users updated.
29943 * term/i386/pc/at_keyboard.c: Move to ...
29944 * term/at_keyboard.c: ... here. All users updated.
29945 * conf/mips-qemu-mips.rmk: New file.
29946 * conf/mips-yeeloong.rmk: Likewise.
29947 * conf/mips.rmk: Likewise.
29948 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29949 mipsel-qemu-mips.
29950 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29951 to port addresses.
29952 (grub_ata_pciinit): Support CS5536.
29953 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29954 * font/font_cmd.c (loadfont_command): Open file before passing it to
29955 grub_font_load.
29956 (pseudo_file_read): New function.
29957 (pseudo_file_close): Likewise.
29958 (pseudo_fs): New structure.
29959 (load_font_module): New function.
29960 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29961 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29962 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29963 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29964 * include/grub/i386/at_keyboard.h: Split into ...
29965 * include/grub/at_keyboard.h: ... this ...
29966 * include/grub/i386/at_keyboard.h: ... and this.
29967 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29968 New prototype.
29969 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29970 updated.
29971 (grub_elf64_size): Likewise.
29972 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29973 filename.
29974 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29975 * include/grub/i386/coreboot/serial.h: Rewritten.
29976 * include/grub/i386/ieee1275/serial.h: Include
29977 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29978 * include/grub/i386/pc/serial.h: Moved from here ...
29979 * include/grub/serial.h: ... to here. All users updated.
29980 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29981 (GRUB_PCI_NUM_BUS): Likewise.
29982 (GRUB_PCI_NUM_DEVICES): Likewise.
29983 (grub_pci_device_map_range): Add missing volatile keyword.
29984 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29985 * include/grub/mips/at_keyboard.h: New file.
29986 * include/grub/mips/cache.h: Likewise.
29987 * include/grub/mips/io.h: Likewise.
29988 * include/grub/mips/kernel.h: Likewise.
29989 * include/grub/mips/libgcc.h: Likewise.
29990 * include/grub/mips/pci.h: Likewise.
29991 * include/grub/mips/qemu-mips/boot.h: Likewise.
29992 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29993 * include/grub/mips/qemu-mips/loader.h: Likewise.
29994 * include/grub/mips/qemu-mips/memory.h: Likewise.
29995 * include/grub/mips/qemu-mips/serial.h: Likewise.
29996 * include/grub/mips/qemu-mips/time.h: Likewise.
29997 * include/grub/mips/relocator.h: Likewise.
29998 * include/grub/mips/time.h: Likewise.
29999 * include/grub/mips/types.h: Likewise.
30000 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
30001 * include/grub/mips/yeeloong/boot.h: Likewise.
30002 * include/grub/mips/yeeloong/kernel.h: Likewise.
30003 * include/grub/mips/yeeloong/loader.h: Likewise.
30004 * include/grub/mips/yeeloong/memory.h: Likewise.
30005 * include/grub/mips/yeeloong/pci.h: Likewise.
30006 * include/grub/mips/yeeloong/serial.h: Likewise.
30007 * include/grub/mips/yeeloong/time.h: Likewise.
30008 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
30009 * kern/elf.c (grub_elf32_size): New parameter. All users
30010 updated.
30011 (grub_elf64_size): Likewise.
30012 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
30013 Load modules before saying "Welcome to GRUB!".
30014 Call grub_refresh after saying "Welcome to GRUB!".
30015 * kern/mips/cache.S: New file.
30016 * kern/mips/cache_flush.S: Likewise.
30017 * kern/mips/dl.c: Likewise.
30018 * kern/mips/init.c: Likewise.
30019 * kern/mips/qemu-mips/init.c: Likewise.
30020 * kern/mips/startup.S: Likewise.
30021 * kern/mips/yeeloong/init.c: Likewise.
30022 * kern/term.c (grub_putcode): Handle NULL terminal.
30023 (grub_getcharwidth): Likewise.
30024 (grub_getkey): Likewise.
30025 (grub_checkkey): Likewise.
30026 (grub_getkeystatus): Likewise.
30027 (grub_getxy): Likewise.
30028 (grub_getwh): Likewise.
30029 (grub_gotoxy): Likewise.
30030 (grub_cls): Likewise.
30031 (grub_setcolorstate): Likewise.
30032 (grub_setcolor): Likewise.
30033 (grub_getcolor): Likewise.
30034 (grub_refresh): Likewise.
30035 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
30036 (write_jump): Add hatch nop.
30037 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
30038 * lib/mips/setjmp.S: New file.
30039 * loader/mips/linux.c: Likewise.
30040 * term/i386/pc/at_keyboard.c: Move from here ...
30041 * term/at_keyboard.c: ... to here.
30042 * term/i386/pc/serial.c: Moved from here ...
30043 * term/serial.c: ... to here. All users updated.
30044 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
30045 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
30046 (serial_translate_key_sequence): Avoid deadlock.
30047 (grub_serial_getkey): Handle backspace.
30048 (grub_serial_putchar): Fix newline handling.
30049 * util/i386/pc/grub-mkimage.c: Move from here ...
30050 * util/grub-mkrawimage.c: ... to here. All users updated.
30051 (generate_image): New parameters 'font_path' and 'format'.
30052 Support embedding font.
30053 Use grub_host_to_target* instead of grub_cpu_to_le*.
30054 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
30055 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
30056 (options): New option "--font".
30057 (usage): Likewise.
30058 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
30059 (main): Handle "--font".
30060 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
30061 (grub_virtual_screen_setup): Set bg_color_display.
30062 (redraw_screen_rect): Use bg_color_display instead of incorrect
30063 bg_color.
30064 (grub_gfxterm_cls): Likewise.
30065 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
30066 Support embedding config file.
30067 (add_segments): Likewise.
30068 (options): New option "--config".
30069 (main): Handle "--config".
30070 * video/sm712.c: New file.
30071
25c2b5b3
RM
300722010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30073
30074 Fix parallel builds.
30075
30076 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
30077 font.c depend on ascii.h).
30078
300792010-01-12 Carles Pina i Estany <carles@pina.cat>
30080
30081 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
30082
300832010-01-11 Carles Pina i Estany <carles@pina.cat>
30084
30085 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
30086 By default: disabled.
30087 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
30088 parameter.
30089
300902010-01-10 Carles Pina i Estany <carles@pina.cat>
30091
30092 * font/font.c: Update copyright years.
30093 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
30094
300952010-01-10 Carles Pina i Estany <carles@pina.cat>
30096
30097 * font/font.c: Include `ascii.h'.
30098 (ASCII_BITMAP_SIZE): New macro.
30099 (ascii_font_glyph): Define.
30100 (ascii_glyph_lookup): New function.
30101 (grub_font_get_string_width): Change comment. If glyph not found, use
30102 ascii_glyph_lookup.
30103 (grub_font_get_glyph_with_fallback): If glyph not available returns
30104 ascii_glyph_lookup.
30105 * util/grub-mkfont.c (file_formats): New enum.
30106 (options): Add `ascii-bitmaps' new option.
30107 (usage): Add `asii-bitmaps' new option.
30108 (write_font_ascii_bitmap): New function.
30109 (write_font): Rename to ...
30110 (write_font_p2): ... this. Remove print_glyphs call.
30111 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
30112 used. Call print_glyphs.
30113 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
30114
301152010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30116
30117 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
30118 (grub_bin2h_SOURCES): New variable.
30119 * util/bin2h.c: New file.
30120
915fc1b8
VS
301212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30122
30123 * include/multiboot.h: Resynced with spec.
30124 * include/multiboot2.h: Likewise.
30125 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
30126 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
30127
9444b678
RM
301282010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30129
30130 * include/grub/term.h (grub_term_register_input,
30131 grub_term_register_output): Check return of terminal init()
30132 routines, and abort if errors are raised.
30133
30134 * commands/terminal.c: Update copyright year.
30135
cba98e8d
RM
301362010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30137
30138 * commands/terminal.c (grub_cmd_terminal_input)
30139 (grub_cmd_terminal_output): Check return of terminal init()
30140 routines, and abort if errors are raised.
30141
6f7db5d6
VS
301422010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30143
30144 * include/grub/i386/bsd.h: Fix include pathes.
30145
262bff8d
VS
301462010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30147
30148 Add missing *BSD copyright headers.
30149
30150 * include/grub/aout.h: Add BSD licence.
30151 * include/grub/i386/bsd.h: Parts under different licences moved to ...
30152 * include/grub/i386/freebsd_linker.h: ... here,
30153 * include/grub/i386/freebsd_reboot.h: ... here,
30154 * include/grub/i386/netbsd_bootinfo.h: ... here,
30155 * include/grub/i386/netbsd_reboot.h: ... here,
30156 * include/grub/i386/openbsd_bootarg.h: ... here,
30157 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
30158 licence to each file.
30159
b2cab848
RM
301602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30161
30162 * acinclude.m4: Remove `nop' assembly instruction; it's not
30163 implemented by all architectures.
30164
2cb6be4b
RM
301652010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30166
30167 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
30168 ELILO. This is no longer necessary.
30169
a2eaee15
BC
301702010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
30171
30172 Added new tool, grub-scrit-check to verify grub.cfg syntax.
30173
30174 * util/grub-script-check.c: grub-script-check tool.
30175 * conf/common.rmk: Make rules for grub-script-check.
30176
88d17012
RM
301772010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30178
30179 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
30180 spotting it back in 2008. Shame on me for forgetting he did.
30181
30182 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
30183
8040619d
RM
301842010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30185
30186 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
30187 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
30188 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
30189 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
30190 (GRUB_VIDEO_TYPE_EFI): Rename to ...
30191 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
30192
a0c2a0f6
RM
301932010-01-17 Robert Millan <rmh.grub@aybabtu.com>
30194
30195 * include/grub/test.h: Add license header.
30196 * tests/example_functional_test.c: Likewise.
30197 * tests/example_unit_test.c: Likewise.
30198 * tests/lib/functional_test.c: Likewise.
30199 * tests/lib/test.c: Likewise.
30200 * tests/lib/unit_test.c: Likewise.
30201
b0b13907
VS
302022010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
30203
30204 Use flag-based instead of hook-based video mode selection and "auto"
30205 keyword.
30206
30207 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
30208 (grub_video_set_mode): Changed prototype. All users updated.
30209 (grub_video_check_mode_flag): New inline function.
30210 * video/video.c (parse_modespec): New function.
30211 (grub_video_set_mode): Parse flags and keywords.
30212
ea379330 302132010-01-17 Carles Pina i Estany <carles@pina.cat>
30214
30215 * util/misc.c (grub_util_info): Fix the order of the parameters in a
30216 fprintf call.
30217
e15c215e
FZ
302182010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
30219
30220 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
30221
409ae1c9 302222010-01-16 Carles Pina i Estany <carles@pina.cat>
30223
30224 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
30225 string.
30226 * util/grub-emu.c (usage): Likewise.
30227 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
30228 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30229 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30230 * util/i386/pc/grub-setup.c (usage): Likewise.
30231
70a14d3d 302322010-01-16 Carles Pina i Estany <carles@pina.cat>
30233
30234 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
30235 the message.
30236 (grub_util_info): Likewise.
30237 (grub_util_error): Likewise.
30238 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
30239 and/or new lines in `grub_util_warna', `grub_util_info',
30240 `grub_util_error' calls.
30241 * util/getroot.c: Likewise.
30242 * util/grub-editenv.c: Likewise.
30243 * util/grub-emu.c: Likewise.
30244 * util/grub-fstest.c: Likewise.
30245 * util/grub-mkdevicemap.c: Likewise.
30246 * util/grub-mkfont.c: Likewise.
30247 * util/grub-mkpasswd-pbkdf2.c: Likewise.
30248 * util/grub-mkrelpath.c: Likewise.
30249 * util/grub-pe2elf.c: Likewise.
30250 * util/grub-probe.c: Likewise.
30251 * util/hostdisk.c: Likewise.
30252 * util/i386/efi/grub-mkimage.c: Likewise.
30253 * util/i386/pc/grub-mkimage.c: Likewise.
30254 * util/i386/pc/grub-setup.c: Likewise.
30255 * util/ieee1275/ofpath.c: Likewise.
30256 * util/mkisofs/eltorito.c: Likewise.
30257 * util/mkisofs/rock.c: Likewise.
30258 * util/mkisofs/write.c: Likewise.
30259 * util/raid.c: Likewise.
30260 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30261 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30262
a0b766fc
VS
302632010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30264
30265 Enable multiboot on non-pc.
30266
30267 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
30268 multiboot.mod and multiboot2.mod to ...
30269 * conf/i386.rmk (pkglib_MODULES): ... here.
30270 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
30271 Moved to ...
30272 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
30273 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
30274 Moved to ...
30275 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
30276 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
30277 Moved to ...
30278 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
30279 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
30280 Moved to ...
30281 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
30282 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
30283 relocator.mod.
30284 (ata_mod_SOURCES): Removed.
30285 (ata_mod_CFLAGS): Likewise.
30286 (ata_mod_LDFLAGS): Likewise.
30287 (relocator_mod_SOURCES): Removed.
30288 (relocator_mod_CFLAGS): Likewise.
30289 (relocator_mod_ASFLAGS): Likewise.
30290 (relocator_mod_LDFLAGS): Likewise.
30291 Include i386.mk.
30292 * include/grub/x86_64/multiboot.h: New file.
30293 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
30294 Terminate EFI.
30295
884ade56
VS
302962010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30297
30298 Video multiboot support.
30299
30300 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
30301 New prototype.
30302 * include/multiboot.h: Resynced with multiboot specification.
30303 * include/multiboot2.h: Likewise.
30304 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
30305 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
30306 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
30307 (HAS_VGA_TEXT): Likewise.
30308 (accepts_video): New variable.
30309 (grub_multiboot_set_accepts_video): New function.
30310 (grub_multiboot_get_mbi_size): Account for video structures.
30311 (set_video_mode): New function.
30312 (retrieve_video_parameters): Likewise.
30313 (grub_multiboot_make_mbi): Fill video fields.
30314
0d90e8a6
VS
303152010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30316
30317 Video driver ids.
30318
30319 * include/grub/video.h (grub_video_driver_id): New type.
30320 (grub_video_adapter): New member 'id'. All users updated.
30321 (grub_video_get_driver_id): New proto.
30322 * video/video.c (grub_video_get_driver_id): New function.
30323
5c71db1b 303242010-01-14 Carles Pina i Estany <carles@pina.cat>
30325
30326 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
30327 `var=val'.
30328
cca15b52 303292010-01-14 Carles Pina i Estany <carles@pina.cat>
30330
30331 * normal/cmdline.c (print_completion): Gettextizze.
30332
c586fbb2 303332001-01-14 Carles Pina i Estany <carles@pina.cat>
30334
30335 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
30336
ba2f6848 303372010-01-14 Carles Pina i Estany <carles@pina.cat>
30338
30339 * gettext/gettext.c (grub_gettext_translate): Push and pop
30340 grub_errno.
30341 (grub_gettext_delete_list): Change comment style.
30342 * kern/err.c (grub_error): Gettextizze.
30343 (grub_fatal): Gettextizze.
30344
0a46429a
RM
303452010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30346
30347 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
30348 (grub_linux16_real_boot): ... this.
30349 * kern/i386/loader.S: Likewise.
30350 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
30351 (grub_linux16_boot): New function. Switches to text mode and calls
30352 grub_linux16_real_boot().
30353
30354 * loader/i386/bsd.c: Include `<grub/video.h>'.
30355 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
30356 text mode before calling grub_unix_real_boot().
30357
30358 * loader/i386/multiboot.c: Include `<grub/video.h>'.
30359 (grub_multiboot_boot): Switch to text mode before calling
30360 grub_relocator32_boot().
30361
30362 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
30363 (grub_chainloader_boot): Switch to text mode before calling
30364 grub_chainloader_real_boot().
30365
d6f93a66
RM
303662010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
303672010-01-05 Colin Watson <cjwatson@ubuntu.com>
30368
30369 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
30370 non-empty value.
30371
303722010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
303732010-01-05 Colin Watson <cjwatson@ubuntu.com>
30374
30375 * util/grub.d/00_header.in: Define a "savedefault" function for use
30376 in menu entries.
30377 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
30378
303792010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
303802010-01-05 Colin Watson <cjwatson@ubuntu.com>
30381
30382 * util/grub-mkconfig_lib.in (save_default_entry): Only set
30383 saved_entry if boot_once is unset.
30384 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
30385 previous saved entry (i.e. grub-reboot).
30386
303872009-12-08 Colin Watson <cjwatson@ubuntu.com>
30388
30389 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
30390
303912009-12-08 Colin Watson <cjwatson@ubuntu.com>
30392
30393 * util/grub.d/00_header.in: Use `set var=val' rather than plain
30394 `var=val'.
30395 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
30396
303972009-12-08 Colin Watson <cjwatson@ubuntu.com>
30398
30399 * util/grub-reboot.in: Fix --version output.
30400 * util/grub-set-default.in: Likewise.
30401
304022009-12-08 Colin Watson <cjwatson@ubuntu.com>
30403
30404 * util/grub.d/00_header.in: Silently ignore zero-sized environment
30405 blocks.
30406
304072009-12-08 Colin Watson <cjwatson@ubuntu.com>
30408
30409 * util/grub.d/00_header.in: Quote the value assigned to `default',
30410 in case it contains spaces.
30411
304122009-12-08 Colin Watson <cjwatson@ubuntu.com>
30413
30414 * util/grub.d/30_os-prober.in: Fix merge error that moved a
30415 `save_default_entry' call from the macosx case to the linux case.
30416
304172009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
304182009-10-25 Colin Watson <cjwatson@ubuntu.com>
30419
30420 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
30421 in `chosen' environment variable.
30422 * normal/menu_text.c (get_entry_number): Check if the variable
30423 matches the title of a menu entry.
30424 (run_menu): Pass menu to get_entry_number.
30425
30426 * util/grub-reboot.in: New file.
30427 * util/grub-set-default.in: New file.
30428 * conf/common.rmk (grub-reboot): New utility.
30429 (grub-set-default): New utility.
30430
30431 * util/grub-mkconfig_lib.in (save_default_entry): New function.
30432 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
30433 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
30434 move it to `saved_entry' for the next boot. Load environment on
30435 initialisation.
30436 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
30437 * util/grub.d/10_hurd.in: Likewise.
30438 * util/grub.d/10_linux.in (linux_entry): Likewise.
30439 * util/grub.d/10_windows.in: Likewise.
30440 * util/grub.d/30_os-prober.in: Likewise.
30441
30442 * util/grub-install.in: Create environment block.
30443 * util/i386/efi/grub-install.in: Likewise.
30444 * util/ieee1275/grub-install.in: Likewise.
30445 * util/sparc64/ieee1275/grub-install.in: Likewise.
30446
0934d184
BC
304472010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
30448
30449 Unit testing framework for GRUB.
30450
30451 * Makefile.in: Test framework build rules for 'make check'.
30452 * conf/tests.rmk: Build rules for individual tests and framework.
30453
30454 * include/grub/test.h: Header file for whitebox tests.
30455 * tests/lib/functional_test.c: Framework support for whitebox
30456 functional tests.
30457 * tests/lib/test.c: Common whitebox testing code for unit and
30458 functional tests.
30459 * tests/lib/unit_test.c: Framework support for whitebox unit
30460 tests.
30461
30462 * tests/util/grub-shell-tester.in: Support utility for grub-script
30463 tests.
30464 * tests/util/grub-shell.in: Utility to execute grub-script
30465 commands in a Qemu instance.
30466
30467 * tests/example_functional_test.c: Example whitebox functional
30468 test.
30469 * tests/example_grub_script_test.in: Example grub-script test.
30470 * tests/example_scripted_test.in: Example scripted test.
30471 * tests/example_unit_test.c: Example whitebox unit test.
30472
9c4ffeeb
VS
304732010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
30474
30475 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
30476 Add loader/i386/multiboot_mbi.c.
30477 (multiboot2_mod_SOURCES): Likewise.
30478 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
30479 (multiboot2_mod_SOURCES): Likewise.
30480 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
30481 (grub_multiboot_make_mbi): Likewise.
30482 (grub_multiboot_free_mbi): Likewise.
30483 (grub_multiboot_init_mbi): Likewise.
30484 (grub_multiboot_add_module): Likewise.
30485 (grub_multiboot_set_bootdev): Likewise.
30486 * loader/i386/multiboot.c (mbi): Removed.
30487 (mbi_dest): Likewise.
30488 (alloc_mbi): New variable.
30489 (grub_multiboot_payload_size): Removed. All users updated.
30490 (grub_multiboot_pure_size): New variable.
30491 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
30492 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
30493 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
30494 (grub_fill_multiboot_mmap): Likewise.
30495 (grub_multiboot_get_bootdev): Likewise.
30496 (grub_multiboot): Use multiboot_mbi functions.
30497 * loader/i386/multiboot_mbi.c: New file.
30498
17383dfe
VS
304992010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30500
30501 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
30502 it would result in module crash.
30503
c1f28820
VS
305042010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30505
30506 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
30507 (grub_ofconsole_getwh): Split to ...
30508 (grub_ofconsole_getwh): ... this.
30509 (grub_ofconsole_dimensions): ...and this.
30510 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
30511
58655a16
RM
305122010-01-13 Robert Millan <rmh.grub@aybabtu.com>
30513
30514 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
30515
10891398
VS
305162010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30517
30518 * loader/i386/pc/multiboot2.c: Removed stalled file.
30519
0b8a223c
VS
305202010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30521
30522 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
30523 Reported by: Grégoire Sutre
30524
92ab12b0
RM
305252010-01-11 Robert Millan <rmh.grub@aybabtu.com>
30526
30527 * util/misc.c (canonicalize_file_name): New function.
30528 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
30529 instead of realpath().
30530
a788afb6
CW
305312010-01-11 Colin Watson <cjwatson@ubuntu.com>
30532
30533 * util/grub-install.in (usage): Clarify meaning of --root-directory,
30534 and make it clearer that it's optional. Based on confusion
30535 witnessed on IRC.
30536
ffa8e3d2
VS
305372010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30538
30539 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
30540 in premature implicit newline.
30541
e9060a9d
VS
305422010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30543
30544 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
30545 which resulted in garbled command line at the end of screen.
30546
f0d0c0b7
RM
305472010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30548
30549 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
30550 initialization with similar approach as with other Linux loaders.
30551
0e60bae7
RM
305522010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30553
30554 Fix i386-ieee1275 build.
30555
30556 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
30557 and grub_term_height() for video_{width,height} initialization.
30558
305592010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
30560
30561 Fix grub-emu build.
30562
30563 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
30564
cdb3f378
RM
305652010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
305662010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30567
30568 Support for multiple terminals.
30569
30570 * Makefile.in (pkglib_DATA): terminal.lst.
30571 (terminal.lst): New target.
30572 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
30573 (GRUB_MOD_INIT(handler)): Likewise.
30574 (GRUB_MOD_FINI(handler)): Likewise.
30575 * commands/help.c (grub_cmd_help): Handle multiple terminals.
30576 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
30577 * commands/sleep.c (do_print): Use grub_term_restore_pos.
30578 (grub_cmd_sleep): Use grub_term_save_pos.
30579 * commands/terminal.c: New file.
30580 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
30581 commands/terminal.c and lib/charset.c.
30582 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
30583 (pkglib_MODULES): Add terminal.mod.
30584 (terminal_mod_SOURCES): New variable.
30585 (terminal_mod_CFLAGS): Likewise.
30586 (terminal_mod_LDFLAGS): Likewise.
30587 * genhandlerlist.sh: Don't handle terminals.
30588 * genmk.rb: Generate terminal-*.lst.
30589 * genterminallist.sh: New file.
30590 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
30591 (grub_is_valid_utf8): Likewise.
30592 (grub_utf8_to_ucs4_alloc): Likewise.
30593 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30594 (grub_menu_register_viewer): Changed argument.
30595 (grub_menu_try_text): New proto.
30596 (grub_gfxmenu_try_hook): New declaration.
30597 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30598 (grub_menu_init_page): Additional argument term.
30599 (grub_normal_init_page): Likewise.
30600 (grub_cmdline_get): Arguments simplified.
30601 (grub_utf8_to_ucs4_alloc): Removed.
30602 (grub_print_ucs4): Additional argument term.
30603 (grub_getstringwidth): Likewise.
30604 (grub_print_message_indented): Likewise.
30605 (grub_menu_text_register_instances): New proto.
30606 (grub_show_menu): Likewise.
30607 (read_terminal_list): Likewise.
30608 (grub_set_more): Likewise.
30609 * include/grub/parser.h: Include handler.h.
30610 * include/grub/reader.h: Rewritten.
30611 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30612 (GRUB_TERM_WIDTH): Changed to function.
30613 (GRUB_TERM_HEIGHT): Likewise.
30614 (GRUB_TERM_BORDER_WIDTH): Likewise.
30615 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30616 (GRUB_TERM_NUM_ENTRIES): Likewise.
30617 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30618 (GRUB_TERM_CURSOR_X): Likewise.
30619 (grub_term_input_class): Likewise.
30620 (grub_term_output_class): Likewise.
30621 (grub_term_outputs_disabled): New declaration.
30622 (grub_term_inputs_disabled): Likewise.
30623 (grub_term_outputs): Likewise.
30624 (grub_term_inputs): Likewise.
30625 (grub_term_register_input): Rewritten.
30626 (grub_term_register_output): Likewise.
30627 (grub_term_unregister_input): Likewise.
30628 (grub_term_unregister_output): Likewise.
30629 (FOR_ACTIVE_TERM_INPUTS): New macro.
30630 (FOR_DISABLED_TERM_INPUTS): Likewise.
30631 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30632 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30633 * include/grub/terminfo.h: Add oterm argument to all protypes.
30634 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30635 Use grub_rescue_run.
30636 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30637 All users updated.
30638 * kern/reader.c: Removed. All users updated.
30639 * kern/rescue_reader.c (grub_rescue_init): Removed.
30640 (grub_rescue_reader): Likewise.
30641 (grub_register_rescue_reader): Likewise.
30642 (grub_rescue_run): New function based on kern/reader.c.
30643 * kern/term.c: Adapted for multiterm.
30644 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30645 (grub_is_valid_utf8): Likewise.
30646 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30647 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30648 right terminal.
30649 * loader/i386/linux.c (grub_linux_boot): Likewise.
30650 * normal/auth.c (grub_username_get): New function.
30651 (grub_auth_check_authentication): Use grub_username_get.
30652 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30653 * normal/color.c: Adapt for multiterm.
30654 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30655 (grub_normal_init_page): Additional argument term.
30656 (read_lists): Call read_terminal_lists.
30657 (grub_enter_normal_mode): Call grub_cmdline_run.
30658 Handle grub_normal_exit_level.
30659 (grub_cmd_normal): Make reentrant.
30660 (grub_cmd_normal_exit): New function.
30661 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30662 * normal/menu.c: Adapt for multiterm.
30663 * normal/menu_entry.c: Likewise.
30664 * normal/menu_text.c: Likewise.
30665 * normal/menu_viewer.c: Removed. All users updated.
30666 * normal/term.c: New file.
30667 * util/console.c: Change order of includes to workaround a bug in
30668 ncurses headers.
30669 * term/terminfo.c: New argument oterm on all exported functions.
30670 All users updated.
30671 * util/grub-editenv.c (grub_term_input_class): Removed.
30672 (grub_term_output_class): Likewise.
30673
1a064917
RM
306742010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30675
30676 Make loader output a bit more user-friendly.
30677
30678 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30679 is being loaded. Likewise for the Hurd.
30680
30681 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30682 that kernel of FreeBSD ${version} is being loaded.
30683
30684 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30685 grub_dprintf().
30686 (grub_cmd_initrd): Likewise.
30687 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30688 that Linux ${version} is being loaded. Likewise for initrd.
30689
5ce0a83a 306902010-01-09 Carles Pina i Estany <carles@pina.cat>
30691
30692 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30693
809bbfeb 306942010-01-08 Carles Pina i Estany <carles@pina.cat>
30695
30696 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30697 (GRUB_MOD_INIT): Gettextizze.
30698 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30699 (GRUB_MOD_INIT): Gettextizze.
30700 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30701 (grub_cmd_linux): Capitalise Linux.
30702 (GRUB_MOD_INIT): Gettextizze.
30703 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30704 (grub_cmd_linux): Capitalise Linux.
30705 (GRUB_MOD_INIT): Gettextizze.
30706 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30707 (grub_cmd_linux): Capitalise Linux.
30708 (GRUB_MOD_INIT): Gettextizze.
30709 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30710 (GRUB_MOD_INIT): Gettextizze.
30711 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30712 (grub_cmd_linux): Capitalise Linux.
30713 (GRUB_MOD_INIT): Gettextizze.
30714 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30715 (grub_cpu_xnu_init): Gettextizze.
30716 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30717 (GRUB_MOD_INIT): Gettextizze.
30718 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30719 (GRUB_MOD_INIT): Gettextizze.
30720 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30721 (grub_linux_load64): Capitalise Linux.
30722 (GRUB_MOD_INIT): Gettextizze.
30723 * loader/xnu.c: Include `<grub/i18n.h>'.
30724 (GRUB_MOD_INIT): Gettextizze.
30725 * po/POTFILES: Add `loader/efi/appleloader.c',
30726 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
30727 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
30728 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
30729 `loader/i386/xnu.c', `loader/multiboot_loader.c',
30730 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
30731 and `loader/xnu.c'.
30732
b394b2ca
RM
307332010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30734
30735 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30736
307372010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
30738
30739 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30740 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30741 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30742
bc8b32b3
RM
307432010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30744
30745 Reset Multiboot 2 support. New loader implements the draft in
30746 /branches/multiboot2 and shares as much code as possible with the
30747 production Multiboot 1 implementation.
30748
30749 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30750 * loader/multiboot2.c: Likewise.
30751 * loader/i386/multiboot_helper.S: Likewise.
30752 * include/multiboot2.h: Replace with latest version from the draft
30753 in /branches/multiboot2.
30754
30755 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
30756 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
30757 and `loader/multiboot2.c'.
30758 (pkglib_MODULES): Add `multiboot2.mod'.
30759 (multiboot2_mod_SOURCES): New variable.
30760 (multiboot2_mod_LDFLAGS): Likewise.
30761 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
30762
30763 * conf/i386-pc.rmk: Likewise.
30764
30765 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30766 (multiboot_mod_SOURCES): Remove variable.
30767 (multiboot_mod_LDFLAGS): Likewise.
30768 (multiboot_mod_CFLAGS): Likewise.
30769
30770 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30771 `<multiboot2.h>' instead of `<multiboot.h>'.
30772 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30773 (MULTIBOOT_HEADER_MAGIC): New macros.
30774
30775 * loader/multiboot_loader.c (module_version_status): Remove variable.
30776 (find_multi_boot2_header): Remove function.
30777 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30778 logic. Always check for the Multiboot version we're compiling for.
30779 (grub_cmd_module_loader): Likewise.
30780 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30781 command instead of `multiboot'.
30782
5d2c52b8
RM
307832010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30784
30785 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30786 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30787 all users.
30788
53108d92
RM
307892010-01-07 Robert Millan <rmh.grub@aybabtu.com>
307902010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30791
30792 Fix breakage introduced with previous commit.
30793
30794 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30795 commands.
30796 * normal/handler.c (read_handler_list): Revert part of previous commit
30797 affecting this file.
30798 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30799 (grub_normal_execute): ... here.
30800
e2e936b2
RM
308012010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30802
30803 Merge prefix-redefinition-fix branch.
30804
30805 * normal/autofs.c (read_fs_list): Make function capable of being
30806 run multiple times, gracefuly replacing the previous data
30807 structures.
30808 * normal/dyncmd.c (read_command_list): Likewise.
30809 * normal/handler.c (read_handler_list): Likewise.
30810 * normal/main.c (read_lists): New function. Calls all the
30811 list reading functions.
30812 (grub_normal_execute): Use read_lists() instead of calling all
30813 list reading functions explicitly. Register read_lists() as a
30814 variable hook attached to ${prefix}.
30815
607a3701
VS
308162010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30817
30818 Merge crypto branch.
30819
30820 * Makefile.in (pkglib_DATA): Add crypto.lst.
30821 (crypto.lst): New target.
30822 * commands/hashsum.c: New file.
30823 * commands/password.c (check_password): Use grub_crypto_memcmp.
30824 * commands/password_pbkdf2.c: New file.
30825 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30826 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30827 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30828 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30829 -I$(srcdir)/lib/libgcrypt_wrap.
30830 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30831 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30832 password_pbkdf2.mod.
30833 (crypto_mod_SOURCES): New variable.
30834 (crypto_mod_CFLAGS): Likewise.
30835 (crypto_mod_LDFLAGS): Likewise.
30836 (hashsum_mod_SOURCES): New variable.
30837 (hashsum_mod_CFLAGS): Likewise.
30838 (hashsum_mod_LDFLAGS): Likewise.
30839 (pbkdf2_mod_SOURCES): New variable.
30840 (pbkdf2_mod_CFLAGS): Likewise.
30841 (pbkdf2_mod_LDFLAGS): Likewise.
30842 (password_pbkdf2_mod_SOURCES): New variable.
30843 (password_pbkdf2_mod_CFLAGS): Likewise.
30844 (password_pbkdf2_mod_LDFLAGS): Likewise.
30845 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30846 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30847 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30848 Include conf/gcry.rmk.
30849 * include/grub/auth.h: Rewritten.
30850 * include/grub/crypto.h: New file.
30851 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30852 * include/grub/normal.h (read_crypto_list): New prototype.
30853 * lib/crypto.c: New file.
30854 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30855 * lib/pbkdf2.c: Likewise.
30856 * normal/auth.c (grub_auth_strcmp): Removed.
30857 (grub_iswordseparator): Likewise.
30858 (grub_auth_strword): Likewise.
30859 (is_authenticated): Use grub_strword.
30860 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30861 and grub_strword. Pass entered password to authentication callback.
30862 * normal/crypto.c: New file.
30863 * normal/main.c: Call read_crypto_list.
30864 * util/grub-mkpasswd-pbkdf2.c: New file.
30865 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30866
42841caa
VS
308672010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30868
30869 Fix descent and ascent calculation.
30870
30871 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30872 (options): New option "asce".
30873 (usage): Likewise.
30874 (add_char): Ignore invalid glyphs for descent calculation.
30875 Calculate ascent from actual content.
30876 (print_glyphs): Use 'asce'.
30877 (write_font): Likewise. Allow ascent override.
30878 (main): Handle "asce" option.
30879
e7730de7 308802010-01-06 Carles Pina i Estany <carles@pina.cat>
30881
30882 * kern/err.c: Include `<grub/i18n.h>'.
30883 (grub_print_error): Add full stop. Gettextizze.
30884 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30885 (grub_bsd_load_elf): Capitalise ELF.
30886 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30887 (grub_cmd_freebsd_module): Likewise.
30888 (grub_cmd_freebsd_module_elf): Likewise.
30889 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30890
40e3a41f 308912010-01-06 Carles Pina i Estany <carles@pina.cat>
30892
30893 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30894 * commands/search_file.c (HELP_MESSAGE): New macro.
30895 * commands/search_label.c (HELP_MESSAGE): Likewise.
30896 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30897 * po/POTFILES: Add `commands/search_file.c',
30898 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30899 `commands/search.c'.
30900
83507e68
RM
309012010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30902
30903 * config.rpath: Update from Gnulib.
30904
465c787b
YB
309052010-01-05 Yves Blusseau <blusseau@zetam.org>
30906
30907 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30908
6581dd3a
YB
309092010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30910
30911 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30912
3bff18c5
CW
309132010-01-05 Colin Watson <cjwatson@ubuntu.com>
30914
30915 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30916 arguments to fread so that we get a return value in bytes, rather
30917 than something that will normally be rounded down to 0.
30918 Adjust error handling to avoid producing garbage when size_t is not
30919 the same size as long long.
30920
a1368118
CW
309212010-01-05 Colin Watson <cjwatson@ubuntu.com>
30922
30923 * util/mkisofs/write.c (padblock_write): Check return value of
30924 fread.
30925
7c302978
RM
309262010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30927
30928 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30929 floppy images now.
30930
30931 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30932
e33ace06
RM
309332010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30934
30935 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30936 instead of manual alignment.
30937 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30938 verbose). Avoid attempts to read past end of the device
30939 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30940 but GRUB_DISK_CACHE_SIZE may exceed that).
30941
4b856776
RM
309422010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30943
30944 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30945 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30946 it to upper layer.
30947
52c2d97f
VS
309482010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30949
30950 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30951 New constant.
30952 (grub_efi_piwg_device_path): New structure
30953 (grub_efi_piwg_device_path_t): New type.
30954 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30955 (devpath_1): Transform to a structure. All users updated.
30956 (devpath_2): Likewise.
30957 (devpath_3): Likewise.
30958 (devpath_4): Likewise.
30959 (devpath_5): Likewise.
30960
98ff6a54
VS
309612010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30962
30963 * loader/efi/appleloader.c: Restored. Update all users.
30964
3a73dcb6
RM
309652010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30966
30967 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30968
30969 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30970 (struct boot_blocklist): Move from here ...
30971 * include/grub/i386/pc/boot.h [ASM_FILE]
30972 (struct grub_boot_blocklist): ... to here. Update all users.
30973 (setup): Only initialize `start' member of `first_block'
30974 structure. Add assert() calls to verify the other members.
30975
30976 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30977 (generate_image): Fix broken blocklist length initialization.
30978 Add assert() call to verify blocklist `segment' field.
30979
ab0eeb0c
RM
309802010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30981
30982 * loader/efi/appleloader.c: Remove. Update all users.
30983
58bc8bd5
RM
309842010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30985
30986 * boot/i386/pc/boot.S: Update copyright year.
30987 * boot/i386/pc/cdboot.S: Likewise.
30988 * boot/i386/pc/diskboot.S: Likewise.
30989 * boot/i386/pc/lnxboot.S: Likewise.
30990 * boot/i386/pc/pxeboot.S: Likewise.
30991 * bus/pci.c: Likewise.
30992 * commands/cmp.c: Likewise.
30993 * commands/help.c: Likewise.
30994 * commands/hexdump.c: Likewise.
30995 * commands/i386/pc/halt.c: Likewise.
30996 * commands/i386/pc/play.c: Likewise.
30997 * commands/i386/pc/vbeinfo.c: Likewise.
30998 * commands/ls.c: Likewise.
30999 * commands/test.c: Likewise.
31000 * disk/dmraid_nvidia.c: Likewise.
31001 * disk/i386/pc/biosdisk.c: Likewise.
31002 * disk/ieee1275/nand.c: Likewise.
31003 * disk/ieee1275/ofdisk.c: Likewise.
31004 * disk/lvm.c: Likewise.
31005 * disk/raid.c: Likewise.
31006 * disk/raid6_recover.c: Likewise.
31007 * disk/scsi.c: Likewise.
31008 * fs/affs.c: Likewise.
31009 * fs/cpio.c: Likewise.
31010 * fs/ext2.c: Likewise.
31011 * fs/hfs.c: Likewise.
31012 * fs/iso9660.c: Likewise.
31013 * fs/ntfs.c: Likewise.
31014 * fs/sfs.c: Likewise.
31015 * fs/udf.c: Likewise.
31016 * fs/ufs.c: Likewise.
31017 * fs/xfs.c: Likewise.
31018 * gencmdlist.sh: Likewise.
31019 * genmk.rb: Likewise.
31020 * include/grub/disk.h: Likewise.
31021 * include/grub/efi/api.h: Likewise.
31022 * include/grub/efi/efi.h: Likewise.
31023 * include/grub/efi/pe32.h: Likewise.
31024 * include/grub/elf.h: Likewise.
31025 * include/grub/fs.h: Likewise.
31026 * include/grub/i386/at_keyboard.h: Likewise.
31027 * include/grub/i386/pc/memory.h: Likewise.
31028 * include/grub/i386/pc/vbe.h: Likewise.
31029 * include/grub/i386/pci.h: Likewise.
31030 * include/grub/i386/tsc.h: Likewise.
31031 * include/grub/ieee1275/ieee1275.h: Likewise.
31032 * include/grub/ntfs.h: Likewise.
31033 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31034 * include/grub/sparc64/libgcc.h: Likewise.
31035 * include/grub/symbol.h: Likewise.
31036 * include/grub/types.h: Likewise.
31037 * include/multiboot2.h: Likewise.
31038 * io/gzio.c: Likewise.
31039 * kern/device.c: Likewise.
31040 * kern/disk.c: Likewise.
31041 * kern/efi/efi.c: Likewise.
31042 * kern/efi/mm.c: Likewise.
31043 * kern/elf.c: Likewise.
31044 * kern/file.c: Likewise.
31045 * kern/i386/dl.c: Likewise.
31046 * kern/i386/pc/init.c: Likewise.
31047 * kern/i386/pc/startup.S: Likewise.
31048 * kern/ieee1275/ieee1275.c: Likewise.
31049 * kern/ieee1275/init.c: Likewise.
31050 * kern/main.c: Likewise.
31051 * kern/mm.c: Likewise.
31052 * kern/powerpc/dl.c: Likewise.
31053 * kern/sparc64/dl.c: Likewise.
31054 * kern/x86_64/dl.c: Likewise.
31055 * lib/hexdump.c: Likewise.
31056 * loader/efi/appleloader.c: Likewise.
31057 * loader/i386/ieee1275/linux.c: Likewise.
31058 * loader/i386/pc/chainloader.c: Likewise.
31059 * loader/i386/pc/linux.c: Likewise.
31060 * loader/i386/pc/multiboot2.c: Likewise.
31061 * loader/ieee1275/multiboot2.c: Likewise.
31062 * loader/multiboot2.c: Likewise.
31063 * loader/multiboot_loader.c: Likewise.
31064 * loader/powerpc/ieee1275/linux.c: Likewise.
31065 * normal/completion.c: Likewise.
31066 * normal/menu_entry.c: Likewise.
31067 * partmap/apple.c: Likewise.
31068 * util/grub.d/10_hurd.in: Likewise.
31069 * util/hostfs.c: Likewise.
31070 * video/readers/png.c: Likewise.
31071
e2d70b5c
CW
310722010-01-03 Colin Watson <cjwatson@ubuntu.com>
31073
31074 * include/grub/misc.h (GNUC_PREREQ): New macro.
31075 (ATTRIBUTE_ERROR): New macro.
31076 * include/grub/list.h (grub_bad_type_cast_real): Use
31077 ATTRIBUTE_ERROR.
31078
a173283f 310792010-01-03 Carles Pina i Estany <carles@pina.cat>
31080
31081 * normal/menu_text.c (print_message): Change messages.
31082
7fa7ff74 310832010-01-03 Carles Pina i Estany <carles@pina.cat>
31084
31085 * normal/menu_entry.c (store_completion): Gettextizze.
31086
136d24f6 310872010-01-03 Carles Pina i Estany <carles@pina.cat>
31088
31089 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
31090
f936862e 310912010-01-03 Carles Pina i Estany <carles@pina.cat>
31092
31093 * po/POTFILES: Sort correctly.
31094
29c44ad1 310952010-01-03 Carles Pina i Estany <carles@pina.cat>
31096
31097 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
31098 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
31099 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
31100 full stop.
31101 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
31102 summary. Gettextizze the strings.
31103 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
31104 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
31105 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
31106 full stop.
31107 (GRUB_MOD_INIT): Remove command name from summary.
31108 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
31109 summary.
31110 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
31111 * term/i386/pc/serial.c (options): Add full stops.
31112 (GRUB_MOD_INIT): Remove command name from the summary.
31113
77a79592 311142010-01-03 Carles Pina i Estany <carles@pina.cat>
31115
31116 * commands/acpi.c: Gettextizze help strings and/or options. Include
31117 `grub/i18n.h' if needed.
31118 * commands/blocklist.c: Likewise.
31119 * commands/boot.c: Likewise.
31120 * commands/cat.c: Likewise.
31121 * commands/cmp.c: Likewise.
31122 * commands/configfile.c: Likewise.
31123 * commands/crc.c: Likewise.
31124 * commands/date.c: Likewise.
31125 * commands/echo.c: Likewise.
31126 * commands/efi/fixvideo.c: Likewise.
31127 * commands/efi/loadbios.c: Likewise.
31128 * commands/gptsync.c: Likewise.
31129 * commands/halt.c: Likewise.
31130 * commands/handler.c: Likewise.
31131 * commands/hdparm.c: Likewise.
31132 * commands/hexdump.c: Likewise.
31133 * commands/i386/cpuid.c: Likewise.
31134 * commands/i386/pc/drivemap.c: Likewise.
31135 * commands/i386/pc/halt.c: Likewise.
31136 * commands/i386/pc/pxecmd.c: Likewise.
31137 * commands/i386/pc/vbeinfo.c: Likewise.
31138 * commands/i386/pc/vbetest.c: Likewise.
31139 * commands/ieee1275/suspend.c: Likewise.
31140 * commands/keystatus.c: Likewise.
31141 * commands/loadenv.c: Likewise.
31142 * commands/ls.c: Likewise.
31143 * commands/lsmmap.c: Likewise.
31144 * commands/lspci.c: Likewise.
31145 * commands/memrw.c: Likewise.
31146 * commands/minicmd.c: Likewise.
31147 * commands/parttool.c: Likewise.
31148 * commands/password.c: Likewise.
31149 * commands/probe.c: Likewise.
31150 * commands/read.c: Likewise.
31151 * commands/reboot.c: Likewise.
31152 * commands/search.c: Likewise.
31153 * commands/sleep.c: Likewise.
31154 * commands/test.c: Likewise.
31155 * commands/true.c: Likewise.
31156 * commands/usbtest.c: Likewise.
31157 * commands/videotest.c: Likewise.
31158 * commands/xnu_uuid.c: Likewise.
31159 * disk/loopback.c: Likewise.
31160 * hello/hello.c: Likewise.
31161 * loader/i386/bsd.c: Likewise.
31162 * term/i386/pc/serial.c: Likewise.
31163 * po/POTFILES: Add new files.
31164
da8d5c53
CW
311652010-01-02 Colin Watson <cjwatson@ubuntu.com>
31166
31167 * term/i386/pc/at_keyboard.c
31168 (keyboard_controller_wait_untill_ready): Rename to ...
31169 (keyboard_controller_wait_until_ready): ... this. Update all users.
31170
33937904 311712010-01-01 Carles Pina i Estany <carles@pina.cat>
31172
31173 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
31174 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
31175 string using string width.
31176 * normal/menu_text.c (grub_print_message_indented): Use
31177 grub_print_spaces and not print_spaces.
31178 (print_timeout): Likewise.
31179 (print_spaces): Move to...
31180 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
31181
3fd3b8d8
RM
311822010-01-01 Robert Millan <rmh.grub@aybabtu.com>
31183
31184 Import from Gnulib.
31185
31186 * gnulib/getdelim.c: New file.
31187 * gnulib/getline.c: Likewise.
31188
33433555
VS
311892009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
31190
31191 * include/grub/list.h (grub_assert_fail): Removed.
31192 (grub_bad_type_cast_real): New function.
31193 (grub_bad_type_cast): New macro.
31194 (GRUB_AS_LIST): Use grub_bad_type_cast.
31195 (GRUB_AS_LIST_P): Likewise.
e44721e8 31196 (GRUB_AS_NAMED_LIST): Likewise.
33433555 31197 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 31198 (GRUB_AS_PRIO_LIST): Likewise.
33433555 31199 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 31200 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 31201
f5a51306
VS
312022009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
31203
31204 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
31205 Fix syntax error.
31206
90d1e879
RM
312072009-12-29 Robert Millan <rmh.grub@aybabtu.com>
31208
31209 * configure.ac: Check for TARGET_CFLAGS initialization before we
31210 initialize it ourselves (sigh).
31211 Move a few modifications to TARGET_CFLAGS to be unconditional
31212 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
31213 eh_frame)
31214
31215 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
31216 * term/i386/pc/at_keyboard.c
31217 (keyboard_controller_wait_untill_ready): Likewise.
31218 (keyboard_controller_led): Rename `led_status' paramter to avoid
31219 name conflict.
31220
465b5a81 312212009-12-28 Carles Pina i Estany <carles@pina.cat>
31222
31223 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
31224 quotes.
31225
c181849b
VS
312262009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31227
31228 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
31229
9c8739a4
VS
312302009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31231
31232 * normal/menu_text.c (grub_print_message_indented): Prevent
31233 past-the-end-of-array dereference.
31234
3e74249c
VS
312352009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31236
31237 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
31238 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
31239
64fd18ed 312402009-12-27 Carles Pina i Estany <carles@pina.cat>
31241
31242 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
31243 * normal/main.c (grub_normal_read_line): Remove a space from the
31244 default prompt.
31245
714af9b9 312462009-12-27 Carles Pina i Estany <carles@pina.cat>
31247
31248 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
31249 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31250 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31251 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31252 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31253 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31254 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31255
82f3e412 312562009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 31257
31258 * video/readers/jpeg.c (cmd): Declare.
31259 (grub_cmd_jpegtest): Use `grub_command_t' type.
31260 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31261 Assign to `cmd'.
31262 (GRUB_MOD_FINI): Use `cmd' to unregister.
31263 * video/readers/png.c (cmd): Declare.
31264 (grub_cmd_pngtest): Use `grub_command_t' type.
31265 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31266 Assign to `cmd'.
31267 (GRUB_MOD_FINI): Use `cmd' to unregister.
31268 * video/readers/tga.c (cmd): Declare.
31269 (grub_cmd_tgatest): Use `grub_command_t' type.
31270 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31271 Assign to `cmd'.
31272 (GRUB_MOD_FINI): Use `cmd' to unregister.
31273
82f3e412 312742009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 31275
31276 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
31277 stops.
31278 * kern/corecmd.c (grub_register_core_commands): Likewise.
31279 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
31280 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31281 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
31282 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31283 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31284 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
31285 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31286 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
31287 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31288 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31289 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31290 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31291 * normal/handler.c (insert_handler): Likewise.
31292 * normal/main.c (GRUB_MOD_INIT): Likewise.
31293 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
31294
fdcdbb66 312952009-12-26 Carles Pina i Estany <carles@pina.cat>
31296
31297 * commands/help.c (grub_cmd_help): Print the command name before the
31298 summary.
31299 (GRUB_MOD_INIT): Remove command name from the summary.
31300 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 31301 string as summary.
fdcdbb66 31302 * lib/arg.c (find_long): Print the command name before the summary.
31303 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
31304 summary.
31305 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
31306 * commands/cat.c (GRUB_MOD_INIT): Likewise.
31307 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
31308 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31309 * commands/crc.c (GRUB_MOD_INIT): Likewise.
31310 * commands/date.c (GRUB_MOD_INIT): Likewise.
31311 * commands/echo.c (GRUB_MOD_INIT): Likewise.
31312 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
31313 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31314 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31315 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
31316 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
31317 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
31318 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
31319 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31320 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
31321 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
31322 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
31323 * commands/ls.c (GRUB_MOD_INIT): Likewise.
31324 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31325 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31326 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31327 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
31328 * commands/password.c (GRUB_MOD_INIT): Likewise.
31329 * commands/probe.c (GRUB_MOD_INIT): Likewise.
31330 * commands/read.c (GRUB_MOD_INIT): Likewise.
31331 * commands/search.c (GRUB_MOD_INIT): Likewise.
31332 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
31333 * commands/test.c (GRUB_MOD_INIT): Likewise.
31334 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
31335 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
31336 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
31337 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
31338 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
31339 * lib/arg.c (GRUB_MOD_INIT): Likewise.
31340 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
31341 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31342 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31343 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31344 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
31345 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
31346 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
31347 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
31348
9c288be2
VS
313492009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31350
31351 Use search command for preliminar UUID search.
31352
31353 * commands/search.c: Split into ...
31354 * commands/search_wrap.c: ...this
31355 * commands/search.c: ...and this.
31356 * commands/search_file.c: New file.
31357 * commands/search_label.c: New file.
31358 * commands/search_uuid.c: New file.
31359 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
31360 Add commands/search_wrap.c, commands/search_file.c,
31361 commands/search_label.c and commands/search_uuid.c.
31362 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
31363 (search_mod_SOURCES): Set to commands/search_wrap.c.
31364 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
31365 search_label.mod.
31366 (search_fs_file_mod_SOURCES): New variable.
31367 (search_fs_file_mod_CFLAGS): Likewise.
31368 (search_fs_file_mod_LDFLAGS): Likewise.
31369 (search_label_mod_SOURCES): Likewise.
31370 (search_label_mod_CFLAGS): Likewise.
31371 (search_label_mod_LDFLAGS): Likewise.
31372 (search_fs_uuid_mod_SOURCES): New variable.
31373 (search_fs_uuid_mod_CFLAGS): Likewise.
31374 (search_fs_uuid_mod_LDFLAGS): Likewise.
31375 (fs_file_mod_SOURCES): Removed.
31376 (fs_file_mod_CFLAGS): Likewise.
31377 (fs_file_mod_LDFLAGS): Likewise.
31378 (fs_uuid_mod_SOURCES): Removed.
31379 (fs_uuid_mod_CFLAGS): Likewise.
31380 (fs_uuid_mod_LDFLAGS): Likewise.
31381 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
31382 Set to util/grub-install.in.
31383 * disk/fs_file.c: Removed.
31384 * disk/fs_uuid.c: Likewise.
31385 * include/grub/search.h: New file.
31386 * util/grub-install.in: Handle sparc64.
31387 Create and use load.cfg.
31388 * util/sparc64/ieee1275/grub-install.in: Removed.
31389
db943399
VS
313902009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31391
31392 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
31393 Ignore return status if CF is cleared.
31394 (grub_biosdisk_get_diskinfo_standard): Likewise.
31395
3fdae612
RM
313962009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31397
31398 * term/i386/pc/at_keyboard.c
31399 (keyboard_controller_wait_untill_ready): New function.
31400 (grub_keyboard_controller_write, grub_keyboard_controller_read)
31401 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
31402 for keyboard polling, rather than duplicate the same loop. This
31403 saves a few bytes in code size.
31404
7ebaa2b4
VS
314052009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31406
31407 Support for (pxe[:server[:gateway]]) syntax and
31408 use environment variable for PXE.
31409
31410 * commands/i386/pc/pxecmd.c (options): Removed.
31411 (print_ip): Removed.
31412 (grub_cmd_pxe): Removed
31413 (grub_cmd_pxe_unload): New function.
31414 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
31415 (grub_pxe_your_ip): Made static.
31416 (grub_pxe_default_server_ip): Likewise.
31417 (grub_pxe_default_gateway_ip): Likewise.
31418 (grub_pxe_blksize): Likewise.
31419 (parse_ip): New function.
31420 (grub_pxe_open): Support server and gateway specification.
31421 (grub_pxe_close): Free disk->data.
31422 (grub_pxefs_open): Use disk->data.
31423 (grub_pxefs_read): Likewise.
31424 (grub_env_write_readonly): New function.
31425 (set_mac_env): Likewise.
31426 (set_env_limn_ro): Likewise.
31427 (parse_dhcp_vendor): Likewise.
31428 (grub_pxe_detect): Set the environment variables.
31429 (set_ip_env): New function.
31430 (write_ip_env): Likewise.
31431 (grub_env_write_pxe_default_server): Likewise.
31432 (grub_env_write_pxe_default_gateway): Likewise.
31433 (grub_env_write_pxe_blocksize): Likewise.
31434 (GRUB_MOD_INIT(pxe)): Set environment variables.
31435 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
31436 (grub_pxe_mac_addr_t): ... this. All users updated.
31437 (grub_pxe_your_ip): Removed.
31438 (grub_pxe_server_ip): Likewise.
31439 (grub_pxe_gateway_ip): Likewise.
31440 (grub_pxe_blksize): Likewise.
31441
ec5f98ab 314422009-12-25 Carles Pina i Estany <carles@pina.cat>
31443
31444 * commands/help.c: Include `<grub/i18n.h>'.
31445 (grub_cmd_help): Gettextizze.
31446 (GRUB_MOD_INIT): Likewise.
31447 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
31448 (GRUB_MOD_INIT): Gettextizze.
31449 * commands/search.c: Include `<grub/i18n.h>'.
31450 (options): Gettextizze.
31451 (GRUB_MOD_INIT): Gettextizze.
31452 * lib/arg.c: Include `<grub/i18n.h>'.
31453 (help_options): Gettextizze.
31454 (find_long): Likewise.
31455 (grub_arg_show_help): Likewise.
31456 * normal/dyncmd.c: Include `<grub/i18n.h>'.
31457 (read_command_list): Gettextizze.
31458 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 31459 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 31460
22815526
RM
314612009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31462
31463 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
31464 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
31465 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
31466 (led_status): New variable.
31467 (keyboard_controller_led): New function.
31468 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
31469 update led status for caps lock, num lock and scroll lock.
31470
0ad46fd7
FZ
314712009-12-25 Felix Zielcke <fzielcke@z-51.de>
31472
31473 * util/hostdisk.c (open_device): Fix a comment.
31474
d0e158c2
RM
314752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31476
31477 * util/grub-install.in (host_os): New variable.
31478 * util/i386/efi/grub-install.in (host_os): Likewise.
31479
401c0ad6
RM
314802009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31481
31482 * util/mkisofs/write.c (padblock_write): Abort when given an
31483 excedingly large embed image, instead of silently truncating it.
31484
d14d3370
RM
314852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31486
31487 * include/multiboot.h: Indentation fixes.
31488
eeed10b4
RM
314892009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31490
31491 * include/multiboot.h (struct multiboot_aout_symbol_table)
31492 (struct multiboot_elf_section_header_table): New structure
31493 declarations (stolen from GRUB Legacy).
31494 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
31495 table information.
31496
31497 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
31498 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
31499 type aliases.
31500
681c70ab
RM
315012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31502
31503 * include/multiboot.h: Make comments src2texi-friendly.
31504
e4d47d8d
RM
315052009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31506
31507 For consistency with [multiboot]/docs/boot.S.
31508
31509 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
31510 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
31511 (MULTIBOOT_MAGIC2): Rename from this ...
31512 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
31513
a0b70bda
RM
315142009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31515
31516 * include/multiboot.h: Remove `<grub/types.h>'.
31517 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
31518 types. Update all users.
31519
61ba42be 315202009-12-25 Carles Pina i Estany <carles@pina.cat>
31521
31522 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
31523 `couldn't' and `can not' by `cannot'.
31524 * commands/i386/pc/drivemap.c: Likewise.
31525 * disk/ata.c: Likewise.
31526 * disk/ieee1275/nand.c: Likewise.
31527 * fs/affs.c: Likewise.
31528 * fs/fat.c: Likewise.
31529 * fs/hfs.c: Likewise.
31530 * fs/hfsplus.c: Likewise.
31531 * fs/iso9660.c: Likewise.
31532 * fs/jfs.c: Likewise.
31533 * fs/minix.c: Likewise.
31534 * fs/reiserfs.c: Likewise.
31535 * fs/sfs.c: Likewise.
31536 * fs/udf.c: Likewise.
31537 * fs/ufs.c: Likewise.
31538 * fs/xfs.c: Likewise.
31539 * loader/powerpc/ieee1275/linux.c: Likewise.
31540 * loader/sparc64/ieee1275/linux.c: Likewise.
31541 * util/grub-probe.c: Likewise.
31542 * util/misc.c: Likewise.
31543
7fd0baee 315442009-12-24 Carles Pina i Estany <carles@pina.cat>
31545
31546 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
31547 grub_errno calls.
31548 * commands/acpi.c: Likewise.
31549 * commands/blocklist.c: Likewise.
31550 * commands/efi/loadbios.c: Likewise.
31551 * commands/i386/pc/drivemap.c: Likewise.
31552 * commands/loadenv.c: Likewise.
31553 * commands/memrw.c: Likewise.
31554 * commands/password.c: Likewise.
31555 * commands/videotest.c: Likewise.
31556 * disk/ata.c: Likewise.
31557 * disk/ata_pthru.c: Likewise.
31558 * disk/dmraid_nvidia.c: Likewise.
31559 * disk/ieee1275/nand.c: Likewise.
31560 * disk/ieee1275/ofdisk.c: Likewise.
31561 * disk/loopback.c: Likewise.
31562 * disk/lvm.c: Likewise.
31563 * disk/mdraid_linux.c: Likewise.
31564 * disk/raid.c: Likewise.
31565 * disk/raid6_recover.c: Likewise.
31566 * disk/scsi.c: Likewise.
31567 * efiemu/main.c: Likewise.
31568 * efiemu/mm.c: Likewise.
31569 * efiemu/pnvram.c: Likewise.
31570 * efiemu/symbols.c: Likewise.
31571 * font/font.c: Likewise.
31572 * fs/cpio.c: Likewise.
31573 * fs/hfsplus.c: Likewise.
31574 * fs/iso9660.c: Likewise.
31575 * fs/jfs.c: Likewise.
31576 * fs/minix.c: Likewise.
31577 * fs/ntfs.c: Likewise.
31578 * fs/ntfscomp.c: Likewise.
31579 * fs/reiserfs.c: Likewise.
31580 * fs/ufs.c: Likewise.
31581 * fs/xfs.c: Likewise.
31582 * gettext/gettext.c: Likewise.
31583 * include/grub/auth.h: Likewise.
31584 * kern/elf.c: Likewise.
31585 * kern/file.c: Likewise.
31586 * kern/ieee1275/init.c: Likewise.
31587 * kern/ieee1275/mmap.c: Likewise.
31588 * kern/ieee1275/openfw.c: Likewise.
31589 * kern/powerpc/dl.c: Likewise.
31590 * kern/sparc64/dl.c: Likewise.
31591 * lib/arg.c: Likewise.
31592 * loader/i386/bsd.c: Likewise.
31593 * loader/i386/bsdXX.c: Likewise.
31594 * loader/i386/efi/linux.c: Likewise.
31595 * loader/i386/efi/xnu.c: Likewise.
31596 * loader/i386/ieee1275/linux.c: Likewise.
31597 * loader/i386/linux.c: Likewise.
31598 * loader/i386/multiboot.c: Likewise.
31599 * loader/i386/pc/linux.c: Likewise.
31600 * loader/i386/pc/multiboot2.c: Likewise.
31601 * loader/i386/xnu.c: Likewise.
31602 * loader/ieee1275/multiboot2.c: Likewise.
31603 * loader/macho.c: Likewise.
31604 * loader/machoXX.c: Likewise.
31605 * loader/multiboot2.c: Likewise.
31606 * loader/multiboot_loader.c: Likewise.
31607 * loader/powerpc/ieee1275/linux.c: Likewise.
31608 * loader/sparc64/ieee1275/linux.c: Likewise.
31609 * loader/xnu.c: Likewise.
31610 * loader/xnu_resume.c: Likewise.
31611 * mmap/i386/pc/mmap.c: Likewise.
31612 * normal/menu_viewer.c: Likewise.
31613 * partmap/acorn.c: Likewise.
31614 * partmap/amiga.c: Likewise.
31615 * partmap/apple.c: Likewise.
31616 * script/lexer.c: Likewise.
31617 * term/gfxterm.c: Likewise.
31618 * term/i386/pc/serial.c: Likewise.
31619 * term/i386/pc/vga.c: Likewise.
31620 * term/ieee1275/ofconsole.c: Likewise.
31621 * term/terminfo.c: Likewise.
31622 * video/bitmap.c: Likewise.
31623 * video/efi_gop.c: Likewise.
31624 * video/efi_uga.c: Likewise.
31625 * video/fb/video_fb.c: Likewise.
31626 * video/i386/pc/vbe.c: Likewise.
31627 * video/readers/tga.c: Likewise.
31628 * video/video.c: Likewise.
31629
0ad46fd7 316302009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
31631
31632 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31633 * commands/lspci.c: Likewise.
31634 * commands/probe.c: Likewise.
31635 * commands/xnu_uuid.c: Likewise.
31636 * conf/i386-coreboot.rmk: Likewise.
31637 * conf/i386-efi.rmk: Likewise.
31638 * conf/i386-ieee1275.rmk: Likewise.
31639 * conf/i386-pc.rmk: Likewise.
31640 * conf/powerpc-ieee1275.rmk: Likewise.
31641 * conf/sparc64-ieee1275.rmk: Likewise.
31642 * conf/x86_64-efi.rmk: Likewise.
31643 * fs/i386/pc/pxe.c: Likewise.
31644 * gettext/gettext.c: Likewise.
31645 * include/grub/efi/graphics_output.h: Likewise.
31646 * include/grub/i386/pc/memory.h: Likewise.
31647 * kern/env.c: Likewise.
31648 * kern/i386/qemu/startup.S: Likewise.
31649 * lib/i386/pc/biosnum.c: Likewise.
31650 * lib/i386/relocator.c: Likewise.
31651 * lib/i386/relocator_asm.S: Likewise.
31652 * lib/relocator.c: Likewise.
31653 * loader/i386/bsd.c: Likewise.
31654 * loader/i386/multiboot.c: Likewise.
31655 * loader/i386/pc/chainloader.c: Likewise.
31656 * loader/i386/xnu.c: Likewise.
31657 * loader/xnu.c: Likewise.
31658 * normal/main.c: Likewise.
31659 * normal/menu_text.c: Likewise.
31660 * util/getroot.c: Likewise.
31661 * util/grub-mkconfig_lib.in: Likewise.
31662 * util/grub.d/00_header.in: Likewise.
31663 * util/i386/pc/grub-mkimage.c: Likewise.
31664 * util/mkisofs/eltorito.c: Likewise.
31665 * util/mkisofs/exclude.h: Likewise.
31666 * util/mkisofs/hash.c: Likewise.
31667 * util/mkisofs/iso9660.h: Likewise.
31668 * util/mkisofs/joliet.c: Likewise.
31669 * util/mkisofs/mkisofs.c: Likewise.
31670 * util/mkisofs/mkisofs.h: Likewise.
31671 * util/mkisofs/multi.c: Likewise.
31672 * util/mkisofs/name.c: Likewise.
31673 * util/mkisofs/rock.c: Likewise.
31674 * util/mkisofs/tree.c: Likewise.
31675 * util/mkisofs/write.c: Likewise.
31676 * video/efi_gop.c: Likewise.
31677
009ec743
VS
316782009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31679
31680 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31681 size counting.
31682
0ad46fd7 316832009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
31684
31685 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31686 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31687
d3d30ea0
VS
316882009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31689
31690 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31691 (GRUB_MOD_INIT(memrw)): Update help line.
31692
a34f5c70
VS
316932009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31694
31695 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31696 Use grub_extcmd_t. All users updated.
31697 (options): New variable.
31698 (grub_cmd_read): Restructure for readability. Support "-v" option.
31699 (grub_cmd_write): Restructure for readability.
31700
0ad46fd7 317012009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
31702
31703 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31704
0ad46fd7 317052009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
31706
31707 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31708 with the actual contents of the correspondending make variable.
31709 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31710 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31711 specifying `*.lst' and `efiemu??.o'
31712
0ad46fd7 317132009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
31714
31715 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31716 after function name.
31717 Noticed by Rene Engelhard <rene@debian.org>.
31718
dc77a799
VS
317192009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31720
31721 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
31722 (options): New variable.
31723 (iospace): Likewise.
31724 (grub_lspci_iter): List IO spaces if "-i" was given.
31725 (grub_cmd_lspci): Parse options.
31726 (GRUB_MOD_INIT(lspci)): Use extcmd.
31727 (GRUB_MOD_FINI(lspci)): Likewise.
31728
0ad46fd7 317292009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
31730
31731 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
31732 `function' keyword.
31733 Patch by Tony Mancill <tmancill@debian.org>.
31734
b5d5993b
VS
317352009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31736
31737 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31738 (grub_uhci_portstatus): Likewise.
31739 (grub_uhci_portstatus): Add necessary delay.
11d18281 31740 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 31741
941903f2 317422009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 31743
941903f2 31744 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31745 (GRUB_MOD_INIT): Likewise.
31746 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 31747 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31748 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 31749 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31750 (enable_rom_area): Likewise.
31751 (GRUB_MOD_INIT): Likewise.
31752 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31753 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
31754 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31755 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
31756 * commands/hexdump.c (options): Likewise.
31757 * commands/i386/cpuid.c (options): Likewise.
31758 (GRUB_MOD_INIT): Likewise.
31759 * commands/i386/pc/drivemap.c (options): Likewise.
31760 (GRUB_MOD_INIT): Likewise.
31761 * commands/i386/pc/halt (options): Likewise.
31762 (GRUB_MOD_INIT): Likewise.
31763 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31764 * commands/i386/pc/pxecmd.c (options): Likewise.
31765 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31766 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31767 * commands/keystatus.c (options): Likewise.
31768 (GRUB_MOD_INIT): Likewise.
31769 * commands/loadenv.c (options): Likewise.
31770 * commands/ls.c (options): Likewise.
31771 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31772 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31773 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31774 * commands/parttool.c (helpmsg): Likewise.
31775 * commands/probe.c (options): Likewise.
31776 * commands/read.c (GRUB_MOD_INIT): Likewise.
31777 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31778 * commands/search.c (options): Likewise.
31779 * commands/sleep.c (options): Likewise.
31780 * commands/test.c (GRUB_MOD_INIT): Likewise.
31781 * commands/true.c (GRUB_MOD_INIT): Likewise.
31782 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31783 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31784 * lib/arg.c (help_options): Likewise.
e9bbb4e7 31785 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31786 `$(XGETTEXT)'.
98a50553 31787 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 31788
0ad46fd7 317892009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 31790
ef3c2c3a 31791 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
31792 instead of specifying them explicit.
31793
7922f68b
RM
317942009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31795
31796 * NEWS: Add grub-probe support for GNU/Hurd.
31797
537ce47f
RM
317982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31799
31800 * NEWS: gettext was added after 1.97.
31801
9b214e3a
RM
318022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31803
31804 * util/mkisofs/msdos_partition.h: New file (based on
31805 include/grub/msdos_partition.h).
31806 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31807 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31808 (ld_options, main): Recognize --protective-msdos-label.
31809 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31810 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
31811 (padblock_write): If `use_protective_msdos_label' is set, patch a
31812 protective DOS-style label in the output image.
31813
31814 * util/grub-mkrescue.in: Use --protective-msdos-label.
31815
e9309813
RM
318162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31817
31818 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31819 boot.
31820
0ae56929
RM
318212009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31822
31823 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31824 variables.
31825 (ld_options, main): Recognize `--embedded-boot'.
31826 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31827 declarations.
31828 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31829 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31830 (padblock_write): Likewise. Rewrite to support embedded boot image.
31831
31832 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31833 for BIOS-based disk boot instead of only ElTorito.
31834
b15937b1
RM
318352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31836
31837 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31838 build (not needed for bootstrap).
31839
52cc3ce0
RM
318402009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31841
31842 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31843 from i386-pc build (not needed for bootstrap).
31844 Rewrite a pair of strings.
31845
36f5ff04
RM
318462009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31847
31848 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31849
973c6c85 318502009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
31851
31852 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31853
05d21547
AB
318542009-12-21 Andreas Born <futur.andy@googlemail.com>
31855
31856 * kern/env.c (grub_env_context_open): Mark exported variable for
31857 reexport.
31858
0175d51f
AB
318592009-12-21 Andreas Born <futur.andy@googlemail.com>
31860
31861 * kern/env.c (grub_env_export): Create nonexistent variables before
31862 exporting.
31863
7f39d92f 318642009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 31865
7f39d92f 31866 * include/grub/auth.h: Include `<grub/i18n.h>'.
31867 (GRUB_GET_PASSWORD): Gettextizze string.
31868 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31869 menu_text.c.
31870 (grub_utf8_to_ucs4_alloc): Fix indentation.
31871 (grub_print_ucs4): Likewise.
31872 (grub_getstringwidth): Likewise.
31873 (print_message_indented): New declaration.
31874 * normal/auth.c: Include `<grub/i18n.h>'.
31875 (grub_auth_check_authentication): Gettexttize string.
31876 * normal/cmdline.c: Include `<grub/i18n.h>'.
31877 (grub_cmdline_get): Gettextizze.
31878 * normal/color.c: Include `<grub/i18n.h>'.
31879 (grub_parse_color_name_pair): Gettexttize strings.
31880 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31881 string (use `print_message_indented').
31882 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31883 `include/grub/normal.h'.
31884 (print_message_indented): Renamed to ...
31885 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31886 used in normal/main.c).
31887 (print_message): Use `grub_print_message_indented' instead of
31888 `print_message_indented'.
31889 (print_timeout): Likewise.
31890 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31891 (grub_normal_print_device_info): Gettexttize strings.
31892 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31893
3041d898
VS
318942009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31895
31896 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31897 of arguments. Return number of tokens and not arguments. All users
31898 updated.
31899
de15bf8e
VS
319002009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31901
31902 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31903 non-MSDOS paritions.
31904
e0a6ca52
VS
319052009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31906
31907 * include/grub/types.h (UNUSED): Removed since it conflicts with
31908 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31909 Reported by Grégoire Sutre.
31910
b99518d1 319112009-12-19 Carles Pina i Estany <carles@pina.cat>
31912
31913 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31914 (grub_print_ucs4_alloc): Likewise.
31915 (grub_getstringwidth): Likewise.
31916 * normal/main.c (grub_normal_init_page): Gettextize version string.
31917 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31918 (getstringwidth): Renamed to ...
31919 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31920 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31921 (grub_print_ucs4): Remove `static' qualifer (now used in
31922 normal/main.c).
31923 * po/POTFILES: Add normal/main.c.
31924
bfd5e52b 319252009-12-19 Carles Pina i Estany <carles@pina.cat>
31926
31927 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31928 (print_message_indented): Add `margin_left' and `margin_right'
31929 parameters.
31930 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31931 strings.
31932 (print_timeout): Use `print_message_indented' to print the message.
31933 Deletes `second_stage' parameter.
31934 (run_menu): Update `print_timeout' calls.
31935
5a1ad2b9
VS
319362009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31937
31938 Fix console palette on OpenFirmware.
31939
31940 * term/ieee1275/ofconsole.c (MAX): Removed.
31941 (colors): Redone based on VGA palette.
31942 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31943 colors are supported.
31944 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31945
b045f00a
VS
319462009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31947
31948 Fix potential EfiEmu double prepare.
31949
31950 * efiemu/main.c (prepared): New variable
31951 (grub_efiemu_unload): Set prepare to '0'.
31952 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31953
31954 set_virtual_address_map support.
31955
31956 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31957 prototype.
31958 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31959 prototype.
31960 (grub_efiemu_crc32): Likewise.
31961 (grub_efiemu_crc64): Likewise.
31962 (grub_efiemu_set_virtual_address_map): Likewise.
31963 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31964 New definition.
31965 (grub_autoefi_set_virtual_address_map): Likewise.
31966 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31967 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31968 Restructure flow to accomodate it.
31969 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31970 (grub_efiemu_crc): Recompute CRC32.
31971 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31972 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31973 * efiemu/symbols.c (relocated_handle): New variable.
31974 (grub_efiemu_free_syms): Free relocated_handle.
31975 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31976 (grub_efiemu_write_sym_markers): New function.
31977 (grub_efiemu_set_virtual_address_map): Likewise.
31978
31979 Newer XNU parameters.
31980
31981 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31982 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31983 (grub_xnu_fill_devicetree): New prototype.
31984 (grub_xnu_heap_real_start): New variable.
31985 * loader/xnu.c (get_name_ptr): New function.
31986 (grub_xnu_load_driver): Fill namelen and name.
31987
31988 64-bit xnu support.
31989
31990 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31991 and 'loader/macho64.c'.
31992 * conf/i386-pc.rmk: Likewise.
31993 * conf/x86_64-efi.rmk: Likewise.
31994 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31995 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31996 * include/grub/macho.h (grub_macho_segment64): New structure.
31997 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31998 (grub_macho_size32): ... to this.
31999 (grub_macho32_get_entry_point): Renamed from ...
32000 (grub_macho_get_entry_point32): ... to this.
32001 (grub_macho_contains_macho64): New prototype.
32002 (grub_macho_size64): Likewise.
32003 (grub_macho_get_entry_point64): Likewise.
32004 (grub_macho32_load): Renamed from ...
32005 (grub_macho_load32): ... to this.
32006 (grub_macho32_filesize): Renamed from ...
32007 (grub_macho_filesize32): ... to this.
32008 (grub_macho32_readfile): Renamed from ...
32009 (grub_macho_readfile32): ... to this.
32010 (grub_macho_filesize64): New prototype.
32011 (grub_macho_readfile64): Likewise.
32012 (grub_macho_parse32): Likewise.
32013 (grub_macho_parse64): Likewise.
32014 * loader/macho.c: Split into ...
32015 * loader/machoXX.c: ... and this. Replace 32 with XX.
32016 * loader/macho32.c: New file.
32017 * loader/macho64.c: Likewise.
32018 * loader/xnu.c (grub_xnu_is_64bit): New variable.
32019 (grub_cmd_xnu_kernel): Make 32-bit only.
32020 (grub_cmd_xnu_kernel64): New function.
32021 (grub_xnu_load_driver): Support Mach-O 64.
32022 (grub_cmd_xnu_mkext): Likewise.
32023 * util/grub.d/30_os-prober.in (osx_entry): New function.
32024 Generate entries for 64-bit boot too.
32025
32026 Eliminate ad-hoc tree format in XNU and EfiEmu.
32027
32028 * efiemu/main.c (grub_efiemu_prepare): Update comment.
32029 * efiemu/pnvram.c: Rewritten to use environment variables.
32030 All users updated.
32031
32032 Inline utf16_to_utf8.
32033
32034 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
32035 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
32036 All users updated.
32037 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
32038
32039 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
32040 * commands/usbtest.c (grub_usb_get_string): ... move here.
32041 (usb_print_str): Fix error handling.
32042 * include/grub/usb.h (grub_usb_get_string): Remove.
32043
32044 UTF-8 to UTF-16 transformation.
32045
32046 * conf/common.rmk (pkglib_MODULES): Add charset.mod
32047 (charset_mod_SOURCES): New variable.
32048 (charset_mod_CFLAGS): Likewise.
32049 (charset_mod_LDFLAGS): Likewise.
32050 * include/grub/utf.h: New file.
32051 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
32052
32053 Support for device properties.
32054
32055 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
32056 (grub_xnu_devprop_device_header): Likewise.
32057 (grub_xnu_devprop_device_descriptor): Likewise.
32058 (grub_xnu_devprop_add_device): New prototype.
32059 (grub_xnu_devprop_remove_device): Likewise.
32060 (grub_xnu_devprop_remove_property): Likewise.
32061 (grub_xnu_devprop_add_property_utf8): Likewise.
32062 (grub_xnu_devprop_add_property_utf16): Likewise.
32063 (grub_cpu_xnu_init): Likewise.
32064 (grub_cpu_xnu_fini): Likewise.
32065 (grub_cpu_xnu_unload): Likewise.
32066 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
32067 (property_descriptor): Likewise.
32068 (devices): New variable.
32069 (grub_xnu_devprop_remove_property): New function.
32070 (grub_xnu_devprop_add_device): Likewise.
32071 (grub_xnu_devprop_remove_device): Likewise.
32072 (grub_xnu_devprop_add_property): Likewise.
32073 (grub_xnu_devprop_add_property_utf8): Likewise.
32074 (grub_xnu_devprop_add_property_utf16): Likewise.
32075 (hextoval): Likewise.
32076 (grub_cpu_xnu_fill_devprop): Likewise.
32077 (grub_cmd_devprop_load): Likewise.
32078 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
32079 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
32080 (cmd_devprop_load): New variable.
32081 (grub_cpu_xnu_init): New function.
32082 (grub_cpu_xnu_fini): Likewise.
32083 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
32084 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
32085 (grub_cmd_xnu_devtree): Likewise.
32086 (hextoval): New function.
32087 (unescape): Likewise.
32088 (grub_xnu_fill_devicetree): Likewise.
32089
32090 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
32091 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
32092
0945f181
VS
320932009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32094
32095 Workaround for broken ATI VBE.
32096
32097 * video/i386/pc/vbe.c (last_set_mode): New variable.
32098 (grub_vbe_set_video_mode): Set 'last_set_mode'.
32099 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
32100 (grub_video_vbe_setup): Don't check for reserved flag.
32101
0ad46fd7 321022009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
32103
32104 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
32105 the `find' command.
32106
c179ebe4
VS
321072009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
32108
32109 UUID support for HFS.
32110
32111 * fs/hfs.c (grub_hfs_uuid): New function.
32112 (grub_hfs_fs): New value .uuid.
32113 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
32114
0ad46fd7 321152009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
32116
32117 Fix a segfault with parsing unknown long options.
32118
32119 * util/grub-mkrelpath.c (options): Zero terminate it.
32120
c4a3e41a
CPE
321212009-12-13 Carles Pina i Estany <carles@pina.cat>
32122
32123 * include/grub/misc.h (grub_puts): New declaration.
32124 (grub_puts_): Likewise.
a22008a6 32125 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
32126 (grub_puts_): Likewise.
32127
2e8a7602
RM
321282009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32129
32130 * util/grub-probe.c (probe): Improve error message.
32131
b50b77b9
RM
321322009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32133
32134 * loader/i386/multiboot_elfxx.c
32135 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
32136 initialization.
32137
321382009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32139
32140 Relocator framework
32141
32142 * loader/i386/xnu_helper.S: Removed. All users updated.
32143 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
32144 (relocator_mod_SOURCES): New variable.
32145 (relocator_mod_CFLAGS): Likewise.
32146 (relocator_mod_LDFLAGS): Likewise.
32147 (relocator_mod_ASFLAGS): Likewise.
32148 * conf/x86_64.rmk: Likewise.
32149 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
32150 (grub_multiboot_payload_entry_offset): Likewise.
32151 (grub_multiboot_forward_relocator): Likewise.
32152 (grub_multiboot_forward_relocator_end): Likewise.
32153 (grub_multiboot_backward_relocator): Likewise.
32154 (grub_multiboot_backward_relocator_end): Likewise.
32155 (grub_multiboot_payload_eip): New variable.
32156 (grub_multiboot_payload_orig): Likewise.
32157 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
32158 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
32159 * include/grub/i386/memory.h
32160 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
32161 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
32162 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
32163 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
32164 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
32165 * include/grub/i386/relocator.h: New file.
32166 * include/grub/x86_64/relocator.h: Likewise.
32167 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
32168 (XNU_RELOCATOR): New macro.
32169 (grub_xnu_launcher_start): Remove.
32170 (grub_xnu_launcher_end): Likewise.
32171 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
32172 (grub_xnu_heap_real_start): Remove.
32173 (grub_xnu_heap_start): Change to void *. All users updated.
32174 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
32175 * lib/i386/relocator.c: New file.
32176 * lib/i386/relocator_asm.S: Likewise.
32177 * lib/i386/relocator_backward.S: Likewise.
32178 * lib/mips/relocator.c: Likewise.
32179 * lib/mips/relocator_asm.S: Likewise.
32180 * lib/relocator.c: Likewise.
32181 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
32182 (entry): Removed.
32183 (playground): Likewise.
32184 (grub_multiboot_payload_orig): New variable.
32185 (grub_multiboot_payload_dest): Likewise.
32186 (grub_multiboot_payload_size): Likewise.
32187 (grub_multiboot_payload_eip): Likewise.
32188 (grub_multiboot_payload_esp): Likewise.
32189 (grub_multiboot_boot): Use grub_relocator32_boot.
32190 (grub_multiboot_unload): Free relocators.
32191 (grub_multiboot): Setup stack. Use relocators.
32192 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
32193 (grub_multiboot_load_elfXX): Use relocators.
32194 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
32195 (grub_multiboot_payload_size): Likewise.
32196 (grub_multiboot_payload_dest): Likewise.
32197 (grub_multiboot_payload_entry_offset): Likewise.
32198 (grub_multiboot_forward_relocator): Likewise.
32199 (grub_multiboot_backward_relocator): Likewise.
32200 (grub_multiboot_real_boot): Likewise.
32201 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
32202 (grub_xnu_entry_point): Likewise.
32203 (grub_xnu_arg1): Likewise.
32204 (grub_xnu_stack): Likewise.
32205 (grub_xnu_launch): Removed.
32206 (grub_xnu_boot_resume): New function.
32207 (grub_xnu_boot): Use relocators.
32208 * loader/i386/xnu_helper.S: Removed.
32209 * loader/xnu.c (grub_xnu_heap_start): New variable.
32210 (grub_xnu_heap_size): Likewise.
32211 (grub_xnu_heap_malloc): Use relocators.
32212 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
32213
29eb90c6
VS
322142009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32215
32216 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
32217 anything.
32218
31027430
CPE
322192009-12-13 Carles Pina i Estany <carles@pina.cat>
32220
32221 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
32222 GRUB_ERR_NONE before calling grub_env_set.
32223
dc0c71d9
RM
322242009-12-12 Robert Millan <rmh@aybabtu.com>
32225
32226 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
32227 * genmk.rb (video): New variable.
32228 (CLEANFILES, VIDEOFILES): Add #{video}.
32229 (#{video}): New target rule.
32230 * genvideolist.sh: New file.
32231 * Makefile.in (pkglib_DATA): Add video.lst.
32232 (video.lst): New target rule.
32233 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
32234 `video.lst'.
32235 * util/grub.d/30_os-prober.in: Replace `vbe' with
32236 ${GRUB_VIDEO_BACKEND}.
32237
2a4bfcf0
RM
322382009-12-11 Robert Millan <rmh.grub@aybabtu.com>
32239
32240 * THANKS: Add David Miller.
32241
2a3aa4d5
RM
322422009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
32243
32244 libpciaccess support.
32245
32246 * Makefile.in (LIBPCIACCESS): New variable.
32247 (enable_grub_emu_pci): Likewise.
32248 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
32249 util/pci.c and commands/lspci.c.
32250 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
32251 * configure.ac (grub-emu-pci): New option.
32252 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
32253 (grub_pci_device_unmap_range): Likewise.
32254 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
32255 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
32256 (grub_pci_address_t) [!GRUB_UTIL]: New type.
32257 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
32258 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
32259 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
32260 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
32261 * include/grub/pciutils.h: New file.
32262 * util/pci.c: Likewise.
32263
0ad46fd7 322642009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
32265
32266 * util/misc.c: Don't include <errno.h> twice.
32267
0ad46fd7 322682009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
32269
32270 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
32271 name in an error message.
32272 (grub_biosdisk_rw): Likewise.
32273
2e59983c
VS
322742009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32275
32276 Eliminate NTFS 4Gib barrier.
32277
32278 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
32279 (read_run_data): Likewise.
32280 (grub_ntfs_read_run_list): Likewise.
32281 (grub_ntfs_read_block): Likewise.
32282 (grub_ntfs_iterate_dir): Likewise.
32283 (read_mft): Likewise.
32284 (read_data): Likewise.
32285 Use COM_LOG_LEN.
32286 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
32287 to avoid 64-bit division
32288 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
32289 (grub_ntfs_rlst): Use grub_disk_addr_t.
32290
71ee178a
VS
322912009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32292
32293 Eliminate grub-fstest 4Gib barrier.
32294
32295 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
32296 (read_file): Fix error reporting.
32297
2520d4b8
VS
322982009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32299
32300 Eliminate hexdump 4Gib barrier.
32301
32302 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
32303 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
32304
e1f27065
VS
323052009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32306
32307 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
32308 Fixes amarsh bug.
32309
1a0f7f45
RM
323102009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
32311
32312 Remove miscellaneous files in distclean target.
32313
32314 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
32315
c631d9fb
CW
323162009-12-09 Colin Watson <cjwatson@ubuntu.com>
32317
32318 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
32319 if they're already set. This resolves the conflict between my
32320 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
32321 fixing the --grub-probe option again.
32322 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
32323 change on 2009-10-06, so that we now once again source
32324 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32325
7c7b6106
RM
323262009-12-08 Robert Millan <rmh.grub@aybabtu.com>
32327
32328 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
32329 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
32330 `util/devicemap.c'.
32331
e3069ec1
CPE
323322009-12-08 Carles Pina i Estany <carles@pina.cat>
32333
32334 * include/grub/misc.h (grub_printf_): New declaration.
32335 * kern/misc.c (grub_printf_): New definition.
32336 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
32337 instead of `grub_printf' and `_'.
32338 * normal/menu_entry.c (store_completion): Likewise.
32339 (run): Likewise.
32340 (grub_menu_entry_run): Likewise.
32341 * normal/menu_text.c (grub_wait_after_message): Likewise.
32342 (notify_booting): Likewise.
32343 (notify_fallback): Likewise.
32344 (notify_execution_failure): Likewise.
32345
d6ceebf1
CW
323462009-12-07 Colin Watson <cjwatson@ubuntu.com>
32347
32348 * configure.ac: Check for vasprintf.
32349 * util/misc.c (asprintf): Move allocation from here ...
32350 (vasprintf): ... to here. New function.
32351 (xasprintf): New function.
32352 * include/grub/util/misc.h (vasprintf, xasprintf): Add
32353 prototypes.
32354 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
32355 * util/grub-mkfont.c (write_font): Likewise.
32356 * util/grub-probe.c (probe): Likewise.
32357 * util/hostdisk.c (make_device_name): Likewise.
32358
de6daa8b
DM
323592009-12-06 David S. Miller <davem@sunset.davemloft.net>
32360
32361 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
32362 anything even prefixed with 'cdrom' as a cdrom.
32363
0ad46fd7 323642009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
32365
32366 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
32367 mount points.
32368
98d3dc02
CPE
323692009-12-05 Carles Pina i Estany <carles@pina.cat>
32370
32371 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
32372 grub_gettext_msg_list.
32373 (grub_gettext_gettranslation_from_position): Return const char *
32374 and not char *.
a2c1332b 32375 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
32376 returns from the list if existing there.
32377 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
32378 (grub_gettext_delete_list): Delete the list.
32379 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
32380 lang environment variable is changed.
32381 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
32382
b283f108
VS
323832009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32384
32385 Rename kernel.mod to kernel.img.
32386
32387 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
32388 (kernel_mod_EXPORTS): Rename to ...
32389 (kernel_img_EXPORTS): ... this.
32390 (kernel_mod_SOURCES): Rename to ...
32391 (kernel_img_SOURCES): ... this.
32392 (kernel_mod_HEADERS): Rename to ...
32393 (kernel_img_HEADERS): ... this. All users updated.
32394 (kernel_mod_CFLAGS): Rename to ...
32395 (kernel_img_CFLAGS): ... this.
32396 (kernel_mod_ASFLAGS): Rename to ...
32397 (kernel_img_ASFLAGS): ... this.
32398 (kernel_mod_LDFLAGS): Rename to ...
32399 (kernel_img_LDFLAGS): ... this.
32400 * conf/x86_64-efi.rmk: Likewise.
32401 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
32402 (read_kernel_image): ... this. All users updated.
32403 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
32404
69055f8a
CPE
324052009-12-05 Carles Pina i Estany <carles@pina.cat>
32406
32407 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
32408 (print_spaces): New function.
32409 (grub_print_ucs4): New function.
32410 (getstringwidth): New function.
32411 (print_message_indented): New function.
32412 (print_message): Gettexttize strings using print_message_indented.
32413 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
32414 width.
32415 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 32416 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
32417 Gettextize.
32418 * normal/menu_entry.c (store_completion): Cleanup the gettextized
32419 string.
32420 (run): Likewise.
32421 (grub_menu_entry_run): Likewise.
32422 * PO/POTFILES: Add normal/menu_entry.c.
32423
f616f51c
VS
324242009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32425
32426 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
32427
57bbe3be
CPE
324282009-12-05 Carles Pina i Estany <carles@pina.cat>
32429
32430 * util/grub-install.in: Install gettext .mo files.
32431 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
32432
013d67a1
CPE
324332009-12-05 Carles Pina i Estany <carles@pina.cat>
32434
32435 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
32436 grub_dprintf.
32437
fb954db0
RM
324382009-12-05 Robert Millan <rmh.grub@aybabtu.com>
32439
32440 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
32441 non-firmware-dependant one in realmode.S takes precedence.
32442
6b8474f8
RM
324432009-12-04 Robert Millan <rmh.grub@aybabtu.com>
32444
32445 * commands/halt.c: Replace misc arch-specific headers with
32446 `<grub/misc.h>'.
32447 * commands/reboot.c: Likewise.
32448 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
32449 `<grub/misc.h>'.
32450 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
32451 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
32452 (kernel_img_SOURCES): ... to here.
32453
32454 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
32455 * include/grub/i386/pc/init.h: Likewise.
32456 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32457 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32458
32459 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
32460
32461 * include/grub/i386/halt.h: Remove.
32462 * include/grub/i386/reboot.h: Likewise.
32463
32464 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
32465
4b2e6ca2
DM
324662009-12-03 David S. Miller <davem@sunset.davemloft.net>
32467
32468 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
32469 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
32470 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
32471 "progname.h"
32472 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32473 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32474 (usage): Add missing comma in printf.
32475
5239348f
RM
324762009-12-02 Robert Millan <rmh.grub@aybabtu.com>
32477
32478 Use the same reboot approach on i386 coreboot and qemu as we do on
32479 BIOS.
32480
32481 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
32482 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
32483 * kern/i386/reboot.c: Remove.
32484 * include/grub/i386/reboot.h (grub_reboot): Export function.
32485 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
32486 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
32487 0xf000:0xfff0 instead of 0xffff:0x0000.
32488 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
32489 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
32490
ef34cbd4
RM
324912009-11-30 Robert Millan <rmh.grub@aybabtu.com>
32492
32493 Fix $srcdir != $objdir build.
32494
32495 * Makefile.in (po/%.po): Rewrite as ...
32496 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
32497
dc9837ea
ST
324982009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
32499
32500 Fix GNU/Hurd grub-install crash.
32501 * util/grub-probe.c (probe): Try to access `path' only when it is not
32502 NULL.
32503
2f857f98
VS
325042009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32505
32506 Correct module naming.
32507
32508 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32509 (GRUB_MOD_INIT(efi_uga)): ... to this
32510 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32511 (GRUB_MOD_FINI(efi_uga)): ... to this
32512 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32513 (GRUB_MOD_INIT(efi_gop)): ... to this
32514 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32515 (GRUB_MOD_FINI(efi_gop)): ... to this
32516
c5448046
RM
325172009-11-28 Robert Millan <rmh.grub@aybabtu.com>
32518
32519 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
32520 translatable.
32521 (usage): Translate `arg' strings using gettext().
32522 Thanks to Jordi Mallach for the suggestion.
32523
c85184ad
VS
325242009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32525
32526 GOP support. Based on patch from Bean
32527 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32528
32529 * video/efi_gop.c: New file.
32530 * include/grub/efi/graphics_output.h: Likewise.
32531 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
32532 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32533 variables.
32534 * conf/x86_64-efi.rmk: Likewise.
32535
8a4c48d8
VS
325362009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32537
32538 Rename efi_fb to efi_uga.
32539
32540 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32541 'efi_uga.mod'.
32542 (efi_fb_mod_SOURCES): Rename this ...
32543 (efi_uga_mod_SOURCES): ... to this.
32544 (efi_fb_mod_CFLAGS): Rename this ...
32545 (efi_uga_mod_CFLAGS): ... to this.
32546 (efi_fb_mod_LDFLAGS): Rename this ...
32547 (efi_uga_mod_LDFLAGS): ... to this.
32548 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32549 'efi_uga.mod'.
32550 (efi_fb_mod_SOURCES): Rename this ...
32551 (efi_uga_mod_SOURCES): ... to this.
32552 (efi_fb_mod_CFLAGS): Rename this ...
32553 (efi_uga_mod_CFLAGS): ... to this.
32554 (efi_fb_mod_LDFLAGS): Rename this ...
32555 (efi_uga_mod_LDFLAGS): ... to this.
32556 * video/efi_fb.c: Move this ...
32557 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
32558
fb6c1a7b
RM
325592009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32560
32561 * po/README: New file. Explain our PO file workflow.
32562
3bc7896c
RM
325632009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32564
32565 * po/ChangeLog: Remove. Move relevant entries back to ...
32566 * ChangeLog: ... here.
32567 * po/ca.po: Remove (now handled by TLP).
32568 * po/id.po: Likewise.
32569 * po/zh_CN.po: Likewise.
32570 * Makefile.in (LINGUAS): Initialize in a way that supports
32571 empty set.
32572
9ed4841d
RM
325732009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32574
32575 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
32576 reliing on po/LINGUAS.
32577 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
32578 (po/%.po): ... this.
32579
0ad46fd7 325802009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
32581
32582 * util/i386/efi/grub-mkimage.c: Include "progname.h".
32583 (main): Use `program_name' instead of nonexistent `progname'.
32584
e30dd392
FZ
325852009-11-26 Felix Zielcke <fzielcke@z-51.de>
32586
32587 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32588 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
32589
7656de4f
RM
325902009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32591
32592 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32593 commit.
32594 * conf/i386-efi.rmk: Likewise.
32595 * conf/i386-ieee1275.rmk: Likewise.
32596 * conf/powerpc-ieee1275.rmk: Likewise.
32597 * conf/sparc64-ieee1275.rmk: Likewise.
32598 * conf/x86_64-efi.rmk: Likewise.
32599
db77c4d4
FZ
326002009-11-26 Felix Zielcke <fzielcke@z-51.de>
32601
32602 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32603
a755bb04
FZ
326042009-11-26 Felix Zielcke <fzielcke@z-51.de>
32605
32606 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32607
8a4c07fd
RM
326082009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32609
32610 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32611 (grub_mkdevicemap_SOURCES): New variable.
32612 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32613 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32614 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32615 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32616 (grub_mkdevicemap_SOURCES): Remove.
32617 * conf/i386-efi.rmk: Likewise.
32618 * conf/i386-ieee1275.rmk: Likewise.
32619 * conf/i386-pc.rmk: Likewise.
32620 * conf/powerpc-ieee1275.rmk: Likewise.
32621 * conf/sparc64-ieee1275.rmk: Likewise.
32622 * conf/x86_64-efi.rmk: Likewise.
32623 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32624 (usage): Fix strings to use `program_name'.
32625 (main): Initialize gettext.
32626 * util/grub-editenv.c: Likewise.
32627 * util/grub-emu.c: Likewise.
32628 * util/grub-fstest.c: Likewise.
32629 * util/grub-mkdevicemap.c: Likewise.
32630 * util/grub-mkfont.c: Likewise.
32631 * util/grub-mkrelpath.c: Likewise.
32632 * util/grub-pe2elf.c: Likewise.
32633 * util/grub-probe.c: Likewise.
32634 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32635 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32636 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32637
32638 * util/misc.c: Include `"progname.h"'.
32639 (progname): Remove variable.
32640 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32641
6f61ed55
FZ
326422009-11-25 Felix Zielcke <fzielcke@z-51.de>
32643
32644 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32645 printf and print a newline after the menuentry header line.
32646 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32647
f022876b
FZ
326482009-11-25 Felix Zielcke <fzielcke@z-51.de>
32649
32650 autoconf >= 2.60 support $(localedir).
32651
32652 * INSTALL: Note that autoconf 2.60 is required.
32653 * configure.ac (AC_PREREQ): Bump to 2.60.
32654 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32655 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32656
6717926e
YB
326572009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32658
32659 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32660 aclocal is run.
32661
08806a54
RM
326622009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32663
32664 * normal/main.c (grub_normal_read_line): Fix off-by-one
32665 buffer overflow.
32666
13b33fba
RM
326672009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32668
32669 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32670 "parser.grub" in grub_command_execute() call.
32671
4a8572e9
CPE
326722009-11-24 Carles Pina i Estany <carles@pina.cat>
32673
32674 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32675 * conf/i386-efi.rmk: Likewise.
32676 * conf/i386-ieee1275.rmk: Likewise.
32677 * conf/i386-pc.rmk: Likewise.
32678 * conf/powerpc-ieee1275.rmk: Likewise.
32679 * conf/sparc64-ieee1275.rmk: Likewise.
32680 * conf/x86_64-efi.rmk: Likewise.
32681 * gettext/gettex.c: Include <grub/i18n.h>.
32682 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32683 here ...
32684 * include/grub/i18n.h: ... to here
32685 * include/grub/i18n.h: ... to here.
32686 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 32687 (grub_gettext_dummy): Move above user.
4a8572e9 32688
bee48093
FZ
326892009-11-24 Felix Zielcke <fzielcke@z-51.de>
32690
32691 * util/Makefile.in (install-local): Convert a `for' into a normal
32692 shell expansion.
32693
a031e91c
RM
326942009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32695
32696 * autogen.sh: Add automake call.
32697 * config.guess: Remove.
32698 * config.sub: Likewise.
32699 * install-sh: Likewise.
32700
26bec39d
FZ
327012009-11-24 Felix Zielcke <fzielcke@z-51.de>
32702
32703 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32704
8e2532fd
FZ
327052009-11-24 Felix Zielcke <fzielcke@z-51.de>
32706
32707 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32708 function to a normal shell `for'.
32709
fefa1b7d
FZ
327102009-11-24 Felix Zielcke <fzielcke@z-51.de>
32711
32712 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32713
4501250b
FZ
327142009-11-24 Felix Zielcke <fzielcke@z-51.de>
32715
32716 * util/grub-mkrelpath.c: New file.
32717 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32718 (grub_mkrelpath_SOURCES): New variable.
32719 * include/grub/util/misc.h: New function prototype.
32720 * util/misc.c (make_system_path_relative_to_its_root): New function.
32721
32722 * util/grub-mkconfig_lib.in (bindir): New variable.
32723 (grub_mkrelpath): Likewise.
32724 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
32725
32726 * util/probe.c (probe): Make the file path relative to its root.
32727 Change a info message to use the GRUB path. Enable again the
32728 check if we can read the file with GRUB facilities.
32729
32730 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
32731 to its root.
32732
11d9778b
FZ
327332009-11-24 Felix Zielcke <fzielcke@z-51.de>
32734
32735 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32736 platform.
32737
4465287d
FZ
327382009-11-24 Felix Zielcke <fzielcke@z-51.de>
32739
32740 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32741 strncmp().
32742
62b47f22
FZ
327432009-11-24 Felix Zielcke <fzielcke@z-51.de>
32744
32745 * util/getroot.c (grub_util_is_dmraid): New function.
32746 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32747 devices as normal ones, not as LVM.
32748
1eafb9b9 327492009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
32750
32751 * conf/common.rmk: Add grub-gettext_lib target and updates
32752 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
32753 LDFLAGS.
32754 * gettext/gettext.c: New file. (Reads mo files).
32755 * include/grub/file.h (grub_file_pread): New prototype.
32756 * include/grub/i18n.h (_): New prototype.
32757 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
32758 prototypes.
32759 * kern/misc.c (grub_gettext_dummy): New function.
32760 * normal/menu_text.c: Include <grub/i18n.h>.
32761 * normal/menu_text.c (print_timeout): Gettexttize string.
32762 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
32763 * po/POTFILES: Add `normal/menu_text.c'.
32764 * po/ca.po: Add new translations.
c3ea6bd4
CPE
32765 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32766 gettext module and defines locale_dir and lang in grub.cfg.
32767 * NEWS: Add gettext support.
32768
0fdb2568
RM
327692009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32770
32771 * util/hostdisk.c: Include `<grub/i18n.h>'.
32772 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32773 (make_device_name): Rewrite using asprintf.
32774 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32775 (find_system_device): If a device is not found, generate one just
32776 by reusing the OS path name.
32777 (read_device_map): Make it permissible for device.map not to exist.
32778
f515aa62
RM
327792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32780
32781 * script/sh/execute.c: Move from here ...
32782 * script/execute.c: ... to here. Update all users.
32783 * script/sh/function.c: Move from here ...
32784 * script/function.c: ... to here. Update all users.
32785 * script/sh/lexer.c: Move from here ...
32786 * script/lexer.c: ... to here. Update all users.
32787 * script/sh/main.c: Move from here ...
32788 * script/main.c: ... to here. Update all users.
32789 * script/sh/parser.y: Move from here ...
32790 * script/parser.y: ... to here. Update all users.
32791 * script/sh/script.c: Move from here ...
32792 * script/script.c: ... to here. Update all users.
32793
f84b481b
RM
327942009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32795
32796 * configure.ac: Detect all `emu' platforms. Define
32797 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32798 --enable-grub-emu logic. Disable include/grub/machine
32799 symlink on `emu' platforms.
32800
32801 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32802 * gensymlist.sh.in: Likewise.
32803
32804 * include/grub/i386/coreboot/machine.h: Remove file.
32805 * include/grub/i386/efi/machine.h: Likewise.
32806 * include/grub/i386/ieee1275/machine.h: Likewise.
32807 * include/grub/i386/pc/machine.h: Likewise.
32808 * include/grub/i386/qemu/machine.h: Likewise.
32809 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32810 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32811 * include/grub/x86_64/efi/machine.h: Likewise.
32812
32813 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32814 * commands/halt.c: Likewise.
32815 * commands/reboot.c: Likewise.
32816 * include/grub/autoefi.h: Likewise.
32817 * include/grub/i386/at_keyboard.h: Likewise.
32818 * include/grub/i386/kernel.h: Likewise.
32819 * include/grub/i386/loader.h: Likewise.
32820 * include/grub/i386/pc/memory.h: Likewise.
32821 * kern/dl.c: Likewise.
32822 * kern/i386/coreboot/init.c: Likewise.
32823 * loader/i386/bsd.c: Likewise.
32824 * loader/i386/linux.c: Likewise.
32825 * loader/multiboot_loader.c: Likewise.
32826 * term/i386/pc/serial.c: Likewise.
32827 * term/usb_keyboard.c: Likewise.
32828
32829 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32830 `<grub/machine/machine.h>'
32831 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32832 * util/misc.c: Remove `<grub/machine/machine.h>' and
32833 `<grub/machine/time.h>'.
32834
32835 * Makefile.in (enable_grub_emu): Remove variable.
32836 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32837
32838 * conf/any-emu.rmk: New file.
32839 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32840 (grub_emu_init.c): Move from here ...
32841 * conf/any-emu.rmk: ... to here.
32842
32843 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32844 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32845 * conf/any-emu.rmk: ... to here.
32846
4efeab03
RM
328472009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32848
32849 * include/grub/parser.h (grub_parser_register): Document need
32850 of `name' parameter.
32851 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32852 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32853 "sh" to "grub".
32854
ea1dd8bf
RM
328552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32856
32857 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32858 `$(XGETTEXT)'.
32859 * include/grub/i18n.h (N_): New macro.
32860 * util/mkisofs/mkisofs.h: Likewise.
32861 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32862 around N_().
32863 (usage): Use gettext() to translate help strings when printing them.
32864
0c140626
RM
328652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32866
32867 Based on patch from Bean
32868 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32869
32870 * video/efi_fb.c: New file.
32871 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32872 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32873 variables.
32874 * conf/x86_64-efi.rmk: Likewise.
32875
87d58298
RM
328762009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32877
32878 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32879 * util/i386/pc/grub-setup.c: Likewise.
32880
994cc3a3
ST
328812009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32882
32883 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32884 <hurd/fs.h>
32885 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32886 file_get_storage_info to implement grub_guess_root_device.
32887
26a61d6a
FZ
328882009-11-21 Felix Zielcke <fzielcke@z-51.de>
32889
32890 * Makefile.in (target): Use make's builtin $(shell) function
32891 instead of calling directly $(SHELL) to create the locale directories,
32892 inside the $(foreach) function.
32893
74ff1dd5
FZ
328942009-11-21 Felix Zielcke <fzielcke@z-51.de>
32895
32896 * util/grub-mkrescue.in: Print an error and usage if output option
32897 has not been given.
32898
0b787d0e
FZ
328992009-11-21 Felix Zielcke <fzielcke@z-51.de>
32900
32901 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32902 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32903 root and /boot are on different devices.
32904
1164b270
RM
329052009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32906
32907 Fix build for srcdir != objdir.
32908
32909 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32910 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32911 $(srcdir).
32912 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32913 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32914 reference for input.
32915
13774a2f
RM
329162009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32917
32918 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32919 or hardlinking it). Remove -J option, Joliet is not compatible with
32920 multiple source directories.
32921
efda854e
RM
329222009-11-21 Carles Pina i Estany <carles@pina.cat>
329232009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32924
32925 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32926 (process_input_dir): New function. Process an arbitrary input
32927 directory.
32928 Misc adjustments to support both "override mode" and system-wide mode.
32929
6c09890c
FZ
329302009-11-20 Felix Zielcke <fzielcke@z-51.de>
32931
32932 * configure.ac (UNIFONT_BDF): Rename to ...
32933 (FONT_SOURCE): ... this. Update all users.
32934
a797824f
FZ
329352009-11-20 Felix Zielcke <fzielcke@z-51.de>
32936
32937 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32938 to the list of unifont files to look for.
32939
cd4f42b0
RM
329402009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32941
32942 Patch from Joe Auricchio <jauricchio@gmail.com>
32943 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32944 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32945 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32946
393c783d
FZ
329472009-11-19 Felix Zielcke <fzielcke@z-51.de>
32948
32949 * Makefile.in (install-local): Add a missing backslash.
32950
b2f1e327
FZ
329512009-11-19 Felix Zielcke <fzielcke@z-51.de>
32952
32953 * include/grub/x86_64/io.h: New file.
32954
f577f7a0
RM
329552009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32956
32957 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32958 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32959 Include `"progname.h"'.
32960 (main): Initialize gettext.
32961 * util/i386/pc/grub-setup.c: Gettexttize.
32962 * util/i386/pc/grub-mkimage.c: Likewise.
32963
32964 * Makefile.in (po/*.po): Redefine as ...
32965 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32966
3bc7896c
RM
32967 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32968
c37943b6
RM
329692009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32970
32971 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32972 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32973 (program_name): Remove.
32974 (main): Initialize gettext support.
6323f705
RM
32975 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32976 Include `<libintl.h>'.
32977 (_): New macro.
c37943b6
RM
32978
32979 * util/mkisofs/eltorito.c: Gettexttize.
32980 * util/mkisofs/joliet.c: Likewise.
32981 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
32982 * util/mkisofs/multi.c: Likewise.
32983 * util/mkisofs/rock.c: Likewise.
32984 * util/mkisofs/tree.c: Likewise.
32985 * util/mkisofs/write.c: Likewise.
32986
3bc7896c
RM
32987 * po/POTFILES: Update with new files.
32988
5ce77c6e
RM
329892009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32990
32991 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32992 * util/mkisofs/iso9660.h: Likewise.
32993 * util/mkisofs/joliet.c: Likewise.
32994 * util/mkisofs/mkisofs.c: Likewise.
32995 * util/mkisofs/mkisofs.h: Likewise.
32996 * util/mkisofs/rock.c: Likewise.
32997 * util/mkisofs/tree.c: Likewise.
32998 * util/mkisofs/write.c: Likewise.
32999
33000 * util/mkisofs/eltorito.c (rcsid): Remove.
33001 * util/mkisofs/hash.c: Likewise.
33002 * util/mkisofs/joliet.c: Likewise.
33003 * util/mkisofs/name.c: Likewise.
33004 * util/mkisofs/rock.c: Likewise.
33005 * util/mkisofs/tree.c: Likewise.
33006 * util/mkisofs/write.c: Likewise.
33007
1dabbc77
RM
330082009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33009
33010 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
33011 instead of static allocation.
33012 * util/mkisofs/match.h: Likewise.
33013
633877cb
RM
330142009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33015
3bc7896c
RM
33016 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
33017 and `util/grub.d/10_linux.in'.
633877cb
RM
33018 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
33019 translatable Shell files.
33020
af1c0c85
RM
330212009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33022
33023 * Makefile.in ($(srcdir)/aclocal.m4): New target.
33024
769ae37b
RM
330252009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33026
33027 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 33028 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
33029 * util/grub.d/10_kfreebsd.in (bindir): New variable.
33030 Add gettext initialization.
33031 (kfreebsd_entry): Make menuentry output translatable.
33032
330332009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33034
33035 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
33036 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
33037 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
33038 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
33039 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 33040 * po/LINGUAS: New file.
769ae37b
RM
33041
330422009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33043
33044 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
33045 other things).
33046 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
33047 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
33048 bindtextdomain() calls for gettext initialization.
33049
330502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33051
33052 * gnulib/progname.c: New file (imported from Gnulib).
33053 * gnulib/progname.h: Likewise.
33054 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33055 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
33056 (usage): Replace `progname' with `program_name'.
33057 (main): Use set_program_name() for program name initialization.
33058
330592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33060
33061 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
33062 from here ...
33063 * Makefile.in (CPPFLAGS): ... to here.
33064
330652009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33066
33067 * aclocal.m4: Move from here ...
33068 * acinclude.m4: ... to here.
33069 * autogen.sh: Add call to `aclocal'.
33070 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
33071
330722009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33073
33074 * Makefile.in (CLEANFILES): Add `po/*.mo'.
33075 (LINGUAS): New variable.
33076 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
33077 (install-local): Install MO files.
33078 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
33079 * include/grub/i18n.h: New file.
3bc7896c
RM
33080 * po/POTFILES: New file.
33081 * po/ca.po: New file.
769ae37b
RM
33082 * util/grub.d/10_linux.in (bindir): New variable.
33083 Add gettext initialization.
33084 (linux_entry): Make menuentry output translatable.
33085 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
33086 (usage): Make --help output translatable.
33087 (main): Initialize gettext.
33088
02c0a6ad
RM
330892009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33090
33091 * import_gcry.py: New file (written by Vladimir with minor
33092 adjustments).
33093 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
33094 ciphers.
33095 * INSTALL: Document that Python is required for bootstrap.
33096
330972009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33098
33099 Import ciphers from libgcrypt 1.4.4.
33100
33101 * lib/libgcrypt/cipher/ChangeLog
33102 * lib/libgcrypt/cipher/ac.c
33103 * lib/libgcrypt/cipher/arcfour.c
33104 * lib/libgcrypt/cipher/bithelp.h
33105 * lib/libgcrypt/cipher/blowfish.c
33106 * lib/libgcrypt/cipher/camellia-glue.c
33107 * lib/libgcrypt/cipher/camellia.c
33108 * lib/libgcrypt/cipher/camellia.h
33109 * lib/libgcrypt/cipher/cast5.c
33110 * lib/libgcrypt/cipher/cipher.c
33111 * lib/libgcrypt/cipher/crc.c
33112 * lib/libgcrypt/cipher/des.c
33113 * lib/libgcrypt/cipher/dsa.c
33114 * lib/libgcrypt/cipher/ecc.c
33115 * lib/libgcrypt/cipher/elgamal.c
33116 * lib/libgcrypt/cipher/hash-common.c
33117 * lib/libgcrypt/cipher/hash-common.h
33118 * lib/libgcrypt/cipher/hmac-tests.c
33119 * lib/libgcrypt/cipher/md.c
33120 * lib/libgcrypt/cipher/md4.c
33121 * lib/libgcrypt/cipher/md5.c
33122 * lib/libgcrypt/cipher/primegen.c
33123 * lib/libgcrypt/cipher/pubkey.c
33124 * lib/libgcrypt/cipher/rfc2268.c
33125 * lib/libgcrypt/cipher/rijndael-tables.h
33126 * lib/libgcrypt/cipher/rijndael.c
33127 * lib/libgcrypt/cipher/rmd.h
33128 * lib/libgcrypt/cipher/rmd160.c
33129 * lib/libgcrypt/cipher/rsa.c
33130 * lib/libgcrypt/cipher/seed.c
33131 * lib/libgcrypt/cipher/serpent.c
33132 * lib/libgcrypt/cipher/sha1.c
33133 * lib/libgcrypt/cipher/sha256.c
33134 * lib/libgcrypt/cipher/sha512.c
33135 * lib/libgcrypt/cipher/tiger.c
33136 * lib/libgcrypt/cipher/twofish.c
33137 * lib/libgcrypt/cipher/whirlpool.c
33138
af2f93ac
RM
331392009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33140
33141 Fix build for systems without error().
33142
33143 * gnulib/error.c: New file (imported from Gnulib).
33144 * gnulib/error.h: Likewise.
33145 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
33146 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
33147 (this variable is now used by error()).
33148
73fb3dd5
FZ
331492009-11-16 Felix Zielcke <fzielcke@z-51.de>
33150
814f5e96
FZ
33151 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
33152 instead of relying that char is signed.
73fb3dd5 33153
a691ca33
VS
331542009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
33155
33156 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
33157 blocksize different from specified.
33158 (grub_pxefs_read): Likewise.
33159
2af8f0f4
FZ
331602009-11-16 Felix Zielcke <fzielcke@z-51.de>
33161
33162 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
33163
33164 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
33165 (grub_ata_readwrite): Likewise. Update 2 format strings.
33166 (grub_atapi_read): Likewise.
33167
33168 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
33169 * conf/i386.rmk (pkglib_MODULES): ... to here ...
33170 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
33171 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
33172 (ata_mod_LDFLAGS): Move from here ...
33173 * conf/i386.rmk: ... to here ...
33174 * conf/x86_64-efi.rmk: ... and here.
33175 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
33176 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
33177
83bdecaf
RM
331782009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33179
33180 Relicense multiboot.h, with RMS' blessing.
33181
33182 * include/multiboot.h: Change to X11 license.
33183
fd6fd3d7
RM
331842009-11-15 Robert Millan <rmh.grub@aybabtu.com>
33185
33186 Support --version in grub-mkisofs.
33187
33188 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
33189 (OPTION_VERSION): New macro.
33190 (ld_options): Recognize --version.
33191 (usage): Move `program_name' from here ...
33192 (program_name): ... to here. Add `static' qualifier.
33193 (main): Recognize `OPTION_VERSION'.
33194
16a88c49
FZ
331952009-11-15 Felix Zielcke <fzielcke@z-51.de>
33196
33197 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
33198 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
33199
a4158476
RM
332002009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33201
33202 Fix help2man generation for mkisofs.
33203
33204 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
33205 (usage): Send output to stdout (rather than stderr).
33206
fc2208b0
RM
332072009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33208
33209 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
33210 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33211 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
33212 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33213 (bin_SCRIPTS): Add `grub-mkfloppy'.
33214 (grub_mkfloppy_SOURCES): New variable.
33215
33216 * util/grub-mkrescue.in: New file.
33217 * util/i386/pc/grub-mkfloppy.in: New file.
33218
33219 * util/i386/coreboot/grub-mkrescue.in: Remove.
33220 * util/i386/pc/grub-mkrescue.in: Remove.
33221
8d0edf4a
RM
332222009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33223
33224 * include/grub/multiboot.h (struct grub_multiboot_header): Move
33225 from here ...
33226 * include/multiboot.h (struct multiboot_header): ... to here. Update
33227 all users.
33228 * include/grub/multiboot.h (struct grub_multiboot_info): Move
33229 from here ...
33230 * include/multiboot.h (struct multiboot_info): ... to here. Update
33231 all users.
33232 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
33233 from here ...
33234 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
33235 Update all users.
33236 * include/grub/multiboot.h (struct grub_mod_list): Move
33237 from here ...
33238 * include/multiboot.h (struct multiboot_mod_list): ... to here.
33239 Update all users.
33240
a73f5969
RM
332412009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33242
33243 * include/multiboot2.h (multiboot_word): Rename from this ...
33244 (multiboot2_word): ... to this. Update all users.
33245 (multiboot_header): Rename from this ...
33246 (multiboot2_header): ... to this. Update all users.
33247 (multiboot_tag_header): Rename from this ...
33248 (multiboot2_tag_header): ... to this. Update all users.
33249 (multiboot_tag_start): Rename from this ...
33250 (multiboot2_tag_start): ... to this. Update all users.
33251 (multiboot_tag_name): Rename from this ...
33252 (multiboot2_tag_name): ... to this. Update all users.
33253 (multiboot_tag_module): Rename from this ...
33254 (multiboot2_tag_module): ... to this. Update all users.
33255 (multiboot_tag_memory): Rename from this ...
33256 (multiboot2_tag_memory): ... to this. Update all users.
33257 (multiboot_tag_unused): Rename from this ...
33258 (multiboot2_tag_unused): ... to this. Update all users.
33259 (multiboot_tag_end): Rename from this ...
33260 (multiboot2_tag_end): ... to this. Update all users.
33261
1c8927f0
RM
332622009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33263
33264 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
33265 this platform we should support Multiboot1 first.
33266
33267 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
33268 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
33269 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
33270
6e1e0d89
RM
332712009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33272
33273 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
33274 of write calls (converting them to fwrite() if they aren't already).
33275 (get_torito_desc): Likewise.
33276 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
33277
7f2b34d8
RM
332782009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33279
33280 * util/i386/pc/grub-install.in: Move from here ...
33281 * util/grub-install.in: ... to here. Update all users.
33282
c0ef3311
CW
332832009-11-11 Colin Watson <cjwatson@ubuntu.com>
33284
33285 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
33286
e1f240ff
RM
332872009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33288
33289 Support for El Torito without floppy emulation.
33290
33291 * util/mkisofs/eltorito.c: Include `<errno.h>'.
33292 (init_boot_catalog): Improve error handling.
33293 (get_torito_desc): Don't use floppy emulation unless requested by
33294 user. Patch boot information table when requested via
33295 `-boot-info-table'.
33296 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
33297 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
33298 (use_boot_info_table): New variables.
33299 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
33300 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
33301 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
33302 `--eltorito-emul-floppy'.
33303 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
33304 and `OPTION_ELTORITO_EMUL_FLOPPY'.
33305 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
33306 (use_boot_info_table, get_731): New prototypes.
33307 * util/mkisofs/write.c (get_731): New function.
33308
af7d4de5
FZ
333092009-11-11 Felix Zielcke <fzielcke@z-51.de>
33310
33311 Fix the generation of the man page.
33312
33313 * util/pc/i386/grub-install.in: Source
33314 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33315
2c55dbc0
RM
333162009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33317
33318 Large file support for grub-mkisofs.
33319
33320 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
33321 * util/mkisofs/mkisofs.c (next_extent, last_extent)
33322 (session_start): Upgrade type to `uint64_t'. Update all users.
33323 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
33324 (struct directory_entry): Upgrade type of `starting_block' and
33325 `size' to `uint64_t'. Update all users.
33326 (struct deferred): Remove unused structure.
33327 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
33328 Update all users.
33329 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
33330 file is larger than `UINT32_MAX'.
33331 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
33332 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
33333 return value.
33334 (struct deferred_write): Upgrade type of `extent' and `size' to
33335 `uint64_t'. Update all users.
33336 (last_extent_written): Upgrade type to `uint64_t'. Update all
33337 users.
33338 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
33339 Update all users. Upgrade type of `remain' to `int64_t' and
33340 `use' to `size_t'. Use error() to handle fread() errors.
33341 (write_files): Rely on write_one_file() rather than calling
33342 xfwrite() directly.
33343
6a9cead5
FZ
333442009-11-09 Felix Zielcke <fzielcke@z-51.de>
33345
33346 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
33347
4825d790
RM
333482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33349
33350 * util/mkisofs/fnmatch.c: Remove.
33351 * util/mkisofs/getopt1.c: Likewise.
33352 * util/mkisofs/getopt.c: Likewise.
33353 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
33354 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
33355 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
33356 `gnulib/getopt1.c' and `gnulib/getopt.c'.
33357 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
33358
33359 * configure.ac: Detect `mingw32msvc' host_os.
33360 Check for lstat(), getuid() and getgid().
33361
33362 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
33363 instances of `u_char' with `uint8_t'.
33364
33365 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
33366 [!HAVE_GETUID] (getuid): New function (stub).
33367 [!HAVE_GETGID] (getgid): Likewise.
33368 [!HAVE_LSTAT] (lstat): Likewise.
33369 [!S_IROTH] (S_IROTH): New macro (dummy).
33370 [!S_IRGRP] (S_IRGRP): Likewise.
33371
84b860d8
RM
333722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33373
33374 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
33375 conditional expression).
33376
66e9b712
RM
333772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33378
33379 Import from Gnulib.
33380
33381 * gnulib/fnmatch.c: New file.
33382 * gnulib/fnmatch.h: Likewise.
33383 * gnulib/fnmatch_loop.c: Likewise.
33384 * gnulib/getopt.c: Likewise.
33385 * gnulib/getopt.h: Likewise.
33386 * gnulib/getopt1.c: Likewise.
33387 * gnulib/getopt_int.h: Likewise.
33388 * gnulib/gettext.h: Likewise.
33389
34f4a5b0
RM
333902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33391
33392 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
33393 * normal/handler.c (read_handler_list): Likewise.
33394
ac451143
RM
333952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33396
33397 Misc cleanup.
33398
33399 * kern/command.c (grub_register_command_prio): Use
33400 grub_zalloc() instead of explicitly zeroing data.
33401 * kern/list.c: Include `<grub/mm.h>'.
33402 (grub_named_list_find): Replace `0' with `NULL'.
33403 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
33404 (fs_module_list): Change type to `grub_named_list_t'. Update all
33405 users.
33406 * normal/dyncmd.c (read_command_list): Add space between function
33407 call and parenthesis.
33408 * normal/handler.c (read_handler_list): Likewise.
33409
4089b167
RM
334102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33411
33412 * normal/auth.c (punishment_delay): Moved from here ...
33413 (grub_auth_strcmp): ... to here (inside function).
33414
325f5037
RM
334152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33416
33417 * include/grub/list.h (struct grub_named_list): Remove `const'
33418 qualifier from `name'.
33419 (struct grub_prio_list): Likewise.
33420
7aea29a3
RM
334212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33422
33423 * normal/auth.c: Include `<grub/time.h>'.
33424 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
33425
3fd6f044
RM
334262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33427
33428 * normal/auth.c (punishment_delay): New variable.
33429 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
33430 (grub_auth_check_authentication): Punish failed login attempts with
33431 an incremental (2^N) delay.
33432
a4cd68e4
RM
334332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33434
33435 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
33436 path with $(srcdir).
33437
7ad12f43
VS
334382009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33439
33440 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
33441
c1129f03
RM
334422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33443
33444 * util/i386/coreboot/grub-mkrescue.in: New file.
33445 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
33446 variables.
33447
33448 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
33449 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
33450 * configure.ac: Add header and function checks to satisfy grub-mkisofs
33451 requirements.
33452 * util/mkisofs/defaults.h: New file.
33453 * util/mkisofs/eltorito.c: Likewise.
33454 * util/mkisofs/exclude.h: Likewise.
33455 * util/mkisofs/fnmatch.c: Likewise.
33456 * util/mkisofs/getopt.c: Likewise.
33457 * util/mkisofs/getopt1.c: Likewise.
33458 * util/mkisofs/hash.c: Likewise.
33459 * util/mkisofs/include/fctldefs.h: Likewise.
33460 * util/mkisofs/include/mconfig.h: Likewise.
33461 * util/mkisofs/include/prototyp.h: Likewise.
33462 * util/mkisofs/include/statdefs.h: Likewise.
33463 * util/mkisofs/iso9660.h: Likewise.
33464 * util/mkisofs/joliet.c: Likewise.
33465 * util/mkisofs/match.c: Likewise.
33466 * util/mkisofs/match.h: Likewise.
33467 * util/mkisofs/mkisofs.c: Likewise.
33468 * util/mkisofs/mkisofs.h: Likewise.
33469 * util/mkisofs/multi.c: Likewise.
33470 * util/mkisofs/name.c: Likewise.
33471 * util/mkisofs/rock.c: Likewise.
33472 * util/mkisofs/tree.c: Likewise.
33473 * util/mkisofs/write.c: Likewise.
33474
ec8bb77d
VS
334752009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33476
33477 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
33478 being insecure.
33479
3716b12c
RM
334802009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33481
33482 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
33483 `grub-mkimage' (and use $0 when possible).
33484
b97b7b91
RM
334852009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33486
33487 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
33488 error message for excessively large memory map.
33489
04114812
RM
334902009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33491
33492 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
33493 executable bit.
33494
e4eb2373
RM
334952009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33496
33497 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
33498 message for coreboot users.
33499
c926e1d5 335002009-11-07 Robert Millan <rmh.grub@aybabtu.com>
33501
33502 Fix build with GNU gold.
33503
33504 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
33505 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
33506 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
33507 link addresses.
33508 * aclocal.m4: Likewise.
33509
86e5b1db 335102009-11-04 Felix Zielcke <fzielcke@z-51.de>
33511
33512 * configure.ac (AC_PREREQ): Bump to 2.59d.
33513 * INSTALL: Make it more clear when Autoconf and Ruby are
33514 needed and when to run `./autogen.sh'.
33515
246cd78f 335162009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
33517
33518 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
33519 OSes.
33520
4f9dfb37 335212009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33522
33523 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
33524
b82bd5e1 335252009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33526
33527 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
33528 giving it to GNU Mach.
33529
ff1a9bca 335302009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33531
33532 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
33533 GNU partition number to get internal GRUB partition number.
33534
61697d9c 335352009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33536
33537 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
33538 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
33539
a50569e1 335402009-11-01 Robert Millan <rmh.grub@aybabtu.com>
33541
33542 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
33543 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
33544 case.
33545
5b153867 335462009-11-01 Felix Zielcke <fzielcke@z-51.de>
33547
33548 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
33549
d9e2cd70 335502009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33551
33552 Fix build problem.
33553
33554 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
33555 `-isystem=$(srcdir)/include'.
33556
805111a4 335572009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33558
33559 * util/i386/pc/grub-install.in: Remove hint that device.map should be
33560 checked (grub-install doesn't currently rely on it).
33561
fa6e945f 335622009-10-29 Robert Millan <rmh.grub@aybabtu.com>
33563
33564 Revert SVN r2660.
33565
33566 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
33567 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33568 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
33569 * conf/i386-ieee1275.rmk: Likewise.
33570 * conf/i386-pc.rmk: Likewise.
33571 * conf/powerpc-ieee1275.rmk: Likewise.
33572 * conf/sparc64-ieee1275.rmk: Likewise.
33573 * conf/x86_64-efi.rmk: Likewise.
33574
cee15086 335752009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33576
33577 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
33578
95b9239e 335792009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33580
33581 * include/grub/misc.h: Stop checking for APPLE_CC.
33582
2ed19dfd 335832009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33584
33585 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
33586 doesn't cause an infinite call loop.
33587
fdcdde19 335882009-10-28 Felix Zielcke <fzielcke@z-51.de>
33589
33590 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
33591 strings.
33592
cefabfe1 335932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33594
33595 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33596 variable.
33597 * Makefile.in: Likewise.
33598
ed96ab6d 335992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33600
33601 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33602
0579b753 336032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33604
33605 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33606
478df409 336072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33608
33609 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33610
083d1679 336112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33612
33613 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33614 from here ...
33615 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33616
5947ae32 336172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33618
33619 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33620 in $(MAKEINFO) invocation. This makes it clear in output that
33621 errors are being ignored.
33622
94180ff6 336232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33624
33625 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33626 from here ...
33627 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33628 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33629 * conf/i386-ieee1275.rmk: Likewise.
33630 * conf/i386-pc.rmk: Likewise.
33631 * conf/powerpc-ieee1275.rmk: Likewise.
33632 * conf/sparc64-ieee1275.rmk: Likewise.
33633 * conf/x86_64-efi.rmk: Likewise.
33634
9031b03a 336352009-10-26 Colin Watson <cjwatson@ubuntu.com>
33636
33637 * util/grub-editenv.c (main): If only a command is given, use
33638 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33639 (usage): FILENAME is now optional and has a default.
33640
e4f6809b 336412009-10-26 Colin Watson <cjwatson@ubuntu.com>
33642
33643 Improve grub-mkconfig performance when there are several menu
33644 entries on a single filesystem.
33645
33646 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33647 prepare_grub_to_access_device.
33648 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33649 * util/grub.d/30_os-prober.in: Likewise.
33650
67937d4d 336512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33652
33653 * util/grub.d/10_freebsd.in: Remove.
33654 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33655 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33656
ee3756cc 336572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33658
5c35048e 33659 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 33660
4dea1c6f 336612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33662
33663 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33664 grub_util_error() call.
33665
042484d7 336662009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33667
33668 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33669 `reserved_first_sector' member.
33670 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33671 `reserved_first_sector' to 1.
33672 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33673 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33674 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33675 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33676 filesystems which begin at first sector.
33677 (options): New option --skip-fs-probe.
33678 (main): Handle --skip-fs-probe and pass it to setup().
33679
d64448a7 336802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33681
33682 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33683 (memset): Fix function prototype.
33684
508d42ec 336852009-10-25 Robert Millan <rmh.grub@aybabtu.com>
336862009-10-25 Vasily Averin <vvs@parallels.com>
33687
33688 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33689 `dirent.direntlen == 0'.
33690
b240e30c 336912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33692
33693 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33694 `cpio'.
33695 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33696
346e7fbe 336972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33698
33699 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33700 `__trampoline_setup' and `__ucmpdi2'.
33701 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33702 that libgcc provides.
33703
cdb308b0 337042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33705
33706 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33707 * include/grub/sparc64/libgcc.h (memset): Likewise.
33708 * include/grub/misc.h (memset, memcmp): New function prototypes.
33709
fb26abc2 337102009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33711
33712 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33713 `cpio'.
33714 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33715
f6693890 337162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33717
33718 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33719 * docs/grub.cfg: Compensate for recent change in multiboot
33720 loader (since 2009-08-14 it won't pass filename to payload).
33721 * util/grub.d/10_hurd.in: Likewise.
33722
0933cdc0 337232009-10-21 Felix Zielcke <fzielcke@z-51.de>
33724
33725 * config.guess: Update to latest version from config git
33726 repository.
33727 * config.sub: Likewise.
33728
3b2fe8c2 337292009-10-20 Robert Millan <rmh.grub@aybabtu.com>
33730
33731 Fix build on sparc64.
33732
33733 * configure.ac: Perform checks for libgcc symbols before
33734 adding `-nostdlib' to LDFLAGS.
33735
46695a62 337362009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33737
33738 Let user specify OpenBSD root device.
33739
33740 * loader/i386/bsd.c (openbsd_root): New variable.
33741 (openbsd_opts): New option 'root'.
33742 (OPENBSD_ROOT_ARG): New macro.
33743 (grub_openbsd_boot): Use 'openbsd_root'.
33744 (grub_cmd_openbsd): Fill 'openbsd_root'.
33745
d2b6b7fc 337462009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33747
33748 * NEWS: Misc adjustments.
33749
421bd7ac 337502009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33751
33752 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
33753
f1d29d87 337542009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33755
33756 * configure.ac: Bump version to 1.97.
33757
6f3cd880 337582009-10-16 Colin Watson <cjwatson@ubuntu.com>
33759
33760 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
33761 -mno-3dnow on x86 architectures. Some toolchains enable these
33762 features by default, but they rely on registers that aren't enabled
33763 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
33764
035f7122 337652009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33766
33767 Make entry text a bit more readable.
33768
33769 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33770
44998e58 337712009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33772
33773 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33774
cd2851b3 337752009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33776
33777 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33778 operations.
33779
c6f3b249 337802009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33781
33782 * configure.ac: Add missing dollar.
33783
6b5886ba 337842009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33785
33786 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33787
33788 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33789 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33790 exports.
33791 * include/grub/sparc64/libgcc.h: Likewise. Use
33792 preprocessor conditionals.
33793
e9d66f6d 337942009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33795
33796 * conf/common.rmk (grub-dumpbios): Remove rule.
33797 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33798 * util/grub-dumpbios.in: Remove file.
33799
9155bc17 338002009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33801
33802 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33803 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33804
33805 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33806 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33807 users.
33808
33809 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33810 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
33811 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
33812 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33813 users.
33814
bf7f7a18 338152009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33816
33817 * term/tparm.c: Switch to GPLv3.
33818
86564c26 338192009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33820
33821 * include/grub/i386/cpuid.h: Add header protection.
33822
5c936493 338232009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33824
33825 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33826
33827 * include/grub/i386/cpuid.h: New file.
33828 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33829 (has_longmode): Rename to ...
33830 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33831 `static' attribute.
33832 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33833 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33834 on a CPU that doesn't implement AMD64 instruction set.
33835
186e7cf2 338362009-10-06 Colin Watson <cjwatson@ubuntu.com>
33837
33838 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33839 that version.texi is rebuilt on version number changes.
33840
83b65c4a 338412009-10-06 Colin Watson <cjwatson@ubuntu.com>
33842
33843 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33844 Fixes bug #27602.
33845
d244281c 338462009-10-06 Colin Watson <cjwatson@ubuntu.com>
33847
33848 * util/i386/pc/grub-install.in: Source
33849 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33850 that the --grub-probe option will work.
33851 * util/sparc64/ieee1275/grub-install.in: Likewise.
33852
da25306d 338532009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33854
33855 * configure.ac: Bump version to 1.97~beta4.
33856
e8ee83c0 338572009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33858
33859 Resync grub-mkdevicemap in x86_64-efi.
33860
33861 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33862 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33863 `util/devicemap.c'.
33864
50dcabcf 338652009-10-01 Colin Watson <cjwatson@ubuntu.com>
33866
33867 * util/grub-editenv.c (create_envblk_file): Write new block with a
33868 .new suffix and then rename it into place, to ensure atomic
33869 creation.
33870
0e51c3a7 338712009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33872
33873 Do not automatically install headers.
33874
33875 * Makefile.in (include_DATA): Remove. Update all users.
33876
31299a95 338772009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33878
33879 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33880 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33881
33882 * util/osdetect.lua: Remove.
33883 * script/lua/lauxlib.c: Likewise.
33884 * script/lua/ldebug.c: Likewise.
33885 * script/lua/grub_main.c: Likewise.
33886 * script/lua/lauxlib.h: Likewise.
33887 * script/lua/ldebug.h: Likewise.
33888 * script/lua/ltablib.c: Likewise.
33889 * script/lua/liolib.c: Likewise.
33890 * script/lua/lstrlib.c: Likewise.
33891 * script/lua/lualib.h: Likewise.
33892 * script/lua/ldo.c: Likewise.
33893 * script/lua/ldump.c: Likewise.
33894 * script/lua/ldo.h: Likewise.
33895 * script/lua/loslib.c: Likewise.
33896 * script/lua/lundump.c: Likewise.
33897 * script/lua/grub_lib.c: Likewise.
33898 * script/lua/ldblib.c: Likewise.
33899 * script/lua/lundump.h: Likewise.
33900 * script/lua/lmem.c: Likewise.
33901 * script/lua/grub_lib.h: Likewise.
33902 * script/lua/lmathlib.c: Likewise.
33903 * script/lua/lstate.c: Likewise.
33904 * script/lua/ltm.c: Likewise.
33905 * script/lua/lvm.c: Likewise.
33906 * script/lua/lmem.h: Likewise.
33907 * script/lua/lstate.h: Likewise.
33908 * script/lua/ltm.h: Likewise.
33909 * script/lua/ltable.c: Likewise.
33910 * script/lua/lvm.h: Likewise.
33911 * script/lua/llex.c: Likewise.
33912 * script/lua/lgc.c: Likewise.
33913 * script/lua/grub_lua.h: Likewise.
33914 * script/lua/loadlib.c: Likewise.
33915 * script/lua/lfunc.c: Likewise.
33916 * script/lua/lopcodes.c: Likewise.
33917 * script/lua/lparser.c: Likewise.
33918 * script/lua/ltable.h: Likewise.
33919 * script/lua/llex.h: Likewise.
33920 * script/lua/lgc.h: Likewise.
33921 * script/lua/lfunc.h: Likewise.
33922 * script/lua/lbaselib.c: Likewise.
33923 * script/lua/lopcodes.h: Likewise.
33924 * script/lua/lparser.h: Likewise.
33925 * script/lua/lzio.c: Likewise.
33926 * script/lua/linit.c: Likewise.
33927 * script/lua/lobject.c: Likewise.
33928 * script/lua/llimits.h: Likewise.
33929 * script/lua/lstring.c: Likewise.
33930 * script/lua/lzio.h: Likewise.
33931 * script/lua/lapi.c: Likewise.
33932 * script/lua/lcode.c: Likewise.
33933 * script/lua/lua.h: Likewise.
33934 * script/lua/lobject.h: Likewise.
33935 * script/lua/lstring.h: Likewise.
33936 * script/lua/lapi.h: Likewise.
33937 * script/lua/lcode.h: Likewise.
33938 * script/lua/luaconf.h: Likewise.
33939
cb8a2c38 339402009-09-26 Colin Watson <cjwatson@ubuntu.com>
33941
33942 * docs/grub.texi (Command-line and menu entry commands): Document
33943 date and echo commands.
33944
6b9b6276 339452009-09-24 Pavel Roskin <proski@gnu.org>
33946
33947 * include/grub/kernel.h (struct grub_module_header): Remove
33948 `grub_module_header_types'. Make `type' unsigned. Make `size'
33949 32-bit on all platforms.
33950 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33951 8-bit field. Use grub_host_to_target32() for `size'.
33952 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33953 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33954 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33955
4e5a02a7 339562009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33957
33958 Fix "lost keypress" bug in at_keyboard.
33959
33960 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33961 Checks for readyness of input buffer (without flushing it).
33962 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33963 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33964
c6dcedf6 339652009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33966
33967 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33968 size check within GRUB_MACHINE_PCBIOS section.
33969
74c958b1 339702009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33971
33972 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33973 return value.
33974 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33975 KEYBOARD_ISREADY check.
33976 (grub_at_keyboard_checkkey): Rename to ...
33977 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33978 Remove gratuitous cast.
33979
ff420223 339802009-09-23 Colin Watson <cjwatson@ubuntu.com>
33981
33982 * configure.ac: Call AC_PROG_MKDIR_P.
33983 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33984 version.texi in $(builddir) rather than $(srcdir).
33985 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33986 to makeinfo's @include search path.
33987
d96875df 339882009-09-23 Felix Zielcke <fzielcke@z-51.de>
33989
33990 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33991
9b3f8365 339922009-09-23 Felix Zielcke <fzielcke@z-51.de>
33993
33994 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33995 for `*.dpkg-new'.
33996
c44c90db 339972009-09-21 Colin Watson <cjwatson@ubuntu.com>
33998
33999 Build info documentation. Some code borrowed from Automake.
34000
34001 * configure.ac: Check for makeinfo.
34002 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
34003 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
34004 docs/version.texi.
34005 (MOSTLYCLEANFILES): Add vti.tmp.
34006 (docs/version.texi, docs/stamp-vti): Update automatically.
34007 (docs/grub.info): Build info documentation. Use --force and ignore
34008 errors for now.
34009 (all-local): Add $(INFOS).
34010 (install-local): Install info files.
34011 (uninstall): Uninstall info files.
34012 * docs/version.texi: Remove from revision control. This file is
34013 automatically generated on build now.
34014 * gendistlist.sh: Add `*.info'.
34015
e0b37bb5 340162009-09-21 Felix Zielcke <fzielcke@z-51.de>
34017
34018 * kern/term.c: Fix indentation.
34019
5a78865b 340202009-09-21 Felix Zielcke <fzielcke@z-51.de>
34021
34022 * util/hostdisk.c: Fix a comment.
34023
dace7e8a 340242009-09-20 Robert Millan <rmh.grub@aybabtu.com>
34025
34026 Fix regression introduced in r2539.
34027
34028 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
34029 to 0xA1.
34030
a83d079b 340312009-09-19 Colin Watson <cjwatson@ubuntu.com>
34032
34033 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 34034 os-prober. Under normal operation, it does not print anything to
34035 stderr; if it does, we need to debug it, and throwing away stderr
34036 makes that excessively difficult.
a83d079b 34037
be94a509 340382009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
34039
34040 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
34041
63f745e8 340422009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34043
34044 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
34045 AC_LANG_PROGRAM from autoconf.
34046 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
34047 prototypes (fixes warning).
34048
34049 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
34050 `--disable-werror' was used.
34051
bbb2a70f 340522009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34053
34054 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
34055 uninitialized `lastaddr'.
34056
77c24f1d 340572009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
34058
0f0b8c87 34059 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 34060
07197f23 340612009-09-14 Colin Watson <cjwatson@ubuntu.com>
34062
34063 * commands/test.c (get_fileinfo): Return immediately if
34064 grub_fs_probe fails.
34065
dabf1798 340662009-09-14 José Martínez <xosemp@gmail.com>
34067
34068 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
34069
d52109a7 340702009-09-14 Colin Watson <cjwatson@ubuntu.com>
34071
34072 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
34073 output.
34074
56532179 340752009-09-13 Robert Millan <rmh.grub@aybabtu.com>
34076
34077 * configure.ac: Remove --enable-grub-pe2elf. Only build
34078 grub-pe2elf when needed by the build system itself.
34079 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
34080
8ef070f5 340812009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34082
34083 * configure.ac: Bump version to 1.97~beta3.
34084 * docs/version.texi: Likewise.
34085
61229557 340862009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34087
34088 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
34089 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
34090 from here ...
34091 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
34092 (grub_linux_setup_video): ... to here (with some adjustments).
34093
5c9f8d84 340942009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34095
34096 Fix memory corruption issue (spotted by Colin Watson).
34097
34098 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
34099 causing returned size to be stored in an incorrect memory location.
34100 Fix use of uninitialized value when storing the returned size.
34101
e8f5d6e9 341022009-09-12 Yves Blusseau <blusseau@zetam.org>
34103
34104 Change clean rules to properly remove files
34105
34106 * genmk.rb: add new clean rules
34107 * Makefile.in (clean): add the new targets
34108 (mostlyclean): likewise
34109
cda2a409 341102009-09-11 Colin Watson <cjwatson@ubuntu.com>
34111
34112 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
34113 to grub_uint64_t.
34114 * fs/ntfs.c (init_file): Understand 64-bit sizes for
34115 non-resident files.
34116
86695375 341172009-09-11 Colin Watson <cjwatson@ubuntu.com>
34118
34119 * configure.ac: Don't look for help2man when cross-compiling. Fixes
34120 part of bug #27349.
34121
8aa1541a 341222009-09-10 Felix Zielcke <fzielcke@z-51.de>
34123
34124 * util/grub-mkconfig.in: Make the created config mode 400 and
34125 print a warning if it fails.
34126
48d9bb0a 341272009-09-10 Robert Millan <rmh.grub@aybabtu.com>
34128
34129 * util/grub.d/40_custom.in: Ask user to type custom entries below
34130 comment, rather than below 'exec tail' line.
34131
3b0521be 341322009-09-10 Colin Watson <cjwatson@ubuntu.com>
34133
34134 * util/grub.d/40_custom.in: Make sure that the explanatory text is
34135 visible in grub.cfg.
34136
50051d55 341372009-09-10 Colin Watson <cjwatson@ubuntu.com>
34138
34139 * util/grub.d/40_custom.in: Make it a little clearer how to use this
34140 file.
34141
c0d34387 341422009-09-10 Felix Zielcke <fzielcke@z-51.de>
34143
34144 * docs/grub.cfg: Add an example menu entry for memtest86+.
34145
80a608f3 341462009-09-09 Felix Zielcke <fzielcke@z-51.de>
34147
a2094832 34148 * config.guess: Update to latest version from config git.
80a608f3 34149 * config.sub: Likewise.
34150
99423078 341512009-09-08 Colin Watson <cjwatson@ubuntu.com>
34152
34153 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
34154 unknown-command case. Fixes bug #27320.
34155
44454e4c 341562009-09-08 Felix Zielcke <fzielcke@z-51.de>
34157
34158 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
34159 `help' if the command exists.
34160
e30d87ad 341612009-09-06 Robert Millan <rmh.grub@aybabtu.com>
34162
34163 * INSTALL: Require GCC 4.1.3 or later.
34164
9a86f1ec 341652009-09-06 Yves Blusseau <blusseau@zetam.org>
34166
34167 * Makefile.in (RMKFILES): add i386-qemu.rmk
34168 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
34169 $(srcdir)/stamp-h.in
34170
7f26d466 341712009-09-05 Robert Millan <rmh.grub@aybabtu.com>
34172
34173 * util/grub-probe.c (probe): Comment out buggy codepath, which
34174 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
34175 should be re-enabled after 1.97.
34176
3a613259 341772009-09-05 Felix Zielcke <fzielcke@z-51.de>
34178
34179 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
34180 find searches for.
34181
197f76c7 341822009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
34183
34184 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
34185 unnecessary calls to grub_error.
34186
70ba68ce 341872009-09-04 Colin Watson <cjwatson@ubuntu.com>
34188
34189 * NEWS: Mention `keystatus' and Unicode fonts.
34190
4ff0d7a4 341912009-09-04 Robert Millan <rmh.grub@aybabtu.com>
34192
34193 * configure.ac: Bump version to 1.97~beta2.
34194 * docs/version.texi: Likewise.
34195
77c55a87 341962009-09-03 Colin Watson <cjwatson@ubuntu.com>
34197
34198 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
34199 containing unwind information in some cases where it previously did
34200 not. Use -fno-dwarf2-cfi-asm if available to restore the old
34201 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
34202 discussion.
34203
f79572cd 342042009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
34205
34206 Embedding loadenv module into grub-emu
34207
34208 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
34209 commands/loadenv.c
34210 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
34211 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
34212 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
34213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
34214 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
34215 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
34216
93a81088 342172009-09-03 Magnus Granberg <zorry@ume.nu>
34218
34219 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
34220 include -fPIE in the default specs.
34221 * configure.ac: Check if pie_possible is yes and add -fno-PIE
34222 to TARGET_CFLAGS.
34223
160034b2 342242009-09-03 Felix Zielcke <fzielcke@z-51.de>
34225
34226 * INSTALL: Note that GNU Bison 2.3 or later is required.
34227
087c07c4 342282009-09-03 Colin Watson <cjwatson@ubuntu.com>
34229
34230 * kern/i386/pc/startup.S: Fix typo.
34231
cbf978c0 342322009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
34233
34234 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
34235 according to GCS.
34236
342372009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 34238
34239 * docs/grub.texi (Naming convention): Describe one-based partition
34240 numbering.
34241 (Device syntax): Likewise.
34242 (File name syntax): Likewise.
34243 (Block list syntax): Likewise.
34244 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
34245 menu.lst.
34246 (File name syntax): Likewise.
34247 (Command-line and menu entry commands): Document acpi, blocklist,
34248 crc, export, insmod, keystatus, ls, set, and unset commands.
34249
f3e8cdfd 342502009-09-02 Colin Watson <cjwatson@ubuntu.com>
34251
34252 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
34253 to avoid implying that only one of --shift, --ctrl, or --alt may be
34254 used.
34255
c0bc232b 342562009-09-02 Colin Watson <cjwatson@ubuntu.com>
34257
34258 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
34259 rather than comparing against S_IFREG, which will almost never work.
34260
aa0f752d 342612009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
34262
34263 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
34264 (write_blocklists): Likewise.
34265
ecb3166a 342662009-09-01 Colin Watson <cjwatson@ubuntu.com>
34267
34268 * script/lua/grub_lua.h (fputs): Supply a format string as the first
34269 argument to grub_printf.
34270
c403a125 342712009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 34272
34273 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 34274 non GNU test.
31aba781 34275
b5e7312c 342762009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34277
34278 * kern/file.c (grub_file_read): Spelling fix
34279
fe00f472 342802009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34281
34282 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
34283 loading of headers in some cases.
34284
cc55302e 342852009-08-30 Robert Millan <rmh.grub@aybabtu.com>
34286
34287 * configure.ac: Bump version to 1.97~beta1.
34288 * docs/version.texi: Likewise.
34289
5c90cdd2 342902009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 34291
34292 * include/grub/i386/xnu.h: Add license header.
34293 include grub/err.h explicitly.
34294
c90edae4 342952009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34296
34297 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
34298 to `ufs' in the vfs.root.mountfrom kernel parameter.
34299
d8888b5c 343002009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34301
34302 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
34303
34304 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
34305 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
34306
34307 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
34308 `ARRAY_SIZE' macro.
34309
6f07b921 343102009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34311
34312 * kern/file.c (grub_file_read): Check offset.
34313 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
34314 * fs/jfs.c (grub_jfs_read_file): Likewise.
34315 * fs/ntfs.c (grub_ntfs_read): Likewise.
34316 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
34317 * fs/minix.c (grub_minix_read_file): Correct offset check.
34318 * fs/ufs.c (grub_ufs_read_file): Likewise.
34319
b4f34077 343202009-08-28 Colin Watson <cjwatson@ubuntu.com>
34321
34322 * term/i386/pc/console.c (bios_data_area): Cast
34323 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
34324
e7c69859 343252009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34326
34327 1-bit optimised blitters.
34328
34329 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
34330 prototype.
34331 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34332 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34333 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34334 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34335 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34336 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34337 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
34338 function.
34339 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34340 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34341 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34342 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34343 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34344 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34345 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
34346 when possible.
34347 * video/video.c (grub_video_get_blit_format): Return
34348 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
34349
a57da43f 343502009-08-28 Colin Watson <cjwatson@ubuntu.com>
34351
34352 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
34353 the first argument to grub_printf.
34354
4cbe67e5 343552009-08-28 Colin Watson <cjwatson@ubuntu.com>
343562009-08-28 Robert Millan <rmh.grub@aybabtu.com>
34357
34358 Add `getkeystatus' terminal method. Add a new `keystatus' command
34359 to query it.
34360
34361 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
34362 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
34363 modifier key bitmasks.
34364 (struct grub_term_input): Add `getkeystatus' member.
34365 (grub_getkeystatus): Add prototype.
34366 * kern/term.c (grub_getkeystatus): New function.
34367
34368 * include/grub/i386/pc/memory.h
34369 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
34370 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
34371 Data Area layout.
34372 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
34373 (grub_console_term_input): Set `getkeystatus' member.
34374 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
34375 constants.
34376 (grub_usb_keyboard_getreport): Likewise.
34377 (grub_usb_keyboard_checkkey): Likewise.
34378 (grub_usb_keyboard_getkeystatus): New function.
34379 (grub_usb_keyboard_term): Set `getkeystatus' member.
34380
34381 * commands/keystatus.c: New file.
34382 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
34383 (keystatus_mod_SOURCES): New variable.
34384 (keystatus_mod_CFLAGS): Likewise.
34385 (keystatus_mod_LDFLAGS): Likewise.
34386 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
34387 commands/keystatus.c.
34388 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34389 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34390 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34391 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34392 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34393 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 34394
6e2a9085 343952009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34396
34397 Split befs.mod and afs.mod into *_be.mod and *.mod
34398
34399 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
34400 (grub_fstest_SOURCES): Likewise.
34401 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
34402 (afs_be_mod_SOURCES): New variable.
34403 (afs_be_mod_CFLAGS): Likewise.
34404 (afs_be_mod_LDFLAGS): Likewise.
34405 (befs_be_mod_SOURCES): Likewise.
34406 (befs_be_mod_CFLAGS): Likewise.
34407 (befs_be_mod_LDFLAGS): Likewise.
34408 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
34409 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34410 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34411 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34412 (grub_emu_SOURCES): Likewise.
34413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34414 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34415 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34416 * fs/afs_be.c: New file.
34417 * fs/befs_be.c: New file.
34418 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
34419 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
34420 (U16): Replaced with ...
34421 (grub_afs_to_cpu16): ...this. All users updated.
34422 (U32): Replaced with ...
34423 (grub_afs_to_cpu32): ...this. All users updated.
34424 (U64): Replaced with ...
34425 (grub_afs_to_cpu64): ...this. All users updated.
34426 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
34427 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 34428 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 34429 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34430 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34431 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34432 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34433 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34434 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34435 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34436 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34437
32a71655 344382009-08-26 Bean <bean123ch@gmail.com>
34439
34440 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
34441 64-bit number.
34442 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
34443 (grub_xfs_inode_block): Change return type to grub_uint64_t.
34444 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
34445
552bf6c5 344462009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34447
34448 NetBSD memory map support.
34449
34450 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
34451 (grub_netbsd_btinfo_mmap_header): New structure.
34452 (grub_netbsd_btinfo_mmap_entry): Likewise.
34453 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
34454
1ae2078c 344552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34456
34457 Enable bsd.mod on coreboot.
34458
34459 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
34460 (bsd_mod_SOURCES): New variable.
34461 (bsd_mod_CFLAGS): Likewise.
34462 (bsd_mod_LDFLAGS): Likewise.
34463 (bsd_mod_ASFLAGS): Likewise.
34464 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
34465 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
34466
beefc598 344672009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34468
34469 Cleanup NetBSD root support.
34470
34471 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
34472 grub_bsd_get_device.
34473 Fix typo.
34474
3b76e68b 344752009-08-25 Felix Zielcke <fzielcke@z-51.de>
34476
34477 * util/grub.d/00_header.in: Move check for the video backend of
34478 gfxterm from here ...
34479 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
34480 a suitable video backend.
34481
aea664ea 344822009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34483
34484 Fix breakage in grub-setup.
34485
34486 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
34487 "msdos_partition_map".
34488
ff747d50 344892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34490
34491 Fix breakage in normal/auth.c.
34492
34493 * normal/auth.c (grub_iswordseparator): New function.
34494
e7e1f93f 344952009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34496
34497 Authentication support.
34498
34499 * commands/password.c: New file.
34500 * conf/common.rmk (pkglib_MODULES): Add password.mod.
34501 (password_mod_SOURCES): New variable.
34502 (password_mod_CFLAGS): Likewise.
34503 (password_mod_LDFLAGS): Likewise.
34504 (normal_mod_SOURCES): Add normal/auth.c.
34505 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
34506 normal/auth.c.
34507 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34508 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34509 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34511 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34512 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34513 * include/grub/auth.h: New file.
34514 * include/grub/err.h (grub_err_t): New enum value
34515 GRUB_ERR_ACCESS_DENIED.
34516 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
34517 'users'.
34518 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
34519 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
34520 users updated.
34521 * normal/auth.c: New file.
34522 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
34523 (grub_cmdline_run): Don't allow to go to command line without
34524 authentication.
34525 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
34526 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
34527 menuentry without superuser rights.
34528 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
34529 user isn't a superuser.
34530
70f1161d 345312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34532
34533 Save space by inlining misc.c functions.
34534
34535 * kern/misc.c (grub_iswordseparator): Made static.
34536 * kern/misc.c (grub_strcat): Moved from here ...
34537 * include/grub/misc.h (grub_strcat): ... here. Inlined.
34538 * kern/misc.c (grub_strncat): Moved from here ...
34539 * include/grub/misc.h (grub_strncat): ... here. Inlined.
34540 * kern/misc.c (grub_strcasecmp): Moved from here ...
34541 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
34542 * kern/misc.c (grub_strncasecmp): Moved from here ...
34543 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
34544 * kern/misc.c (grub_isalpha): Moved from here ...
34545 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
34546 * kern/misc.c (grub_isdigit): Moved from here ...
34547 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
34548 * kern/misc.c (grub_isgraph): Moved from here ...
34549 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
34550 * kern/misc.c (grub_tolower): Moved from here ...
34551 * include/grub/misc.h (grub_tolower): ... here. Inlined.
34552
48e40bff 345532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34554
34555 * script/sh/function.c (grub_script_function_find): Cut error message
34556 not to flood terminal.
34557 * script/sh/lexer.c (grub_script_yylex): Remove command line length
34558 limit.
34559 * script/sh/script.c (grub_script_arg_add): Duplicate string.
34560
c385bfc3 345612009-08-24 Colin Watson <cjwatson@ubuntu.com>
34562
34563 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
34564 `report' grub_uint8_t *.
34565 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
34566 Use a 50-millisecond timeout rather than just repeating
34567 grub_usb_keyboard_getreport 50 times.
34568 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
34569
2d21e3e8 345702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34571
34572 Rename *_partition_map to part_*
34573
34574 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
34575 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
34576 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
34577 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
34578 All users updated.
34579 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
34580 All users updated.
34581 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
34582 * util/grub-probe.c (probe_partmap): Don't transform partition name
34583 to get module name.
34584
dd103c4e 345852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34586
34587 Fix OpenBSD and NetBSD support.
34588
34589 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
34590 memory address conflict.
34591 (OPENBSD_MMAP_ACPI): New definition.
34592 (OPENBSD_MMAP_NVS): Likewise.
34593 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34594 and OPENBSD_MMAP_NVS.
34595 Add memory map terminator
34596 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 34597 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 34598
16c84d74 345992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34600
34601 Let user specify NetBSD root device.
34602
34603 * loader/i386/bsd.c (netbsd_root): New variable.
34604 (netbsd_opts): New option 'root'.
34605 (NETBSD_ROOT_ARG): New macro.
34606 (grub_netbsd_boot): Use 'netbsd_root'.
34607 (grub_bsd_unload): Free 'netbsd_root'.
34608 (grub_cmd_netbsd): Fill 'netbsd_root'.
34609
adb29902 346102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34611
34612 Support for 64-bit NetBSD.
34613
34614 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34615 point when booting non-FreeBSD.
34616
f5ae9f74 346172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34618
34619 Support --no-smp and --no-acpi for NetBSD.
34620
34621 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34622 (NETBSD_AB_NOACPI): Likewise.
34623 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34624 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34625
de74f136 346262009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34627
34628 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34629 errors.
34630 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34631 errors. Call grub_error when needed.
34632
e9a925da 346332009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34634
34635 * commands/search.c (search_fs): Try searching without autoload first.
34636 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34637 filesystem module explicitly for faster booting.
34638
5174302b 346392009-08-23 Colin Watson <cjwatson@ubuntu.com>
34640
34641 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34642
c8c80635 346432009-08-23 Colin Watson <cjwatson@ubuntu.com>
34644
34645 * util/grub.d/30_os-prober.in: Disable os-prober if
34646 `GRUB_DISABLE_OS_PROBER' was set to true.
34647
71acf5e5 346482009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34649
34650 * partmap/pc.c: Rename to ...
34651 * partmap/msdos.c: ... this. Update all users.
34652 (grub_pc_partition_map): Rename to ...
34653 (grub_msdos_partition_map): ... this. Update all users.
34654
34655 * parttool/pcpart.c: Rename to ...
34656 * parttool/msdospart.c: ... this. Update all users.
34657
34658 * include/grub/pc_partition.h: Rename to ...
34659 * include/grub/msdos_partition.h: ... this. Update all users.
34660 (grub_pc_partition_bsd_entry): Rename to ...
34661 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34662 (grub_pc_partition_disk_label): Rename to ...
34663 (grub_msdos_partition_disk_label): ... this. Update all users.
34664 (grub_pc_partition_entry): Rename to ...
34665 (grub_msdos_partition_entry): ... this. Update all users.
34666 (grub_pc_partition_mbr): Rename to ...
34667 (grub_msdos_partition_mbr): ... this. Update all users.
34668 (grub_pc_partition): Rename to ...
34669 (grub_msdos_partition): ... this. Update all users.
34670 (grub_pc_partition_is_empty): Rename to ...
34671 (grub_msdos_partition_is_empty): ... this. Update all users.
34672 (grub_pc_partition_is_extended): Rename to ...
34673 (grub_msdos_partition_is_extended): ... this. Update all users.
34674 (grub_pc_partition_is_bsd): Rename to ...
34675 (grub_msdos_partition_is_bsd): ... this. Update all users.
34676
34677 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34678 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34679 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34680 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34681 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34682 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34683 (gpt_mod_LDFLAGS): Rename to ...
34684 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34685 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34686 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34687 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34688 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34689 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34690 (part_gpt_mod_LDFLAGS): ... this.
34691 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34692 `pcpart.mod' to `msdospart.mod'.
34693 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34694 to ...
34695 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34696 (msdospart_mod_LDFLAGS): ... this.
34697
c11fded5 346982009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34699
34700 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34701 (openbsd_opts): Likewise.
34702 (netbsd_opts): Likewise.
34703 (freebsd_flags): Added 0 terminator.
34704 (openbsd_flags): Likewise.
34705 (netbsd_flags): Likewise.
34706 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34707 (grub_cmd_freebsd): Transformed into extended command.
34708 (grub_cmd_openbsd): Likewise.
34709 (grub_cmd_netbsd): Likewise.
34710 (cmd_freebsd): Changed type to grub_extcmd_t.
34711 (cmd_openbsd): Likewise.
34712 (cmd_netbsd): Likewise.
34713 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34714 grub_cmd_openbsd as extended commands.
34715 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34716 cmd_netbsd and cmd_openbsd
34717
11d1c769 347182009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34719
34720 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34721
7a9094e5 347222009-08-21 Pavel Roskin <proski@gnu.org>
34723
5496c37e 34724 * Makefile.in (install-local): When checking if a file is in the
34725 build directory, use "test -e" to detect symlinks.
34726
7a9094e5 34727 * Makefile.in (install-local): Remove all files in
34728 $(DESTDIR)$(pkglibdir) before installing new files there.
34729
e53cea11 347302009-08-18 Felix Zielcke <fzielcke@z-51.de>
34731
34732 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
34733 grub-mkelfimage.
34734
9aced544 347352009-08-18 Felix Zielcke <fzielcke@z-51.de>
34736
34737 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34738 explicitly specified by the user.
34739
b7da6bab 347402009-08-18 Pavel Roskin <proski@gnu.org>
34741
34742 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34743 grub_uint8_t pointer for data.
34744 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34745 Likewise.
34746 * video/fb/fbutil.c: Remove unnecessary casts.
34747
19f1b335 347482009-08-17 Michal Suchanek <hramrach@centrum.cz>
34749
34750 VBE cleanup.
34751
34752 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
34753 (grub_vbe_set_video_mode): Save active mode info
34754 only after setting the mode.
34755 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
34756 second argument.
34757
2f467aa9 347582009-08-17 Michal Suchanek <hramrach@centrum.cz>
34759
34760 Rename variables for clarity.
34761
34762 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
34763 (active_vbe_mode_info): ... this. All users updated.
34764 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34765 All users updated.
34766 (initial_mode): Rename to ...
34767 (initial_vbe_mode): ... this. All users updated.
34768 (mode_in_use): Rename to ..
34769 (vbe_mode_in_use): ... this. All users updated.
34770 (mode_list): Rename to ..
34771 (vbe_mode_list): ... this. All users updated.
34772 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34773 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34774 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34775 'mode_list_size' to 'vbe_mode_list_size'.
34776 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34777 'best_mode_info' to 'best_vbe_mode_info' and
34778 'best_mode' to 'best_vbe_mode'
34779
6025fcd7 347802009-08-17 Michal Suchanek <hramrach@centrum.cz>
34781
34782 Remove duplicate grub_video_fb_get_video_ptr.
34783
34784 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34785 (grub_video_fb_get_video_ptr): ... this.
34786 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34787 * video/fb/fbutil.c: Add comment about addressing.
34788 (get_data_ptr): Rename to ...
34789 (grub_video_fb_get_video_ptr): ... this. All users updated.
34790 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34791
cc8c6faf 347922009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34793
34794 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34795 grub_dprintf() that was just added.
34796
08aa61f0 347972009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34798
34799 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34800 (DEFAULT_VIDEO_MODE): Remove macros.
34801 (grub_linux_boot): Remove assumption that Linux has FB support,
34802 and use "text" as default video mode.
34803
7cef4f75 348042009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34805
34806 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34807 grub_dprintf.
34808 * fs/fat.c (grub_fat_read_data): Likewise.
34809
e1f39873 348102009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34811
34812 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34813 payload.
34814 (grub_module): Likewise.
34815
c166d79e 348162009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34817
34818 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34819 mbi->cmdline but free playground.
34820
c60cee8e 348212009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34822
34823 Handle group offset on UFS1.
34824
34825 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34826 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34827
c0d8b5d4 348282009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34829
34830 Split ufs.mod into ufs1.mod and ufs2.mod.
34831
34832 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34833 (grub_fstest_SOURCES): Likewise.
34834 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34835 (ufs_mod_SOURCES): Remove.
34836 (ufs_mod_CFLAGS): Likewise.
34837 (ufs_mod_LDFLAGS): Likewise.
34838 (ufs1_mod_SOURCES): New variable.
34839 (ufs1_mod_CFLAGS): Likewise.
34840 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 34841 (ufs2_mod_SOURCES): New variable.
34842 (ufs2_mod_CFLAGS): Likewise.
34843 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 34844 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34845 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34846 Likewise.
34847 (grub_emu_SOURCES): Likewise.
34848 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34849 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34850 (grub_setup_SOURCES): Likewise.
34851 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34852 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34853 (grub_setup_SOURCES): Likewise.
34854 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34855 Likewise.
34856 * fs/ufs2.c: New file.
34857 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34858
d3539132 348592009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34860
34861 Framebuffer split.
34862
34863 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34864 subsystem at the end.
34865 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34866 (video_fb_mod_SOURCES): New variable.
34867 (video_fb_mod_CFLAGS): Likewise.
34868 (video_fb_mod_LDFLAGS): Likewise.
34869 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34870 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34871 * video/i386/pc/vbeblit.c: Moved from here ...
34872 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34873 * video/i386/pc/vbefill.c: Moved from here ...
34874 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34875 * video/i386/pc/vbeutil.c: Moved from here ...
34876 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34877 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34878 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34879 * include/grub/i386/pc/vbefill.h: Moved from here ...
34880 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34881 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34882 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34883 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34884 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34885 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34886 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34887 (grub_video_adapter): Added 'get_info_and_fini'.
34888 (grub_video_get_info_and_fini): New prototype.
34889 (grub_video_set_mode): make modestring const char *.
34890 * loader/i386/linux.c (grub_linux_setup_video): Use
34891 grub_video_get_info_and_fini.
34892 (grub_linux_boot): Move modesetting just before booting.
34893 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34894 grub_video_get_info_and_fini.
34895 * video/i386/pc/vbe.c: Moved framebuffer part ...
34896 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34897 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34898 grub_video_fbstd_colors and grub_video_fb_set_palette.
34899 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34900 grub_video_fb_init.
34901 (grub_video_vbe_fini): Use grub_video_fb_fini.
34902 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34903 render_target and use grub_video_fb_set_active_render_target and
34904 grub_video_fb_set_palette.
34905 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34906 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34907 (grub_video_vbe_adapter): Use framebuffer.
34908 * video/video.c (grub_video_get_info_and_fini): New function.
34909 (grub_video_set_mode): Make modestring const char *.
34910 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34911 values are already initialised.
34912
d404ee56 349132009-08-14 Pavel Roskin <proski@gnu.org>
34914
34915 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34916 ABS and APPLE_CC.
34917 * boot/i386/pc/diskboot.S: Likewise.
34918 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34919 sectors allow compilation on MacOSX.
34920 * conf/i386-pc.rmk: Enable unconditional compilation of
34921 lnxboot.img.
34922
9a10df16 349232009-08-13 Colin Watson <cjwatson@ubuntu.com>
34924
34925 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34926 * util/grub.d/00_header.in: Enter interruptible sleep if
34927 GRUB_HIDDEN_TIMEOUT is set.
34928
be3c9ca7 349292009-08-13 Yves Blusseau <blusseau@zetam.org>
34930
34931 * include/grub/symbol.h: Add the LOCAL macro.
34932 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34933 starting with "L_".
34934
1f9e557e 349352009-08-13 Pavel Roskin <proski@gnu.org>
34936
9ca62843 34937 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34938 any modern compilers we support.
34939
1f9e557e 34940 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34941 Use local labels starting with "L_" so that Apple assembler
34942 knows they are local.
34943
81623db6 349442009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34945
34946 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34947 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34948 (bsd_kernel_types): ... this enum.
34949
34950 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34951 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34952 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34953
34954 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34955 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34956 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34957 messages.
34958
f5d35e7a 349592009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34960
34961 * util/grub-dumpdevtree: Moved from here ...
34962 * util/i386/efi/grub-dumpdevtree: ... to here.
34963 (hexify): New function. Converts a string to its hex version.
34964 Generate hex versions of "efi" and "device-properties" by calling
34965 hexify() on the ASCII strings rather than by hardcoding numbers.
34966
d1e1d527 349672009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34968
34969 * fs/jfs.c: Update copyright year.
34970
1ebbe064 349712009-08-08 Felix Zielcke <fzielcke@z-51.de>
34972
34973 * util/grub.d/00_header.in: Fix a comment.
34974 * util/grub.d/10_linux.in: Likewise.
34975 * util/grub.d/10_windows.in: Likewise.
34976 * util/grub.d/10_hurd.in: Likewise.
34977
a78c8d24 349782009-08-08 Felix Zielcke <fzielcke@z-51.de>
34979
34980 * util/grub-mkconfig.in: Allow the user to specify the used font
34981 with GRUB_FONT.
34982
29a6b9e8 349832009-08-08 Pavel Roskin <proski@gnu.org>
34984
b5f16cc4 34985 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34986 available, xfs.mod needs it now.
34987
2f5cb827 34988 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34989 the "g" modifier in sed when the intention is to strip something
34990 once. This fixes comparison of kernels with multiple dashes.
34991
29a6b9e8 34992 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34993 on it. Add missing space before closing bracket. Fix
34994 misleading formatting.
34995
892a3d98 349962009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34997
34998 * docs/grub.texi: Major overhaul. Remove all sections that are
34999 specific to GRUB Legacy, or mostly composed of Legacy-specific
35000 information.
35001
ed94253f 350022009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35003
35004 * docs/version.texi: New file. Provides version information for
35005 grub.texi.
35006
126d6628 350072009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35008
35009 * docs/grub.texi: Update CVS information to SVN.
35010 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
35011
998b5aa9 350122009-08-07 Felix Zielcke <fzielcke@z-51.de>
35013
35014 * util/grub-mkconfig.in: Remove a wrong `fi'.
35015
818e094a 350162009-08-07 Felix Zielcke <fzielcke@z-51.de>
35017
35018 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
35019 (grub_jfs_uuid): New function.
35020 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
35021
b969c52f 350222009-08-07 Felix Zielcke <fzielcke@z-51.de>
35023
35024 * util/grub-mkconfig_lib.in (font_path): Move the functionality
35025 of it to ...
35026 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
35027 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
35028
7a4894cc 350292009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35030
35031 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
35032 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
35033 Update all users.
35034
35035 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
35036 not just "vmlinu[zx]".
35037 Moved from here ...
35038 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
35039 all users.
35040
35041 * util/grub.d/10_linux.in (find_latest): Moved from here ...
35042 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
35043 all users.
35044
4e2171f8 350452009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35046
35047 * util/grub.d/10_freebsd.in: Use an absolute device path for
35048 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
35049
6dcfcb32 350502009-08-06 Felix Zielcke <fzielcke@z-51.de>
35051
35052 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
35053 handling of multiple abstraction modules.
35054
f56a8756 350552009-08-04 Robert Millan <rmh.grub@aybabtu.com>
35056
35057 Fix a bug resulting in black screen when loading Linux using a
35058 packed video mode.
35059
35060 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
35061 function.
35062
35063 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
35064 (grub_vbe_bios_getset_dac_palette_width): New function.
35065 (grub_vbe_bios_get_dac_palette_width)
35066 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
35067 grub_vbe_bios_getset_dac_palette_width()).
35068
35069 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
35070 check for return status.
35071 (grub_vbe_get_video_mode_info): When getting information for a packed
35072 mode (<= 8 bpp), obtain DAC palette width using
35073 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
35074 {red,green,blue}_mark_size.
35075
222671b2 350762009-08-04 Felix Zielcke <fzielcke@z-51.de>
35077
ecb1a6d9 35078 * commands/search.c (options): Fix help output to match actual code.
222671b2 35079
f84114f5 350802009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
35081
35082 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
35083 of homegrown code.
35084
bd288a20 350852009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 35086
35087 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
35088 on XFS or ReiserFS.
35089
8aab5e25 350902009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35091
35092 Support Apple partition map with sector size different from 512 bytes.
35093
35094 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
35095 (apple_partition_map_iterate): Respect 'aheader.blocksize'
35096 and 'apart.partmap_size'.
35097
6ad6258a 350982009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
350992009-08-01 Robert Millan <rmh.grub@aybabtu.com>
35100
35101 Fix cpuid command.
35102
35103 * commands/i386/cpuid.c (options): New variable.
35104 (grub_cmd_cpuid): Return real error.
35105 (GRUB_MOD_INIT(cpuid)): Declare options.
35106
67459bc6 351072009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
35108
35109 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
35110 valid.
35111
fbc6ab54 351122009-07-31 Bean <bean123ch@gmail.com>
35113
35114 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
35115 log2_inode.
35116 (grub_fshelp_node): Move inode field to the end.
35117 (grub_xfs_data): Remove inode field.
35118 (grub_xfs_inode_block): Calculate inode size using sblock.
35119 (grub_xfs_inode_offset): Likewise.
35120 (grub_xfs_read_inode): Calculate inode size using sblock.
35121 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
35122 (grub_xfs_iterate_dir): Calculate inode size using sblock.
35123 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
35124 to match inode size.
35125 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
35126 not accessible when data is null.
35127 (grub_xfs_open): Likewise.
35128
f45d6cfc 351292009-07-31 Bean <bean123ch@gmail.com>
35130
35131 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
35132 Don't change pv->disk if it's already set.
35133
35134 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
35135 (grub_raid_register): ... here.
35136 (grub_raid_rescan): Removed.
35137
35138 * include/grub/raid.h (grub_raid_rescan): Removed.
35139
35140 * util/grub-fstest.c: Remove include file <grub/raid.h>.
35141 (fstest): Replace grub_raid_rescan with module fini function followed
35142 by init function.
35143
35144 * util/grub-probe.c: Add include file <grub/raid.h>.
35145 (probe_raid_level): New function.
35146 (probe): Detect abstraction by walking the disk device, support two
35147 level of abstraction (LVM on RAID) when detecting partition map.
35148
24443b5a 351492009-07-31 Pavel Roskin <proski@gnu.org>
35150
35151 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
35152 to grub_zalloc(), it was erroneous.
35153 Reported by Bean <bean123ch@gmail.com>
35154
a275d9e7 351552009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
35156
35157 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 35158 embedding zone, not only the first one.
a275d9e7 35159
56c5a47f 351602009-07-29 Joe Auricchio <jauricchio@gmail.com>
35161
35162 * term/gfxterm.c (clear_char): New function.
35163 (grub_virtual_screen_setup): Use clear_char.
35164 (scroll_up): Likewise.
35165 (grub_virtual_screen_cls): Likewise.
35166
67bb323a 351672009-07-29 Felix Zielcke <fzielcke@z-51.de>
35168
35169 * util/deviceiter.c (get_acceleraid_disk_name): New static
35170 function.
35171 (grub_util_iterate_devices): Handle Accelraid devices.
35172 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
35173
388a7c75 351742009-07-28 Robert Millan <rmh.grub@aybabtu.com>
35175
35176 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
35177 separator for the suggested gfxpayload string (';' collides with the
35178 parser and needs escaping).
35179
3bb7abcf 351802009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
35181
35182 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
35183 Clear direction flag before jumping to OS.
35184 (grub_multiboot2_real_boot): Likewise.
35185
2ddd36d7 351862009-07-28 Felix Zielcke <fzielcke@z-51.de>
35187
35188 * util/i386/pc/grub-install: Fix parsing of --disk-module
35189 option.
35190
c521b62b 351912009-07-28 Felix Zielcke <fzielcke@z-51.de>
35192
35193 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
35194 when embedding.
35195
880e0a0c 351962009-07-26 Felix Zielcke <fzielcke@z-51.de>
35197
35198 * util/grub-mkconfig.in (package_version): New variable.
35199 Use it do display the version.
35200
2366e356 352012009-07-25 Felix Zielcke <fzielcke@z-51.de>
35202
35203 * kern/file.c (grub_file_open): Revert to previous check with
35204 grub_errno.
35205
7ad8c80e 352062009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35207
35208 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
35209 from help line. It's out of sync with code.
35210
72b9658b 352112009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35212
35213 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
35214 entries on failed boot.
35215
77435277 352162009-07-25 Felix Zielcke <fzielcke@z-51.de>
35217
35218 * kern/file.c (grub_file_open): Fix an error check.
35219
fcaa8b21 352202009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
35221
35d16c74 35222 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
35223 partition map couldn't be identified.
fcaa8b21 35224
48904cd1 352252009-07-23 Pavel Roskin <proski@gnu.org>
35226
ef3c317f 35227 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
35228 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
35229 case of little endian words becomes just an optimization.
35230 Respect const modifier.
ad8ea1f4 35231 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 35232
48904cd1 35233 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
35234 to avoid loss of upper bits if align is unsigned and shorter
35235 than addr.
35236
260c9a89 352372009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35238
35239 UUID support for UFS
35240
35241 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
35242 (grub_ufs_uuid): New function.
35243 (grub_ufs_fs): add .uuid
35244
f76ce889 352452009-07-21 Pavel Roskin <proski@gnu.org>
35246
35247 * kern/dl.c (grub_dl_check_header): Make static.
35248
6a6cbcaf 352492009-07-21 Felix Zielcke <fzielcke@z-51.de>
35250
35251 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
35252 add drivemap for Vista. It breaks Windows 7.
35253
cffcddb2 352542009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35255
35256 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
35257 128 bytes
35258
1ef44b80 352592009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35260
35261 Add BFS support
35262
35263 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
35264 (grub_fstest_SOURCES): Likewise.
35265 (pkglib_MODULES): Add befs.mod.
35266 (befs_mod_SOURCES): New variable.
35267 (befs_mod_CFLAGS): Likewise.
35268 (befs_mod_LDFLAGS): Likewise.
35269 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35270 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35271 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35272 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35273 (grub_setup_SOURCES): Likewise.
35274 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35275 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35276 (grub_setup_SOURCES): Likewise.
35277 * fs/befs.c: New file.
35278 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
35279 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
35280 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
35281 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
35282 (B_KEY_INDEX_ALIGN): New declaration.
35283 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
35284 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
35285 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
35286 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
35287 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
35288 (grub_afs_mount) [MODE_BFS]: Likewise.
35289 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
35290 (grub_afs_fs): Use GRUB_AFS_FSNAME
35291 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
35292 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
35293 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
35294 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
35295
4f253044 352962009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
35297
35298 * util/getroot.c (find_root_device): Add support for MacOSX.
35299 * util/hostdisk.c: Likewise.
35300
57a55913 353012009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35302
35303 * font/font.c (find_glyph): Check whether a font is present to avoid
35304 segmentation fault.
75421ca9 35305
353062009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 35307
35308 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
35309
e98cd0c2 353102009-07-20 Pavel Roskin <proski@gnu.org>
35311
35312 * configure.ac: Trim excessively wordy excuses.
35313
1d2d169a 353142009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35315
35316 Add symlink, mtime and label support to AtheFS.
35317
35318 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
35319 (grub_afs_iterate_dir): Handle symlinks.
35320 (grub_afs_open): Use grub_afs_read_symlink.
35321 (grub_afs_dir): Likewise.
35322 Pass mtime.
35323 (grub_afs_label): New function.
35324 (grub_afs_fs): Add grub_afs_label.
35325 (grub_afs_read_symlink): New function.
35326
186f3189 353272009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35328
35329 Fix AtheFS support.
35330
35331 * fs/afs.c: Fix comments style.
35332 (grub_afs_blockrun): Declare as packed.
35333 (grub_afs_datastream): Likewise.
35334 (grub_afs_bnode): Likewise.
35335 (grub_afs_btree): Likewise.
35336 (grub_afs_sblock): Likewise.
35337 Declare `name' as char.
35338 (grub_afs_inode): Declare as packed.
35339 Change void *vnode to grub_uint32_t unused.
35340 (grub_afs_iterate_dir): Check that key_size is positive.
35341 (grub_afs_mount): Don't read superblock twice.
75421ca9 35342 (grub_afs_dir): Don't free node in case of error,
186f3189 35343 grub_fshelp_find_file already handles this.
35344 (grub_afs_open): Likewise.
35345
5680109e 353462009-07-19 Pavel Roskin <proski@gnu.org>
35347
35348 * Makefile.in: Remove LIBLZO and enable_lzo.
35349 * conf/i386-pc.rmk: Remove lzo support.
35350 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
35351 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
35352 support.
35353 * kern/i386/pc/lzo1x.S: Remove.
35354 * kern/i386/pc/startup.S: Remove lzo support.
35355 * util/i386/pc/grub-mkimage.c: Likewise.
35356
ac70fa32 353572009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
35358
35359 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
35360 * fs/xfs.c (grub_xfs_dir): Likewise.
35361 * fs/afs.c (grub_afs_dir): Likewise.
35362 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
35363 (grub_iso9660_open): Likewise.
35364 * fs/jfs.c (grub_jfs_open): Likewise.
35365 * fs/ext2.c (grub_ext2_dir): Likewise.
35366 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
35367 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 35368
eab58da2 353692009-07-16 Pavel Roskin <proski@gnu.org>
35370
d2838156 35371 * configure.ac: Never add "-c" to CFLAGS.
35372
55c70904 35373 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
35374
43e6200c 35375 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
35376 grub_cv_cc_efiemu should be used.
35377
ce7a733d 35378 * configure.ac: Typo fixes.
35379
eab58da2 35380 * kern/mm.c (grub_zalloc): New function.
35381 (grub_debug_zalloc): Likewise.
35382 * include/grub/mm.h: Declare grub_zalloc() and
35383 grub_debug_zalloc().
35384 * util/misc.c (grub_zalloc): New function.
35385 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
35386 instead of grub_malloc(), remove unneeded initializations.
35387 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
35388 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
35389 * commands/parttool.c (grub_cmd_parttool): Likewise.
35390 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
35391 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
35392 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
35393 * disk/usbms.c (grub_usbms_finddevs): Likewise.
35394 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
35395 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
35396 (grub_cmd_efiemu_pnvram): Likewise.
35397 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
35398 * fs/iso9660.c (grub_iso9660_mount): Likewise.
35399 (grub_iso9660_iterate_dir): Likewise.
35400 * fs/jfs.c (grub_jfs_opendir): Likewise.
35401 * fs/ntfs.c (list_file): Likewise.
35402 (grub_ntfs_mount): Likewise.
35403 * kern/disk.c (grub_disk_open): Likewise.
35404 * kern/dl.c (grub_dl_load_core): Likewise.
35405 * kern/elf.c (grub_elf_file): Likewise.
35406 * kern/env.c (grub_env_context_open): Likewise.
35407 (grub_env_set): Likewise.
35408 (grub_env_set_data_slot): Likewise.
35409 * kern/file.c (grub_file_open): Likewise.
35410 * kern/fs.c (grub_fs_blocklist_open): Likewise.
35411 * loader/i386/multiboot.c (grub_module): Likewise.
35412 * loader/xnu.c (grub_xnu_create_key): Likewise.
35413 (grub_xnu_create_value): Likewise.
35414 * normal/main.c (grub_normal_add_menu_entry): Likewise.
35415 (read_config_file): Likewise.
35416 * normal/menu_entry.c (make_screen): Likewise.
35417 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35418 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
35419 * script/sh/script.c (grub_script_parse): Likewise.
35420 * video/bitmap.c (grub_video_bitmap_create): Likewise.
35421 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
35422 * video/readers/png.c (grub_png_output_byte): Likewise.
35423 (grub_video_reader_png): Likewise.
35424
830afef7 354252009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 35426
35427 Enable all targets that can be built by default
35428
830afef7 35429 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 35430 grub-mkfont and grub-fstest if they can be built
35431
ee293aee 354322009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35433
35434 Fix hang and segmentation fault in grub-emu-usb
35435
35436 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
35437 * util/usb.c (grub_libusb_devices): likewise
35438 (grub_libusb_init): rename to ...
35439 (GRUB_MOD_INIT (libusb)):...this
35440 (grub_libusb_fini): rename to ..
35441 (GRUB_MOD_FINI (libusb)):...this
35442 * disk/usbms.c (grub_usbms_transfer): fix retry logic
35443 * include/grub/disk.h (grub_raid_init): removed, it's useless
35444 (grub_raid_fini): likewise
35445 (grub_lvm_init): likewise
35446 (grub_lvm_fini): likewise
35447 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
35448 by grub_init_all
35449
94414221 354502009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35451
35452 Fix libusb
35453
35454 * Makefile.in (LIBUSB): new macro
35455 * genmk.rb (Utility/print_tail): new method
35456 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
35457 (top level): call util.print_tail at the end.
35458
59ade63d 354592009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35460
35461 Make FreeBSD accept zpool.cache
35462
35463 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
35464 type is /boot/zfs/zpool.cache
35465
a58da8c7 354662009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35467
35468 Fix 64-bit efiemu
35469
35470 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
35471 correct wrong typedef
35472 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
35473
20591577 354742009-07-15 Pavel Roskin <proski@gnu.org>
35475
560ca572 35476 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
35477 * kern/disk.c (struct grub_disk_cache): Likewise.
35478
e8e8e4fd 35479 * commands/probe.c (options): Typo fix.
35480
fde24e10 35481 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
35482 Increase to 0x5a to accommodate FAT32. Adjust other offsets
35483 accordingly.
35484 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
35485
379c54c1 35486 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
35487 the end of "Error" to make the message more readable.
35488
7bd8f5bf 35489 * boot/i386/pc/boot.S (kernel_segment): Remove.
35490 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
35491 for destination.
35492
40b132c5 35493 * boot/i386/pc/boot.S (boot_version): Remove.
35494 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
35495 Remove.
35496
20591577 35497 * include/grub/i386/pc/boot.h: Sort all offsets.
35498 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
35499 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
35500 * boot/i386/pc/boot.S: Assert location of every offset listed in
35501 include/grub/i386/pc/boot.h.
35502
2df32b2c 355032009-07-13 Pavel Roskin <proski@gnu.org>
35504
44b5d879 35505 * include/grub/i386/coreboot/machine.h: Rename
35506 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
35507 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
35508 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
35509
17dc3751 35510 * kern/dl.c: Force native word size to suppress warnings when
35511 compiling grub-emu.
35512
2df32b2c 35513 * kern/device.c (grub_device_iterate): Change struct part_ent to
35514 hold the name, not a pointer to it. Use one grub_malloc() per
35515 partition, not two. Free partition_name if grub_malloc() fails.
35516 Set ents to NULL only before grub_partition_iterate() is called.
35517
75c59f59 355182009-07-11 Bean <bean123ch@gmail.com>
35519
35520 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
35521 childname.
35522
0ae1bf88 355232009-07-10 Bean <bean123ch@gmail.com>
355242009-07-10 Robert Millan <rmh.grub@aybabtu.com>
35525
35526 * kern/ieee1275/openfw.c (grub_children_iterate)
35527 (grub_devalias_iterate): Fix size evaluation for property or path
35528 strings, which was broken since r2132.
35529
8279cade 355302009-07-07 Pavel Roskin <proski@gnu.org>
35531
7d8a52d3 35532 * commands/search.c (search_file): Merge into ...
35533 (search_fs): ... this. Accept search type as argument.
35534 (grub_cmd_search): Pass search type to search_fs().
35535
25f9a05a 35536 * include/grub/util/console.h: New file.
35537 * util/console.c: Use it instead of grub/machine/console.h.
35538 * util/grub-emu.c: Likewise.
35539
8279cade 35540 * lib/arg.c (find_long_option): Remove.
35541 (find_long): Add `len' argument, make `s' const char *.
35542 (grub_arg_parse): Parse long options in place, not in a
35543 temporary buffer.
35544
4a11b60f 355452009-07-06 Pavel Roskin <proski@gnu.org>
35546
99f68041 35547 * commands/search.c (search_fs): Fix potential NULL pointer
35548 dereference.
35549
4a11b60f 35550 * commands/search.c (search_fs): Replace QUID macro with quid_fn
35551 function pointer.
35552
e110f4de 355532009-07-06 Daniel Mierswa <impulze@impulze.org>
35554
35555 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
35556 comparison.
35557
46eeb6a2 355582009-07-05 Pavel Roskin <proski@gnu.org>
35559
bab74958 35560 * include/grub/i386/linux.h (struct linux_kernel_params):
35561 Restore padding3, it's still needed.
35562
46eeb6a2 35563 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
35564 FreeBSD.
35565 * util/osdetect.lua: Likewise.
35566
b4a1dc79 355672009-07-05 Bean <bean123ch@gmail.com>
35568
35569 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
35570
35571 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
35572 (grub_lua_getenv): Likewise.
35573 (grub_lua_setenv): Likewise.
35574 (save_errno): New function.
35575 (push_result): Likewise.
35576 (grub_lua_enum_device): Likewise.
35577 (grub_lua_enum_file): Likewise.
35578 (grub_lua_file_open): Likewise.
35579 (grub_lua_file_close): Likewise.
35580 (grub_lua_file_seek): Likewise.
35581 (grub_lua_file_read): Likewise.
35582 (grub_lua_file_getline): Likewise.
35583 (grub_lua_file_getsize): Likewise.
35584 (grub_lua_file_getpos): Likewise.
35585 (grub_lua_file_eof): Likewise.
35586 (grub_lua_file_exist): Likewise.
35587 (grub_lua_add_menu): Likewise.
35588
35589 * script/lua/grub_lua.h (isupper): New inline function.
35590 (islower): Likewise.
35591 (ispunct): Likewise.
35592 (isxdigit): Likewise.
35593 (strcspn): Change to normal function.
35594 (strpbkr): New function declaration.
35595 (memchr): Likewise.
35596
35597 * script/lua/grub_main.c (scan_str): New function.
35598 (strcspn): Likewise.
35599 (strpbrk): Likewise.
35600 (memchr): Likewise.
35601
35602 * script/lua/linit.c (lualibs): Enable the string library.
35603
35604 * util/osdetect.lua: New file.
35605
2da92295 356062009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35607
35608 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35609 `capabilities' member.
35610
b2582ec9 356112009-07-02 Pavel Roskin <proski@gnu.org>
35612
35613 * genparttoollist.sh: Add missing newline at the end.
35614
32622956 356152009-07-01 Pavel Roskin <proski@gnu.org>
35616
87a7339e 35617 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35618
d23af54e 35619 * util/hostdisk.c (open_device): Remove `const' from
35620 `sysctl_size', as sysctlbyname() can change it (in this case it
35621 doesn't actually happen).
35622
c94b18a9 35623 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35624 using signed long int constants.
35625
c6cd3ef0 35626 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35627 constant to avoid a warning on FreeBSD.
35628
0df63420 35629 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35630 where it's needed.
35631
999577f1 35632 * Makefile.in: Install include/grub/machine symlink.
35633
6f41557f 35634 * Makefile.in: When installing symlinks, use "cp -fR", which
35635 works on FreeBSD and MacOSX.
35636 From Yves Blusseau <cl7m42e02@sneakemail.com>
35637
c8d22988 35638 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35639 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35640
1b96e952 35641 * util/misc.c: Move grub_reboot() and grub_halt() ...
35642 * util/grub-emu.c: ... here. Make main_env static.
35643 * include/grub/util/misc.h: Remove main_env.
35644
2ef0084d 35645 * kern/mm.c: Use correct format to print size_t.
35646
32622956 35647 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35648 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35649 * kern/powerpc/dl.c: Likewise.
35650 * kern/sparc64/dl.c: Likewise.
35651 * kern/x86_64/dl.c: Likewise.
35652
3f7f0cd0 356532009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35654
35655 Fix grub-emu build on sparc64-ieee1275.
35656
75421ca9 35657 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 35658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35659
211d06b5 356602009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35661
35662 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35663 (grub_reboot, grub_halt): New functions.
35664
35665 * util/i386/pc/misc.c: Delete. Update all users.
35666 * util/sparc64/ieee1275/misc.c: Likewise.
35667 * util/powerpc/ieee1275/misc.c: Likewise.
35668
aaf53e3c 356692009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35670
35671 * conf/i386.rmk (setjmp_mod_SOURCES)
35672 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35673 * conf/common.rmk (setjmp_mod_SOURCES)
35674 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35675 to use $(target_cpu).
35676 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35677 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35678 * conf/powerpc-ieee1275.rmk: Likewise.
35679 * conf/sparc64-ieee1275.rmk: Likewise.
35680
35681 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35682 $(target_cpu) for kern/$(target_cpu)/dl.c.
35683 * conf/i386-efi.rmk: Likewise.
35684 * conf/i386-ieee1275.rmk: Likewise.
35685 * conf/x86_64-efi.rmk: Likewise.
35686 * conf/i386-coreboot.rmk: Likewise.
35687 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35688 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35689 kern/$(target_cpu)/cache.S.
35690 * conf/sparc64-ieee1275.rmk: Likewise.
35691
a337130b 356922009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35693
35694 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35695 type to `grub_uint8_t', and adjust `padding9' accordingly.
35696
c6fe4d53 356972009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35698
b09db61d 35699 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35700
c6fe4d53 35701 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35702 assembly in final jump, using register constraints.
35703
b09db61d 35704 (grub_linux_boot): For text mode, initialize `have_vga' using
35705 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35706
35707 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35708 right before the final jump.
35709
35710 Set `video_mode' to 0x3.
35711
35712 Document initialization of `video_page', `video_mode' and
35713 `video_ega_bx'.
35714
28333ad0 357152009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35716
35717 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35718 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 35719 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 35720
02164e1b 357212009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35722
35723 Fix build on Debian / sparc.
35724
35725 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
35726
18b6c557 357272009-06-28 Pavel Roskin <proski@gnu.org>
35728
85f2aab6 35729 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
35730 fix a warning.
35731
18b6c557 35732 * util/grub.d/10_linux.in: Match SUSE style initrd names.
35733
ad760f81 357342009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35735
35736 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35737 `err'.
35738
87a4623b 357392009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35740
35741 Revert r2338.
35742
35743 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35744 file can't be opened. grub_file_open() is already supposed to set
75421ca9 35745 grub_errno / grub_errmsg appropriately.
87a4623b 35746 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35747
8231fb77 357482009-06-27 Pavel Roskin <proski@gnu.org>
357492009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35750
35751 * include/grub/dl.h: Include grub/elf.h.
35752 (struct grub_dl): Add symtab field.
35753 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
35754 GRUB_MODULES_MACHINE_READONLY.
35755 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
35756 of the header for read-only modules.
35757 (grub_dl_unload): Free mod->symtab for read-only modules.
35758 * kern/i386/dl.c: Use mod->symtab.
35759 * kern/powerpc/dl.c: Likewise.
35760 * kern/sparc64/dl.c: Likewise.
35761 * kern/x86_64/dl.c: Likewise.
35762
35763 * conf/i386-qemu.rmk: New file.
35764 * kern/i386/qemu/startup.S: Likewise.
35765 * kern/i386/qemu/mmap.c: Likewise.
35766 * boot/i386/qemu/boot.S: Likewise.
35767 * include/grub/i386/qemu/time.h: Likewise.
35768 * include/grub/i386/qemu/serial.h: Likewise.
35769 * include/grub/i386/qemu/kernel.h: Likewise.
35770 * include/grub/i386/qemu/console.h: Likewise.
35771 * include/grub/i386/qemu/boot.h: Likewise.
35772 * include/grub/i386/qemu/init.h: Likewise.
35773 * include/grub/i386/qemu/machine.h: Likewise.
35774 * include/grub/i386/qemu/loader.h: Likewise.
35775 * include/grub/i386/qemu/memory.h: Likewise.
35776
35777 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35778 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35779 [qemu] (pkglib_IMAGES): Add `boot.img'.
35780 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35781 [qemu] (boot_img_FORMAT): New variables.
35782 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35783 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35784 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35785 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35786 [qemu] (kernel_img_FORMAT): New variables.
35787
35788 * configure.ac: Recognise `i386-qemu'.
35789
35790 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35791 (for no compression).
35792 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35793 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35794 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35795 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35796 ifdefs).
35797
97fe384e 357982009-06-27 Pavel Roskin <proski@gnu.org>
35799
35800 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35801 read.
35802 * efiemu/prepare32.c: Likewise.
35803 * efiemu/prepare64.c: Likewise.
35804
c402ab17 358052009-06-26 Pavel Roskin <proski@gnu.org>
35806
35807 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35808 * include/grub/elf.h: Define symbols without "32" or "64" based
35809 on GRUB_TARGET_WORDSIZE.
35810 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
35811 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
35812 ELF definitions.
35813 * efiemu/loadcore64.c: Likewise.
35814 * loader/i386/bsd32.c: Likewise.
35815 * loader/i386/bsd64.c: Likewise.
35816 * kern/dl.c: Remove own ELF definitions.
35817 * util/i386/efi/grub-mkimage.c: Likewise.
35818
9bbdfd4d 358192009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35820
35821 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35822 segment 0x0 unconditionally, because the reference generated by
35823 GAS is an absolute address.
35824
a42ce6e9 358252009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35826
35827 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35828 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35829
c952cf92 358302009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35831
35832 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35833 indexes. Check for -f explicitly.
cc3752ad 35834 (search_file): Improve error message.
35835 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 35836
132a0a59 358372009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35838
35839 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35840 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35841
387a140c 358422009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35843
35844 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35845 * conf/i386-ieee1275.rmk: Likewise.
35846 * conf/i386-coreboot.rmk: Likewise.
35847
35848 * kern/i386/pc/startup.S (grub_stop): Remove function.
35849 * kern/i386/ieee1275/startup.S: Likewise.
35850 * kern/i386/coreboot/startup.S: Likewise.
35851 * kern/i386/misc.S (grub_stop): New function.
35852
41da9665 358532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35854
35855 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35856 * kern/i386/realmode.S (real_to_prot): ... to here.
35857
bf337234 358582009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35859
35860 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35861 with `kernel.img'.
35862 (kernel_elf_SOURCES): Rename to ...
35863 (kernel_img_SOURCES): ... this.
35864 (kernel_elf_HEADERS): Rename to ...
35865 (kernel_img_HEADERS): ... this. Update all users.
35866 (kernel_elf_ASFLAGS): Rename to ...
35867 (kernel_img_ASFLAGS): ... this.
35868 (kernel_elf_CFLAGS): Rename to ...
35869 (kernel_img_CFLAGS): ... this.
35870 (kernel_elf_LDFLAGS): Rename to ...
35871 (kernel_img_LDFLAGS): ... this.
35872 * conf/i386-coreboot.rmk: Likewise.
35873 * conf/powerpc-ieee1275.rmk: Likewise.
35874
35875 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35876 with "kernel.img".
35877
f52196ff 358782009-06-21 Pavel Roskin <proski@gnu.org>
35879
c3cee413 35880 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35881 to match nested functions.
35882 * loader/sparc64/ieee1275/linux.c: Likewise.
35883
f52196ff 35884 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35885
58750afc 358862009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35887
35888 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35889 all i386 platforms.
35890
15355c7d 358912009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35892
35893 Fix asm file handling on ELF, and remove workarounds.
35894
35895 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 35896 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35897 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35898 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35899
3f3ec72b 359002009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35901
35902 Load BSD ELF modules
35903
35904 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35905 and loader/i386/bsd64.c
35906 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35907 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35908 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35909 (grub_freebsd_load_elfmodule32): New declaration
35910 (grub_freebsd_load_elfmoduleobj64): Likewise
35911 (grub_freebsd_load_elf_meta32): Likewise
35912 (grub_freebsd_load_elf_meta64): Likewise
35913 (grub_freebsd_add_meta): Likewise
35914 (grub_freebsd_add_meta_module): Likewise
35915 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35916 (grub_freebsd_add_meta_module): Likewise and move module-specific
35917 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35918 (grub_cmd_freebsd): Add elf-kernel specific parts
35919 based on grub_freebsd_add_meta_module
35920 (grub_cmd_freebsd_module): Add type parsing moved from
35921 grub_freebsd_add_meta_module
35922 (grub_cmd_freebsd_module_elf): New function
35923 (cmd_freebsd_module_elf): New variable
35924 (GRUB_MOD_INIT): Register freebsd_module_elf
35925 * loader/i386/bsd32.c: New file
35926 * loader/i386/bsd64.c: Likewise
35927 * loader/i386/bsdXX.c: Likewise
35928 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35929 (grub_elf64_load): Likewise
35930 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35931 All users updated
35932 (grub_elf64_load_hook_t): Likewise
35933
0db15301 359342009-06-21 Colin Watson <cjwatson@ubuntu.com>
35935
35936 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35937 variable.
35938 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35939 don't write a menu entry for recovery mode.
35940
546796c1 359412009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35942
35943 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35944 after it's no longer needed.
35945
cd7310d5 359462009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35947
35948 * include/grub/i386/loader.h (grub_linux_prot_size)
35949 (grub_linux_tmp_addr, grub_linux_real_addr)
35950 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35951 GRUB_MACHINE_PCBIOS.
35952 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35953 common grub_util_info() call to ...
35954 (generate_image): ... here.
35955 Fix use of uninitialized memory, comparison of signed with
35956 unsigned integers and memory leak.
35957 Remove bogus module address message.
35958
ab32d3b5 359592009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35960
35961 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35962 grub_raid_register
35963 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35964
024ef597 359652009-06-19 Pavel Roskin <proski@gnu.org>
35966
35967 * configure.ac: Remove stray AC_MSG_CHECKING.
35968
3ac72b51 359692009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35970
35971 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 35972
e14cd814 359732009-06-18 Pavel Roskin <proski@gnu.org>
35974
35975 * conf/common.rmk: Add fs_file.mod.
35976 * disk/fs_file.c: New file.
35977 * include/grub/disk.h (enum grub_disk_dev_id): Add
35978 GRUB_DISK_DEVICE_FILE_ID.
35979
26586d98 359802009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35981
35982 Fix build with Apple's toolchain. Part 2
35983
35984 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35985 a fake start
35986
26de2bcd 359872009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35988
35989 Fix build with Apple's toolchain. Part 1
35990
35991 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35992 for long calls
35993 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35994 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35995 Apple's toolchain
35996
09b3490b 359972009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35998
35999 Fix warnings
36000
36001 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
36002 (decomp_block): initialize ch
36003 use grub_memcpy instead of memcpy
36004
c22a006a 360052009-06-17 Pavel Roskin <proski@gnu.org>
36006
d3638678 36007 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
36008 version, use declarations needed to use vga_text as the startup
36009 console.
36010
c22a006a 36011 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
36012 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
36013 the kernel.
36014 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
36015 and grub_at_keyboard_fini(), it's done on module load and
36016 unload.
36017
05b129e0 360182009-06-17 Felix Zielcke <fzielcke@z-51.de>
36019
36020 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
36021 file can't be found.
36022 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36023
cf24ed9e 360242009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36025
36026 Fix newline handling
36027
36028 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 36029 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 36030 (grub_script_yylex): don't segfault on unterminated script
36031 newline terminates command and variable
36032
74aa8e4b 360332009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36034
36035 avoid double grub_adjust_range call. Bug reported by David Simner
36036
36037 * kern/disk.c (grub_disk_write): change to raw disk access before
36038 calling disk_read
36039
1bd265f3 360402009-06-17 Colin Watson <cjwatson@ubuntu.com>
36041
36042 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
36043 spaces, for the benefit of help2man.
36044 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36045
a2d08c06 360462009-06-16 Pavel Roskin <proski@gnu.org>
36047
36048 * kern/i386/halt.c: Include grub/machine/init.h.
36049 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
36050
b97bcb19 360512009-06-16 Felix Zielcke <fzielcke@z-51.de>
36052
36053 * util/grub.d/30_os-prober.in: Use ${root} in the generated
36054 drivemap menuentry.
36055
0644f96c 360562009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
36057
36058 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
36059 `echo' command.
36060
3ef17a2e 360612009-06-16 Pavel Roskin <proski@gnu.org>
36062
36063 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
36064 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
36065 save %dx, we only need %dl and we never change it.
36066 * boot/i386/pc/cdboot.S: Don't set the root drive.
36067 * boot/i386/pc/pxeboot.S: Likewise.
36068 * include/grub/i386/pc/boot.h: Remove
36069 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
36070 GRUB_BOOT_MACHINE_DRIVE_CHECK.
36071 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
36072 * kern/i386/pc/init.c (make_install_device): Remove references
36073 to grub_root_drive.
36074 * kern/i386/pc/startup.S: Likewise.
36075 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
36076
693fe637 360772009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36078
36079 xnu_uuid command
36080
36081 * commands/xnu_uuid.c: new file
36082 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
36083 (xnu_uuid_mod_SOURCES): new variable
36084 (xnu_uuid_mod_CFLAGS): likewise
36085 (xnu_uuid_mod_LDFLAGS): likewise
36086 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36087 * conf/i386-ieee1275.rmk: likewise
36088 * conf/i386-pc.rmk: likewise
36089 * conf/powerpc-ieee1275.rmk: likewise
36090 * conf/sparc64-ieee1275.rmk: likewise
36091 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
36092
c9da87d0 360932009-06-16 Pavel Roskin <proski@gnu.org>
36094
36095 * configure.ac: Avoid '==' in test command, it's not portable.
36096
9c6f4596 360972009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36098
36099 Probe command
36100
36101 * commands/probe.c: new file
36102 * conf/common.rmk (pkglib_MODULES): add probe.mod
36103 (probe_mod_SOURCES): new variable
36104 (probe_mod_CFLAGS): likewise
36105 (probe_mod_LDFLAGS): likewise
36106 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36107 * conf/i386-ieee1275.rmk: likewise
36108 * conf/i386-pc.rmk: likewise
36109 * conf/powerpc-ieee1275.rmk: likewise
36110 * conf/sparc64-ieee1275.rmk: likewise
36111
70b7f9fd 361122009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
36113
36114 Fix handling of string like \"hello\" and "a
36115 b"
36116
36117 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
36118 (grub_script_yylex): fix parsing of quoting, escaping and newline
36119
71c79a6b 361202009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
36121
dd74360c 36122 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 36123 handling
dd74360c 36124
0644f96c 361252009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 36126
36127 * util/grub-mkconfig.in: Fix parsing of --output option.
36128
e40893c3 361292009-06-12 Pavel Roskin <proski@gnu.org>
36130
36131 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
36132 genmk.rb don't need to be generated or installed.
36133
3a1acfe2 361342009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
36135
36136 * commands/i386/pc/drivemap_int13h.S: add more comments
36137
3a4575d4 361382009-06-11 Pavel Roskin <proski@gnu.org>
36139
0658e928 36140 * Makefile.in (uninstall): Uninstall manuals.
36141
ca0388f0 36142 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
36143 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
36144 and update-grub_lib in two places.
36145 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
36146
e3b27c39 36147 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
36148 a compiler warning.
36149
3a4575d4 36150 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
36151 `entry_lo' to fix variable shadowing.
36152
af1f4f55 361532009-06-11 Christian Franke <franke@computer.org>
36154
36155 * kern/misc.c (__enable_execute_stack): Add missing return type
36156 to prevent gcc warning.
36157
5225e649 361582009-06-11 Felix Zielcke <fzielcke@z-51.de>
36159
36160 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
36161
7d83bd47 361622009-06-11 Pavel Roskin <proski@gnu.org>
36163
c1cb63ba 36164 * Makefile.in: Don't rely on any scripts being executable.
36165 Always use $(SHELL) to run shell scripts.
36166
7d83bd47 36167 * configure.ac: Always define ___main if using -nostdlib. This
36168 fixes tests on Cygwin.
36169
948f48e7 361702009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
36171
36172 UDF fix
36173
7d83bd47 36174 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 36175 is in bytes and not in blocks
7d83bd47 36176
8ada9bc1 361772009-06-11 Pavel Roskin <proski@gnu.org>
36178
36179 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
36180 warning.
36181
25ad2323 361822009-06-11 Felix Zielcke <fzielcke@z-51.de>
36183
36184 * util/grub.d/30_os-prober.in: Fix a comment. Source
36185 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
36186 to set the root device. Place drivemap command in the generated
36187 chain entry.
36188
e65acb0c 361892009-06-11 Pavel Roskin <proski@gnu.org>
36190
36191 * configure.ac: Remove host_m32. Issues with 64-bit utilities
36192 have long been resolved.
36193
f285fe2d 361942009-06-11 Colin Watson <cjwatson@ubuntu.com>
36195
bd47b0b5 36196 * util/grub.d/10_linux.in: Capitalise "Linux".
36197
f285fe2d 36198 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
36199
a0c62e4e 362002009-06-11 Pavel Roskin <proski@gnu.org>
36201
b6783cb2 36202 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
36203 fix a gcc warning and ensure that the function won't ever exit.
36204
dde032e8 36205 * kern/i386/ieee1275/init.c: Add missing prototype for
36206 grub_stop_floppy().
36207
22cd079d 36208 * loader/ieee1275/multiboot2.c [__i386__]: Include
36209 grub/cpu/multiboot.h.
36210
a0c62e4e 36211 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
36212 casts to short - they are not portable and cause warnings. Fix
36213 use of uninitialized values in input_buf. Use ARRAY_SIZE.
36214
63963d17 362152009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
36216
36217 Drivemap fixes
36218
36219 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
36220 new function
36221 (grub_get_root_biosnumber_saved): new variable
36222 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
36223 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 36224 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 36225 %dx after the call if necessary
36226 * conf/common.rmk (pkglib_MODULES): remove boot.mod
36227 (boot_mod_SOURCES): remove
36228 (boot_mod_CFLAGS): remove
36229 (boot_mod_LDFLAGS): remove
36230 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
36231 (boot_mod_SOURCES): new variable
36232 (boot_mod_CFLAGS): likewise
36233 (boot_mod_LDFLAGS): likewise
36234 * conf/i386-efi.rmk: likewise
36235 * conf/i386-ieee1275.rmk: likewise
36236 * conf/i386-pc.rmk: likewise
36237 * conf/powerpc-ieee1275.rmk: likewise
36238 * conf/sparc64-ieee1275.rmk: likewise
36239 * conf/x86_64-efi.rmk: likewise
36240 * include/grub/i386/pc/biosnum.h: new file
36241 * lib/i386/pc/biosnum.c: likewise
36242 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
36243 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
36244 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 36245
33abf7ae 362462009-06-10 Pavel Roskin <proski@gnu.org>
36247
5ac35b35 36248 * io/gzio.c (test_header): Don't reuse one buffer for all data.
36249 Use separate variables. Read only the file size at the end, but
36250 not the checksum that we don't use.
36251
5c5215d5 36252 * kern/file.c (grub_file_read): Use void pointer for the buffer.
36253 Adjust all callers.
36254
27d5fef7 36255 * kern/ieee1275/openfw.c: Remove libc includes.
36256 * kern/ieee1275/cmain.c: Likewise.
36257 * include/grub/ieee1275/ieee1275.h: Likewise.
36258
33abf7ae 36259 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
36260 compiler warnings.
36261
19d50c2b 362622009-06-10 Felix Zielcke <fzielcke@z-51.de>
36263
36264 * Makefile.in: Remove all trailing whitespace.
36265 * conf/i386-pc.rmk: Likewise.
36266 * conf/powerpc-ieee1275.rmk: Likewise.
36267 * conf/sparc64-ieee1275.rmk: Likewise.
36268 * docs/grub.texi: Likewise.
36269 * docs/texinfo.tex: Likewise.
36270 * disk/fs_uuid.c: Likewise.
36271 * disk/lvm.c: Likewise.
36272 * disk/scsi.c: Likewise.
36273 * disk/ata.c: Likewise.
36274 * disk/ieee1275/ofdisk.c: Likewise.
36275 * disk/i386/pc/biosdisk.c: Likewise.
36276 * disk/host.c: Likewise.
36277 * disk/raid.c: Likewise.
36278 * disk/efi/efidisk.c: Likewise.
36279 * disk/usbms.c: Likewise.
36280 * disk/memdisk.c: Likewise.
36281 * disk/loopback.c: Likewise.
36282 * kern/powerpc/dl.c: Likewise.
36283 * kern/device.c: Likewise.
36284 * kern/dl.c: Likewise.
36285 * kern/sparc64/dl.c: Likewise.
36286 * kern/ieee1275/ieee1275.c: Likewise.
36287 * kern/term.c: Likewise.
36288 * kern/fs.c: Likewise.
36289 * kern/i386/dl.c: Likewise.
36290 * kern/i386/pc/startup.S: Likewise.
36291 * kern/i386/pc/init.c: Likewise.
36292 * kern/i386/pc/mmap.c: Likewise.
36293 * kern/i386/pc/lzo1x.S: Likewise.
36294 * kern/i386/ieee1275/init.c: Likewise.
36295 * kern/i386/realmode.S: Likewise.
36296 * kern/i386/tsc.c: Likewise.
36297 * kern/partition.c: Likewise.
36298 * kern/corecmd.c: Likewise.
36299 * kern/file.c: Likewise.
36300 * kern/efi/efi.c: Likewise.
36301 * kern/efi/init.c: Likewise.
36302 * kern/efi/mm.c: Likewise.
36303 * kern/main.c: Likewise.
36304 * kern/err.c: Likewise.
36305 * kern/env.c: Likewise.
36306 * kern/disk.c: Likewise.
36307 * kern/generic/millisleep.c: Likewise.
36308 * kern/generic/rtc_get_time_ms.c: Likewise.
36309 * kern/misc.c: Likewise.
36310 * kern/parser.c: Likewise.
36311 * genmk.rb: Likewise.
36312 * configure.ac: Likewise.
36313 * boot/i386/pc/diskboot.S: Likewise.
36314 * boot/i386/pc/pxeboot.S: Likewise.
36315 * boot/i386/pc/boot.S: Likewise.
36316 * boot/i386/pc/lnxboot.S: Likewise.
36317 * boot/i386/pc/cdboot.S: Likewise.
36318 * parttool/pcpart.c: Likewise.
36319 * video/readers/tga.c: Likewise.
36320 * video/video.c: Likewise.
36321 * video/bitmap.c: Likewise.
36322 * lib/envblk.c: Likewise.
36323 * lib/i386/setjmp.S: Likewise.
36324 * fs/xfs.c: Likewise.
36325 * fs/afs.c: Likewise.
36326 * fs/fat.c: Likewise.
36327 * fs/ntfs.c: Likewise.
36328 * fs/udf.c: Likewise.
36329 * fs/affs.c: Likewise.
36330 * fs/iso9660.c: Likewise.
36331 * fs/hfs.c: Likewise.
36332 * fs/fshelp.c: Likewise.
36333 * fs/ext2.c: Likewise.
36334 * fs/jfs.c: Likewise.
36335 * fs/reiserfs.c: Likewise.
36336 * fs/hfsplus.c: Likewise.
36337 * fs/minix.c: Likewise.
36338 * fs/cpio.c: Likewise.
36339 * fs/sfs.c: Likewise.
36340 * fs/ufs.c: Likewise.
36341 * efiemu/prepare.c: Likewise.
36342 * efiemu/loadcore_common.c: Likewise.
36343 * efiemu/runtime/efiemu.sh: Likewise.
36344 * efiemu/runtime/efiemu.S: Likewise.
36345 * efiemu/runtime/efiemu.c: Likewise.
36346 * efiemu/pnvram.c: Likewise.
36347 * efiemu/main.c: Likewise.
36348 * efiemu/i386/pc/cfgtables.c: Likewise.
36349 * efiemu/i386/loadcore64.c: Likewise.
36350 * efiemu/i386/loadcore32.c: Likewise.
36351 * efiemu/loadcore.c: Likewise.
36352 * efiemu/symbols.c: Likewise.
36353 * efiemu/mm.c: Likewise.
36354 * include/grub/autoefi.h: Likewise.
36355 * include/grub/datetime.h: Likewise.
36356 * include/grub/term.h: Likewise.
36357 * include/grub/hfs.h: Likewise.
36358 * include/grub/lvm.h: Likewise.
36359 * include/grub/i386/tsc.h: Likewise.
36360 * include/grub/i386/linux.h: Likewise.
36361 * include/grub/i386/xnu.h: Likewise.
36362 * include/grub/i386/efiemu.h: Likewise.
36363 * include/grub/i386/pc/biosdisk.h: Likewise.
36364 * include/grub/i386/pc/memory.h: Likewise.
36365 * include/grub/i386/pc/vbe.h: Likewise.
36366 * include/grub/parttool.h: Likewise.
36367 * include/grub/video.h: Likewise.
36368 * include/grub/memory.h: Likewise.
36369 * include/grub/fs.h: Likewise.
36370 * include/grub/partition.h: Likewise.
36371 * include/grub/xnu.h: Likewise.
36372 * include/grub/efi/api.h: Likewise.
36373 * include/grub/efi/pe32.h: Likewise.
36374 * include/grub/efi/memory.h: Likewise.
36375 * include/grub/multiboot.h: Likewise.
36376 * include/grub/usbdesc.h: Likewise.
36377 * include/grub/multiboot2.h: Likewise.
36378 * include/grub/acpi.h: Likewise.
36379 * include/grub/efiemu/efiemu.h: Likewise.
36380 * include/grub/disk.h: Likewise.
36381 * include/grub/ieee1275/ieee1275.h: Likewise.
36382 * include/grub/net.h: Likewise.
36383 * include/grub/machoload.h: Likewise.
36384 * include/grub/macho.h: Likewise.
36385 * include/multiboot.h: Likewise.
36386 * genmoddep.awk: Likewise.
36387 * normal/main.c: Likewise.
36388 * normal/menu_entry.c: Likewise.
36389 * normal/menu_viewer.c: Likewise.
36390 * normal/completion.c: Likewise.
36391 * normal/cmdline.c: Likewise.
36392 * normal/misc.c: Likewise.
36393 * normal/datetime.c: Likewise.
36394 * bus/usb/usbtrans.c: Likewise.
36395 * bus/usb/ohci.c: Likewise.
36396 * bus/usb/uhci.c: Likewise.
36397 * bus/usb/usb.c: Likewise.
36398 * mmap/efi/mmap.c: Likewise.
36399 * mmap/i386/pc/mmap_helper.S: Likewise.
36400 * mmap/i386/pc/mmap.c: Likewise.
36401 * mmap/i386/mmap.c: Likewise.
36402 * mmap/i386/uppermem.c: Likewise.
36403 * mmap/mmap.c: Likewise.
36404 * commands/acpi.c: Likewise.
36405 * commands/echo.c: Likewise.
36406 * commands/blocklist.c: Likewise.
36407 * commands/loadenv.c: Likewise.
36408 * commands/usbtest.c: Likewise.
36409 * commands/boot.c: Likewise.
36410 * commands/parttool.c: Likewise.
36411 * commands/search.c: Likewise.
36412 * commands/cat.c: Likewise.
36413 * commands/i386/pc/play.c: Likewise.
36414 * commands/i386/pc/drivemap.c: Likewise.
36415 * commands/i386/pc/vbeinfo.c: Likewise.
36416 * commands/i386/pc/acpi.c: Likewise.
36417 * commands/i386/pc/vbetest.c: Likewise.
36418 * commands/ls.c: Likewise.
36419 * commands/cmp.c: Likewise.
36420 * commands/test.c: Likewise.
36421 * commands/efi/acpi.c: Likewise.
36422 * commands/gptsync.c: Likewise.
36423 * commands/help.c: Likewise.
36424 * partmap/amiga.c: Likewise.
36425 * partmap/apple.c: Likewise.
36426 * partmap/acorn.c: Likewise.
36427 * partmap/pc.c: Likewise.
36428 * partmap/sun.c: Likewise.
36429 * partmap/gpt.c: Likewise.
36430 * script/sh/lexer.c: Likewise.
36431 * script/sh/function.c: Likewise.
36432 * font/font.c: Likewise.
36433 * font/font_cmd.c: Likewise.
36434 * loader/powerpc/ieee1275/linux.c: Likewise.
36435 * loader/efi/chainloader.c: Likewise.
36436 * loader/multiboot_loader.c: Likewise.
36437 * loader/macho.c: Likewise.
36438 * loader/i386/multiboot.c: Likewise.
36439 * loader/i386/linux.c: Likewise.
36440 * loader/i386/pc/linux.c: Likewise.
36441 * loader/i386/pc/multiboot2.c: Likewise.
36442 * loader/i386/pc/chainloader.c: Likewise.
36443 * loader/i386/pc/xnu.c: Likewise.
36444 * loader/i386/bsd_trampoline.S: Likewise.
36445 * loader/i386/efi/linux.c: Likewise.
36446 * loader/i386/multiboot_elfxx.c: Likewise.
36447 * loader/i386/bsd_helper.S: Likewise.
36448 * loader/i386/bsd.c: Likewise.
36449 * loader/i386/linux_trampoline.S: Likewise.
36450 * loader/i386/xnu_helper.S: Likewise.
36451 * loader/i386/xnu.c: Likewise.
36452 * loader/i386/bsd_pagetable.c: Likewise.
36453 * loader/i386/multiboot_helper.S: Likewise.
36454 * loader/xnu.c: Likewise.
36455 * loader/xnu_resume.c: Likewise.
36456 * io/gzio.c: Likewise.
36457 * term/efi/console.c: Likewise.
36458 * term/terminfo.c: Likewise.
36459 * term/ieee1275/ofconsole.c: Likewise.
36460 * term/i386/pc/serial.c: Likewise.
36461 * term/i386/pc/vesafb.c: Likewise.
36462 * term/i386/pc/vga.c: Likewise.
36463 * term/usb_keyboard.c: Likewise.
36464 * term/gfxterm.c: Likewise.
36465 * aclocal.m4: Likewise.
36466 * util/lvm.c: Likewise.
36467 * util/grub.d/30_os-prober.in: Likewise.
36468 * util/grub.d/10_hurd.in: Likewise.
36469 * util/console.c: Likewise.
36470 * util/grub-macho2img.c: Likewise.
36471 * util/grub-probe.c: Likewise.
36472 * util/hostfs.c: Likewise.
36473 * util/i386/pc/grub-mkimage.c: Likewise.
36474 * util/i386/pc/grub-setup.c: Likewise.
36475 * util/i386/efi/grub-mkimage.c: Likewise.
36476 * util/grub-mkconfig.in: Likewise.
36477 * util/raid.c: Likewise.
36478 * util/resolve.c: Likewise.
36479 * util/grub-mkdevicemap.c: Likewise.
36480 * util/grub-emu.c: Likewise.
36481 * util/getroot.c: Likewise.
36482 * util/hostdisk.c: Likewise.
36483 * util/usb.c: Likewise.
36484 * util/grub-editenv.c: Likewise.
36485 * util/misc.c: Likewise.
36486
d2d49665 364872009-06-10 Felix Zielcke <fzielcke@z-51.de>
36488
36489 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
36490 `genparttoollist.sh'.
36491 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
36492 Add `*.sh' to the list find searches for and change `mdate.sh'
36493 to `mdate-sh'.
36494
fe052e37 364952009-06-10 Pavel Roskin <proski@gnu.org>
36496
2763ac18 36497 * include/grub/multiboot2.h: Provide compatibility defines for
36498 multiboot2.h.
36499 * include/multiboot2.h: Include stdint.h only if needed, using
36500 angle brackets.
36501 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
36502 grub/multiboot2.h.
36503 * loader/ieee1275/multiboot2.c: Likewise.
36504 * loader/multiboot2.c: Likewise.
36505 * loader/multiboot_loader.c: Likewise.
36506
437e6adc 36507 * configure.ac: Use -nostdlib when probing for the target. It
36508 should not be required to have libc for the target.
36509
06a6836c 36510 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
36511 they fail without libc headers for the target.
36512 * include/grub/powerpc/libgcc.h: Use weak attribute for all
36513 exports.
36514 * include/grub/sparc64/libgcc.h: Likewise. Don't use
36515 preprocessor conditionals.
36516
fe052e37 36517 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
36518 build system doesn't need to be aware of the tar.c internals.
36519
afd22553 365202009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 36521
afd22553 36522 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 36523
6b787c4f 365242009-06-09 Robert Millan <rmh.grub@aybabtu.com>
36525
36526 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
36527 disk limit to 26 for IDE, Virtio, Xen and SCSI.
36528
365292009-06-09 Felix Zielcke <fzielcke@z-51.de>
36530
36531 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 36532 aren't available if ata.mod gets used.
6b787c4f 36533
473d1e45 365342009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 36535
473d1e45 36536 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 36537 initialising controller.
473d1e45 36538 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 36539
255a27d4 365402009-06-08 Felix Zielcke <fzielcke@z-51.de>
36541
36542 * util/i386/pc/grub-install.in: Add a parameter --disk-module
36543 to choose between ata and biosdisk module on i386-pc.
36544
473d1e45 365452009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 36546
d55842d8 36547 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
36548 Subclass and Programming Interface fields in terms of the 3 byte
36549 Class Code register.
36550 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36551
fa5db0b1 36552 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
36553 interface is OHCI. Add grub_dprintf for symmetry with
36554 bus/usb/uhci.c.
36555 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
36556 interface is UHCI. Add interf variable for programming
36557 interface. Print interface with class/subclass.
36558
c0947beb 36559 * bus/usb/ohci.c: Set interf with correct field.
36560
69da8877 36561 * bus/usb/uhci.c: Remove unneeded doubled lines.
36562 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
36563 Remove whitespace inside comment.
36564
9e172e30 365652009-06-08 Robert Millan <rmh.grub@aybabtu.com>
36566
36567 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
36568 as fallback an equivalent option without depth.
36569
de65ee2b 365702009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36571
36572 Not fail if unable to retrieve C/H/S on LBA disks
36573
473d1e45 36574 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 36575 if unable to retrieve C/H/S on LBA disks
36576
b57ea2c9 365772009-06-08 Pavel Roskin <proski@gnu.org>
36578
36579 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
36580 about aliasing.
36581
af361263 365822009-06-08 Felix Zielcke <fzielcke@z-51.de>
36583
36584 * Makefile.in (uninstall): Remove all $lib_DATA files.
36585
4c9ec6b3 365862009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36587
36588 Bugfix: install on partitionless device
36589
36590 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
36591 is a whole disk
36592
e76fc924 365932009-06-08 Felix Zielcke <fzielcke@z-51.de>
36594
36595 * Makefile.in (uninstall): Remove all $include_DATA files.
36596
ba5a0d05 365972009-06-08 Felix Zielcke <fzielcke@z-51.de>
36598
36599 * commands/true.c: New file. Implement the true and false commands.
36600 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36601 (true_mod_SOURCES): New variable.
36602 (true_mod_CFLAGS): Likewise.
36603 (true_mod_LDFLAGS): Likewise.
36604
c8048e32 366052009-06-05 Colin D Bennett <colin@gibibit.com>
36606
36607 Optimized font character lookup using binary search instead of linear
36608 search. Fonts now are required to have the character index ordered by
36609 code point.
36610
36611 * font/font.c (load_font_index): Verify that fonts have ordered
36612 character indices.
36613 (find_glyph): Use binary search instead of linear search to find a
36614 character in a font.
36615
408305be 366162009-06-05 Michael Scherer <misc@mandriva.org>
36617
36618 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36619 uses case sensitive btree.
36620 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36621 only for case insensitive filesystems.
36622
8ee1e0d9 366232009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36624
36625 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36626 * conf/common.rmk (search_mod_CFLAGS): likewise
36627
a9966eb1 366282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36629
473d1e45 36630 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 36631 compensate a compiler bug
36632
9e7100fb 366332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36634
473d1e45 36635 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 36636 instead of '\b'
473d1e45 36637
ede21d71 366382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36639
36640 Definitions for creating asm symbols with Apple's CC
36641
36642 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36643 [APPLE_CC] (VARIABLE): likewise
36644
9dbf7653 366452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36646
36647 Disable lnxboot.img when compiled
36648 with Apple's CC
36649
36650 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36651 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36652 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36653 [! APPLE_CC] (CODE_LENG): skip
36654 [! APPLE_CC] (setup_sects): likewise
36655 [! APPLE_CC]: skip filling
473d1e45 36656
e93cdc3d 366572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36658
36659 Address in trampolines based on 32-bit registers when compiled
36660 with Apple's CC
36661
473d1e45 36662 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 36663 for addresses
36664 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36665
6c688477 366662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36667
36668 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36669
36670 * kern/misc.c [APPLE_CC] (memcpy): new function
36671 [APPLE_CC] (memmove): likewise
36672 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 36673 (memcpy): define alias conditionally on !APPLE_CC
6c688477 36674 (memset): likewise
36675 (abort): likewise
36676 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36677 APPLE_CC are defined
36678 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36679 (grub_assert_fail): make prototype conditional
36680
e37ffc5c 366812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36682
36683 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36684
473d1e45 36685 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36686 grub-macho2img
e37ffc5c 36687 (CLEANFILES): add grub-macho2img
36688 (grub_macho2img_SOURCES): new variable
36689 * kern/i386/pc/startup.S (bss_start): new variable
36690 (bss_end): likewise
36691 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36692 * util/grub-macho2img.c: new file
36693
cf00df31 366942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36695
36696 Use objconv when compiling with Apple's CC
36697
36698 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36699 (efiemu64.o): likewise
36700 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36701 when compiling with Apple's CC
36702 (efiemu64_s.o): likewise
36703 * configure.ac: check for objconv when compiling with Apple's CC
36704 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 36705
d119a20c 367062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36707
36708 Define segment as well as section when compiling with
36709 Apple's CC
36710
36711 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36712 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36713 (efiemu_convert_pointer): likewise
36714 (efiemu_set_virtual_address_map): likewise
36715 (efiemu_convert_pointer): likewise
36716 (efiemu_getcrc32): likewise
36717 (init_crc32_table): likewise
36718 (reflect): likewise
36719 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36720 (GRUB_MOD_DEP): likewise
473d1e45 36721
c8600122 367222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36723
36724 Allow a compilation without -mcmodel=large
36725
36726 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
36727 when compiled without -mcmodel=large
473d1e45 36728 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 36729 without -mcmodel=large
473d1e45 36730 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 36731 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 36732
e8df1d4e 367332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36734
36735 Remove nested functions in efiemu core
36736
36737 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 36738
cc6c3ac1 367392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36740
36741 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36742
36743 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36744 temporary storage
473d1e45 36745 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36746 using Apple's CC
cc6c3ac1 36747 (grub_cpu_is_tsc_supported): likewise
36748 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 36749
3e325901 367502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36751
36752 Absolute addressing through constant with Apple's cc
36753
36754 * kern/i386/pc/startup.S: Define necessary constants
36755 and address through it when using ABS with Apple's CC
36756 * boot/i386/pc/diskboot.S: likewise
36757 * boot/i386/pc/boot.S: likewise
36758 * boot/i386/pc/lnxboot.S: likewise
36759 * boot/i386/pc/cdboot.S: likewise
36760 * mmap/i386/pc/mmap_helper.S: likewise
36761 * commands/i386/pc/drivemap_int13h.S: likewise
36762
2b167a72 367632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36764
36765 Check if compiler is apple cc
36766
36767 * Makefile.in (ASFLAGS): new variable
36768 (TARGET_ASFLAGS): likewise
36769 (TARGET_MODULE_FORMAT): likewise
36770 (TARGET_APPLE_CC): likewise
36771 (OBJCONV): likewise
36772 (TARGET_IMG_CFLAGS): likewise
36773 (TARGET_CPPFLAGS): add includedir
36774 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36775 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36776 Check for linker script only if compiler isn't Apple's CC
36777 (TARGET_MODULE_FORMAT): set
36778 (TARGET_APPLE_CC): likewise
36779 (TARGET_ASFLAGS): likewise
36780 (ASFLAGS): likewise
36781 Check for objcopy only if compiler isn't Apple's CC
36782 Check for BSS symbol only if compiler isn't Apple's CC
36783 * genmk.rb: adapt nm options if we use Apple's utils
36784 * aclocal.m4 (grub_apple_cc): new test
36785 (grub_apple_target_cc): likewise
473d1e45 36786
fb14123e 367872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36788
36789 Simplify sed expressions and improve awk
36790
36791 * Makefile.in (install-local): simplify sed expression
36792 * gencmdlist.sh: likewise
36793 * genmoddep.awk: avoid adding module as a dependency of itself
36794
5b889789 367952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36796
36797 Add missing start symbols
36798
36799 * boot/i386/pc/boot.S: add start
fb14123e 36800 * boot/i386/pc/pxeboot.S: likewise
473d1e45 36801
fd2bf2e3 368022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36803
36804 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 36805
36806 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 36807 (relocate_addresses): consider both r_addend and value at offset
36808 (make_mods_section): zerofill modinfo and header
36809 (convert_elf): write prefix here
473d1e45 36810
5389763d 368112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36812
36813 Use .asciz instead of .string
36814
36815 * i386/pc/diskboot.S: use .asciz instead of .string
36816 * i386/pc/boot.S: likewise
36817 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36818 (GRUB_MOD_NAME): likewise
473d1e45 36819
3eb5ed4e 368202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36821
36822 gfxpayload support
36823
36824 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36825 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36826 (grub_video_setup): remove
36827 (grub_video_set_mode): new prototype
36828 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36829 (vid_mode): remove
36830 (linux_vesafb_res): compile only on PCBIOS
36831 (grub_linux_boot): support gfxpayload
36832 * loader/i386/pc/xnu.c (video_hook): new function
36833 (grub_xnu_set_video): support gfxpayload
36834 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36835 (DEFAULT_VIDEO_HEIGHT): likewise
36836 (DEFAULT_VIDEO_FLAGS): likewise
36837 (DEFAULT_VIDEO_MODE): new definition
36838 (video_hook): new function
36839 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 36840 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 36841 loading xnu
36842 * video/video.c (grub_video_setup): removed
473d1e45 36843 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 36844 grub_video_setup
36845
4b0e1143 368462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36847
36848 Avoid calling biosdisk in drivemap
36849
36850 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36851 (revparse_biosdisk): likewise
36852 (list_mappings): derive name from id directly
36853 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 36854
fda6cb98 368552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36856
36857 Script fixes
36858
36859 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36860 (grub_lexer_param): add tokenonhold
36861 (grub_script_create_cmdline): remove cmdline. All callers updated
36862 (grub_script_function_create): make functionname
36863 grub_script_arg. All callers updated
36864 (grub_script_execute_argument_to_string): new prototype
36865 * kern/parser.c (state_transitions): reorder
36866 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 36867 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 36868 make global
36869 (grub_script_execute_cmdline): use new format
36870 * script/sh/function.c (grub_script_function_create): make functionname
36871 grub_script_arg. All callers updated
473d1e45 36872 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 36873 (grub_script_yylex): remove
36874 (grub_script_yylex2): renamed to ...
36875 (grub_script_yylex): ...renamed
36876 parse the expressions like a${b}c
36877 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36878 (GRUB_PARSER_TOKEN_VAR): remove
36879 (GRUB_PARSER_TOKEN_NAME): likewise
36880 ("if"): declare as typeless
36881 ("while"): likewise
36882 ("function"): likewise
36883 ("else"): likewise
36884 ("then"): likewise
36885 ("fi"): likewise
36886 (text): remove
36887 (argument): likewise
36888 (script): accept empty scripts and make exit on error
36889 (arguments): use GRUB_PARSER_TOKEN_ARG
36890 (function): likewise
36891 (command): move error handling to script
36892 (menuentry): move grub_script_lexer_ref before
473d1e45 36893 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 36894 argument. All callers updated
36895
f4448a07 368962009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36897
36898 Prevent GRUB from probing floppies during boot.
36899
36900 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36901 * commands/search.c (options): Add --no-floppy.
36902 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36903 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36904 --no-floppy when searching for UUIDs.
36905
2bf5885a 369062009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36907
36908 Simplify the code duplication in commands/search.c.
36909
36910 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36911 (search_fs): ... this. Update all users.
36912
f6fd460a 369132009-06-03 Felix Zielcke <fzielcke@z-51.de>
36914
36915 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36916
cbb3c83e 369172009-05-28 Pavel Roskin <proski@gnu.org>
36918
57788cfd 36919 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36920 Remove the original symlink explicitly.
36921
cbb3c83e 36922 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36923 just one slash. That's how grub_fshelp_find_file() does it.
36924
cd0d5e30 369252009-05-26 Pavel Roskin <proski@gnu.org>
36926
f0f8bbe2 36927 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36928 to `str'.
36929
cd0d5e30 36930 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36931 possibly unused.
36932
8c2cab51 369332009-05-25 Christian Franke <franke@computer.org>
36934
36935 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36936 register.
36937 (grub_atapi_identify): Add wait after drive select.
36938 (grub_ata_identify): Do more strict status register check before
36939 calling grub_atapi_identify (). Suppress error message if status
36940 register is 0x00 after command failure. Add status register
36941 check after PIO read to avoid bogus identify due to stuck DRQ.
36942 Thanks to Pavel Roskin for testing.
36943 (grub_device_initialize): Remove unsafe status register check.
36944 Thanks to 'phcoder' for problem report and patch.
36945 Prevent sign extension in debug message.
36946
230c0ad6 369472009-05-23 Colin D Bennett <colin@gibibit.com>
36948
36949 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36950 definition file, and functions defined in `normal/menu.c' have had
36951 their prototypes moved to `include/grub/menu.h' for consistency.
36952
36953 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36954 from normal.h.
36955 (grub_menu_get_entry): Likewise.
36956 (grub_menu_get_timeout): Likewise.
36957 (grub_menu_set_timeout): Likewise.
36958 (grub_menu_execute_entry): Likewise.
36959 (grub_menu_execute_with_fallback): Likewise.
36960 (grub_menu_entry_run): Likewise.
36961
36962 * include/grub/normal.h: Re-ordered and grouped function
36963 prototypes by file that the function is defined in.
36964 (grub_menu_execute_callback): Removed; moved to menu.h.
36965 (grub_menu_get_entry): Likewise.
36966 (grub_menu_get_timeout): Likewise.
36967 (grub_menu_set_timeout): Likewise.
36968 (grub_menu_execute_entry): Likewise.
36969 (grub_menu_execute_with_fallback): Likewise.
36970 (grub_menu_entry_run): Likewise.
36971 (grub_menu_addentry): Renamed from this ...
36972 (grub_normal_add_menu_entry): ... to this.
36973
36974 * normal/main.c (grub_menu_addentry): Renamed from this ...
36975 (grub_normal_add_menu_entry): ... to this.
36976
36977 * script/sh/execute.c (grub_script_execute_menuentry): Update
36978 reference to renamed grub_menu_addentry function.
36979
861f03a5 369802009-05-23 Felix Zielcke <fzielcke@z-51.de>
36981
36982 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36983
96b1619a 369842009-05-22 Pavel Roskin <proski@gnu.org>
36985
bf6a5fb2 36986 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36987 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36988 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36989 compiling for the i386 targets, but not for the utilities.
36990
96b1619a 36991 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36992 to grub_uint8_t.
36993 (grub_root_drive): Likewise.
36994 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36995 remove alignment.
36996 (grub_root_drive): Change size to byte.
36997 (grub_start_addr): Remove.
36998 (grub_end_addr): Likewise.
36999 (grub_apm_bios_info): Likewise.
37000
b729776b 370012009-05-21 Felix Zielcke <fzielcke@z-51.de>
37002
37003 * normal/i386: Remove.
37004 * normal/powerpc: Likewise.
37005 * normal/sparc64: Likewise.
37006 * normal/x86_64: Likewise.
37007
0a15ce80 370082009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
37009
37010 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 37011 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 37012 * loader/i386/xnu_helper.S: Likewise
d6da58e6 37013
33db9015 370142009-05-18 Colin D Bennett <colin@gibibit.com>
37015
d6da58e6 37016 Display error messages when parsing a Lua statement fails.
37017 Previously, executing a syntactically invalid statement like
37018 ")foo" or "bar;" would silently fail.
33db9015 37019
37020 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 37021 (grub_lua_parse_line): Improved reporting of Lua parser and
37022 execution errors.
33db9015 37023
46422c89 370242009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37025
37026 Remove -Werror which causes build to fail on some systems
37027
37028 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
37029 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
37030 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 37031
22f53a96 370322009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37033
37034 trampoline for linux on 64-bit platform
37035
18f547ad 37036 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
37037 loader/i386/efi/linux_trampoline.S
37038 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 37039 declaration
d6da58e6 37040 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
37041 here
22f53a96 37042 * loader/i386/linux_trampoline.S: moved here
d6da58e6 37043 * loader/i386/efi/linux.c (allocate_pages): reserve space for
37044 trampoline
22f53a96 37045 (jumpvector): removed
37046 (grub_linux_trampoline_start): new declaration
37047 (grub_linux_trampoline_end): likewise
37048 (grub_linux_boot): use trampoline when on 64-bit platform
37049 * loader/i386/linux.c: likewise
37050
cb5a0f40 370512009-05-16 Pavel Roskin <proski@gnu.org>
37052
37053 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
37054 const to avoid a warning.
37055 (grub_lua_setenv): Likewise.
37056 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
37057 lmsg to fix a warning.
37058
334f2c28 370592009-05-16 Felix Zielcke <fzielcke@z-51.de>
37060
37061 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 37062 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37063 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
37064 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37065 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37066 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37067 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37068 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 37069
59e5d3ec 370702009-05-16 Felix Zielcke <fzielcke@z-51.de>
37071
37072 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
37073
9d87a1ba 370742009-05-16 Bean <bean123ch@gmail.com>
37075
37076 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
37077 (lua_mod_SOURCES): New variable.
37078 (lua_mod_CFLAGS): Likewise.
37079 (lua_mod_LDFLAGS): Likewise.
37080
37081 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
37082 (setjmp_mod_SOURCES): New variable.
37083 (setjmp_mod_CFLAGS): Likewise.
37084 (setjmp_LDFLAGS): Likewise.
37085
37086 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
37087 (setjmp_mod_SOURCES): New variable.
37088 (setjmp_mod_CFLAGS): Likewise.
37089 (setjmp_LDFLAGS): Likewise.
37090
37091 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37092 (setjmp_mod_SOURCES): New variable.
37093 (setjmp_mod_CFLAGS): Likewise.
37094 (setjmp_LDFLAGS): Likewise.
37095
37096 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37097 (setjmp_mod_SOURCES): New variable.
37098 (setjmp_mod_CFLAGS): Likewise.
37099 (setjmp_LDFLAGS): Likewise.
37100
37101 * normal/i386/setjmp.S: Moved from here ...
37102 * lib/i386/setjmp.S: ... Moved here
37103 * normal/x86_64/setjmp.S: Moved from here ...
37104 * lib/x86_64/setjmp.S: ... Moved here
37105 * normal/powerpc/setjmp.S: Moved from here ...
37106 * lib/powerpc/setjmp.S: ... Moved here
37107 * normal/sparc64/setjmp.S: Moved from here ...
37108 * lib/sparc64/setjmp.S: ... Moved here
37109
37110 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
37111 returns_twice in mingw.
37112
37113 * script/lua/grub_lib.c: New file.
37114 * script/lua/grub_lib.h: Likewise.
37115 * script/lua/grub_lua.h: Likewise.
37116 * script/lua/grub_main.c: Likewise.
37117 * script/lua/lapi.c: Likewise.
37118 * script/lua/lapi.h: Likewise.
37119 * script/lua/lauxlib.c: Likewise.
37120 * script/lua/lauxlib.h: Likewise.
37121 * script/lua/lbaselib.c: Likewise.
37122 * script/lua/lcode.c: Likewise.
37123 * script/lua/lcode.h: Likewise.
37124 * script/lua/ldblib.c: Likewise.
37125 * script/lua/ldebug.c: Likewise.
37126 * script/lua/ldebug.h: Likewise.
37127 * script/lua/ldo.c: Likewise.
37128 * script/lua/ldo.h: Likewise.
37129 * script/lua/ldump.c: Likewise.
37130 * script/lua/lfunc.c: Likewise.
37131 * script/lua/lfunc.h: Likewise.
37132 * script/lua/lgc.c: Likewise.
37133 * script/lua/lgc.h: Likewise.
37134 * script/lua/linit.c: Likewise.
37135 * script/lua/liolib.c: Likewise.
37136 * script/lua/llex.c: Likewise.
37137 * script/lua/llex.h: Likewise.
37138 * script/lua/llimits.h: Likewise.
37139 * script/lua/lmathlib.c: Likewise.
37140 * script/lua/lmem.c: Likewise.
37141 * script/lua/lmem.h: Likewise.
37142 * script/lua/loadlib.c: Likewise.
37143 * script/lua/lobject.c: Likewise.
37144 * script/lua/lobject.h: Likewise.
37145 * script/lua/lopcodes.c: Likewise.
37146 * script/lua/lopcodes.h: Likewise.
37147 * script/lua/loslib.c: Likewise.
37148 * script/lua/lparser.c: Likewise.
37149 * script/lua/lparser.h: Likewise.
37150 * script/lua/lstate.c: Likewise.
37151 * script/lua/lstate.h: Likewise.
37152 * script/lua/lstring.c: Likewise.
37153 * script/lua/lstring.h: Likewise.
37154 * script/lua/lstrlib.c: Likewise.
37155 * script/lua/ltable.c: Likewise.
37156 * script/lua/ltable.h: Likewise.
37157 * script/lua/ltablib.c: Likewise.
37158 * script/lua/ltm.c: Likewise.
37159 * script/lua/ltm.h: Likewise.
37160 * script/lua/lua.h: Likewise.
37161 * script/lua/luaconf.h: Likewise.
37162 * script/lua/lualib.h: Likewise.
37163 * script/lua/lundump.c: Likewise.
37164 * script/lua/lundump.h: Likewise.
37165 * script/lua/lvm.c: Likewise.
37166 * script/lua/lvm.h: Likewise.
37167 * script/lua/lzio.c: Likewise.
37168 * script/lua/lzio.h: Likewise.
37169
5e898c9d 371702009-05-16 Bean <bean123ch@gmail.com>
37171
37172 * include/grub/kernel.h (grub_module_header_types): Add type
37173 OBJ_TYPE_CONFIG.
37174
37175 * kern/main.c (grub_load_config): New function.
37176 (grub_main): Call grub_load_config to read boot config.
37177
37178 * grub-mkimage (generate_image): New parameter config_path.
37179 (options): New option --config.
37180 (main): Parse --config option, and pass it to generate_image.
37181
cf353a47 371822009-05-14 Christian Franke <franke@computer.org>
37183
37184 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
37185 This fixes build on Cygwin.
37186
3834887f 371872009-05-14 Pavel Roskin <proski@gnu.org>
37188
37189 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
37190 jump. This saves two bytes, so the typical case of 2 swapped
37191 drives would fit 32 bytes.
37192
8090fc01 371932009-05-13 Pavel Roskin <proski@gnu.org>
37194
ac963883 37195 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
37196 grub_uint32_t to avoid a warning.
37197
8090fc01 37198 * loader/i386/linux.c (allocate_pages): When assigning
37199 real_mode_mem, cast through grub_size_t to fix a warning. The
37200 code already makes sure that the value would fit a pointer.
37201 (grub_linux_setup_video): Cast render_target->data to
37202 grub_size_t to fix a warning.
37203
18f547ad 372042009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 37205
37206 * commands/i386/pc/drivemap.c: New file - implement drivemap
37207 command.
37208 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
37209 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
37210
6f6a8b28 372112009-05-13 Pavel Roskin <proski@gnu.org>
37212
37213 * util/i386/pc/grub-setup.c (setup): Remove unused variable
37214 embedding_area_exists.
37215
15fbf4c4 372162009-05-13 Robert Millan <rmh.grub@aybabtu.com>
37217
37218 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
37219 it easier to understand / work with.
59978c8a 37220 Improve warning messages for cases where there's no embedding area,
37221 or when it is too small (or core.img too large).
15fbf4c4 37222
238e871f 372232009-05-13 Pavel Roskin <proski@gnu.org>
37224
0ab3a9a4 37225 * loader/i386/pc/multiboot2.c: Add necessary includes for
37226 grub_multiboot2_real_boot().
37227
a2c8c5f8 37228 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
37229 PX record is always little-endian. We only need the lower 2
37230 bytes of the mode.
37231
faec96af 37232 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
37233 facilitate code reuse.
37234 (grub_cpio_mount): Use "struct head", not a char buffer. This
37235 fixes a warning reported by gcc 4.4.
37236
238e871f 37237 * kernel/disk.c (grub_disk_read): Use void pointer for the
37238 buffer.
37239 (grub_disk_write): Use const void pointer for the buffer.
37240 Adjust all callers. Remove unnecessary casts.
37241
901d2f0c 372422009-05-10 Robert Millan <rmh.grub@aybabtu.com>
37243
37244 * util/i386/pc/grub-install.in: Update copyright year.
37245
18f547ad 372462009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 37247
37248 gptsync
37249
37250 * commands/gptsync.c: new file
37251 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
37252 (gptsync_mod_SOURCES): new variable
37253 (gptsync_mod_CFLAGS): likewise
37254 (gptsync_mod_LDFLAGS): likewise
18f547ad 37255 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 37256 new definition
37257 (GRUB_PC_PARTITION_TYPE_HFS): likewise
37258 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
37259 * conf/i386-ieee1275.rmk: likewise
37260 * conf/i386-pc.rmk: likewise
37261 * conf/powerpc-ieee1275.rmk: likewise
37262
b4ba690a 372632009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37264
37265 Fixed grub-emu
37266
37267 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
37268 (grub_dl_ref): likewise
37269
317e1a44 372702009-05-08 Robert Millan <rmh.grub@aybabtu.com>
37271
37272 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
37273 split in two functions (one for msdos and one for gpt).
37274
041b8094 372752009-05-08 Pavel Roskin <proski@gnu.org>
37276
752473c2 37277 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
37278 not modified.
37279
041b8094 37280 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
37281 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
37282 Initialize them with -1. Add sanity check for bad1. Eliminate
37283 nerr variable.
37284
172800ce 372852009-05-08 David S. Miller <davem@davemloft.net>
37286
37287 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
37288
29aa5e81 372892009-05-06 Robert Millan <rmh.grub@aybabtu.com>
37290
37291 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 37292 existence.
29aa5e81 37293
96613b62 372942009-05-05 Felix Zielcke <fzielcke@z-51.de>
37295
37296 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 37297 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 37298
eef73c8a 372992009-05-05 David S. Miller <davem@davemloft.net>
37300
37301 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
37302
119494b5 373032009-05-05 Pavel Roskin <proski@gnu.org>
37304
37305 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
37306 of grub_dl_ref() and grub_dl_unref().
37307 * commands/parttool.c: Remove preprocessor conditionals around
37308 grub_dl_ref() and grub_dl_unref().
37309 * fs/affs.c: Likewise.
37310 * fs/afs.c: Likewise.
37311 * fs/cpio.c: Likewise.
37312 * fs/ext2.c: Likewise.
37313 * fs/fat.c: Likewise.
37314 * fs/hfs.c: Likewise.
37315 * fs/hfsplus.c: Likewise.
37316 * fs/iso9660.c: Likewise.
37317 * fs/jfs.c: Likewise.
37318 * fs/minix.c: Likewise.
37319 * fs/ntfs.c: Likewise.
37320 * fs/reiserfs.c: Likewise.
37321 * fs/sfs.c: Likewise.
37322 * fs/udf.c: Likewise.
37323 * fs/ufs.c: Likewise.
37324 * fs/xfs.c: Likewise.
37325 * include/grub/dl.h: Likewise.
37326 * loader/xnu.c: Likewise.
37327
de5fd76e 373282009-05-04 Pavel Roskin <proski@gnu.org>
37329
37330 * commands/acpi.c: Remove unused variable my_mod.
37331 * partmap/amiga.c: Likewise.
37332 * partmap/apple.c: Likewise.
37333 * partmap/gpt.c: Likewise.
37334 * partmap/pc.c: Likewise.
37335 * partmap/sun.c: Likewise.
37336 * term/gfxterm.c: Likewise.
37337 * term/i386/pc/vesafb.c: Likewise.
37338 * term/i386/pc/vga.c: Likewise.
37339
983598ad 373402009-05-04 David S. Miller <davem@davemloft.net>
37341
37342 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
37343 pointer args to grub_ieee1275_get_property().
37344
8aadec43 37345 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
37346
9554b15e 37347 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
37348 devices, and do not traverse down under controller nodes.
37349
67e23c90 37350 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
37351 (grub_ofdisk_open): Use it to un-escape "," characters.
37352 * kern/disk.c (find_part_sep): New.
37353 (grub_disk_open): Use it to find the first non-escaped ','
37354 character in the disk name.
37355 * util/ieee1275/devicemap.c (escape_of_path): New.
37356 (grub_util_emit_devicemap_entry): Use it.
37357 * util/sparc64/ieee1275/grub-install.in: Update script to
37358 strip partition specifiers properly by not triggering on
37359 '\' escaped ',' characters.
37360
74bfdd2f 373612009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37362
37363 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
37364 to 0x300.
37365 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
37366 resolutions.
37367 (linux_vesafb_modes): Add a lot of additional modes to the list (based
37368 on documentation from Wikipedia).
37369
4241d2b1 373702009-05-04 Pavel Roskin <proski@gnu.org>
37371
37372 * disk/ata.c: Spelling fixes.
37373 * disk/raid.c: Likewise.
37374 * disk/usbms.c: Likewise.
37375 * disk/dmraid_nvidia.c: Likewise.
37376 * kern/ieee1275/openfw.c: Likewise.
37377 * kern/ieee1275/init.c: Likewise.
37378 * kern/ieee1275/cmain.c: Likewise.
37379 * boot/i386/pc/cdboot.S: Likewise.
37380 * video/readers/png.c: Likewise.
37381 * video/i386/pc/vbe.c: Likewise.
37382 * fs/udf.c: Likewise.
37383 * fs/hfs.c: Likewise.
37384 * fs/reiserfs.c: Likewise.
37385 * efiemu/runtime/efiemu.c: Likewise.
37386 * efiemu/main.c: Likewise.
37387 * efiemu/mm.c: Likewise.
37388 * include/grub/elf.h: Likewise.
37389 * include/grub/xnu.h: Likewise.
37390 * include/grub/usbdesc.h: Likewise.
37391 * include/grub/usb.h: Likewise.
37392 * include/grub/script_sh.h: Likewise.
37393 * include/grub/lib/LzmaEnc.h: Likewise.
37394 * include/grub/efiemu/efiemu.h: Likewise.
37395 * include/grub/command.h: Likewise.
37396 * normal/menu.c: Likewise.
37397 * normal/main.c: Likewise.
37398 * normal/datetime.c: Likewise.
37399 * bus/usb/uhci.c: Likewise.
37400 * mmap/i386/uppermem.c: Likewise.
37401 * mmap/mmap.c: Likewise.
37402 * commands/acpi.c: Likewise.
37403 * commands/test.c: Likewise.
37404 * partmap/apple.c: Likewise.
37405 * font/font.c: Likewise.
37406 * loader/sparc64/ieee1275/linux.c: Likewise.
37407 * loader/macho.c: Likewise.
37408 * loader/i386/bsd_trampoline.S: Likewise.
37409 * loader/i386/bsd.c: Likewise.
37410 * loader/xnu.c: Likewise.
37411 * term/i386/pc/vesafb.c: Likewise.
37412 * term/usb_keyboard.c: Likewise.
37413 * util/resolve.c: Likewise.
37414 * util/getroot.c: Likewise.
37415
0cfc0083 374162009-05-04 Felix Zielcke <fzielcke@z-51.de>
37417
37418 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
37419
7c1d00cd 374202009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37421
37422 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
37423 build error.
37424
b01f0548 374252009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37426
37427 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
37428 parameter only available on BIOS.
37429
ecc3eb22 374302009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37431
37432 Removed wrong semicolon in declaration
37433
37434 * grub/misc.h (grub_dprintf): remove semicolon
37435
112972a9 374362009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37437
37438 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
37439 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
37440 is done by grub_cmd_linux() now).
37441 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
37442 restore video to text mode.
37443 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
37444 indicates lack of "vga=" parameter. "vga=0" is mapped to
37445 `GRUB_LINUX_VID_MODE_NORMAL'.
37446
afd5c115 374472009-05-04 Felix Zielcke <fzielcke@z-51.de>
37448
37449 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
37450 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
37451 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 37452 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 37453 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
37454 `grub_script.tab.c'.
37455
37456 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37457 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37459 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37460 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37461
faa517ce 37462 * Makefile.in: Remove duplicated 2008 in Copyright line.
37463
ae0c0bdc 374642009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37465
473d1e45 37466 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 37467 unconditionally.
37468 * include/grub/util/misc.h (grub_util_warn): New declaration.
37469
37470 * util/i386/pc/grub-install.in: Understand --force and pass it down
37471 to grub-setup.
37472
37473 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
37474 down to setup().
37475 (setup): Improve error messages and add warnings when requested to
37476 install in odd layouts. Refuse to install using blocklists unless
37477 --force was set.
37478
18f547ad 374792009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 37480
37481 * disk/raid.c (grub_raid_scan_device): Improve debug message.
37482
6d260daa 374832009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37484
37485 Updated copyright year
37486
37487 * fs/hfsplus.c: updated copyright year
18f547ad 37488
69f853f8 374892009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37490
37491 HFS+ UUID
37492
18f547ad 37493 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 37494 in the space previously used by unused3
37495 (grub_hfsplus_uuid): new function
37496 (grub_hfsplus_fs): added uuid field
37497
4c402e73 374982009-05-03 Pavel Roskin <proski@gnu.org>
37499
37500 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
37501 suppress warnings. It's no longer needed.
37502 * disk/host.c: Likewise.
37503 * disk/ata_pthru.c: Likewise.
37504 * disk/loopback.c: Likewise.
37505 * hook/datehook.c: Likewise.
37506 * parttool/pcpart.c: Likewise.
37507 * fs/i386/pc/pxe.c: Likewise.
37508 * fs/ntfscomp.c: Likewise.
37509 * efiemu/main.c: Likewise.
37510 * mmap/mmap.c: Likewise.
37511 * commands/crc.c: Likewise.
37512 * commands/hexdump.c: Likewise.
37513 * commands/hdparm.c: Likewise.
37514 * commands/acpi.c: Likewise.
37515 * commands/echo.c: Likewise.
37516 * commands/minicmd.c: Likewise.
37517 * commands/blocklist.c: Likewise.
37518 * commands/memrw.c: Likewise.
37519 * commands/loadenv.c: Likewise.
37520 * commands/usbtest.c: Likewise.
37521 * commands/lsmmap.c: Likewise.
37522 * commands/boot.c: Likewise.
37523 * commands/parttool.c: Likewise.
37524 * commands/configfile.c: Likewise.
37525 * commands/search.c: Likewise.
37526 * commands/ieee1275/suspend.c: Likewise.
37527 * commands/cat.c: Likewise.
37528 * commands/i386/pc/pxecmd.c: Likewise.
37529 * commands/i386/pc/play.c: Likewise.
37530 * commands/i386/pc/halt.c: Likewise.
37531 * commands/i386/pc/vbeinfo.c: Likewise.
37532 * commands/i386/pc/vbetest.c: Likewise.
37533 * commands/lspci.c: Likewise.
37534 * commands/date.c: Likewise.
37535 * commands/handler.c: Likewise.
37536 * commands/ls.c: Likewise.
37537 * commands/test.c: Likewise.
37538 * commands/cmp.c: Likewise.
37539 * commands/efi/loadbios.c: Likewise.
37540 * commands/efi/fixvideo.c: Likewise.
37541 * commands/halt.c: Likewise.
37542 * commands/help.c: Likewise.
37543 * commands/reboot.c: Likewise.
37544 * hello/hello.c: Likewise.
37545 * script/sh/main.c: Likewise.
37546 * loader/xnu.c: Likewise.
37547 * term/terminfo.c: Likewise.
37548 * term/i386/pc/serial.c: Likewise.
37549 * term/usb_keyboard.c: Likewise.
37550
515b5079 375512009-05-03 David S. Miller <davem@davemloft.net>
37552
37553 * normal/menu.c: Include grub/parser.h
37554
dfc31a22 375552009-05-03 Pavel Roskin <proski@gnu.org>
37556
2fee74f1 37557 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
37558 not char*.
37559 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
37560 Suggested by Javier Martín <lordhabbit@gmail.com>
37561
dfc31a22 37562 * util/i386/pc/grub-mkrescue.in: Allow for the case when
37563 efiemu??.o doesn't exist.
37564 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
37565 copying.
37566
18f547ad 375672009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 37568
37569 FreeBSD 64-bit support
37570
18f547ad 37571 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 37572 and loader/i386/bsd_trampoline.S
37573 (bsd_mod_ASFLAGS): new variable
37574 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
37575 (FREEBSD_MODTYPE_KERNEL64): likewise
37576 (grub_bsd64_trampoline_start): likewise
37577 (grub_bsd64_trampoline_end): likewise
37578 (grub_bsd64_trampoline_selfjump): likewise
37579 (grub_bsd64_trampoline_gdt): likewise
37580 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
37581 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
37582 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
37583 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 37584 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 37585 of "attrib" member
37586 * loader/i386/bsd_pagetable.c: new file
37587 * loader/i386/bsd_trampoline.S: likewise
37588 * loader/i386/bsd.c (ALIGN_QWORD): new macro
37589 (ALIGN_VAR): likewise
37590 (entry_hi): new variable
37591 (kern_end_mdofs): likewise
37592 (is_64bit): likewise
37593 (grub_freebsd_add_meta): use ALIGN_VAR
37594 (grub_e820_mmap): new declaration
37595 (grub_freebsd_add_mmap): new function
37596 (grub_freebsd_add_meta_module): support 64 bit kernels
37597 (grub_freebsd_list_modules): use ALIGN_VAR
37598 (gdt_descriptor): new declaration
37599 (grub_freebsd_boot): support 64 bit kernels
37600 (grub_bsd_elf64_hook): new function
37601 (grub_bsd_load_elf): support elf64
37602
038c5720 376032009-05-03 Bean <bean123ch@gmail.com>
37604
37605 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37606 after we get the result of if statement.
37607
fc45fb58 376082009-05-03 Bean <bean123ch@gmail.com>
37609
37610 * Makefile.in (enable_efiemu): New variable.
37611
37612 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37613 set.
37614 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37615 path.
37616 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37617 path, add -mno-red-zone option.
37618 (efiemu64_s.o): Likewise.
37619 (efiemu64.o): Use macro $^ for source file.
37620
37621 * configure.ac (--enable-efiemu): New option.
37622
bbee0f2b 376232009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37624
37625 xnu support
37626
37627 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37628 (pkglib_MODULES): add xnu.mod
37629 (xnu_mod_SOURCES): new variable
37630 (xnu_mod_CFLAGS): likewise
37631 (xnu_mod_LDFLAGS): likewise
37632 (xnu_mod_ASFLAGS): likewise
37633 * conf/i386-pc.rmk: likewise
37634 * conf/x86_64-efi.rmk: likewise
7dd4a573 37635 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 37636 new declaration
37637 * include/grub/i386/macho.h: new file
37638 * include/grub/i386/xnu.h: likewise
37639 * include/grub/macho.h: likewise
37640 * include/grub/machoload.h: likewise
37641 * include/grub/x86_64/macho.h: likewise
37642 * include/grub/x86_64/xnu.h: likewise
37643 * include/grub/xnu.h: likewise
37644 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37645 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37646 * loader/i386/efi/xnu.c: new file
37647 * loader/i386/pc/xnu.c: likewise
37648 * loader/i386/xnu.c: likewise
37649 * loader/i386/xnu_helper.S: likewise
37650 * loader/macho.c: likewise
37651 * loader/xnu.c: likewise
37652 * loader/xnu_resume.c: likewise
37653 * util/grub-dumpdevtree: likewise
37654 * include/grub/i386/pit.h: include grub/err.h
37655 (grub_pit_wait): export
37656 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 37657
5caf964d 376582009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37659
37660 Efiemu
7dd4a573 37661
5caf964d 37662 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 37663 _linux_efi, linux_efi.
37664 new files in grub-emu
5caf964d 37665 new targets efiemu32.o and efiemu64.o
37666 * loader/linux_normal_efiemu.c: likewise
37667 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 37668 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 37669 files to copy
37670 * include/grub/autoefi.h: new file
7dd4a573 37671 * include/grub/i386/efiemu.h: likewise
5caf964d 37672 * include/grub/i386/pc/efiemu.h: likewise
37673 * include/grub/efi/api.h: add LL suffix when necessary
37674 new definitions relating to tables
37675 * include/grub/efiemu/efiemu.h: new file
37676 * include/grub/efiemu/runtime.h: likewise
37677 * efiemu/prepare.c: likewise
37678 * efiemu/loadcore_common.c: likewise
37679 * efiemu/loadcore64.c: likewise
37680 * efiemu/runtime/efiemu.sh: likewise
37681 * efiemu/runtime/efiemu.S: likewise
37682 * efiemu/runtime/efiemu.c: likewise
37683 * efiemu/runtime/config.h: likewise
37684 * efiemu/prepare32.c: likewise
37685 * efiemu/main.c: likewise
37686 * efiemu/modules/pnvram.c: likewise
37687 * efiemu/modules/i386: likewise
37688 * efiemu/modules/i386/pc: likewise
37689 * efiemu/modules/acpi.c: likewise
37690 * efiemu/i386/pc/cfgtables.c: likewise
37691 * efiemu/i386/loadcore64.c: likewise
37692 * efiemu/i386/loadcore32.c: likewise
37693 * efiemu/prepare64.c: likewise
37694 * efiemu/loadcore.c: likewise
37695 * efiemu/symbols.c: likewise
37696 * efiemu/mm.c: likewise
37697 * efiemu/loadcore32.c: likewise
7dd4a573 37698
376992009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 37700
37701 ACPI spoofing
37702
37703 * commands/acpi.c: new file
37704 * commands/i386/pc/acpi.c: likewise
37705 * commands/efi/acpi.c: likewise
37706 * include/grub/acpi.h: likewise
37707 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37708 (acpi_mod_SOURCES): new variable
37709 (acpi_mod_CFLAGS): likewise
37710 (acpi_mod_LDFLAGS): likewise
37711 * conf/i386-efi.rmk: likewise
37712 * conf/x86_64-efi.rmk: likewise
37713
7dd4a573 377142009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 37715
37716 Missing part from mmap patch
37717
37718 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37719 (grub_mmap_unregister)
37720 (grub_mmap_free_and_unregister): use grub_mmap_register
37721
7dd4a573 377222009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 37723
37724 Mmap services
37725
37726 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
37727 * loader/i386/linux.c (find_mmap_size): likewise
37728 (allocate_pages): likewise
37729 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
37730 (grub_fill_multiboot_mmap): likewise
37731 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
37732 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
37733 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37734 (OPENBSD_MMAP_RESERVED): likewise
37735 * include/grub/i386/pc/memory.h: include grub/memory.h
37736 (grub_lower_mem): removed
37737 (grub_upper_mem): likewise
37738 (GRUB_MACHINE_MEMORY_ACPI): new definition
37739 (GRUB_MACHINE_MEMORY_NVS): likewise
37740 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37741 (GRUB_MACHINE_MEMORY_HOLE): likewise
37742 (grub_machine_mmap_register): likewise
37743 (grub_machine_mmap_unregister): likewise
37744 (grub_machine_get_upper): likewise
37745 (grub_machine_get_lower): likewise
37746 (grub_machine_get_post64): likewise
37747 * include/grub/i386/efi/memory.h: new file
37748 * include/grub/x86_64/efi/memory.h: likewise
37749 * include/grub/efi/memory.h: likewise
37750 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
37751 (mmap_mod_SOURCES): new variable
37752 (mmap_mod_LDFLAGS): likewise
37753 (mmap_mod_ASFLAGS): likewise
37754 * conf/i386-coreboot.rmk: likewise
37755 * conf/i386-ieee1275.rmk: likewise
37756 * conf/i386-efi.rmk: likewise
37757 * conf/x86_64-efi.rmk: likewise
37758 * include/grub/types.h (UINT_TO_PTR): new macro
37759 (PTR_TO_UINT32): likewise
37760 (PTR_TO_UINT64): likewise
37761 * include/grub/memory.h: new file
37762 * mmap/i386/pc/mmap.c: likewise
37763 * mmap/i386/pc/mmap_helper.S: likewise
37764 * mmap/i386/uppermem.c: likewise
37765 * mmap/mmap.c: likewise
37766 * mmap/efi/mmap.c: likewise
7dd4a573 37767 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 37768 grub_upper_mem
37769 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37770 (grub_upper_mem): likewise
37771 (grub_machine_init): don't use grub_upper_mem,
37772 make grub_lower_mem local
37773 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37774 grub_mmap_iterate and grub_mmap_get_upper
37775 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37776
d558e6b5 377772009-05-02 Bean <bean123ch@gmail.com>
37778
37779 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37780 script/sh/parser.y.
37781 (pkglib_MODULES): Add normal.mod and sh.mod.
37782 (normal_SOURCES): New variable.
37783 (normal_mod_CFLAGS): Likewise.
37784 (normal_mod_LDFLAGS): Likewise.
37785 (sh_mod_SOURCES): Likewise.
37786 (sh_mod_CFLAGS): Likewise.
37787 (sh_mod_LDFLAGS): Likewise.
37788
37789 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37790 script/sh/lexer.c_DEPENDENCIES.
37791 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37792 kern/rescue_reader.c and kern/rescue_parser.c.
37793 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37794 (grub_emu_SOURCES): Change source files.
37795 (pkglib_MODULES): Remove normal.mod.
37796 (normal_SOURCES): Removed.
37797 (normal_mod_CFLAGS): Likewise.
37798 (normal_mod_LDFLAGS): Likewise.
37799 * conf/i386-coreboot.rmk: Likewise.
37800 * conf/i386-efi.rmk: Likewise.
37801 * conf/i386-ieee1276.rmk: Likewise.
37802 * conf/powerpc-ieee1275.rmk: Likewise.
37803 * conf/sparc64-ieee1275.rmk: Likewise.
37804 * conf/x86_64-efi.rmk: Likewise.
37805
37806 * include/grub/command.h (grub_command_execute): New inline function.
37807
37808 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37809
37810 * include/grub/normal.h: Remove <grub/setjmp.h>.
37811 (grub_fs_module_list): Moved to normal/autofs.c.
37812 (grub_exit_env): Removed.
37813 (grub_command_execute): Likewise.
37814 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37815 parameter script.
37816 (read_command_list): New function declaration.
37817 (read_fs_list): Likewise.
37818
37819 * include/parser.h: Include <grub/reader.h>.
37820 (grub_parser_split_cmdline): Change type of getline parameter.
37821 (grub_parser): New structure.
37822 (grub_parser_class): New variable.
37823 (grub_parser_execute): New function declaration.
37824 (grub_register_rescue_parser): Likewise.
37825 (grub_parser_register): New inline function.
37826 (grub_parser_unregister): Likewise.
37827 (grub_parser_get_current): Likewise.
37828 (grub_parser_set_current): Likewise.
37829
37830 * include/grub/reader.h: New file.
37831 * kern/reader.c: Likewise.
37832 * kern/rescue_parser.c: Likewise.
37833 * kern/rescue_reader.c: Likewise.
37834 * normal/autofs.c: Likewise.
37835 * normal/dyncmd.c: Likewise.
37836
37837 * include/grub/rescue.h: Removed.
37838 * normal/command.h: Likewise.
37839
37840 * include/grub/script.h: Moved to ...
37841 * include/grub/script_sh.h: ... Moved here.
37842 * normal/execute.c: Moved to ...
37843 * script/sh/execute.c: ... Moved here.
37844 * normal/function.c: Moved to ...
37845 * script/sh/function.c: ... Moved here.
37846 * normal/lexer.c: Moved to ...
37847 * script/sh/lexer.c: ... Moved here.
37848 * normal/parser.y: Moved to ...
37849 * script/sh/parser.y: ... Moved here.
37850 * normal/script.c: Moved to ...
37851 * script/sh/script.c: ... Moved here.
37852
37853 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37854 <grub/reader.h>.
37855 (grub_exit_env): Removed.
37856 (fs_module_list): Moved to normal/autofs.c.
37857 (grub_file_getline): Don't handle comment here.
37858 (free_menu): Skip removed field entry->commands.
37859 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37860 script parameter.
37861 (read_config_file): Removed nested parameter, change getline function.
37862 (grub_enter_normal_mode): Removed.
37863 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37864 (read_command_list): Likewise.
37865 (autoload_fs_module): Moved to normal/autofs.c.
37866 (read_fs_list): Likewise.
37867 (reader_nested): New variable.
37868 (grub_normal_execute): Run parser.sh to switch to sh parser.
37869 (grub_cmd_rescue): Removed.
37870 (cmd_normal): Removed.
37871 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37872 rescue command.
37873 (grub_cmdline_run): New function.
37874 (grub_normal_reader_init): Likewise.
37875 (grub_normal_read_line): Likewise.
37876 (grub_env_write_pager): Likewise.
37877 (cmdline): New variable.
37878 (grub_normal_reader): Likewise.
37879 (GRUB_MOD_INIT): Register normal reader and set as current, register
37880 pager hook, register normal command with grub_register_command_prio,
37881 so that it won't show up in command.lst.
37882 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37883 grub_fs_autoload_hook.
37884
37885 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37886 (grub_menu_execute_entry): Replace grub_script_execute with
37887 grub_parser_execute, change parameter to grub_command_execute.
37888
37889 * normal/menu_text.c: Remove <grub/script.h>.
37890
37891 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37892 and <grub/parser.h>.
37893 (run): Change editor_getline to use new parser interface. Change
37894 parameter to grub_command_execute.
37895
37896 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37897 <grub/reader.h> and <grub/parser.h>.
37898 (grub_load_normal_mode): Execute normal command.
37899 (grub_main): Call grub_register_core_commands,
37900 grub_register_rescue_parser and grub_register_rescue_reader, use
37901 grub_reader_loop to enter input loop.
37902
7dd4a573 37903 * kern/parser.c (grub_parser_split_cmdline): Change type of
37904 getline parameter.
d558e6b5 37905 (grub_parser_class): New variable.
37906 (grub_parser_execute): New function.
37907
37908 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37909 * loader/multiboot2.c: Likewise.
37910 * loader/sparc64/ieee1275/linux.c: Likewise.
37911
37912 * util/grub-emu.c (read_command_list): New dummy function.
37913
18db813d 379142009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37915
37916 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37917 count to 16 for CCISS and IDA.
37918
6c67de15 379192009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37920
37921 * normal/menu_text.c (grub_wait_after_message): Print a newline
37922 after waiting for user input.
37923
37924 * loader/i386/linux.c: Include `<grub/normal.h>'.
37925 (grub_cmd_linux): Improve the error message about `ask' mode, by
37926 waiting for user input so it's not missed (we can do this, since
37927 user requested interaction).
37928
d9dc87b0 379292009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37930
37931 Added missing lst to grub-mkrescue
37932
37933 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37934 and ${input_dir}/parttool.lst
37935
ac8a2baa 379362009-04-30 David S. Miller <davem@davemloft.net>
37937
ad22a610 37938 * util/hostdisk.c (device_is_wholedisk): New function.
37939 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37940 zero only if device_is_wholedisk() returns true.
37941
6966215d 37942 * util/hostdisk.c (convert_system_partition_to_system_disk):
37943 Handle virtual disk devices named /dev/vdiskX as found on sparc
37944 and powerpc.
37945
ac8a2baa 37946 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37947 lettered partition specifier is found, convert to numbered.
37948
979b4fb4 379492009-04-29 David S. Miller <davem@davemloft.net>
37950
e2bf39b2 37951 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37952 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37953
3c64e104 37954 * normal/command.c: Add missing newline at end of file.
37955
979b4fb4 37956 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37957 warnings.
37958 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37959 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37960 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37961 ihandles have a 32-bit type but need to be stored in a "void *".
37962
136d9f82 379632009-04-28 Pavel Roskin <proski@gnu.org>
37964
9459c306 37965 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37966 not disk. Adjust all dependencies.
2e08a26a 37967 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 37968 grub_disk_close().
37969
136d9f82 37970 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37971 parent's partition, don't copy it by reference, as it gets freed
37972 on close.
37973
7dd4a573 379742009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 37975
37976 Preboot hooks support
37977
37978 * commands/boot.c (struct grub_preboot_t): new declaration
37979 (preboots_head): new variable
37980 (preboots_tail): likewise
37981 (grub_loader_register_preboot_hook): new function
37982 (grub_loader_unregister_preboot_hook): likewise
37983 (grub_loader_set): launch preboot hooks
37984 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37985 (grub_loader_register_preboot_hook): new declaration
37986 (grub_loader_unregister_preboot_hook): likewise
37987
5af922b5 379882009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37989
37990 Warning fix
37991
7dd4a573 37992 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37993 calling grub_dprintf
37994
a5562c30 379952009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37996
37997 Bug and warning fixes
37998
7dd4a573 37999 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 38000 declaration
38001 * commands/test.c (test_parse): fixed bug with file tests and corrected
38002 declaration of find_file
38003
4006f85c 380042009-04-26 Pavel Roskin <proski@gnu.org>
38005
38006 * Makefile.in: Don't install empty manual pages if help2man is
38007 missing. Use help2man option for output, not shell redirection.
38008
5c77c3de 380092009-04-26 David S. Miller <davem@davemloft.net>
38010
38011 * util/grub-mkdevicemap.c (make_device_map): Add missing
38012 NESTED_FUNC_ATTR to process_device().
38013
033b10a8 380142009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38015
38016 Test command
38017
38018 * commands/test.c: rewritten to use bash-like test
38019
e4343593 380202009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38021
38022 Parttool autoloading and improvements
38023
7dd4a573 38024 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 38025 (parttool.lst): new target
38026 * genmk.rb: generate parttool-*
38027 (CLEANFILES): add #{parttool}
38028 (PARTTOOLFILES): new variable
38029 * genparttoollist.sh: new file
7dd4a573 38030 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 38031 (grub_pcpart_type): likewise
38032 * commands/parttool.c (helpmsg): new variable
38033 (grub_cmd_parttool): output help if not enough arguments are supplied
38034 autoload modules
38035 (GRUB_MOD_INIT(parttool)): use helpmsg
38036
0d312500 380372009-04-24 David S. Miller <davem@davemloft.net>
38038
7dd4a573 38039 Avoiding opening same device multiple times in device iterator.
0d312500 38040
38041 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 38042 and use it to build a list of partitions in iterate_disk() and
0d312500 38043 iterate_partition().
38044
ac20caff 38045 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
38046 on disk->data.
38047
0dcf7495 38048 * disk/ieee1275/nand.c (grub_nand_iterate): Return
38049 grub_devalias_iterate() result instead of unconditional 0.
38050 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
38051 Also, capture hook return value, either directly or via
38052 grub_children_iterate(), and propagate to caller.
38053 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
38054 grub_children_iterate): Return value is now 'int' instead of
38055 'grub_err_t'.
38056 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
38057 like a proper iterator, stopping when hooks return non-zero.
38058 (grub_devalias_iterate): Likewise.
38059
c8c08833 380602009-04-23 David S. Miller <davem@davemloft.net>
38061
38062 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
38063
f01005a8 380642009-04-22 David S. Miller <davem@davemloft.net>
38065
38066 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
38067 is larger than address_cells, use that value for address_cells too.
38068
4e8269da 38069 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
38070 IEEE1275_MAX_PATH_LEN): Define.
38071 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
38072 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
38073 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
38074 'devtype'. Explicitly NULL terminate devalias expansion.
38075
a1447506 38076 * util/sparc64/ieee1275/misc.c: New file.
38077 * util/sparc64/ieee1275/grub-setup.c: New file.
38078 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
38079 * util/sparc64/ieee1275/grub-mkimage.c: New file.
38080 * util/sparc64/ieee1275/grub-install.in: New file.
38081 * util/ieee1275/ofpath.c: New file.
38082 * util/ieee1275/devicemap.c: New file.
38083 * util/devicemap.c: New file.
38084 * util/deviceiter.c: New file.
38085 * kern/sparc64/ieee1275/init.c: New file.
38086 * include/grub/util/ofpath.h: New file.
38087 * include/grub/util/deviceiter.h: New file.
38088 * util/grub-mkdevicemap.c: Include deviceiter.h.
38089 Implement using grub_util_emit_devicemap_entry and
38090 grub_util_iterate_devices.
38091 * conf/i386-corebook.rmk: Build util/deviceiter.c and
38092 util/devicemap.c into grub-mkdevicemap
38093 * conf/i386-efi.rmk: Likewise.
38094 * conf/i386-ieee1275.rmk: Likewise.
38095 * conf/i386-pc.rmk: Likewise.
38096 * conf/powerpc-ieee1275.rmk: Likewise.
38097 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
38098 images and installation utilities. Build kernel as image
38099 instead of as elf binary. Use common rules as much as possible.
38100
7dd4a573 381012009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 38102
38103 Correct GPT definition
38104
7dd4a573 38105 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 38106 of "attrib" member
38107
c6c5219f 381082009-04-19 Felix Zielcke <fzielcke@z-51.de>
38109
38110 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
38111
0552ff9f 381122009-04-19 David S. Miller <davem@davemloft.net>
38113
38114 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
38115 (grub_rescue_cmd_linux): Rename to...
38116 (grub_cmd_linux): and fix prototype.
38117 (grub_rescue_cmd_initrd): Rename to...
38118 (grub_cmd_initrd): and fix prototype.
38119 (cmd_linux, cmd_initrd): New.
38120 (GRUB_MOD_INIT(linux)): Use grub_register_command().
38121 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
38122
d1a282fc 381232009-04-17 Pavel Roskin <proski@gnu.org>
38124
07c5039f 38125 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
38126 format.
38127 (grub_ohci_transfer): Likewise.
38128
b012002d 38129 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
38130
1bc09c35 38131 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
38132 return without a value. Fix inconsistent indentation.
38133
e0ff9126 38134 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
38135 match struct grub_fs.
38136
d1a282fc 38137 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
38138 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
38139 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38140 * commands/lspci.c (grub_lspci_iter): Likewise.
38141
a96df3f2 381422009-04-16 Bean <bean123ch@gmail.com>
38143
38144 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
38145 value.
38146
41bb0fe9 381472009-04-15 Pavel Roskin <proski@gnu.org>
38148
38149 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
38150 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
38151 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
38152 definitions.
38153
596c6970 381542009-04-15 Felix Zielcke <fzielcke@z-51.de>
38155
38156 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 38157 that no multiple data or metadata areas are supported and `Unknown
596c6970 38158 metadata header'.
38159
7dd4a573 381602009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 38161
38162 Move loader out of the kernel
38163
38164 * kern/loader.c: moved to ...
38165 * commands/boot.c: ... moved here
38166 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
38167 * commands/boot.c (grub_cmd_boot): moved here. All users updated
38168 * include/grub/kernel.h (grub_machine_fini): export
38169 * include/grub/loader.h (grub_loader_is_loaded): update declaration
38170 (grub_loader_set): likewise
38171 (grub_loader_unset): likewise
38172 (grub_loader_boot): likewise
38173 * conf/common.rmk: new module boot.mod
38174 (pkglib_MODULES): add boot.mod
38175 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
38176 (grub_emu_SOURCES): likewise
38177 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
38178 (grub_emu_SOURCES): likewise
38179 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
38180 (grub_emu_SOURCES): likewise
38181 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
38182 (grub_emu_SOURCES): likewise
38183 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
38184 (grub_emu_SOURCES): likewise
7dd4a573 38185 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
38186 (grub_emu_SOURCES): likewise
0d5d5653 38187 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 38188 (grub_emu_SOURCES): likewise
0d5d5653 38189
7dd4a573 381902009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 38191
38192 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 38193
5999d619 38194 * kern/misc.c (grub_itoa): Removed function
38195 (grub_ltoa): likewise
38196 (grub_vsprintf): use grub_lltoa
38197
7dd4a573 381982009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 38199
38200 Restore grub-emu
38201
38202 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
38203 * conf/i386-coreboot.rmk: likewise
38204 * conf/i386-ieee1275.rmk: likewise
38205 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38206
20318222 382072009-04-15 Felix Zielcke <fzielcke@z-51.de>
38208
38209 * INSTALL: Add that `./autogen.sh' needs to be run before
38210 `./configure.'.
38211
d05f0df3 382122009-04-14 Bean <bean123ch@gmail.com>
38213
38214 * Makefile.in (pkglib_DATA): Add handler.lst.
38215 (handler.lst): New rule.
38216
38217 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
38218 * conf/i386-coreboot.rmk: Likewise.
38219 * conf/i386-ieee1275.rmk: Likewise.
38220 * conf/i386-efi.rmk: Likewise.
38221 * conf/x86_64-efi.rmk: Likewise.
38222 * conf/powerpc-ieee1275.rmk: Likewise.
38223 * conf/sparc64-ieee1275.rmk: Likewise.
38224
38225 * genhandlerlist.sh: New file.
38226
38227 * genmk.rb: Add rules to generate handler.lst.
38228
38229 * include/grub/normal.h (grub_file_getline): New function definition.
38230 (read_handler_list): Likewise.
38231 (free_handler_list): Likewise.
38232
38233 * include/grub/term.h (grub_term_register_input): Add name parameter
38234 for auto generation of handler.lst.
38235 (grub_term_register_output): Likewise.
38236
38237 * normal/handler.c: New file.
38238
38239 * normal/main.c (get_line): Renamed to grub_file_getline.
38240 (read_config_file): Use the newly renamed grub_file_getline.
38241 (read_command_list): Likewise.
38242 (read_fs_list): Likewise.
38243 (grub_normal_execute): Call read_handler_list to parse handler.lst.
38244 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
38245
38246 * term/efi/console.c (grub_console_init): Add name parameter for auto
38247 generation of handler.lst.
38248 * term/gfxterm.c: Likewise.
38249 * term/i386/pc/at_keyboard.c: Likewise.
38250 * term/i386/pc/console.c: Likewise.
38251 * term/i386/pc/serial.c: Likewise.
38252 * term/i386/pc/vesafb.c: Likewise.
38253 * term/i386/pc/vga.c: Likewise.
38254 * term/i386/pc/vga_text.c: Likewise.
38255 * term/ieee1275/ofconsole.c: Likewise.
38256 * term/usb_keyboard.c: Likewise.
38257
33c846be 382582009-04-14 Bean <bean123ch@gmail.com>
38259
38260 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
38261 properly with null character.
38262
4484e01e 382632009-04-14 Felix Zielcke <fzielcke@z-51.de>
38264
38265 * configure: Remove.
38266 * config.h.in: Likewise.
f93d668e 38267 * stamp-h.in: Likewise.
4484e01e 38268 * DISTLIST: Likewise.
38269 * conf/common.mk: Likewise.
38270 * conf/i386-coreboot.mk: Likewise.
38271 * conf/i386-efi.mk: Likewise.
38272 * conf/i386-ieee1275.mk: Likewise.
38273 * conf/i386.mk: Likewise.
38274 * conf/i386-pc.mk: Likewise.
38275 * conf/powerpc-ieee1275.mk: Likewise.
38276 * conf/sparc64-ieee1275.mk: Likewise.
38277 * conf/x86_64-efi.mk: Likewise.
38278
38279 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
38280 develop on GRUB.
38281
7dd4a573 382822009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 38283 David S. Miller <davem@davemloft.net>
38284
38285 * util/hostdisk.c (make_device_name): Fix buffer length
38286 calculations.
38287
e25b5a8c 382882009-04-14 Felix Zielcke <fzielcke@z-51.de>
38289
38290 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
38291 <sys/param.h> and <sys/sysctl.h>.
38292 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
38293 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
38294 opening the device and reset them afterwards.
38295
1f1f580c 382962009-04-13 Pavel Roskin <proski@gnu.org>
38297
38298 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
38299 Reported by John Stanley <jpsinthemix@verizon.net>
38300
7ebc2d6b 383012009-04-13 Robert Millan <rmh@aybabtu.com>
38302
38303 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 38304 that name for menuentries when appropriate.
7ebc2d6b 38305
d8ba3667 383062009-04-13 Felix Zielcke <fzielcke@z-51.de>
38307
38308 * util/grub.d/10_freebsd.in: Add a missing `fi'.
38309
cba416eb 383102009-04-13 Robert Millan <rmh@aybabtu.com>
38311
38312 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
38313 to Linux, simply abort telling the user it's no longer supported.
38314
a547a745 383152009-04-13 Felix Zielcke <fzielcke@z-51.de>
38316
38317 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 38318 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 38319 `freebsd_loadenv' only when devices.hints exist.
38320
232a769c 383212009-04-13 Pavel Roskin <proski@gnu.org>
38322
38323 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
38324
c3012039 383252009-04-13 Felix Zielcke <fzielcke@z-51.de>
38326
38327 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
38328 partition number.
38329 (grub_drive): Likewise.
38330
234022fe 383312009-04-13 David S. Miller <davem@davemloft.net>
38332
38333 * kern/sparc64/ieee1275/ieee1275.c: New file.
38334 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
38335 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
38336 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
38337 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
38338 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
38339 grub_ieee1275_alloc_physmem): Declare new exported functions.
38340
d8e1836c 38341 * include/grub/sparc64/ieee1275/loader.h: New file.
38342 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38343 * include/grub/sparc64/kernel.h: Likewise.
38344 * loader/sparc64/ieee1275/linux.c: Likewise.
38345
96bd81ec 38346 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
38347 (grub_fstest_SOURCES): Likewise.
38348
6a4737e5 38349 * util/hostdisk.c (make_device_name): Do not make any assumptions
38350 about the length of drive names.
38351
1d7a72fd 38352 * kern/dl.c (grub_dl_load_file): Close file immediately when
38353 we are done using it.
38354
56bc2471 383552009-04-12 David S. Miller <davem@davemloft.net>
38356
38357 * kern/misc.c (grub_ltoa): Fix cast when handling negative
38358 values. Noticed by Pavel Roskin.
38359
df38d0bb 38360 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
38361 target compiler.
7dd4a573 38362
e382e93a 38363 * genmk.rb: Add more flexible image type specification, also
38364 pass --strip-unneeded to objcopy.
38365 * conf/i386-pc.rmk: Use *_FORMAT.
38366 * conf/i386-pc.mk: Rebuilt.
38367
f5dbbca9 38368 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
38369 (OFDISK_HASH_SZ): Define.
38370 (ofdisk_hash): New hash table.
38371 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
38372 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
38373 instead of device phandle which is not unique.
38374
91c88b12 38375 * kern/sparc64/ieee1275/init.c: Delete, replace with...
38376 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
38377 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
38378 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
38379 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
38380 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
38381 GRUB_KERNEL_MACHINE_DATA_END): Define.
38382 (grub_kernel_image_size, grub_total_module_size): Declare.
38383
5b5d4aa5 383842009-04-12 Pavel Roskin <proski@gnu.org>
38385
7dd4a573 38386 * configure.ac: Change the logic when we check for target tools.
38387 Do it when the target is specified and it's different from the
38388 specified value of the host.
5b5d4aa5 38389
c91e1793 383902009-04-11 Felix Zielcke <fzielcke@z-51.de>
38391
38392 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
38393 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
38394 GNU/kFreeBSD. Check if a device is a character device. Use
38395 DIOCGMEDIASIZE to get the size.
38396 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
38397 support for GNU/kFreeBSD.
38398 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
38399 is a character device instead of a block device. Add support for
38400 FreeBSD device names.
38401
38402 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
38403 is a character device instead of a block device.
38404
38405 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
38406 is a character device instead of a block device.
38407
b1ac8644 384082009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
38409
38410 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
38411 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
38412 FreeBSD. Check if a device is a character device. Use
38413 DIOCGMEDIASIZE to get the size.
38414 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
38415 support for FreeBSD.
38416 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
38417 is a character device instead of a block device. Add support for
38418 FreeBSD device names.
38419
38420 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
38421 a character device instead of a block device.
38422 (grub_util_check_char_device): New function.
38423
38424 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
38425 a character device instead of a block device.
38426
38427 * include/grub/util/getroot.h (grub_util_check_char_device): New
38428 prototype.
38429
a3f7515a 384302009-04-11 David S. Miller <davem@davemloft.net>
38431
38432 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
38433 static libgcc.
38434 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
38435 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
38436 function, if present.
38437 (__bswapdi2): Likewise.
38438
0d44993d 38439 * include/grub/sparc64/ieee1275/boot.h: New file.
38440 * boot/sparc64/ieee1275/boot.S: Likewise.
38441 * boot/sparc64/ieee1275/diskboot.S: Likewise.
38442
ed3d2bc2 38443 * kern/misc.c (grub_ltoa): New function.
38444 (grub_vsprintf): Use it to format 'long' integers.
38445
d3bfb59c 384462009-04-10 David S. Miller <davem@davemloft.net>
38447
38448 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
38449 slots are of type grub_ieee1275_cell_t.
38450 (grub_nand_read): Likewise.
38451 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
38452 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
38453 macros are used to compare values in arg/ret block of the call.
38454 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38455 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
38456 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
38457 grub_ieee1275_instance_to_path, grub_ieee1275_write,
38458 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
38459 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
38460 grub_ieee1275_close, grub_ieee1275_set_property,
38461 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
38462 grub_ieee1275_cell_t.
38463 * kern/ieee1275/openfw.c (grub_map): Likewise.
38464 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
38465 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
38466
450e2238 38467 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
38468 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
38469 (grub_devalias_iterate): Likewise.
38470
7dd4a573 384712009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 38472
38473 UFS improvements
38474
38475 * fs/ufs.c (INODE_NBLOCKS): new definition
38476 (struct grub_ufs_dirent): added fields for non-BSD dirents
38477 (grub_ufs_get_file_block): fixed double indirect handling
38478 (grub_ufs_lookup_symlink): use more robust way to determine whether
38479 symlink is inline
38480 (grub_ufs_find_file): support for non-BSD dirents
38481 (grub_ufs_dir): support for non-BSD dirents
38482
e7e6862a 384832009-04-10 Bean <bean123ch@gnail.com>
38484
38485 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
38486 attribute, otherwise the size would be wrong for i386 platform.
38487
38488 * include/grub/pci.h (grub_pci_read_word): New inline function.
38489 (grub_pci_read_byte): Likewise.
38490 (grub_pci_write): Likewise.
38491 (grub_pci_write_word): Likewise.
38492 (grub_pci_write_byte): Likewise.
38493
38494 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
38495
38496 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
38497 (find_framebuf): Scan pci to locate the frame buffer address.
38498
38499 * commands/efi/fixvideo.c: New file.
38500
38501 * commands/efi/loadbios.c: Likewise.
38502
38503 * commands/memrw.c: Likewise.
38504
38505 * util/grub-dumpbios.in: Likewise.
38506
38507 * conf/common.rmk (grub-dumpbios): New utility.
38508 (pkglib_MODULES): New module memrw.mod.
38509 (memrw_mod_SOURCE): New macro.
38510 (memrw_mod_CFLAGS): Likewise.
38511 (memrw_mod_LDFLAGS): Likewise.
38512
7dd4a573 38513 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38514 fixvideo.mod.
38515 (loadbios_mod_SOURCE): New macro.
38516 (loadbios_mod_CFLAGS): Likewise.
38517 (loadbios_mod_LDFLAGS): Likewise.
38518 (fixvideo_mod_SOURCE): Likewise.
38519 (fixvideo_mod_CFLAGS): Likewise.
38520 (fixvideo_mod_LDFLAGS): Likewise.
38521
7dd4a573 38522 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38523 fixvideo.mod.
38524 (loadbios_mod_SOURCE): New macro.
38525 (loadbios_mod_CFLAGS): Likewise.
38526 (loadbios_mod_LDFLAGS): Likewise.
38527 (fixvideo_mod_SOURCE): Likewise.
38528 (fixvideo_mod_CFLAGS): Likewise.
38529 (fixvideo_mod_LDFLAGS): Likewise.
38530
af63ada2 385312009-04-08 Felix Zielcke <fzielcke@z-51.de>
38532
38533 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
38534
c2cdde70 385352009-04-07 David S. Miller <davem@davemloft.net>
38536
38537 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
38538 support for R_SPARC_OLO10 relocations. Fix compile warning for
38539 R_SPARC_WDISP30 case.
ea3f72cf 38540 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 38541
761319cf 385422009-04-06 Pavel Roskin <proski@gnu.org>
38543
1007d1f5 38544 * include/grub/misc.h (ARRAY_SIZE): New macro.
38545 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
38546 New macro.
38547 * loader/i386/linux.c (allocate_pages): Use free_pages().
38548 (grub_linux_unload): Don't use free_pages().
38549 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
38550 wrong index. Treat all other modes as text modes.
38551 (grub_cmd_linux): Initialize vid_mode unconditionally to
38552 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
38553
761319cf 38554 * commands/help.c (print_command_help): Use cmd->prio, not
38555 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
38556
ea761d40 385572009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 38558
ea761d40 38559 Parttool
38560
38561 * parttool/pcpart.c: new file
38562 * commands/parttool.c: likewise
38563 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
38564 (parttool_mod_SOURCES): new variable
38565 (parttool_mod_CFLAGS): likewise
38566 (parttool_mod_LDFLAGS): likewise
38567 (pcpart_mod_SOURCES): likewise
38568 (pcpart_mod_CFLAGS): likewise
38569 (pcpart_mod_LDFLAGS): likewise
7dd4a573 38570 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 38571 and parttool/pcpart.c
38572 * conf/i386-efi.rmk: likewise
38573 * conf/i386-ieee1275.rmk: likewise
38574 * conf/i386-pc.rmk: likewise
38575 * conf/powerpc-ieee1275.rmk: likewise
38576 * conf/sparc64-ieee1275.rmk: likewise
38577 * conf/x86_64-ieee1275.rmk: likewise
38578
05aaebfb 385792009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38580
38581 Support for mtime and further expandability of dir command
38582
38583 * include/grub/lib/datetime.h: moved to ...
7dd4a573 38584 * include/grub/datetime.h: ... moved here and added
05aaebfb 38585 declaration of grub_unixtime2datetime. All users updated
7dd4a573 38586 * include/grub/fs.h: new syntax for dir and mtime functions in
38587 struct grub_fs
05aaebfb 38588 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
38589 and GRUB_FSHELP_FLAGS_MASK
38590 * commands/ls.c (grub_ls_list_files): Write mtime in long format
38591 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
38592 (grub_ext2_mtime): new function
38593 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38594 (grub_hfsplus_mtime): new function
38595 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38596 (GRUB_UFS_ATTR_FILE): likewise
38597 (GRUB_UFS_ATTR_LNK): likewise
38598 (struct grub_ufs_sblock): new fields mtime
38599 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38600 all users updated
38601 (grub_ufs_dir): mtime support
38602 (grub_ufs_mtime): new function
38603 * fs/affs.c (grub_affs_dir): use new dir syntax
38604 * fs/afs.c (grub_afs_dir): likewise
38605 * fs/cpio.c (grub_cpio_dir): likewise
38606 * fs/fat.c (grub_fat_find_dir): likewise
38607 * fs/hfs.c (grub_hfs_dir): likewise
38608 * fs/iso9660.c (grub_iso9660_dir): likewise
38609 * fs/jfs.c (grub_jfs_dir): likewise
38610 * fs/minix.c (grub_minix_dir): likewise
38611 * fs/ntfs.c (grub_ntfs_dir): likewise
38612 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38613 * fs/sfs.c (grub_sfs_dir): likewise
38614 * fs/xfs.c (grub_xfs_dir): likewise
38615 * util/hostfs.c (grub_hostfs_dir): likewise
38616 * lib/datetime.c: moved to ...
38617 * normal/datetime.c: ... moved here
38618 (grub_unixtime2datetime): new function
38619 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 38620 * normal/completion.c (iterate_dir): use new dir syntax
38621 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 38622 last modification time of a volume
7dd4a573 38623 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 38624 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 38625 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 38626 (normal_mod_SOURCES): likewise
38627 (datetime_mod_SOURCES): Removed lib/datetime.c
38628 * conf/i386-efi.rmk: likewise
7dd4a573 38629 * conf/i386-ieee1275.rmk: likewise
05aaebfb 38630 * conf/i386-pc.rmk: likewise
38631 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38632 * conf/sparc64-ieee1275.rmk: likewise
38633 * conf/x86_64-efi.rmk: likewise
05aaebfb 38634
8a7e1a14 386352009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38636
38637 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 38638
38639 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 38640 on grub_fat_find_dir
38641 (grub_fat_find_dir): use grub_fat_iterate_dir
38642 (grub_fat_label): likewise
38643
04186a9c 386442009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38645
7dd4a573 38646 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 38647 and command.h
38648 remove extraneous kernel_elf_HEADERS
38649
da4c0bb6 386502009-04-04 Bean <bean123ch@gnail.com>
38651
38652 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38653
38654 * util/misc.c: Likewise.
38655
54ad9555 386562009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38657
38658 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38659 instead of grub_printf.
38660
7a6bf9f2 386612009-04-03 Robert Millan <rmh@aybabtu.com>
38662
38663 * loader/i386/linux.c (grub_linux_setup_video): Fill
38664 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38665 values from `mode info' structure instead of hardcoded
38666 values.
38667
3fcc2083 386682009-04-01 Pavel Roskin <proski@gnu.org>
38669
38670 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38671 unused now.
38672 * genmk.rb: Likewise.
38673 * configure.ac: Likewise.
38674
5ec9740b 386752009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38676
38677 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38678 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38679
5270cec8 386802009-04-01 David S. Miller <davem@davemloft.net>
38681
38682 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 38683 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 38684 (grub_setjmp): Mark with 'returns_twice' attribute.
38685 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38686 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38687 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38688
9c3dd854 386892009-04-01 Robert Millan <rmh@aybabtu.com>
38690
38691 Reapply fix from 2008-07-28 which was accidentally reverted; also
38692 perform the same fix to a similar check in same function.
38693
38694 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38695 with the same number are found, just use issue a warning with
38696 grub_dprintf(), as this error has been reported to be non-fatal.
38697
0d818b7e 386982009-03-31 Pavel Roskin <proski@gnu.org>
38699
38700 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38701 for cross-compilation.
38702
95646d92 387032009-03-30 Robert Millan <rmh@aybabtu.com>
38704
38705 Fix i386-ieee1275 build.
38706
38707 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38708 Remove declaration.
38709
6a003ed1 387102009-03-30 Pavel Roskin <proski@gnu.org>
38711
38712 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38713 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38714 zero-terminated, rely only on the strlen value. Fix comparison
38715 of strings differing in length.
38716
92f33540 387172009-03-30 Robert Millan <rmh@aybabtu.com>
38718
38719 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38720 checking for abi version. Improve error messages on BIOS to notify
38721 user about `linux16' command.
38722
a8c48fd5 387232009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
38724
f968172e 38725 Leak fixes
a8c48fd5 38726
f968172e 38727 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
38728 in case of collision
38729 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 38730
9c323f09 387312009-03-29 Robert Millan <rmh@aybabtu.com>
38732
38733 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38734 set `vid_mode' accordingly.
38735 (grub_linux_boot): Process `vid_mode' and set video mode.
38736
ae68f423 387372009-03-29 Robert Millan <rmh@aybabtu.com>
38738
38739 * util/grub.d/10_linux.in (linux_entry): New function.
38740 Factorize generation of Linux boot entries.
38741
5709cfc4 387422009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38743
38744 Make the format of Environment Block plain text. The boot loader
38745 part is not tested well yet.
7dd4a573 38746
5709cfc4 38747 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38748 (buffer): Removed.
38749 (envblk): Likewise.
38750 (usage): Remove "info" and "clear". Add "unset". Update the
38751 description of "set", as this does not delete variables any
38752 longer.
38753 (create_envblk_file): Complete rewrite.
38754 (open_envblk_file): Likewise.
38755 (cmd_info): Removed.
38756 (cmd_list): Likewise.
38757 (cmd_set): Likewise.
38758 (cmd_clear): Likewise.
38759 (list_variables): New function.
38760 (write_envblk): Likewise.
38761 (set_variables): Likewise.
38762 (unset_variables): Likewise.
38763 (main): Complete rewrite.
38764
38765 * commands/loadenv.c (buffer): Removed.
38766 (envblk): Likewise.
38767 (open_envblk_file): New function.
38768 (read_envblk_file): Complete rewrite.
38769 (grub_cmd_load_env): Likewise.
38770 (grub_cmd_list_env): Likewise.
38771 (struct blocklist): New struct.
38772 (free_blocklists): New function.
38773 (check_blocklists): Likewise.
38774 (write_blocklists): Likewise.
38775 (grub_cmd_save_env): Complete rewrite.
38776
38777 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38778 a plain text signature.
38779 (GRUB_ENVBLK_MAXLEN): Removed.
38780 (struct grub_envblk): Complete rewrite.
38781 (grub_envblk_find): Removed.
38782 (grub_envblk_insert): Likewise.
38783 (grub_envblk_open): New prototype.
38784 (grub_envblk_set): Likewise.
38785 (grub_envblk_delete): Put const to VALUE.
38786 (grub_envblk_iterate): Put const to NAME and VALUE.
38787 (grub_envblk_close): New prototype.
38788 (grub_envblk_buffer): New inline function.
38789 (grub_envblk_size): Likewise.
38790
38791 * lib/envblk.c: Include grub/mm.h.
38792 (grub_env_find): Removed.
38793 (grub_envblk_open): New function.
38794 (grub_envblk_close): Likewise.
38795 (escaped_value_len): Likewise.
38796 (find_next_line): Likewise.
38797 (grub_envblk_insert): Removed.
38798 (grub_envblk_set): New function.
38799 (grub_envblk_delete): Complete rewrite.
38800 (grub_envblk_iterate): Likewise.
38801
a9368fd3 388022009-03-28 Robert Millan <rmh@aybabtu.com>
38803
38804 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38805 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38806 variables. Use 16-bit loader.
38807 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38808 loader.
38809 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38810 (grub_linux16_boot): ... this. Update all users.
38811 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
38812 (grub_linux_boot): ... this. Update all users.
38813
38814 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38815 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38816 commands to `linux16' and `initrd16'.
38817 (GRUB_MOD_FINI(linux)): Rename to ...
38818 (GRUB_MOD_FINI(linux16)): ... this.
38819
e4dd5a7e 388202009-03-24 Pavel Roskin <proski@gnu.org>
38821
38822 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38823 not just for compilation.
38824
c04d6e05 388252009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38826
38827 Move multiboot helper out of kernel
38828
38829 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38830 `loader/i386/multiboot_helper.S'.
38831 * conf/i386-coreboot.rmk: Likewise
38832 * conf/i386-ieee1275.rmk: Likewise
38833
38834 * kern/i386/loader.S: Move multiboot helpers from here...
38835 * loader/i386/multiboot_helper.S: ...moved here
38836 * include/grub/i386/loader.h: Move declarations of multiboot
38837 helpers from here...
38838 * include/grub/i386/multiboot.h: ...moved here
38839 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38840
42a5b3fc 388412009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38842
38843 * kern/env.c (grub_env_context_open): Added an argument to specify
38844 whether a new context inherits exported variables from current
38845 one. This is useful when making a sandbox to interpret a config
38846 file.
38847 All callers updated.
38848
38849 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38850
b28bbc4e 388512009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38852
38853 * kern/env.c (grub_env_context_close): Fix memory leaks.
38854
f04f02e4 388552009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38856
38857 * normal/main.c (grub_normal_execute): Added an argument
38858 BATCH to specify if an interactive interface should be provided
38859 after reading a config file.
38860 All callers updated.
38861 (read_command_list): Prevent being executed twice.
38862 (read_fs_list): Likewise.
38863
42a5b3fc 38864 * include/grub/normal.h (grub_normal_execute): Updated the
38865 prototype.
f04f02e4 38866
41473ac2 388672009-03-22 Pavel Roskin <proski@gno.org>
38868
fbc00b0c 38869 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38870 _start.
38871 * kern/i386/pc/startup.S: Likewise.
38872 * kern/i386/efi/startup.S: Likewise.
38873 * kern/i386/ieee1275/startup.S: Likewise.
38874 * kern/i386/coreboot/startup.S: Likewise.
38875 * kern/x86_64/efi/startup.S: Likewise.
38876
41473ac2 38877 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38878 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38879 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38880
2274cc8f 388812009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38882
38883 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38884
38885 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38886 limit detection.
38887 Use vaddr of correct segment for entry_point.
38888
b1b797cb 388892009-03-21 Bean <bean123ch@gmail.com>
38890
38891 * commands/blocklist.c: Add include file <grub/command.h>, remove
38892 <grub/normal.h> and <grub/arg.h>.
38893 (grub_cmd_blocklist): Use the new command interface.
38894 (GRUB_MOD_INIT): Likewise.
38895 (GRUB_MOD_FINI): Likewise.
38896 * commands/boot.c: Likewise.
38897 * commands/cat.c: Likewise.
38898 * commands/cmp.c: Likewise.
38899 * commands/configfile.c: Likewise.
38900 * commands/crc.c: Likewise.
38901 * commands/echo.c: Likewise.
38902 * commands/halt.c: Likewise.
38903 * commands/handler.c: Likewise.
38904 * commands/hdparm.c: Likewise.
38905 * commands/help.c: Likewise.
38906 * commands/hexdump.c: Likewise.
38907 * commands/loadenv.c: Likewise.
38908 * commands/ls.c: Likewise.
38909 * commands/lsmmap.c: Likewise.
38910 * commands/lspci.c: Likewise.
38911 * commands/loadenv.c: Likewise.
38912 * commands/read.c: Likewise.
38913 * commands/reboot.c: Likewise.
38914 * commands/search.c: Likewise.
38915 * commands/sleep.c: Likewise.
38916 * commands/test.c: Likewise.
38917 * commands/usbtest.c: Likewise.
38918 * commands/videotest.c: Likewise.
38919 * commands/i386/cpuid.c: Likewise.
38920 * commands/i386/pc/halt.c: Likewise.
38921 * commands/i386/pc/play.c: Likewise.
38922 * commands/i386/pc/pxecmd.c: Likewise.
38923 * commands/i386/pc/vbeinfo.c: Likewise.
38924 * commands/i386/pc/vbetest.c: Likewise.
38925 * commands/ieee1275/suspend.c: Likewise.
38926 * disk/loopback.c: Likewise.
38927 * font/font_cmd.c: Likewise.
38928 * hello/hello.c: Likewise.
38929 * loader/efi/appleloader.c: Likewise.
38930 * loader/efi/chainloader.c: Likewise.
38931 * loader/i386/bsd.c: Likewise.
38932 * loader/i386/efi/linux.c: Likewise.
38933 * loader/i386/ieee1275/linux.c: Likewise.
38934 * loader/i386/linux.c: Likewise.
38935 * loader/i386/pc/chainloader.c: Likewise.
38936 * loader/i386/pc/linux.c: Likewise.
38937 * loader/powerpc/ieee1275/linux.c: Likewise.
38938 * loader/multiboot_loader.c: Likewise.
38939 * term/gfxterm.c: Likewise.
38940 * term/i386/pc/serial.c: Likewise.
38941 * term/terminfo.c: Likewise.
38942
38943 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38944 * term/i386/pc/vga.c: Likewise.
38945 * video/readers/jpeg.c: Likewise.
38946 * video/readers/png.c: Likewise.
38947 * video/readers/tga.c: Likewise.
38948
38949 * util/grub-fstest (cmd_loopback): Removed.
38950 (cmd_blocklist): Likewise.
38951 (cmd_ls): Likewise.
38952 (grub_register_command): Likewise.
38953 (grub_unregister_command): Likewise.
38954 (execute_command): Use grub_command_find to locate command and execute
38955 it.
38956
38957 * include/grub/efi/chainloader.h: Removed.
38958 * loader/efi/chainloader_normal.c: Likewise.
38959 * loader/i386/bsd_normal.c: Likewise.
38960 * loader/i386/pc/chainloader_normal.c: Likewise.
38961 * loader/i386/pc/multiboot_normal.c: Likewise.
38962 * loader/linux_normal.c: Likewise.
38963 * loader/multiboot_loader_normal.c: Likewise.
38964 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38965
38966 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38967 and grub_register_command_p1.
38968
38969 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38970 kern/command.c, lib/arg.c and commands/extcmd.c.
38971 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38972 (minicmd_mod_SOURCES): New variable.
38973 (minicmd_mod_CFLAGS): Likewise.
38974 (minicmd_mod_LDFLAGS): Likewise.
38975 (extcmd_mod_SOURCES): Likewise.
38976 (extcmd_mod_CFLAGS): Likewise.
38977 (extcmd_mod_LDFLAGS): Likewise.
38978 (boot_mod_SOURCES): Removed.
38979 (boot_mod_CFLAGS): Likewise.
38980 (boot_mod_LDFLAGS): Likewise.
38981
38982 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38983 kern/corecmd.c.
38984 (kernel_img_HEADERS): Add command.h.
38985 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38986 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38987 and lib/arg.c.
38988 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38989 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38990 remove the corresponding normal mode command.
38991 (normal_mod_SOURCES): Remove normal/arg.c.
38992 * conf/i386-coreboot.rmk: Likewise.
38993 * conf/i386-efi.rmk: Likewise.
38994 * conf/i386-ieee1275.rmk: Likewise.
38995 * conf/powerpc-ieee1275.rmk: Likewise.
38996 * conf/x86_64-efi.rmk: Likewise.
38997
38998 * include/grub/arg.h: Move from here ...
38999 * include/grub/lib/arg.h: ... to here.
39000
39001 * normal/arg.c: Move from here ...
39002 * lib/arg.c: ... to here.
39003
39004 * commands/extcmd.c: New file.
39005 * commands/minicmd.c: Likewise.
39006 * include/grub/command.h: Likewise.
39007 * include/grub/extcmd.h: Likewise.
39008 * kern/command.c: Likewise.
39009 * kern/corecmd.c: Likewise.
39010
39011 * kern/list.c (grub_list_iterate): Return int instead of void.
39012 (grub_list_insert): New function.
39013 (grub_prio_list_insert): Likewise.
39014
39015 * kern/rescue.c (grub_rescue_command): Removed.
39016 (grub_rescue_command_list): Likewise.
39017 (grub_rescue_register_command): Likewise.
39018 (grub_rescue_unregister_command): Likewise.
39019 (grub_rescue_cmd_boot): Move to minicmd.c
39020 (grub_rescue_cmd_help): Likewise.
39021 (grub_rescue_cmd_info): Likewise.
39022 (grub_rescue_cmd_boot): Likewise.
39023 (grub_rescue_cmd_testload): Likewise.
39024 (grub_rescue_cmd_dump): Likewise.
39025 (grub_rescue_cmd_rmmod): Likewise.
39026 (grub_rescue_cmd_lsmod): Likewise.
39027 (grub_rescue_cmd_exit): Likewise.
39028 (grub_rescue_print_devices): Moved to corecmd.c.
39029 (grub_rescue_print_files): Likewise.
39030 (grub_rescue_cmd_ls): Likewise.
39031 (grub_rescue_cmd_insmod): Likewise.
39032 (grub_rescue_cmd_set): Likewise.
39033 (grub_rescue_cmd_unset): Likewise.
7d074e3c 39034 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 39035 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 39036 commands, remove grub_rescue_register_command calls.
b1b797cb 39037
7d074e3c 39038 * normal/command.c (grub_register_command): Removed.
b1b797cb 39039 (grub_unregister_command): Likewise.
39040 (grub_command_find): Likewise.
39041 (grub_iterate_commands): Likewise.
39042 (rescue_command): Likewise.
39043 (export_command): Moved to corecmd.c.
39044 (set_command): Removed.
39045 (unset_command): Likewise.
39046 (insmod_command): Likewise.
39047 (rmmod_command): Likewise.
39048 (lsmod_command): Likewise.
39049 (grub_command_init): Likewise.
39050
39051 * normal/completion.c (iterate_command): Use cmd->prio to check for
39052 active command.
39053 (complete_arguments): Use grub_extcmd_t structure to find options.
39054 (grub_normal_do_completion): Change function grub_iterate_commands to
39055 grub_command_iterate.
39056
39057 * normal/execute.c (grub_script_execute_cmd): No need to parse
39058 argument here.
39059
39060 * normal/main.c (grub_dyncmd_dispatcher): New function.
39061 (read_command_list): Register unload commands as dyncmd.
39062 (grub_cmd_normal): Use new command interface, register rescue,
39063 unregister normal at entry, register normal, unregister rescue at exit.
39064
39065 * include/grub/list.h (grub_list_test_t): New type.
39066 (grub_list_iterate): Return int instead of void.
39067 (grub_list_insert): New function.
39068 (GRUB_AS_NAMED_LIST_P): New macro.
39069 (GRUB_AS_PRIO_LIST): Likewise.
39070 (GRUB_AS_PRIO_LIST_P): Likewise.
39071 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
39072 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
39073 (grub_prio_list): New structure.
39074 (grub_prio_list_insert): New function.
39075 (grub_prio_list_remove): New inline function.
39076
39077 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
39078 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
39079 (GRUB_COMMAND_FLAG_MENU): Likewise.
39080 (GRUB_COMMAND_FLAG_BOTH): Likewise.
39081 (GRUB_COMMAND_FLAG_TITLE): Likewise.
39082 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
39083 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
39084 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
39085 (grub_command): Likewise.
39086 (grub_register_command): Likewise.
39087 (grub_command_find): Likewise.
39088 (grub_iterate_commands): Likewise.
39089 (grub_command_init): Likewise.
39090 (grub_arg_parse): Likewise.
39091 (grub_arg_show_help): Likewise.
39092
39093 * include/grub/rescue.h (grub_rescue_register_command): Removed.
39094 (grub_rescue_unregister_command): Likewise.
39095
39096 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
39097 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
39098 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
39099
39100 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
39101 grub_rescue_cmd_initrd.
39102 * include/grub/i386/loader.h: Likewise.
39103 * include/grub/x86_64/loader.h: Likewise.
39104
39105 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
39106
1f4147aa 391072009-03-21 Bean <bean123ch@gmail.com>
39108
39109 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
39110 instead of stat in mingw environment.
39111
39112 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
39113
39114 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
39115
39116 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
39117 AC_CONFIG_LINKS.
39118
2156d5ba 391192009-03-21 Bean <bean123ch@gmail.com>
39120
39121 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
39122 out of range error.
39123
177b82ca 391242009-03-18 Michel Dänzer <michel@daenzer.net>
39125
39126 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
39127 checking inode flags for EXT4_EXTENTS_FLAG.
39128
14aad807 391292009-03-18 Robert Millan <rmh@aybabtu.com>
39130
39131 * loader/i386/linux.c: Include `<grub/video.h>' and
39132 `<grub/i386/pc/vbe.h>'..
39133 (grub_linux_setup_video): New function. Loosely based on the EFI one.
39134 (grub_linux32_boot): Attempt to configure video settings with
39135 grub_linux_setup_video().
39136 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
39137 to avoid grub_console_fini() which would step out of graphical mode
39138 unconditionally.
39139
8cf83a27 391402009-03-14 Robert Millan <rmh@aybabtu.com>
39141
39142 Fix build on powerpc.
39143 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
39144
40164e75 391452009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
39146
39147 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
39148 background image command.
39149
c58bc32a 391502009-03-12 Colin D Bennett <colin@gibibit.com>
39151
39152 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
39153 (grub_gfxterm_putchar): Extract pairs of identical calls to
39154 draw_cursor out of conditional blocks.
39155
5415144a 391562009-03-11 Pavel Roskin <proski@gnu.org>
39157
39158 * fs/hfs.c (grub_hfs_strncasecmp): New function.
39159 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
39160
6394042e 391612009-03-11 Robert Millan <rmh@aybabtu.com>
39162
39163 * loader/i386/multiboot_elfxx.c
39164 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
39165
b7b50e5f 391662009-03-11 Felix Zielcke <fzielcke@z-51.de>
39167
39168 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
39169 `kern/handler.c'.
39170
1ca7fc96 391712009-03-11 Robert Millan <rmh@aybabtu.com>
39172
39173 * loader/i386/multiboot.c (code_size): New variable.
39174 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 39175 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 39176 4-byte alignment to MBI and others by increasing
7d074e3c 39177 `boot_loader_name_length' appropriately.
1ca7fc96 39178
39179 * loader/i386/multiboot_elfxx.c
39180 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
39181
a83ea1d2 391822009-03-09 Felix Zielcke <fzielcke@z-51.de>
39183
39184 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
39185 `fs/ext2.c'.
39186
aa9f3bff 391872009-03-08 Robert Millan <rmh@aybabtu.com>
39188
39189 Make loader/i386/linux.c usable on i386-pc again.
39190
39191 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
39192 memory to heap.
39193 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
39194 `#error' stanza.
39195
d8b3b60e 391962009-03-07 Bean <bean123ch@gmail.com>
39197
39198 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
39199 allocation.
39200
b362c9e9 392012009-03-06 Robert Millan <rmh@aybabtu.com>
39202
39203 Fix display issue on terminals with screen size other than 80x25
39204 (e.g. gfxterm with resolution higher than 640x480).
39205
39206 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 39207 position relative to the center of the terminal instead of relying
b362c9e9 39208 on a hardcoded offset.
39209
9304eef1 392102009-03-04 Robert Millan <rmh@aybabtu.com>
39211
39212 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
39213 installed.
39214
39215 * Makefile.in (host_kernel): New variable.
39216 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
39217 scripts instead of just the windows one.
39218 * configure.ac: Initialize and AC_SUBST `host_kernel'.
39219
eabc95fb 392202009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 39221
39222 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
39223 `kern/handler.c'.
39224 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39225 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39226 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39227 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39228 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39229 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39230
ceb1223c 392312009-03-04 Felix Zielcke <fzielcke@z-51.de>
39232
39233 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
39234 or if there's no space for the disk label and print the partition number on a
39235 invalid magic.
39236
4910684a 392372009-03-04 Felix Zielcke <fzielcke@z-51.de>
39238
39239 * util/misc.c: Include <time.h>.
39240 (grub_millisleep): New function.
39241
7e9ca17a 392422009-03-04 Bean <bean123ch@gmail.com>
39243
39244 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
39245 another option -mno-red-zone.
39246
39247 * commands/handler.c: Change module description.
39248
39249 * kern/handler.c: Add missing space at the end of description line.
39250
39251 * kern/list.c: Likewise.
39252
f501677c 392532009-03-03 Robert Millan <rmh@aybabtu.com>
39254
39255 Move more components to the relocation area, and fix mbi pointer
39256 handling to use the destination rather than the origin (thanks to
39257 Vladimir Serbinenko for spotting).
39258
39259 * loader/i386/multiboot.c (mbi_dest): New variable.
39260 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
39261 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
39262 relocation area.
39263
9902d047 392642009-03-01 Bean <bean123ch@gmail.com>
39265
50fb7002 39266 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 39267 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
39268 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
39269 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
39270
39271 * loader/i386/efi/linux.c (acpi_guid): New variable.
39272 (acpi_guid): Likewise.
39273 (EBDA_SEG_ADDR): New constant.
39274 (LOW_MEM_ADDR): Likewise.
39275 (FAKE_EBDA_SEG): Likewise.
39276 (fake_bios_data): New function.
39277 (grub_linux_boot): Call fake_bios_data.
39278
71b9f361 392792009-03-01 Bean <bean123ch@gmail.com>
39280
39281 * commands/terminal.c: Removed.
39282
39283 * commands/handler.c: New file.
39284
39285 * include/grub/list.h: Likewise.
39286
39287 * include/grub/handler.h: Likewise.
39288
39289 * kern/list.c: Likewise.
39290
39291 * kern/handler.c: Likewise.
39292
39293 * kern/term.h: Include header file <grub/handler.h>.
39294 (grub_term_input): Move next field to the beginning.
39295 (grub_term_output): Likewise.
39296 (grub_term_input_class): New variable.
39297 (grub_term_output_class): Likewise.
39298 (grub_term_register_input): Changed to inline function.
39299 (grub_term_register_output): Likewise.
39300 (grub_term_unregister_input): Likewise.
39301 (grub_term_unregister_output): Likewise.
39302 (grub_term_set_current_input): Likewise.
39303 (grub_term_set_current_output): Likewise.
39304 (grub_term_get_current_input): Likewise.
39305 (grub_term_get_current_output): Likewise.
39306 (grub_term_iterate_input): Removed.
39307 (grub_term_iterate_output): Likewise.
39308
39309 * kern/term.c (grub_term_list_input): Removed.
39310 (grub_term_list_output): Likewise.
39311 (grub_term_input_class): New variable.
39312 (grub_term_output_class): Likewise.
50fb7002 39313 (grub_cur_term_input): Change variable as macro.
71b9f361 39314 (grub_cur_term_output): Likewise.
39315 (grub_term_register_input): Removed.
39316 (grub_term_register_output): Likewise.
39317 (grub_term_unregister_input): Likewise.
39318 (grub_term_unregister_output): Likewise.
39319 (grub_term_set_current_input): Likewise.
39320 (grub_term_set_current_output): Likewise.
39321 (grub_term_iterate_input): Likewise.
39322 (grub_term_iterate_output): Likewise.
39323 (grub_term_get_current_input): Likewise.
39324 (grub_term_get_current_output): Likewise.
39325
39326 * util/grub-editenv.c: Include header file <grub/handler.h>.
39327 (grub_term_get_current_input): Removed.
39328 (grub_term_get_current_output): Likewise.
39329 (grub_term_input_class): New variable.
50fb7002 39330 (grub_term_output_class): Likewise.
71b9f361 39331
39332 * util/grub-fstest.c (grub_term_get_current_input): Removed.
39333 (grub_term_get_current_output): Likewise.
39334 (grub_term_input_class): New variable.
50fb7002 39335 (grub_term_output_class): Likewise.
71b9f361 39336
39337 * util/grub-probe.c (grub_term_get_current_input): Removed.
39338 (grub_term_get_current_output): Likewise.
39339 (grub_term_input_class): New variable.
50fb7002 39340 (grub_term_output_class): Likewise.
71b9f361 39341
39342 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
39343 (grub_term_get_current_output): Likewise.
39344 (grub_term_input_class): New variable.
50fb7002 39345 (grub_term_output_class): Likewise.
71b9f361 39346
39347 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
39348 (terminal_mod_SOURCES): Likewise.
39349 (terminal_mod_CFLAGS): Likewise.
39350 (terminal_mod_LDFLAGS): Likewise.
39351
39352 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
39353 handler.c.
39354 (kernel_img_SOURCES): Add list.c and handler.c.
39355 (kernel_img_HEADERS): Add list.h and handler.h.
39356
39357 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39358 handler.c.
39359 (kernel_mod_SOURCES): Add list.c and handler.c.
39360 (kernel_mod_HEADERS): Add list.h and handler.h.
39361
39362 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
39363 handler.c.
39364 (kernel_elf_SOURCES): Add list.c and handler.c.
39365 (kernel_elf_HEADERS): Add list.h and handler.h.
39366
39367 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39368 handler.c.
39369 (kernel_elf_SOURCES): Add list.c and handler.c.
39370 (kernel_elf_HEADERS): Add list.h and handler.h.
39371
39372 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39373 handler.c.
39374 (kernel_mod_SOURCES): Add list.c and handler.c.
39375 (kernel_mod_HEADERS): Add list.h and handler.h.
39376
39377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39378 handler.c.
39379 (kernel_elf_SOURCES): Add list.c and handler.c.
39380 (kernel_elf_HEADERS): Add list.h and handler.h.
39381
8a31787f 393822009-02-27 Robert Millan <rmh@aybabtu.com>
39383
39384 Factorize elf32 / elf64 code in Multiboot loader. This will
39385 prevent it from getting out of sync again.
39386
39387 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
39388 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
39389 grub_multiboot_load_elf64): Move from here ...
39390 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
39391 grub_multiboot_load_elf): ... to here (new file).
39392
51cd3dfc 393932009-02-27 Robert Millan <rmh@aybabtu.com>
39394
39395 * util/grub.d/10_linux.in: Rename "single-user mode" to
39396 "recovery mode".
39397
6e8c9c3a 393982009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
39399
39400 Don't leak in SCSI code.
39401 * disk/scsi.c (grub_scsi_close): free `scsi'.
39402
4b6bf4f9 394032009-02-27 Robert Millan <rmh@aybabtu.com>
39404
39405 * loader/i386/pc/multiboot.c: Move from here ...
39406 * loader/i386/multiboot.c: ... to here. Update all users.
39407
b9413424 394082009-02-27 Robert Millan <rmh@aybabtu.com>
39409
39410 Patch from Alexandre Bique <bique.alexandre@gmail.com>
39411 * util/i386/pc/grub-setup.c (setup): Fix directory path.
39412
50fb7002 394132009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 39414
39415 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
39416 b-tree.
39417
8cc50345 394182009-02-27 Robert Millan <rmh@aybabtu.com>
39419
39420 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
39421 `0x' qualifier as 0 when base is specified as parameter).
39422
6e09b8b7 394232009-02-24 Bean <bean123ch@gmail.com>
39424
39425 * configure.ac: Check for -mcmodel=large in x86_64 target.
39426
39427 * include/grub/efi/api.h (efi_call_10): New macro.
39428 (efi_wrap_10): New function.
39429
39430 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
39431 (GRUB_PE32_REL_BASED_HIGH): Likewise.
39432 (GRUB_PE32_REL_BASED_LOW): Likewise.
39433 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
39434 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
39435 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
39436 (GRUB_PE32_REL_BASED_SECTION): Likewise.
39437 (GRUB_PE32_REL_BASED_REL): Likewise.
39438 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
39439 (GRUB_PE32_REL_BASED_DIR64): Likewise.
39440 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
39441
39442 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
39443 issue.
39444
39445 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
39446 (efi_wrap_10): New function.
39447
39448 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
39449
39450 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
39451 MB/MBP model (NV chipset).
39452 (devdata_devs): Add devpath_5 to the list.
39453
39454 * load/i386/efi/linux.c (video_base): Remove variable.
39455 (RGB_MASK): New macro.
39456 (RGB_MAGIC): Likewise.
39457 (LINE_MIN): Likewise.
39458 (LINE_MAX): Likewise.
39459 (FBTEST_STEP): Likewise.
39460 (FBTEST_COUNT): Likewise.
39461 (fb_list): New variable.
39462 (grub_find_video_card): Remove function.
39463 (find_framebuf): New function.
39464 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
39465 line length.
39466
39467 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
39468 problem for x86_64.
39469
74b21bee 394702009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
39471
39472 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
39473
39474 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
39475 coding tool name.
39476
a455f472 394772009-02-22 Robert Millan <rmh@aybabtu.com>
39478
39479 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
39480 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
39481 in our relocation, instead of using it directly from heap. Also
39482 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
39483
6374daf3 394842009-02-21 Robert Millan <rmh@aybabtu.com>
39485
39486 Implement USB keyboard support (based on patch by Marco Gerards)
39487
39488 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
39489 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
39490 (usb_keyboard_mod_LDFLAGS): New variables.
39491
39492 * term/usb_keyboard.c: New file.
39493
8fa4ea70 394942009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
39495
39496 Corrected wrong declaration
39497
39498 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
39499
353976ac 395002009-02-14 Christian Franke <franke@computer.org>
39501
39502 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
39503 (grub_lspci_iter): Print class code and programming interface byte.
39504
6aa1169b 395052009-02-14 Christian Franke <franke@computer.org>
39506
39507 * gendistlist.sh: Ignore `.svn' directories.
39508
265372ca 395092009-02-14 Felix Zielcke <fzielcke@z-51.de>
39510
39511 * fs/fat.c: Add 2009 to Copyright line.
39512
9ff516f3 395132009-02-14 Christian Franke <franke@computer.org>
39514
39515 * commands/hdparm.c: New file. Provides `hdparm' command
39516 which sends ATA commands via grub_disk_ata_pass_through ().
39517
39518 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
39519
39520 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
39521 and <grub/cpu/io.h> to include/grub/ata.h.
39522 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
39523 (GRUB_CDROM_SECTOR_SIZE): Remove.
39524 (GRUB_ATA_*): Move to include/grub/ata.h.
39525 (GRUB_ATAPI_*): Likewise.
39526 (enum grub_ata_commands): Likewise.
39527 (enum grub_ata_timeout_milliseconds): Likewise.
39528 (struct grub_ata_device): Likewise.
39529 (grub_ata_regset): Likewise.
39530 (grub_ata_regget): Likewise.
39531 (grub_ata_regset2): Likewise.
39532 (grub_ata_regget2): Likewise.
39533 (grub_ata_check_ready): Likewise.
39534 (grub_ata_wait_not_busy): Remove static, exported in
39535 include/grub/ata.h.
39536 (grub_ata_wait_drq): Likewise.
39537 (grub_ata_pio_read): Likewise.
39538
39539 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
39540 function for hdparm.mod.
39541
39542 * include/grub/ata.h: New file, contains declarations from
39543 disk/ata.c.
39544 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
39545
39546 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
39547 (grub_disk_ata_pass_through): New exported variable.
39548
39549 * kern/disk.c (grub_disk_ata_pass_through): New variable.
39550
772e23da 395512009-02-13 Colin D Bennett <colin@gibibit.com>
39552
39553 Support multiple fallback entries, and provide an API to support
39554 executing default+fallback menu entries. Renamed the `terminal' menu
39555 viewer to `text'.
39556
39557 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
39558 variable declaration.
39559 (grub_menu_execute_callback): New structure declaration.
39560 (grub_menu_execute_callback_t): New typedef.
39561 (grub_menu_execute_with_fallback): New function declaration.
39562 (grub_menu_get_entry): Likewise.
39563 (grub_menu_get_timeout): Likewise.
39564 (grub_menu_set_timeout): Likewise.
39565
39566 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
39567
39568 * normal/menu.c (grub_wait_after_message): Moved to
39569 `normal/menu_text.c'.
39570 (draw_border): Likewise.
39571 (print_message): Likewise.
39572 (print_entry): Likewise.
39573 (print_entries): Likewise.
39574 (grub_menu_init_page): Likewise.
39575 (get_entry_number): Likewise.
39576 (print_timeout): Likewise.
39577 (run_menu): Likewise.
39578 (grub_menu_execute_entry): Likewise.
39579 (show_text_menu): Likewise.
39580 (get_and_remove_first_entry_number): New function.
39581 (grub_menu_execute_with_fallback): Likewise.
39582 (get_entry): Renamed to ...
39583 (grub_menu_get_entry): .. this and made it global.
39584 (get_timeout): Renamed to ...
39585 (grub_menu_get_timeout): ... this and made it global.
39586 (set_timeout): Renamed to ...
39587 (grub_menu_set_timeout): ... this and made it global.
39588 (grub_normal_terminal_menu_viewer): Renamed to ...
39589 (grub_normal_text_menu_viewer): ... this.
39590
39591 * normal/menu_text.c: New file. Extracted text-menu-specific code
39592 from normal/menu.c.
39593
39594 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39595 (normal_mod_SOURCES): Likewise.
39596
39597 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39598 (normal_mod_SOURCES): Likewise.
39599
39600 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39601 (normal_mod_SOURCES): Likewise.
39602
39603 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39604 (normal_mod_SOURCES): Likewise.
39605
39606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39607 (normal_mod_SOURCES): Likewise.
39608
39609 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39610 (normal_mod_SOURCES): Likewise.
39611
39612 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39613 (normal_mod_SOURCES): Likewise.
39614
16ac430e 396152009-02-11 Robert Millan <rmh@aybabtu.com>
39616
39617 * util/grub.d/00_header.in: Update old reference to `font' command.
39618
06ff20fc 396192009-02-10 Felix Zielcke <fzielcke@z-51.de>
39620
39621 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39622
39623 Based on patch from Javier Martín.
39624
96da9407 396252009-02-09 Felix Zielcke <fzielcke@z-51.de>
39626
39627 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 39628 to avoid false positives with FAT.
96da9407 39629 (grub_fstest_SOURCES): Likewise.
39630 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39631 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39632 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39633 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39634 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39635 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39636
6dca6fe4 396372009-02-09 Felix Zielcke <fzielcke@z-51.de>
39638
06ff20fc 39639 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 39640 bpb.version_specific.fat12_or_fat16.fstype and
39641 bpb.version_specific.fat32.fstype.
39642
2550c62f 396432009-02-08 Robert Millan <rmh@aybabtu.com>
39644
be110b30 39645 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 39646
56978920 396472009-02-08 Robert Millan <rmh@aybabtu.com>
39648
39649 * Makefile.in (host_os, host_cpu): New variables.
39650 (target_os): Remove. Update all users.
39651
d64399b5 396522009-02-08 Marco Gerards <marco@gnu.org>
39653
39654 * Makefile.in (enable_grub_emu_usb): New variable.
39655 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39656 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39657 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39658 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39659 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39660 `usbtest.mod' and `usbms.mod'.
39661 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39662 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39663 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39664 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39665 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39666 variables.
39667
39668 * disk/usbms.c: New file.
39669
39670 * include/grub/usb.h: Likewise.
39671
39672 * include/grub/usbtrans.h: Likewise.
39673
39674 * include/grub/usbdesc.h: Likewise.
39675
39676 * bus/usb/usbtrans.c: Likewise.
39677
39678 * bus/usb/ohci.c: Likewise.
39679
39680 * bus/usb/uhci.c: Likewise.
39681
39682 * bus/usb/usbhub.c: Likewise.
39683
39684 * bus/usb/usb.c: Likewise.
39685
39686 * commands/usbtest.c: Likewise.
39687
39688 * util/usb.c: Likewise.
50fb7002 39689
d64399b5 39690 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39691
39692 * configure.ac: Test for libusb presence.
50fb7002 39693
d64399b5 39694 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39695
2b40d6bb 396962009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39697
39698 * kern/mm.c: Add more comments.
39699
73a4ce81 397002009-02-08 Robert Millan <rmh@aybabtu.com>
39701
39702 Patch from Javier Martín.
39703 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39704 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39705
f821ce59 397062009-02-08 Robert Millan <rmh@aybabtu.com>
39707
39708 * fs/cpio.c: Split tar functionality to ...
39709 * fs/tar.c: ... here (new file). Update all users.
39710
aebfc4b0 397112009-02-07 Robert Millan <rmh@aybabtu.com>
39712
39713 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39714 backward-incompatible features.
39715
39716 Based on patch from Javier Martín, with some adjustments.
39717
50fb7002 397182009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 39719
39720 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39721
0bb5115e 397222009-02-07 Robert Millan <rmh@aybabtu.com>
39723
39724 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
39725 position of `disk/lvm.c' to ensure grub_init_all() always picks it
39726 after the RAID stuff.
39727
38a0f8e7 397282009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
39729
50fb7002 39730 Fixes problem when running vbetest command as reported by
38a0f8e7 39731 Vladimir Serbinenko <phcoder@gmail.com>.
39732
39733 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39734
3143cc1c 397352009-02-04 Felix Zielcke <fzielcke@z-51.de>
39736
39737 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39738 /dev/md/NpN style mdraid devices.
39739
9cba6fce 397402009-02-03 Felix Zielcke <fzielcke@z-51.de>
39741
39742 * util/unifont2pff.rb: Remove.
39743
e507a2c1 397442009-02-03 Felix Zielcke <fzielcke@z-51.de>
39745
39746 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39747 `#'.
39748
d2c2b4cd 397492009-02-03 Felix Zielcke <fzielcke@z-51.de>
39750
39751 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
39752 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39753 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39754 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39756 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39757 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39758
b4315fb0 397592009-02-02 Christian Franke <franke@computer.org>
39760
39761 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
39762
de3aa260 397632009-02-01 Felix Zielcke <fzielcke@z-51.de>
39764
7c3ff286 39765 * INSTALL: Note that we now require at least autoconf 2.59 and
39766 that LZO is optional.
de3aa260 39767
825a182b 397682009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39769
39770 Base on patch on bug #24154 created by Tomas Tintera
39771 <trosos@seznam.cz>.
39772
39773 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39774
a69ef770 397752009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39776
7c3ff286 39777 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 39778 <bero@arklinux.org>.
39779
39780 * normal/parser.y (script_init): Add missing semicolon.
39781
6fa42fa6 397822009-01-31 Colin D Bennett <colin@gibibit.com>
39783
7c3ff286 39784 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 39785 (free_menu_entry_classes): Added.
39786 (grub_normal_menu_addentry): Added class property handling.
39787 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39788 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39789
39790 * normal/menu_viewer.c: New file.
39791
39792 * normal/menu.c (run_menu_entry): Renamed to ...
39793 (grub_menu_execute_entry): ... this and made it as global.
39794 (grub_menu_run): Renamed to ...
39795 (show_text_menu): ... this and made it local.
39796 (show_text_menu): Adapt to new function names.
39797 (grub_normal_terminal_menu_viewer): New global variable.
39798
39799 * include/grub/menu.h: New file.
39800
39801 * include/grub/menu_viewer.h: New file.
39802
39803 * include/grub/normal.h: Added include to grub/menu.h.
39804 (grub_menu_entry): Moved to include/grub/menu.h.
39805 (grub_menu_entry_t): Likewise.
39806 (grub_menu): Likewise.
39807 (grub_menu_t): Likewise.
39808 (grub_normal_terminal_menu_viewer): Added.
39809 (grub_menu_execute_entry): Likewise.
39810 (grub_menu_run): Removed.
39811
39812 * DISTLIST: Added include/grub/menu.h.
39813 Added include/grub/menu_viewer.h.
39814 Added normal/menu_viewer.c.
39815
398162009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39817
39818 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39819 arglist for menutitle arguments.
39820
39821 * normal/main.c (grub_normal_menu_addentry): Likewise.
39822
39823 * normal/parser.y (menuentry): Likewise.
39824
39825 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39826
39827 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39828 (grub_script_create_cmdmenu): Likewise.
39829
39830 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39831
39832 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39833 changes.
39834
39835 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39836
39837 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39838
39839 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39840
39841 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39842
39843 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39844
39845 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39846
56192c23 398472009-01-30 Christian Franke <franke@computer.org>
39848
39849 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39850 in option help text.
39851
d72521b3 398522009-01-27 Pavel Roskin <proski@gnu.org>
39853
39854 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39855
994b5e84 398562009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39857
39858 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39859
39860 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39861
39862 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39863 unregister function.
39864
6a7eab2c 398652009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39866
39867 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39868
39869 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39870
39871 * util/grub-mkfont.c (usage): Fix typo.
39872
39873 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39874
1806b56e 398752009-01-26 Daniel Mierswa <impulze@impulze.org>
39876
3fb18f09 39877 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39878
336e1fb9 39879 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39880
1806b56e 39881 * kern/misc.c (grub_strcasecmp): New function.
39882 (grub_strcasecmp): Use grub_size_t instead of int for length.
39883 Fix return value.
39884 * include/grub/misc.h: Update function prototypes.
39885
580b2a0f 398862009-01-26 Robert Millan <rmh@aybabtu.com>
39887
39888 * configure.ac: Fix cross-compilation check.
ef257b36 39889
d31c24f1 398902009-01-22 Christian Franke <franke@computer.org>
39891
39892 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39893 (precision) digit string. Allow `.format2' without `format1' (width).
39894 Limit input chars for `%s' output to `format2' if specified. This is
39895 compatible with standard printf ().
39896
3138b44c 398972009-01-22 Christian Franke <franke@computer.org>
39898
39899 * disk/ata.c (grub_ata_wait_status): Replace by ...
39900 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39901 other status bits may be invalid while BSY is asserted.
39902 (grub_ata_check_ready): New function.
39903 (grub_ata_cmd): Removed.
39904 (grub_ata_wait_drq): New function.
39905 (grub_ata_strncpy): Remove inline.
39906 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39907 and error check now done by grub_ata_wait_drq ().
39908 (grub_ata_pio_write): Likewise.
39909 (grub_atapi_identify): Set DEV before check for !BSY. Use
39910 grub_ata_wait_drq () to wait for data.
39911 (grub_ata_device_initialize): Add status register check to
39912 detect missing SATA slave devices. Add debug messages.
39913 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39914 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39915 transfer loop by grub_ata_pio_write ().
39916 (grub_ata_identify): Set DEV before check for !BSY. Use
39917 grub_ata_wait_drq () to wait for data.
ef257b36 39918 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39919 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39920 read/write in one loop. Fix invalid command on write. Fix incomplete
39921 command on (size % batch) == 0. Add missing error check after write of
39922 last block. Add debug messages.
39923 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39924
59a64ef6 399252009-01-19 Christian Franke <franke@computer.org>
39926
39927 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39928 (GRUB_ATAPI_IREASON_*): Likewise.
39929 (grub_ata_pio_write): Fix timeout error return.
39930 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39931 (grub_atapi_wait_drq): New function.
39932 (grub_atapi_packet): New parameter `size'.
39933 Use grub_atapi_wait_drq () and direct write instead of
39934 grub_ata_pio_write ().
39935 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39936 reads the number of bytes requested by the device for each DRQ
39937 assertion.
39938 (grub_atapi_write): Remove old implementation, return not
39939 implemented instead.
39940
1cfe20b3 399412009-01-19 Christian Franke <franke@computer.org>
39942
39943 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39944 of 512 to calculate data size.
39945 (grub_scsi_read12): Likewise.
39946 (grub_scsi_write10): Likewise.
39947 (grub_scsi_write12): Likewise.
39948 (grub_scsi_read): Adjust size according to blocksize.
39949 Add checks for invalid blocksize and unaligned transfer.
39950
bee5fe5d 399512009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39952
39953 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39954
ef257b36 39955 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 39956 width glyphs.
39957
3e643f8c 399582009-01-19 Robert Millan <rmh@aybabtu.com>
39959
39960 * config.guess: Update to latest version from config git.
39961 * config.sub: Likewise.
39962
4fa80998 399632009-01-17 Felix Zielcke <fzielcke@z-51.de>
39964
39965 * Makefile.in: Change font compilation to use new grub-mkfont instead
39966 of java version.
39967
39968 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39969 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39970 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39971 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39972 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39973 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39974 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39975 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39976 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39977
7086085b 399782009-01-16 Christian Franke <franke@computer.org>
39979
39980 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39981 (enum grub_ata_timeout_milliseconds): New enum.
39982 (grub_ata_wait_status): Add parameter milliseconds.
39983 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39984 recovery from timed-out commands.
39985 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39986 return grub_errno instead of REG_ERROR.
39987 (grub_ata_pio_write): Add parameter milliseconds.
39988 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39989 Pass milliseconds to grub_ata_wait_status () and
39990 grub_ata_pio_read ().
39991 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39992 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39993 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39994 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39995 It is not suitable for device detection, because DEV bit is ignored,
39996 the command may run too long, and not all devices set the signature
39997 properly.
39998 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39999 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
40000 Fix device selection, DEV bit must be set first to address the registers
40001 of the correct device.
40002 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
40003 grub_ata_pio_read/write ().
40004 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
40005 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
40006
4a412913 400072009-01-13 Carles Pina i Estany <carles@pina.cat>
40008
40009 * util/grub-editenv.c (main): Use fseeko(), not fseek().
40010
7795c55e 400112009-01-13 Bean <bean123ch@gmail.com>
d913988c 40012
40013 * util/grub-mkfont.c (write_font): forget to remove some debug code.
40014
7795c55e 400152009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 40016
40017 * Makefile.in: (enable_grub_mkfont): New variable.
40018 (freetype_cflags): Likewise.
40019 (freetype_libs): Likewise.
40020
40021 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
40022 (grub_mkfont_SOURCES): New variable.
40023 (grub_mkfont_CFLAGS): Likewise.
40024 (grub_mkfont_LDFLAGS): Likewise.
40025
40026 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
40027 library if `--enable-grub-mkfont' is requested.
40028 (enable_grub_mkfont): New variable.
40029 (freetype_cflags): Likewise.
40030 (freetype_libs): Likewise.
40031
40032 * util/grub-mkfont.c: New file.
40033
093af1fe 400342009-01-12 Christian Franke <franke@computer.org>
40035
40036 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
40037 mode check. Fix setting of compat_use[].
40038
f36cc108 400392009-01-10 Robert Millan <rmh@aybabtu.com>
40040
40041 Update a few copyright years which we forgot to do in 2008 (only for
40042 files whose changes made in 2008 were copyright-significant)
40043
40044 * Makefile.in: Add 2008 to Copyright line.
40045 * disk/ieee1275/ofdisk.c: Likewise.
40046 * disk/efi/efidisk.c: Likewise.
40047 * kern/dl.c: Likewise.
40048 * kern/sparc64/ieee1275/init.c: Likewise.
40049 * kern/mm.c: Likewise.
40050 * kern/efi/mm.c: Likewise.
40051 * boot/i386/pc/boot.S: Likewise.
40052 * genfslist.sh: Likewise.
40053 * fs/iso9660.c: Likewise.
40054 * fs/hfs.c: Likewise.
40055 * fs/jfs.c: Likewise.
40056 * fs/minix.c: Likewise.
40057 * fs/ufs.c: Likewise.
40058 * gensymlist.sh.in: Likewise.
40059 * genkernsyms.sh.in: Likewise.
40060 * include/grub/misc.h: Likewise.
40061 * include/grub/types.h: Likewise.
40062 * include/grub/symbol.h: Likewise.
40063 * include/grub/elf.h: Likewise.
40064 * include/grub/kernel.h: Likewise.
40065 * include/grub/disk.h: Likewise.
40066 * include/grub/dl.h: Likewise.
40067 * include/grub/i386/linux.h: Likewise.
40068 * include/grub/i386/pc/biosdisk.h: Likewise.
40069 * include/grub/efi/api.h: Likewise.
40070 * include/grub/efi/pe32.h: Likewise.
40071 * include/grub/util/misc.h: Likewise.
40072 * normal/execute.c: Likewise.
40073 * normal/arg.c: Likewise.
40074 * normal/completion.c: Likewise.
40075 * normal/lexer.c: Likewise.
40076 * normal/parser.y: Likewise.
40077 * normal/misc.c: Likewise.
40078 * commands/i386/pc/vbeinfo.c: Likewise.
40079 * commands/hexdump.c: Likewise.
40080 * commands/terminal.c: Likewise.
40081 * commands/ls.c: Likewise.
40082 * commands/help.c: Likewise.
40083 * partmap/pc.c: Likewise.
40084 * loader/efi/chainloader.c: Likewise.
40085 * loader/multiboot_loader.c: Likewise.
40086 * loader/i386/pc/multiboot2.c: Likewise.
40087 * term/efi/console.c: Likewise.
40088 * term/i386/pc/serial.c: Likewise.
40089 * util/lvm.c: Likewise.
40090 * util/console.c: Likewise.
40091 * util/i386/efi/grub-mkimage.c: Likewise.
40092 * util/raid.c: Likewise.
40093
7f02114b 400942009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
40095
40096 * commands/videotest.c: Removed include to grub/machine/memory.h.
40097
40098 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
40099 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
40100 (video_mod_SOURCES): Removed.
40101 (video_mod_CFLAGS): Likewise.
40102 (video_mod_LDFLAGS): Likewise.
40103 (gfxterm_mod_SOURCES): Likewise.
40104 (gfxterm_mod_CFLAGS): Likewise.
40105 (gfxterm_mod_LDFLAGS): Likewise.
40106 (videotest_mod_SOURCES): Likewise.
40107 (videotest_mod_CFLAGS): Likewise.
40108 (videotest_mod_LDFLAGS): Likewise.
40109 (bitmap_mod_SOURCES): Likewise.
40110 (bitmap_mod_CFLAGS): Likewise.
40111 (bitmap_mod_LDFLAGS): Likewise.
40112 (tga_mod_SOURCES): Likewise.
40113 (tga_mod_CFLAGS): Likewise.
40114 (tga_mod_LDFLAGS): Likewise.
40115 (jpeg_mod_SOURCES): Likewise.
40116 (jpeg_mod_CFLAGS): Likewise.
40117 (jpeg_mod_LDFLAGS): Likewise.
40118 (png_mod_SOURCES): Likewise.
40119 (png_mod_CFLAGS): Likewise.
40120 (png_mod_LDFLAGS): Likewise.
40121
40122 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
40123 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
40124 (video_mod_SOURCES): Added.
40125 (video_mod_CFLAGS): Likewise.
40126 (video_mod_LDFLAGS): Likewise.
40127 (videotest_mod_SOURCES): Likewise.
40128 (videotest_mod_CFLAGS): Likewise.
40129 (videotest_mod_LDFLAGS): Likewise.
40130 (bitmap_mod_SOURCES): Likewise.
40131 (bitmap_mod_CFLAGS): Likewise.
40132 (bitmap_mod_LDFLAGS): Likewise.
40133 (tga_mod_SOURCES): Likewise.
40134 (tga_mod_CFLAGS): Likewise.
40135 (tga_mod_LDFLAGS): Likewise.
40136 (jpeg_mod_SOURCES): Likewise.
40137 (jpeg_mod_CFLAGS): Likewise.
40138 (jpeg_mod_LDFLAGS): Likewise.
40139 (png_mod_SOURCES): Likewise.
40140 (png_mod_CFLAGS): Likewise.
40141 (png_mod_LDFLAGS): Likewise.
40142 (gfxterm_mod_SOURCES): Likewise.
40143 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 40144 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 40145
40146 * term/gfxterm.c: Removed include to grub/machine/memory.h,
40147 grub/machine/console.h.
40148
644fff97 401492009-01-04 Jerone Young <jerone@gmail.com>
40150
40151 Make on screen instructions clearer
40152
40153 Based on patch created by Jidanni <jidanni@jidanni.org>
40154
40155 * normal/menu.c: print clearer instructions on the screen
40156
1e901a75 401572009-01-02 Colin D Bennett <colin@gibibit.com>
40158
40159 New font engine.
34c44600 40160
1e901a75 40161 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
40162 build system and fixed gfxterm.c to work with different sized fonts.
40163
40164 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 40165
1e901a75 40166 * configure: Re-generated.
34c44600 40167
1e901a75 40168 * DISTLIST: Removed font/manager.c.
40169 Added font/font.c.
40170 Added font/font_cmd.c.
34c44600 40171
1e901a75 40172 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
40173 compilation.
34c44600 40174
1e901a75 40175 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 40176
40177 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 40178
40179 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 40180
1e901a75 40181 * normal/menu.c: Likewise.
34c44600 40182
1e901a75 40183 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
40184 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 40185
1e901a75 40186 * include/grub/font.h: Replaced with new file.
34c44600 40187
1e901a75 40188 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
40189 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
40190 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
40191 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
40192 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 40193 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 40194 fg_red, fg_green, fg_blue, fg_alpha.
40195 (grub_video_adapter): Removed blit_glyph.
34c44600 40196 (grub_video_blit_glyph): Removed.
40197
1e901a75 40198 * font/manager.c: Removed file.
34c44600 40199
40200 * font/font.c: New file.
40201
1e901a75 40202 * font/font_cmd.c: Likewise.
34c44600 40203
1e901a75 40204 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 40205
1e901a75 40206 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
40207 (grub_video_vbe_map_rgba): Likewise.
40208 (grub_video_vbe_unmap_color_int): Likewise.
40209 (grub_video_vbe_blit_glyph): Removed.
40210 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 40211
1e901a75 40212 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
40213 (get_pixel): Likewise.
34c44600 40214 (set_pixel): Likewise.
40215
1e901a75 40216 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 40217
1e901a75 40218 * term/gfxterm.c: Adapted to new font engine.
34c44600 40219
1e901a75 40220 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 40221
1e901a75 40222 * term/i386/pc/vga.c: Likewise.
34c44600 40223
1e901a75 40224 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 40225
1e901a75 40226 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 40227
1e901a75 40228 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40229
1e901a75 40230 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40231
1e901a75 40232 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 40233
1e901a75 40234 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 40235
1e901a75 40236 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 40237
1e901a75 40238 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 40239
1e901a75 40240 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40241
40242 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 40243
1e901a75 40244 * util/grub-mkconfig_lib.in: Changed font extension.
40245
278922e8 402462008-12-28 Felix Zielcke <fzielcke@z-51.de>
40247
40248 * util/getroot.c (grub_util_get_grub_dev): Add support for
40249 /dev/md/dNNpNN style partitionable mdraid devices.
40250
3ced05cf 402512008-12-12 Alex Smith <alex@alex-smith.me.uk>
40252
40253 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
40254 at a time limit of the PXE TFTP API correctly.
40255 (grub_pxefs_close): Likewise.
40256
7fd0ee30 402572008-11-29 Robert Millan <rmh@aybabtu.com>
40258
34c44600 40259 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 40260 grub_ata_device_initialize() calls.
40261
34c44600 402622008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 40263
40264 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
40265 iteration failed.
40266 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
40267
89313780 402682008-11-28 Robert Millan <rmh@aybabtu.com>
40269
40270 Fix build on powerpc-ieee1275. Based on patch created by
40271 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
40272 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40273 `kern/ieee1275/mmap.c'.
40274 * include/grub/powerpc/ieee1275/memory.h: New file.
40275
15257703 40276 Provide grub-install on coreboot.
40277 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
40278 (grub_install_SOURCES): New variable.
40279 * util/i386/pc/grub-install.in: Add a few condition checks to make it
40280 usable on coreboot.
40281
9fc5388a 402822008-11-25 Felix Zielcke <fzielcke@z-51.de>
40283
40284 * util/grub-fstest.c (grub_term_get_current_input): Change return type
40285 to `grub_term_input_t'.
40286 (grub_term_get_current_output): Change return type to
40287 `grub_term_output_t'.
40288
bc3a2f31 402892008-11-22 Robert Millan <rmh@aybabtu.com>
40290
34c44600 40291 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 40292 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
40293 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
40294 grub_vga_text_cls().
40295
80fc88f2 40296 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 40297 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 40298
cbf36fd3 40299 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
40300 to 0x200000 (avoids trouble with some OFW implementations, and matches
40301 with the one in Yaboot).
40302 Reported by Manoel Abranches
40303
73e8e268 403042008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 40305
40306 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
40307 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
40308
73e8e268 40309 * util/grub-mkconfig_lib.in (grub_warn): New function.
40310 (convert_system_path_to_grub_path): Use grub_warn() when issuing
40311 warnings, to obtain consistent formatting.
40312 * util/grub.d/00_header.in: Likewise.
40313 * util/update-grub_lib.in: Likewise.
40314
e94045a1 40315 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 40316 Move comment text to `#error' stanza.
e94045a1 40317
79d29fd7 40318 Harmonize ieee1275's grub_available_iterate() with the generic
40319 grub_machine_mmap_iterate() interface (fixes a recently-introduced
40320 build problem on i386-ieee1275):
40321 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
40322 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
40323 parameter `type'. Update all users of this function.
40324 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40325 `kern/ieee1275/mmap.c'.
40326 * kern/ieee1275/init.c
40327 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
40328 with ...
40329 (grub_machine_mmap_iterate): ... this.
40330 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
40331 return type to `grub_err_t'. Update all implementations of this
40332 function prototype.
40333 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
40334 Likewise.
40335
60d6b16e 40336 Add `lsmmap' command (lists firmware-provided memory map):
40337 * commands/lsmmap.c: New file.
40338 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
40339 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
40340 variables.
40341 * conf/powerpc-ieee1275.rmk: Likewise.
40342 * conf/i386-coreboot.rmk: Likewise.
40343 * conf/i386-ieee1275.rmk: Likewise.
40344
ebaaf49b 403452008-11-19 Robert Millan <rmh@aybabtu.com>
40346
40347 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 40348 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
40349 constraints to initrd allocation (based on code from
40350 loader/i386/pc/linux.c). Without them, initrd was allocated too high
40351 for Linux to find it.
ebaaf49b 40352
dfab719f 403532008-11-14 Robert Millan <rmh@aybabtu.com>
40354
40355 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
40356 order to cope with duplicate slashes.
40357
10fc3eb9 403582008-11-14 Robert Millan <rmh@aybabtu.com>
40359
40360 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
40361 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
40362 don't want to mess with lower memory, because it is used in the Linux
40363 loader.
40364
40365 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 40366 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 40367 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
40368 is in our heap (probably as a result of it being corrupted during
2f2a3442 40369 decompression). Add #error instance with comment to explain why this
40370 loader isn't currently usable on PC/BIOS.
10fc3eb9 40371
e2e07847 403722008-11-14 Robert Millan <rmh@aybabtu.com>
40373
40374 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 40375 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 40376
fe8e8d69 403772008-11-12 Robert Millan <rmh@aybabtu.com>
40378
40379 Make loader/i386/linux.c buildable on i386-pc (although disabled).
40380
40381 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
40382 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
40383 from here ...
40384 * include/grub/i386/pc/memory.h: ... to here.
40385
976b07d0 403862008-11-12 Robert Millan <rmh@aybabtu.com>
40387
40388 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
40389 split).
40390
40391 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
40392 (grub_console_cur_color, grub_console_real_putchar)
40393 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40394 (grub_console_setcolorstate, grub_console_setcolor)
40395 (grub_console_getcolor): Move from here ...
40396 * include/grub/i386/vga_common.h: ... to here (new file).
40397
40398 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
40399 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
40400 `<grub/i386/io.h>'.
40401 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
40402 `<grub/i386/vga_common.h>'.
40403
76679cd3 404042008-11-12 Robert Millan <rmh@aybabtu.com>
40405
40406 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
40407 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
40408 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
40409 variables.
40410 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40411 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
40412
40413 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
40414 grub_console_init() with call to grub_vga_text_init().
40415 (grub_machine_fini): Replace call to
40416 grub_console_fini() with call to grub_vga_text_fini() and
40417 grub_at_keyboard_fini().
40418
40419 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
40420 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40421 (grub_console_setcolorstate, grub_console_setcolor)
40422 (grub_console_getcolor): New function prototypes.
40423
40424 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
40425 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
40426 (grub_vga_text_setcursor): Static-ize.
40427 (grub_vga_text_term): New structure.
40428 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
40429
40430 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
40431 (grub_console_cur_color, grub_console_standard_color)
40432 (grub_console_normal_color, grub_console_highlight_color)
40433 (map_char, grub_console_putchar, grub_console_getcharwidth)
40434 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
40435 (grub_console_getcolor): Move from here ...
40436 * term/i386/vga_common.c: ... to here (same function names).
40437
95b841d3 404382008-11-12 Robert Millan <rmh@aybabtu.com>
40439
40440 Use newly-added Multiboot support in coreboot.
40441
40442 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40443 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
40444
40445 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
40446 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
40447 (codestart): Store the MBI in `startup_multiboot_info' when we're
40448 being loaded using Multiboot.
40449
40450 * kern/i386/coreboot/init.c (grub_machine_init): Move
40451 grub_at_keyboard_init() call to beginning of function (useful for
40452 debugging). Call grub_machine_mmap_init() before attempting to use
40453 grub_machine_mmap_iterate().
40454 (grub_lower_mem, grub_upper_mem): Move from here ...
40455 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
40456 here (new file).
40457
40458 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
40459 function prototype.
40460
761ca975 404612008-11-12 Robert Millan <rmh@aybabtu.com>
40462
40463 Fix a regression introduced by the at_keyboard.mod split. Because
40464 some terminals are default on some platforms and non-default on
40465 others, the first terminal being registered determines which is
40466 going to be default.
40467
40468 * kern/term.c (grub_term_register_input): If this is the first
40469 terminal being registered, set it as the current one.
40470 (grub_term_register_output): Likewise.
40471
40472 * term/efi/console.c (grub_console_init): Do not call
40473 grub_term_set_current_output() or grub_term_set_current_input().
40474 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
40475 * term/i386/pc/console.c (grub_console_init): Likewise.
40476 (grub_console_fini): Do not call grub_term_set_current_input()
40477 (but leave grub_term_set_current_output() to restore text mode).
40478
6c529df7 404792008-11-10 Robert Millan <rmh@aybabtu.com>
40480
40481 * util/grub.d/00_header.in: Add backward compatibility check for
40482 versions of terminal.mod that don't understand `terminal_input' or
40483 `terminal_output'.
40484
132e4113 404852008-11-09 Robert Millan <rmh@aybabtu.com>
40486
40487 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
40488 `terminal_input' / `terminal_output', not `terminal'.
40489
ac293d50 404902008-11-08 Robert Millan <rmh@aybabtu.com>
40491
40492 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 40493 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 40494
0025933a 404952008-11-08 Robert Millan <rmh@aybabtu.com>
40496
40497 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 40498 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 40499 members. Update all users.
40500 * util/console.c (grub_ncurses_term): Split in ...
40501 (grub_ncurses_term_input): ... this, and ...
40502 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 40503 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 40504
37c86336 405052008-11-08 Robert Millan <rmh@aybabtu.com>
40506
40507 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
40508 (PKGDATA): Add $(pkgdata_SRCDIR).
40509 (pkglib_BUILDDIR): New variable.
40510 (pkgdata_SRCDIR): New variable.
40511 (build_env.mk): New target.
40512 (include_DATA): New variable.
40513 (install-local): Install $(include_DATA) files in $(includedir).
40514
b6c15a2d 405152008-11-07 Pavel Roskin <proski@gnu.org>
40516
d99d46f1 40517 * gendistlist.sh: Use C locale for sorting to ensure consistent
40518 output on all systems.
40519
b6c15a2d 40520 * util/grub.d/00_header.in: Remove incorrect space before
40521 "serial".
40522
c32ee8c9 405232008-11-07 Robert Millan <rmh@aybabtu.com>
40524
40525 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
40526 per specification.
40527 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
40528 * loader/multiboot_loader.c (find_multi_boot2_header): New function
40529 (based on find_multi_boot1_header).
40530 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
40531 using find_multi_boot2_header(), and abort if neither Multiboot or
40532 Multiboot headers were found.
40533
651c29b7 405342008-11-07 Robert Millan <rmh@aybabtu.com>
40535
40536 Modularize at_keyboard.mod:
40537
40538 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
40539 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
40540 (at_keyboard_mod_LDFLAGS): New variables.
40541
40542 Actual terminal split:
40543
40544 * include/grub/term.h (struct grub_term): Split in ...
40545 (struct grub_term_input): ... this, and ...
40546 (struct grub_term_output): ... this. Update all users.
40547 (grub_term_set_current): Split in ...
40548 (grub_term_set_current_input): ... this, and ...
40549 (grub_term_set_current_output): ... this.
40550 (grub_term_get_current): Split in ...
40551 (grub_term_get_current_input): ... this, and ...
40552 (grub_term_get_current_output): ... this.
40553 (grub_term_register): Split in ...
40554 (grub_term_register_input): ... this, and ...
40555 (grub_term_register_output): ... this.
40556 (grub_term_unregister): Split in ...
40557 (grub_term_unregister_input): ... this, and ...
40558 (grub_term_unregister_output): ... this.
40559 (grub_term_iterate): Split in ...
40560 (grub_term_iterate_input): ... this, and ...
40561 (grub_term_iterate_output): ... this.
40562
40563 * kern/term.c (grub_term_list): Split in ...
40564 (grub_term_list_input): ... this, and ...
40565 (grub_term_list_output): ... this. Update all users.
40566 (grub_cur_term): Split in ...
40567 (grub_cur_term_input): ... this, and ...
40568 (grub_cur_term_output): ... this. Update all users.
40569 (grub_term_set_current): Split in ...
40570 (grub_term_set_current_input): ... this, and ...
40571 (grub_term_set_current_output): ... this.
40572 (grub_term_get_current): Split in ...
40573 (grub_term_get_current_input): ... this, and ...
40574 (grub_term_get_current_output): ... this.
40575 (grub_term_register): Split in ...
40576 (grub_term_register_input): ... this, and ...
40577 (grub_term_register_output): ... this.
40578 (grub_term_unregister): Split in ...
40579 (grub_term_unregister_input): ... this, and ...
40580 (grub_term_unregister_output): ... this.
40581 (grub_term_iterate): Split in ...
40582 (grub_term_iterate_input): ... this, and ...
40583 (grub_term_iterate_output): ... this.
40584
40585 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
40586 a check for input and one for output (and only attempt to get keys
40587 from user when input works).
40588
40589 * util/grub-probe.c (grub_term_get_current): Split in ...
40590 (grub_term_get_current_input): ... this, and ...
40591 (grub_term_get_current_output): ... this.
40592 * util/grub-fstest.c: Likewise.
40593 * util/i386/pc/grub-setup.c: Likewise.
40594 * util/grub-editenv.c: Likewise.
40595
40596 Portability adjustments:
40597
40598 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40599 `term/i386/pc/at_keyboard.c'.
40600 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40601 grub_keyboard_controller_init() (now handled by terminal .init).
40602 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40603 grub_at_keyboard_init().
40604 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40605 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40606 at_keyboard.mod via input terminal interface).
40607 * include/grub/i386/coreboot/console.h: Convert into a stub for
40608 `<grub/i386/pc/console.h>'.
40609
40610 Migrate full terminals to new API:
40611
40612 * term/efi/console.c (grub_console_term): Split into ...
40613 (grub_console_term_input): ... this, and ...
40614 (grub_console_term_output): ... this. Update all users.
40615 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40616 (grub_ofconsole_init): Split into ...
40617 (grub_ofconsole_init_input): ... this, and ...
40618 (grub_ofconsole_init_output): ... this.
40619 (grub_ofconsole_term): Split into ...
40620 (grub_ofconsole_term_input): ... this, and ...
40621 (grub_ofconsole_term_output): ... this. Update all users.
40622 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40623 (grub_serial_term_input): ... this, and ...
40624 (grub_serial_term_output): ... this. Update all users.
40625 * term/i386/pc/console.c (grub_console_term): Split into ...
40626 (grub_console_term_input): ... this, and ...
40627 (grub_console_term_output): ... this. Update all users.
40628 (grub_console_term_input): Only enable it on PC/BIOS platform.
40629 (grub_console_init): Remove grub_keyboard_controller_init() call.
40630
40631 Migrate input terminals to new API:
40632
40633 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40634 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40635 i386-specific anyway).
40636 (grub_console_checkkey): Rename to ...
40637 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40638 users.
40639 (grub_keyboard_controller_orig): New variable.
40640 (grub_console_getkey): Rename to ...
40641 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40642 users.
40643 (grub_keyboard_controller_init): Static-ize. Save original
40644 controller value so that it can be restored ...
40645 (grub_keyboard_controller_fini): ... here (new function).
40646 (grub_at_keyboard_term): New structure.
40647 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40648 functions.
40649
40650 Migrate output terminals to new API:
40651
40652 * term/i386/pc/vga.c (grub_vga_term): Change type to
40653 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40654 members. Update all users.
40655 * term/gfxterm.c (grub_video_term): Change type to
40656 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40657 members. Update all users.
40658 * include/grub/i386/pc/console.h (grub_console_checkkey)
40659 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40660 etc).
40661
40662 Migrate `terminal' command and userland tools to new API:
40663
40664 * commands/terminal.c (grub_cmd_terminal): Split into ...
40665 (grub_cmd_terminal_input): ... this, and ...
40666 (grub_cmd_terminal_output): ... this.
40667 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40668 `terminal_input' and `terminal_output'.
40669 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40670 `terminal_input' / `terminal_output' API.
40671 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40672 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40673 provided ${GRUB_TERMINAL}, convert it).
40674
96e5d876 406752008-11-04 Robert Millan <rmh@aybabtu.com>
40676
40677 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40678 for FreeBSD.
40679 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40680
556f3775 406812008-11-03 Bean <bean123ch@gmail.com>
40682
40683 * kern/elf.c (grub_elf32_load): Revert to previous code.
40684 (grub_elf64_load): Likewise.
40685
40686 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40687
926b9823 406882008-11-01 Robert Millan <rmh@aybabtu.com>
40689
40690 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40691 (TARGET_CPPFLAGS): Likewise.
40692 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40693
1432e958 406942008-11-01 Carles Pina i Estany <carles@pina.cat>
40695
40696 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40697
dba3f844 406982008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 40699
40700 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40701 addition of objects until the code is not going to be able to fail.
40702
dba3f844 407032008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 40704
40705 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40706 (add a missing NULL check, and correct them by moving the pointer
40707 operations after the actual check).
40708
7ab28c21 407092008-10-29 Robert Millan <rmh@aybabtu.com>
40710
40711 * util/i386/pc/grub-install.in: Handle empty string as output from
40712 make_system_path_relative_to_its_root().
40713
1b7748eb 407142008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40715
40716 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40717 circular metadata worst case scenario. If the metadata is circular
40718 then copy the wrap in place.
40719 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40720 project lib/format_text/layout.h
40721 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
40722
c9618ab2 407232008-10-03 Felix Zielcke <fzielcke@z-51.de>
40724
7a36edca 40725 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 40726
bf981c62 407272008-10-03 Felix Zielcke <fzielcke@z-51.de>
40728
40729 * util/update-grub_lib.in: Mention filename in warning message.
40730
6d994591 407312008-09-29 Felix Zielcke <fzielcke@z-51.de>
40732
40733 * NEWS: Update for rename of update-grub to grub-mkconfig.
40734
18ade780 407352008-09-29 Felix Zielcke <fzielcke@z-51.de>
40736
40737 * util/update-grub_lib.in: Copy to ...
40738 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 40739 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 40740 * util/update-grub.in: Rename to ...
40741 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40742 option. Add `--output' option to allow users to specify the generated
40743 configuration file. Default to stdout.
40744 (update_grub_dir): Rename to ...
40745 (grub_mkconfig_dir): ... this.
40746 (grub_cfg): Default to an empty string.
40747 * conf/common.rmk (update-grub): Rename to ...
40748 (grub-mkconfig): ... this.
40749 (update-grub_lib): Copy to ...
40750 (grub-mkconfig_lib): ... this.
40751 (update-grub_SCRIPTS): Copy to ...
40752 (grub-mkconfig_SCRIPTS): ... this. Update all users.
40753 (update-grub_DATA): Rename to ...
40754 (grub-mkconfig_DATA): ... this.
40755
556ce6ac 407562008-09-28 Robert Millan <rmh@aybabtu.com>
40757
40758 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
40759 to `modified'. Add the real `created' field.
40760 (grub_iso9660_uuid): Use `modified' rather than `created' for
40761 constructing the UUID.
40762
407632008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 40764
40765 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40766 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40767
92274e85 407682008-09-28 Bean <bean123ch@gmail.com>
40769
40770 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40771 Thanks to Christian Franke for finding this bug.
40772
add6f17a 407732008-09-25 Robert Millan <rmh@aybabtu.com>
40774
40775 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40776 instances of grub_util_get_disk_name() (see previous commit).
40777
d2a367b8 407782008-09-25 Robert Millan <rmh@aybabtu.com>
40779
40780 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40781 `util/i386/get_disk_name.c'.
40782 * conf/i386-efi.rmk: Likewise.
40783 * conf/x86_64-efi.rmk: Likewise.
40784 * conf/i386-coreboot.rmk: Likewise.
40785 * conf/i386-ieee1275.rmk: Likewise.
40786 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40787 `util/ieee1275/get_disk_name.c'.
40788 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40789 * util/ieee1275/get_disk_name.c: Remove file.
40790 * util/i386/get_disk_name.c: Remove file.
40791 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40792 "hd%d" for device.map entries, rather than using
40793 grub_util_get_disk_name().
40794
81a06771 407952008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 40796
40797 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40798 warning.
40799 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40800
5a004279 408012008-09-24 Carles Pina i Estany <carles@pina.cat>
40802
40803 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40804 Changed to 0x5100.
40805 (GRUB_TERM_PPAGE): Changed to 0x4900.
40806
397093d3 408072008-09-24 Robert Millan <rmh@aybabtu.com>
40808
40809 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40810 macros (they were i386-pc specific).
40811 * include/grub/sparc64/ieee1275/console.h: Likewise.
40812 * include/grub/efi/console.h: Likewise.
40813
a91b6c7c 408142008-09-22 Bean <bean123ch@gmail.com>
40815
40816 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40817 resident and in attribute list.
40818
40819 * include/grub/ntfs.h (BMP_LEN): Removed.
40820
c40fd116 408212008-09-22 Bean <bean123ch@gmail.com>
40822
81a06771 40823 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 40824 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40825
40826 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40827 error occurs, as grub_disk_open will call grub_disk_close, which will
40828 call p->close (scsi).
40829
81a06771 408302008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 40831
40832 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40833 (AC_PREREQ): Bumped to 2.59.
40834 (AC_TRY_COMPILE): Replace obsolete macro with ...
40835 (AC_COMPILE_IFELSE): ... this.
40836 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40837 (AC_LINK_IFELSE): ... this.
40838
5dc43410 408392008-09-21 Felix Zielcke <fzielcke@z-51.de>
40840
40841 * autogen.sh: Add a call to `gendistlist.sh'.
40842
9035dce4 408432008-09-19 Christian Franke <franke@computer.org>
40844
40845 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40846 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40847 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40848 Export __enable_execute_stack() to modules.
40849 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40850 New function.
40851
7fd75377 408522008-09-09 Felix Zielcke <fzielcke@z-51.de>
40853
040030b3 40854 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40855 Sort the list.
40856
408572008-09-09 Felix Zielcke <fzielcke@z-51.de>
40858
40859 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 40860 #include <grub/util/hostdisk.h>.
40861
89d5ffcf 408622008-09-08 Robert Millan <rmh@aybabtu.com>
40863
40864 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40865 segments when their filesz is zero (grub_file_read() interprets
81a06771 40866 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 40867 Use `lowest_segment' rather than 0 for calculating the current
40868 segment load address.
40869
40da438f 408702008-09-08 Robert Millan <rmh@aybabtu.com>
40871
40872 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40873 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40874 clobbered useful information.
40875
ddbf5556 408762008-09-08 Robert Millan <rmh@aybabtu.com>
40877
40878 * include/grub/util/biosdisk.h: Move to ...
40879 * include/grub/util/hostdisk.h: ... here. Update all users.
40880 * util/biosdisk.c: Move to ...
40881 * util/hostdisk.c: ... here. Update all users.
40882
783d0f48 408832008-09-07 Robert Millan <rmh@aybabtu.com>
40884
40885 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40886 variables.
40887 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40888 and length can be stored directly in the `mbi->mmap_addr' and
40889 `mbi->mmap_length' struct fields.
40890
548e2ea5 408912008-09-07 Robert Millan <rmh@aybabtu.com>
40892
40893 * conf/i386.rmk: New file. Provides declaration for building
40894 `cpuid.mod'.
40895 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40896 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40897 variables.
40898 Include `conf/i386.mk'.
40899 * conf/i386-efi.rmk: Likewise.
40900 * conf/x86_64-efi.rmk: Likewise.
40901 * conf/i386-coreboot.rmk: Likewise.
40902 * conf/i386-ieee1275.rmk: Likewise.
40903
0ea85a37 409042008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40905
40906 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40907 Adds optimization support for BGR based modes.
40908
40909 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40910 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40911 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40912 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40913 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40914 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40915 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40916 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40917 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40918 (grub_video_i386_vbeblit_index_index): Likewise.
40919 (grub_video_i386_vbeblit_replace_directN): Added.
40920 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40921 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40922 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40923 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40924 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40925 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 40926 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 40927 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40928 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40929 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40930 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40931 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40932 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40933
40934 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40935 (grub_video_i386_vbefill_R8G8B8): Likewise.
40936 (grub_video_i386_vbefill_index): Likewise.
40937 (grub_video_i386_vbefill_direct32): Added.
40938 (grub_video_i386_vbefill_direct24): Likewise.
40939 (grub_video_i386_vbefill_direct16): Likewise.
40940 (grub_video_i386_vbefill_direct8): Likewise.
40941
81a06771 40942 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 40943 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40944 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40945 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40946 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40947 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 40948
0ea85a37 40949 * video/video.c (grub_video_get_blit_format): Updated to use new
40950 blit formats. Added handling for 16 bit color modes.
81a06771 40951
40952 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 40953 fillers.
40954 (common_blitter): Updated to use new blitters.
40955
40956 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40957 Removed.
40958 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40959 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40960 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40961 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40962 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40963 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40964 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40965 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40966 (grub_video_i386_vbeblit_index_index): Likewise.
40967 (grub_video_i386_vbeblit_replace_directN): Added.
40968 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40969 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40970 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40971 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40972 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40973 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40974 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40975 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40976 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40977 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40978 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40979 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40980 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 40981
0ea85a37 40982 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40983 (grub_video_i386_vbefill_R8G8B8): Likewise.
40984 (grub_video_i386_vbefill_index): Likewise.
40985 (grub_video_i386_vbefill_direct32): Added.
40986 (grub_video_i386_vbefill_direct24): Likewise.
40987 (grub_video_i386_vbefill_direct16): Likewise.
40988 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 40989
0ea85a37 40990 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40991 types.
81a06771 40992
0ea85a37 40993 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40994 types.
81a06771 40995
0ea85a37 40996 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40997 blitter types.
81a06771 40998
0ea85a37 40999 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
41000 types.
41001
e8a83df6 410022008-09-06 Felix Zielcke <fzielcke@z-51.de>
41003
41004 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
41005 RAID level 1.
41006
6bcd8ee5 410072008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 41008
6bcd8ee5 41009 * fs/iso9660.c (grub_iso9660_date): New structure.
41010 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
41011 (grub_iso9660_uuid): New function.
c375ae58 41012
59261157 410132008-09-05 Bean <bean123ch@gmail.com>
41014
41015 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
41016
41017 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
41018 insensitive bit for names in Win32 and Win32 & DOS namespace.
41019
41020 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
41021
41022 * include/grub/types.h (LONG_MAX): Likewise.
41023
58b6645a 410242008-09-04 Felix Zielcke <fzielcke@z-51.de>
41025
4ee55921 41026 * util/getroot.c: Include <config.h>.
41027 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
41028 add support for /dev/md/N devices and handle LVM double dash escaping.
41029
410302008-09-04 Felix Zielcke <fzielcke@z-51.de>
41031
41032 * config.guess: Update to latest version from config git.
41033 * config.sub: Likewise.
58b6645a 41034
9124f65d 410352008-09-03 Robert Millan <rmh@aybabtu.com>
41036
41037 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
41038 `disk->total_sectors'.
41039
81a06771 410402008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 41041
41042 * include/grub/normal.h: Fixed incorrect comment for
41043 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
41044
81a06771 410452008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 41046
41047 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
41048 values with defines.
41049
41050 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
41051 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
41052 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
41053 (GRUB_VBE_MODEATTR_COLOR): Likewise.
41054 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
41055 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
41056 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
41057 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
41058 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
41059 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
41060 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
41061 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
41062 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
41063 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
41064 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
41065 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
41066 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
41067 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
41068 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
41069
93d5cbf8 410702008-08-31 Robert Millan <rmh@aybabtu.com>
41071
41072 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
41073 declaration.
41074 (grub_multiboot): Fix a few warnings.
41075
21751d50 410762008-08-31 Robert Millan <rmh@aybabtu.com>
41077
41078 * loader/i386/pc/multiboot.c: Update comment not to say that
41079 boot_device support is unimplemented.
41080
e27a75c5 410812008-08-31 Robert Millan <rmh@aybabtu.com>
41082
41083 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
41084 or memory map support are unimplemented.
41085
81a06771 410862008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 41087
41088 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
41089
81a06771 410902008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 41091
41092 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
41093 total video memory in 'vbeinfo' output; show color format details for
41094 each video mode.
41095
7c5d8d95 410962008-08-30 Pavel Roskin <proski@gnu.org>
41097
41098 * util/genmoddep.c: Remove for real this time.
41099 * DISTLIST: Remove util/genmoddep.c.
41100
4cebd25a 411012008-08-30 Robert Millan <rmh@aybabtu.com>
41102
41103 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
41104 as required by Multiboot spec (it was already 4-byte aligned, but
41105 only by chance).
41106
b497a269 411072008-08-29 Pavel Roskin <proski@gnu.org>
41108
e3925185 41109 * kern/powerpc/ieee1275/crt0.S: Rename to ...
41110 * kern/powerpc/ieee1275/startup.S: ... this.
41111 * conf/powerpc-ieee1275.rmk: Adjust for the above.
41112 * DISTLIST: Likewise.
41113
b497a269 41114 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
41115 grub/cpu/kernel.h. Add start label for consistency with other
41116 platforms. Add grub_prefix immediately after start. Add jump
41117 to the code after grub_prefix.
41118 * include/grub/powerpc/kernel.h: Provide valid values for
41119 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
41120
6e5a42fe 411212008-08-29 Bean <bean123ch@gmail.com>
41122
41123 * configure.ac: Change host_os to cygwin for mingw.
41124 (asprintf): New check for function.
41125
41126 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
41127 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
41128
41129 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 41130 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 41131 sync, sleep and grub_util_get_disk_size for mingw.
41132
41133 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
41134 to get size in mingw.
41135 (open_device): Use flag O_BINARY if it's defined.
41136 (find_root_device): Add dummy code for mingw.
41137
41138 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
41139 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
41140 (get_scsi_disk_name): Return 0 for mingw.
41141
41142 * util/hostfs.c: #include <grub/util/misc.h>.
41143 (grub_hostfs_open): Use "rb" flag to open file, use
41144 grub_util_get_disk_size to get disk size for mingw.
41145
41146 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
41147 (asprintf): New function if HAVE_ASPRINTF is not set.
41148 (sync): New function for mingw.
41149 (sleep): Likewise.
41150 (grub_util_get_disk_size): Likewise.
41151
ab3f2673 411522008-08-28 Pavel Roskin <proski@gnu.org>
41153
41154 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41155 kern/time.c.
41156
1c282483 411572008-08-28 Robert Millan <rmh@aybabtu.com>
41158
41159 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
41160
678e849c 411612008-08-28 Robert Millan <rmh@aybabtu.com>
41162
41163 Change find_grub_drive() syntax so it doesn't prevent it from
41164 detecting NULL names as errors.
41165
41166 * util/biosdisk.c (find_grub_drive): Move free slot search code
41167 from here ...
41168 (find_free_slot): ... to here.
41169 (read_device_map): Use find_free_slot() to search for free slots.
41170
965c75ca 411712008-08-27 Marco Gerards <marco@gnu.org>
41172
41173 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
41174 (scsi_mod_SOURCES): New variable.
41175 (scsi_mod_CFLAGS): Likewise
41176 (scsi_mod_LDFLAGS): Likewise.
41177
41178 * disk/scsi.c: New file.
41179
41180 * include/grub/scsi.h: Likewise.
41181
41182 * include/grub/scsicmd.h: Likewise.
41183
41184 * disk/ata.c: Include <grub/scsi.h>.
41185 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
41186 instead.
41187 (grub_ata_iterate): Skip ATAPI devices.
41188 (grub_ata_open): Only handle ATAPI devices.
41189 (struct grub_atapi_read): Removed.
41190 (grub_atapi_readsector): Likewise.
41191 (grub_ata_read): No longer handle ATAPI devices.
41192 (grub_ata_write): Likewise.
41193 (grub_atapi_iterate): New function.
41194 (grub_atapi_read): Likewise.
41195 (grub_atapi_write): Likewise.
41196 (grub_atapi_open): Likewise.
41197 (grub_atapi_close): Likewise.
41198 (grub_atapi_dev): New variable.
41199 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
41200 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
41201
41202 * include/grub/disk.h (enum grub_disk_dev_id): Add
41203 `GRUB_DISK_DEVICE_SCSI_ID'.
41204
c07ae501 412052008-08-26 Robert Millan <rmh@aybabtu.com>
41206
41207 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
41208 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
41209 descriptive.
41210
5ed20adc 412112008-08-23 Bean <bean123ch@gmail.com>
41212
41213 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
41214 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41215 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
41216 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
41217 dm_nv.mod.
41218 (raid5rec_mod_SOURCES): New macro.
41219 (raid5rec_mod_CFLAGS): Likewise.
41220 (raid5rec_mod_LDFLAGS): Likewise.
41221 (raid6rec_mod_SOURCES): Likewise.
41222 (raid6rec_mod_CFLAGS): Likewise.
41223 (raid6rec_mod_LDFLAGS): Likewise.
41224 (mdraid_mod_SOURCES): Likewise.
41225 (mdraid_mod_CFLAGS): Likewise.
41226 (mdraid_mod_LDFLAGS): Likewise.
41227 (dm_nv_mod_SOURCES): Likewise.
41228 (dm_nv_mod_CFLAGS): Likewise.
41229 (dm_nv_mod_LDFLAGS): Likewise.
41230
41231 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
41232 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41233 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41234
41235 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
41236 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41237
41238 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41239
41240 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41241
41242 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41243
41244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41245
41246 * disk/raid5_recover.c: New file.
41247
41248 * disk/raid6_recover.c: Likewise.
41249
41250 * disk/mdraid_linux.c: Likewise.
41251
41252 * disk/dmraid_nvidia.c: Likewise.
41253
41254 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
41255 ULONG_MAX.
41256
41257 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
41258 calculate the size of raid device.
41259 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
41260 different layout of raid5.
41261 (grub_raid_scan_device): Remove code specific to mdraid.
41262 (grub_raid_list): New variable.
41263 (free_array): New function.
41264 (grub_raid_register): Likewise.
41265 (grub_raid_unregister): Likewise.
41266 (grub_raid_rescan): Likewise.
41267 (GRUB_MOD_INIT): Don't iterate device here.
41268 (GRUB_MOD_FINI): Use free_array to release resource.
41269
41270 * include/grub/raid.h: Remove macro and structure specific to mdraid.
41271 (grub_raid5_recover_func_t): New function variable type.
41272 (grub_raid6_recover_func_t): Likewise.
41273 (grub_raid5_recover_func): New variable.
41274 (grub_raid6_recover_func): Likewise.
41275 (grub_raid_register): New function.
41276 (grub_raid_unregister): Likewise.
41277 (grub_raid_rescan): Likewise.
41278 (grub_raid_block_xor): Likewise.
41279
41280 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
41281 (CMD_CRC): New macro.
41282 (part): Removed.
41283 (read_file): Handle device as well as file.
41284 (cmd_crc): New function.
41285 (fstest): Handle multiple disks.
41286 (options): Remove part, raw and long, add root and diskcount.
41287 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 41288 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 41289 add handling for the new options, support multiple disks.
41290
41291 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
41292
29c18915 412932008-08-23 Bean <bean123ch@gmail.com>
41294
41295 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
41296
41297 * genfslist.sh: Ignore kernel.mod.
41298
41299 * genpartmaplist.sh: Likewise.
41300
8415f261 413012008-08-23 Robert Millan <rmh@aybabtu.com>
41302
41303 * util/getroot.c (find_root_device): Skip anything that starts with
41304 a dot, not just directories. This avoids things like /dev/.tmp.md0.
41305
d5a7dc5b 413062008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 41307
d5a7dc5b 41308 * util/update-grub.in (GRUB_GFXMODE): Export variable.
41309 * util/grub.d/00_header.in: Allow the administrator to change default
41310 gfxmode via ${GRUB_GFXMODE}.
41311
380cfbb4 413122008-08-21 Felix Zielcke <fzielcke@z-51.de>
41313
41314 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
41315
c9baafe7 413162008-08-21 Robert Millan <rmh@aybabtu.com>
41317
41318 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
41319 loader.
41320 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
41321 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
41322
e290bef2 413232008-08-20 Carles Pina i Estany <carles@pina.cat>
41324
41325 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
41326 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
41327
f9dbfc96 413282008-08-19 Robert Millan <rmh@aybabtu.com>
41329
41330 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
41331 (struct grub_virtual_screen): Remove `cursor_color'.
41332 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
41333 initialization.
41334 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
41335
dd6bd6ab 413362008-08-18 Robert Millan <rmh@aybabtu.com>
41337
41338 Unify (identical) linux_normal.c files.
41339 * loader/i386/efi/linux_normal.c: Move from here ...
41340 * loader/linux_normal.c: ... to here. Update all users.
41341 * loader/i386/pc/linux_normal.c: Delete. Update all users.
41342 * loader/i386/ieee1275/linux_normal.c: Likewise.
41343
7f42f83e 413442008-08-18 Robert Millan <rmh@aybabtu.com>
41345
41346 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
41347 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
41348 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
41349 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
41350 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
41351 New macros.
41352 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
41353 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
41354 (GRUB_LINUX_CL_END_OFFSET): ... to here.
41355 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
41356 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
41357 (GRUB_EFI_CL_END_OFFSET): Rename to ...
41358 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
41359 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
41360 Initialize `params->video_cursor_x' and `params->video_cursor_y'
41361 portably using grub_getxy().
41362 Replace `-EFI' with `-bzImage' in boot message.
41363
38487ddb 413642008-08-17 Robert Millan <rmh@aybabtu.com>
41365
41366 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
41367
deceb3ec 413682008-08-17 Robert Millan <rmh@aybabtu.com>
41369
41370 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
41371
41372 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
41373 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
41374 (grub_machine_mmap_iterate): New function declaration.
41375 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
41376 structure.
41377 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
41378 macros.
41379
41380 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
41381 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
41382 Move e820 parsing from here ...
41383 * kern/i386/pc/mmap.c: New file.
41384 (grub_machine_mmap_iterate): ... to here.
41385
41386 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
41387 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
41388 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
41389 (grub_available_iterate): Redeclare to return `void', and redeclare
41390 its hook to use grub_uint64_t as addr and size parameters, and rename
41391 to ...
41392 (grub_machine_mmap_iterate): ... this. Update all users.
41393
41394 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
41395 to make it more readable. Rename to ...
41396 (grub_machine_mmap_iterate): ... this.
41397
41398 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
41399 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
41400 (grub_multiboot): Allocate an extra region after the payload, and fill
41401 it with a Multiboot memory map. Adjust a.out loader to calculate size
41402 with the extra space.
41403 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
41404 with the extra space.
41405
f8aa0f43 414062008-08-17 Carles Pina i Estany <carles@pina.cat>
41407
9807deb9 41408 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 41409
605f5bb6 414102008-08-17 Felix Zielcke <fzielcke@z-51.de>
41411
41412 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
41413 mdate-sh to the list `find' searches for.
41414 * DISTLIST: Regenerated.
41415
210db6c6 414162008-08-16 Felix Zielcke <fzielcke@z-51.de>
41417
41418 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
41419 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 41420 genmoddep.awk, gensymlist.sh.in.
41421 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 41422 * DISTLIST: Regenerated.
48cdbfd4 41423 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 41424
1082b929 414252008-08-16 Robert Millan <rmh@aybabtu.com>
41426
41427 * disk/raid.c (grub_raid_init): Handle/report errors set by
41428 grub_device_iterate().
41429 * disk/lvm.c (grub_lvm_init): Likewise.
41430
42ce5170 414312008-08-15 Bean <bean123ch@gmail.com>
41432
41433 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41434 and datehook.mod.
41435 (datetime_mod_SOURCES): New macro.
41436 (datetime_mod_CFLAGS): Likewise.
41437 (datetime_mod_LDFLAGS): Likewise.
41438 (date_mod_SOURCES): Likewise.
41439 (date_mod_CFLAGS): Likewise.
41440 (date_mod_LDFLAGS): Likewise.
41441 (datehook_mod_SOURCES): Likewise.
41442 (datehook_mod_CFLAGS): Likewise.
41443 (datehook_mod_LDFLAGS): Likewise.
41444
41445 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41446 and datehook.mod.
41447 (datetime_mod_SOURCES): New macro.
41448 (datetime_mod_CFLAGS): Likewise.
41449 (datetime_mod_LDFLAGS): Likewise.
41450 (date_mod_SOURCES): Likewise.
41451 (date_mod_CFLAGS): Likewise.
41452 (date_mod_LDFLAGS): Likewise.
41453 (datehook_mod_SOURCES): Likewise.
41454 (datehook_mod_CFLAGS): Likewise.
41455 (datehook_mod_LDFLAGS): Likewise.
41456
41457 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41458 and datehook.mod.
41459 (datetime_mod_SOURCES): New macro.
41460 (datetime_mod_CFLAGS): Likewise.
41461 (datetime_mod_LDFLAGS): Likewise.
41462 (date_mod_SOURCES): Likewise.
41463 (date_mod_CFLAGS): Likewise.
41464 (date_mod_LDFLAGS): Likewise.
41465 (datehook_mod_SOURCES): Likewise.
41466 (datehook_mod_CFLAGS): Likewise.
41467 (datehook_mod_LDFLAGS): Likewise.
41468
41469 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41470 and datehook.mod.
41471 (datetime_mod_SOURCES): New macro.
41472 (datetime_mod_CFLAGS): Likewise.
41473 (datetime_mod_LDFLAGS): Likewise.
41474 (date_mod_SOURCES): Likewise.
41475 (date_mod_CFLAGS): Likewise.
41476 (date_mod_LDFLAGS): Likewise.
41477 (datehook_mod_SOURCES): Likewise.
41478 (datehook_mod_CFLAGS): Likewise.
41479 (datehook_mod_LDFLAGS): Likewise.
41480
41481 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41482 and datehook.mod.
41483 (datetime_mod_SOURCES): New macro.
41484 (datetime_mod_CFLAGS): Likewise.
41485 (datetime_mod_LDFLAGS): Likewise.
41486 (date_mod_SOURCES): Likewise.
41487 (date_mod_CFLAGS): Likewise.
41488 (date_mod_LDFLAGS): Likewise.
41489 (datehook_mod_SOURCES): Likewise.
41490 (datehook_mod_CFLAGS): Likewise.
41491 (datehook_mod_LDFLAGS): Likewise.
41492
41493 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
41494
41495 * commands/date.c: New file.
41496
41497 * hook/datehook.c: Likewise.
41498
41499 * include/grub/lib/datetime.h: Likewise.
41500
41501 * include/grub/i386/cmos.h: Likewise.
41502
41503 * lib/datetime.c: Likewise.
41504
41505 * lib/i386/datetime.c: Likewise.
41506
41507 * lib/efi/datetime.c: Likewise.
41508
0e9242da 415092008-08-14 Robert Millan <rmh@aybabtu.com>
41510
41511 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
41512 (grub_mkelfimage_SOURCES): New variable.
41513 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
41514
41515 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
41516 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
41517 * conf/powerpc-ieee1275.rmk: Likewise.
41518 * conf/i386-ieee1275.rmk: Likewise.
41519
41520 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
41521 * kern/i386/coreboot/init.c: Likewise.
41522
41523 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
41524 with `<grub/cpu/kernel.h>'.
41525 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
41526 to ...
41527 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
41528 * kern/i386/coreboot/startup.S: Likewise.
41529
41530 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
41531 (GRUB_MOD_GAP): Remove.
41532 * include/grub/powerpc/kernel.h: New file.
41533 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
41534 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41535 * include/grub/i386/kernel.h: New file.
41536 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
41537 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
41538 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41539
41540 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
41541 `grub-mkelfimage'.
41542 Use --directory when invoking grub_mkimage.
41543
41544 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
41545 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
41546 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
41547 and GRUB_KERNEL_CPU_PREFIX.
41548
b86408f8 415492008-08-14 Felix Zielcke <fzielcke@z-51.de>
41550
d5e619ca 41551 * include/grub/err.h (grub_err_printf): New function prototype.
41552 * util/misc.c (grub_err_printf): New function.
41553 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
41554 grub_printf.
41555 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 41556
7161f0e0 415572008-08-13 Robert Millan <rmh@aybabtu.com>
41558
41559 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
41560
a1967522 415612008-08-13 Robert Millan <rmh@aybabtu.com>
41562
41563 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
41564 boot entry.
41565
371458b5 415662008-08-12 Robert Millan <rmh@aybabtu.com>
41567
41568 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
41569 of the relocation code from here ...
41570 (grub_multiboot): ... to here.
41571 (forward_relocator, backward_relocator): Move from here ...
41572 * kern/i386/loader.S (grub_multiboot_forward_relocator)
41573 (grub_multiboot_backward_relocator): ... to here.
41574 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
41575 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
41576 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
41577 (grub_multiboot_forward_relocator_end)
41578 (grub_multiboot_backward_relocator)
41579 (grub_multiboot_backward_relocator_end): New variables.
41580
05f9452b 415812008-08-12 Bean <bean123ch@gmail.com>
41582
41583 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
41584
20024ab0 415852008-08-11 Robert Millan <rmh@aybabtu.com>
41586
41587 * kern/i386/linuxbios/startup.S: Move from here ...
41588 * kern/i386/coreboot/startup.S: ... to here.
41589
41590 * kern/i386/linuxbios/init.c: Move from here ...
41591 * kern/i386/coreboot/init.c: ... to here.
41592
41593 * kern/i386/linuxbios/table.c: Move from here ...
41594 * kern/i386/coreboot/mmap.c: ... to here.
41595
41596 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41597
e352e9cd 415982008-08-11 Robert Millan <rmh@aybabtu.com>
41599
41600 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41601 errors. Leave it to the upper layer to handle them.
41602
2d05bc6a 416032008-08-09 Christian Franke <franke@computer.org>
41604
41605 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41606 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41607 Install `grub.d/10_windows' only on Cygwin.
41608 * configure.ac: Add subst of `target_os'.
41609 Check `target_os' also before setting TARGET_OBJ2ELF.
41610 Add `--enable-grub-pe2elf'.
41611
042bd419 416122008-08-08 Robert Millan <rmh@aybabtu.com>
41613
41614 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41615 (grub_last_time): Change type to grub_uint64_t.
41616 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41617 (grub_disk_close): Likewise.
41618
41619 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41620 (run_menu): Migrate code from to using grub_get_time_ms().
41621
41622 * util/misc.c (grub_get_time_ms): New function.
41623
7f280db5 416242008-08-08 Marco Gerards <marco@gnu.org>
41625
41626 * disk/ata.c (grub_ata_regget): Change return type to
41627 `grub_uint8_t'.
41628 (grub_ata_regget2): Likewise.
41629 (grub_ata_wait_status): New function.
41630 (grub_ata_wait_busy): Removed function, updated all users to use
41631 `grub_ata_wait_status'.
41632 (grub_ata_wait_drq): Likewise.
41633 (grub_ata_cmd): New function.
41634 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41635 error handling.
41636 (grub_ata_pio_write): Add error handling.
41637 (grub_atapi_identify): Likewise.
41638 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41639 handling.
41640 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41641 handling. Actually use the detected registers. Reorder the
41642 detection logic such that it is easier to read.
41643 (grub_ata_pciinit): Do not assign the same ID to each controller.
41644 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41645 handling.
41646 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41647
41648 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41649
1fbc5e66 416502008-08-08 Marco Gerards <marco@gnu.org>
41651
41652 * NEWS: Update.
41653
819ce6c0 416542008-08-07 Bean <bean123ch@gmail.com>
41655
41656 * include/grub/x86_64/pci.h: New file.
41657
5c41d44d 416582008-08-07 Christian Franke <franke@computer.org>
41659
41660 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41661 (TIMER2_GATE): Likewise.
41662 (grub_pit_wait): Add enable/disable of the timer2 gate
41663 bit of port 0x61. This fixes a possible infinite loop.
41664
5ebc275d 416652008-08-07 Bean <bean123ch@gmail.com>
41666
41667 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41668 kern/i386/tsc.c and kern/i386/pit.c.
41669
41670 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41671 x86_64 platform.
41672
41673 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41674 <grub/i386/tsc.h>.
41675
41676 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41677
e383b3d0 416782008-08-07 Bean <bean123ch@gmail.com>
41679
41680 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41681
41682 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41683
41684 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41685 multiple inclusion. Add #include <grub/types.h>.
41686
1cbb58ac 416872008-08-06 Christian Franke <franke@computer.org>
41688
41689 * conf/common.rmk: Build and install `10_windows'.
41690 * util/grub.d/10_windows.in: New script.
41691
337f5a1e 416922008-08-06 Pavel Roskin <proski@gnu.org>
41693
41694 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41695
057bc4ac 416962008-08-06 Robert Millan <rmh@aybabtu.com>
41697
41698 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41699 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41700
2b99f123 417012008-08-06 Bean <bean123ch@gmail.com>
41702
41703 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41704 (grub_pxefs_fs_int): Remove dummy definition.
41705 (grub_pxefs_open): Use data->block_size to store the current block
41706 size setting.
41707 (grub_pxefs_read): Use block size stored in data->block_size. As the
41708 value of grub_pxe_blksize can be changed after the file is opened.
41709
9f0234cb 417102008-08-06 Bean <bean123ch@gmail.com>
41711
41712 * fs/i386/pc/pxe.c (curr_file): new variable.
41713 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41714 require the dummy internal file system anymore.
41715 (grub_pxefs_read): Removed.
41716 (grub_pxefs_close): Likewise.
41717 (grub_pxefs_fs_int): Likewise.
41718 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41719 connection when we switch file.
41720 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41721
a55d42e0 417222008-08-06 Robert Millan <rmh@aybabtu.com>
41723
41724 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
41725 `halt.mod'.
41726 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
41727 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
41728
41729 * kern/i386/halt.c: New file.
41730 * kern/i386/reboot.c: Likewise.
41731 * include/grub/i386/reboot.h: Likewise.
41732 * include/grub/i386/halt.h: Likewise.
41733
41734 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41735 Include `<grub/cpu/halt.h>'.
41736 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41737 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41738
41739 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41740 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41741 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41742 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41743 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41744 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41745 from here ...
41746 * include/grub/i386/at_keyboard.h: ... to here.
41747
24371d26 417482008-08-05 Robert Millan <rmh@aybabtu.com>
41749
41750 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
41751 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
41752 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
41753 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41754 `kern/generic/millisleep.c'.
41755
41756 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
41757 instead of grub_get_rtc().
41758 (grub_tsc_init): Initialize `tsc_boot_time'.
41759
41760 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
41761 (grub_machine_init): Use grub_tsc_init() rather than
41762 installing an RTC-based handler via grub_install_get_time_ms().
41763
41764 * kern/i386/pit.c: New file.
41765 * include/grub/i386/pit.h: Likewise.
41766
9e7007b3 417672008-08-05 Bean <bean123ch@gmail.com>
41768
41769 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41770
41771 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41772 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41773 (pxe_mod_SOURCES): New macro.
41774 (pxe_mod_CFLAGS): Likewise.
41775 (pxe_mod_LDFLAGS): Likewise.
41776 (pxecmd_mod_SOURCES): Likewise.
41777 (pxecmd_mod_CFLAGS): Likewise.
41778 (pxecmd_mod_LDFLAGS): Likewise.
41779
41780 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41781 (grub_pxe_call): Likewise.
41782
41783 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41784
41785 * commands/i386/pc/pxecmd.c: New file.
41786
9f0234cb 41787 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 41788
41789 * include/grub/i386/pc/pxe.h: Likewise.
41790
6977d49f 417912008-08-05 Bean <bean123ch@gmail.com>
41792
41793 * util/console.c (grub_console_cur_color): New variable.
41794 (grub_console_standard_color): Likewise.
41795 (grub_console_normal_color): Likewise.
41796 (grub_console_highlight_color): Likewise.
41797 (color_map): Likewise.
41798 (use_color): Likewise.
41799 (NUM_COLORS): New macro.
41800 (grub_ncurses_setcolorstate): Handle color properly.
41801 (grub_ncurses_setcolor): Don't change color here, just remember the
41802 settings, color will be set in grub_ncurses_setcolorstate.
41803 (grub_ncurses_getcolor): New function.
41804 (grub_ncurses_init): Initialize color pairs.
41805 (grub_ncurses_term): New member grub_ncurses_getcolor.
41806
9c2ff3ee 418072008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 41808
9c2ff3ee 41809 High resolution timer support. Implemented for x86 CPUs using TSC.
41810 Extracted generic grub_millisleep() so it's linked in only as needed.
41811 This requires a Pentium compatible CPU; if the RDTSC instruction is
41812 not supported, then it falls back on the generic grub_get_time_ms()
41813 implementation that uses the machine's RTC.
41814
41815 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41816 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41817 `kern/generic/millisleep.c'.
41818
41819 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41820 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41821
41822 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41823 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41824
41825 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41826
41827 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41828 `kern/generic/millisleep.c'.
41829
41830 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41831
41832 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41833
41834 * kern/generic/rtc_get_time_ms.c: New file.
41835
41836 * kern/generic/millisleep.c: New file.
337f5a1e 41837
9c2ff3ee 41838 * kern/misc.c: Don't include
41839 <kern/time.h> anymore.
41840 (grub_millisleep_generic): Removed.
41841
41842 * commands/sleep.c (grub_interruptible_millisleep): Uses
41843 grub_get_time_ms() instead of grub_get_rtc().
41844
41845 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41846 function.
41847 (grub_cpu_is_cpuid_supported): New inline function.
41848 (grub_cpu_is_tsc_supported): New inline function.
41849 (grub_tsc_init): New function prototype.
41850 (grub_tsc_get_time_ms): New function prototype.
41851
41852 * kern/i386/tsc.c (grub_get_time_ms): New file.
41853
41854 * include/grub/time.h: Include <grub/types.h.
41855 (grub_millisleep_generic): Removed.
41856 (grub_get_time_ms): New prototype.
41857 (grub_install_get_time_ms): New prototype.
41858 (grub_rtc_get_time_ms): New prototype.
41859
41860 * kern/time.c (grub_get_time_ms): New function.
41861 (grub_install_get_time_ms): New function.
41862
41863 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41864 <grub/time.h> anymore.
41865 (grub_millisleep): Removed.
41866 (grub_machine_init): Call grub_tsc_init.
41867
41868 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41869 get_time_ms() implementation.
41870
41871 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41872 (ieee1275_get_time_ms): New function.
41873 (grub_machine_init): Install get_time_ms() implementation.
41874
41875 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41876 (grub_machine_init): Call grub_tsc_init().
41877 (grub_millisleep): Removed.
bf06a93f 41878
9c2ff3ee 41879 * kern/ieee1275/init.c (grub_millisleep): Removed.
41880 (grub_machine_init): Install ieee1275_get_time_ms()
41881 implementation.
41882 (ieee1275_get_time_ms): New function.
41883 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41884 real work.
41885
9ec92aaf 418862008-08-05 Marco Gerards <marco@gnu.org>
41887
41888 * disk/ata.c: Include <grub/pci.h>.
41889 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41890 (grub_ata_initialize): Rewritten.
41891 (grub_ata_device_initialize): New function.
41892
8d23f507 418932008-08-04 Pavel Roskin <proski@gnu.org>
41894
41895 * kern/main.c: Include grub/mm.h.
41896
5e15ee3d 418972008-08-04 Robert Millan <rmh@aybabtu.com>
41898
41899 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41900 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41901 corruption problem).
41902
a9053f8f 419032008-08-04 Robert Millan <rmh@aybabtu.com>
41904
41905 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41906 warnings introduced in my last commit.
41907
dd19c7d7 419082008-08-03 Robert Millan <rmh@aybabtu.com>
41909
41910 Make PCI available on all i386 architectures.
41911
41912 * include/grub/i386/pc/pci.h: Move from here ...
41913 * include/grub/i386/pci.h: ... to here.
41914
41915 * include/grub/i386/pc/pci.h: Remove.
41916 * include/grub/i386/efi/pci.h: Remove.
41917 * include/grub/x86_64/efi/pci.h: Remove.
41918
41919 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41920 `<grub/cpu/pci.h>'.
41921
41922 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41923 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41924 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41925
41926 * conf/i386-ieee1275.rmk: Likewise.
41927
e14a6184 419282008-08-03 Robert Millan <rmh@aybabtu.com>
41929
41930 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41931 (grub_console_setcursor): Make it possible to set cursor off.
41932
52768e37 419332008-08-03 Robert Millan <rmh@aybabtu.com>
41934
41935 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41936 of modules instead of assuming which platform provides what.
41937 * util/update-grub.in: Likewise.
41938
2d52f57f 419392008-08-03 Robert Millan <rmh@aybabtu.com>
41940
41941 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41942 instead of `grub_install_dos_part' to determine whether a drive needs
41943 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 41944 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 41945
2a5cd121 419462008-08-02 Robert Millan <rmh@aybabtu.com>
41947
41948 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41949
93808428 419502008-08-02 Robert Millan <rmh@aybabtu.com>
41951
41952 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41953 of informational grub_dprintf() calls.
41954
3bd0a12a 419552008-08-02 Robert Millan <rmh@aybabtu.com>
41956
41957 * disk/memdisk.c (memdisk_size): Don't initialize.
41958 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41959
41960 * include/grub/i386/pc/kernel.h
41961 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41962 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41963 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41964 (grub_arch_memdisk_size): Remove.
41965
41966 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41967 field (was only used to transfer a constant). Add `type' field to
41968 support multiple module types.
41969 (grub_module_iterate): New function.
41970
41971 * kern/device.c (grub_device_open): Do not hide error messages
41972 when grub_disk_open() fails. Use grub_print_error() instead.
41973
41974 * kern/i386/pc/init.c (grub_arch_modules_addr)
41975 (grub_arch_memdisk_size): Remove functions.
41976 (grub_arch_modules_addr): Return the module address in high memory
41977 (now that it isn't copied anymore).
41978
41979 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41980 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41981 decompression routine (grub_total_module_size already includes that
41982 now). Don't copy modules back to low memory.
41983
41984 * kern/main.c: Include `<grub/mm.h>'.
41985 (grub_load_modules): Split out (and use) ...
41986 (grub_module_iterate): ... this function, which iterates through
41987 module objects and runs a hook.
41988 Comment out grub_mm_init_region() call, as it would cause non-ELF
41989 modules to be overwritten.
41990
41991 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41992 the memdisk image in its own region, make it part of the module list.
41993 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41994 (main): Parse --memdisk|-m option, and pass user-provided path as
41995 parameter to generate_image().
41996 (add_segments): Pass `memdisk_path' down to load_modules().
41997 (load_modules): Embed memdisk image in module section when requested.
41998 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41999 `header.type' instead of `header.offset'.
42000
42001 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
42002 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
42003 (memdisk_mod_LDFLAGS): New variables.
42004 * conf/i386-coreboot.rmk: Likewise.
42005 * conf/i386-ieee1275.rmk: Likewise.
42006
a927cc73 420072008-08-02 Robert Millan <rmh@aybabtu.com>
42008
42009 * loader/i386/pc/multiboot.c (playground, forward_relocator)
42010 (backward_relocator): New variables. Used to allocate and relocate
42011 the payload, respectively.
42012 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 42013 address, install the appropriate relocator code in each bound of
a927cc73 42014 the payload, and set the entry point such that
42015 grub_multiboot_real_boot() will jump to one of them.
42016
42017 * kern/i386/loader.S (grub_multiboot_payload_size)
42018 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42019 (grub_multiboot_payload_entry_offset): New variables.
42020 (grub_multiboot_real_boot): Set cpu context to what the relocator
42021 expects, and jump to the relocator instead of the payload.
42022
42023 * include/grub/i386/loader.h (grub_multiboot_payload_size)
42024 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42025 (grub_multiboot_payload_entry_offset): Export.
42026
b15d8a0c 420272008-08-01 Bean <bean123ch@gmail.com>
42028
42029 * normal/menu_entry.c (editor_getline): Don't return the original
42030 string as result, as it will be released by lexer once it has done
42031 using it.
42032
cdfb3d22 420332008-08-01 Robert Millan <rmh@aybabtu.com>
42034
42035 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
42036 within menuentries, not before them.
42037 util/grub.d/10_hurd.in: Likewise.
42038
9175e93d 420392008-08-01 Bean <bean123ch@gmail.com>
42040
42041 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
42042 (bufio_mod_SOURCES): New macro.
42043 (bufio_mod_CFLAGS): Likewise.
42044 (bufio_mod_LDFLAGS): Likewise.
42045
42046 * include/grub/bufio.h: New file.
42047
42048 * io/bufio.c: Likewise.
42049
42050 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
42051 (grub_video_reader_png): Use grub_buffile_open to open file.
42052
42053 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
42054 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
42055
42056 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
42057 (grub_video_reader_tga): Use grub_buffile_open to open file.
42058
42059 * font/manager.c: Include <grub/bufio.h>.
42060 (add_font): Use grub_buffile_open to open file.
42061
3d8383e7 420622008-07-31 Robert Millan <rmh@aybabtu.com>
42063
42064 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
42065 ELF segments, use a macro for arbitrarily accessing any of them instead
42066 of preparing a pointer that allows access to one at a time.
42067 (grub_multiboot_load_elf64): Likewise.
42068
16e641b6 420692008-07-31 Bean <bean123ch@gmail.com>
42070
42071 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
42072 GRUB_KERNEL_MACHINE_DATA_END.
42073
59198b72 420742008-07-30 Robert Millan <rmh@aybabtu.com>
42075
42076 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
42077 Increase from 0x50 to 0x60.
42078 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
42079 use UUIDs to identify the root drive for them. If that's not
42080 possible, abort.
42081 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
42082 check, for cross-disk installs.
42083
ae88bca3 420842008-07-30 Robert Millan <rmh@aybabtu.com>
42085
42086 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
42087 is non-empty, use it to set the `prefix' environment variable instead
42088 of the usual approach.
42089 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
42090 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
42091 environment variable instead of dummy make_install_device().
42092
42093 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
42094 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 42095 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 42096
42097 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
42098 New variable reference.
42099 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
42100 New macro. Defines offset of `grub_prefix' within startup.S (relative
42101 to `start').
42102 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
42103 section within startup.S (relative to `start').
42104 * include/grub/i386/coreboot/kernel.h: Likewise.
42105
42106 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
42107 Overwrite grub_prefix with its contents, at the beginning of the
42108 first segment.
42109 (main): Understand -p|--prefix.
42110
14f41dd1 421112008-07-30 Robert Millan <rmh@aybabtu.com>
42112
42113 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
42114
4ca049a3 421152008-07-30 Robert Millan <rmh@aybabtu.com>
42116
42117 * term/i386/pc/vga_text.c (grub_console_cls): Use
42118 grub_console_gotoxy() to go back to beginning of the screen.
42119 Found by Patrick Georgi <patrick.georgi@coresystems.de>
42120
2921d337 421212008-07-29 Christian Franke <franke@computer.org>
42122
42123 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42124 Add conversion of emulated mount points on Cygwin.
42125
b609876d 421262008-07-29 Christian Franke <franke@computer.org>
42127
42128 * util/update-grub.in: Add a check for admin
42129 group on Cygwin.
42130 Remove old `grub.cfg.new' before creation.
42131 Add `-f' to `mv' to handle the different filesystem
42132 semantics of Windows.
42133
e93e4679 421342008-07-29 Bean <bean123ch@gmail.com>
42135
42136 * normal/main.c (get_line): Fix buffer overflow bug.
42137
41694fd0 421382008-07-28 Robert Millan <rmh@aybabtu.com>
42139
42140 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
42141 (struct grub_apple_header): New struct. Describes the layout of
42142 the partmap header.
42143 (apple_partition_map_iterate): Check the header magic as well as the
42144 partition magic (which was already being checked).
42145
cfd0b4e6 421462008-07-28 Pavel Roskin <proski@gnu.org>
42147
42148 * genmk.rb: Add a warning to the beginning of the output that
42149 it's a generated file and should not be edited.
42150
93cce016 421512008-07-28 Robert Millan <rmh@aybabtu.com>
42152
42153 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
42154 with the same number are found, just use issue a warning with
42155 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 42156
cd1df915 421572008-07-27 Robert Millan <rmh@aybabtu.com>
42158
42159 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
42160 information.
42161
b70a8427 421622008-07-27 Bean <bean123ch@gmail.com>
42163
42164 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
42165 (grub_fat_find_dir): Ignore case when comparing filename.
42166
8f5e379f 421672008-07-27 Bean <bean123ch@gmail.com>
42168
42169 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
42170 smallino, as it's more descriptive, and i8count can be confused with
42171 the other field count.
42172 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
42173 inode type.
42174
a85cd5a0 421752008-07-27 Bean <bean123ch@gmail.com>
42176
42177 * commands/crc.c: New file.
42178
42179 * lib/crc.c: Likewise.
42180
42181 * include/grub/lib/crc.h: Likewise.
42182
42183 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
42184
42185 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
42186 (hexdump): Move this function to ...
42187
42188 * lib/hexdump.c: ... here.
42189
42190 * include/grub/hexdump.h: Renamed to ...
42191
42192 * include/grub/lib/hexdump.h: ... this.
42193
42194 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
42195
42196 * util/grub-editenv.c: Likewise.
42197
42198 * include/envblk.h: Renamed to ...
42199
42200 * include/lib/envblk.h: ... this.
42201
42202 * util/envblk.c: Renamed to ...
42203
42204 * lib/envblk.c: ... this.
42205
42206 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
42207 lib/hexdump.c.
42208 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
42209 (pkglib_MODULES): Add crc.mod.
42210 (hexdump_mod_SOURCES): Add lib/hexdump.c.
42211 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
42212 (crc_mod_SOURCES): New macro.
42213 (crc_mod_CFLAGS): Likewise.
42214 (crc_mod_LDFLAGS): Likewise.
42215
42216 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
42217
42218 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42219
42220 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42221
42222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42223
42224 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42225
c298def0 422262008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 42227
42228 * commands/help.c: Include <grub/term.h>.
42229 (TERM_WIDTH): Removed. Updated all users.
42230
cc349fb3 422312008-07-27 Pavel Roskin <proski@gnu.org>
42232
42233 * util/getroot.c (find_root_device): Rephrase a comment to avoid
42234 spurious warnings about a comment within a comment.
42235
9051607e 422362008-07-25 Robert Millan <rmh@aybabtu.com>
42237
42238 * util/getroot.c (find_root_device): Skip devices that match
42239 /dev/dm-[0-9]. This lets the real device be found for any type of
42240 abstraction (LVM, EVMS, RAID..).
42241 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
42242 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
42243 device is found first, find_root_device() will now skip it.
42244
01453bfc 422452008-07-24 Pavel Roskin <proski@gnu.org>
42246
42247 * include/grub/types.h: Use __builtin_bswap32() and
42248 __builtin_bswap64() with gcc 4.3 and newer.
42249
6af9849f 422502008-07-24 Christian Franke <franke@computer.org>
42251
3a0fa256 42252 * util/i386/pc/grub-install.in: If `--debug' is specified,
42253 pass `--verbose' to grub-setup.
42254 Abort script if make_system_path_relative_to_its_root() fails.
42255
7810e747 422562008-07-24 Bean <bean123ch@gmail.com>
42257
42258 * configure.ac: Fixed a bug caused by the previous cygwin patch,
42259 variable `target_platform' should be `platform'.
42260
42290e17 422612008-07-24 Bean <bean123ch@gmail.com>
42262
51cc5193 42263 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 42264 (grub_png_init_fixed_block): New function.
42265 (grub_png_decode_image_data): Handle fixed huffman code compression.
42266
2a8a80e4 422672008-07-24 Bean <bean123ch@gmail.com>
42268
42269 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
42270 (grub_pe2elf_SOURCES): New macro.
42271 (CLEANFILES): Add grub-pe2elf.
42272
42273 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
42274 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
42275 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
42276 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
42277 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
42278 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
42279 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
42280 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
42281 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
42282 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
42283 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
42284 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
42285 (GRUB_PE32_DT_FUNCTION): Likewise.
42286 (GRUB_PE32_REL_I386_DIR32): Likewise.
42287 (GRUB_PE32_REL_I386_REL32): Likewise.
42288 (grub_pe32_symbol): New structure.
42289 (grub_pe32_reloc): Likewise.
42290
42291 * util/grub-pe2elf.c: New file.
42292
42293 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
42294 start symbol in non pc platform.
42295
42296 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
42297
42298 The following patches are from Christian Franke.
42299
42300 * include/grub/dl.h: Remove .previous, gas supports this only
42301 for ELF format.
42302
42303 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
42304 Remove .type, gas supports this only for ELF format.
42305
42306 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
42307 nullbytes in symbol table. This fixes an infinite loop if table is
42308 zero filled.
42309
42310 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
42311 TARGET_IMG_LDFLAGS and EXEEXT.
42312
42313 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
42314 TARGET_IMG_LDFLAGS_AC.
42315 (grub_CHECK_STACK_ARG_PROBE): New function.
42316
42317 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
42318
42319 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
42320
42321 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
42322 to set TARGET_IMG_LD* accordingly.
42323 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
42324 Add call to grub_CHECK_STACK_ARG_PROBE.
42325 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
42326
42327 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
42328
42329 * genmk.rb: Add EXEEXT to CLEANFILES.
42330
12ccdb75 423312008-07-23 Robert Millan <rmh@aybabtu.com>
42332
42333 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
42334 define the codes for arrows and lines used for the menu).
42335 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
42336 as well.
42337
42338 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
42339 fonts, because the latter are too slow.
42340
18eeaf04 423412008-07-21 Bean <bean123ch@gmail.com>
42342
42343 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
42344 a20. Run keyboard test last, as it will cause macbook to halt.
42345
b095e2ad 423462008-07-18 Pavel Roskin <proski@gnu.org>
42347
42348 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
42349 load foreign architecture modules correctly anyway. Keep
42350 support for loading host architecture modules, whether we
42351 compile them or not.
42352
737feb35 423532008-07-17 Pavel Roskin <proski@gnu.org>
42354
3f4ce737 42355 * configure.ac: Use -m32 or -m64 regardless of whether we had to
42356 change target_cpu. The compiler default can mismatch target_cpu
42357 in any case.
42358
4ad2d049 42359 * disk/efi/efidisk.c: Fix format warnings on x86_64.
42360 * kern/efi/efi.c: Likewise.
42361
f6130a12 42362 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
42363 target compiler is functional.
42364 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
42365 are set up.
42366
58393a2d 42367 * configure.ac: Default to efi platform for x86_64-apple. Allow
42368 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
42369 adjustments from the rest, only do them if target is not
42370 explicitly given. Merge other adjustments with the final sanity
42371 check. Remove an extraneous check for supported CPU. Be
42372 specific which CPU and which platform is not supported.
42373
737feb35 42374 * configure.ac: Default to pc platform for x86_64.
42375
546f966a 423762008-07-17 Robert Millan <rmh@aybabtu.com>
42377
42378 Partial LinuxBIOS -> Coreboot rename.
42379
42380 * conf/i386-linuxbios.rmk: Renamed to ...
42381 * conf/i386-coreboot.rmk: ... this.
42382 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
42383 * configure.ac: Accept "coreboot" as input platform (but maintain
42384 compatibility with "linuxbios").
42385 * include/grub/i386/linuxbios: Renamed to ...
42386 * include/grub/i386/coreboot: ... this.
42387
20011694 423882008-07-17 Bean <bean123ch@gmail.com>
42389
42390 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 42391 (appleldr_mod_SOURCE): New variable.
20011694 42392 (appleldr_mod_CFLAGS): Likewise.
42393 (appleldr_mod_LDFLAGS): Likewise.
42394 (pci_mod_SOURCES): Likewise.
42395 (pci_mod_CFLAGS): Likewise.
42396 (pci_mod_LDFLAGS): Likewise.
42397 (lspci_mod_SOURCES): Likewise.
42398 (lspci_mod_CFLAGS): Likewise.
42399 (lspci_mod_LDFLAGS): Likewise.
42400
42401 * conf/x86_64-efi.rmk: New file.
42402
42403 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
42404 macro.
42405 (grub_efidisk_write): Likewise.
42406
42407 * include/efi/api.h (efi_call_0): New macro.
42408 (efi_call_1): Likewise.
42409 (efi_call_2): Likewise.
42410 (efi_call_3): Likewise.
42411 (efi_call_4): Likewise.
42412 (efi_call_5): Likewise.
42413 (efi_call_6): Likewise.
42414
42415 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
42416 grub_rescue_cmd_chainloader.
42417
42418 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
42419 (grub_pe32_optional_header): Change some fields based on i386 or
42420 x86_64 platform.
42421 (GRUB_PE32_PE32_MAGIC): Likewise.
42422
42423 * include/grub/efi/uga_draw.h: New file.
42424
42425 * include/grub/elf.h (STN_ABS): New constant.
42426 (R_X86_64_NONE): Relocation constant for x86_64.
42427 (R_X86_64_64): Likewise.
42428 (R_X86_64_PC32): Likewise.
42429 (R_X86_64_GOT32): Likewise.
42430 (R_X86_64_PLT32): Likewise.
42431 (R_X86_64_COPY): Likewise.
42432 (R_X86_64_GLOB_DAT): Likewise.
42433 (R_X86_64_JUMP_SLOT): Likewise.
42434 (R_X86_64_RELATIVE): Likewise.
42435 (R_X86_64_GOTPCREL): Likewise.
42436 (R_X86_64_32): Likewise.
42437 (R_X86_64_32S): Likewise.
42438 (R_X86_64_16): Likewise.
42439 (R_X86_64_PC16): Likewise.
42440 (R_X86_64_8): Likewise.
42441 (R_X86_64_PC8): Likewise.
42442
42443 * include/grub/i386/efi/pci.h: New file.
42444
42445 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
42446 Change it value based on platform.
42447 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
42448 (GRUB_E820_RAM): Likewise.
42449 (GRUB_E820_RESERVED): Likewise.
42450 (GRUB_E820_ACPI): Likewise.
42451 (GRUB_E820_NVS): Likewise.
42452 (GRUB_E820_EXEC_CODE): Likewise.
42453 (GRUB_E820_MAX_ENTRY): Likewise.
42454 (grub_e820_mmap): New structure.
42455 (linux_kernel_header): Change the efi field according to different
42456 kernel version, also field from linux_kernel_header.
42457
42458 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
42459
42460 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
42461 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
42462 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
42463 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
42464 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
42465 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
42466 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
42467 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
42468 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
42469 (GRUB_PCI_ADDR_IO_MASK): Likewise.
42470
42471 * include/grub/x86_64/efi/kernel.h: New file.
42472
42473 * include/grub/x86_64/efi/loader.h: Likewise.
42474
42475 * include/grub/x86_64/efi/machine.h: Likewise.
42476
42477 * include/grub/x86_64/efi/pci.h: Likewise.
42478
42479 * include/grub/x86_64/efi/time.h: Likewise.
42480
42481 * include/grub/x86_64/linux.h: Likewise.
42482
42483 * include/grub/x86_64/setjmp.h: Likewise.
42484
42485 * include/grub/x86_64/time.h: Likewise.
42486
42487 * include/grub/x86_64/types.h: Likewise.
42488
42489 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
42490 GRUB_TARGET_SIZEOF_VOID_P.
42491
42492 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
42493 (grub_efi_locate_handle): Likewise.
42494 (grub_efi_open_protocol): Likewise.
42495 (grub_efi_set_text_mode): Likewise.
42496 (grub_efi_stall): Likewise.
42497 (grub_exit): Likewise.
42498 (grub_reboot): Likewise.
42499 (grub_halt): Likewise.
42500 (grub_efi_exit_boot_services): Likewise.
42501 (grub_get_rtc): Likewise.
42502
42503 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
42504 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
42505 (grub_efi_allocate_pages): Wrap efi calls.
42506 (grub_efi_free_pages): Wrap efi calls.
42507 (grub_efi_get_memory_map): Wrap efi calls.
42508
42509 * kern/x86_64/dl.c: New file.
42510
42511 * kern/x86_64/efi/callwrap.S: Likewise.
42512
42513 * kern/x86_64/efi/startup.S: Likewise.
42514
42515 * loader/efi/appleloader.c: Likewise.
42516
42517 * loader/efi/chainloader.c (cmdline): New variable.
42518 (grub_chainloader_unload): Wrap efi calls.
42519 (grub_chainloader_boot): Likewise.
42520 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
42521 command line.
42522
42523 * loader/efi/chainloader_normal.c (chainloader_command):
42524 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
42525 command line.
42526
42527 * loader/i386/efi/linux.c (allocate_pages): Change allocation
42528 method.
42529 (grub_e820_add_region): New function.
42530 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
42531 booting.
42532 (grub_find_video_card): New function.
42533 (grub_linux_setup_video): New function.
42534 (grub_rescue_cmd_linux): Probe for video information.
42535
42536 * normal/x86_64/setjmp.S: New file.
42537
42538 * term/efi/console.c (map_char): New function.
42539 (grub_console_putchar): Map unicode char.
42540 (grub_console_checkkey): Wrap efi calls.
42541 (grub_console_getkey): Likewise.
42542 (grub_console_getwh): Likewise.
42543 (grub_console_gotoxy): Likewise.
42544 (grub_console_cls): Likewise.
42545 (grub_console_setcolorstate): Likewise.
42546 (grub_console_setcursor): Likewise.
42547
42548 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
42549
59652a20 425502008-07-16 Pavel Roskin <proski@gnu.org>
42551
ef294055 42552 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
42553 format strings.
42554
59652a20 42555 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
42556 pointer, not an integer. This fixes a warning and prevents
42557 precision loss on 64-bit systems.
42558 (relocate_addresses): Remove unneeded cast.
42559
afc3b5d7 425602008-07-15 Pavel Roskin <proski@gnu.org>
42561
506b2b3e 42562 * kern/i386/ieee1275/init.c: Include grub/cache.h.
42563
62ead89c 42564 * term/ieee1275/ofconsole.c: Disable code unused on i386.
42565
c4cd51d7 42566 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
42567 Fix comparison between signed and unsigned.
42568
0d3d8f28 42569 * include/grub/i386/ieee1275/console.h: Declare
42570 grub_console_init() and grub_console_fini().
42571
8804b286 42572 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
42573 It's empty and unused.
42574
ee01cf35 42575 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
42576 beginning to avoid warnings with some compilers.
42577
afc3b5d7 42578 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
42579 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
42580
e4e8eaa5 425812008-07-14 Pavel Roskin <proski@gnu.org>
42582
407aceb4 42583 * kern/env.c (grub_register_variable_hook): Don't copy empty
42584 string, it leaks memory. Pass "" to grub_env_set(), it should
42585 handle constant strings.
42586
e4e8eaa5 42587 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
42588 * commands/cmp.c (grub_cmd_cmp): Likewise.
42589 * kern/dl.c (grub_dl_flush_cache): Likewise.
42590 (grub_dl_load_core): Likewise.
42591 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
42592 (grub_elf64_load_phdrs): Likewise.
42593
d4e2dad3 425942008-07-13 Pavel Roskin <proski@gnu.org>
42595
42596 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42597 between signed and unsigned.
42598 (LzmaEnc_Finish): Fix warning about an unused parameter.
42599
aa24b516 426002008-07-13 Bean <bean123ch@gmail.com>
42601
42602 * Makefile.in (enable_lzo): New rule.
42603
42604 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42605
42606 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42607
42608 * boot/i386/pc/lnxboot.S: #include <config.h>.
42609
42610 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 42611 its value according to the compression algorithm used, lzo or lzma.
aa24b516 42612
42613 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42614 compression algorithm according to configure macro.
42615
42616 * kern/i386/pc/startup.S (codestart): Likewise.
42617
42618 * kern/i386/pc/lzma_decode.S: New file.
42619
42620 * include/grub/lib/LzFind.h: Likewise.
42621
42622 * include/grub/lib/LzHash.h: Likewise.
42623
42624 * include/grub/lib/LzmaDec.h: Likewise.
42625
42626 * include/grub/lib/LzmaEnc.h: Likewise.
42627
42628 * include/grub/lib/LzmaTypes.h: Likewise.
42629
42630 * lib/LzFind.c: Likewise.
42631
42632 * lib/LzmaDec.c: Likewise.
42633
42634 * lib/LzmaEnc.c: Likewise.
42635
4ae821ac 426362008-07-13 Bean <bean123ch@gmail.com>
42637
42638 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42639 (grub_ext4_extent_header): New structure.
42640 (grub_ext4_extent): Likewise.
42641 (grub_ext4_extent_idx): Likewise.
42642 (grub_ext4_find_leaf): New function.
42643 (grub_ext2_read_block): Handle extents.
42644
9a745147 426452008-07-12 Robert Millan <rmh@aybabtu.com>
42646
42647 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42648
d49a4cf6 426492008-07-11 Robert Millan <rmh@aybabtu.com>
42650
42651 * util/grub.d/40_custom.in: New file. Example on how to add custom
42652 entries to /etc/grub.d.
42653 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42654 40_custom (implicitly, by merging all the grub.d rules).
42655
947414b4 426562008-07-11 Pavel Roskin <proski@gnu.org>
42657
0059cf6f 42658 * commands/read.c (grub_getline): Fix invalid memory access.
42659 Don't add newline to the variable value.
42660
947414b4 42661 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42662 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42663 (serial_hw_get_port): Check validity of the port number.
42664 (grub_cmd_serial): Check return value of serial_hw_get_port().
42665
62a02d00 426662008-07-07 Pavel Roskin <proski@gnu.org>
42667
42668 * boot/i386/pc/diskboot.S (notification_string): Replace
42669 "Loading kernel" with just "loading". This is shorter, less
42670 confusing and saves a few bytes for possible future changes.
42671
3e5581b0 426722008-07-05 Pavel Roskin <proski@gnu.org>
42673
ea387a48 42674 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42675 size for ATAPI devices, they are undefined. Output sector
42676 number in decimal form.
42677
3e5581b0 42678 * disk/ata.c: Use named constants for status bits.
42679
fdecb8fd 426802008-07-04 Pavel Roskin <proski@gnu.org>
42681
bcd35b90 42682 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42683 grub_addr_t before casting it to the void pointer to fix a
42684 warning. Non-addressable regions are discarded earlier.
42685 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42686 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42687 (check_signature): Don't shadow table_header.
42688 (grub_linuxbios_table_iterate): Cast numeric constants to
42689 grub_linuxbios_table_header_t.
42690 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42691 grub_stop().
42692
af58ab3d 42693 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42694 prevent warnings.
42695
1759aa57 42696 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42697 pointer, which can cause warnings. Support 64-bit addresses.
42698
fdecb8fd 42699 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42700 of sizeof(long). This fixes PowerPC image generation on x86_64.
42701
8516d2a8 427022008-07-04 Robert Millan <rmh@aybabtu.com>
42703
42704 This fixes a performance issue when pc & gpt partmap iterators
42705 didn't abort iteration even after our hook found what it was
fe987087 42706 looking for (often causing expensive probes of non-existent drives).
8516d2a8 42707
42708 Some callers relied on previous buggy behaviour, since they would
34c44600 42709 raise an error when their own hooks caused early abortion of its
8516d2a8 42710 iteration.
42711
42712 * kern/device.c (grub_device_open): Improve error message.
42713 * disk/lvm.c (grub_lvm_open): Likewise.
42714 * disk/raid.c (grub_raid_open): Likewise.
42715
42716 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42717 when hook requests it, independently of grub_errno.
42718 (pc_partition_map_probe): Do not fail when find_func() caused
42719 early abortion of pc_partition_map_iterate().
42720
42721 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
42722 when hook requests it, independently of grub_errno.
42723 (gpt_partition_map_probe): Do not fail when find_func() caused
42724 early abortion of gpt_partition_map_iterate().
42725
42726 * kern/partition.c (grub_partition_iterate): Abort parent iteration
42727 when hook requests it, independently of grub_errno. Do not fail when
42728 part_map_iterate_hook() caused early abortion of p->iterate().
42729
42730 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
42731 when grub_partition_iterate() returned with non-zero.
42732
277d0de9 427332008-07-03 Pavel Roskin <proski@gnu.org>
42734
42735 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42736 like we do in grub_ata_pio_read().
42737 (grub_ata_readwrite): Always write individual sectors. Fix the
42738 sector count for the remainder.
42739 (grub_ata_write): Enable writing to ATA devices. Correctly
42740 report error for ATAPI devices.
42741
d4c9b428 427422008-07-02 Pavel Roskin <proski@gnu.org>
42743
e43fc690 42744 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42745 warning.
42746
f707af42 42747 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42748 for every read sector, we already increment it for the whole
42749 batch. This fixes reading more than 256 sectors at once.
42750
11e16b15 42751 * util/grub-editenv.c (cmd_info): Cast argument to long
42752 explicitly. ptrdiff_t reduces to int on i386.
42753
cbabfdd4 42754 * util/grub-editenv.c (main): Be specific which parameter is
42755 missing.
42756
b8fbce0a 42757 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
42758 (memdisk): Make memdisk_orig_addr a pointer.
42759
c9c8e606 42760 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
42761 for file offsets, use grub_off_t instead. Fix printf format
42762 warnings.
42763
ca62e598 42764 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42765 there. Real unexpected warnings should not drown in the noise
42766 about known problems.
42767
ce8d1766 42768 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42769 grub_disk_addr_t for memory addresses.
42770
00c7a56a 42771 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42772 explicitly to fix a warning.
42773
08d3ef09 42774 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42775
cb71ba20 42776 * Makefile.in (MODULE_LDFLAGS): New variable.
42777 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42778 the linker accepts --build-id=none.
42779 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42780 MODULE_LDFLAGS.
42781 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42782
d4c9b428 42783 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42784 those in Linux XFS code. Provide a way to access 64-bit parent
42785 inode.
42786 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42787 the end of struct grub_xfs_dir_header.
42788
d4156eee 427892008-07-02 Bean <bean123ch@gmail.com>
42790
42791 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42792 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42793 and GRUB_IEEE1275_FLAG_NO_ANSI.
42794
42795 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42796 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42797 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42798
42799 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42800 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42801
42802 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42803 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42804
42805 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42806 esc sequence on non ANSI terminal.
42807 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42808
42809 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42810 beginning of file.
42811
2270f77b 428122008-07-02 Bean <bean123ch@gmail.com>
42813
42814 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42815 (grub_editenv_SOURCES): New variable.
42816 (pkglib_MODULES): Add loadenv.mod.
42817 (loadenv_mod_SOURCES): New variable.
42818 (loadenv_mod_CFLAGS): Likewise.
42819 (loadenv_mod_LDFLAGS): Likewise.
42820
42821 * include/grub/envblk.h: New file.
42822
42823 * util/envblk.c: New file.
42824
42825 * util/grub-editenv.c: New file.
42826
42827 * commands/loadenv.c: New file.
42828
0e9e51ec 428292008-07-01 Pavel Roskin <proski@gnu.org>
42830
d89b7634 42831 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42832 not unsigned char. This fixes warnings and is consistent with
42833 other tags.
42834
bf1835b1 42835 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42836
8222a04b 42837 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42838
6a42d99d 42839 * term/tparm.c (analyze): Always set *popcount.
42840
10b159d1 42841 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42842 cast to fix a warning.
42843
b8789f6c 42844 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42845 cast to suppress a warning.
42846
29d7e38a 42847 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42848 grub_fshelp_read_file() expects.
42849
f341f669 42850 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42851 write uuid as a 32-bit value in CPU byte order, so declare and
42852 use it as such.
42853
0e9e51ec 42854 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42855 long if the format specifier expects it.
42856 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42857 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42858 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42859 long to fix a warning.
42860 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42861 grub_dprintf() arguments to fix warnings.
42862
3aefa857 428632008-06-30 Pavel Roskin <proski@gnu.org>
42864
56c7668b 42865 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42866 install_bsd_part immediately before core.img is embedded or
42867 modified on disk. This fixes core.img verification if core.img
42868 cannot be embedded.
42869
3aefa857 42870 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42871 core_path to calculate the blocklist.
42872 Patch from Javier Martín <lordhabbit@gmail.com>
42873
5444088d 428742008-06-29 Robert Millan <rmh@aybabtu.com>
42875
42876 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42877 block to disk block.
42878 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42879 Patch from Niels Böhm <bitbucket@arcor.de>
42880
674835c8 428812008-06-29 Robert Millan <rmh@aybabtu.com>
42882
42883 * util/update-grub_lib.in (font_path): Search for fonts in
42884 /boot/grub first, which is more likely to be readable (we aren't
42885 deciding where fonts live, just looking for them).
42886
f527dbc8 428872008-06-26 Pavel Roskin <proski@gnu.org>
42888
6c2d8df6 42889 * util/biosdisk.c (read_device_map): Don't leave dead map
42890 entries for devices failing stat() check.
42891
f527dbc8 42892 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42893 core_path_dev for the core.img path on the target device.
42894
aebe3d13 428952008-06-26 Robert Millan <rmh@aybabtu.com>
42896
42897 * disk/fs_uuid.c: New file.
42898 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42899 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42900 (fs_uuid_mod_LDFLAGS): New variables.
42901 * include/grub/disk.h (grub_disk_dev_id): Add
42902 `GRUB_DISK_DEVICE_UUID_ID'.
42903 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42904 implement iterate().
42905
37aaf354 429062008-06-26 Robert Millan <rmh@aybabtu.com>
42907
42908 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42909 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42910 Linux image includes no initrd.
42911
25ff262a 429122008-06-21 Javier Martín <lordhabbit@gmail.com>
42913
42914 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42915 call to resolve the core image location that effectively appended the
42916 name twice.
42917
76a2bd44 429182008-06-21 Robert Millan <rmh@aybabtu.com>
42919
42920 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42921 call from here ...
42922
42923 * util/grub.d/10_hurd.in: ... to here ...
42924 * util/grub.d/10_linux.in: ... and here.
42925
650e1c79 429262008-06-19 Robert Millan <rmh@aybabtu.com>
42927
fe987087 42928 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 42929 after it has been set by grub_machine_set_prefix().
42930
6ce63911 429312008-06-19 Robert Millan <rmh@aybabtu.com>
42932
42933 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42934 search result when not saving to variable, not the other way around.
42935 When saving to variable, abort iteration as soon as a match is found.
42936
73940cec 429372008-06-19 Robert Millan <rmh@aybabtu.com>
42938
42939 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42940 check for partition that provides /boot/grub. Its logic is flawed,
42941 as it prevents prepare_grub_to_access_device() from being called
42942 multiple times.
42943
3c62a39d 429442008-06-19 Robert Millan <rmh@aybabtu.com>
42945
42946 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42947 "insmod" command directly when abstraction modules are needed,
fe987087 42948 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 42949 since it had already been processed).
42950
47395a42 429512008-06-19 Pavel Roskin <proski@gnu.org>
42952
42953 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42954 changed. This is needed in case GRUB_LIBDIR changes.
42955 * conf/i386-ieee1275.rmk: Likewise.
42956 * conf/i386-linuxbios.rmk: Likewise.
42957 * conf/i386-pc.rmk: Likewise.
42958 * conf/powerpc-ieee1275.rmk: Likewise.
42959
a145ac2d 429602008-06-18 Pavel Roskin <proski@gnu.org>
42961
42962 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42963 kernel_elf_symlist.c to symlist.c for consistency with other
42964 architectures. Update all users.
42965 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42966
7847c51e 429672008-06-18 Robert Millan <rmh@aybabtu.com>
42968
42969 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42970 it in prefix.
42971
42972 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42973 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42974 a RAID device, run setup() for all members independently on whether
42975 LVM abstraction is being used.
42976 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42977 If grub-mkimage has set `*install_dos_part == -2', don't override this
42978 value.
42979 Perform *install_dos_part adjustments independently on whether
42980 we're embedding or not.
42981 Clarify error message when image is too big for embedding.
42982 Remove duplicate *install_dos_part stanza.
42983
b23e5644 429842008-06-17 Robert Millan <rmh@aybabtu.com>
42985
42986 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42987 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42988 variables.
42989 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42990 values in grub_ofconsole_normal_color and
42991 grub_ofconsole_highlight_color (they're not directly related to
42992 background and foreground).
42993 (grub_ofconsole_setcolorstate): Extract background and foreground
42994 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42995
0aac2f79 429962008-06-17 Robert Millan <rmh@aybabtu.com>
42997
42998 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42999 /boot/grub for the check in last commit, not /boot (they could be
43000 different partitions).
43001
3cca7ef3 430022008-06-16 Robert Millan <rmh@aybabtu.com>
43003
43004 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
43005 asked to setup access for the same partition that provides /boot,
43006 don't bother using UUIDs since our root already has the value we
43007 want.
43008
347396d8 430092008-06-16 Robert Millan <rmh@aybabtu.com>
43010
43011 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
43012 I2O devices.
43013 Patch from Sven Mueller <sven@debian.org>.
43014
991477f8 430152008-06-16 Robert Millan <rmh@aybabtu.com>
43016
43017 * util/update-grub.in: Check for $EUID instead of $UID.
43018 Reported by Vincent Zweije.
43019
d31a32a1 430202008-06-16 Bean <bean123ch@gmail.com>
43021
fe987087 43022 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 43023 (grub_ext2_read_block): Likewise.
43024 (grub_ext2_read_inode): Likewise.
43025 (grub_ext2_mount): Likewise.
43026 (grub_ext2_close): Likewise.
43027 (grub_ext3_get_journal): Removed.
43028
fe987087 43029 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 43030 (grub_reiserfs_read_symlink): Likewise.
43031 (grub_reiserfs_mount): Likewise.
43032 (grub_reiserfs_open): Likewise.
43033 (grub_reiserfs_read): Likewise.
43034 (grub_reiserfs_close): Likewise.
43035 (grub_reiserfs_get_journal): Removed.
43036
43037 * fs/fshelp.c (grub_fshelp_read): Removed.
43038 (grub_fshelp_map_block): Likewise.
43039
43040 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
43041 (grub_fshelp_journal): Likewise.
43042 (grub_fshelp_read): Likewise.
43043 (grub_fshelp_map_block): Likewise.
43044
3540a760 430452008-06-16 Pavel Roskin <proski@gnu.org>
43046
43047 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
43048 floating point anymore.
43049 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
43050
95614c84 430512008-06-15 Pavel Roskin <proski@gnu.org>
43052
43053 * commands/ls.c (grub_ls_list_files): Use integer calculations
43054 for human readable format, avoid floating point use.
43055 * kern/misc.c (grub_ftoa): Remove.
43056 (grub_vsprintf): Remove floating point support.
43057
50465dd6 430582008-06-15 Robert Millan <rmh@aybabtu.com>
43059
fe6b695a 43060 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 43061 devices.
43062 Reported by Max Vozeler.
43063
a9207284 430642008-06-15 Robert Millan <rmh@aybabtu.com>
43065
43066 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
43067 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
43068 skipped later.
43069 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
43070 the beginning of the prefix.
43071
43072 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
43073 It is assumed that if we have a memdisk, grub-mkimage has set
43074 grub_prefix to include the "(memdisk)" drive in it.
43075
a7cbd45a 430762008-06-15 Robert Millan <rmh@aybabtu.com>
43077
43078 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
43079 Initialize keyboard controller after registering the terminal, so that
43080 grub_printf() can be called from grub_keyboard_controller_init().
43081
21cf716a 430822008-06-15 Robert Millan <rmh@aybabtu.com>
43083
43084 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
43085 extent-btree which is written as big endian on disk.
43086 Reported by Alain Greppin <al@chilibi.org>.
43087
23a64d8e 430882008-06-14 Robert Millan <rmh@aybabtu.com>
43089
43090 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
43091 * util/i386/pc/grub-install.in (modules): Likewise.
43092
d687651c 430932008-06-13 Pavel Roskin <proski@gnu.org>
43094
43095 * commands/ls.c (grub_ls_list_files): Fix format warnings.
43096
dfe9ddd4 430972008-06-13 Bean <bean123ch@gmail.com>
43098
43099 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
43100
43101 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
43102
43103 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
43104 to indicate sparse block.
43105
16ae7781 431062008-06-12 Pavel Roskin <proski@gnu.org>
43107
e6d1a308 43108 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
43109 number, grub_fshelp_read() does it for us.
43110
16ae7781 43111 * fs/fshelp.c (grub_fshelp_read): New function. Implement
43112 linear disk read with journal translation.
43113 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
43114 * include/grub/fshelp.h: Declare grub_fshelp_read().
43115
40fd3a2b 431162008-06-09 Pavel Roskin <proski@gnu.org>
43117
43118 * fs/minix.c (grub_minix_mount): Handle error reading
43119 superblock.
43120
f5679726 431212008-06-08 Robert Millan <rmh@aybabtu.com>
43122
43123 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
43124 don't append the RAID prefix afterwards.
43125 Reported by Clint Adams.
43126
ce525529 431272008-06-08 Robert Millan <rmh@aybabtu.com>
43128
43129 Based on description from Pavel:
43130 * kern/disk.c (grub_disk_check_range): Rename to ...
43131 (grub_disk_adjust_range): ... this. Add a comment explaining the
43132 tasks performed by this function.
43133
ad4936a0 431342008-06-08 Robert Millan <rmh@aybabtu.com>
43135
43136 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
43137 `num_serial' (for consistency with other variables).
43138 (struct grub_ntfs_data): Add `uuid' member.
43139 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
43140 (grub_ntfs_uuid): New function.
43141 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
43142
dc20b0f9 431432008-06-07 Pavel Roskin <proski@gnu.org>
43144
43145 * util/biosdisk.c (open_device): Revert last change to the
43146 function, it broke installation. The sector needs to be
43147 different dependent on which device is opened.
43148
c5e3cfba 431492008-06-06 Robert Millan <rmh@aybabtu.com>
43150
43151 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
43152 rest of GRUB, and breakage doesn't happen if its value were modified.
43153
43154 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43155 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
43156 a constant (same value).
43157 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
43158 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
43159
26a1f8c4 431602008-06-06 Robert Millan <rmh@aybabtu.com>
43161
43162 * util/biosdisk.c (open_device): Do not modify sector offset when
43163 accessing a partition. kern/disk.c already handles this for us.
43164
25d6b327 431652008-06-06 Robert Millan <rmh@aybabtu.com>
43166
43167 * util/grub-emu.c (grub_machine_init): Move code in this function from
43168 here ...
43169 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
43170 segfault in case grub_printf() is called).
43171
43172 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
43173 grub_probe. Update all users not to explicitly add it again.
43174 (grub_device): New variable; contains corresponding device for grubdir.
43175 (fs_module, partmap_module, devabstraction_module): Pass
43176 `--device ${grub_device}' to grub_probe to avoid traversing /dev
43177 every time.
43178
9ece62fb 431792008-06-05 Robert Millan <rmh@aybabtu.com>
43180
43181 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
43182 is found, print it (same layout as with labels).
43183
1ad36d37 431842008-06-04 Robert Millan <rmh@aybabtu.com>
43185
43186 * util/biosdisk.c (get_drive): Rename to ...
43187 (find_grub_drive): ... this. Update all users.
43188
43189 (get_os_disk): Rename to ...
43190 (convert_system_partition_to_system_disk): ... this. Update all users.
43191
43192 (find_drive): Rename to ...
43193 (find_system_device): ... this. Update all users.
43194
e6a30859 431952008-06-04 Robert Millan <rmh@aybabtu.com>
43196
43197 * util/biosdisk.c (get_os_disk): Handle IDA devices.
43198 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43199 (make_device_map): Likewise.
43200
00c108a4 432012008-06-01 Robert Millan <rmh@aybabtu.com>
43202
43203 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
43204 before dereferencing it.
43205
43206 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
43207 union with fat12/fat16-specific ones. Add some new fields, including
43208 `num_serial' for both versions.
43209 (struct grub_fat_data): Add `uuid' member.
43210 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
43211 names. Initialize `data->uuid' using `num_serial'.
43212 (grub_fat_uuid): New function.
43213 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
43214
43215 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
43216 (grub_reiserfs_uuid): New function.
43217 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
43218 member.
43219
43220 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
43221 (grub_xfs_uuid): New function.
43222 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
43223
1385c5bb 432242008-06-01 Robert Millan <rmh@aybabtu.com>
43225
43226 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
43227 code that is backward compatible with pre-uuid search command.
43228
c682dfd7 432292008-05-31 Robert Millan <rmh@aybabtu.com>
43230
43231 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
43232 floppies after everything else, to ensure floppy drive isn't accessed
43233 unnecessarily (patch from Bean).
43234
b7db5d47 432352008-05-31 Robert Millan <rmh@aybabtu.com>
43236
43237 * commands/search.c (search_label, search_fs_uuid, search_file): Do
43238 not print device names when we were asked to set a variable.
43239
6e037aa9 432402008-05-31 Robert Millan <rmh@aybabtu.com>
43241
43242 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
43243 using "cursor-on" and "cursor-off" commands (understood at least by
43244 the Open Firmware flavour on OLPC).
43245
41305bc8 432462008-05-31 Michael Gorven <michael@gorven.za.net>
43247
43248 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
43249 on and off sequences.
43250
69ba137e 432512008-05-31 Robert Millan <rmh@aybabtu.com>
43252
43253 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
43254 * util/update-grub.in: Likewise.
43255
520ae21b 432562008-05-30 Pavel Roskin <proski@gnu.org>
43257
43258 * util/biosdisk.c (linux_find_partition): Simplify logic and
43259 make the code more universal. Keep special processing for
43260 devfs, but use a simple rule for all other devices. If the
43261 device ends with a number, append 'p' and the partition number.
43262 Otherwise, append only the partition number.
43263
5786569b 432642008-05-30 Robert Millan <rmh@aybabtu.com>
43265
43266 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
43267 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
43268 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
43269 the `root' parameter to Linux.
43270
51500452 432712008-05-30 Robert Millan <rmh@aybabtu.com>
43272
43273 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
43274 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
43275 --fs_uuid with --fs-uuid.
43276 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
43277 all filesystems support them).
43278
811d3878 432792008-05-30 Robert Millan <rmh@aybabtu.com>
43280
43281 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 43282 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 43283
cab63c95 432842008-05-30 Robert Millan <rmh@aybabtu.com>
43285
43286 * util/grub.d/00_header.in: Remove obsolete comment referencing
43287 convert_system_path_to_grub_path().
43288 * util/update-grub.in: Likewise.
43289 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
43290 (convert_system_path_to_grub_path): Add a warning message explaining
43291 that this function is deprecated. Rely on is_path_readable_by_grub()
43292 for the readability checks.
43293 (font_path): Use is_path_readable_by_grub() for the readability
43294 check rather than convert_system_path_to_grub_path().
43295
972e2f7a 432962008-05-30 Robert Millan <rmh@aybabtu.com>
43297
43298 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
43299 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
43300 converting it first.
43301 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
43302 grub.cfg for access to font file, and afterwards call it again to set
43303 the root device.
43304
62191274 433052008-05-30 Robert Millan <rmh@aybabtu.com>
43306
43307 * commands/search.c (options): Add --fs_uuid option.
43308 (search_fs_uuid): New function.
43309 (grub_cmd_search): Fix --set argument passing.
43310 Use search_fs_uuid() when requested via --fs_uuid.
43311 (grub_search_init): Update help message.
43312 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
43313 and redeclare it as an array of 16-bit words.
43314 (grub_ext2_uuid): New function.
43315 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
43316 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
43317 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
43318 (GRUB_DEVICE_BOOT_UUID): New variables.
43319 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
43320 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
43321 whenever possible.
43322 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
43323 just assume `root' variable has the right value.
43324 * util/grub.d/10_linux.in: Likewise.
43325 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
43326 via PRINT_FS_UUID.
43327 (main): Recognise `-t fs_uuid' argument.
43328
01b73ec8 433292008-05-30 Robert Millan <rmh@aybabtu.com>
43330
43331 * util/biosdisk.c (map): Redefine structure to hold information
43332 about GRUB drive name.
fe6b695a 43333 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 43334 drive names.
43335 (call_hook): Remove.
43336 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
43337 member. Assume drive has partitions.
43338 (grub_util_biosdisk_open): Access device names via `.device' struct
43339 member.
43340 (open_device): Likewise.
43341 (find_drive): Likewise.
43342 (read_device_map): Adjust map[] usage to match the new struct
43343 definition. Don't check for duplicates (still possible, but not cheap
43344 anymore).
43345 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
43346 (make_device_name): Remove assumption of BIOS-like drive names.
43347
22f16596 433482008-05-30 Pavel Roskin <proski@gnu.org>
43349
43350 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
43351 compiling execute.c doesn't need grub_script.tab.h anymore.
43352 (normal/command.c_DEPENDENCIES): Likewise.
43353 (normal/function.c_DEPENDENCIES): Likewise.
43354 * conf/i386-ieee1275.rmk: Likewise.
43355 * conf/i386-linuxbios.rmk: Likewise.
43356 * conf/i386-pc.rmk: Likewise.
43357 * conf/powerpc-ieee1275.rmk: Likewise.
43358 * conf/sparc64-ieee1275.rmk: Likewise.
43359
528ad8f2 433602008-05-29 Pavel Roskin <proski@gnu.org>
43361
d1dff95d 43362 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
43363 when scanning metadata for volume group name.
43364
528ad8f2 43365 * include/grub/script.h: Don't include grub_script.tab.h. It's
43366 a generated file, which may only be included from the files with
43367 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
43368 use union YYSTYPE, as the later allows forward declaration.
43369 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
43370
47248e08 433712008-05-29 Robert Millan <rmh@aybabtu.com>
43372
43373 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
43374 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
43375 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
43376 (grub_console_checkkey): Add grub_dprintf() call to report unknown
43377 scan codes.
43378
ee632529 433792008-05-29 Robert Millan <rmh@aybabtu.com>
43380
43381 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
43382 control key combinations.
43383
eee96e08 433842008-05-29 Robert Millan <rmh@aybabtu.com>
43385
43386 * util/powerpc/ieee1275/grub-install.in: Move from here ...
43387 * util/ieee1275/grub-install.in: ... to here.
43388 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
43389 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
43390 (grub_install_SOURCES): Likewise.
43391
da9a6a94 433922008-05-29 Robert Millan <rmh@aybabtu.com>
43393
43394 * fs/affs.c: Update copyright year.
43395 * fs/ext2.c: Likewise.
43396 * fs/fshelp.c: Likewise.
43397 * fs/hfsplus.c: Likewise.
43398 * fs/ntfs.c: Likewise.
43399 * fs/xfs.c: Likewise.
43400 * include/grub/fshelp.h: Likewise.
43401 * util/grub-mkdevicemap.c: Likewise.
43402
12e65f3a 434032008-05-28 Robert Millan <rmh@aybabtu.com>
43404
43405 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
43406 might need to be fatfs to support some firmware implementations
43407 (e.g. OFW or EFI).
43408
23023641 434092008-05-28 Robert Millan <rmh@aybabtu.com>
43410
43411 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
43412 devices.
43413 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43414 (make_device_map): Likewise.
43415
887d2619 434162008-05-20 Bean <bean123ch@gmail.com>
43417
43418 * fs/fshelp.c (grub_fshelp_map_block): New function.
43419 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
43420 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
43421
43422 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
43423 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
43424 (grub_fshelp_journal): New structure.
43425 (grub_fshelp_map_block): New function prototype.
43426 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
43427 (grub_fshelp_map_block): Likewise.
43428
43429 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
43430 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
43431 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
43432 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
43433 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
43434 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
43435 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
43436 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
43437 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
43438 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
43439 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
43440 (grub_ext2_sblock): New members for journal support.
43441 (grub_ext3_journal_header): New structure.
43442 (grub_ext3_journal_revoke_header): Likewise.
43443 (grub_ext3_journal_block_tag): Likewise.
43444 (grub_ext3_journal_sblock): Likewise.
43445 (grub_fshelp_node): New members logfile and journal.
43446 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
43447 grub_fshelp_map_block to get real block number.
43448 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
43449 number.
43450 (grub_ext2_read_inode): Likewise.
43451 (grub_ext3_get_journal): New function.
43452 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
43453 (grub_ext2_close): Release memory used by journal.
43454
43455 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
43456 (REISERFS_MAGIC_DESC_BLOCK): New macro.
43457 (grub_reiserfs_transaction_header): Renamed to
43458 grub_reiserfs_description_block, replace field data with real_blocks.
43459 (grub_reiserfs_commit_block): New structure.
43460 (grub_reiserfs_data): New member journal.
43461 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
43462 number.
43463 (grub_reiserfs_read_symlink): Likewise.
43464 (grub_reiserfs_iterate_dir): Likewise.
43465 (grub_reiserfs_open): Likewise.
43466 (grub_reiserfs_read): Likewise.
43467 (grub_reiserfs_get_journal): New function.
43468 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
43469 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
43470 using grub_reiserfs_get_journal.
43471 (grub_reiserfs_close): Release memory used by journal.
43472
43473 * fs/affs.c (grub_affs_read_block): Change block type to
43474 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
43475
43476 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
43477
43478 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
43479
43480 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
43481
43482 * fs/udf.c (grub_udf_read_block): Change block type to
43483 grub_disk_addr_t. Use type cast to avoid warning.
43484
43485 * fs/xfs.c (grub_xfs_read_block): Likewise.
43486
b7c6bed5 434872008-05-16 Christian Franke <franke@computer.org>
43488
43489 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
43490 to ensure that break with ESC will always work.
43491 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
43492 Remove ESC from keyboard queue.
43493
eedf167f 434942008-05-16 Christian Franke <franke@computer.org>
43495
43496 * util/biosdisk.c: [__CYGWIN__] Add includes.
43497 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
43498 (get_os_disk): Move variable declarations to OS specific
43499 parts to avoid warning.
43500 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
43501 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
43502 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
43503 Cygwin.
43504 * util/getroot.c: [__CYGWIN__] Add includes.
43505 (strip_extra_slashes): Fix "/" case.
43506 [__CYGWIN__] (get_win32_path): New function.
43507 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
43508 [__CYGWIN__] (find_root_device): Disable.
43509 [__CYGWIN__] (get_bootsec_serial): New function.
43510 [__CYGWIN__] (find_cygwin_root_device): Likewise.
43511 [__linux__] (grub_guess_root_device): Add early returns to simplify
43512 structure.
43513 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
43514 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
43515 check for Linux only.
43516
a079699e 435172008-05-15 Bean <bean123ch@gmail.com>
43518
43519 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
43520 keyboard hang problem in apple's intel mac.
43521
1cf4059a 435222008-05-09 Robert Millan <rmh@aybabtu.com>
43523
43524 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
43525 devices.
43526 * util/grub-mkdevicemap.c (get_virtio_disk_name)
43527 (make_device_map): Likewise.
43528 Reported by Aurelien Jarno <aurel32@debian.org>
43529
ed759390 435302008-05-07 Ian Campbell <ijc@hellion.org.uk>
43531
43532 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
43533 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
43534 (make_device_map): Output entries for xvd type disks.
43535
b56c4eaa 435362008-05-07 Robert Millan <rmh@aybabtu.com>
43537
43538 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
43539 devices.
43540 * util/grub-mkdevicemap.c (get_cciss_disk_name)
43541 (make_device_map): Likewise.
43542 Reported by Roland Dreier <rdreier@cisco.com>
43543
7f8866ed 435442008-05-07 Robert Millan <rmh@aybabtu.com>
43545
43546 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
43547 grub_strstr() call. Correct a few mistakes in failure path handling.
43548
b0346e0f 435492008-05-06 Robert Millan <rmh@aybabtu.com>
43550
43551 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43552 Do not print a trailing slash (therefore, the root directory is an
43553 empty string).
43554 (convert_system_path_to_grub_path): Do not remove trailing slash
43555 from make_system_path_relative_to_its_root() output.
43556
43557 * util/i386/pc/grub-install.in: Add trailing slash to output from
43558 make_system_path_relative_to_its_root().
43559
6cf12cbd 435602008-05-06 Robert Millan <rmh@aybabtu.com>
43561
43562 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
43563 ensures that output lines aren't intermangled with those sent to
43564 stderr (via grub_util_info()).
43565 * util/grub-probe.c (grub_refresh): Likewise.
43566 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
43567
0fbb3117 435682008-05-05 Christian Franke <franke@computer.org>
43569
43570 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
43571 Add Cygwin device names.
43572 (get_ide_disk_name) [__CYGWIN__]: Likewise.
43573 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
43574 (check_device): Return error instead of success on empty name.
43575 (make_device_map): Move label inside linux specific code to
43576 prevent compiler warning.
43577
8124cdb7 435782008-04-30 Robert Millan <rmh@aybabtu.com>
43579
43580 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
43581 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
43582 first boot option.
43583 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
43584
094c01d0 435852008-04-29 Robert Millan <rmh@aybabtu.com>
43586
43587 * docs/grub.cfg: New file (example GRUB configuration).
43588
f4b1fc02 435892008-04-26 Robert Millan <rmh@aybabtu.com>
43590
329ce2a5 43591 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
43592 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43593 and `disk/ieee1275/nand.c'.
f4b1fc02 43594
25f16ec1 435952008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 43596
25f16ec1 43597 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43598 i386-linuxbios.
43599
43600 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43601 change the buffer size to 4096 for cdrom device.
43602
43603 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43604 and nand.mod.
43605 (_linux_mod_SOURCES): New variable.
43606 (_linux_mod_CFLAGS): Likewise.
43607 (_linux_mod_LDFLAGS): Likewise.
43608 (linux_mod_SOURCES): Likewise.
43609 (linux_mod_CFLAGS): Likewise.
43610 (linux_mod_LDFLAGS): Likewise.
43611 (nand_mod_SOURCES): Likewise.
43612 (nand_mod_CFLAGS): Likewise.
43613 (nand_mod_LDFLAGS): Likewise.
43614
43615 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43616 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43617 type property. (nand device in olpc don't have this property)
43618
43619 * include/grub/disk.h (grub_disk_dev_id): New macro
43620 GRUB_DISK_DEVICE_NAND_ID.
43621
43622 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43623 function prototype.
43624 (grub_rescue_cmd_initrd): Likewise.
43625
43626 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43627 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43628 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 43629
25f16ec1 43630 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43631 GRUB_MACHINE_IEEE1275 is defined.
43632
43633 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43634 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43635
43636 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43637 on nested function heap_init.
43638 (grub_upper_mem): New variable for i386-ieee1275.
43639 (grub_get_extended_memory): New function for i386-ieee1275.
43640 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43641
43642 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43643 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43644 property.
f19dbdb7 43645
25f16ec1 43646 * loader/i386/ieee1275/linux.c: New file.
43647
43648 * loader/i386/ieee1275/linux_normal.c: New file.
43649
43650 * disk/ieee1275/nand.c: New file.
43651
e89d61e9 436522008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43653
43654 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43655 value.
43656 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43657
602566f6 436582008-04-18 Robert Millan <rmh@aybabtu.com>
43659
43660 Restructures early code path on ieee1275 to unify grub_main() as
43661 the first C function that is executed in every platform.
43662
43663 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43664 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43665 cmain().
43666 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43667 * kern/ieee1275/cmain.c (cmain): Rename to ...
43668 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43669 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43670 at the beginning.
43671
57490c2b 436722008-04-18 Robert Millan <rmh@aybabtu.com>
43673
43674 * util/update-grub.in: Fix syntax error when setting
43675 `GRUB_PRELOAD_MODULES'.
43676 Reported by Stephane Chazelas <stephane@artesyncp.com>
43677
1977517d 436782008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43679
43680 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43681 section into account, newer toolchains generate unique build ids
43682 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 43683 we want build ids to be preserved
1977517d 43684 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43685 far from other sections don't cause the raw binary images grow
43686 size
43687
bfb1f1a2 436882008-04-15 Robert Millan <rmh@aybabtu.com>
43689
43690 * disk/lvm.c: Update copyright year.
43691 * kern/misc.c: Likewise.
43692
01979850 436932008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43694
43695 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 43696 there is no memory left for physical volume name.
01979850 43697
0a1150e2 436982008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43699
43700 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43701 volume name mapping to support bigger than 9 character names properly.
43702
82ead3fe 437032008-04-13 Robert Millan <rmh@aybabtu.com>
43704
43705 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43706 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43707
e54a72f5 437082008-04-13 Christian Franke <franke@computer.org>
43709
43710 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43711 to create a floppy emulation boot CD when non emulation mode
43712 does not work.
43713 Enable Joliet CD filesystem extension.
43714
9fe86034 437152008-04-13 Robert Millan <rmh@aybabtu.com>
43716
43717 * kern/misc.c (grub_strncat): Fix off-by-one error.
43718 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43719
43720 * kern/env.c (grub_env_context_close): Clear current context, not
43721 previous one.
43722 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
43723
43724 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
43725
7ceeee39 437262008-04-13 Robert Millan <rmh@aybabtu.com>
43727
43728 Improve robustness when handling LVM.
43729
43730 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 43731 (and leave `*p' unmodified).
7ceeee39 43732 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
43733 through it.
43734 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43735 iterating through it.
43736 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43737 through it.
fe6b695a 43738 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 43739 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43740 Don't assume `vg->pvs != NULL' when iterating through it.
43741
58cd3d85 437422008-04-13 Robert Millan <rmh@aybabtu.com>
43743
43744 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43745 * genmk.rb (partmap): New variable.
43746 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43747 (#{partmap}): New target rule.
43748 * genpartmaplist.sh: New file.
43749 * Makefile.in (pkglib_DATA): Add partmap.lst.
43750 (partmap.lst): New target rule.
43751 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
43752 modules (including all partition maps), instead of preloading them.
43753
78b51059 437542007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
43755
43756 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
43757 `linux-boot-prober' (if installed) to detect other operating
43758 systems which are installed on the computer and add them to
43759 the boot menu.
43760 * conf/common.rmk: Build and install 30_os-prober.
43761
a91627b4 437622008-04-12 Robert Millan <rmh@aybabtu.com>
43763
43764 * kern/powerpc/ieee1275/init.c: Move from here ...
43765 * kern/ieee1275/init.c: ... to here. Update all users.
43766
43767 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43768 * kern/ieee1275/cmain.c: ... to here. Update all users.
43769
43770 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43771 * kern/ieee1275/openfw.c: ... to here. Update all users.
43772
43773 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43774 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43775
322562ea 437762008-04-10 Pavel Roskin <proski@gnu.org>
43777
43778 * configure.ac: Always use "_cv_" in cache variables for
43779 compatibility with Autoconf 2.62.
43780
a02a73c5 437812008-04-07 Robert Millan <rmh@aybabtu.com>
43782
43783 Revert grub/machine/init.h addition by Pavel (since it breaks on
43784 i386-ieee1275 and others):
43785 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43786 * util/powerpc/ieee1275/misc.c: Likewise.
43787
25c024b1 437882008-04-07 Robert Millan <rmh@aybabtu.com>
43789
43790 * util/grub-probe.c (probe): Improve error message.
43791
3cbd2f98 437922008-04-07 Robert Millan <rmh@aybabtu.com>
43793
43794 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43795 (this prevents the presence of a bogus entry from ruining the whole
43796 thing).
43797
87a297bf 437982008-04-06 Pavel Roskin <proski@gnu.org>
43799
36747a62 43800 * util/biosdisk.c: Include grub/util/biosdisk.h.
43801 * util/grub-fstest.c (execute_command): Make static.
43802 * util/grub-mkdevicemap.c (check_device): Likewise.
43803 * util/i386/pc/misc.c: Include grub/machine/init.h.
43804 * util/powerpc/ieee1275/misc.c: Likewise.
43805 * util/lvm.c: Include grub/util/lvm.h.
43806 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43807 grub/cache.h.
43808 * util/raid.c: Include grub/util/raid.h.
43809 (grub_util_getdiskname): Make static.
43810
87a297bf 43811 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
43812 grub_hostfs_fini(), as they are called from grub_init_all() and
43813 grub_fini_all() respectively. This fixes an infinite loop in
43814 grub-fstest due to double registration of hostfs.
43815 Reported by Christian Franke <Christian.Franke@t-online.de>
43816
f6ce7629 438172008-04-05 Pavel Roskin <proski@gnu.org>
43818
43819 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43820 all 8 functions. Otherwise, probe function 0 only.
43821
070e49e4 438222008-04-04 Pavel Roskin <proski@gnu.org>
43823
8b088a4c 43824 * commands/lspci.c (grub_lspci_iter): Print the bus number
43825 correctly.
43826
4f657021 43827 * commands/lspci.c (grub_pci_classes): Fix typos.
43828 (grub_lspci_iter): Don't print func twice. Print vendor ID
43829 before device ID, as it's normally done.
43830
070e49e4 43831 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43832 Fix signedness warnings.
43833 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43834 Likewise.
43835 * util/ieee1275/get_disk_name.c: Include config.h so that
43836 _GNU_SOURCE is defined and getline() is declared. Mark an
43837 unused argument as such. Fix a signedness warning.
43838
ba7328dc 438392008-04-02 Pavel Roskin <proski@gnu.org>
43840
26887f22 43841 * genkernsyms.sh.in: Use more robust assignments for CC and
43842 srcdir. Quote srcdir.
43843 * gensymlist.sh.in: Likewise. Assert at the compile time that
43844 the symbol table is not empty.
43845
ba7328dc 43846 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43847 * fs/cpio.c (grub_cpio_read): Likewise.
43848
0f582c6b 438492008-04-01 Pavel Roskin <proski@gnu.org>
43850
4b6e1995 43851 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43852 * disk/host.c (grub_host_open): Likewise.
43853 * disk/loopback.c (grub_loopback_open): Likewise.
43854 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43855 disk->id as in disk/host.c, not a multi-character constant.
43856
828a2768 43857 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43858 later is obsolete, potentially dangerous and sets a bad example.
43859 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43860 * util/misc.c (grub_util_get_image_size): Likewise.
43861
2bb4fb47 43862 * disk/loopback.c (options): Improve help for "--partitions".
43863
0f582c6b 43864 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43865 options to align them with the short options, e.g. "echo -e".
43866
a33224e0 438672008-03-31 Bean <bean123ch@gmail.com>
43868
43869 * video/reader/png.c (grub_png_data): New member is_16bit and
43870 image_data.
43871 (grub_png_decode_image_header): Detect 16 bit png image.
43872 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43873 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43874 (grub_video_reader_png): Release memory occupied by image_data.
43875
43876 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43877 4096 bytes.
43878 (grub_nfs_mount): Skip the test for sector per cluster.
43879
43880 * include/grub/ntfs.h (MAX_SPC): Removed.
43881
86cb4f54 438822008-03-31 Bean <bean123ch@gmail.com>
43883
43884 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43885 (grub_probe_SOURCES): Add fs/afs.c.
43886 (grub_fstest_SOURCES): Likewise.
43887 (afs_mod_SOURCES): New variable.
43888 (afs_mod_CFLAGS): Likewise.
43889 (afs_mod_LDFLAGS): Likewise.
43890
43891 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43892 (grub_emu_SOURCES): Likewise.
43893
43894 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43895
43896 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43897
43898 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43899
43900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43901
43902 * fs/afs.c: New file.
43903
17c74c21 439042008-03-30 Pavel Roskin <proski@gnu.org>
43905
4cb68e89 43906 * disk/host.c: Include grub/misc.h to fix a warning.
43907 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43908 warnings about implicit declarations.
43909
8790bb04 43910 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43911 variable.
43912 * include/grub/i386/loader.h: Change declaration of
43913 grub_linux_boot() to match what grub_loader_set() expects.
43914 * util/getroot.c (grub_guess_root_device): Return const char* to
43915 fix a warning.
43916 * util/grub-probe.c (probe): Fix a warning about uninitialized
43917 abstraction_name variable.
43918 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43919 second argument as unused to fix a warning.
43920
9a3f3296 43921 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43922 missing grub_error() call.
43923
0ecef90d 43924 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43925 2.60 and newer uses it to define datadir.
43926
0bf6d401 43927 * commands/sleep.c: Fix warning about implicit declaration.
43928 * disk/memdisk.c: Likewise.
43929 * loader/aout.c: Likewise.
43930 * loader/i386/bsd_normal.c: Likewise.
43931 * util/grub-probe.c: Likewise.
43932
7cdacf97 43933 * commands/i386/cpuid.c (has_longmode): Make static.
43934 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43935 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43936
17c74c21 43937 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43938 GDT. This is more robust, as %ds can change.
43939 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43940 calling real_to_prot().
43941 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43942
80a3e68b 439432008-03-28 Pavel Roskin <proski@gnu.org>
43944
43945 * kern/i386/pc/startup.S: Assert that uncompressed functions
43946 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43947 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43948 code, as they push parts of the code (error handlers) beyond
43949 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43950 code as correctness and size.
43951
77bcd272 439522008-03-28 Pavel Roskin <proski@gnu.org>
43953
43954 * kern/i386/pc/startup.S
43955 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43956 data block address to the real mode, keep offset minimal. This
43957 works around a bug in AWARD BIOS on old Athlon systems, which
43958 makes CD detection hang.
43959
c5dfd43b 439602008-03-26 Pavel Roskin <proski@gnu.org>
43961
43962 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43963 const.
43964 * include/grub/normal.h: Add grub_parse_color_name_pair()
43965 declaration.
43966
bf962df2 439672008-03-24 Bean <bean123ch@gmail.com>
43968
43969 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43970 (cd_count): Removed.
43971 (cd_drive): New variable.
43972 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43973 (grub_biosdisk_call_hook): Likewise.
43974 (grub_biosdisk_iterate): Change cdrom detection method.
43975 (grub_biosdisk_open): Replace cd_start with cd_drive.
43976 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43977 detect cdrom device.
43978
43979 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43980 Removed.
43981 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43982 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43983 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43984 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43985 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43986 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43987 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43988 (grub_biosdisk_cdrp): New structure.
43989 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43990
43991 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43992
43993 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43994 device.
43995
43996 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43997 New function.
43998
68e7fc7a 439992008-03-20 Robert Millan <rmh@aybabtu.com>
44000
44001 Remove 2 TiB limit in ata.mod.
44002 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
44003 (grub_ata_dumpinfo): Print sector count with 0x%llx.
44004 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
44005 grub_uint64_t instead of grub_uint32_t.
44006
38ad2cf5 440072008-03-05 Bean <bean123ch@gmail.com>
44008
44009 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
44010 (grub_multiboot): Set boot device.
44011
44012 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
44013
2b89344e 440142008-03-02 Bean <bean123ch@gmail.com>
44015
44016 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
44017 symlink_buffer.
44018
87a95d1f 440192008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
44020
44021 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
44022 texinfo.tex.
44023
44024 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
44025 modified.
44026
44027 * docs/fdl.texi: New file.
f19dbdb7 44028
87a95d1f 44029 * docs/mdate-sh: New file. Copied from gnulib.
44030 * docs/texinfo.tex: Likewise.
44031
44032 * config.guess: Updated from gnulib.
44033 * install-sh: Likewise.
44034
7dc15d8e 440352008-02-28 Robert Millan <rmh@aybabtu.com>
44036
44037 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
44038 (aout_mod_SOURCES): New variable.
44039 (aout_mod_CFLAGS): Likewise.
44040 (aout_mod_LDFLAGS): Likewise.
44041
44042 * conf/i386-ieee1275.rmk: Likewise.
44043
b00ab696 440442008-02-28 Robert Millan <rmh@aybabtu.com>
44045
44046 * util/update-grub.in: Reorganise terminal validity check. Accept
44047 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
44048 Based on suggestion by Franklin PIAT.
44049
79ca2d78 440502008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
44051
44052 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
44053 function.
44054 * util/getroot.c (grub_util_check_block_device): New function that
44055 returns the given argument if it is a block device and returns NULL else.
44056 * util/grub-probe.c (argument_is_device): New variable.
44057 (probe): Promote device_name from a variable to an argument. Receive
44058 device_name from grub_util_check_block_device() if path is NULL and from
44059 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 44060 (options): Introduce new parameter '-d, --device'.
79ca2d78 44061 (main): Add description of the new parameter to the help screen.
44062 Rename path variable to argument. Set argument_is_device if the '-d'
44063 option is given. Pass argument to probe() depending on
44064 argument_is_device.
44065
0d16e571 440662008-02-24 Bean <bean123ch@gmail.com>
44067
44068 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
44069 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
44070 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
44071 (GRUB_ISO9660_VOLDESC_PART): Likewise.
44072 (GRUB_ISO9660_VOLDESC_END): Likewise.
44073 (grub_iso9660_primary_voldesc): New member escape.
44074 (grub_iso9660_data): New member joliet.
44075 (grub_iso9660_convert_string): New function.
44076 (grub_iso9660_mount): Detect joliet extension.
44077 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
44078 (grub_iso9660_iso9660_label): Likewise.
44079
44080 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
44081 (grub_setup_SOURCES): Add fs/udf.c.
44082 (grub_fstest_SOURCES): Likewise.
44083 (udf_mod_SOURCES): New variable.
44084 (udf_mod_CFLAGS): Likewise.
44085 (udf_mod_LDFLAGS): Likewise.
44086
44087 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
44088 (grub_emu_SOURCES): Likewise.
44089
44090 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44091
44092 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44093
44094 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44095
44096 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44097
44098 * fs/udf.c: New file.
44099
8a594a17 441002008-02-24 Robert Millan <rmh@aybabtu.com>
44101
44102 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
44103 (normal/lexer.c_DEPENDENCIES): New variables.
44104 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44105 (normal/lexer.c_DEPENDENCIES): Likewise.
44106 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
44107 (normal/lexer.c_DEPENDENCIES): Likewise.
44108 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
44109 (normal/lexer.c_DEPENDENCIES): Likewise.
44110 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44111 (normal/lexer.c_DEPENDENCIES): Likewise.
44112 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44113 (normal/lexer.c_DEPENDENCIES): Likewise.
44114
2dc33c03 441152008-02-23 Robert Millan <rmh@aybabtu.com>
44116
44117 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
44118 since they were intended to be in hex. This didn't break previously
44119 because of a bug in gpt_partition_map_iterate() (see below).
44120
44121 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
44122 when checking the validity of GPT header.
44123 Remove `partno', since it always provides the same information as `i'.
44124
f6f4cfb0 441252008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
44126
44127 * include/grub/efi/time.h: Fix a wrong comment.
44128
79ff665f 441292008-02-19 Pavel Roskin <proski@gnu.org>
44130
44131 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
44132 message.
44133
d38e24c2 441342008-02-19 Bean <bean123ch@gmail.com>
44135
44136 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
44137 (aout_mod_SOURCES): New variable.
44138 (aout_mod_CFLAGS): Likewise.
44139 (aout_mod_LDFLAGS): Likewise.
44140 (_bsd_mod_SOURCES): New variable.
44141 (_bsd_mod_CFLAGS): Likewise.
44142 (_bsd_mod_LDFLAGS): Likewise.
44143 (bsd_mod_SOURCES): New variable.
44144 (bsd_mod_CFLAGS): Likewise.
44145 (bsd_mod_LDFLAGS): Likewise.
44146
44147 * include/grub/aout.h: New file.
44148
44149 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
44150
44151 * include/grub/i386/bsd.h: New file.
44152
44153 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
44154 to make it public.
44155
44156 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
44157 function is called, so that it's possible to change it inside the hook.
44158 (grub_elf64_load): Likewise.
44159 (grub_elf_file): Don't close the file if elf header is not found.
44160 (grub_elf_close): Close the file if grub_elf_file fails (The new
44161 grub_elf_file won't close it).
44162 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
44163 (grub_elf64_size): Likewise.
44164
44165 * kern/i386/loader.S (grub_unix_real_boot): New function.
44166
44167 * loader/aout.c: New file.
44168
44169 * loader/i386/bsd.c: New file.
44170
44171 * loader/i386/bsd_normal.c: New file.
44172
44173 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
44174
44175 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 44176 can test other formats.
d38e24c2 44177
b93bdb0f 441782008-02-19 Robert Millan <rmh@aybabtu.com>
44179
44180 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
44181 (grub_gpt_partition_type_empty): Redefine with macro from
44182 `<grub/gpt_partition.h>'.
44183 (gpt_partition_map_iterate): Adjust partition type comparison.
44184
44185 Export `entry' as partmap-specific `part.data' struct.
44186 (grub_gpt_header, grub_gpt_partentry): Move from here ...
44187
44188 * include/grub/gpt_partition.h (grub_gpt_header)
44189 (grub_gpt_partentry): ... to here (new file).
44190
44191 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
44192
44193 (grub_gpt_partition_type_bios_boot): New const variable, defined
44194 with macro from `<grub/gpt_partition.h>'.
44195
44196 (setup): Replace `first_start' with `embed_region', which keeps
44197 track of the embed region (and is partmap-agnostic).
44198
44199 Replace find_first_partition_start() with find_usable_region(),
44200 which finds a usable region for embedding using partmap-specific
44201 knowledge (supports PC/MSDOS and GPT).
44202
44203 Fix all assumptions that the embed region start at sector 1, using
44204 `embed_region.start' from now on. Similarly, use `embed_region.end'
44205 rather than `first_start' to calculate available size.
44206
44207 In grub_util_info() message, replace "into after the MBR" with an
44208 indication of the specific sector our embed region starts at.
44209
66cb40f6 442102008-02-19 Robert Millan <rmh@aybabtu.com>
44211
44212 * DISTLIST: Replace `commands/ieee1275/halt.c' and
44213 `commands/ieee1275/reboot.c' with `commands/halt.c' and
44214 `commands/reboot.c'.
44215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44216 (halt_mod_SOURCES): Likewise.
44217 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44218 (halt_mod_SOURCES): Likewise.
44219
b7202015 442202008-02-17 Christian Franke <franke@computer.org>
44221
44222 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
44223
32b0fc49 442242008-02-17 Robert Millan <rmh@aybabtu.com>
44225
44226 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44227 set `first_start' to 0 for non-PC/MSDOS partition maps.
44228
aca63502 442292008-02-16 Robert Millan <rmh@aybabtu.com>
44230
44231 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44232 do not assume partition map is PC/MSDOS before performing checks that
44233 are specific to that layout.
44234
0de8be86 442352008-02-13 Robert Millan <rmh@aybabtu.com>
44236
44237 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
44238 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
44239 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
44240
c3db8364 442412008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
44242
44243 * configure.ac: Only a cosmetic change on the handling of
44244 -fno-stack-protector.
44245
f714229e 442462008-02-12 Alexandre Boeglin <alex@boeglin.org>
44247
c3db8364 44248 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
44249 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
44250 reboot.c.
f714229e 44251 (grub_install_SOURCES): Add halt.mod and reboot.mod.
44252 (halt_mod_SOURCES): New variable.
44253 (halt_mod_CFLAGS): Likewise.
44254 (halt_mod_LDFLAGS): Likewise.
44255 (reboot_mod_SOURCES): Likewise.
44256 (reboot_mod_CFLAGS): Likewise.
44257 (reboot_mod_LDFLAGS): Likewise.
44258
c3db8364 44259 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
44260 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
44261 reboot.c.
f714229e 44262 (halt_mod_SOURCES): Likewise.
44263 (reboot_mod_SOURCES): Likewise.
44264
c3db8364 44265 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
44266 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 44267 (reboot_mod_SOURCES): Likewise.
44268
44269 * commands/i386/pc/reboot.c: merge this file ...
44270
44271 * commands/ieee1275/reboot.c: ... and this file ...
44272
44273 * commands/reboot.c: ... to this file.
c3db8364 44274 Add some precompiler directive to include the correct header for
44275 each machine.
f714229e 44276
44277 * commands/ieee1275/halt.c: move this file ...
44278
44279 * commands/halt.c: ... to here.
c3db8364 44280 Add some precompiler directive to include the correct header for
44281 each machine.
f714229e 44282
44283 * include/grub/efi/efi.h (grub_reboot): New function declaration.
44284 (grub_halt): Likewise.
44285
44286 * kern/efi/efi.c (grub_reboot): New function.
44287 (grub_halt): Likewise.
44288
c74493e0 442892008-02-12 Robert Millan <rmh@aybabtu.com>
44290
44291 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
44292 /dev (like it is done for /dev/mapper). This doesn't provide support
44293 for EVMS, but at least it is now easy to identify the problem when it
44294 arises.
44295
d0db4b04 442962008-02-11 Robert Millan <rmh@aybabtu.com>
44297
44298 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
44299 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
44300 comparing it with -1, not 0.
44301
bf748642 443022008-02-10 Robert Millan <rmh@aybabtu.com>
44303
44304 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
44305 `disk/lvm.c'.
44306 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44307 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
44308
44309 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
44310 `disk/lvm.c' to the end of the list.
44311 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44312 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44313
b5db202a 443142008-02-10 Robert Millan <rmh@aybabtu.com>
44315
44316 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
44317 grub_print_error() instead. This will let user know why we're entering
44318 rescue mode.
44319 Based on suggestions from Sam Morris.
44320
83abee31 443212008-02-10 Alexandre Boeglin <alex@boeglin.org>
44322
44323 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
44324 on remaining N args, instead of "--" arg N times.
44325
78d5a08b 443262008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
44327
44328 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
44329 (fill_with_default_glyph): Changed to use unknown_glyph for fill
44330 pattern for unknown glyphs.
44331
68807e5f 443322008-02-09 Robert Millan <rmh@aybabtu.com>
44333
44334 * configure.ac: Probe for `help2man'.
44335 * Makefile.in (builddir): New variable.
44336 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
44337 or otherwise add a few flags/options to it.
44338 (install-local): For every executable utility or script that is
44339 installed, invoke $(HELP2MAN) to install a manpage based on --help
44340 output.
44341
44342 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
44343 that it doesn't prevent --help from working in build tree.
44344
44345 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
44346 with `bug-grub@gnu.org'.
44347 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
44348 * util/update-grub.in (usage): New function.
44349 Implement proper argument check, with support for --help and --version
44350 (as well as existing -y).
44351
443522008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 44353
44354 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
44355 avoid overwriting previous output.
44356 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
44357
c1962162 443582008-02-09 Robert Millan <rmh@aybabtu.com>
44359
44360 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
44361 drawing the menu.
44362
3dac2e3f 443632008-02-09 Robert Millan <rmh@aybabtu.com>
44364
44365 * commands/sleep.c: New file.
44366 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
44367 (sleep_mod_SOURCES): New variable.
44368 (sleep_mod_CFLAGS): Likewise.
44369 (sleep_mod_LDFLAGS): Likewise.
44370
7a634e08 443712008-02-09 Robert Millan <rmh@aybabtu.com>
44372
44373 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
44374 situations in which we can deduce the RAID size and the superblock
44375 doesn't match it.
44376
b92f0c18 443772008-02-09 Robert Millan <rmh@aybabtu.com>
44378
44379 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
44380 and return a grub_diskmemberlist_t composed of LVM physical volumes.
44381 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
44382
44383 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
44384 and return a grub_diskmemberlist_t composed of physical array members.
44385 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
44386
44387 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
44388 prototype.
44389 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
44390 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
44391 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
44392
44393 * util/grub-probe.c (probe): Move partmap probing code from here ...
44394 (probe_partmap): ... to here.
44395 (probe): Use probe_partmap() once for the disk we're probing, and
44396 additionally, when such disk contains a memberlist() struct member,
44397 once for each disk that is contained in the structure returned by
44398 memberlist().
44399
91a4bf68 444002008-02-09 Robert Millan <rmh@aybabtu.com>
44401
44402 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
44403 environment variable to 'all' in order to obtain debug output from
44404 non-util/ code.
44405 * util/i386/pc/grub-setup.c (main): Likewise.
44406
a96f9caa 444072008-02-08 Robert Millan <rmh@aybabtu.com>
44408
44409 * disk/raid.c (grub_raid_scan_device): Check for
44410 `array->device[sb.this_disk.number]' rather than for
44411 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 44412 guaranteed to be accessible.
a96f9caa 44413
b37a9222 444142008-02-08 Robert Millan <rmh@aybabtu.com>
44415
44416 * disk/raid.c: Update copyright.
44417 * fs/cpio.c: Likewise.
44418 * include/grub/raid.h: Likewise.
44419 * loader/i386/pc/multiboot.c: Likewise.
44420 * util/hostfs.c: Likewise.
44421
5626aee1 444222008-02-08 Robert Millan <rmh@aybabtu.com>
44423
44424 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
44425 to a grub_disk_t array.
44426 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
44427 `device[x]'.
44428 (grub_raid_scan_device): Replace `device[x].name' accesses with
44429 `device[x]->name'. Simplify initialization of `array->device[x]'.
44430
554f0187 444312008-02-08 Robert Millan <rmh@aybabtu.com>
44432
44433 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
44434 grub_dprintf() calls.
44435 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
44436 error message.
44437
1ec8425d 444382008-02-07 Christian Franke <franke@computer.org>
44439
44440 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
44441 instead of fseek and ftell to support large files.
44442 (grub_hostfs_read): Likewise.
44443
f2156fda 444442008-02-07 Robert Millan <rmh@aybabtu.com>
44445
44446 Patch from Jeroen Dekkers.
44447 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 44448 failure, since successfully reading all array members might not be
f2156fda 44449 required.
44450
9216e0e7 444512008-02-06 Robert Millan <rmh@aybabtu.com>
44452
44453 * util/grub-probe.c (probe): Simplify partmap probing (with the
44454 assumption that the first word up to the underscore equals to
44455 the module name).
44456
b0dfd29a 444572008-02-06 Christian Franke <franke@computer.org>
44458
44459 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
44460 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
44461 last block of a cpio or tar stream.
44462 Check for "TRAILER!!!" instead of any empty data
44463 block to detect last block of a cpio stream.
44464 (grub_cpio_dir): Fix constness of variable np.
44465 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
44466 cpio or tar trailer is detected. This fixes a crash
44467 on open of a non existing file.
44468
c32865bf 444692008-02-05 Bean <bean123ch@gmail.com>
44470
44471 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
44472 address of entry.
44473 (grub_multiboot_load_elf64): Likewise.
44474 (grub_multiboot): Initialize mbi structure.
44475
44476 * util/grub-fstest.c: Don't include unused header file script.h.
44477
fe6b695a 44478 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 44479 of file.
44480 (grub_fstest_SOURCES): Likewise.
44481
409480b7 444822008-02-05 Robert Millan <rmh@aybabtu.com>
44483
44484 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
44485 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
44486 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
44487 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
44488
44489 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
44490 (translation_table): Replace hardcoded values with macros
44491 provided by `<grub/term.h>'.
44492
44493 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
44494 (keyboard_map): Correct/add a few values, with macros provided
44495 by `<grub/term.h>'.
44496 (keyboard_map_shift): Zero values that don't differ from their
44497 `keyboard_map' equivalents.
44498 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
44499 Discard the second scan code that is always sent by Caps lock.
44500 Only use `keyboard_map_shift' when it provides a non-zero value,
44501 otherwise fallback to `keyboard_map'.
44502
99fadbaa 445032008-02-04 Bean <bean123ch@gmail.com>
44504
44505 * Makefile.in (enable_grub_fstest): New variable.
44506
44507 * conf/common.rmk (grub_fstest_init.lst): New rule.
44508 (grub_fstest_init.h): Likewise.
44509 (grub_fstest_init.c): Likewise.
44510 (util/grub-fstest.c_DEPENDENCIES): New variable.
44511 (grub_fstest_SOURCES): Likewise.
44512
44513 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
44514
44515 * util/grub-fstest.c: New file.
44516
bf567c50 445172008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44518
44519 Make grub-setup handle a separate root device.
f19dbdb7 44520
bf567c50 44521 * util/i386/pc/grub-setup.c (setup): Always open the root device,
44522 so that the root device can be compared with the destination
44523 device.
44524 When embedding the core image, if the root and destination devices
44525 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
44526 0xFF.
44527 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 44528
9be6b98b 445292008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44530
44531 Add support for having a grub directory in a different drive. This
44532 is still only the data handling part.
f19dbdb7 44533
9be6b98b 44534 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
44535 (codestart): Save %dh in GRUB_ROOT_DRIVE.
44536 (grub_root_drive): New variable.
44537
44538 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
44539 instead of GRUB_BOOT_DRIVE to construct a device name. Set
44540 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
44541 as it was.
44542
44543 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
44544
44545 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
44546 macro.
44547 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
44548
44549 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
44550 is bogus, because PXE booting does not specify any drive
44551 correctly.
44552
44553 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
44554 am not sure if this is really correct.
44555
44556 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
44557 is always identical to the boot drive when booting from a CD.
44558
44559 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
44560 longer.
44561 (root_drive): New variable.
44562 (real_start): Unconditionally set %dh to ROOT_DRIVE.
44563 (setup_sectors): Push %dx right after popping it, because %dh will
44564 be modified later.
44565 (copy_buffer): Restore %dx.
44566
e0ca0677 445672008-02-03 Robert Millan <rmh@aybabtu.com>
44568
44569 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
44570 use `cdboot.img' for cdrom images.
44571
3b3f6629 445722008-02-03 Robert Millan <rmh@aybabtu.com>
44573
44574 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
44575 only setup gfxterm when `font' command has succeeded.
44576
d42b3672 445772008-02-03 Robert Millan <rmh@aybabtu.com>
44578
44579 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
44580 (grub_rescue_cmd_multiboot_loader)
44581 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
44582
fa370ea6 445832008-02-03 Pavel Roskin <proski@gnu.org>
44584
e0c5dacb 44585 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 44586 %edx and %esi from stack only after grub_gate_a20() is called.
44587 grub_gate_a20() clobbers %edx.
44588
f2a76e1d 445892008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44590
44591 * configure.ac (AC_INIT): Bumped to 1.96.
44592
44593 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44594 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44595 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44596 video/readers/png.c.
44597
90fd32d1 445982008-02-03 Bean <bean123ch@gmail.com>
9be665dd 44599
44600 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44601 (cdboot_img_SOURCES): New variable.
44602 (cdboot_img_ASFLAGS): New variable.
44603 (cdboot_img_LDFLAGS): New variable.
44604
44605 * boot/i386/pc/cdboot.S: New file.
44606
44607 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44608 (cd_count): Likewise.
44609 (grub_biosdisk_get_drive): Add support for cd device.
44610 (grub_biosdisk_call_hook): Likewise.
44611 (grub_biosdisk_iterate): Likewise.
44612 (grub_biosdisk_open): Likewise.
44613 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44614 (grub_biosdisk_rw): Support reading from cd device.
44615 (GRUB_MOD_INIT): Iterate cd devices.
44616
44617 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44618 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44619 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44620
44621 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44622
4020aa53 446232008-02-02 Robert Millan <rmh@aybabtu.com>
44624
44625 * commands/read.c: New file.
44626 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44627 (read_mod_SOURCES): New variable.
44628 (read_mod_CFLAGS): Likewise.
44629 (read_mod_LDFLAGS): Likewise.
44630
e03a1132 446312008-02-02 Robert Millan <rmh@aybabtu.com>
44632
44633 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44634 determining whether menu has to be displayed.
44635
58c69220 446362008-02-02 Marco Gerards <marco@gnu.org>
44637
44638 * bus/pci.c: New file.
44639
44640 * include/grub/pci.h: Likewise.
44641
44642 * include/grub/i386/pc/pci.h: Likewise.
44643
44644 * commands/lspci.c: Likewise.
44645
44646 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44647 `lspci.mod'.
44648 (pci_mod_SOURCES): New variable.
44649 (pci_mod_CFLAGS): Likewise.
44650 (pci_mod_LDFLAGS): Likewise.
44651 (lspci_mod_SOURCES): Likewise.
44652 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 44653 (lspci_mod_LDFLAGS): Likewise.
58c69220 44654
c004e1b4 446552008-02-02 Bean <bean123ch@gmail.com>
44656
44657 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44658 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44659
44660 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44661 (grub_xfs_btree_node): New structure.
44662 (grub_xfs_btree_root): New structure.
44663 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44664 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44665 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44666 (GRUB_XFS_EXTENT_SIZE): Likewise.
44667 (grub_xfs_read_block): Support btree format type.
44668 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44669 Use directory block as basic unit.
44670
44671 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44672
44673 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44674 __attribute__ ((__regparm__ (1))).
44675
f95562bf 446762008-02-01 Robert Millan <rmh@aybabtu.com>
44677
44678 Correct a mistake in previous commit.
44679
44680 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44681 top.
44682 (normal/command.c_DEPENDENCIES): New variable.
44683
7d31f41f 446842008-02-01 Robert Millan <rmh@aybabtu.com>
44685
44686 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44687 top.
44688 (normal/command.c_DEPENDENCIES): New variable.
44689 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44690 * conf/i386-ieee1275.rmk: Likewise.
44691 * conf/i386-linuxbios.rmk: Likewise.
44692 * conf/i386-pc.rmk: Likewise.
44693 * conf/sparc64-ieee1275.rmk: Likewise.
44694 * conf/powerpc-ieee1275.rmk: Likewise.
44695 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44696
44697 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44698
60b6be74 446992008-02-01 Robert Millan <rmh@aybabtu.com>
44700
44701 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44702 call at beginning of function.
44703
078522ab 447042008-01-31 Pavel Roskin <proski@gnu.org>
44705
44706 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 44707 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44708 (grub_mkrescue_SOURCES): Likewise.
078522ab 44709 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44710
ccaa8a5f 447112008-01-30 Robert Millan <rmh@aybabtu.com>
44712
44713 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44714 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44715 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44716 (grub_probe_SOURCES): ... to here.
44717
44718 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44719 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44720 * conf/i386-ieee1275.rmk: Likewise.
44721 * conf/i386-linuxbios.rmk: Likewise.
44722 * conf/powerpc-ieee1275.rmk: Likewise.
44723
ae5a9cd7 447242008-01-30 Tristan Gingold <gingold@free.fr>
44725
44726 * kern/rescue.c: Silently accept empty lines.
44727
70bc2ef2 447282008-01-29 Bean <bean123ch@gmail.com>
44729
44730 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
44731 (real_code_2): Code cleanup and change comment style.
44732 (move_memory): Avoid using 32-bit address mode.
44733
6a4d50ea 447342008-01-29 Bean <bean123ch@gmail.com>
44735
44736 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44737 (png_mod_SOURCES): New variable.
44738 (png_mod_CFLAGS): Likewise.
44739 (png_mod_LDFLAGS): Likewise.
44740
44741 * video/readers/png.c: New file.
44742
11cc30ac 447432008-01-28 Robert Millan <rmh@aybabtu.com>
44744
44745 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44746 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44747 `ifndef GRUB_MOD_GAP' hack.
44748 * util/elf/grub-mkimage.c (add_segments): Likewise.
44749
3abc589f 447502008-01-27 Robert Millan <rmh@aybabtu.com>
44751
44752 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
44753 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 44754 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 44755
e1907778 447562008-01-27 Robert Millan <rmh@aybabtu.com>
44757
44758 Get grub-emu to build again (including parallel builds).
44759
44760 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
44761 Split into ...
44762 (util/grub-emu.c_DEPENDENCIES): ... this, ...
44763 (normal/execute.c_DEPENDENCIES): ... this, ...
44764 (grub-emu_DEPENDENCIES): ... and this.
44765
44766 * conf/i386-efi.rmk: Likewise.
44767 * conf/i386-linuxbios.rmk: Likewise.
44768 * conf/i386-ieee1275.rmk: Likewise.
44769 * conf/powerpc-ieee1275.rmk: Likewise.
44770 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44771
2216b101 447722008-01-27 Robert Millan <rmh@aybabtu.com>
44773
44774 * NEWS: Add a few items.
44775
f75172d9 447762008-01-27 Robert Millan <rmh@aybabtu.com>
44777
44778 Fix parallel builds with grub-emu. Based on earlier commit for
44779 grub-probe and grub-setup.
44780
44781 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44782 (util/grub-emu.c_DEPENDENCIES): ... this.
44783 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44784 (util/grub-emu.c_DEPENDENCIES): ... this.
44785 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44786 (util/grub-emu.c_DEPENDENCIES): ... this.
44787 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44788 (util/grub-emu.c_DEPENDENCIES): ... this.
44789 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44790 (util/grub-emu.c_DEPENDENCIES): ... this.
44791
3f51de77 447922008-01-27 Pavel Roskin <proski@gnu.org>
44793
44794 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44795 to create a gap between _end and the modules added to the image
44796 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44797 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44798 * util/elf/grub-mkimage.c (add_segments): Likewise.
44799
2033f53e 448002008-01-26 Pavel Roskin <proski@gnu.org>
44801
44802 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44803 just return an error.
44804
22da1f6f 448052008-01-26 Bean <bean123ch@gmail.com>
44806
44807 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44808 (grub_reiserfs_get_item): Save offset of the next item.
44809 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44810
2a9525e6 448112008-01-25 Robert Millan <rmh@aybabtu.com>
44812
44813 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44814 make all filesystem sources appear together (possibly fixing omissions
44815 while at it).
44816 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44818 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44819 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44820
44821 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44822 add `kern/file.c'.
44823 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44824 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44825 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44826 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44827
44828 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44829 (probe): Add a sanity check to make sure of our ability to read
44830 requested files when probing for filesystem type.
44831
44832 * genmk.rb: Update copyright year (2007).
44833
44834 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44835 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44836 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44837 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44838 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44839 : Remove function prototypes.
44840
b95f71b5 448412008-01-25 Robert Millan <rmh@aybabtu.com>
44842
44843 Revert my previous commits (based on wrong assumption of how grub_errno
44844 works).
44845
fe6b695a 44846 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 44847 * kern/file.c (grub_file_open): Likewise.
44848
d08bbb49 448492008-01-24 Pavel Roskin <proski@gnu.org>
44850
44851 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44852 that hang if GRUB tries to setup colors.
44853 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44854 colors for firmwares that don't support it.
44855 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44856 Recognize Open Hack'Ware, set flags to work around its
44857 limitations.
44858
605e36ed 448592008-01-24 Robert Millan <rmh@aybabtu.com>
44860
44861 * kern/file.c (grub_file_open): Do not account previous failures of
44862 unrelated functions when grub_errno is checked for.
44863 Reported by Oleg Strikov.
44864
bac332a1 448652008-01-24 Bean <bean123ch@gmail.com>
44866
44867 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44868 (grub_ufs_sblock): New member volume name.
44869 (grub_ufs_find_file): Fix string copy bug.
44870 (grub_ufs_label): Implement this function properly.
44871
44872 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44873 (grub_hfs_iterate_records): Use the correct file number for extents
44874 and catalog file. Fix problem in next index calculation.
44875 (grub_hfs_find_node): Replace recursive function call with loop.
44876 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44877
15c80c09 448782008-01-23 Robert Millan <rmh@aybabtu.com>
44879
44880 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44881 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44882 (grub_multiboot2_real_boot): New function prototype.
44883
44884 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44885 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44886
44887 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44888 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44889
305338fd 448902008-01-23 Robert Millan <rmh@aybabtu.com>
44891
44892 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44893 #ifdef'ed out grub_printf().
44894
3ea52685 448952008-01-23 Robert Millan <rmh@aybabtu.com>
44896
44897 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44898 grub_dprintf calls, since they make "debug=all" mode unusable.
44899 (grub_console_checkkey): Likewise.
44900
5882ae4b 449012008-01-23 Robert Millan <rmh@aybabtu.com>
44902
44903 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44904 `term/i386/pc/at_keyboard.c'.
44905 (pkglib_MODULES): Add `serial.mod'.
44906 (serial_mod_SOURCES): New variable.
44907 (serial_mod_CFLAGS): Likewise.
44908 (serial_mod_LDFLAGS): Likewise.
44909
44910 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44911 `<grub/powerpc/ieee1275/console.h>'.
44912 (grub_keyboard_controller_init): New function prototype.
44913 (grub_console_checkkey): Likewise.
44914 (grub_console_getkey): Likewise.
44915
44916 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44917 keyboard on i386.
44918
44919 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44920 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44921
06ab5303 449222008-01-23 Robert Millan <rmh@aybabtu.com>
44923
44924 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44925 present, "(memdisk)/boot/grub" becomes the default prefix.
44926
44927 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44928 a memdisk tarball with all the modules. Add --overlay=DIR option that
44929 allows users to overlay additional files into the image.
44930
dbb475a4 449312008-01-23 Robert Millan <rmh@aybabtu.com>
44932
44933 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44934 and `machine/memory.h'.
44935 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44936 (_multiboot_mod_SOURCES): New variable.
44937 (_multiboot_mod_CFLAGS): Likewise.
44938 (_multiboot_mod_LDFLAGS): Likewise.
44939 (multiboot_mod_SOURCES): Likewise.
44940 (multiboot_mod_CFLAGS): Likewise.
44941 (multiboot_mod_LDFLAGS): Likewise.
44942
44943 * include/grub/i386/ieee1275/loader.h: New file.
44944
44945 * include/grub/i386/ieee1275/machine.h: Likewise.
44946
44947 * include/grub/i386/ieee1275/memory.h: Likewise.
44948
44949 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44950 variable declaration.
44951 (grub_os_area_size): Likewise.
44952
44953 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44954 (grub_lower_mem, grub_upper_mem): New variables.
44955 (grub_stop_floppy): New function (just to make
44956 grub_multiboot2_real_boot() happy).
44957
44958 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44959 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44960 (grub_stop): New function.
44961 Include `"../realmode.S"' and `"../loader.S"'.
44962
44963 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44964 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44965
44966 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44967 rely on grub_multiboot2_real_boot() for final boot.
44968
25638629 449692008-01-22 Robert Millan <rmh@aybabtu.com>
44970
44971 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44972 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44973 device that doesn't look like an SD card.
44974 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44975 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44976 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44977 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44978 found.
44979
9dad816d 449802008-01-22 Robert Millan <rmh@aybabtu.com>
44981
44982 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44983 avoid claiming over our own code.
44984
34842f2d 449852008-01-22 Bean <bean123ch@gmail.com>
44986
44987 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44988 (jpeg_mod_SOURCES): New variable.
44989 (jpeg_mod_CFLAGS): Likewise.
44990 (jpeg_mod_LDFLAGS): Likewise.
44991
44992 * video/readers/jpeg.c : New file.
44993
44023a28 449942008-01-22 Bean <bean123ch@gmail.com>
44995
44996 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44997 there are no more items.
44998
bc2d8ac6 449992008-01-21 Robert Millan <rmh@aybabtu.com>
45000
45001 * kern/mm.c (grub_mm_init_region): Improve debug message.
45002
261bd4bc 450032008-01-21 Robert Millan <rmh@aybabtu.com>
45004
45005 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
45006 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
45007 address.
45008 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
45009 a C macro.
45010 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
45011 Indicates start of upper memory.
45012 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
45013 (generate_image): Abort when image size is big enough to corrupt
45014 upper memory.
45015
45016 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
45017 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
45018 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45019 instead of hardcoding 0xA0000.
45020 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
45021 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45022 instead of hardcoding 0xA0000.
45023
f970b55e 450242008-01-21 Robert Millan <rmh@aybabtu.com>
45025
45026 * disk/memdisk.c (memdisk_size): New variable.
45027 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
45028 `memdisk_size'.
45029 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
45030 image to dynamic memory.
45031 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
45032 `memdisk_size'. Free memdisk block.
45033
1a8b0526 450342008-01-21 Robert Millan <rmh@aybabtu.com>
45035
45036 Fix detection of very small filesystems (like tar).
45037
45038 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
45039 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
45040 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
45041 a problem with this disk).
45042
6e9b4aab 450432008-01-21 Robert Millan <rmh@aybabtu.com>
45044
45045 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
45046 on grub_biosdisk_rw_standard() error.
45047
0d8837b2 450482008-01-21 Robert Millan <rmh@aybabtu.com>
45049
45050 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
45051 recent changes.
45052 * kern/elf.c: Likewise.
45053 * kern/ieee1275/ieee1275.c: Likewise.
45054 * kern/powerpc/ieee1275/openfw.c: Likewise.
45055 * term/ieee1275/ofconsole.c: Likewise.
45056
ffd36e34 450572008-01-21 Robert Millan <rmh@aybabtu.com>
45058
45059 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
45060
3f0093d0 45061 * include/grub/kernel.h (grub_arch_memdisk_addr)
45062 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 45063
3f0093d0 45064 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
45065 (grub_arch_memdisk_size): ... to here.
ffd36e34 45066
6c391b21 450672008-01-21 Robert Millan <rmh@aybabtu.com>
45068
45069 Mostly based on bugfix from Bean.
45070
45071 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
45072 attribute with hook() parameter.
45073 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
45074 declaration.
45075 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
45076 attribute with hook() parameter.
45077 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
45078 declaration.
45079
55a581dc 450802008-01-21 Robert Millan <rmh@aybabtu.com>
45081
45082 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
45083 (pkglib_MODULES): Add `memdisk.mod'.
45084 (memdisk_mod_SOURCES): New variable.
45085 (memdisk_mod_CFLAGS): Likewise.
45086 (memdisk_mod_LDFLAGS): Likewise.
45087
45088 * disk/memdisk.c: New file.
45089
45090 * include/grub/disk.h (grub_disk_dev_id): Add
45091 `GRUB_DISK_DEVICE_MEMDISK_ID'.
45092
45093 * include/grub/i386/pc/kernel.h
45094 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
45095 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
45096 (grub_kernel_image_size): New variable declaration.
45097 (grub_total_module_size): Likewise.
45098 (grub_memdisk_image_size): Likewise.
45099
45100 * include/grub/i386/pc/memory.h
45101 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
45102
45103 * include/grub/kernel.h: Include `<grub/symbol.h>'.
45104 (grub_arch_memdisk_addr): New variable declaration.
45105 (grub_arch_memdisk_size): Likewise.
45106
45107 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
45108 (grub_arch_memdisk_size): Likewise.
45109
45110 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
45111 (codestart): Replace hardcoded `0x100000' with
45112 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
45113
45114 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
45115 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
45116 not NULL, append the contents of the file it refers to, at the end of
45117 the compressed kernel image. Initialize `grub_memdisk_image_size'
45118 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
45119 (options): Add "memdisk"|'m' option.
45120 (main): Parse --memdisk|-m option, and pass user-provided path as
45121 parameter to generate_image().
45122
3d7f54c9 451232008-01-20 Robert Millan <rmh@aybabtu.com>
45124
45125 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
45126 grub_dprintf() calls from here ...
45127 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
45128
0bf74728 451292008-01-20 Robert Millan <rmh@aybabtu.com>
45130
45131 Fix detection of "real mode" when /options/real-mode? doesn't exist.
45132
45133 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
45134 declaration.
45135 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
45136 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
45137 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 45138 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 45139 property).
45140 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
45141 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
45142
33bf70a7 451432008-01-19 Robert Millan <rmh@aybabtu.com>
45144
fe6b695a 45145 Get rid of confusing function (superseded by
33bf70a7 45146 `grub_ieee1275_get_integer_property')
45147 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
45148 prototype.
45149 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
45150 function.
45151 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
45152 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 45153 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 45154
e2da7d26 451552008-01-19 Robert Millan <rmh@aybabtu.com>
45156
45157 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
45158 command after "shut-down", since implementations differ on which
45159 the command for halt is.
45160
59f1fd8d 451612008-01-19 Robert Millan <rmh@aybabtu.com>
45162
45163 * include/grub/i386/linuxbios/console.h: Add header protection.
45164 (grub_keyboard_controller_init): New function prototype.
45165 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
45166 (KEYBOARD_COMMAND_READ): Likewise.
45167 (KEYBOARD_COMMAND_WRITE): Likewise.
45168 (KEYBOARD_SCANCODE_SET1): Likewise.
45169 (grub_keyboard_controller_write): New function.
45170 (grub_keyboard_controller_read): Likewise.
45171 (grub_keyboard_controller_init): Likewise.
45172
45173 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
45174 (grub_console_init): On coreboot/LinuxBIOS, call
45175 grub_keyboard_controller_init().
45176
5f5a7c15 451772008-01-19 Robert Millan <rmh@aybabtu.com>
45178
45179 PowerPC changes provided by Pavel Roskin.
45180
45181 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
45182 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
45183 don't rely on cmain() doing it.
45184 * kern/i386/ieee1275/startup.S (_start): Store %eax in
45185 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
45186
1210e168 451872008-01-16 Robert Millan <rmh@aybabtu.com>
45188
45189 * include/grub/i386/linuxbios/memory.h
45190 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
45191 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
45192 receive `table_header' as argument. Instead, probe for it in the
45193 known memory ranges where it can be present.
45194 (grub_available_iterate): Do not pass a fixed `table_header' address
45195 to grub_linuxbios_table_iterate().
45196
3d04eab8 451972008-01-15 Robert Millan <rmh@aybabtu.com>
45198
45199 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
45200 * conf/i386-ieee1275.rmk: New file.
45201 * include/grub/i386/ieee1275/console.h: Likewise.
45202 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
45203 * include/grub/i386/ieee1275/kernel.h: Likewise.
45204 * include/grub/i386/ieee1275/time.h: Likewise.
45205 * kern/i386/ieee1275/init.c: Likewise.
45206 * kern/i386/ieee1275/startup.S: Likewise.
45207
d1bc1b73 452082008-01-15 Robert Millan <rmh@aybabtu.com>
45209
45210 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
45211 when pointers are 32-bit (but still do set it to one when they are
45212 64-bit).
45213
66a65807 452142008-01-15 Robert Millan <rmh@aybabtu.com>
45215
45216 * include/grub/ieee1275/ieee1275.h
45217 (grub_ieee1275_get_integer_property): New function prototype.
45218
45219 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
45220 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 45221 grub_ieee1275_get_property() to handle endianness.
66a65807 45222
45223 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
45224 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 45225 where appropriate.
66a65807 45226 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
45227 (grub_map): Likewise.
45228 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
45229
a83ccafd 452302008-01-15 Bean <bean123ch@gmail.com>
45231
45232 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
45233 (grub_script_execute_cmdline): Reset grub_errno.
45234
45235 * normal/main.c (read_config_file): Reset grub_errno.
45236
45237 * normal/parse.y (script_init): New.
45238 (script): Move function and menuentry here.
45239 (delimiter): New.
45240 (command): Add delimiter at the end of command.
45241 (commands): Adjust to match the new command.
45242 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 45243 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 45244 (if): Use the new commands.
45245
45246 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
45247
df6ecfc6 452482008-01-15 Robert Millan <rmh@aybabtu.com>
45249
45250 * normal/menu.c (run_menu): Move timeout message from here ...
45251 (print_timeout): ... to here.
45252 (run_menu): Use print_timeout() once during initial draw to print
45253 the whole message, and again in every clock tick to update only
45254 the number of seconds.
45255
87ae25eb 452562008-01-15 Robert Millan <rmh@aybabtu.com>
45257
45258 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
45259 actual size of `available' from grub_ieee1275_get_property(), and
45260 restrict parsing to that bound.
45261
47bf09a4 452622008-01-15 Christian Franke <franke@computer.org>
45263
45264 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
45265 (argp_program_version): Remove variable.
45266 (argp_program_bug_address): Likewise.
45267 (options): Convert from struct argp_option to struct option.
45268 (struct arguments): Remove.
45269 (parse_opt): Remove.
45270 (usage): New function.
45271 (main): Replace struct args members by simple variables.
45272 Replace argp_parse() by getopt_long().
45273 Add switch to evaluate options.
45274 Add missing "(...)" around root_dev in prefix string.
45275
c86f1469 452762008-01-14 Robert Millan <rmh@aybabtu.com>
45277
45278 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
45279 for grub_ieee1275_exit(), in order to improve portability.
45280
e622c559 452812008-01-14 Robert Millan <rmh@aybabtu.com>
45282
45283 * util/grub.d/10_linux.in (prefix): Define.
45284 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
45285
44cb1ec8 452862008-01-13 Pavel Roskin <proski@gnu.org>
45287
45288 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
45289 grub_errno if no errors have been detected.
45290
1eb8c802 452912008-01-12 Robert Millan <rmh@aybabtu.com>
45292
45293 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
45294 (grub_util_get_dev_abstraction): New function prototype.
45295
45296 * util/getroot.c: Include `<grub/util/getroot.h>'
45297 (grub_util_get_grub_dev): Move detection of abstraction type to ...
45298 (grub_util_get_dev_abstraction): ... here (new function).
45299
45300 * util/grub-probe.c: Convert PRINT_* to an enum. Add
45301 `PRINT_ABSTRACTION'.
45302 (probe): Probe for abstraction type when requested.
45303 (main): Understand `--target=abstraction'.
45304
45305 * util/i386/efi/grub-install.in: Add abstraction module to core
45306 image when it is found to be necessary.
45307 * util/i386/pc/grub-install.in: Likewise.
45308 * util/powerpc/ieee1275/grub-install.in: Likewise.
45309
45310 * util/update-grub_lib.in (font_path): Return system path without
45311 converting to GRUB path.
45312 * util/update-grub.in: Convert system path returned by font_path()
45313 to a GRUB path. Use `grub-probe -t abstraction' to determine what
45314 abstraction module is needed for loading fonts (if any). Export
45315 that as `GRUB_PRELOAD_MODULES'.
45316 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
45317 insmod commands).
45318
52bd3de9 453192008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
45320
45321 Remove some unused code from reiserfs.
f19dbdb7 45322
52bd3de9 45323 * fs/reiserfs.c (struct grub_reiserfs_key)
45324 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
45325 (struct grub_reiserfs_node_body): Removed.
45326 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45327 Likewise.
45328 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45329 Likewise.
45330 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45331 Likewise.
45332 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45333 Likewise.
45334 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45335 Likewise.
45336 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
45337 Likewise.
45338 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45339 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45340 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45341
2f80039d 453422008-01-10 Robert Millan <rmh@aybabtu.com>
45343
45344 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
45345 Determines if a file is garbage left by packaging systems, etc.
45346 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
45347 for processing /etc/grub.d scripts.
45348 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
45349 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
45350 as a condition for processing Linux images.
45351
87888032 453522008-01-10 Pavel Roskin <proski@gnu.org>
45353
45354 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
45355 to compile reiserfs.c on PowerPC.
45356
7e54fced 453572008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 45358
45359 * kern/device.c (grub_device_iterate): Do not abort device iteration
45360 when one of the devices cannot be opened.
45361 * kern/disk.c (grub_disk_open): Do not account previous failures of
45362 unrelated functions when grub_errno is checked for.
45363
5aa541e6 453642008-01-08 Robert Millan <rmh@aybabtu.com>
45365
45366 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
45367 `! grub_linux_is_bzimage', change order of address comparison to make
45368 it more intuitive, and improve "too big zImage" error message.
45369
7076340d 453702008-01-08 Robert Millan <rmh@aybabtu.com>
45371
45372 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
45373 `$(update-grub_DATA)'.
45374 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
45375 targets.
45376
9ca70333 453772008-01-07 Robert Millan <rmh@aybabtu.com>
45378
45379 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
45380 which instruction is modified by grub-setup during installation
45381 (since it wasn't obvious by only looking at this file).
45382
38ccf575 453832008-01-07 Robert Millan <rmh@aybabtu.com>
45384
45385 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
45386 listing actual TODO items.
45387
f5db4291 453882008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45389
868967cf 45390 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
45391 correctly.
45392 (grub_reiserfs_get_key_offset): Likewise.
45393 (grub_reiserfs_set_key_offset): Likewise.
45394 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 45395 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 45396
45397 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
45398 better to remove the bitfield version completely.
f19dbdb7 45399
868967cf 454002008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45401
f5db4291 45402 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
45403 allocated from the heap, due to the fshelp implementation.
45404 (grub_reiserfs_dir): Free NODE, due to the same reason.
45405
492e6d9d 454062008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45407
45408 Mostly from Vincent Pelletier:
f19dbdb7 45409
492e6d9d 45410 * fs/reiserfs.c: New file.
f19dbdb7 45411
492e6d9d 45412 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
45413 (reiserfs_mod_SOURCES): New variable.
45414 (reiserfs_mod_CFLAGS): Likewise.
45415 (reiserfs_mod_LDFLAGS): Likewise.
45416
45417 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
45418 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
45419 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
45420 normal/color.c.
45421
9ce3e7c1 454222008-01-06 Robert Millan <rmh@aybabtu.com>
45423
45424 * normal/color.c: Remove `<grub/env.h>'.
45425
f3b58148 454262008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
45427
45428 * include/grub/normal.h: Include <grub/env.h>.
45429
7ac3bcfa 454302008-01-05 Robert Millan <rmh@aybabtu.com>
45431
45432 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
45433 usage example with `(hd0,1)'.
fb358190 45434 Reported by Samuel Thibault.
7ac3bcfa 45435
c8ee99d7 454362008-01-05 Robert Millan <rmh@aybabtu.com>
45437
45438 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
45439 (grub_linux_boot_zimage): Rename to ...
45440 (grub_linux_boot): ... this.
45441 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
45442 (grub_linux_boot_zimage): Conditionalize zImage copy.
45443
45444 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
45445 (grub_linux_boot_bzimage): Remove prototype.
45446 (grub_linux_boot_zimage): Rename to ...
45447 (grub_linux_boot): ... this.
45448
45449 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
45450 (grub_linux_boot): Remove function.
45451
0ece25b1 454522008-01-05 Robert Millan <rmh@aybabtu.com>
45453
45454 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
45455 (grub_env_write_color_highlight): Likewise.
45456 (grub_wait_after_message): Likewise.
45457
45458 * normal/color.c: New file.
45459
45460 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45461 (normal_mod_DEPENDENCIES): Likewise.
45462
45463 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45464 (normal_mod_DEPENDENCIES): Likewise.
45465
45466 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45467 (normal_mod_DEPENDENCIES): Likewise.
45468
45469 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45470 (normal_mod_DEPENDENCIES): Likewise.
45471
45472 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
45473 for waiting after a message is printed.
45474 * normal/main.c (read_config_file): Likewise.
45475 (grub_normal_init): Register grub_env_write_color_normal() and
45476 grub_env_write_color_highlight() hooks. Mark `color_normal' and
45477 `color_highlight' variables as global.
45478
45479 * normal/menu.c (grub_wait_after_message): New function.
45480 (grub_color_menu_normal): New variable. Replaces ...
45481 (GRUB_COLOR_MENU_NORMAL): ... this macro.
45482 (grub_color_menu_highlight): New variable. Replaces ...
45483 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
45484 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
45485 `GRUB_TERM_COLOR_STANDARD'.
45486 (print_message): Use `grub_setcolorstate' to reload colors. Rename
45487 `normal_code' and `highlight_code' to `old_color_normal' and
45488 `old_color_highlight', respectively.
45489 (grub_menu_init_page): Update colors when drawing the menu, based on
45490 `menu_color_normal' and `menu_color_highlight' variables.
45491 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
45492 a message is printed.
45493
182dd4e5 454942008-01-05 Robert Millan <rmh@aybabtu.com>
45495
45496 * kern/env.c (grub_env_context_open): Propagate hooks for global
45497 variables to new context.
45498
45499 * kern/main.c (grub_set_root_dev): Export `root' variable.
45500
ddf8f6ad 455012008-01-05 Robert Millan <rmh@aybabtu.com>
45502
45503 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 45504 discs unconditionally, since udev and others have options to provide
ddf8f6ad 45505 them.
45506
d8b43d9b 455072008-01-05 Robert Millan <rmh@aybabtu.com>
45508
45509 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
45510
2bff2de3 455112008-01-04 Christian Franke <franke@computer.org>
45512
45513 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
45514 of eisa_mmap.
45515
97eab917 455162008-01-03 Pavel Roskin <proski@gnu.org>
45517
45518 * kern/i386/linuxbios/init.c: Put "void" to all function
45519 declarations with no arguments.
45520 * kern/powerpc/ieee1275/init.c: Likewise.
45521 * term/i386/pc/at_keyboard.c: Likewise.
45522 * term/i386/pc/vga_text.c: Likewise.
45523 * util/grub-mkdevicemap.c: Likewise.
45524
b9416d00 455252008-01-02 Robert Millan <rmh@aybabtu.com>
45526
45527 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
45528 message when loaded image is out of bounds.
45529 (grub_multiboot_load_elf64): Likewise.
45530
92695df9 455312008-01-02 Pavel Roskin <proski@gnu.org>
45532
45533 * util/grub.d/10_linux.in: Try version without ".old" when
45534 looking for initrd. It's better to use initrd from the newer
45535 kernel of the same version than no initrd at all.
45536
d98d9cad 455372008-01-01 Robert Millan <rmh@aybabtu.com>
45538
45539 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
45540
dbfdce36 455412008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
45542
f19dbdb7 45543 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 45544 grub_video_get_active_render_target.
45545 (grub_video_adapter): Added unmap_color and get_active_render_target.
45546
f19dbdb7 45547 * video/video.c: Added grub_video_unmap_color and
dbfdce36 45548 grub_video_get_active_render_target.
45549 (grub_video_get_info): Changed method to accept NULL pointer as an
45550 argument to allow detection of active video adapter.
45551
45552 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
45553 grub_video_vbe_unmap_color_int.
45554 Added grub_video_vbe_unmap_color and
45555 grub_video_vbe_get_active_render_target.
45556 (grub_video_vbe_adapter): Added unmap_color and
45557 get_active_render_target.
45558
f19dbdb7 45559 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 45560 with grub_video_vbe_unmap_color_int.
45561
45562 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
45563 (DEFAULT_NORMAL_COLOR): Likewise.
45564 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
45565 (DEFAULT_FG_COLOR): Removed.
45566 (DEFAULT_BG_COLOR): Likewise.
45567 (DEFAULT_CURSOR_COLOR): Changed value.
45568 (grub_virtual_screen): Added standard_color_setting,
45569 normal_color_setting, highlight_color_setting and term_color.
45570 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
45571 (bitmap_width): Added.
45572 (bitmap_height): Likewise.
45573 (bitmap): Likewise.
45574 (set_term_color): Likewise.
45575 (grub_virtual_screen_setup): Changed to use new terminal coloring
45576 settings.
45577 (grub_gfxterm_init): Added init for bitmap.
45578 (grub_gfxterm_fini): Added destroy for bitmap.
45579 (redraw_screen_rect): Updated to use background bitmap and new
45580 terminal coloring.
45581 (scroll_up): Added optimization for case when there is no bitmap.
45582 (grub_gfxterm_cls): Fixed to use correct background color.
45583 (grub_virtual_screen_setcolorstate): Changed to use new terminal
45584 coloring.
45585 (grub_virtual_screen_setcolor): Likewise.
45586 (grub_virtual_screen_getcolor): Added.
45587 (grub_gfxterm_background_image_cmd): Likewise.
45588 (grub_video_term): Added setcolor and getcolor.
45589 (MOD_INIT): Added registration of background_image command.
45590 (MOD_TERM): Added unregistration for background_image command.
45591
c3c20931 455922007-12-30 Pavel Roskin <proski@gnu.org>
45593
45594 * loader/multiboot_loader.c: Fix multiboot command
45595 unregistration. Fix all typos in the word "multiboot".
45596
df266716 455972007-12-29 Pavel Roskin <proski@gnu.org>
94239199 45598
45599 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45600 support for initrd names used in Fedora.
45601
fc6e896c 456022007-12-26 Bean <bean123ch@gmail.com>
45603
45604 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45605 (cpio_mod_SOURCES): New variable.
45606 (cpio_mod_CFLAGS): Likewise.
45607 (cpio_mod_LDFLAGS): Likewise.
45608
45609 * fs/cpio.c: New file.
45610
45611 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45612
45613 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45614
45615 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45616
45617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45618
533110ad 456192007-12-25 Robert Millan <rmh@aybabtu.com>
45620
45621 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45622 (grub_getcolor): New function.
45623
45624 * kern/term.c (grub_getcolor): New function.
45625 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45626 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45627 (print_entry): Set normal and highlight colors to
45628 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45629 respectively, before printing and restore them to old
45630 values afterwards.
45631 (grub_menu_init_page): Likewise. Fill an additional colored space
45632 that would otherwise be left blank.
45633
45634 * term/efi/console.c (grub_console_getcolor): New function.
45635 (struct grub_console_term.getcolor): New variable.
45636 * term/i386/pc/console.c (grub_console_getcolor): New function.
45637 (struct grub_console_term.getcolor): New variable.
45638 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45639 (struct grub_console_term.getcolor): New variable.
45640
45641 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45642 (struct grub_console_term.setcolor): Remove variable.
45643 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45644 (struct grub_console_term.setcolor): Remove variable.
45645 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45646 (struct grub_console_term.setcolor): Remove variable.
45647 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45648 (struct grub_console_term.setcolor): Remove variable.
45649
4931827f 456502007-12-25 Robert Millan <rmh@aybabtu.com>
45651
45652 * configure.ac: Search for possible unifont.hex locations, and
45653 define UNIFONT_HEX if found.
45654
45655 * Makefile.in (UNIFONT_HEX): Define variable.
45656 (DATA): Rename to ...
45657 (PKGLIB): ... this. Update all users.
45658 (PKGDATA): New variable.
45659 (pkgdata_IMAGES): Rename to ...
45660 (pkglib_IMAGES): ... this. Update all users.
45661 (pkgdata_MODULES): Rename to ...
45662 (pkglib_MODULES): ... this. Update all users.
45663 (pkgdata_PROGRAMS): Rename to ...
45664 (pkglib_PROGRAMS): ... this. Update all users.
45665 (pkgdata_DATA): Rename to ...
45666 (pkglib_DATA): ... this. Update all users.
45667 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45668 (unicode.pff, ascii.pff): New rules.
45669 (all-local): Add `$(PKGDATA)' dependency.
45670 (install-local): Process `$(PKGDATA)'.
45671
45672 * util/update-grub_lib.in (font_path): Search for *.pff files in
45673 a few more locations, including `${pkgdata}'.
45674
57e57e31 456752007-12-23 Robert Millan <rmh@aybabtu.com>
45676
45677 Patch from Bean <bean123ch@gmail.com>:
45678 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45679 `size'.
45680
4bc72aa9 456812007-12-21 Bean <bean123ch@gmail.com>
45682
45683 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45684 (ntfscomp_mod_SOURCES): New variable.
45685 (ntfscomp_mod_CFLAGS): Likewise.
45686 (ntfscomp_mod_LDFLAGS): Likewise.
45687
45688 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45689 (grub_probe_SOURCES): Likewise.
45690 (grub_emu_SOURCES): Likewise.
45691
45692 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45693 (grub_emu_SOURCES): Likewise.
45694
45695 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45696 (grub_emu_SOURCES): Likewise.
45697
45698 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45699 (grub_emu_SOURCES): Likewise.
45700
45701 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45702 (read_run_list): Renamed to grub_ntfs_read_run_list.
45703 (decomp_nextvcn): Moved to ntfscomp.c.
45704 (decomp_getch): Likewise.
45705 (decomp_get16): Likewise.
45706 (decomp_block): Likewise.
45707 (read_block): Likewise.
45708 (read_data): Partially moved to ntfscomp.c.
45709 (fixup): Change unsigned to grub_uint16_t.
45710 (read_mft): Change unsigned long to grub_uint32_t.
45711 (read_attr): Likewise.
45712 (read_data): Likewise.
45713 (read_run_data): Likewise.
45714 (read_run_list): Likewise.
45715 (read_mft): Likewise.
45716
45717 * fs/ntfscomp.c: New file.
45718
45719 * include/grub/ntfs.h: New file.
45720
af680a87 457212007-12-16 Robert Millan <rmh@aybabtu.com>
45722
45723 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
45724 IDE disk check, since Linux is known to support 20 IDE disks.
45725 Reported by Colin Watson.
45726
84be7599 457272007-12-15 Bean <bean123ch@gmail.com>
45728
45729 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
45730 (lnxboot_img_SOURCES): New variable.
45731 (lnxboot_img_ASFLAGS): Likewise.
45732 (lnxboot_img_LDFLAGS): Likewise.
45733
45734 * boot/i386/pc/lnxboot.S: New file.
45735
6af9db01 457362007-11-24 Pavel Roskin <proski@gnu.org>
45737
45738 * configure.ac: Test if '--build-id=none' is supported by the
45739 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45740 objcopy to generate incorrect binary files (binutils
45741 2.17.50.0.18-1 as shipped by Fedora 8).
45742 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45743 linking, so that build ID doesn't break the test.
45744
7361cfe6 457452007-11-24 Pavel Roskin <proski@gnu.org>
45746
45747 * include/grub/i386/time.h: use "void" in the argument list
45748 of grub_cpu_idle().
45749 * include/grub/powerpc/time.h: Likewise.
45750 * include/grub/sparc64/time.h: Likewise.
45751
1593e10c 457522007-11-18 Christian Franke <franke@computer.org>
45753
45754 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
45755 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
45756 This fixes the problem that function keys did not work in grub-emu.
45757
3b8db1a8 457582007-11-18 Christian Franke <franke@computer.org>
45759
45760 * disk/host.c (grub_host_open): Remove attribute unused from
45761 name parameter. Add check for "host". This fixes the problem
45762 that grub-emu does not find partitions.
45763
2e29408d 457642007-11-18 Christian Franke <franke@computer.org>
45765
45766 * util/hostfs.c (is_dir): New function.
45767 (grub_hostfs_dir): Handle missing dirent.d_type case.
45768 (grub_hostfs_read): Add missing fseek().
45769 (grub_hostfs_label): Clear label pointer. This fixes a crash
45770 of grub-emu on "ls (host)".
45771
398cd047 457722007-11-18 Christian Franke <franke@computer.org>
45773
45774 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45775 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45776 to 64 bit boundary by default.
45777
c405c391 457782007-11-18 Bean <bean123ch@gmail.com>
45779
45780 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45781 (hexdump_mod_SOURCES): New variable.
45782 (hexdump_mod_CFLAGS): Likewise.
45783 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 45784
c405c391 45785 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45786
45787 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45788
45789 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45790
45791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45792
45793 * include/grub/hexdump.h: New file.
45794
45795 * commands/hexdump.c: New file.
45796
5cced7fd 457972007-11-10 Robert Millan <rmh@aybabtu.com>
45798
45799 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45800 in grub_outb() calls.
45801 (beep_on): Likewise.
45802
8b714eb0 458032007-11-10 Christian Franke <franke@computer.org>
45804
45805 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45806 (grub_menu_run): Likewise.
45807
ce0f1839 458082007-11-10 Robert Millan <rmh@aybabtu.com>
45809
45810 * include/grub/i386/efi/machine.h: New file.
45811 * include/grub/i386/linuxbios/machine.h: Likewise.
45812 * include/grub/i386/pc/machine.h: Likewise.
45813 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45814 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45815
45816 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45817 (serial_hw_io_addr): New variable.
45818 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45819 instead of `(unsigned short *) 0x400'.
45820
270c237d 458212007-11-10 Bean <bean123ch@gmail.com>
45822
45823 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45824
a87783bf 458252007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45826
45827 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45828 (vga_mod_SOURCES): Added.
45829 (vga_mod_CFLAGS): Likewise.
45830 (vga_mod_LDFLAGS): Likewise.
45831
45832 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45833 grub_outb() calls.
45834 (set_map_mask): Likewise.
45835 (set_read_map): Likewise.
45836 (set_read_address): Likewise.
45837 (vga_font): Removed variable.
45838 (get_vga_glyph): Removed function.
45839 (invalidate_char): Likewise.
45840 (write_char): Changed to use grub_font_get_glyph() for font
45841 information.
45842 (grub_vga_putchar): Likewise.
45843 (grub_vga_getcharwidth): Likewise.
45844
6433b448 458452007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45846
45847 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45848 flags.
45849 (pxeboot_img_LDFLAGS): Likewise.
45850 (diskboot_img_LDFLAGS): Likewise.
45851 (kernel_img_LDFLAGS): Likewise.
45852
49178511 458532007-11-06 Robert Millan <rmh@aybabtu.com>
45854
45855 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45856 in grub_outb() calls.
45857 (serial_hw_init): Likewise.
45858
53b052de 458592007-11-05 Robert Millan <rmh@aybabtu.com>
45860
45861 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45862 spaces. Skip non-regular files.
45863
5ab33bba 458642007-11-05 Robert Millan <rmh@aybabtu.com>
45865
45866 * kern/disk.c (grub_disk_firmware_fini)
45867 (grub_disk_firmware_is_tainted): New variables.
45868
45869 * include/grub/disk.h (grub_disk_firmware_fini)
45870 (grub_disk_firmware_is_tainted): Likewise.
45871
45872 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45873 (grub_disk_biosdisk_fini): ... to here.
45874 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45875 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45876 is set. Register grub_disk_biosdisk_fini() in
45877 `grub_disk_firmware_fini'.
45878
45879 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45880 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45881 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45882 to finish existing firmware disk interface.
45883
45884 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45885 (ata_mod_SOURCES): New variable.
45886 (ata_mod_CFLAGS): Likewise.
45887 (ata_mod_LDFLAGS): Likewise.
45888
0149ab7c 458892007-11-05 Robert Millan <rmh@aybabtu.com>
45890
45891 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45892 (grub_ata_wait): Reimplement using grub_millisleep().
45893
45894 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45895 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45896
be7ac41e 458972007-11-03 Marco Gerards <marco@gnu.org>
45898
45899 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45900 (CRTC_ADDR_PORT): New macro.
45901 (CRTC_DATA_PORT): Likewise.
45902 (CRTC_CURSOR): Likewise.
45903 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45904 (CRTC_CURSOR_ADDR_LOW): Likewise.
45905 (update_cursor): New function.
45906 (grub_console_real_putchar): Call `update_cursor'.
45907 (grub_console_gotoxy): Likewise.
45908 (grub_console_cls): Set the default color when clearing the
45909 screen.
45910 (grub_console_setcursor): Implemented.
45911
bb06ab2e 459122007-11-03 Marco Gerards <marco@gnu.org>
45913
45914 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45915 become activate.
45916 (grub_ata_pio_write): Likewise.
45917
45918 (grub_atapi_identify): Wait after issuing an ATA command.
45919 (grub_atapi_packet): Likewise.
45920 (grub_ata_identify): Likewise.
45921 (grub_ata_readwrite): Likewise.
45922
cf8f780b 459232007-11-03 Marco Gerards <marco@gnu.org>
45924
45925 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45926 (grub_ata_pio_write): Likewise.
45927 (grub_ata_readwrite): Use `grub_error', instead of
45928 returning `grub_errno'.
45929
ed649e54 459302007-11-03 Marco Gerards <marco@gnu.org>
45931
45932 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45933 grub_ata_pio_write once for every single sector, instead of for
45934 multiple sectors.
45935
ca25d8f0 459362007-10-31 Robert Millan <rmh@aybabtu.com>
45937
45938 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45939
45940 * conf/i386-linuxbios.rmk: New file.
45941
45942 * kern/i386/pc/hardware.c: Likewise.
45943 * term/i386/pc/at_keyboard.c: Likewise.
45944 * term/i386/pc/vga_text.c: Likewise.
45945
45946 * include/grub/i386/linuxbios/boot.h: Likewise.
45947 * include/grub/i386/linuxbios/console.h: Likewise.
45948 * include/grub/i386/linuxbios/init.h: Likewise.
45949 * include/grub/i386/linuxbios/kernel.h: Likewise.
45950 * include/grub/i386/linuxbios/loader.h: Likewise.
45951 * include/grub/i386/linuxbios/memory.h: Likewise.
45952 * include/grub/i386/linuxbios/serial.h: Likewise.
45953 * include/grub/i386/linuxbios/time.h: Likewise.
45954
45955 * kern/i386/linuxbios/init.c: Likewise.
45956 * kern/i386/linuxbios/startup.S: Likewise.
45957 * kern/i386/linuxbios/table.c: Likewise.
45958
e911ecc1 459592007-10-31 Marco Gerards <marco@gnu.org>
45960
45961 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45962 (ata_mod_SOURCES): New variable.
45963 (ata_mod_CFLAGS): Likewise.
45964 (ata_mod_LDFLAGS): Likewise.
45965
45966 * disk/ata.c: New file.
45967
45968 * include/grub/disk.h (grub_disk_dev_id): Add
45969 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 45970
7f66d0e0 459712007-10-31 Robert Millan <rmh@aybabtu.com>
45972
45973 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45974 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45975
45976 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45977 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45978
45979 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45980 `<grub/types.h>'.
45981
45982 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45983
5cd7dd46 459842007-10-27 Robert Millan <rmh@aybabtu.com>
45985
3236ca65 45986 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 45987
2ebfc90f 459882007-10-22 Robert Millan <rmh@aybabtu.com>
45989
45990 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45991 `"../realmode.S"'.
45992 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45993
73fcb0f3 459942007-10-22 Robert Millan <rmh@aybabtu.com>
45995
45996 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45997 (pkgdata_MODULES): Add `biosdisk.mod'.
45998 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45999 variables.
46000
46001 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
46002 (grub_biosdisk_init): Replace with ...
46003 (GRUB_MOD_INIT(biosdisk)): ... this.
46004 (grub_biosdisk_fini): Replace with ...
46005 (GRUB_MOD_FINI(biosdisk)): ... this.
46006
46007 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
46008 (grub_machine_init): Remove call to grub_biosdisk_init().
46009 (grub_machine_fini): Remove call to grub_machine_fini().
46010
46011 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
46012
3381d274 460132007-10-22 Robert Millan <rmh@aybabtu.com>
46014
46015 * include/grub/time.h: New file.
46016 * include/grub/i386/time.h: Likewise.
46017 * include/grub/powerpc/time.h: Likewise.
46018 * include/grub/sparc64/time.h: Likewise.
46019
46020 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
46021 instances to ...
46022 (KERNEL_MACHINE_TIME_HEADER): ... this.
46023 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46024 instances to ...
46025 (KERNEL_MACHINE_TIME_HEADER): ... this.
46026 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46027 instances to ...
46028 (KERNEL_MACHINE_TIME_HEADER): ... this.
46029
46030 * kern/i386/efi/init.c: Include `<grub/time.h>'.
46031 (grub_millisleep): New function.
46032 * kern/i386/pc/init.c: Include `<grub/time.h>'.
46033 (grub_millisleep): New function.
46034 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
46035 Remove `grub/machine/time.h' include.
46036 (grub_millisleep): New function.
46037 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
46038 Remove `grub/machine/time.h' include.
46039 (grub_millisleep): New function.
46040
46041 * include/grub/misc.h (grub_div_roundup): New function.
46042
46043 * kern/misc.c: Include `<grub/time.h>'.
46044 (grub_millisleep_generic): New function.
46045
46046 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
46047 Add `time.h'.
46048 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
46049 Add `time.h'.
46050 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
46051 `machine/time.h'. Add `time.h'.
46052 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46053
a39a0312 460542007-10-21 Robert Millan <rmh@aybabtu.com>
46055
46056 * include/grub/misc.h (grub_max): New function.
46057
2aad70e2 460582007-10-21 Robert Millan <rmh@aybabtu.com>
46059
46060 * util/misc.c (grub_util_info): Call fflush() before returning.
46061
54b71c4b 460622007-10-20 Robert Millan <rmh@aybabtu.com>
46063
46064 * genmk.rb (Image): Copy `extra_flags' from here ...
46065 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
46066
46067 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
46068 to `argc' and `args' arguments.
46069
a979f513 460702007-10-17 Robert Millan <rmh@aybabtu.com>
46071
46072 * kern/i386/loader.S: New file.
46073
46074 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
46075 * kern/i386/loader.S (grub_linux_prot_size)... to here.
46076 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
46077 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
46078 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
46079 * kern/i386/loader.S (grub_linux_real_addr)... to here.
46080 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
46081 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
46082 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
46083 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
46084 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
46085 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
46086 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
46087 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
46088
46089 * kern/i386/realmode.S: New file.
46090
46091 * kern/i386/pc/startup.S (protstack): Moved from here ...
46092 * kern/i386/realmode.S (protstack)... to here.
46093 * kern/i386/pc/startup.S (gdt): Moved from here ...
46094 * kern/i386/realmode.S (gdt)... to here.
46095 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
46096 * kern/i386/realmode.S (prot_to_real)... to here.
46097
46098 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
46099 `kern/i386/realmode.S'.
46100
825fc8fd 461012007-10-17 Robert Millan <rmh@aybabtu.com>
46102
46103 * include/grub/i386/loader.h: New file.
46104
46105 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
46106 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46107 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46108 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46109 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
46110 * include/grub/i386/loader.h (grub_linux_prot_size)
46111 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46112 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46113 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46114 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
46115
46116 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
46117
e179b2f4 461182007-10-15 Robert Millan <rmh@aybabtu.com>
46119
46120 * normal/misc.c (grub_normal_print_device_info): Do not probe for
46121 filesystem when dev->disk is unset.
46122 Do probe for filesystem even when dev->disk->has_partitions is set.
46123 In case a filesystem is found, always report it.
46124 In case it isn't, if dev->disk->has_partitions is set, report that
46125 a partition table was found instead of reporting that no filesystem
46126 could be identified.
46127
5db82af6 461282007-10-12 Robert Millan <rmh@aybabtu.com>
46129
46130 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
46131 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
46132
68f6ac74 46133 * include/grub/types.h (grub_host_to_target16): New macro.
46134 (grub_host_to_target32): Likewise.
46135 (grub_host_to_target64): Likewise.
46136 (grub_target_to_host16): Likewise.
46137 (grub_target_to_host32): Likewise.
46138 (grub_target_to_host64): Likewise.
5db82af6 46139
46140 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46141 Renamed from to ...
46142 (GRUB_MOD_ALIGN): ...this. Update all users.
46143
68f6ac74 46144 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
46145 grub_host_to_target32.
46146 Replace grub_be_to_cpu32 with grub_target_to_host32.
46147 (load_modules): Likewise.
46148 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
46149 Replace grub_be_to_cpu32 with grub_target_to_host32.
46150 Replace grub_cpu_to_be16 with grub_host_to_target16.
46151 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 46152
3cf497cc 461532007-10-12 Robert Millan <rmh@aybabtu.com>
46154
46155 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
46156 * util/elf/grub-mkimage.c: ... here.
46157
46158 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
46159 `util/powerpc/ieee1275/grub-mkimage.c'.
46160
c8cc3692 461612007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 46162
c8cc3692 46163 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
46164 and make it easier to figure out.
46165 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
46166 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
46167 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
46168 leave us with less than HEAP_MIN_SIZE total heap.
46169 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 46170
5c58b791 461712007-10-03 Robert Millan <rmh@aybabtu.com>
46172
46173 * include/grub/i386/io.h: New file.
46174 * commands/i386/pc/play.c (inb): Removed.
46175 (outb): Removed.
46176 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46177 with grub_outb().
afcd2ef8 46178 * term/i386/pc/serial.c (inb): Removed.
46179 (outb): Removed.
46180 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46181 with grub_outb().
46182 * term/i386/pc/vga.c (inb): Removed.
46183 (outb): Removed.
46184 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46185 with grub_outb().
5c58b791 46186
1a477ed6 461872007-10-02 Robert Millan <rmh@aybabtu.com>
46188
46189 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
46190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46191 Reported by Marcin Kurek.
46192
6b5d80fa 461932007-09-07 Robert Millan <rmh@aybabtu.com>
46194
46195 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
46196 SmartFirmware version updates (as released by Sven Luther), and avoid
46197 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
46198 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
46199 known broken.
46200
5618afbf 462012007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46202
46203 From Hitoshi Ozeki:
46204 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
46205 when merging two regions.
46206
6139dcd9 462072007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46208
508e39ee 46209 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
46210 * normal/completion.c (grub_normal_do_completion): Likewise.
46211 Reported by Hitoshi Ozeki.
46212
462132007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46214
6139dcd9 46215 Do not use devices at boot in chainloading.
f19dbdb7 46216
6139dcd9 46217 * loader/i386/pc/chainloader.c (boot_drive): New variable.
46218 (boot_part_addr): Likewise.
46219 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
46220 with BOOT_DRIVE and BOOT_PART_ADDR.
46221 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
46222 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
46223
38da6516 462242007-08-29 Robert Millan <rmh@aybabtu.com>
46225
46226 Patch from Simon Peter <dn.tlp@gmx.net>:
46227 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
46228 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
46229 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
46230 util/i386/pc/grub-setup.c_DEPENDENCIES.
46231 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
46232 util/grub-probe.c_DEPENDENCIES.
46233 * conf/powerpc-ieee1275.rmk: Likewise.
46234
29d0928c 462352007-08-28 Robert Millan <rmh@aybabtu.com>
46236
46237 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
46238 to tell grub-mkdevicemap how to name devices.
46239 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
46240 feature).
46241
46242 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
46243 util/i386/get_disk_name.c.
46244 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
46245 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
46246 util/ieee1275/get_disk_name.c.
46247
46248 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
46249
46250 * DISTLIST: Add util/i386/get_disk_name.c and
46251 util/ieee1275/get_disk_name.c.
46252
46253 * util/grub-mkdevicemap.c: Replace device naming logic with
46254 grub_util_get_disk_name() calls.
46255
5a0d3cca 462562007-08-20 Robert Millan <rmh@aybabtu.com>
46257
46258 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
46259 (so that it works for both plural and singular quantities).
46260
8b72db2f 462612007-08-05 Robert Millan <rmh@aybabtu.com>
46262
46263 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
46264 so that [xz] isn't taken into account when determining order.
46265
352466bf 462662007-08-02 Marco Gerards <marco@gnu.org>
46267
46268 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
46269 `include/multiboot2.h', `include/grub/elfload.h',
46270 `include/multiboot.h', `include/grub/multiboot.h',
46271 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
46272 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
46273 `kern/elf.c', `loader/multiboot_loader.c',
46274 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
46275 `loader/i386/pc/multiboot2.c',
46276 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
46277 `util/i386/pc/grub-mkrescue.in'. Remove
46278 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
46279 `include/grub/i386/pc/util/biosdisk.h' and
46280 `include/grub/powerpc/ieee1275/multiboot.h'.
46281
8f096014 462822007-08-02 Bean <bean123ch@gmail.com>
46283
46284 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
46285 (ntfs_mod_SOURCES): New variable.
46286 (ntfs_mod_CFLAGS): Likewise.
46287 (ntfs_mod_LDFLAGS): Likewise.
46288
46289 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
46290 (grub_probe_SOURCES): Likewise.
46291 (grub_emu_SOURCES): Likewise.
46292
46293 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46294 (grub_emu_SOURCES): Likewise.
46295
46296 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46297 (grub_emu_SOURCES): Likewise.
f19dbdb7 46298
8f096014 46299 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
46300
46301 * fs/ntfs.c: New file.
46302
9959f7db 463032007-08-02 Bean <bean123ch@gmail.com>
46304
46305 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
46306
46307 * file.h (grub_file): Likewise.
46308
46309 * fshelp.h (grub_fshelp_read_file): Likewise.
46310
46311 * util/i386/pc/grub-setup.c (setup): Likewise.
46312 (save_first_sector): Likewise.
46313 (save_blocklists): Likewise.
f19dbdb7 46314
9959f7db 46315 * fs/affs.c (grub_affs_read_file): Likewise.
46316
46317 * fs/ext2.c (grub_ext2_read_file): Likewise.
46318
46319 * fs/fat.c (grub_fat_read_data): Likewise.
46320
46321 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
46322
46323 * fs/hfs.c (grub_hfs_read_file): Likewise.
46324
46325 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46326
46327 * fs/jfs.c (grub_jfs_read_file): Likewise.
46328
46329 * fs/minix.c (grub_minix_read_file): Likewise.
46330
46331 * fs/sfs.c (grub_sfs_read_file): Likewise.
46332
46333 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 46334
9959f7db 46335 * fs/xfs.c (grub_xfs_read_file): Likewise.
46336
46337 * command/blocklist.c (read_blocklist): Likewise.
46338 (print_blocklist): Likewise.
46339
0a203f83 463402007-08-02 Marco Gerards <marco@gnu.org>
46341
46342 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
46343 `util/hostfs.c'.
46344
46345 * disk/host.c: New file.
46346
46347 * util/hostfs.c: Likewise.
46348
46349 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
46350 return `GRUB_ERR_BAD_FS'.
46351 * fs/sfs.c (grub_sfs_mount): Likewise.
46352 * fs/xfs.c (grub_xfs_mount): Likewise.
46353
46354 * include/grub/disk.h (enum grub_disk_dev_id): Add
46355 `GRUB_DISK_DEVICE_HOST_ID'.
46356
46357 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
46358
e5dfe777 463592007-07-24 Jerone Young <jerone@gmail.com>
46360
f19dbdb7 46361 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 46362 modules for compilation.
46363 * conf/powerpc-ieee1275.rmk: Likewise.
46364
46365 * include/multiboot.h: Move multiboot definitions to one file. Rename
46366 many definitions to not get grub specific.
46367 * include/multiboot2.h: Create header with multiboot 2 definitions.
46368 * include/grub/multiboot.h: Header for grub specific function
46369 prototypes and definitions.
46370 * include/grub/multiboot2.h: Likewise.
46371 * include/grub/multiboot_loader.h: Likewise.
46372 * include/grub/i386/pc/multiboot.h: Removed.
46373 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
46374
46375 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
46376 and 2 to allow for one multiboot and module commands.
46377 * loader/multiboot2.c: Add multiboot2 functionality.
46378 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
46379 and definition names.
46380 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
46381 2 functions.
46382 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
46383 ieee1275 specific multiboot2 code.
46384
46385 * kern/i386/pc/startup.S: Change headers and definition names for
46386 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
46387
daf0f0ba 463882007-07-22 Robert Millan <rmh@aybabtu.com>
46389
46390 * geninitheader.sh: Process file specified in first parameter rather
46391 than hardcoding grub_modules_init.lst.
fe6b695a 46392 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 46393 than hardcoding grub_modules_init.h.
46394
46395 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
46396 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
46397 grub_probe_init.[ch] and grub_setup_init.[ch].
46398
46399 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
46400 grub_modules_init.h with grub_emu_init.h.
46401 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
46402 grub_probe_init.[ch] files.
46403 * conf/i386-efi.rmk: Likewise.
46404 * conf/i386-pc.rmk: Likewise.
46405 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
46406 grub_setup_init.[ch] files.
46407
46408 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
46409 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
46410 to initialize modules rather than a list of hardcoded functions.
46411 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
46412 grub_init_all() to initialize modules rather than a list of hardcoded
46413 functions.
46414
54cdc1cc 464152007-07-22 Robert Millan <rmh@aybabtu.com>
46416
46417 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
46418 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
46419
ad0686cc 464202007-07-22 Robert Millan <rmh@aybabtu.com>
46421
46422 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46423 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
46424 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
46425 flag when running on SmartFirmware.
46426 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
46427 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
46428 was set.
46429
46430 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46431 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
46432 rather than decreasing it.
46433
46434 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
46435 there's not enough space to do it, fail in the same way as when it
46436 can't be done because there are no partitions.
46437
46438 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
46439 when nvsetenv failed.
46440
969c02ec 464412007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46442
46443 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
46444 because this rule is automatically generated.
46445 (grub-mkrescue): Removed for the same reason as above.
46446
5a79f472 464472007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46448
46449 Migrate to GNU General Public License Version 3.
f19dbdb7 46450
5a79f472 46451 * COPYING: Replaced with the plain text version of GPLv3.
46452
46453 * config.guess: Updated from gnulib.
46454 * config.sub: Likewise.
46455
46456 * geninit.sh: Output a GPLv3 copyright notice.
46457 * geninitheader.sh: Likewise.
46458 * genmodsrc.sh: Likewise.
46459 * gensymlist.sh.in: Likewise.
46460
46461 * boot/i386/pc/boot.S: Upgraded to GPLv3.
46462 * boot/i386/pc/diskboot.S: Likewise.
46463 * boot/i386/pc/pxeboot.S: Likewise.
46464 * commands/blocklist.c: Likewise.
46465 * commands/boot.c: Likewise.
46466 * commands/cat.c: Likewise.
46467 * commands/cmp.c: Likewise.
46468 * commands/configfile.c: Likewise.
46469 * commands/echo.c: Likewise.
46470 * commands/help.c: Likewise.
46471 * commands/ls.c: Likewise.
46472 * commands/search.c: Likewise.
46473 * commands/terminal.c: Likewise.
46474 * commands/test.c: Likewise.
46475 * commands/videotest.c: Likewise.
46476 * commands/i386/cpuid.c: Likewise.
46477 * commands/i386/pc/halt.c: Likewise.
46478 * commands/i386/pc/play.c: Likewise.
46479 * commands/i386/pc/reboot.c: Likewise.
46480 * commands/i386/pc/vbeinfo.c: Likewise.
46481 * commands/i386/pc/vbetest.c: Likewise.
46482 * commands/ieee1275/halt.c: Likewise.
46483 * commands/ieee1275/reboot.c: Likewise.
46484 * commands/ieee1275/suspend.c: Likewise.
46485 * disk/loopback.c: Likewise.
46486 * disk/lvm.c: Likewise.
46487 * disk/raid.c: Likewise.
46488 * disk/efi/efidisk.c: Likewise.
46489 * disk/i386/pc/biosdisk.c: Likewise.
46490 * disk/ieee1275/ofdisk.c: Likewise.
46491 * font/manager.c: Likewise.
46492 * fs/affs.c: Likewise.
46493 * fs/ext2.c: Likewise.
46494 * fs/fat.c: Likewise.
46495 * fs/fshelp.c: Likewise.
46496 * fs/hfs.c: Likewise.
46497 * fs/hfsplus.c: Likewise.
46498 * fs/iso9660.c: Likewise.
46499 * fs/jfs.c: Likewise.
46500 * fs/minix.c: Likewise.
46501 * fs/sfs.c: Likewise.
46502 * fs/ufs.c: Likewise.
46503 * fs/xfs.c: Likewise.
46504 * hello/hello.c: Likewise.
46505 * include/grub/acorn_filecore.h: Likewise.
46506 * include/grub/arg.h: Likewise.
46507 * include/grub/bitmap.h: Likewise.
46508 * include/grub/boot.h: Likewise.
46509 * include/grub/cache.h: Likewise.
46510 * include/grub/device.h: Likewise.
46511 * include/grub/disk.h: Likewise.
46512 * include/grub/dl.h: Likewise.
46513 * include/grub/elfload.h: Likewise.
46514 * include/grub/env.h: Likewise.
46515 * include/grub/err.h: Likewise.
46516 * include/grub/file.h: Likewise.
46517 * include/grub/font.h: Likewise.
46518 * include/grub/fs.h: Likewise.
46519 * include/grub/fshelp.h: Likewise.
46520 * include/grub/gzio.h: Likewise.
46521 * include/grub/hfs.h: Likewise.
46522 * include/grub/kernel.h: Likewise.
46523 * include/grub/loader.h: Likewise.
46524 * include/grub/lvm.h: Likewise.
46525 * include/grub/misc.h: Likewise.
46526 * include/grub/mm.h: Likewise.
46527 * include/grub/net.h: Likewise.
46528 * include/grub/normal.h: Likewise.
46529 * include/grub/parser.h: Likewise.
46530 * include/grub/partition.h: Likewise.
46531 * include/grub/pc_partition.h: Likewise.
46532 * include/grub/raid.h: Likewise.
46533 * include/grub/rescue.h: Likewise.
46534 * include/grub/script.h: Likewise.
46535 * include/grub/setjmp.h: Likewise.
46536 * include/grub/symbol.h: Likewise.
46537 * include/grub/term.h: Likewise.
46538 * include/grub/terminfo.h: Likewise.
46539 * include/grub/tparm.h: Likewise.
46540 * include/grub/types.h: Likewise.
46541 * include/grub/video.h: Likewise.
46542 * include/grub/efi/api.h: Likewise.
46543 * include/grub/efi/chainloader.h: Likewise.
46544 * include/grub/efi/console.h: Likewise.
46545 * include/grub/efi/console_control.h: Likewise.
46546 * include/grub/efi/disk.h: Likewise.
46547 * include/grub/efi/efi.h: Likewise.
46548 * include/grub/efi/pe32.h: Likewise.
46549 * include/grub/efi/time.h: Likewise.
46550 * include/grub/i386/linux.h: Likewise.
46551 * include/grub/i386/setjmp.h: Likewise.
46552 * include/grub/i386/types.h: Likewise.
46553 * include/grub/i386/efi/kernel.h: Likewise.
46554 * include/grub/i386/efi/loader.h: Likewise.
46555 * include/grub/i386/efi/time.h: Likewise.
46556 * include/grub/i386/pc/biosdisk.h: Likewise.
46557 * include/grub/i386/pc/boot.h: Likewise.
46558 * include/grub/i386/pc/chainloader.h: Likewise.
46559 * include/grub/i386/pc/console.h: Likewise.
46560 * include/grub/i386/pc/init.h: Likewise.
46561 * include/grub/i386/pc/kernel.h: Likewise.
46562 * include/grub/i386/pc/loader.h: Likewise.
46563 * include/grub/i386/pc/memory.h: Likewise.
46564 * include/grub/i386/pc/multiboot.h: Likewise.
46565 * include/grub/i386/pc/serial.h: Likewise.
46566 * include/grub/i386/pc/time.h: Likewise.
46567 * include/grub/i386/pc/vbe.h: Likewise.
46568 * include/grub/i386/pc/vbeblit.h: Likewise.
46569 * include/grub/i386/pc/vbefill.h: Likewise.
46570 * include/grub/i386/pc/vbeutil.h: Likewise.
46571 * include/grub/i386/pc/vga.h: Likewise.
46572 * include/grub/ieee1275/ieee1275.h: Likewise.
46573 * include/grub/ieee1275/ofdisk.h: Likewise.
46574 * include/grub/powerpc/libgcc.h: Likewise.
46575 * include/grub/powerpc/setjmp.h: Likewise.
46576 * include/grub/powerpc/types.h: Likewise.
46577 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
46578 * include/grub/powerpc/ieee1275/console.h: Likewise.
46579 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
46580 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
46581 * include/grub/powerpc/ieee1275/loader.h: Likewise.
46582 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
46583 * include/grub/powerpc/ieee1275/time.h: Likewise.
46584 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
46585 * include/grub/sparc64/libgcc.h: Likewise.
46586 * include/grub/sparc64/setjmp.h: Likewise.
46587 * include/grub/sparc64/types.h: Likewise.
46588 * include/grub/sparc64/ieee1275/console.h: Likewise.
46589 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46590 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46591 * include/grub/sparc64/ieee1275/time.h: Likewise.
46592 * include/grub/util/biosdisk.h: Likewise.
46593 * include/grub/util/getroot.h: Likewise.
46594 * include/grub/util/lvm.h: Likewise.
46595 * include/grub/util/misc.h: Likewise.
46596 * include/grub/util/raid.h: Likewise.
46597 * include/grub/util/resolve.h: Likewise.
46598 * io/gzio.c: Likewise.
46599 * kern/device.c: Likewise.
46600 * kern/disk.c: Likewise.
46601 * kern/dl.c: Likewise.
46602 * kern/elf.c: Likewise.
46603 * kern/env.c: Likewise.
46604 * kern/err.c: Likewise.
46605 * kern/file.c: Likewise.
46606 * kern/fs.c: Likewise.
46607 * kern/loader.c: Likewise.
46608 * kern/main.c: Likewise.
46609 * kern/misc.c: Likewise.
46610 * kern/mm.c: Likewise.
46611 * kern/parser.c: Likewise.
46612 * kern/partition.c: Likewise.
46613 * kern/rescue.c: Likewise.
46614 * kern/term.c: Likewise.
46615 * kern/efi/efi.c: Likewise.
46616 * kern/efi/init.c: Likewise.
46617 * kern/efi/mm.c: Likewise.
46618 * kern/i386/dl.c: Likewise.
46619 * kern/i386/efi/init.c: Likewise.
46620 * kern/i386/efi/startup.S: Likewise.
46621 * kern/i386/pc/init.c: Likewise.
46622 * kern/i386/pc/lzo1x.S: Likewise.
46623 * kern/i386/pc/startup.S: Likewise.
46624 * kern/ieee1275/ieee1275.c: Likewise.
46625 * kern/powerpc/cache.S: Likewise.
46626 * kern/powerpc/dl.c: Likewise.
46627 * kern/powerpc/ieee1275/cmain.c: Likewise.
46628 * kern/powerpc/ieee1275/crt0.S: Likewise.
46629 * kern/powerpc/ieee1275/init.c: Likewise.
46630 * kern/powerpc/ieee1275/openfw.c: Likewise.
46631 * kern/sparc64/cache.S: Likewise.
46632 * kern/sparc64/dl.c: Likewise.
46633 * kern/sparc64/ieee1275/init.c: Likewise.
46634 * kern/sparc64/ieee1275/openfw.c: Likewise.
46635 * loader/efi/chainloader.c: Likewise.
46636 * loader/efi/chainloader_normal.c: Likewise.
46637 * loader/i386/efi/linux.c: Likewise.
46638 * loader/i386/efi/linux_normal.c: Likewise.
46639 * loader/i386/pc/chainloader.c: Likewise.
46640 * loader/i386/pc/chainloader_normal.c: Likewise.
46641 * loader/i386/pc/linux.c: Likewise.
46642 * loader/i386/pc/linux_normal.c: Likewise.
46643 * loader/i386/pc/multiboot.c: Likewise.
46644 * loader/i386/pc/multiboot_normal.c: Likewise.
46645 * loader/powerpc/ieee1275/linux.c: Likewise.
46646 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46647 * normal/arg.c: Likewise.
46648 * normal/cmdline.c: Likewise.
46649 * normal/command.c: Likewise.
46650 * normal/completion.c: Likewise.
46651 * normal/execute.c: Likewise.
46652 * normal/function.c: Likewise.
46653 * normal/lexer.c: Likewise.
46654 * normal/main.c: Likewise.
46655 * normal/menu.c: Likewise.
46656 * normal/menu_entry.c: Likewise.
46657 * normal/misc.c: Likewise.
46658 * normal/parser.y: Likewise.
46659 * normal/script.c: Likewise.
46660 * normal/i386/setjmp.S: Likewise.
46661 * normal/powerpc/setjmp.S: Likewise.
46662 * normal/sparc64/setjmp.S: Likewise.
46663 * partmap/acorn.c: Likewise.
46664 * partmap/amiga.c: Likewise.
46665 * partmap/apple.c: Likewise.
46666 * partmap/gpt.c: Likewise.
46667 * partmap/pc.c: Likewise.
46668 * partmap/sun.c: Likewise.
46669 * term/gfxterm.c: Likewise.
46670 * term/terminfo.c: Likewise.
46671 * term/efi/console.c: Likewise.
46672 * term/i386/pc/console.c: Likewise.
46673 * term/i386/pc/serial.c: Likewise.
46674 * term/i386/pc/vesafb.c: Likewise.
46675 * term/i386/pc/vga.c: Likewise.
46676 * term/ieee1275/ofconsole.c: Likewise.
46677 * util/biosdisk.c: Likewise.
46678 * util/console.c: Likewise.
46679 * util/genmoddep.c: Likewise.
46680 * util/getroot.c: Likewise.
46681 * util/grub-emu.c: Likewise.
46682 * util/grub-mkdevicemap.c: Likewise.
46683 * util/grub-probe.c: Likewise.
46684 * util/lvm.c: Likewise.
46685 * util/misc.c: Likewise.
46686 * util/raid.c: Likewise.
46687 * util/resolve.c: Likewise.
46688 * util/update-grub.in: Likewise.
46689 * util/update-grub_lib.in: Likewise.
46690 * util/grub.d/00_header.in: Likewise.
46691 * util/grub.d/10_hurd.in: Likewise.
46692 * util/grub.d/10_linux.in: Likewise.
46693 * util/i386/efi/grub-install.in: Likewise.
46694 * util/i386/efi/grub-mkimage.c: Likewise.
46695 * util/i386/pc/grub-install.in: Likewise.
46696 * util/i386/pc/grub-mkimage.c: Likewise.
46697 * util/i386/pc/grub-mkrescue.in: Likewise.
46698 * util/i386/pc/grub-setup.c: Likewise.
46699 * util/i386/pc/misc.c: Likewise.
46700 * util/powerpc/ieee1275/grub-install.in: Likewise.
46701 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46702 * util/powerpc/ieee1275/misc.c: Likewise.
46703 * video/bitmap.c: Likewise.
46704 * video/video.c: Likewise.
46705 * video/i386/pc/vbe.c: Likewise.
46706 * video/i386/pc/vbeblit.c: Likewise.
46707 * video/i386/pc/vbefill.c: Likewise.
46708 * video/i386/pc/vbeutil.c: Likewise.
46709 * video/readers/tga.c: Likewise.
46710
3572d015 467112007-07-02 Robert Millan <rmh@aybabtu.com>
46712
46713 * conf/i386-efi.rmk: Replace obsolete reference to
46714 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46715 with util/getroot.c.
46716 * conf/powerpc-ieee1275.rmk: Likewise.
46717 * conf/sparc64-ieee1275.rmk: Likewise.
46718
46719 * util/grub-emu.c (main): Fix unchecked pointer handling.
46720
2c2a681b 467212007-07-02 Robert Millan <rmh@aybabtu.com>
46722
46723 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
46724 invocation to fail, in order to support partition-less media.
46725
46726 * util/i386/pc/grub-install.in: Likewise.
46727
46728 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
46729 which fs or partmap modules are needed (akin to its sister scripts).
46730
46731 Also use grub-probe to get rid of unportable /proc/mounts check.
46732
46733 Print the same informational message that the other scripts do, before
fe6b695a 46734 exiting.
2c2a681b 46735
6193defe 467362007-06-23 Robert Millan <rmh@aybabtu.com>
46737
fe6b695a 46738 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 46739 a font file can be found and, if so, echo the GRUB path to it.
46740
46741 * util/update-grub.in: Handle multiple terminals depending on user
46742 input, platform availability and font file presence. Propagate
46743 variables of our findings to /etc/grub.d/ children.
46744
46745 * util/grub.d/00_header.in: Handle multiple terminals, based on
46746 environment setup by update-grub.
46747
eface1dc 467482007-06-23 Robert Millan <rmh@aybabtu.com>
46749
ba50d28f 46750 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 46751
bf697e28 467522007-06-21 Robert Millan <rmh@aybabtu.com>
46753
46754 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
46755 indicate end of data section in kernel image.
46756 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
46757 GRUB_KERNEL_MACHINE_DATA_END.
46758
46759 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
46760 space for it.
46761 * kern/i386/efi/startup.S: Likewise.
46762
46763 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
46764 during image generation. Implement --prefix option to override this
46765 patch.
46766 * util/i386/efi/grub-mkimage.c: Likewise.
46767
46768 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46769 code to make path relative to its root into a separate function.
46770
46771 * util/i386/pc/grub-install.in: Use newly provided
46772 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46773 pass the result to grub-install --prefix.
46774
baa574b4 467752007-06-13 Robert Millan <rmh@aybabtu.com>
46776
46777 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46778 DEFAULT_DEVICE_MAP.
46779 * util/grub-emu.c: Use above definitions from misc.h instead of
46780 defining them.
46781 * util/grub-mkdevicemap.c: Likewise.
46782 * util/i386/pc/grub-setup.c: Likewise.
46783 * util/grub-probe.c: Likewise.
46784 (probe): Abort with grub_util_error() when either
46785 grub_guess_root_device or grub_util_get_grub_dev fails.
46786
0215dcbf 467872007-06-12 Robert Millan <rmh@aybabtu.com>
46788
46789 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46790 "pager" assignment.
46791 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46792 "pcdata".
46793 * util/grub-probe.c (probe): Likewise for "drive_name".
46794
8af2ab7b 467952007-06-11 Robert Millan <rmh@aybabtu.com>
46796
46797 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46798 not just the cdrom one.
46799
59d31694 468002007-06-11 Robert Millan <rmh@aybabtu.com>
46801
46802 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46803 Add --pkglibdir=DIR option to override pkglibdir.
46804 Mention --image-type=TYPE in help output.
46805 Fix --grub-mkimage (it was a no-op).
fe6b695a 46806 Abort gracefully when no parameter is given.
59d31694 46807
7ee367e4 468082007-06-11 Robert Millan <rmh@aybabtu.com>
46809
46810 * util/i386/pc/grub-mkrescue.in: New file.
46811 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
46812 * Makefile.in: Handle bin_SCRIPTS.
46813
29b0ed46 468142007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46815
46816 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46817 list of video modes.
46818
c0f90770 468192007-06-06 Robert Millan <rmh@aybabtu.com>
46820
46821 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46822 file doesn't exist, or if it is in a filesystem grub can't read.
46823
46824 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46825 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46826 header comment to fit in 80 columns when the variables are resolved.
46827
46828 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46829 could be identified by update-grub. Remove redundant check for
fe6b695a 46830 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 46831 handles that).
46832
fb36dc26 468332007-06-04 Robert Millan <rmh@aybabtu.com>
46834
46835 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46836
46837 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46838
46839 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46840
0c68c93e 468412007-06-04 Robert Millan <rmh@aybabtu.com>
46842
46843 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46844
46845 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46846 grub_apple_partition_map_fini.
46847
46848 * util/biosdisk.c
46849 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46850 to access >2 TiB disks).
46851
46852 Print disk->total_sectors with %llu instead of %lu, since this
46853 variable is always 64-bit (prevents wrong disk size from being displayed
46854 on either >2 TiB disk or big-endian CPU).
46855
46856 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46857 into a generic case that supports all (sane) partition maps.
46858
46859 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46860 breaks big-endian.
46861
46862 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46863 and grub_apple_partition_map_fini() after that.
46864
0f23eb74 468652007-06-01 Robert Millan <rmh@aybabtu.com>
46866
46867 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46868
46869 * util/grub.d/00_header.in: Only enable gfxterm when
46870 convert_system_path_to_grub_path() succeeds.
46871
42c71976 468722007-05-20 Robert Millan <rmh@aybabtu.com>
46873
46874 * util/update-grub_lib.in: New file.
46875 * DISTLIST: Add update-grub_lib.in.
46876 * conf/common.rmk: Generate update-grub_lib and install it in
46877 $(lib_DATA).
46878 * Makefile.in: Add install routine for $(lib_DATA).
46879
46880 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46881 function provided by update-grub_lib to support arbitrary paths of
46882 unifont.pff.
46883 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46884 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46885
5beb2291 468862007-05-19 Robert Millan <rmh@aybabtu.com>
46887
46888 * commands/i386/cpuid.c: New module.
46889 * DISTLIST: Add it.
46890 * conf/i386-efi.rmk: Enable cpuid.mod.
46891 * conf/i386-pc.rmk: Likewise.
46892
7262eca1 468932007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46894
46895 * kern/disk.c (grub_disk_read): Check return value of
46896 grub_realloc().
46897
260ba823 468982007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46899
46900 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46901 arrays.
46902 * disk/raid.c (grub_raid_open): Likewise.
46903
1ecb6cf2 469042007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46905
46906 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46907 stack instead of on the heap.
46908
46909 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46910 before doing a read on it.
46911
46912 * configure.ac: Only use -fno-stack-protector for the target
46913 environment.
f19dbdb7 46914
21c8cbb1 469152007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46916
46917 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46918 __attribute_ ((unused)) to mode_type argument.
46919
46920 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 46921
21c8cbb1 46922 * kern/misc.c (memcmp): Fix prototype.
46923
46924 * include/grub/partition.h [GRUB_UTIL]
46925 (grub_gpt_partition_map_init): Add prototype.
46926 (grub_gpt_partition_map_fini): Likewise.
46927
46928 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46929 at the right place.
46930
46931 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46932 (grub_fat_read_data): Likewise.
46933 (grub_fat_find_dir): Likewise.
46934
46935 * font/manager.c (find_glyph): Make table a const.
46936 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 46937
849d55d3 469382007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46939
46940 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46941 code, first search for device in /dev/mapper, then in /dev.
46942 (grub_util_get_grub_dev): New function.
46943 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46944 prototype.
46945 * util/grub-probe.c (probe): Remove check for RAID, call
46946 grub_util_get_grub_dev() instead of
46947 grub_util_biosdisk_get_grub_dev().
46948 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46949 grub_util_biosdisk_get_grub_dev().
46950 * util/i386/pc/grub-setup.c (main): Likewise.
46951
8fff7c2f 469522007-05-16 Robert Millan <rmh@aybabtu.com>
46953
46954 * DISTLIST: Update for the latest changes.
46955 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46956 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46957 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46958 grub/util/biosdisk.h.
46959 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46960 grub/util/biosdisk.h.
46961
48e12b52 469622007-05-16 Robert Millan <rmh@aybabtu.com>
46963
46964 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46965
46b9d128 469662007-05-16 Robert Millan <rmh@aybabtu.com>
46967
46968 * util/i386/efi/grub-install.in: New.
46969 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46970 newly added grub-install.
46971 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46972 include.
46973 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46974 grub/util/biosdisk.h.
46975 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46976 grub/util/biosdisk.h.
46977
2d1a40a9 469782007-05-16 Robert Millan <rmh@aybabtu.com>
46979
46980 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46981 * include/grub/util/biosdisk.h: ... here.
46982 * util/i386/pc/biosdisk.c: Moved to ...
46983 * util/biosdisk.c: ... here.
46984 * util/i386/pc/getroot.c: Moved to ...
46985 * util/getroot.c: ... here.
46986 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46987 * util/grub-mkdevicemap.c: ... here.
46988 * util/i386/pc/grub-probe.c: Moved to ...
46989 * util/grub-probe.c: ... here.
46990
9e26e3bc 469912007-05-15 Robert Millan <rmh@aybabtu.com>
46992
46993 * util/update-grub.in: Remove duplicated line in grub.cfg header
46994 message.
46995
57f96397 469962007-05-13 Robert Millan <rmh@aybabtu.com>
46997
46998 * util/update-grub.in: Fix a few assumptions about the devices holding
46999 /, /boot and /boot/grub being the same.
47000 * util/grub.d/00_header.in: Likewise.
47001 * util/grub.d/10_hurd.in: Likewise.
47002 * util/grub.d/10_linux.in: Likewise.
47003
47004 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
47005 patterns. Use that to define the `.old' suffix as older than `'.
47006
47007 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
47008
47009 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
47010 the grub.cfg header message.
47011
2e610d62 470122007-05-11 Robert Millan <rmh@aybabtu.com>
47013
47014 * util/update-grub.in: Create device.map if it doesn't already exist,
47015 before attempting to run grub-probe.
47016 Check for grub-probe and grub-mkdevicemap with the same code
47017 grub-install is using.
47018 Remove test mode.
47019
3f6a10ef 470202007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
47021
47022 * Makefile.in: Add the datarootdir autoconf variable.
47023
02e7b75e 470242007-05-09 Robert Millan <rmh@aybabtu.com>
47025
47026 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 47027 fail gracefully if dev->disk->partition == NULL.
02e7b75e 47028
75f396cc 470292007-05-07 Robert Millan <rmh@aybabtu.com>
47030
47031 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
47032 determine partition map module.
47033 * util/i386/pc/grub-install.in: Use this feature to decide which
47034 partition module to load, instead of hardcoding pc and gpt.
47035
da65cb36 470362007-05-07 Robert Millan <rmh@aybabtu.com>
47037
47038 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
47039 source directory differs from build directory.
47040
b57d6a91 470412007-05-05 Robert Millan <rmh@aybabtu.com>
47042
47043 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
47044 initialisation.
47045
509d00f1 470462007-05-05 Robert Millan <rmh@aybabtu.com>
47047
47048 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
47049
c48f23ef 470502007-05-05 Robert Millan <rmh@aybabtu.com>
47051
47052 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
47053 command-line arguments via ${GRUB_CMDLINE_LINUX}.
47054
20b97658 470552007-05-05 Robert Millan <rmh@aybabtu.com>
47056
47057 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
47058 (grub_probe_SOURCES): Likewise.
47059 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
47060 GPT and initialize dos_part and bsd_part accordingly.
47061 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
47062 install_bsd_part.
47063 (main): Activate gpt module for use during partition identification,
47064 and deactivate it afterwards.
47065 * util/i386/pc/grub-install.in: Add gpt module to core.img.
47066 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
47067 partition identification, and deactivate it afterwards.
47068
99123174 470692007-05-05 Robert Millan <rmh@aybabtu.com>
47070
47071 * term/i386/pc/console.c (grub_console_fini): Call
47072 grub_term_set_current() before grub_term_unregister().
47073
ebd97f6e 470742007-05-04 Robert Millan <rmh@aybabtu.com>
47075
47076 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
47077 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
47078 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
47079 and update-grub_DATA.
47080 * conf/common.rmk: Build and install update-grub components.
47081 * conf/common.mk: Regenerate.
47082 * util/update-grub.in: New. Core of update-grub.
47083 * util/grub.d/00_header.in: New. Generates grub.cfg header.
47084 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
47085 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
47086 * util/grub.d/README: New. Document grub.d directory layout.
47087
b06a264d 470882007-05-01 Robert Millan <rmh@aybabtu.com>
47089
47090 * util/grub-emu.c: Move initialization functions
47091 grub_util_biosdisk_init() and grub_init_all() before
47092 grub_util_biosdisk_get_grub_dev(), which relies on them.
47093
41f0050e 470942007-04-19 Robert Millan <rmh@aybabtu.com>
47095
47096 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
47097 it is used later.
47098
04582bb3 470992007-04-18 Jerone Young <jerone@gmail.com>
47100
f19dbdb7 47101 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 47102 stanza.
47103
08db4632 471042007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 47105
08db4632 47106 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
47107 continue on and look for device node with real device name.
47108
801b76be 471092007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 47110
fe6b695a 47111 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 47112 ability.
47113 * Makefile.in: Add autoconf package transformation code.
47114 * util/i386/pc/grub-install.in: Likewise.
47115 * util/powerpc/ieee1275/grub-install.in: Likewise.
47116
6795c4e1 471172007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47118
47119 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
47120 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
47121 (EXT2_REVISION): Likewise.
47122 (EXT2_INODE_SIZE): Likewise.
47123 (struct grub_ext2_block_group): Added a missing member
47124 "used_dirs".
47125 (grub_ext2_read_inode): Divide by the inode size in a superblock
47126 instead of 128 to obtain INODES_PER_BLOCK.
47127 Use the macro EXT2_INODE_SIZE instead of directly using
47128 SBLOCK->INODE_SIZE.
47129
d70af616 471302007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47131
47132 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
47133 superblock instead of the structure size to compute an
47134 offset. This fixes the problem that GRUB could not read a
47135 filesystem when inode size is different from 128-byte.
47136
3b801603 471372007-03-05 Marco Gerards <marco@gnu.org>
47138
47139 * normal/main.c (read_config_file): When "menu" is not set, create
47140 an initial context.
47141
4785bfe4 471422007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47143
47144 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
47145 (HEAP_LIMIT): New macro.
47146 (grub_claim_heap): Claim memory up to `heaplimit'.
47147
a0cbb023 471482007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47149
47150 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
47151 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
47152 (_start): Likewise.
47153 (grub_arch_modules_addr): Return address after `_end'.
47154 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
47155 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
47156 (add_segments): Calculate `_end' from phdr size and location.
47157 (ALIGN_UP): Moved to ...
47158 * include/grub/misc.h: here.
47159 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47160 New macro.
47161 (GRUB_IEEE1275_MODULE_BASE): Removed.
47162
fd7d8eba 471632007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47164
47165 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
47166 loop boundary.
47167
9b09e6fc 471682007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47169
47170 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
47171 All users updated.
47172 (grub_elf64_load_hook_t): Likewise.
47173 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
47174 debug output.
47175
3ce27299 471762007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47177
47178 * kern/mm.c: Update copyright.
47179 (grub_mm_debug): Correct syntax error.
47180 (grub_mm_dump_free): New function.
47181 (grub_debug_free): Call `grub_free'.
47182 * include/grub/mm.h: Update copyright.
47183 (grub_mm_dump_free): Add declaration.
47184
077d5fee 471852007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47186
47187 * include/grub/ieee1275/ieee1275.h: Update copyright.
47188 * kern/powerpc/ieee1275/init.c: Likewise.
47189 * kern/powerpc/ieee1275/openfw.c: Likewise.
47190
47191 * loader/powerpc/ieee1275/linux.c: Likewise.
47192 * include/grub/elfload.h: Likewise.
47193 * kern/elf.c: Likewise.
47194 (grub_elf32_load): Pass `base' and `size' parameters. Update all
47195 callers.
47196 (grub_elf64_load): Likewise.
47197 (grub_elf32_load_segment): Move to a nested function.
47198 (grub_elf64_load_segment): Likewise.
47199
dc946850 472002007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47201
47202 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
47203 prototype.
47204 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
47205 (grub_heap_len): Likewise.
47206 (HEAP_SIZE): New macro.
47207 (grub_claim_heap): New function.
47208 (grub_machine_init): Don't claim heap directly. Call
47209 `grub_claim_heap'.
47210 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
47211 (grub_available_iterate): New function.
47212
baa2a121 472132007-02-03 Thomas Schwinge <tschwinge@gnu.org>
47214
47215 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
47216 * configure.ac: Use it for testing the HOST and TARGET compilers.
47217
4fe9862e 472182006-12-13 Thomas Schwinge <tschwinge@gnu.org>
47219
47220 * Makefile.in (enable_grub_emu): New variable.
47221 * configure.ac (--enable-grub-emu): New option.
47222 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
47223 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
47224 * conf/i386-pc.rmk: Likewise.
47225 * conf/powerpc-ieee1275.rmk: Likewise.
47226 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
47227
a8aa5762 472282006-12-12 Marco Gerards <marco@gnu.org>
47229
47230 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
47231
47232 * kern/env.c (grub_env_unset): Don't free the member `value' when
47233 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
47234 pointer.
47235
47236 * normal/main.c (current_menu): Removed.
47237 (free_menu): Unset the `menu' environment variable.
47238 (grub_normal_menu_addentry): Make use of the environment variable
47239 `menu', instead of using the global `current_menu'. Allocate
47240 memory for the sourcecode of this entry.
47241 (read_config_file): New argument `nested', changed all callers.
47242 Only in the case of a new context, initialize a new menu. Set the
47243 `menu' environment variable.
47244 (grub_normal_execute): Don't set and unset the environment
47245 variable `menu' here anymore. Only free the menu when leaving the
47246 context.
47247
47248 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
47249 leak.
47250
957b3a3e 472512006-12-11 Marco Gerards <marco@gnu.org>
47252
47253 * normal/menu_entry.c (run): Fix off by one bug so the last line
47254 is executed. Move the loader check to outside the loop.
47255
ef875714 472562006-12-08 Hollis Blanchard <hollis@penguinppc.org>
47257
47258 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
47259
4e739985 472602006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
47261
47262 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
47263 the number of sectors. Reported by Andrey Shuvikov
47264 <mr_hyro@yahoo.com>.
f19dbdb7 47265
790707f2 472662006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
47267
47268 * kern/disk.c (grub_disk_read): When there is a read error, always
47269 try to read only the necessary data.
f19dbdb7 47270
790707f2 47271 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
47272 disk/raid.c.
47273 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
47274 prototype.
47275 [GRUB_UTIL] (grub_raid_fini): Likewise.
47276 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 47277 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 47278 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
47279 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
47280 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
47281 and grub_raid_fini().
f19dbdb7 47282
03e58196 472832006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47284
47285 * include/grub/types.h (__unused): Rename to UNUSED.
47286 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
47287 (grub_elf64_size): Likewise.
f19dbdb7 47288
ae4f23bf 472892006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47290
47291 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
47292 grub_error_push and grub_error_pop in the error-handling path.
47293 (grub_elf32_load_segment): Only call grub_file_read with non-zero
47294 length.
47295
2166cc83 472962006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47297
47298 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
47299 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47301 (kernel_elf_SOURCES): Likewise.
47302 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
47303 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
47304 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47305 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47306 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
47307 (elf_mod_SOURCES): New variable.
47308 (elf_mod_CFLAGS): Likewise.
47309 (elf_mod_LDFLAGS): Likewise.
47310 * include/grub/types.h (__unused): New macro.
47311 * include/grub/elfload.h: New file.
47312 * kern/elf.c: Likewise.
47313 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
47314 (ELF32_LOADMASK): New macro.
47315 (ELF64_LOADMASK): Likewise.
47316 (vmlinux): Removed.
47317 (grub_linux_load32): New function.
47318 (grub_linux_load64): Likewise.
47319 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
47320 Use grub_elf_t instead of grub_file_t.
47321
a09d5aa5 473222006-11-02 Hollis Blanchard <hollis@penguinppc.org>
47323
47324 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
47325 `catch_result' to struct set_color_args.
47326
d976fc51 473272006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47328
47329 * normal/menu.c: Include grub/script.h.
47330 * normal/menu_entry.c: Likewise.
47331 * include/grub/normal.h: Do not include grub/script.h.
47332
67507549 473332006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47334
47335 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
47336
69203a99 473372006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47338
47339 * kern/disk.c (grub_disk_open): Print debug messages when opening a
47340 disk.
47341 (grub_disk_close): Print debug messages when closing a disk.
47342 (grub_disk_read): Print debug messages when disk read fails.
47343 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
47344 filesystem type.
47345 * kern/partition.c: Include misc.h.
47346 (grub_partition_iterate): Print debug messages when detecting
47347 partition type.
47348
e2b8278c 473492006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47350
47351 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
47352 is negative.
47353 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
47354
97b2f2ff 473552006-10-26 Hollis Blanchard <hollis@penguinppc.org>
47356
47357 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47358 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
47359
6555d655 473602006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
47361
47362 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
47363 instead of sizeof(lv). Patch by Michael Guntsche.
47364
4d42b77f 473652006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
47366
47367 * disk/lvm.c: Rename VGS to VG_LIST.
47368 (grub_lvm_iterate): Change VGS->LV to VG-LV.
47369 (grub_lvm_open): Likewise.
47370 Thanks to Michael Guntsche for finding this bug.
47371
5d74d927 473722006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47373
47374 * configure.ac (AC_INIT): Bumped to 1.95.
47375
a1bb27e4 473762006-10-14 Robert Millan <rmh@aybabtu.com>
47377
47378 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
47379 with "/dev/.static/dev/md".
47380
e0994b8b 473812006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47382
47383 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
47384 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
47385 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
47386 DRIVE_NAME are always freed.
47387
47388 * util/i386/pc/biosdisk.c (make_device_name): Add one into
47389 DOS_PART, as a DOS partition is counted from one instead of zero
47390 now. Reported by Robert Millan.
47391
ddd5cee9 473922006-10-14 Robert Millan <rmh@aybabtu.com>
47393
47394 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
47395 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
47396 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
47397 string returned by grub_guess_root_device.
47398 * util/i386/pc/grub-setup.c: Likewise.
47399 * util/i386/pc/grub-probefs.c: Likewise.
47400
47401 * util/i386/pc/grub-probefs.c: Rename to ...
47402 * util/i386/pc/grub-probe.c: ... this.
47403 * DISTLIST: Remove grub-probefs, add grub-probe.
47404 * conf/i386-efi.rmk: Likewise.
47405 * conf/i386-pc.rmk: Likewise.
47406 * util/i386/pc/grub-install.in: Likewise.
47407
47408 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
47409 choose which information we want to print.
47410
2b002173 474112006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47412
47413 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
47414 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
47415 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
47416 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
47417 video/readers/tga.c and video/i386/pc/vbeutil.c.
47418
474192006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
47420
47421 Added support for RAID and LVM.
f19dbdb7 47422
2b002173 47423 * disk/lvm.c: New file.
47424 * disk/raid.c: Likewise.
47425 * include/grub/lvm.h: Likewise.
f19dbdb7 47426 * include/grub/raid.h: Likewise.
2b002173 47427 * include/grub/util/lvm.h: Likewise.
47428 * include/grub/util/raid.h: Likewise.
47429 * util/lvm.c: Likewise.
47430 * util/raid.c: Likewise.
47431
47432 * include/grub/disk.h (grub_disk_dev_id): Add
47433 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
47434 (grub_disk_get_size): New prototype.
47435 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
47436 returns a partition.
47437 (grub_disk_get_size): New function.
f19dbdb7 47438
2b002173 47439 * kern/i386/pc/init.c (make_install_device): Copy the prefix
47440 verbatim if grub_install_dos_part is -2.
47441
47442 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
47443 and LVM devices.
47444
47445 * util/i386/pc/grub-setup.c (setup): New argument
47446 MUST_EMBED. Force embedding of GRUB when the argument is
47447 true. Close FILE before returning.
47448 (main): Add support for RAID and LVM.
f19dbdb7 47449
2b002173 47450 * conf/common.rmk: Add RAID and LVM modules.
47451 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
47452 util/lvm.c.
47453 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
47454
47455 * kern/misc.c (grub_strstr): New function.
47456 * include/grub/misc.h (grub_strstr): New prototype.
47457
050548d0 474582006-10-10 Tristan Gingold <tristan.gingold@bull.net>
47459
47460 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
47461
da849d2d 474622006-10-05 Tristan Gingold <tristan.gingold@bull.net>
47463
47464 * kern/misc.c (grub_strtoull): Guess the base only if not
47465 specified.
47466
97b2f2ff 474672006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 47468
47469 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
47470 PowerMac support.
47471
97b2f2ff 474722006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 47473
47474 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
47475
47476 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
47477 Remove `flags' argument. All callers changed.
47478 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
47479 (IEEE1275_IHANDLE_INVALID): New variable.
47480 (IEEE1275_CELL_INVALID): New variable.
47481 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
47482 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
47483 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
47484 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
47485 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
47486 codes from Open Firmware. All callers updated.
47487 (grub_ieee1275_next_property): Directly return Open Firmware return
47488 code.
47489 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
47490 Standardize error checking from `grub_ieee1275_get_property'.
47491 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
47492 `devalias' to `aliases'. Correct comments. Consolidate error paths.
47493
97b2f2ff 474942006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 47495
47496 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
47497 `instance_to_package_args' to `instance_to_path_args'.
47498
47499 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
47500 `grub_ieee1275_chosen'.
47501
47502 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
47503 `grub_ieee1275_interpret'.
47504
97b2f2ff 475052006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 47506
47507 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
47508
97b2f2ff 475092006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 47510
47511 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
47512 (__cmpdi): Likewise.
47513
47514 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
47515 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
47516 `grub_ssize_t'.
47517
02bb8acc 47518 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 47519
47520 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
47521 to type `grub_ssize_t'.
47522 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
47523
7f9a8531 475242006-09-22 Marco Gerards <marco@gnu.org>
47525
47526 * normal/script.c (grub_script_create_cmdmenu): Skip leading
47527 newlines.
47528
b5ef1102 475292006-09-22 Marco Gerards <marco@gnu.org>
47530
47531 * commands/echo.c: New file.
47532
47533 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
47534
47535 * conf/common.rmk (echo_mod_SOURCES): New variable.
47536 (echo_mod_CFLAGS): Likewise.
47537 (echo_mod_LDFLAGS): Likewise.
47538
2cff3677 475392006-09-22 Marco Gerards <marco@gnu.org>
47540
47541 * normal/main.c (get_line): Malloc memory instead of using
47542 preallocated memory. Removed the arguments `cmdline' and
47543 `max_len'. Updated all callers.
47544
6ba4688b 475452006-09-22 Marco Gerards <marco@gnu.org>
47546
47547 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
47548 (normal_mod_DEPENDENCIES): Likewise.
47549
47550 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
47551 (normal_mod_DEPENDENCIES): Likewise.
47552
47553 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
47554
e02ac02c 475552006-09-22 Johan Rydberg <jrydberg@gnu.org>
47556
47557 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
47558 programs.
47559 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
47560 (normal_mod_DEPENDENCIES): Likewise.
47561 * conf/i386-pc.mk: Regenerate.
47562 * conf/i386-efi.mk: Likewise
47563 * conf/common.mk: Likewise.
47564 * conf/powerpc-ieee1275.mk: Likewise.
47565 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47566
8d252e44 475672006-09-22 Robert Millan <rmh@aybabtu.com>
47568
47569 Sync with i386 version.
47570 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
47571 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
47572
209bf7ac 475732006-09-21 Robert Millan <rmh@aybabtu.com>
47574
47575 Import from GRUB Legacy (lib/device.c):
47576 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
47577 (init_device_map) [__linux__]: Add support for I2O devices.
47578
6b146090 475792006-09-14 Marco Gerards <marco@gnu.org>
47580
47581 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
47582 `-melf_i386'.
47583
e38600a8 475842006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 47585
47586 * util/i386/pc/grub-install.in: Skip menu.lst when removing
47587 /boot/grub/*.lst.
78fa1790 47588
2952da5d 47589 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 47590
2952da5d 47591 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
47592 before adding it to device.map.
47593
01b82a64 475942006-08-15 Johan Rydberg <jrydberg@gnu.org>
47595
fe6b695a 47596 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 47597 compiles a file; using the -MD option.
47598 * conf/common.mk: Regenerate.
47599 * conf/i386-pc.mk: Likewise.
47600 * conf/i386-efi.mk: Likewise.
47601 * conf/powerpc-ieee1275.mk: Likewise.
47602 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47603
1064790d 476042006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47605
47606 Move the prototypes of grub_setjmp and grub_longjmp to
47607 cpu/setjmp.h, so that each architecture may specify different
47608 attributes.
f19dbdb7 47609
1064790d 47610 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47611 (grub_longjmp): Likewise.
47612 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47613 (grub_longjmp): Likewise.
47614 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47615 (grub_longjmp): Likewise.
47616
47617 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47618 [!GRUB_UTIL] (grub_longjmp): Removed.
47619
29dda3ed 476202006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47621
47622 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47623 "color!" method does not return any value.
47624
ad2a06ed 476252006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47626
47627 * include/grub/bitmap.h: New file.
47628
47629 * include/grub/i386/pc/vbeutil.h: Likewise.
47630
47631 * video/bitmap.c: Likewise.
47632
47633 * video/readers/tga.c: Likewise.
47634
47635 * video/i386/pc/vbeutil.c: Likewise.
47636
47637 * commands/videotest.c: Code cleanup and updated to reflect to new
47638 video API.
47639
47640 * term/gfxterm.c: Likewise.
47641
47642 * video/video.c: Likewise.
47643
47644 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47645 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47646 (bitmap_mod_SOURCES): New entry.
47647 (bitmap_mod_CFLAGS): Likewise.
47648 (bitmap_mod_LDFLAGS): Likewise.
47649 (tga_mod_SOURCES): Likewise.
47650 (tga_mod_CFLAGS): Likewise.
47651 (tga_mod_LDFLAGS): Likewise.
47652
47653 * include/grub/video.h (grub_video_blit_operators): New enum type.
47654 (grub_video_render_target): Changed as forward declaration and moved
47655 actual definition to be video driver specific.
47656 (grub_video_adapter.blit_bitmap): Added blitting operator.
47657 (grub_video_adapter.blit_render_target): Likewise.
47658 (grub_video_blit_bitmap): Likewise.
47659 (grub_video_blit_render_target): Likewise.
47660
47661 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47662 driver specific render target definition.
47663 (grub_video_vbe_map_rgba): Added driver internal helper.
47664 (grub_video_vbe_unmap_color): Updated to use
47665 grub_video_i386_vbeblit_info.
47666 (grub_video_vbe_get_video_ptr): Likewise.
47667
47668 * include/grub/i386/pc/vbeblit.h
47669 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47670 grub_video_i386_vbeblit_info.
47671 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47672 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47673 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47674 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47675 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47676 (grub_video_i386_vbeblit_index_index): Likewise.
47677 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47678 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47679 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47680 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47681 operator.
47682 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47683 operator.
47684
47685 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47686 include/grub/i386/pc/vbeblit.h.
47687
47688 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47689 Updated to use grub_video_i386_vbeblit_info.
47690 (grub_video_i386_vbefill_R8G8B8): Likewise.
47691 (grub_video_i386_vbefill_index): Likewise.
47692 (grub_video_i386_vbefill): Added generic filler.
47693
47694 * video/i386/pc/vbefill.c: Updated to reflect changes on
47695 include/grub/i386/pc/vbefill.h.
47696
47697 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47698 grub_video_i386_vbeblit_info.
47699 (grub_video_vbe_unmap_color): Likewise.
47700 (grub_video_vbe_blit_glyph): Likewise.
47701 (grub_video_vbe_scroll): Likewise.
47702 (grub_video_vbe_draw_pixel): Removed function.
47703 (grub_video_vbe_get_pixel): Likewise.
47704 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47705 updated code to use it.
47706 (common_blitter): Added common blitter for render target and bitmap.
47707 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47708 (grub_video_vbe_blit_render_target): Likewise.
47709
bc8c036d 477102006-07-30 Johan Rydberg <jrydberg@gnu.org>
47711
47712 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47713 is in text mode if there is no console control protocol instance
47714 available.
47715
684a8eff 477162006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47717
47718 * include/grub/video.h: Code cleanup.
47719
47720 * include/grub/i386/pc/vbe.h: Likewise.
47721
47722 * video/i386/pc/vbe.c: Likewise.
47723
47724 * video/i386/pc/vbeblit.c: Likewise.
47725
47726 * video/i386/pc/vbefill.c: Likewise.
47727
47728 * video/video.c: Likewise. Also added more comments.
47729
5915059b 477302006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47731
47732 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
47733 (struct grub_biosdisk_dap): Likewise.
47734
47735 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47736 linkage settings for all functions.
47737
90ce5d56 477382006-07-12 Marco Gerards <marco@gnu.org>
47739
47740 * configure.ac (--enable-mm-debug): Fix typo.
47741
47742 * genkernsyms.sh.in: Use proper quoting for `CC'.
47743
43e7f879 477442006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47745
47746 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47747 (normal_mod_ASFLAGS): Remove "-m32".
47748
4889bdec 477492006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47750
47751 * util/misc.c: Include config.h.
47752 [!HAVE_MEMALIGN]: Do not include malloc.h.
47753 (grub_memalign): Use posix_memalign, if present. Then, use
47754 memalign, if present. Otherwise, emit an error.
47755
47756 * util/grub-emu.c: Do not include malloc.h.
47757
47758 * include/grub/util/misc.h: Include unistd.h. This is required for
47759 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
47760 D. Eades III <hde@foobar-qux.org>.
47761
47762 * configure.ac (AC_GNU_SOURCE): Added.
47763 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
47764 type.
47765
fd39d4da 477662006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47767
47768 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47769 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47770
b786f3b5 477712006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47772
47773 * include/grub/types.h (grub_host_addr_t): Rename to
47774 grub_target_addr_t.
47775 (grub_host_off_t): Rename to grub_target_off_t.
47776 (grub_host_size_t): Rename to grub_target_size_t.
47777 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47778 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47779
47780 * include/grub/kernel.h (struct grub_module_header): Change type
47781 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47782 (grub_module_info): Likewise.
f19dbdb7 47783
051988bb 477842006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47785
47786 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47787 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47788 Velazquez <jesus.velazquez@gmail.com>.
47789
deae281b 477902006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47791
47792 Count partitions from 1 instead of 0 in the string representation
47793 of partitions. Still use 0-based internally.
f19dbdb7 47794
deae281b 47795 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47796 (sun_partition_map_iterate): Use grub_partition_t instead of
47797 struct grub_partition *. Cast DESC->START_CYLINDER to
47798 grub_uint64_t after converting the endian.
47799 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47800 (sun_partition_map_get_name): Add 1 to P->INDEX.
47801
47802 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47803 PCDATA->DOS_PART.
47804 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47805
47806 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47807 zero instead of one.
47808 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47809 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47810
47811 * partmap/apple.c (apple_partition_map_iterate): Change the type
47812 of POS to unsigned.
47813 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47814 (apple_partition_map_get_name): Add 1 into P->INDEX.
47815
47816 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47817 of POS to unsigned.
47818 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47819 calculate the offset of a partition.
47820 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47821 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47822
47823 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47824 SECTOR to grub_disk_addr_t.
47825 (acorn_partition_map_iterate): Likewise.
47826 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47827 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47828 top.
47829 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47830
47831 * kern/i386/pc/init.c (make_install_device): Add 1 into
47832 GRUB_INSTALL_DOS_PART.
47833
47834 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47835 conditional.
47836
524a1e6a 478372006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47838
47839 Clean up the code to support 64-bit addressing in disks and
47840 files. This change is not enough for filesystems yet.
f19dbdb7 47841
524a1e6a 47842 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47843 type of "start" to grub_uint64_t.
47844 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47845 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47846 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47847 convert addresses.
47848
47849 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47850 to grub_disk_addr_t.
47851
47852 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47853 string.
47854
47855 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47856
47857 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47858 to char *.
47859
47860 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47861
47862 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47863
47864 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47865
47866 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47867 to grub_off_t, to detect an error from grub_file_seek.
47868 (grub_multiboot_load_elf32): Likewise.
47869
47870 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47871 maximum unsigned long value when an overflow is detected.
47872 (grub_strtoull): New function.
47873 (grub_divmod64): Likewise.
47874 (grub_lltoa): use grub_divmod64.
47875
47876 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47877 grub_disk_addr_t.
47878 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47879 the pointer to next character. Use grub_strtoull instead of
47880 grub_strtoul.
47881 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47882 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47883 respectively.
47884
fe6b695a 47885 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 47886 return value is signed.
47887 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47888 test if OFFSET is less than zero, as OFFSET is unsigned now.
47889
47890 * kern/disk.c (struct grub_disk_cache): Change the type of
47891 "sector" to grub_disk_addr_t.
47892 (grub_disk_cache_get_index): Change the type of SECTOR to
47893 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47894 unsigned after shifting.
47895 (grub_disk_cache_invalidate): Change the type of SECTOR to
47896 grub_disk_addr_t.
47897 (grub_disk_cache_unlock): Likewise.
47898 (grub_disk_cache_store): Likewise.
47899 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47900 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47901 grub_disk_addr_t and grub_uint64_t, respectively.
47902 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47903 body, as the value of OFFSET is tweaked by
47904 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47905 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47906 respectively.
47907 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47908 body, as the value of OFFSET is tweaked by
47909 grub_disk_check_range. Change the types of LEN and N to
47910 grub_size_t.
47911
47912 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47913 and "saved_offset" to grub_off_t.
47914 (test_header): Cast BUF to char *.
47915 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47916 to char *.
47917 (grub_gzio_read): Change the types of OFFSET and SIZE to
47918 grub_off_t and grub_size_t, respectively.
47919
47920 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47921 Removed.
47922 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47923 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47924 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47925 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47926 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47927
47928 * include/grub/types.h (grub_off_t): Unconditionally set to
47929 grub_uint64_t.
47930 (grub_disk_addr_t): Changed to grub_uint64_t.
47931
47932 * include/grub/partition.h (struct grub_partition): Change the
47933 types of "start", "len" and "offset" to grub_disk_addr_t,
47934 grub_uint64_t and grub_disk_addr_t, respectively.
47935 (grub_partition_get_start): Return grub_disk_addr_t.
47936 (grub_partition_get_len): Return grub_uint64_t.
47937
47938 * include/grub/misc.h (grub_strtoull): New prototype.
47939 (grub_divmod64): Likewise.
47940
47941 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47942 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47943 grub_off_t, respectively.
47944 All callers and references changed.
47945
47946 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47947 grub_size_t in "read".
47948 All callers and references changed.
47949
47950 * include/grub/file.h (struct grub_file): Change the types of
47951 "offset" and "size" to grub_off_t and grub_off_t,
47952 respectively. Change the type of SECTOR to grub_disk_addr_t in
47953 "read_hook".
47954 (grub_file_read): Change the type of LEN to grub_size_t.
47955 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47956 grub_off_t.
47957 (grub_file_size): Return grub_off_t.
47958 (grub_file_tell): Likewise.
47959 All callers and references changed.
47960
47961 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47962 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47963 "write".
47964 (struct grub_disk): Change the type of "total_sectors" to
47965 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 47966 "read_hook".
524a1e6a 47967 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47968 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47969 (grub_disk_write): Likewise.
47970 All callers and references changed.
47971
47972 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47973 char * for grub_strncmp to silence gcc.
47974 (grub_iso9660_mount): Likewise.
47975 (grub_iso9660_mount): Likewise.
47976 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47977 return statement.
47978 (grub_iso9660_iterate_dir): Likewise.
47979 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47980
47981 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47982 LEN to grub_disk_addr_t and grub_size_t, respectively.
47983
47984 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47985
47986 * fs/jfs.c (grub_jfs_read_file): Likewise.
47987
47988 * fs/minix.c (grub_jfs_read_file): Likewise.
47989
47990 * fs/sfs.c (grub_jfs_read_file): Likewise.
47991
47992 * fs/ufs.c (grub_jfs_read_file): Likewise.
47993
47994 * fs/xfs.c (grub_jfs_read_file): Likewise.
47995
47996 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47997 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47998 respectively.
47999
48000 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
48001 BLKNR to -1 instead of returning GRUB_ERRNO.
48002 (grub_ext2_read_file): Change the types of SECTOR and
48003 LEN to grub_disk_addr_t and grub_size_t, respectively.
48004
48005 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
48006 LEN to grub_disk_addr_t and grub_size_t, respectively.
48007
48008 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
48009 grub_file_read.
48010
48011 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
48012 string. Do not cast SECTOR explicitly.
48013
48014 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
48015 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
48016 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
48017 grub_disk_addr_t and grub_size_t, respectively. If the sector is
48018 over 2TB and LBA mode is not supported, raise an error.
48019 (get_safe_sectors): New function.
48020 (grub_biosdisk_read): Use get_safe_sectors.
48021 (grub_biosdisk_write): Likewise.
48022
48023 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
48024 (grub_efidisk_write): Likewise.
48025
48026 * disk/loopback.c (delete_loopback): Cosmetic changes.
48027 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
48028 correctly.
48029 (grub_loopback_open): Likewise.
48030 (grub_loopback_read): Likewise. Also, change the type of POS to
48031 grub_off_t, and fix the usage of grub_memset.
48032
48033 * commands/i386/pc/play.c: Include grub/machine/time.h.
48034
48035 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
48036 print FILE->SIZE.
48037
48038 * commands/configfile.c: Include grub/env.h.
48039
48040 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
48041 GRUB_ERRNO directly instead. Change the type of POS to
48042 grub_off_t. Follow the coding standard.
48043
48044 * commands/blocklist.c: Include grub/partition.h.
48045 (grub_cmd_blocklist): Return an error if the underlying device is
48046 not a disk. Take the starting sector of a partition into account,
48047 if a partition is used.
48048
48049 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
48050 a length field.
48051 (lba_mode): Support 64-bit addresses.
48052 (chs_mode): Likewise.
48053 (copy_buffer): Adapted to the new offsets of a length field and a
48054 segment field.
48055 (blocklist_default_start): Allocate 64-bit space.
48056
48057 * boot/i386/pc/boot.S (force_lba): Removed.
48058 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 48059 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 48060 space.
48061 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
48062 is useless.
48063 (lba_mode): Refactored to support a 64-bit address. More size
48064 optimization.
48065 (setup_sectors): Likewise.
48066
53af98ad 480672006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48068
48069 * DISTLIST: Added include/grub/i386/linux.h. Removed
48070 include/grub/i386/pc/linux.h
48071
48072 * configure.ac (AC_INIT): Bumped to 1.94.
48073
48074 * config.guess: Updated from gnulib.
48075 * config.sub: Likewise.
48076 * install-sh: Likewise.
48077 * mkinstalldirs: Likewise.
48078
b4c1940a 480792006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48080
48081 * conf/common.rmk (grub_modules_init.lst): Depended on
48082 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
48083 MODSRCFILES.
48084
48085 * genmk.rb (PModule::rule): Reverted the previous change.
48086
cfca1cfd 480872006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48088
48089 * conf/common.rmk (grub_modules_init.lst): Depends on
48090 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
48091 that the target does not exist before producing.
48092 (grub_modules_init.h): Remove the target before generating.
48093 (grub_emu_init.c): Likewise.
48094
48095 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
48096
aa6d7826 480972006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
48098
48099 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
48100 for the target-specific tests. Make sure that we also have the
48101 up-to-date target variables for those tests.
48102
26c607b9 481032006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48104
48105 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
48106 (PModule::rule): Likewise.
48107
0162321a 481082006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48109
48110 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
48111 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
48112 target-specific flags should be prefixed.
48113 (PModule::rule): Likewise.
48114
6c826348 481152006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
48116
48117 * configure.ac (CMP): Check if cmp is available explicitly.
48118
b977bf01 481192006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
48120
48121 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
48122 (target_cpu): New variable.
48123 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 48124
b977bf01 48125 * util/i386/pc/grub-install.in (host_cpu): Removed.
48126 (target_cpu): New variable.
48127 (pkglibdir): Use target_cpu instead of host_cpu.
48128
48129 * util/genmoddep.c: Removed.
f19dbdb7 48130
b977bf01 48131 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
48132 instead of GRUB_HOST_SIZEOF_VOID_P.
48133 * kern/dl.c: Likewise.
48134
48135 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
48136 ...
48137 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48138 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48139 (GRUB_TARGET_SIZEOF_LONG): ... this.
48140 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48141 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48142 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48143 to ...
48144 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48145 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48146 (GRUB_TARGET_SIZEOF_LONG): ... this.
48147 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48148 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48149 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48150 to ...
48151 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48152 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48153 (GRUB_TARGET_SIZEOF_LONG): ... this.
48154 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48155 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48156
48157 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
48158 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
48159 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
48160 instead of GRUB_HOST_SIZEOF_LONG.
48161 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
48162 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
48163 GRUB_CPU_WORDS_BIGENDIAN.
48164 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
48165 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
48166 grub_host_ssize_t.
48167
48168 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
48169 (genmoddep_SOURCES): Likewise.
48170 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
48171 (genmoddep_SOURCES): Likewise.
48172 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
48173 (genmoddep_SOURCES): Likewise.
48174 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
48175 Likewise.
48176 (genmoddep_SOURCES): Likewise.
48177
48178 * genmoddep.awk: New file.
48179
48180 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
48181 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
48182 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
48183 (PModule::rule): Likewise.
48184 (Program::rule): Likewise.
48185 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
48186 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
48187 respectively.
48188
48189 * configure.ac: Rewritten intensively to use host and target
48190 instead of build and host, respectively.
48191
48192 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
48193 (host_cpu): Removed.
48194 (target_cpu): New variable.
48195 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
48196 (BUILD_CC): Removed.
48197 (BUILD_CFLAGS): Likewise.
48198 (BUILD_CPPFLAGS): Likewise.
48199 (TARGET_CC): New variable.
48200 (TARGET_CFLAGS): Likewise.
48201 (TARGET_CPPFLAGS): Likewise.
48202 (TARGET_LDFLAGS): Likewise.
48203 (AWK): Likewise.
48204 (include): Use target_cpu instead of host_cpu.
48205 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 48206
b977bf01 48207 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
48208
f09771a1 482092006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
48210
48211 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
48212 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
48213 field 'false' to 'exec_on_false'.
48214 (grub_script_create_cmdif): Renamed argument names to reflect above
48215 changes.
48216
48217 * normal/execute.c (grub_script_execute_cmdif): Likewise.
48218
48219 * normal/script.c (grub_script_create_cmdif): Likewise.
48220
118f4fb3 482212006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
48222
48223 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
48224 top.
48225 (grub_hfsplus_btree_recptr): Likewise.
48226 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
48227 FILEBLOCK both to pass a block number and store next block
48228 number.
48229 (grub_hfsplus_read_block): Rewritten heavily to support an extent
48230 overflow file correctly. Specify errors appropriately, because
48231 fshelp expects that GRUB_ERRNO is set when fails. Reuse
48232 grub_hfsplus_btree_recptr to get the pointer to a found key.
48233 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
48234 is found.
48235
48236 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
48237 linux.mod.
48238 (_linux_mod_SOURCES): New variable.
48239 (_linux_mod_CFLAGS): Likewise.
48240 (_linux_mod_LDFLAGS): Likewise.
48241 (linux_mod_SOURCES): Likewise.
48242 (linux_mod_CFLAGS): Likewise.
48243 (linux_mod_LDFLAGS): Likewise.
48244
48245 * DISTLIST: Added loader/i386/efi/linux.c,
48246 loader/i386/efi/linux_normal.c and
48247 include/grub/i386/efi/loader.h.
48248
48249 * loader/i386/efi/linux.c: New file.
48250 * loader/i386/efi/linux_normal.c: Likewise.
48251 * include/grub/i386/efi/loader.h: Likewise.
48252
89a7d726 482532006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
48254
48255 * commands/blocklist.c: New file.
48256
48257 * DISTLIST: Added commands/blocklist.c.
48258
48259 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 48260 color for the background, and a darker color for the foreground.
89a7d726 48261 (grub_console_checkkey): Return READ_KEY.
48262 (grub_console_cls): Set the background to
48263 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
48264
48265 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
48266
48267 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
48268 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
48269
48270 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
48271 prototype.
48272
48273 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
48274 BG. The spec is wrong again.
48275
48276 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
48277 prototype.
48278 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
48279
48280 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48281 commands/blocklist.c.
48282 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 48283
89a7d726 48284 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
48285 (blocklist_mod_SOURCES): New variable.
48286 (blocklist_mod_CFLAGS): Likewise.
48287 (blocklist_mod_LDFLAGS): Likewise.
48288
75c8f258 482892006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
48290
48291 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
48292 duplication.
48293 (lba_mode): Use %eax more intensively to reduce the code size.
48294
da2eb181 482952006-05-20 Marco Gerards <marco@gnu.org>
48296
48297 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
48298
48299 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
48300 for `menuentry'.
48301 (script): Accept leading newlines.
48302 (newlines): New rule to describe 0 or more newlines.
48303 (commands): Accept `command' with trailing newline. Fixed the
48304 order in which arguments were passed to `grub_script_add_cmd'.
48305 Accept commands separated by newlines.
48306 (function): Changed to accept newlines.
48307 (menuentry) Rewritten.
48308
48309 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
48310 front of the list, instead of to the end.
48311
577b4050 483122006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
48313
48314 * util/i386/pc/grub-install.in (bindir): New variable.
48315 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
48316 Shaver <lbgwjl@gmail.com>.
48317
0d6e1189 483182006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
48319
48320 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
48321 grub/machine/linux.h
48322 * loader/i386/pc/linux.c: Likewise.
48323
48324 * include/grub/i386/pc/linux.h: Moved to ...
48325 * include/grub/i386/linux.h: ... here.
48326
48327 * include/grub/i386/linux.h (struct linux_kernel_params): New
48328 struct.
f19dbdb7 48329
31b86e9f 483302006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
48331
48332 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
48333 checking.
48334 (grub_video_vbe_blit_glyph): Likewise.
48335 (grub_video_vbe_blit_bitmap): Likewise.
48336 (grub_video_vbe_blit_render_target): Likewise.
48337
83b984de 483382006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
48339
48340 * configure.ac (--with-platform): Properly quote the square
48341 brackets.
48342
5f0413bd 483432006-05-08 Marco Gerards <marco@gnu.org>
48344
48345 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
48346 this...
48347 (kernel_elf_HEADERS): ...to this. Updated all users.
48348 (grubof_symlist.c): Renamed from this...
48349 (kernel_elf_symlist.c): ...to this. Updated all users.
48350 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48351 (grubof_SOURCES): Renamed from this...
48352 (kernel_elf_SOURCES): ...to this.
48353 (grubof_HEADERS): Renamed from this...
48354 (kernel_elf_HEADERS): ...to this.
48355 (grubof_CFLAGS): Renamed from this...
48356 (kernel_elf_CFLAGS): ...to this.
48357 (grubof_ASFLAGS): Renamed from this...
48358 (kernel_elf_ASFLAGS): ...to this.
48359 (grubof_LDFLAGS): Renamed from this...
48360 (kernel_elf_LDFLAGS): ...to this.
48361
48362 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
48363 this...
48364 (kernel_elf_HEADERS): ...to this. Updated all users.
48365 (grubof_symlist.c): Renamed from this...
48366 (kernel_elf_symlist.c): ...to this. Updated all users.
48367 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48368 (grubof_SOURCES): Renamed from this...
48369 (kernel_elf_SOURCES): ...to this.
48370 (grubof_HEADERS): Renamed from this...
48371 (kernel_elf_HEADERS): ...to this.
48372 (grubof_CFLAGS): Renamed from this...
48373 (kernel_elf_CFLAGS): ...to this.
48374 (grubof_ASFLAGS): Renamed from this...
48375 (kernel_elf_ASFLAGS): ...to this.
48376 (grubof_LDFLAGS): Renamed from this...
48377 (kernel_elf_LDFLAGS): ...to this.
48378
48379 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
48380 `kernel.elf' instead of `grubof'.
48381
05568c2e 483822006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
48383
48384 Add --with-platform to configure. Use pkglibdir instead of
48385 pkgdatadir. This is reported by Roger Leigh.
48386
48387 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
48388 (host_vendor): Likewise.
48389 (host_os): Likewise.
48390 (pkgdatadir): Likewise.
48391 (platform): New variable.
48392 (pkglibdir): Likewise.
48393 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 48394
05568c2e 48395 * util/i386/pc/grub-install.in (datadir): Removed.
48396 (host_vendor): Likewise.
48397 (host_os): Likewise.
48398 (pkgdatadir): Likewise.
48399 (platform): New variable.
48400 (pkglibdir): Likewise.
48401 Use PKGLIBDIR instead of PKGDATADIR.
48402
48403 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
48404 instead of GRUB_DATADIR.
48405 (main): Likewise.
48406 * util/i386/pc/grub-mkimage.c (usage): Likewise.
48407 (main): Likewise.
48408 * util/i386/efi/grub-mkimage.c (usage): Likewise.
48409 (main): Likewise.
48410
48411 * configure.ac (--with-platform): New option.
48412 Use PLATFORM instead of HOST_VENDOR to specify a platform.
48413
48414 * Makefile.in: Include a makefile based on PLATFORM instead of
48415 HOST_VENDOR.
48416 (pkgdatadir): Not appended by the machine type.
48417 (pkglibdir): Appended by the machine type.
48418 (host_vendor): Removed.
48419 (platform): New variable.
48420 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
48421 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
48422 (uninstall): Likewise.
48423
4e93851c 484242006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
48425
48426 Use the environment context in the menu. Remove the commands
48427 "default" and "timeout", and use variables instead.
f19dbdb7 48428
4e93851c 48429 * normal/menu.c: Include grub/env.h.
48430 (print_entry): Cast TITLE to silence gcc.
48431 (get_timeout): New function.
48432 (set_timeout): Likewise.
48433 (get_entry_number): Likewise.
48434 (run_menu): Use a default entry, a fallback entry and a timeout
48435 in the environment variables "default", "fallback" and
48436 "timeout". Also, tweak the default entry if it is not within the
48437 current menu entries.
48438 (grub_menu_run): Use a fallback entry in the environment variable
48439 "fallback".
48440
48441 * normal/main.c (read_config_file): Do not initialize
48442 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
48443 NEWMENU->TIMEOUT.
48444 (grub_normal_execute): Use a data slot to store the menu.
48445
48446 * include/grub/normal.h (struct grub_menu): Removed default_entry,
48447 fallback_entry and timeout.
48448 (struct grub_menu_list): Removed.
48449 (grub_menu_list_t): Likewise.
48450 (struct grub_context): Likewise.
48451 (grub_context_t): Likewise.
48452 (grub_context_get): Likewise.
48453 (grub_context_get_current_menu): Likewise.
48454 (grub_context_push_menu): Likewise.
48455 (grub_context_pop_menu): Likewise.
48456 (grub_default_init): Likewise.
48457 (grub_default_fini): Likewise.
48458 (grub_timeout_init): Likewise.
48459 (grub_timeout_fini): Likewise.
48460
48461 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
48462 and timeout.mod.
48463 (normal_mod_SOURCES): Removed normal/context.c.
48464
48465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
48466 commands/default.c, commands/timeout.c and normal/context.c.
48467 (normal_mod_SOURCES): Removed normal/context.c.
48468
48469 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
48470 commands/timeout.c and normal/context.c.
48471 (normal_mod_SOURCES): Removed normal/context.c.
48472
48473 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
48474 commands/default.c, commands/timeout.c and normal/context.c.
48475 (normal_mod_SOURCES): Removed normal/context.c.
48476
48477 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
48478 timeout.mod.
48479 (default_mod_SOURCES): Removed.
48480 (default_mod_CFLAGS): Likewise.
48481 (default_mod_LDFLAGS): Likewise.
48482 (timeout_mod_SOURCES): Removed.
48483 (timeout_mod_CFLAGS): Likewise.
48484 (timeout_mod_LDFLAGS): Likewise.
48485
48486 * DISTLIST: Removed commands/default.c, commands/timeout.c and
48487 normal/context.c.
48488
48489 * commands/default.c: Removed.
48490 * commands/timeout.c: Likewise.
48491 * normal/context.c: Likewise.
48492
1eb9cc1d 484932006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
48494
48495 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
48496
385bd9c1 484972006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
48498
48499 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
48500 "next" to "prev" for readability.
48501 (struct grub_env_sorted_var): New struct.
48502 (grub_env_context): Renamed to ...
48503 (initial_context): ... this.
48504 (grub_env_var_context): Renamed to ...
48505 (current_context): ... this.
48506 (grub_env_find): Look only at CURRENT_CONTEXT.
48507 (grub_env_context_open): Rewritten to copy exported variables from
48508 previous context.
48509 (grub_env_context_close): Rewritten according to the new
48510 scheme. Also, add an assertion to prevent the initial context from
48511 removed.
48512 (grub_env_insert): Removed the code for the sorted list.
48513 (grub_env_remove): Likewise.
48514 (grub_env_export): Simply mark the variable with
48515 GRUB_ENV_VAR_GLOBAL.
48516 (grub_env_set): A cosmetic change for naming consistency.
48517 (grub_env_get): Likewise.
48518 (grub_env_unset): Likewise.
48519 (grub_env_iterate): Rewritten to sort variables within this
48520 function.
48521 (grub_register_variable_hook): Fixed for naming consistency. Call
48522 grub_env_find again, only if NAME is not found at the first time.
48523 (mangle_data_slot_name): New function.
48524 (grub_env_set_data_slot): Likewise.
48525 (grub_env_get_data_slot): Likewise.
48526 (grub_env_unset_data_slot): Likewise.
48527
48528 * include/grub/env.h (grub_env_var_type): New enum.
48529 (GRUB_ENV_VAR_LOCAL): New constant.
48530 (GRUB_ENV_VAR_GLOBAL): Likewise.
48531 (GRUB_ENV_VAR_DATA): Likewise.
48532 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
48533 "type".
48534 (grub_env_set): Replace VAR with NAME for consistency.
48535 (grub_register_variable_hook): Likewise.
48536 (grub_env_export): Specify the name of the argument.
48537 (grub_env_set_data_slot): New prototype.
48538 (grub_env_get_data_slot): Likewise.
48539 (grub_env_unset_data_slot): Likewise.
48540
7f362539 485412006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48542
48543 Extend the loader so that GRUB can accept a loader which comes
48544 back to GRUB when a loaded image exits. Also, this change adds
48545 support for a chainloader on EFI.
f19dbdb7 48546
7f362539 48547 * term/efi/console.c: Include grub/misc.h.
48548 (grub_console_checkkey): Display a scan code on the top for
48549 debugging. This will be removed once the EFI port gets stable.
48550 Correct the scan code mapping.
48551
48552 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
48553 allocate memory from larger regions, in order to reduce the number
48554 of allocated regions. Otherwise, the MacOSX loader panics.
48555 (filter_memory_map): Avoid less than 1MB for compatibility with
48556 other loaders.
48557 (add_memory_regions): Allocate from the tail of a region, if
48558 possible, to avoid allocating a region near to 1MB, for the MacOSX
48559 loader.
48560
48561 * kern/efi/init.c (grub_efi_set_prefix): Specify
48562 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
48563
48564 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
48565 argument IMAGE_HANDLE and specify it to get a loaded image.
48566 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
48567 grub_efi_get_loaded_image.
fe6b695a 48568 (grub_efi_get_filename): Divide the length by the size of
7f362539 48569 grub_efi_char16_t.
48570 (grub_efi_get_device_path): New function.
48571 (grub_efi_print_device_path): Print End Device Path nodes. Divide
48572 the length by the size of grub_efi_char16_t for a file path device
48573 path node.
48574
48575 * kern/loader.c (grub_loader_noreturn): New variable.
48576 (grub_loader_set): Accept a new argument NORETURN. Set
48577 GRUB_LOADER_NORETURN to NORETURN.
48578 All callers changed.
48579 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
48580 grub_machine_fini.
48581
48582 * include/grub/efi/efi.h (grub_efi_get_device_path): New
48583 prototype.
48584 (grub_efi_get_loaded_image): Take an argument to specify an image
48585 handle.
48586
48587 * include/grub/loader.h (grub_loader_set): Added one more argument
48588 NORETURN.
48589
48590 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
48591 instead of grub_efi_open_protocol.
48592 (grub_efidisk_get_device_name): Likewise.
48593 (grub_efidisk_close): Print a newline.
48594 (grub_efidisk_get_device_handle): Fixed to use
48595 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48596 GRUB_EFI_DEVICE_PATH_TYPE.
48597
48598 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48599 * kern/efi/efi.c (device_path_guid): ... here.
48600
48601 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48602 chain.mod.
48603 (kernel_mod_HEADERS): Added efi/disk.h.
48604 (_chain_mod_SOURCES): New variable.
48605 (_chain_mod_CFLAGS): Likewise.
48606 (_chain_mod_LDFLAGS): Likewise.
48607 (chain_mod_SOURCES): Likewise.
48608 (chain_mod_CFLAGS): Likewise.
48609 (chain_mod_LDFLAGS): Likewise.
48610
48611 * DISTLIST: Added include/grub/efi/chainloader.h,
48612 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48613
48614 * include/grub/efi/chainloader.h: New file.
48615 * loader/efi/chainloader.c: Likewise.
48616 * loader/efi/chainloader_normal.c: Likewise.
48617
c0111d6e 486182006-04-30 Marco Gerards <marco@gnu.org>
48619
48620 * commands/configfile.c (grub_cmd_source): New function.
48621 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48622 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48623
df5341da 486242006-04-30 Marco Gerards <marco@gnu.org>
48625
48626 * normal/execute.c (grub_script_execute_cmd): Change the return
48627 type to `grub_err_t'. Correctly return the error.
48628 (grub_script_execute_cmdline): In case a command line is not a
48629 command or a function, try to interpret it as an assignment.
48630
f85934bd 486312006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48632
48633 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48634 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48635 skip a node whose name is obviously invalid as UTF-16,
48636 i.e. contains a NUL character. Stop the iteration when the last
48637 directory entry is found. Instead of using the return value of
48638 grub_hfsplus_btree_iterate_node, store the value in RET and use
48639 it, because the iterator can be stopped by the last directory
48640 entry.
48641
8f8a2cf8 486422006-04-30 Marco Gerards <marco@gnu.org>
48643
48644 * include/grub/env.h (grub_env_export): New prototype. Reported
48645 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48646
a27e84ce 486472006-04-30 Marco Gerards <marco@gnu.org>
48648
48649 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48650 size of the extents in a catalog file record.
48651
eaef0553 486522006-04-29 Marco Gerards <marco@gnu.org>
48653
48654 * commands/configfile.c (grub_cmd_configfile): Execute the
48655 configfile within its own context.
48656
48657 * include/grub/env.h (grub_env_context_open): New prototype.
48658 (grub_env_context_close): Likewise.
48659
48660 * kern/env.c (grub_env): Removed.
48661 (grub_env_sorted): Likewise.
48662 (grub_env_context): New variable.
48663 (grub_env_var_context): Likewise.
48664 (grub_env_find): Search both the active context and the global
48665 context.
48666 (grub_env_context_open): New function.
48667 (grub_env_context_close): Likewise.
48668 (grub_env_insert): Likewise.
48669 (grub_env_remove): Likewise.
48670 (grub_env_export): Likewise.
48671 (grub_env_set): Changed to use helper functions to avoid code
48672 duplication.
48673 (grub_env_iterate): Rewritten so both the current context and the
48674 global context are being used.
48675
48676 * normal/command.c (export_command): New function.
48677 (grub_command_init): Register the `export' function.
48678
7b455f4d 486792006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48680
48681 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48682 explicitly to suppress gcc's warnings.
48683 * fs/fat.c (grub_fat_find_dir): Likewise.
48684 (grub_fat_label): Likewise.
48685 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48686 (grub_xfs_mount): Likewise.
48687 (grub_xfs_label): Likewise.
48688 * fs/affs.c (grub_affs_mount): Likewise.
48689 (grub_affs_label): Likewise.
48690 (grub_affs_iterate_dir): Likewise.
48691 * fs/sfs.c (grub_sfs_mount): Likewise.
48692 (grub_sfs_iterate_dir): Likewise.
48693 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48694 * fs/hfs.c (grub_hfs_mount): Likewise.
48695 (grub_hfs_cmp_catkeys): Likewise.
48696 (grub_hfs_find_dir): Likewise.
48697 (grub_hfs_dir): Likewise.
48698 (grub_hfs_label): Likewise.
48699 * fs/jfs.c (grub_jfs_mount): Likewise.
48700 (grub_jfs_opendir): Likewise.
48701 (grub_jfs_getent): Likewise.
48702 (grub_jfs_lookup_symlink): Likewise.
48703 (grub_jfs_label): Likewise.
48704 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48705 (grub_hfsplus_iterate_dir): Likewise.
48706 (grub_hfsplus_btree_iterate_node): Made static.
48707
48708 * util/grub-emu.c (prefix): New variable.
48709 (grub_machine_set_prefix): New function.
48710 (main): Do not set the environment variable "prefix" here. Only
48711 set PREFIX, which is used later by grub_machine_set_prefix.
48712
48713 * include/grub/video.h: Do not include grub/symbol.h.
48714 (grub_video_register): Not exported. This symbol is not defined in
48715 the kernel.
48716 (grub_video_unregister): Likewise.
48717 (grub_video_iterate): Likewise.
48718 (grub_video_setup): Likewise.
48719 (grub_video_restore): Likewise.
48720 (grub_video_get_info): Likewise.
48721 (grub_video_get_blit_format): Likewise.
48722 (grub_video_set_palette): Likewise.
48723 (grub_video_get_palette): Likewise.
48724 (grub_video_set_viewport): Likewise.
48725 (grub_video_get_viewport): Likewise.
48726 (grub_video_map_color): Likewise.
48727 (grub_video_map_rgb): Likewise.
48728 (grub_video_map_rgba): Likewise.
48729 (grub_video_fill_rect): Likewise.
48730 (grub_video_blit_glyph): Likewise.
48731 (grub_video_blit_bitmap): Likewise.
48732 (grub_video_blit_render_target): Likewise.
48733 (grub_video_scroll): Likewise.
48734 (grub_video_swap_buffers): Likewise.
48735 (grub_video_create_render_target): Likewise.
48736 (grub_video_delete_render_target): Likewise.
48737 (grub_video_set_active_render_target): Likewise.
48738
48739 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48740 Undefined.
48741 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48742
48743 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48744 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48745 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48746 instead of $(srcdir)/genkernsyms.sh.
48747
48748 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48749 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48750 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48751 instead of $(srcdir)/genkernsyms.sh.
48752
48753 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
48754 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48755 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48756 instead of $(srcdir)/genkernsyms.sh.
48757
48758 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
48759 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48760 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48761 instead of $(srcdir)/genkernsyms.sh.
48762
48763 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
48764 genkernsyms.sh.
48765
48766 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48767 genkernsyms.sh.
48768 (gensymlist.sh): New target.
48769 (genkernsyms.sh): Likewise.
48770
48771 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48772 genkernsyms.sh.in and gensymlist.sh.in.
48773
48774 * genkernsyms.sh: Removed.
48775 * gensymlist.sh: Likewise.
f19dbdb7 48776
7b455f4d 48777 * genkernsyms.sh.in: New file.
48778 * gensymlist.sh.in: Likewise.
48779
1885bb27 487802006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48781
48782 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48783 clobber "prefix", since we may have already set it manually.
48784
71538dff 487852006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48786
48787 * kern/misc.c (abort): New alias for grub_abort.
48788
2965c7cc 487892006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48790
48791 A new machine-specific function "grub_machine_set_prefix" is
48792 defined. This is called after loading modules, so that a prefix
48793 initialization can use modules. Also, this change adds an
48794 intensive debugging feature for the memory manager via the
48795 configure option "--enable-mm-debug".
f19dbdb7 48796
2965c7cc 48797 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48798 PART.LEN.
48799
48800 * kern/sparc64/ieee1275/init.c (abort): Removed.
48801 (grub_stop): Likewise.
48802 (grub_exit): New function.
48803 (grub_set_prefix): Renamed to ...
48804 (grub_machine_set_prefix): ... this.
48805 (grub_machine_init): Do not call grub_set_prefix.
48806
48807 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48808 (grub_machine_set_prefix): ... this.
48809 (grub_machine_init): Do not call grub_set_prefix.
48810
48811 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
48812 (grub_machine_init): Do not set the prefix here.
48813
48814 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48815
48816 * kern/efi/init.c: Include grub/mm.h.
48817 (grub_efi_set_prefix): New function.
48818
48819 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48820 (grub_efi_get_filename): New function.
48821 (grub_print_device_path): Renamed to ...
48822 (grub_efi_print_device_path): ... this.
48823
48824 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48825 [MM_DEBUG] (grub_realloc): Likewise.
48826 [MM_DEBUG] (grub_free): Likewise.
48827 [MM_DEBUG] (grub_memalign): Likewise.
48828 [MM_DEBUG] (grub_mm_debug): New variable.
48829 [MM_DEBUG] (grub_debug_malloc): New function.
48830 [MM_DEBUG] (grub_debug_free): New function.
48831 [MM_DEBUG] (grub_debug_realloc): New function.
48832 [MM_DEBUG] (grub_debug_memalign): New function.
48833
48834 * kern/misc.c (grub_abort): Print a newline to distinguish
48835 the message.
48836
48837 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48838 grub_set_root_dev after loading modules. This is necessary when
48839 setting a prefix depends on modules.
48840
48841 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48842 (grub_efi_print_device_path): ... this.
48843 (grub_efi_get_filename): New prototype.
48844 (grub_efi_set_prefix): Likewise.
48845
48846 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48847 and grub/disk.h.
48848 (grub_efidisk_get_device_handle): New prototype.
48849 (grub_efidisk_get_device_name): Likewise.
48850
48851 * include/grub/mm.h: Include config.h.
48852 (MM_DEBUG): Removed.
48853 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48854 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48855 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48856 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48857 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48858 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48859 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48860 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48861 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48862
48863 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48864
48865 * disk/efi/efidisk.c: Include grub/partition.h.
48866 (iterate_child_devices): New function.
48867 (add_device): First, compare only last device path nodes, so that
48868 devices are sorted by the types.
48869 (grub_efidisk_get_device_handle): New function.
48870 (grub_efidisk_get_device_name): Likewise.
48871
48872 * configure.ac (--enable-mm-debug): New option to enable the
48873 memory manager debugging feature. This makes the binary much
48874 bigger, so is disabled by default.
48875
9cacaa17 488762006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48877
48878 Use grub_abort instead of grub_stop, and grub_exit must be
48879 define in each architecture now. Also, this change adds support
48880 for EFI disks.
f19dbdb7 48881
9cacaa17 48882 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48883 (grub_getkey): New function.
48884 (grub_term_get_current): Likewise.
48885
48886 * util/i386/pc/grub-setup.c: Include grub/term.h.
48887 (grub_getkey): New function.
48888 (grub_term_get_current): Likewise.
48889
48890 * util/misc.c (grub_stop): Renamed to ...
48891 (grub_exit): ... this.
48892
48893 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48894 (grub_exit): ... this.
48895 (grub_machine_init): Use grub_abort instead of abort.
48896 (grub_stop): Removed.
48897
48898 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48899 abort.
48900
48901 * kern/i386/pc/startup.S (grub_exit): New function.
48902 (cold_reboot): New label.
48903
48904 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48905 (grub_efi_init): Call grub_efidisk_init.
48906 (grub_efi_fini): Call grub_efidisk_fini.
48907
48908 * kern/efi/efi.c: Include grub/mm.h.
48909 (grub_efi_console_control_guid): Renamed to ...
48910 (console_control_guid): ... this.
48911 (grub_efi_loaded_image_guid): Renamed to ...
48912 (loaded_image_guid): ... this.
48913 (grub_efi_locate_handle): New function.
48914 (grub_efi_open_protocol): Likewise.
48915 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48916 GRUB_EFI_CONSOLE_CONTROL_GUID.
48917 (grub_efi_exit): Removed.
48918 (grub_stop): Likewise.
48919 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48920 (grub_exit): New function.
48921 (grub_print_device_path): Likewise.
48922
48923 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48924 (grub_enter_rescue_mode): Register "exit".
48925
48926 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48927 (grub_abort): New function.
48928
48929 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48930
48931 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48932
48933 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48934
48935 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48936 (grub_print_device_path): New prototype.
48937 (grub_efi_locate_handle): Likewise.
48938 (grub_efi_open_protocol): Likewise.
48939
48940 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48941 * disk/efi/efidisk.c: Likewise.
48942
48943 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48944
48945 * include/grub/efi/console_control.h
48946 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48947
48948 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48949 last 8 bytes as an array.
48950 (GRUB_EFI_DISK_IO_GUID): New macro.
48951 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48952 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48953 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48954 grub_uint8_t.
48955 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48956 (struct grub_efi_device_path): Rename the member "sub_type" to
48957 "subtype".
48958 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48959 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48960 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48961 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48962 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48963 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48964 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48965 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48966 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48967 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48968 (struct grub_efi_pci_device_path): New structure.
48969 (grub_efi_pci_device_path_t): New type.
48970 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48971 (struct grub_efi_pccard_device_path): New structure.
48972 (grub_efi_pccard_device_path_t): New type.
48973 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48974 (struct grub_efi_memory_mapped_device_path): New structure.
48975 (grub_efi_memory_mapped_device_path_t): New type.
48976 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48977 (struct grub_efi_vendor_device_path): New structure.
48978 (grub_efi_vendor_device_path_t): New type.
48979 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48980 (struct grub_efi_controller_device_path): New structure.
48981 (grub_efi_controller_device_path_t): New type.
48982 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48983 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48984 (struct grub_efi_acpi_device_path): New structure.
48985 (grub_efi_acpi_device_path_t): New type.
48986 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48987 (struct grub_efi_expanded_acpi_device_path): New structure.
48988 (grub_efi_expanded_acpi_device_path_t): New type.
48989 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48990 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48991 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48992 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48993 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48994 (struct grub_efi_atapi_device_path): New structure.
48995 (grub_efi_atapi_device_path_t): New type.
48996 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48997 (struct grub_efi_fibre_channel_device_path): New structure.
48998 (grub_efi_fibre_channel_device_path_t): New type.
48999 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
49000 (struct grub_efi_1394_device_path): New structure.
49001 (grub_efi_1394_device_path_t): New type.
49002 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
49003 (struct grub_efi_usb_device_path): New structure.
49004 (grub_efi_usb_device_path_t): New type.
49005 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
49006 (struct grub_efi_usb_class_device_path): New structure.
49007 (grub_efi_usb_class_device_path_t): New type.
49008 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
49009 (struct grub_efi_i2o_device_path): New structure.
49010 (grub_efi_i2o_device_path_t): New type.
49011 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
49012 (struct grub_efi_mac_address_device_path): New structure.
49013 (grub_efi_mac_address_device_path_t): New type.
49014 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
49015 (struct grub_efi_ipv4_device_path): New structure.
49016 (grub_efi_ipv4_device_path_t): New type.
49017 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
49018 (struct grub_efi_ipv6_device_path): New structure.
49019 (grub_efi_ipv6_device_path_t): New type.
49020 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
49021 (struct grub_efi_infiniband_device_path): New structure.
49022 (grub_efi_infiniband_device_path_t): New type.
49023 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
49024 (struct grub_efi_uart_device_path): New structure.
49025 (grub_efi_uart_device_path_t): New type.
49026 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
49027 (struct grub_efi_vendor_messaging_device_path): New structure.
49028 (grub_efi_vendor_messaging_device_path_t): New type.
49029 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
49030 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
49031 (struct grub_efi_hard_drive_device_path): New structure.
49032 (grub_efi_hard_drive_device_path_t): New type.
49033 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
49034 (struct grub_efi_cdrom_device_path): New structure.
49035 (grub_efi_cdrom_device_path_t): New type.
49036 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
49037 (struct grub_efi_vendor_media_device_path): New structure.
49038 (grub_efi_vendor_media_device_path_t): New type.
49039 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
49040 (struct grub_efi_file_path_device_path): New structure.
49041 (grub_efi_file_path_device_path_t): New type.
49042 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
49043 (struct grub_efi_protocol_device_path): New structure.
49044 (grub_efi_protocol_device_path_t): New type.
49045 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
49046 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
49047 (struct grub_efi_bios_device_path): New structure.
49048 (grub_efi_bios_device_path_t): New type.
49049 (struct grub_efi_disk_io): New structure.
49050 (grub_efi_disk_io_t): New type.
49051 (struct grub_efi_block_io_media): New structure.
49052 (grub_efi_block_io_media_t): New type.
49053 (struct grub_efi_block_io): New structure.
49054 (grub_efi_block_io_t): New type.
49055
49056 * include/grub/misc.h (grub_stop): Removed.
49057 (grub_exit): New prototype.
49058 (grub_abort): Likewise.
49059
49060 * include/grub/disk.h (enum grub_disk_dev_id): Added
49061 GRUB_DISK_DEVICE_EFIDISK_ID.
49062
49063 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
49064 disk/efi/efidisk.c.
49065 (kernel_syms.lst): Remove the target if an error occurs.
49066
49986a9f 490672006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
49068
49069 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
49070 as it was simply too buggy.
49071
970d3b8a 490722006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
49073
49074 * kern/misc.c (grub_lltoa): New function.
49075 (grub_vsprintf): Added support for the long long suffix,
49076 i.e. "ll".
49077
ff04ec24 490782006-04-20 Hollis Blanchard <hollis@penguinppc.org>
49079
49080 * Makefile.in (LDFLAGS): Add variable.
49081 (LD): Remove variable.
49082 * configure.ac: Add -m32 to LDFLAGS.
49083 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
49084 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
49085 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
49086 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
49087 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
49088 variables.
49089 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
49090 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
49091 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
49092
37e5e1a4 490932006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
49094
49095 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
49096 length for unknown glyph.
49097
c352d8dd 490982006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
49099
2eab1c0d 49100 Add support for pre-loaded modules into the EFI port.
f19dbdb7 49101
2eab1c0d 49102 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
49103 completely. Accept one more argument DIR. The caller has changed.
49104
49105 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
49106
49107 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
49108 (grub_efi_loaded_image_guid): New variable.
49109 (grub_efi_get_loaded_image): New function.
49110 (grub_arch_modules_addr): Likewise.
49111
49112 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
49113 prototype.
49114
49115 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
49116 (struct grub_efi_loaded_image): New structure.
49117 (grub_efi_loaded_image_t): New type.
49118
491192006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 49120
c352d8dd 49121 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
49122 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
49123 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
49124
6d01d6b4 491252006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
49126
49127 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
49128
976a4ea0 491292006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
49130
49131 * DISTLIST: Added include/grub/efi/console.h,
49132 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
49133 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49134
49135 * include/grub/efi/console.h: New file.
49136 * include/grub/efi/time.h: Likewise.
49137 * include/grub/i386/efi/kernel.h: Likewise.
49138 * kern/efi/init.c: Likewise.
49139 * kern/efi/mm.c: Likewise.
49140 * term/efi/console.c: Likewise.
f19dbdb7 49141
976a4ea0 49142 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
49143 (grub_stop): Removed.
49144 (grub_get_rtc): Likewise.
49145 (grub_machine_init): Simply call grub_efi_init.
49146 (grub_machine_fini): Call grub_efi_fini.
49147
49148 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
49149 (grub_efi_output_string): Removed.
49150 (grub_efi_stall): New function.
49151 (grub_stop): Likewise.
49152 (grub_get_rtc): Likewise.
49153
49154 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
49155 (grub_efi_stall): New prototype.
49156 (grub_efi_allocate_pages): Likewise.
49157 (grub_efi_free_pages): Likewise.
49158 (grub_efi_get_memory_map): Likewise.
49159 (grub_efi_mm_init): Likewise.
49160 (grub_efi_mm_fini): Likewise.
49161 (grub_efi_init): Likewise.
49162 (grub_efi_fini): Likewise.
49163
49164 * include/grub/i386/efi/time.h: Do not include
49165 grub/symbol.h. Include grub/efi/time.h.
49166 (GRUB_TICKS_PER_SECOND): Removed.
49167 (grub_get_rtc): Likewise.
49168
49169 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
49170 Added padding. The EFI spec is buggy.
49171 (GRUB_EFI_BLACK): New macro.
49172 (GRUB_EFI_BLUE): Likewise.
49173 (GRUB_EFI_GREEN): Likewise.
49174 (GRUB_EFI_CYAN): Likewise.
49175 (GRUB_EFI_RED): Likewise.
49176 (GRUB_EFI_MAGENTA): Likewise.
49177 (GRUB_EFI_BROWN): Likewise.
49178 (GRUB_EFI_LIGHTGRAY): Likewise.
49179 (GRUB_EFI_BRIGHT): Likewise.
49180 (GRUB_EFI_DARKGRAY): Likewise.
49181 (GRUB_EFI_LIGHTBLUE): Likewise.
49182 (GRUB_EFI_LIGHTGREEN): Likewise.
49183 (GRUB_EFI_LIGHTCYAN): Likewise.
49184 (GRUB_EFI_LIGHTRED): Likewise.
49185 (GRUB_EFI_LIGHTMAGENTA): Likewise.
49186 (GRUB_EFI_YELLOW): Likewise.
49187 (GRUB_EFI_WHITE): Likewise.
49188 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
49189 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
49190 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
49191 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
49192 (GRUB_EFI_BACKGROUND_RED): Likewise.
49193 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
49194 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
49195 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
49196 (GRUB_EFI_TEXT_ATTR): Likewise.
49197
49198 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
49199 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49200 (kernel_mod_HEADERS): Added efi/time.h.
49201
83709125 492022006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
49203
49204 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
49205 include/grub/efi/api.h, include/grub/efi/console_control.h,
49206 include/grub/efi/efi.h, include/grub/efi/pe32.h,
49207 include/grub/i386/efi/time.h, kern/efi/efi.c,
49208 kern/i386/efi/init.c, kern/i386/efi/startup.S,
49209 and util/i386/efi/grub-mkimage.c.
49210
49211 * Makefile.in (RMKFILES): Added i386-efi.rmk.
49212
49213 * genmk.rb (PModule#rule): Do not export symbols if
49214 #{prefix}_EXPORTS is set to "no".
49215
49216 * conf/i386-efi.mk: New file.
49217 * conf/i386-efi.rmk: Likewise.
49218 * include/grub/efi/api.h: Likewise.
49219 * include/grub/efi/console_control.h: Likewise.
49220 * include/grub/efi/efi.h: Likewise.
49221 * include/grub/efi/pe32.h: Likewise.
49222 * include/grub/i386/efi/time.h: Likewise.
49223 * kern/efi/efi.c: Likewise.
49224 * kern/i386/efi/init.c: Likewise.
49225 * kern/i386/efi/startup.S: Likewise.
49226 * util/i386/efi/grub-mkimage.c: Likewise.
49227
492282006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 49229
49230 * include/grub/script.h: Include <grub/parser.h> and
49231 "grub_script.tab.h".
49232 (struct grub_lexer_param): New struct.
49233 (struct grub_parser_param): Likewise.
49234 (grub_script_create_arglist): Pass the state in an argument.
49235 (grub_script_add_arglist): Likewise.
49236 (grub_script_create_cmdline): Likewise.
49237 (grub_script_create_cmdblock): Likewise.
49238 (grub_script_create_cmdif): Likewise.
49239 (grub_script_create_cmdmenu): Likewise.
49240 (grub_script_add_cmd): Likewise.
49241 (grub_script_arg_add): Likewise.
49242 (grub_script_lexer_ref): Likewise.
49243 (grub_script_lexer_deref): Likewise.
49244 (grub_script_lexer_record_start): Likewise.
49245 (grub_script_lexer_record_stop): Likewise.
49246 (grub_script_mem_record): Likewise.
49247 (grub_script_mem_record_stop): Likewise.
49248 (grub_script_malloc): Likewise.
49249 (grub_script_yylex): Likewise.
49250 (grub_script_yyparse): Likewise.
49251 (grub_script_yyerror): Likewise.
49252 (grub_script_yylex): Likewise.
49253 (grub_script_lexer_init): Return the state.
49254
49255 * normal/lexer.c (grub_script_lexer_state): Removed variable.
49256 (grub_script_lexer_done): Likewise.
49257 (grub_script_lexer_getline): Likewise.
49258 (grub_script_lexer_refs): Likewise.
49259 (script): Likewise.
49260 (newscript): Likewise.
49261 (record): Likewise.
49262 (recording): Likewise.
49263 (recordpos): Likewise.
49264 (recordlen): Likewise.
49265 (grub_script_lexer_init): Return the state instead of setting
49266 global variables.
49267 (grub_script_lexer_ref): Use the newly added argument for state
49268 instead of globals.
49269 (grub_script_lexer_deref): Likewise.
49270 (grub_script_lexer_record_start): Likewise.
49271 (grub_script_lexer_record_stop): Likewise.
49272 (recordchar): Likewise.
49273 (nextchar): Likewise.
49274 (grub_script_yylex2): Likewise.
49275 (grub_script_yylex): Likewise.
49276 (grub_script_yyerror): Likewise.
49277
49278 * normal/parser.y (func_mem): Removed variable.
49279 (menu_entry): Likewise.
49280 (err): Likewise.
49281 (%lex-param): New parser option.
49282 (%parse-param): Likewise.
49283 (script): Always return the AST.
49284 (argument): Pass the state around.
49285 (arguments): Likewise.
49286 (grubcmd): Likewise.
49287 (commands): Likewise.
49288 (function): Likewise.
49289 (menuentry): Likewise.
49290 (if_statement): Likewise.
49291 (if): Likewise.
49292
49293 * normal/script.c (grub_script_memused): Removed variable.
49294 (grub_script_parsed): Likewise.
49295 (grub_script_malloc): Added a state argument. Use that instead of
49296 global variables.
49297 (grub_script_mem_record): Likewise.
49298 (grub_script_mem_record_stop): Likewise.
49299 (grub_script_arg_add): Likewise.
49300 (grub_script_add_arglist): Likewise.
49301 (grub_script_create_cmdline): Likewise.
49302 (grub_script_create_cmdif): Likewise.
49303 (grub_script_create_cmdmenu): Likewise.
49304 (grub_script_add_cmd): Likewise.
49305 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 49306
e2a8c904 493072006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 49308
49309 * normal/command.c (grub_command_init): Remove the title command.
49310
49311 * normal/lexer.c (grub_script_yylex): Renamed from this...
49312 (grub_script_yylex2): ... to this.
49313 (grub_script_yylex): New function. Temporary
49314 introduced to filter some tokens.
49315 (grub_script_yyerror): Print a newline.
49316
49317 * normal/main.c (read_config_file): Output information about the
49318 lines that contain errors. Wait for a key after all lines have
49319 been processed. Don't return an empty menu.
49320
49321 * normal/parser.y (func_mem): Don't initialize.
49322 (menu_entry): Likewise.
49323 (err): New variable.
49324 (script): Don't return anything when an error was encountered.
49325 (ws, returns): Removed rules.
49326 (argument): Disabled concatenated variable support.
49327 (arguments): Remove explicit separators.
49328 (grubcmd): Likewise.
49329 (function): Likewise.
49330 (menuentry): Likewise.
49331 (if): Likewise.
49332 (commands): Likewise. Add error handling.
49333
49334 * normal/script.c (grub_script_create_cmdline): If
49335 `grub_script_parsed' is 0, assume the parser encountered an error.
49336
c9a86192 493372006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
49338
49339 * configure.ac: Add support for EFI. Fix the typo
49340 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
49341
70f3b243 493422006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49343
49344 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
49345 foreign multibyte characters should be shown correctly.
49346
65f201ad 493472006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49348
49349 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
49350 calculation.
49351 (read_config_file): Made it to close file before returning.
49352
b4b93674 493532006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
49354
49355 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
49356 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
49357 video/i386/pc/vbefill.c.
49358
49359 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
49360 video/i386/pc/vbefill.c.
49361
49362 * include/grub/video.h (grub_video_blit_format): New enum.
49363 (grub_video_mode_info): Added new member blit_format.
49364 (grub_video_get_blit_format): New function prototype.
49365
49366 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
49367 function prototype.
49368 (grub_video_vbe_map_rgb): Likewise.
49369 (grub_video_vbe_unmap_color): Likewise.
49370
49371 * include/grub/i386/pc/vbeblit.h: New file.
49372
49373 * include/grub/i386/pc/vbefill.h: New file.
49374
49375 * video/video.c (grub_video_get_blit_format): New function.
49376 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
49377 (grub_video_vbe_map_rgb): Likewise.
49378 (grub_video_vbe_unmap_color): Likewise.
49379
49380 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
49381 optimized fills.
49382 (grub_video_vbe_blit_render_target): Changed to use more optimized
49383 blits.
49384 (grub_video_vbe_setup): Added detection for optimized settings.
49385 (grub_video_vbe_create_render_target): Likewise.
49386
49387 * video/i386/pc/vbeblit.c: New file.
49388
49389 * video/i386/pc/vbefill.c: New file.
49390
c2379b9c 493912006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
49392
49393 * font/manager.c (grub_font_get_glyph): Removed font fixup from
49394 here...
49395
49396 * util/unifont2pff.rb: ... and moved it to here. Improved argument
49397 parsing to support both hex and dec ranges. If filename was missing
49398 show usage information.
49399
bd0d7896 494002006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
49401
49402 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
49403 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
49404
49405 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
49406 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
49407 (video_mod_SOURCES): Added.
49408 (video_mod_CFLAGS): Likewise.
49409 (video_mod_LDFLAGS): Likewise.
49410 (gfxterm_mod_SOURCES): Likewise.
49411 (gfxterm_mod_CFLAGS): Likewise.
49412 (gfxterm_mod_LDFLAGS): Likewise.
49413 (videotest_mod_SOURCES): Likewise.
49414 (videotest_mod_CFLAGS): Likewise.
49415 (videotest_mod_LDFLAGS): Likewise.
49416 (vesafb_mod_SOURCES): Removed.
49417 (vesafb_mod_CFLAGS): Likewise.
49418 (vesafb_mod_LDFLAGS): Likewise.
49419 (vga_mod_SOURCES): Likewise.
49420 (vga_mod_CFLAGS): Likewise.
49421 (vga_mod_LDFLAGS): Likewise.
49422
49423 * commands/videotest.c: New file.
49424
49425 * font/manager.c (fill_with_default_glyph): Modified to use
49426 grub_font_glyph.
49427 (grub_font_get_glyph): Likewise.
49428 (fontmanager): Renamed from this...
49429 (font_manager): ... to this.
49430
49431 * include/grub/font.h (grub_font_glyph): Added new structure.
49432 (grub_font_get_glyph): Modified to use grub_font_glyph.
49433
49434 * include/grub/misc.h (grub_abs): Added as inline function.
49435
49436 * include/grub/video.h: New file.
49437
49438 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
49439 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
49440 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
49441 (grub_vbe_get_controller_info): Renamed from this...
49442 (grub_vbe_bios_get_controller_info): ... to this.
49443 (grub_vbe_get_mode_info): Renamed from this...
49444 (grub_vbe_bios_get_mode_info): ... to this.
49445 (grub_vbe_set_mode): Renamed from this...
49446 (grub_vbe_bios_set_mode): ... to this.
49447 (grub_vbe_get_mode): Renamed from this...
49448 (grub_vbe_bios_get_mode): ... to this.
49449 (grub_vbe_set_memory_window): Renamed from this...
49450 (grub_vbe_bios_set_memory_window): ... to this.
49451 (grub_vbe_get_memory_window): Renamed from this...
49452 (grub_vbe_bios_get_memory_window): ... to this.
49453 (grub_vbe_set_scanline_length): Renamed from this...
49454 (grub_vbe_set_scanline_length): ... to this.
49455 (grub_vbe_get_scanline_length): Renamed from this...
49456 (grub_vbe_bios_get_scanline_length): ... to this.
49457 (grub_vbe_set_display_start): Renamed from this...
49458 (grub_vbe_bios_set_display_start): ... to this.
49459 (grub_vbe_get_display_start): Renamed from this...
49460 (grub_vbe_bios_get_display_start): ... to this.
49461 (grub_vbe_set_palette_data): Renamed from this...
49462 (grub_vbe_bios_set_palette_data): ... to this.
49463 (grub_vbe_set_pixel_rgb): Removed.
49464 (grub_vbe_set_pixel_index): Likewise.
49465
49466 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
49467 from this...
49468 (grub_vbe_bios_get_controller_info): ... to this.
49469 (grub_vbe_get_mode_info): Renamed from this...
49470 (grub_vbe_bios_get_mode_info): ... to this.
49471 (grub_vbe_set_mode): Renamed from this...
49472 (grub_vbe_bios_set_mode): ... to this.
49473 (grub_vbe_get_mode): Renamed from this...
49474 (grub_vbe_bios_get_mode): ... to this.
49475 (grub_vbe_set_memory_window): Renamed from this...
49476 (grub_vbe_bios_set_memory_window): ... to this.
49477 (grub_vbe_get_memory_window): Renamed from this...
49478 (grub_vbe_bios_get_memory_window): ... to this.
49479 (grub_vbe_set_scanline_length): Renamed from this...
49480 (grub_vbe_set_scanline_length): ... to this.
49481 (grub_vbe_get_scanline_length): Renamed from this...
49482 (grub_vbe_bios_get_scanline_length): ... to this.
49483 (grub_vbe_set_display_start): Renamed from this...
49484 (grub_vbe_bios_set_display_start): ... to this.
49485 (grub_vbe_get_display_start): Renamed from this...
49486 (grub_vbe_bios_get_display_start): ... to this.
49487 (grub_vbe_set_palette_data): Renamed from this...
49488 (grub_vbe_bios_set_palette_data): ... to this.
49489 (grub_vbe_bios_get_controller_info): Fixed problem with registers
49490 getting corrupted after calling it. Added more pushes and pops.
49491 (grub_vbe_bios_set_mode): Likewise.
49492 (grub_vbe_bios_get_mode): Likewise.
49493 (grub_vbe_bios_get_memory_window): Likewise.
49494 (grub_vbe_bios_set_scanline_length): Likewise.
49495 (grub_vbe_bios_get_scanline_length): Likewise.
49496 (grub_vbe_bios_get_display_start): Likewise.
49497 (grub_vbe_bios_set_palette_data): Likewise.
49498
49499 * normal/cmdline.c (cl_set_pos): Refresh the screen.
49500 (cl_insert): Likewise.
49501 (cl_delete): Likewise.
49502
49503 * term/gfxterm.c: New file.
49504
49505 * term/i386/pc/vesafb.c: Removed file.
49506
49507 * video/video.c: New file.
49508
49509 * video/i386/pc/vbe.c (real2pm): Added new function.
49510 (grub_video_vbe_draw_pixel): Likewise.
49511 (grub_video_vbe_get_video_ptr): Likewise.
49512 (grub_video_vbe_get_pixel): Likewise
49513 (grub_video_vbe_init): Likewise.
49514 (grub_video_vbe_fini): Likewise.
49515 (grub_video_vbe_setup): Likewise.
49516 (grub_video_vbe_get_info): Likewise.
49517 (grub_video_vbe_set_palette): Likewise.
49518 (grub_video_vbe_get_palette): Likewise.
49519 (grub_video_vbe_set_viewport): Likewise.
49520 (grub_video_vbe_get_viewport): Likewise.
49521 (grub_video_vbe_map_color): Likewise.
49522 (grub_video_vbe_map_rgb): Likewise.
49523 (grub_video_vbe_map_rgba): Likewise.
49524 (grub_video_vbe_unmap_color): Likewise.
49525 (grub_video_vbe_fill_rect): Likewise.
49526 (grub_video_vbe_blit_glyph): Likewise.
49527 (grub_video_vbe_blit_bitmap): Likewise.
49528 (grub_video_vbe_blit_render_target): Likewise.
49529 (grub_video_vbe_scroll): Likewise.
49530 (grub_video_vbe_swap_buffers): Likewise.
49531 (grub_video_vbe_create_render_target): Likewise.
49532 (grub_video_vbe_delete_render_target): Likewise.
49533 (grub_video_vbe_set_active_render_target): Likewise.
49534 (grub_vbe_set_pixel_rgb): Remove function.
49535 (grub_vbe_set_pixel_index): Likewise.
49536 (index_color_mode): Remove static variable.
49537 (active_mode): Likewise.
49538 (framebuffer): Likewise.
49539 (bytes_per_scan_line): Likewise.
49540 (grub_video_vbe_adapter): Added new static variable.
49541 (framebuffer): Likewise.
49542 (render_target): Likewise.
49543 (initial_mode): Likewise.
49544 (mode_in_use): Likewise.
49545 (mode_list): Likewise.
49546
5f97350b 495472006-03-10 Marco Gerards <marco@gnu.org>
49548
49549 * configure.ac (AC_INIT): Bumped to 1.93.
49550
49551 * DISTLIST: Added `include/grub/hfs.h'.
49552
a3c5c6f8 495532006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
49554
49555 * boot/i386/pc/boot.S (general_error): Before looping, try INT
49556 18H, which might help the BIOS falling back to next boot media.
49557
6de53d26 495582006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
49559
49560 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
49561 Poe Chen <poe.poechen@gmail.com>.
49562
77c4a393 495632006-01-17 Marco Gerards <marco@gnu.org>
49564
49565 * include/grub/normal.h: Include <grub/script.h>.
49566 (grub_command_list): Removed struct.
49567 (grub_command_list_t): Removed type.
49568 (grub_menu_entry): Remove members `num' and `command_list'. Add
49569 members `commands' and `sourcecode'.
49570 * include/grub/script.h: Add inclusion guards.
49571 (grub_script_cmd_menuentry): New struct.
49572 (grub_script_execute_menuentry): New prototype.
49573 (grub_script_lexer_record_start): Likewise.
49574 (grub_script_lexer_record_stop): Likewise.
49575 * normal/execute.c (grub_script_execute_menuentry): New function.
49576 * normal/lexer.c (record, recording, recordpos, recordlen): New
49577 variables.
49578 (grub_script_lexer_record_start): New function.
49579 (grub_script_lexer_record_stop): Likewise.
49580 (recordchar): Likewise.
49581 (nextchar): Likewise.
49582 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
49583 2048 as the buffer size. Add the tokens `menuentry' and `@'.
49584 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
49585 (current_menu): New variable.
49586 (free_menu): Mainly rewritten.
49587 (grub_normal_menu_addentry): New function.
49588 (read_config_file): Rewritten.
49589 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 49590 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 49591 the menu entry.
49592 (run): Mainly rewritten.
49593 * normal/parser.y (menu_entry): New variable.
49594 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49595 (menuentry): New rule.
49596 (command): Add `menuentry'.
49597 (if_statement): Allow additional returns before `fi'.
49598 * normal/script.c (grub_script_create_cmdmenu): New function.
49599
144f1f98 496002006-01-03 Marco Gerards <marco@gnu.org>
49601
49602 * INSTALL: GNU Bison is required.
49603 * configure.ac: Rewritten the test to detect Bison.
49604 * Makefile.in (YACC): New variable. Reported by Xun Sun
49605 <xun.sun.cn@gmail.com>.
49606
af4b2d89 496072006-01-03 Marco Gerards <marco@gnu.org>
49608
49609 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49610 the HFS+ filesystem to filesystem blocks.
49611 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49612 GCC warning is silenced.
49613
15643b71 496142006-01-03 Marco Gerards <marco@gnu.org>
49615
49616 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49617 read from disk from big endian to host byte order.
49618
00905879 496192006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49620
49621 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49622 documentation.
49623 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49624 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49625 embedded HFS+ filesystem.
49626 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49627 (grub_hfs_sblock): Move from here...
49628 * include/grub/hfs.h: To here... New file.
49629 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49630 documentation.
49631 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49632 New macros.
49633 (grub_hfsplus_volheader): Change type of member `magic' to
49634 `grub_uint16_t'.
49635 (grub_hfsplus_data): Add new member `embedded_offset'.
49636 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49637 returned block.
49638 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49639 Calculate the offset.
49640
8899bc3e 496412005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49642
49643 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49644 Removed.
49645 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49646
ae8c0277 496472005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49648
49649 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49650 ENV->NAME is NULL after allocating ENV->VALUE.
49651
07084456 496522005-12-25 Marco Gerards <marco@gnu.org>
49653
49654 * kern/env.c (grub_env_set): Rewritten the error handling code.
49655
4750f5f1 496562005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49657
49658 * geninit.sh: Made more robust, and more portable.
49659
50214199 496602005-12-25 Marco Gerards <marco@gnu.org>
49661
49662 Add support for Apple HFS+ filesystems.
f19dbdb7 49663
50214199 49664 * fs/hfsplus.c: New file.
49665
49666 * DISTLIST: Added `fs/hfsplus.c'.
49667
49668 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49669 (hfsplus_mod_SOURCES): New variable.
49670 (hfsplus_mod_CFLAGS): Likewise.
49671 (hfsplus_mod_LDFLAGS): Likewise.
49672 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49673 (grub_setup_SOURCES): Likewise.
49674 (grub_mkdevicemap_SOURCES): Likewise.
49675 (grub_emu_SOURCES): Likewise.
49676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49677
49678 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49679
49680 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49681
befaed6c 496822005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49683
49684 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49685 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49686 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49687 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49688 normal/lexer.c, normal/parser.y, normal/script.c, and
49689 partmap/gpt.c.
49690 Removed kern/sparc64/cache.c.
49691
49692 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49693 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49694 grub_emu_init.c.
49695
49696 * configure.ac (AC_INIT): Bumped to 1.92.
49697
6a124103 496982005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49699
49700 * kern/err.c (grub_error_push): Added new function to support error
49701 stacks.
49702 (grub_error_pop): Likewise.
49703 (grub_error_stack_items): New local variable to support error stacks.
49704 (grub_error_stack_pos): Likewise.
49705 (grub_error_stack_assert): Likewise.
49706 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49707 stack depth.
49708 (grub_print_error): Added support to print errors from error stack.
49709
49710 * include/grub/err.h (grub_error_push): Added function prototype.
49711 (grub_error_pop): Likewise.
49712
be973c1b 497132005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49714
49715 * configure.ac: Accept `powerpc64' as host_cpu.
49716 (amd64): Rename to `biarch32'.
49717
49718 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49719 non-cacheline-aligned addresses.
49720
49721 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
49722 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
49723 if `size' is non-zero.
49724
b04216ab 497252005-12-03 Marco Gerards <mgerards@xs4all.nl>
49726
49727 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
49728 and `cd' to make sure the filename is not prefixed with a
49729 directory name.
49730 (pkgdata_MODULES): Add `gpt.mod'.
49731 (gpt_mod_SOURCES): New variable.
49732 (gpt_mod_CFLAGS): Likewise.
49733 (gpt_mod_LDFLAGS): Likewise.
49734
49735 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49736
49737 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49738 New macro.
49739
49740 * partmap/gpt.c: New file.
49741
49742 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49743 GPT partition map is detected.
49744
41730ed9 497452005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49746
49747 * commands/i386/pc/play.c: New file.
49748 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49749 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49750 macros.
f19dbdb7 49751
95dc3643 497522005-11-27 Marco Gerards <mgerards@xs4all.nl>
49753
49754 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
49755 ((unused))' to silence gcc warning.
49756
1569ec51 497572005-11-26 Hollis Blanchard <hollis@penguinppc.org>
49758
49759 * configure.ac: Correct `AC_PROG_YACC' test.
49760
9abde152 497612005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49762
49763 * util/powerpc/ieee1275/grub-install.in: Run the mount point
49764 check before installing files.
49765
44b83271 497662005-11-22 Mike Small <smallm@panix.com>
49767
49768 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49769 number regex so multidigit numbers are recognized correctly.
49770
497712005-11-22 Mike Small <smallm@panix.com>
49772
49773 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49774 debugging message before attempting to claim memory.
49775 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49776 multiple addresses in case of failure.
49777
9c12956b 497782005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49779
49780 * term/tparm.c (get_space): Remove empty `if' statement.
49781
49782 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49783
49784 * kern/parser.c (check_varstate): Rename `state' to 's'.
49785
aeaf81d9 497862005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49787
49788 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49789 variable definitions to the beginning of each function. Sort stack
49790 variables by size.
49791 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49792 `buf' argument to `char *'.
49793
79bbb63f 497942005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49795
49796 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49797 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49798 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 49799 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49800 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49801 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49802 configfile.mod, search.mod, gzio.mod and test.mod.
49803 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49804 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49805 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49806 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49807 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49808 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49809 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49810 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49811 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49812 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49813 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49814 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49815 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49816 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49817 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49818 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49819 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49820 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49821 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49822 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49823 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49824 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49825 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49826
49827 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49828 `grep --include'.
49829 (pkgdata_MODULES): Add test.mod.
49830
233b1628 498312005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49832
49833 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49834 appending to variables with "+=".
49835 (PModule): Use full pathname to generate *.lst filenames.
49836
49837 * Makefile.in: Fixed list rules moved from genmk.rb.
49838 (.DELETE_ON_ERROR): New special target.
49839 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49840
49841 * conf/i386-pc.rmk: Include conf/common.mk.
49842 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49843 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 49844 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49845 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49846 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49847 configfile.mod, search.mod, gzio.mod and test.mod.
49848 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49849 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49850 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49851 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49852 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49853 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49854 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49855 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49856 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49857 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49858 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49859 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49860 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49861 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49862 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49863 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49864 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49865 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49866 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49867 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49868 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49869 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49870 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49871 here...
49872 * conf/common.rmk: ... to here. New file.
49873
49874 * conf/common.mk: New file.
49875
16f820c8 498762005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49877
49878 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49879 (grub_script.tab.c): ... here.
49880
49881 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49882 (grub_script.tab.c): ... here.
49883
49884 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49885 (grub_script.tab.c): ... here.
49886
49887 * normal/command.c (grub_command_find): Fixed a memory leak of
49888 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49889
63ba1554 498902005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49891
49892 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49893 "@" which marks the start of a comment on ARM.
49894 (VARIABLE): Likewise.
49895
7f67dc13 498962005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49897
79bbb63f 49898 Add support for Linux/ADFS partition tables.
7f67dc13 49899
49900 * partmap/acorn.c: New file.
49901
49902 * include/grub/acorn_filecore.h: Likewise.
49903
49904 * DISTLIST: Added `partmap/acorn.c' and
49905 `include/grub/acorn_filecore.h'.
f19dbdb7 49906
7f67dc13 49907 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49908 `partmap/acorn.c'.
49909 (pkgdata_MODULES): Add `acorn.mod'.
49910 (acorn_mod_SOURCES): New variable.
49911 (acorn_mod_CFLAGS): Likewise.
49912
49913 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49914 `partmap/acorn.c'.
49915 (pkgdata_MODULES): Add `acorn.mod'.
49916 (acorn_mod_SOURCES): New variable.
49917 (acorn_mod_CFLAGS): Likewise.
49918
49919 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49920 (pkgdata_MODULES): Add `acorn.mod'.
49921 (acorn_mod_SOURCES): New variable.
49922 (acorn_mod_CFLAGS): Likewise.
49923 (acorn_mod_LDFLAGS): Likewise.
49924
49925 * include/types.h (grub_disk_addr_t): New typedef.
49926
6d099807 499272005-11-13 Marco Gerards <mgerards@xs4all.nl>
49928
49929 * geninit.sh: New file.
49930
49931 * geninitheader.sh: Likewise.
49932
49933 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49934 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49935 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49936 * commands/configfile.c (grub_configfile_init)
49937 (grub_configfile_fini): Likewise.
49938 * commands/default.c (grub_default_init, grub_default_fini):
49939 Likewise.
49940 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49941 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49942 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49943 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49944 Likewise.
49945 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49946 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49947 Likewise.
49948 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 49949 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 49950 Likewise.
49951 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49952 Likewise.
fe6b695a 49953 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 49954 Likewise.
49955 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49956 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49957 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49958 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49959 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49960 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49961 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49962 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49963 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49964 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49965 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49966 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49967 * partmap/amiga.c (grub_amiga_partition_map_init)
49968 (grub_amiga_partition_map_fini): Likewise.
49969 * partmap/apple.c (grub_apple_partition_map_init)
49970 (grub_apple_partition_map_fini): Likewise.
49971 * partmap/pc.c (grub_pc_partition_map_init)
49972 (grub_pc_partition_map_fini): Likewise.
49973 * partmap/sun.c (grub_sun_partition_map_init,
49974 grub_sun_partition_map_fini): Likewise.
49975 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49976 Likewise.
49977
49978 * util/grub-emu.c: Include <grub_modules_init.h>.
49979 (main): Don't initialize and de-initialize any modules directly,
49980 use `grub_init_all' and `grub_fini_all' instead.
49981
49982 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49983 `grub_vesafb_mod_init'.
49984 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49985 all users.
49986 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49987 `grub_vga_mod_init'. Updated all users.
49988 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 49989
6d099807 49990 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49991 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49992 rules.
49993
49994 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49995 Generate a function to initialize the module in utilities.
49996 Updated all callers.
49997 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49998 initialize the module in utilities. Updated all callers.
49999
9046bcf0 500002005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50001
50002 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
50003 escape sequence and a literal ^L to clear the screen.
50004
50005 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
50006 when returning from Open Firmware.
50007
d13ea639 500082005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50009
50010 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
50011 (grub_ofconsole_height): Likewise.
50012 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
50013 manually insert a '\n'.
50014 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
50015 `grub_ofconsole_height'. Return early if these are already set.
50016
a8fcf206 500172005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
50018
50019 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50020 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
50021 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
50022 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
50023 and `normal/script.c'.
50024 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50025 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50026 (test_mod_SOURCES): New variable.
50027 (test_mod_CFLAGS): Likewise.
50028 (test_mod_LDFLAGS): Likewise.
50029 (pkgdata_MODULES): Add `test.mod'.
50030 (grub_script.tab.c): New rule.
50031 (grub_script.tab.h): Likewise.
50032
b6b32745 500332005-11-07 Marco Gerards <mgerards@xs4all.nl>
50034
50035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50036 `commands/test.c', `normal/execute.c', `normal/lexer.c',
50037 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50038 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50039 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50040 (test_mod_SOURCES): New variable.
50041 (test_mod_CFLAGS): Likewise.
50042 (pkgdata_MODULES): Add `test.mod'.
50043 (grub_script.tab.c): New rule.
50044 (grub_script.tab.h): Likewise.
50045
daac212a 500462005-11-06 Marco Gerards <mgerards@xs4all.nl>
50047
50048 Add initial scripting support.
50049
50050 * commands/test.c: New file.
50051 * include/grub/script.h: Likewise.
50052 * normal/execute.c: Likewise.
50053 * normal/function.c: Likewise.
50054 * normal/lexer.c: Likewise.
50055 * normal/parser.y: Likewise.
50056 * normal/script.c: Likewise.
50057
50058 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 50059
daac212a 50060 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
50061 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
50062 `normal/function.c' and `normal/script.c'.
50063 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50064 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 50065 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
50066 variables.
daac212a 50067 (pkgdata_MODULES): Add `test.mod'.
50068 (grub_script.tab.c): New rule.
50069 (grub_script.tab.h): Likewise.
50070
50071 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
50072
50073 * include/grub/normal.h (grub_test_init): New prototype.
50074 (grub_test_fini): Likewise.
f19dbdb7 50075
daac212a 50076 * normal/command.c: Include <grub/script.h>.
50077 (grub_command_execute): Rewritten.
f19dbdb7 50078
daac212a 50079 * util/grub-emu.c (main): Call `grub_test_init' and
50080 `grub_test_fini'.
50081
77500b2b 500822005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50083
50084 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
50085 to 0.
50086 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
50087 there are no pending characters.
50088
e45deb9e 500892005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50090
50091 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
50092 `grub_strndup' to drop device arguments. Replace unnecessary
50093 `grub_strndup' with `grub_strdup'.
50094
4ce32619 500952005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50096
50097 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
50098 `debug' environment variable has been set.
50099
501002005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50101
4ce32619 50102 * Makefile.in (install-local): Use $(DATA).
50103 (uninstall): Likewise.
50104 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
50105 (sbin_UTILITIES): ... to here.
50106 (sbin_SCRIPTS): New variable.
50107 (grub_install_SOURCES): New variable.
50108 * util/powerpc/ieee1275/grub-install.in: New file.
50109 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
50110 variable.
50111 (add_segments): Call `grub_util_get_path'.
50112
25fe6f03 501132005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
50114
50115 From Timothy Baldwin:
50116 * commands/ls.c (grub_ls_list_files): Close FILE with
50117 grub_file_close.
50118 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
50119
04ccf3ec 501202005-10-24 Marco Gerards <mgerards@xs4all.nl>
50121
50122 * include/grub/parser.h: New file.
50123
50124 * kern/parser.c: Likewise.
50125
50126 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
50127 (grub_setup_SOURCES): Likewise.
50128 (grub_probefs_SOURCES): Likewise.
50129 (grub_emu_SOURCES): Likewise.
50130 (kernel_img_HEADERS): Add `parser.h'.
50131
50132 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50133 (grub_emu_SOURCES): Add `kern/parser.c'.
50134 (grubof_SOURCES): Likewise.
50135
50136 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50137 (grubof_SOURCES): Add `kern/parser.c'.
50138
50139 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
50140
50141 * kern/misc.c (grub_split_cmdline): Removed function.
50142
50143 * kern/rescue.c: Include <grub/parser.h>.
50144 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
50145 of `grub_split_cmdline'.
50146
50147 * normal/command.c: Include <grub/parser.h>.
50148 (grub_command_execute): Use `grub_parser_split_cmdline' instead
50149 of `grub_split_cmdline'.
50150
50151 * normal/completion.c: Include <grub/parser.h>.
50152 (cmdline_state): New variable.
50153 (iterate_dir): End the filename with a quote depending on the
50154 command line state.
50155 (get_state): new function.
50156 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
50157 split the arguments and determine the current argument. When the
50158 argument string is not quoted, escape all spaces.
50159
6d8f4b0e 501602005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50161
50162 * normal/sparc64/setjmp.S: New file.
50163
15cf03ed 501642005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50165
50166 * include/grub/sparc64/libgcc.h: New file.
50167 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
50168 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
50169 normal/sparc64/setjmp.c.
50170
03e8661a 501712005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50172
50173 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
50174 * kern/sparc64/cache.S: New file.
50175 * kern/sparc64/cache.c: Removed.
50176 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
50177 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
50178 -mtune=ultrasparc.
50179 (COMMON_LDFLAGS): Add -melf64_sparc.
50180 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
50181 (grubof_SOURCES): Use cache.S instead of cache.c.
50182 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
50183 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
50184 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
50185 commented though.
50186 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
50187 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
50188 (linux_mod_CFLAGS): Commented out.
50189 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
50190 out because module isn't built.
50191 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
50192 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
50193 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
50194 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
50195 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
50196 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50197 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50198 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
50199 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
50200 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
50201 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50202 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50203 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
50204 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
50205
34eeec8a 502062005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
50207
50208 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
50209 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
50210 longer, because HFS should not be used on PC.
50211
708367a3 502122005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50213
50214 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
50215 consistently within the loop.
50216
6fa1251a 502172005-10-15 Marco Gerards <mgerards@xs4all.nl>
50218
50219 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
50220 directory can not be read.
50221
4801580b 502222005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50223
50224 * configure.ac (AC_INIT): Increase the version number to 1.91.
50225
50226 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
50227 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
50228 term/i386/pc/serial.c.
50229
219ad426 502302005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50231
50232 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
50233 file size must be permitted.
50234
50235 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
50236 between %ah and %al.
50237
688e5699 502382005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50239
50240 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
50241 grub_uint64_t.
50242 Call the hook with a NUL-terminated filename.
50243 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
50244 grub_cpu_to_be32.
50245
50246 * kern/term.c (cursor_state): New variable.
50247 (grub_term_set_current): Reset the cursor state on a new
50248 terminal.
50249 (grub_setcursor): Rewritten to use CURSOR_STATE.
50250 (grub_getcursor): New function.
50251
50252 * include/grub/term.h (grub_getcursor): New prototype.
50253
50254 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
50255 integers on ARM. Reported by Timothy Baldwin
50256 <T.E.Baldwin99@members.leeds.ac.uk>.
50257
bb34586c 502582005-10-11 Marco Gerards <mgerards@xs4all.nl>
50259
50260 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
50261 allocated.
50262 (grub_sfs_dir): Likewise.
50263
9a909877 502642005-10-09 Marco Gerards <mgerards@xs4all.nl>
50265
50266 Add support for the SFS filesystem.
50267
50268 * fs/sfs.c: New file.
50269
50270 * DISTLIST: Added `fs/sfs.c'.
50271
50272 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
50273 (grub_probefs_SOURCES): Likewise.
50274 (grub_emu_SOURCES): Likewise.
50275 (pkgdata_MODULES): Add `sfs.mod'.
50276 (sfs_mod_SOURCES): New variable.
50277 (sfs_mod_CFLAGS): Likewise.
50278 (sfs_mod_LDFLAGS): Likewise.
50279
50280 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
50281 (pkgdata_MODULES): Add `sfs.mod'.
50282 (sfs_mod_SOURCES): New variable.
50283 (sfs_mod_CFLAGS): Likewise.
50284
50285 * util/grub-emu.c (main): Call `grub_sfs_init' and
50286 `grub_sfs_fini'.
50287
50288 * include/grub/fs.h (grub_sfs_init): New prototype.
50289 (grub_sfs_fini): Likewise.
50290
57bdbde3 502912005-10-07 Marco Gerards <mgerards@xs4all.nl>
50292
50293 Add support for the AFFS filesystem.
50294
50295 * fs/affs.c: New file.
50296
50297 * DISTLIST: Added `fs/affs.c'.
50298
50299 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
50300 (grub_probefs_SOURCES): Likewise.
50301 (grub_emu_SOURCES): Likewise.
50302 (pkgdata_MODULES): Add `affs.mod'.
50303 (affs_mod_SOURCES): New variable.
50304 (affs_mod_CFLAGS): Likewise.
50305 (affs_mod_LDFLAGS): Likewise.
50306
50307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
50308 (pkgdata_MODULES): Add `affs.mod'.
50309 (affs_mod_SOURCES): New variable.
50310 (affs_mod_CFLAGS): Likewise.
50311
50312 * util/grub-emu.c (main): Call `grub_affs_init' and
50313 `grub_affs_fini'.
50314
50315 * include/grub/fs.h (grub_affs_init): New prototype.
50316 (grub_affs_fini): Likewise.
50317
047b67e0 503182005-10-01 Marco Gerards <mgerards@xs4all.nl>
50319
50320 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
50321
59b8208a 503222005-10-01 Marco Gerards <mgerards@xs4all.nl>
50323
50324 * configure.ac: Accept `x86_64' as host_cpu. In that case add
50325 `-m32' to CFLAGS.
50326
50327 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
50328 linking.
f19dbdb7 50329
59b8208a 50330 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
50331 (COMMON_LDFLAGS): New variable.
50332 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
50333 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
50334 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
50335 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
50336 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
50337 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
50338 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
50339 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
50340 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
50341 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
50342 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50343 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50344 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
50345 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
50346 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
50347 variables.
50348 (normal_mod_ASFLAGS): Add `-m32'.
50349
50350 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
50351 (grub_host_size_t, grub_host_ssize_t): New types.
50352 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 50353 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 50354 `GRUB_HOST_SIZEOF_VOID_P'.
50355
50356 * include/grub/kernel.h (struct grub_module_header): Type of
50357 member offset changed to `grub_host_off_t'. Type of member size
50358 changed to `grub_host_size_t'.
50359 (struct grub_module_info): Type of member offset changed to
50360 `grub_host_off_t'. Type of member size changed to
50361 `grub_host_size_t'.
50362
b4093103 503632005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
50364
50365 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 50366
b4093103 50367 * kern/i386/pc/startup.S (multiboot_header): New label.
50368 (multiboot_entry): Likewise.
50369 (multiboot_trampoline): Likewise.
50370
50371 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50372 Increased to 0x4A0.
50373
50374 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
50375 put parentheses after a question mark.
50376 [!GRUB_UTIL] (my_mod): New variable.
50377
50378 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
50379
b2499b29 503802005-09-28 Marco Gerards <mgerards@xs4all.nl>
50381
50382 Adds support for the XFS filesystem. Btrees are not supported
50383 yet.
50384
50385 * fs/xfs.c: New file.
50386
50387 * DISTLIST: Added `fs/xfs.c'.
50388
50389 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
50390 (grub_probefs_SOURCES): Likewise.
50391 (grub_emu_SOURCES): Likewise.
50392 (pkgdata_MODULES): Add `xfs.mod'.
50393 (xfs_mod_SOURCES): New variable.
50394 (xfs_mod_CFLAGS): Likewise.
50395
50396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
50397 (pkgdata_MODULES): Add `xfs.mod'.
50398 (xfs_mod_SOURCES): New variable.
50399 (xfs_mod_CFLAGS): Likewise.
50400
50401 * util/grub-emu.c (main): Call `grub_xfs_init' and
50402 `grub_xfs_fini'.
50403
50404 * include/grub/fs.h (grub_xfs_init): New prototype.
50405 (grub_xfs_fini): Likewise.
50406
f19dbdb7 50407
83d37a62 504082005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
50409
50410 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
50411 color modes, allow greater than 16 colors to be configured as
50412 a default palette.
50413
47d2d65e 504142005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
50415
50416 * normal/completion.c (complete_arguments): Add the qualifier
50417 const into OPTIONS.
50418
50419 From Omniflux <omniflux+lists@omniflux.com>:
50420 * include/grub/terminfo.h: New file.
50421 * include/grub/tparm.h: Likewise.
50422 * include/grub/i386/pc/serial.h: Likewise.
50423 * term/terminfo.c: Likewise.
50424 * term/tparm.c: Likewise.
50425 * term/i386/pc/serial.c: Likewise.
50426 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
50427 serial.mod.
50428 (terminfo_mod_SOURCES): New variable.
50429 (terminfo_mod_CFLAGS): Likewise.
50430 (serial_mod_SOURCES): Likewise.
50431 (serial_mod_CFLAGS): Likewise.
50432
48b671ff 504332005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
50434
50435 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
50436 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
50437 and kern/powerpc/ieee1275/cmain.c, respectively.
50438
50439 * boot/powerpc/ieee1275/crt0.S: Moved to ...
50440 * kern/powerpc/ieee1275/crt0.S: ... here.
50441
50442 * boot/powerpc/ieee1275/cmain.c: Moved to ...
50443 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 50444
48b671ff 50445 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
50446 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
50447 instead of boot/powerpc/ieee1275/crt0.S and
50448 boot/powerpc/ieee1275/cmain.c, respectively.
50449
50450 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
50451 sectors. It was not used anyway.
50452
09fc77a7 504532005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50454
50455 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
50456 `unused parameter' warning.
50457
003789c7 504582005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50459
50460 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
50461 function.
50462 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
50463 getcharwidth.
50464
67f44c86 504652005-08-28 Marco Gerards <metgerards@student.han.nl>
50466
50467 * include/grub/normal.h (enum grub_completion_type): Added
50468 `GRUB_COMPLETION_TYPE_ARGUMENT'.
50469
50470 * normal/cmdline.c (print_completion): Handle
50471 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
50472 * normal/menu_entry.c (store_completion): Likewise.
50473
50474 * normal/completion.c (complete_arguments): New function.
50475 (grub_normal_do_completion): Call `complete_arguments' when the
50476 current words start with a dash.
50477
0b5abe02 504782005-08-27 Marco Gerards <metgerards@student.han.nl>
50479
50480 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
50481 `gzio.mod' instead of `io.mod').
50482
d9864ee1 504832005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
50484
50485 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
50486 (DISTDIRS): Added io and video.
50487 Rewrite the search routine to make an output consistently.
50488
50489 * DISTLIST: Added conf/sparc64-ieee1275.mk,
50490 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
50491 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
50492 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
50493 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
50494 util/powerpc/ieee1275/misc.c.
f19dbdb7 50495
d9864ee1 50496 * include/grub/gzio.h: New file.
50497 * io/gzio.c: Likewise.
f19dbdb7 50498
d9864ee1 50499 * kern/file.c (grub_file_close): Call grub_device_close only if
50500 FILE->DEVICE is not NULL.
50501
50502 * include/grub/mm.h [!NULL] (NULL): New macro.
50503
50504 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
50505
50506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
50507 (pkgdata_MODULES): Added gzio.mod.
50508 (gzio_mod_SOURCES): New variable.
50509 (gzio_mod_CFLAGS): Likewise.
50510
50511 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
50512 (pkgdata_MODULES): Added gzio.mod.
50513 (gzio_mod_SOURCES): New variable.
50514 (gzio_mod_CFLAGS): Likewise.
50515
50516 * commands/cat.c: Include grub/gzio.h.
50517 (grub_cmd_cat): Use grub_gzfile_open instead of
50518 grub_file_open.
f19dbdb7 50519
d9864ee1 50520 * commands/cmp.c: Include grub/gzio.h.
50521 (grub_cmd_cmp): Use grub_gzfile_open instead of
50522 grub_file_open.
50523
50524 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
50525 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
50526 grub_file_open.
50527 (grub_rescue_cmd_module): Likewise.
50528
fa46f4b5 505292005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50530
50531 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
50532 kern/sparc64/ieee1275/init.c because it contains _start.
50533 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
50534
e9211b5d 505352005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50536
50537 * configure.ac: Add support for sparc64 host with ieee1275
50538 firmware.
50539 * configure: Generated from configure.ac.
50540 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
50541 instead of int.
50542 (grub_ofdisk_read): Likewise.
50543 (grub_ofdisk_open): Use %p to print pointer values, and cast the
50544 pointers as (void *) to remove a warning.
50545 (grub_ofdisk_close): Likewise.
50546 (grub_ofdisk_read): Likewise.
50547 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
50548 returns, so make it return void to remove a warning.
50549 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
50550 Corresponding prototype change.
50551 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
50552 values, and cast the pointers as (void *) to remove a warning.
50553 (grub_mm_dump): Likewise.
50554 * conf/sparc64-ieee1275.mk: New file.
50555 * conf/sparc64-ieee1275.rmk: Likewise.
50556 * include/grub/sparc64/setjmp.h: Likewise.
50557 * include/grub/sparc64/types.h: Likewise.
50558 * include/grub/sparc64/ieee1275/console.h: Likewise.
50559 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
50560 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
50561 * include/grub/sparc64/ieee1275/time.h: Likewise.
50562 * kern/sparc64/cache.c: Likewise.
50563 * kern/sparc64/dl.c: Likewise.
50564 * kern/sparc64/ieee1275/init.c: Likewise.
50565 * kern/sparc64/ieee1275/openfw.c: Likewise.
50566
385c6a92 505672005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50568
50569 * util/console.c (grub_ncurses_putchar): If C is greater than
50570 0x7f, set C to a question mark.
50571 (grub_ncurses_getcharwidth): New function.
50572 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
50573 getcharwidth.
50574
50575 * normal/menu.c (print_entry): Made aware of Unicode. First,
50576 convert TITLE to UCS-4, and predict the cursor position by
50577 grub_getcharwidth.
50578
50579 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
50580 const to SRC.
50581 * kern/misc.c (grub_utf16_to_utf8): Likewise.
50582
16ccb8b1 505832005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50584
50585 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
50586 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50587 grub_strcat.
50588
50589 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
50590 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50591 grub_strcpy and grub_strlen. Take it into account that a space
50592 character is inserted as a delimiter.
50593
6a85ce79 505942005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50595
50596 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 50597 invalid magic in the error.
6a85ce79 50598
50599 * commands/search.c: New file.
f19dbdb7 50600
6a85ce79 50601 * util/grub-emu.c (main): Call grub_search_init and
50602 grub_search_fini.
50603
50604 * kern/rescue.c (grub_rescue_print_disks): Removed.
50605 (grub_rescue_print_devices): New function.
50606 (grub_rescue_cmd_ls): Use grub_device_iterate with
50607 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50608 grub_rescue_print_disks.
50609
50610 * kern/partition.c (grub_partition_iterate): Return the result of
50611 PARTMAP->ITERATE instead of GRUB_ERRNO.
50612
50613 * kern/device.c: Include grub/partition.h.
50614 (grub_device_iterate): New function.
50615
50616 * include/grub/partition.h (grub_partition_iterate): Return int
50617 instead of grub_err_t.
50618
50619 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50620 prototype.
50621 [GRUB_UTIL] (grub_search_fini): Likewise.
50622
50623 * include/grub/device.h (grub_device_iterate): New prototype.
50624
50625 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50626 commands/search.c.
50627 (pkgdata_MODULES): Added search.mod.
50628 (search_mod_SOURCES): New variable.
50629 (search_mod_CFLAGS): Likewise.
50630
50631 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50632 (pkgdata_MODULES): Added search.mod.
50633 (search_mod_SOURCES): New variable.
50634 (search_mod_CFLAGS): Likewise.
50635
50636 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50637 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50638 All callers changed.
50639
50640 * DISTLIST: Added commands/search.c.
50641
ef095434 506422005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50643
50644 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50645 conversion.
50646 (grub_getcharwidth): New function.
50647
50648 * kern/misc.c (grub_utf8_to_ucs4): New function.
50649
50650 * include/grub/term.h (struct grub_term): Added a new member
50651 "getcharwidth".
50652 (grub_getcharwidth): New prototype.
50653
50654 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50655
50656 * term/i386/pc/console.c (map_char): New function. Segregated from
50657 grub_console_putchar.
50658 (grub_console_putchar): Use map_char.
50659 (grub_console_getcharwidth): New function.
50660 (grub_console_term): Specified grub_console_getcharwidth as
50661 getcharwidth.
50662
50663 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50664 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50665
50666 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50667 GRUB_ERRNO.
50668 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50669 on grub_strtoul completely.
50670 (write_char): Declare local variables in the beginning of the
50671 function.
50672 (grub_vesafb_getcharwidth): New function.
50673 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50674 getcharwidth.
50675
1f0a95e4 506762005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50677
50678 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50679 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50680 commands/i386/pc/vbetest.c.
50681
50682 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50683 call grub_vbe_get_controller_info again, because the returned
50684 information is volatile.
50685 (grub_vbe_set_video_mode): Mostly rewritten.
50686 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50687 grub_vbe_status_t correctly.
50688 (grub_vbe_get_video_mode_info): Likewise.
50689 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50690 several if statements.
50691
50692 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50693 * commands/i386/pc/vbeinfo.c: ... this.
50694
50695 * commands/i386/pc/vbe_test.c: Renamed to ...
50696 * commands/i386/pc/vbetest.c: ... this.
50697
50698 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50699 ...
50700 (grub_cmd_vbeinfo): ... this. Save video modes before
50701 iterating. Skip a video mode, if it is not available, not enough
50702 information is given or it is monochrome. Show the memory
50703 model. Leave the interpretation of MODEVAR to grub_strtoul
50704 completely.
50705 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50706 (GRUB_MOD_FINI): Likewise.
50707
50708 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50709 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50710 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50711 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50712 grub_strtoul completely.
50713 (real2pm): Removed.
50714 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50715 (GRUB_MOD_FINI): Likewise.
50716
50717 * normal/misc.c: Include grub/mm.h.
50718
50719 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50720 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50721 (vbe_list_modes_mod_SOURCES): Removed.
50722 (vbe_list_modes_mod_CFLAGS): Likewise.
50723 (vbe_test_mod_SOURCES): Likewise.
50724 (vbe_test_mod_CFLAGS): Likewise.
50725 (vbeinfo_mod_SOURCES): New variable.
50726 (vbeinfo_mod_CFLAGS): Likewise.
50727 (vbetest_mod_SOURCES): Likewise.
50728 (vbetest_mod_CFLAGS): Likewise.
50729
992ffbbe 507302005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
50731
50732 * normal/misc.c: New file.
50733
50734 * DISTLIST: Added normal/misc.c.
f19dbdb7 50735
992ffbbe 50736 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50737 DISK to HOOK. Call HOOK with DISK.
50738 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50739 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50740 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50741
50742 * normal/menu_entry.c (struct screen): Added a new member
50743 "completion_shown".
50744 (completion_buffer): New global variable.
50745 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50746 (store_completion): New function.
50747 (complete): Likewise.
50748 (clear_completions): Likewise.
50749 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50750 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
50751 a tab, call complete.
50752
50753 * normal/completion.c (disk_dev): Removed.
50754 (print_simple_completion): Likewise.
50755 (print_partition_completion): Likewise.
50756 (print_func): New global variable.
50757 (add_completion): Do not take the arguments WHAT or PRINT any
50758 longer. Added a new argument TYPE. Instead of printing directly,
50759 call PRINT_FUNC if not NULL.
50760 All callers changed.
50761 (complete_device): Use a local variable DEV instead of
50762 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
50763 (grub_normal_do_completion): Take a new argument HOOK. Do not
50764 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50765 empty string, return NULL instead.
50766 All callers changed.
50767
50768 * normal/cmdline.c (print_completion): New function.
50769
50770 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50771 to HOOK.
50772 All callers changed.
50773
50774 * kern/disk.c (grub_print_partinfo): Removed.
50775
50776 * include/grub/partition.h (struct grub_partition_map): Add a new
50777 argument DISK into HOOK of ITERATE.
50778 (grub_partition_iterate): Add a new argument DISK to HOOK.
50779
50780 * include/grub/normal.h (enum grub_completion_type): New enum.
50781 (grub_completion_type_t): New type.
50782 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50783 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50784 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50785 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50786 (grub_normal_do_completion): Added a new argument HOOK.
50787 (grub_normal_print_device_info): New prototype.
50788
50789 * include/grub/disk.h (grub_print_partinfo): Removed.
50790
50791 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50792 (normal_mod_SOURCES): Likewise.
50793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50794 (normal_mod_SOURCES): Likewise.
50795
50796 * commands/ls.c (grub_ls_list_disks): Use
50797 grub_normal_print_device_info instead of grub_print_partinfo. Free
50798 PNAME.
50799 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50800 duplicating the code.
50801
0bd41162 508022005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50803
50804 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 50805 follow GCS more precisely.
50806 * commands/i386/pc/vbe_test.c: Likewise.
50807 * include/grub/i386/pc/vbe.h: Likewise.
50808 * term/i386/pc/vesafb.c: Likewise.
50809 * video/i386/pc/vbe.c: Likewise.
0bd41162 50810
6323696a 508112005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50812
50813 * DISTLIST: Added term/i386/pc/vesafb.c
50814 DISTLIST: Added video/i386/pc/vbe.c
50815 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50816 DISTLIST: Added commands/i386/pc/vbe_test.c.
50817 * commands/i386/pc/vbe_list_modes.c: New file.
50818 * commands/i386/pc/vbe_test.c: Likewise.
50819 * term/i386/pc/vesafb.c: Likewise.
50820 * video/i386/pc/vbe.c: Likewise.
50821 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50822 (grub_vbe_probe) Added prototype.
50823 (grub_vbe_set_video_mode) Likewise.
50824 (grub_vbe_get_video_mode) Likewise.
50825 (grub_vbe_get_video_mode_info) Likewise.
50826 (grub_vbe_set_pixel_rgb) Likewise.
50827 (grub_vbe_set_pixel_index) Likewise.
50828 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50829 (pkgdata_MODULES): Added vesafb.mod.
50830 (pkgdata_MODULES): Added vbe_list_modes.mod.
50831 (pkgdata_MODULES): Added vbe_test.mod.
50832 (vbe_mod_SOURCES): Added.
50833 (vbe_mod_CFLAGS): Likewise.
50834 (vesafb_mod_SOURCES): Likewise.
50835 (vesafb_mod_CFLAGS): Likewise.
50836 (vbe_list_modes_mod_SOURCES): Likewise.
50837 (vbe_list_modes_mod_CFLAGS): Likewise.
50838 (vbe_test_mod_SOURCES): Likewise.
50839 (vbe_test_mod_CFLAGS): Likewise.
50840
0a74e62f 508412005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50842
0a74e62f 50843 * normal/command.c (grub_command_execute): If INTERACTIVE is
50844 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50845 CMDLINE. Disable the pager if INTERACTIVE is true.
50846 All callers are changed.
50847
50848 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50849 before reading a config file.
50850 * normal/main.c (read_config_file): Even if a command is not
50851 found, register it if it is within an entry.
50852
50853 * util/grub-emu.c: Include sys/types.h and unistd.h.
50854 (options): Added --hold.
50855 (struct arguments): Added a new member "hold".
50856 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50857 missing.
50858 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50859 cleared by a debugger, if it is not zero.
50860
50861 * include/grub/normal.h (grub_command_execute): Add an argument
50862 INTERACTIVE.
50863
e51f85ae 508642005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50865
50866 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50867
e9c6f39b 508682005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50869
50870 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50871 program with another one, because the old one didn't detect a bug
50872 in gcc-3.4. Always use regparm 2, because the new test is still
50873 not enough for gcc-4.0. Someone must investigate a simple test
50874 case which detects a bug in gcc-4.0.
50875
8de3495c 508762005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50877
50878 * DISTLIST: Added normal/completion.c.
50879
50880 * normal/completion.c: New file.
f19dbdb7 50881
8de3495c 50882 * term/i386/pc/console.c (grub_console_getwh): New function.
50883 (grub_console_term): Assign grub_console_getwh to getwh.
50884
50885 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50886 function is defined in normal/completion.c as
50887 grub_normal_do_completion.
50888 (grub_cmdline_get): Use grub_normal_do_completion instead of
50889 grub_tab_complete.
50890
50891 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50892 returns non-zero, otherwise return 0.
50893 (grub_partition_iterate): First, probe the partition map. Then,
50894 call ITERATE only for this partition map.
50895
50896 * kern/misc.c (grub_strncmp): Rewritten.
50897
50898 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50899 returns non-zero. Otherwise return 0.
50900
50901 * include/grub/partition.h (grub_partition_map_iterate): Return
50902 int instead of void.
50903
50904 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50905
50906 * include/grub/misc.h (grub_strncmp): Change the type of N to
50907 grub_size_t.
50908
50909 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50910 of void.
50911
50912 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50913 unsigned explicitly before comparing it with I.
8de3495c 50914
50915 * kern/main.c (grub_env_write_root): Add the attribute unused into
50916 VAR.
50917
50918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50919 normal/completion.c.
50920 (normal_mod_SOURCES): Likewise.
50921 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50922 (normal_mod_SOURCES): Likewise.
50923
50924 * normal/command.c (grub_iterate_commands): If ITERATE returns
50925 non-zero, return one immediately.
50926
e85e144b 509272005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50928
50929 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50930 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50931 descriptions.
50932 (grub_vbe_get_controller_info): New function.
50933 (grub_vbe_get_mode_info): Likewise.
50934 (grub_vbe_set_mode): Likewise.
50935 (grub_vbe_get_mode): Likewise.
50936 (grub_vbe_set_memory_window): Likewise.
50937 (grub_vbe_get_memory_window): Likewise.
50938 (grub_vbe_set_scanline_length): Likewise.
50939 (grub_vbe_get_scanline_length): Likewise.
50940 (grub_vbe_set_display_start): Likewise.
50941 (grub_vbe_get_display_start): Likewise.
50942 (grub_vbe_set_palette_data): Likewise.
50943 * include/grub/i386/pc/vbe.h: New file.
50944
c46153d2 509452005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50946
50947 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50948 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50949 * DISTLIST: Likewise.
50950 * kern/ieee1275/of.c: Moved to ...
50951 * kern/ieee1275/ieee1275.c: ... here.
50952
0cb90c45 509532005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50954
50955 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50956 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50957 Pass 0 as `end' parameter to grub_strtoul().
50958
a19fb360 509592005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50960
50961 * include/grub/powerpc/ieee1275/console.h: Do not include
50962 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50963 ifdef.
50964 (grub_console_cur_color): Remove i386-specific prototype.
50965 (grub_console_real_putchar): Likewise.
50966 (grub_console_checkkey): Likewise.
50967 (grub_console_getkey): Likewise.
50968 (grub_console_getxy): Likewise.
50969 (grub_console_gotoxy): Likewise.
50970 (grub_console_cls): Likewise.
50971 (grub_console_setcursor): Likewise.
50972 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50973 Include <grub/machine/console.h>.
50974 * term/ieee1275/ofconsole.c: Likewise.
50975
4ac9bd04 509762005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50977
50978 * Makefile.in (LIBLZO): New variable.
50979
50980 * configure.ac: Check for LZO version 2.
50981
50982 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50983 lzo/lzo1x.h instead of lzo1x.h.
50984
50985 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50986 of -llzo.
50987
50988 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50989 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50990
50991 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50992 copying the data from PARTITION to P.
50993
f4917dfd 509942005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50995
50996 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50997 negative, unload the module.
50998
50999 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
51000 map is "pc_partition_map" but not "pc".
51001 (usage): Fix the description. The options are --boot-image and
51002 --core-image but not --boot-file or --core-file.
51003 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
51004 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
51005 DEFAULT_DIRECTORY.
51006
51007 * util/i386/pc/grub-install.in: Do not specify --boot-file or
51008 --core-file. Specify INSTALL_DEVICE as an argument.
51009
51010 * util/console.c: Include config.h.
51011 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
51012 [HAVE_NCURSES_H]: Include ncurses.h.
51013 [HAVE_CURSES_H]: Include curses.h.
51014 [!A_NORMAL] (A_NORMAL): Defined as zero.
51015 [!A_STANDOUT] (A_STANDOUT): Likewise.
51016
51017 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
51018 -lncurses.
51019 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
51020
51021 * configure.ac: Check for curses libraries and headers.
51022
51023 * Makefile.in (LIBCURSES): New variable.
51024
51025 * genmk.rb (Script::rule): Set the executable bits.
51026
51027 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
51028 name of the PC partition map is "pc_partition_map" but not "pc".
51029
0e143073 510302005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51031
51032 * util/i386/pc/grub-install.in (grub_probefs): New variable.
51033 (modules): Likewise.
51034 (usage): Added descriptions for --modules and --grub-probefs.
51035 Handle --modules and --grub-probefs. Save the arguments in MODULES
51036 and GRUB_PROBEFS, respectively.
51037 Auto-detect a filesystem module against GRUBDIR. If the result is
51038 empty and modules are not specified explicitly, abort the
51039 installation. Add the result to MODULES.
51040
51041 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
51042 disk/powerpc/ieee1275/ofdisk.c,
51043 include/grub/powerpc/ieee1275/init.h and
51044 term/powerpc/ieee1275/ofconsole.c.
51045 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
51046 term/ieee1275/ofconsole.c.
51047
51048 * include/grub/powerpc/ieee1275/console.h: Resurrected.
51049
51050 * COPYING: Upgraded to the latest version. Only the address of the
51051 FSF office has changed.
f19dbdb7 51052
efd6e6d5 510532005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51054
51055 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51056 kern/ieee1275.c with kern/ieee1275/of.c.
51057
51058 * kern/ieee1275.c: Moved to ...
51059 * kern/ieee1275/of.c: ... here.
51060
8ceafda2 510612005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
51062
51063 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 51064 readability.
8ceafda2 51065
51066 * config.guess: Updated to the latest version from gnulib.
51067 * config.sub: Likewise.
51068 * install.sh: Likewise.
51069 * mkinstalldirs: Likewise.
51070
51071 * include/grub/console.h: Removed. This file is arch-specific. Do
51072 not put this in include/grub.
51073
51074 * include/grub/i386/pc/console.h: Resurrected.
51075
51076 * util/console.c: Include grub/machine/console.h instead of
51077 grub/console.h.
51078 * util/grub-emu.c: Likewise.
51079
267f6cd9 510802005-08-04 Marco Gerards <metgerards@student.han.nl>
51081
51082 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
51083 hardcoded value.
f19dbdb7 51084
267f6cd9 51085 From Vincent Pelletier <subdino2004@yahoo.fr>
51086 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
51087 Redefined to use grub_getwh.
51088 (grub_term): New member named getwh.
51089 (grub_getwh): New prototype.
51090 * kern/term.c (grub_getwh): New function.
51091 * term/i386/pc/console.c (grub_console_getwh): New function.
51092 (grub_console_term): New member `getwh'.
51093 * term/i386/pc/vga.c (grub_vga_getwh): New function.
51094 (grub_vga_term): New member `getwh'.
0b5abe02 51095 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 51096 grub_ssize_t.
51097 (grub_ofconsole_getw): New function.
51098 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
51099 (grub_ofconsole_term): New field named getwh and new initial
51100 value.
51101
3be7266d 511022005-08-03 Hollis Blanchard <hollis@penguinppc.org>
51103
51104 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
51105 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
51106 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
51107 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
51108 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
51109 of <grub/machine/ieee1275.h>.
51110 * commands/ieee1275/reboot.c: Likewise.
51111 * boot/powerpc/ieee1275/ieee1275.c: Move ...
51112 * kern/ieee1275.c: ... to here. All users updated. Change all
51113 parameter structs to use new type `grub_ieee1275_cell_t'.
51114 * term/powerpc/ieee1275/ofconsole.c: Move ...
51115 * term/ieee1275/ofconsole.c: ... to here. All users updated.
51116 * disk/powerpc/ieee1275/ofdisk.c: Move ...
51117 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
51118 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
51119 to return int.
51120 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
51121 Remove unused prototypes. All users updated.
51122 * include/grub/powerpc/ieee1275/console.h: Removed.
51123 * include/grub/powerpc/ieee1275/ieee1275.h: Define
51124 `grub_ieee1275_cell_t'.
51125 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
51126 Cast comparisons with -1 to the correct type.
51127 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
51128 type to match `grub_ieee1275_entry_fn'.
51129
8b5f3938 511302005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
51131
51132 * DISTLIST: Added util/i386/pc/grub-probefs.c.
51133
51134 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
51135 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
51136 partmap/sun.c.
51137 (grub_probefs_SOURCES): New variable.
51138
51139 * util/i386/pc/grub-probefs.c: New file.
51140
51141 * util/i386/pc/grub-setup.c (main): Call
51142 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
51143 grub_hfs_init and grub_jfs_init to initialize the system. Call
51144 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
51145 grub_pc_partition_map_fini to finish the system.
51146
ea409713 511472005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
51148
51149 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
51150 function.
51151 (grub_multiboot_load_elf32): Likewise.
51152 (grub_multiboot_is_elf64): Likewise.
51153 (grub_multiboot_load_elf64): Likewise.
51154 (grub_multiboot_load_elf): Likewise.
51155 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
51156 an ELF32 or ELF64 file.
51157 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
51158
51159 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
51160 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
51161 NULL before calling FS->LABEL.
51162 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
51163 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
51164 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
51165 before calling FS->LABEL.
51166
141a288b 511672005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
51168
51169 * util/i386/pc/grub-install.in (datadir): New variable.
51170 (libdir): Removed.
51171 (pkgdatadir): New variable.
51172 (pkglibdir): Removed.
51173
0d5f8a54 511742005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
51175
51176 * DISTLIST: Added util/i386/pc/grub-install.in.
51177
51178 * util/i386/pc/grub-install.in: New file.
51179
51180 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
51181 (grub_install_SOURCES): Likewise.
51182
51183 * genmk.rb: Added support for scripts.
51184 (Script): New class.
51185 (scripts): New variable.
51186
51187 * Makefile.in (install-local): Install sbin_SCRIPTS by
51188 INSTALL_SCRIPT.
51189 (uninstall): Remove sbin_SCRIPTS.
51190
51191 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
51192 device, try to get a GRUB device by
51193 grub_util_biosdisk_get_grub_dev.
51194 Free DEST_DEV.
51195
51196 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
51197 description for --device-map.
51198
5f968e1e 511992005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51200
51201 Change the semantics of variable hooks. They now return strings
51202 instead of error values.
f19dbdb7 51203
5f968e1e 51204 * util/i386/pc/grub-setup.c: Include grub/env.h.
51205 (setup): Use grub_device_set_root instead of grub_env_set.
51206
51207 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
51208 grub_env_get instead of grub_device_set_root and
51209 grub_device_get_root, respectively.
51210
51211 * kern/main.c (grub_env_write_root): New function.
51212 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
51213 grub_env_set instead of grub_device_set_root.
51214
51215 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
51216 many variables.
51217 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
51218 rather than calling ENV->WRITE_HOOK afterwards.
51219 (grub_env_get): Return the result of ENV->READ_HOOK rather than
51220 passing a pointer of a pointer.
51221 (grub_register_variable_hook): Change the types of "read_hook" and
51222 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
51223 respectively.
51224 Allocate the default empty string on the heap, because this string
51225 may be freed later.
51226
51227 * kern/device.c: Include grub/env.h.
51228 (grub_device_set_root): Removed.
51229 (grub_device_get_root): Likewise.
51230 (grub_device_open): Use grub_env_get instead of
51231 grub_device_get_root.
51232
51233 * include/grub/env.h (grub_env_read_hook_t): New type.
51234 (grub_env_write_hook_t): Likewise.
51235 (grub_env_var): Change the types of "read_hook" and "write_hook"
51236 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
51237 (grub_register_variable_hook): Likewise.
51238
51239 * include/grub/device.h (grub_device_set_root): Removed.
51240 (grub_device_set_root): Likewise.
51241
51242 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
51243 make sure that DIRNAME terminates with '/', so that
51244 grub_fat_find_dir will fail if PATH is not a directory.
51245
51246 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
51247 from DIRNAME.
51248 Use the qualifier auto for print_files and print_files_long.
51249 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
51250 as a regular file.
51251 Put a newline only if there is no error.
51252 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
51253 used.
51254
896f0afd 512552005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51256
51257 * kern/partition.c (grub_partition_probe): Initialize PART to
51258 NULL. Otherwise, when no partition map is registered, this returns
51259 a garbage.
51260
b28b81b2 512612005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
51262
51263 * partmap/apple.c (apple_partition_map_iterate): Check if POS
51264 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
51265 valid.
51266
5f3607e0 512672005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
51268
51269 * commands/ls.c (grub_ls_list_disks): Print the filesystem
51270 information on each device, if it does not have partitions. Print
51271 "Device" instead of "Disk", because this function is not specific
51272 to disk devices.
51273
51274 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
51275 static to ensure that it is put on the memory rather than a
51276 register.
51277
502c87e8 512782005-07-17 Yoshinori Okuji <okuji@enbug.org>
51279
51280 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
51281 (grub_cat_init): Likewise.
51282 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
51283 (options): Likewise.
51284 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
51285 (grub_configfile_init): Likewise.
51286 * font/manager.c (GRUB_MOD_INIT): Likewise.
51287 * commands/help.c (GRUB_MOD_INIT): Likewise.
51288 (grub_help_init): Likewise.
51289 * normal/command.c (grub_command_init): Likewise.
51290 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
51291 * disk/loopback.c (grub_loop_init): Likewise.
51292 (GRUB_MOD_INIT): Likewise.
51293 * commands/ls.c (grub_ls_init): Likewise.
51294 (GRUB_MOD_INIT): Likewise.
51295 (options): Likewise.
51296 * commands/boot.c (grub_boot_init): Likewise.
51297 (GRUB_MOD_INIT): Likewise.
51298 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
51299 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
51300 (GRUB_MOD_INIT): Likewise.
51301 * commands/cmp.c (grub_cmp_init): Likewise.
51302 (GRUB_MOD_INIT): Likewise.
51303
51304 * normal/arg.c: Use <> instead of "" to include header files.
51305 (SHORT_ARG_HELP): New macro.
51306 (SHORT_ARG_USAGE): Likewise.
51307 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
51308 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
51309 descriptions.
51310 (find_short): Check if C is 'h' or 'u' explicitly.
51311 (grub_arg_show_help): Use space characters instead of tabs. Treat
51312 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
51313 are shown with --help and --usage only if they are not used for
51314 the command itself.
51315 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
51316 'h' and 'u'.
51317
51318 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
51319 const into "longarg". Change the type of "shortarg" to int.
51320
f806d18e 513212005-07-17 Yoshinori Okuji <okuji@enbug.org>
51322
51323 * boot/i386/pc/boot.S (boot_drive_check): New label.
51324
51325 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
51326 macro.
51327
51328 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
51329 which do not pass a boot drive correctly. Copied from GRUB Legacy.
51330
e293232b 513312005-07-17 Yoshinori Okuji <okuji@enbug.org>
51332
51333 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
51334 When turning off Gate A20, skip the check and return immediately,
51335 because this is not fatal usually.
51336
ebedfd00 513372005-07-17 Yoshinori Okuji <okuji@enbug.org>
51338
51339 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
51340 be 0x7C00 instead of 0x8000.
51341
51342 * boot/i386/pc/pxeboot.S: Rewritten.
51343
51344 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
51345 EXT_C.
51346 (gate_a20_check_state): Read a byte from 0x108000. Invert the
51347 result.
51348
654fc59f 513492005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
51350
51351 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
51352 robustness. This routine now supports a BIOS call and System
51353 Control Port A to modify the gate A20.
51354
51355 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51356 Increased to 0x440.
51357
09f9923f 513582005-07-12 Hollis Blanchard <hollis@penguinppc.org>
51359
51360 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
51361 device path and resulting ihandle.
51362 (grub_ofdisk_close): dprintf the ihandle being closed.
51363 (grub_ofdisk_read): dprintf function parameters.
51364 * kern/mm.c (grub_mm_init_region): Likewise.
51365 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
51366 (grub_linux_boot): dprintf the Linux entry point, initrd address and
51367 size, and boot arguments.
51368 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
51369 before loading into memory.
51370 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
51371 before loading into memory.
51372
7ef504d8 513732005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
51374
51375 * kern/mm.c: Added much documentation.
51376 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
51377 8, set to 5 instead of 8.
51378
e0f050c2 513792005-07-10 Yoshinori Okuji <okuji@enbug.org>
51380
51381 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
51382
51383 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
51384 (grub_mkdevicemap_SOURCES): New variable.
51385
51386 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
51387 lib/device.c of GRUB Legacy.
51388
7224189a 513892005-07-10 Yoshinori Okuji <okuji@enbug.org>
51390
51391 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
51392 instead of PATH is NULL.
51393
68c864eb 513942005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
51395
51396 * commands/cmp.c (BUFFER_SIZE): New macro.
51397 (grub_cmd_cmp): Close the right file at the right time. Compare
51398 only data just read. Don't report files of different size as
51399 identical. Dynamically allocate buffers. Move variable
51400 declarations at the beginning of function.
51401
e6f3e614 514022005-07-09 Yoshinori Okuji <okuji@enbug.org>
51403
51404 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
51405 reverse.
51406
f8f1559a 514072004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
51408
51409 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
51410 when backspace is pressed at beginning of line.
51411
39c9d41d 514122005-07-03 Yoshinori Okuji <okuji@enbug.org>
51413
51414 * DISTLIST: Added genfslist.sh.
51415
51416 * normal/main.c (fs_module_list): New variable.
51417 (autoload_fs_module): New function.
51418 (read_fs_list): Likewise.
51419 (grub_normal_execute): Call read_fs_list.
51420
51421 * kern/fs.c (grub_fs_autoload_hook): New variable.
51422 (grub_fs_probe): Added support for auto-loading.
51423
51424 * include/grub/normal.h (struct grub_fs_module_list): New struct.
51425 (grub_fs_module_list_t): New type.
51426
51427 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
51428 (grub_fs_autoload_hook): New prototype.
51429
51430 * genfslist.sh: New file.
f19dbdb7 51431
39c9d41d 51432 * genmk.rb: Added a rule to generate a filesystem list.
51433
121c1d83 514342005-06-30 Marco Gerards <metgerards@student.han.nl>
51435
51436 * configure.ac: Fix the test for cross-compiling.
51437
51438 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
51439 define GRUB_UTIL anymore.
51440
51441 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
51442 so this function works on other systems than just big endian.
51443 (load_modules): Likewise.
51444 (add_segments): Likewise.
51445
e75d76e1 514462005-06-23 Hollis Blanchard <hollis@penguinppc.org>
51447
51448 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
51449 contains `l' modifier, get a long from va_arg().
51450
50b5a0a7 514512005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
51452
51453 * kern/mm.c (grub_free): If the next free block which is being
51454 merged is the first free block, set the first block to the block
51455 being freed.
51456 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
51457
89371b20 514582005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51459
51460 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
51461 `grub_ieee1275_chosen'.
51462
168d6e58 514632005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51464
51465 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
51466 (grub_ieee1275_chosen): New variable.
51467 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
51468 `chosen'.
51469 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
51470 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51471 Rename first argument to `phandle' for consistency.
51472 (grub_ieee1275_get_property_length): Likewise.
51473 (grub_ieee1275_next_property): Likewise. Change type of first argument
51474 to grub_ieee1275_phandle_t.
51475 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
51476 Move export next to declaration.
51477 (grub_ieee1275_chosen): New variable.
51478 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
51479 Correct cosmetic typo.
51480 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
51481 `grub_ieee1275_chosen'.
51482 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
51483 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
51484 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
51485 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
51486 `grub_ieee1275_chosen'.
51487
ca5baa3f 514882005-05-10 Hollis Blanchard <hollis@penguinppc.org>
51489
51490 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
51491 /chosen/bootargs.
51492 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
51493 /chosen/bootargs as "variable=value" pairs.
51494
708b345f 514952005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
51496
51497 * include/grub/misc.h (grub_dprintf): New macro.
51498 (grub_real_dprintf): New prototype.
51499 (grub_strword): Likewise.
51500 (grub_iswordseparator): Likewise.
51501 * kern/misc.c (grub_real_dprintf): New function.
51502 (grub_strword): Likewise.
51503 (grub_iswordseparator): Likewise.
51504
f4c5e67c 515052005-04-30 Hollis Blanchard <hollis@penguinppc.org>
51506
51507 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
51508 (roundup): Remove macro.
51509 (grub_ieee1275_flags): Make static.
51510 (grub_ieee1275_realmode): Remove.
51511 (grub_ieee1275_test_flag): New function.
51512 (grub_ieee1275_set_flag): Likewise.
51513 (find_options): Rename to `grub_ieee1275_find_options'; update
51514 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
51515 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
51516 (cmain): New prototype.
51517 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
51518 `grub_ieee1275_flags' directly.
51519 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
51520 machine/biosdisk.h.
51521 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
51522 Don't include grub/machine/init.h.
51523 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
51524 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51525 Remove prototype.
51526 (grub_ieee1275_realmode): Likewise.
51527 (grub_ieee1275_flag): New enum.
51528 (grub_ieee1275_test_flag): New prototype.
51529 (grub_ieee1275_set_flag): New prototype.
51530 * include/grub/powerpc/ieee1275/init.h: Remove file.
51531 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
51532 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
51533 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
51534 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
51535 comment.
51536 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
51537 `grub_ieee1275_test_flag'.
51538 (grub_ieee1275_encode_devname): Likewise.
51539
ed16607e 515402005-04-21 Hollis Blanchard <hollis@penguinppc.org>
51541
51542 * include/grub/powerpc/ieee1275/ieee1275.h
51543 (grub_ieee1275_encode_devname): New prototype.
51544 (grub_ieee1275_get_filename): Likewise.
51545 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
51546 function.
51547 (grub_set_prefix): Likewise.
51548 (grub_machine_init): Call grub_set_prefix.
51549 * kern/powerpc/ieee1275/openfw.c: Fix typos.
51550 (grub_parse_type): New enum.
51551 (grub_ieee1275_get_devargs): New function.
51552 (grub_ieee1275_get_devname): Likewise.
51553 (grub_ieee1275_parse_args): Likewise.
51554 (grub_ieee1275_get_filename): Likewise.
51555 (grub_ieee1275_encode_devname): Likewise.
51556
be369920 515572005-03-30 Marco Gerards <metgerards@student.han.nl>
51558
51559 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
51560 `grub_loader_unset'.
51561
a5ce3a4a 515622005-03-26 Hollis Blanchard <hollis@penguinppc.org>
51563
51564 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
51565 instead of grub_ieee1275_interpret.
51566 (grub_halt_init): New function.
51567 (grub_halt_fini): Likewise.
51568 (GRUB_MOD_INIT): Correct message grammar.
51569 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
51570 instead of grub_ieee1275_interpret.
51571 (grub_reboot_init): New function.
51572 (grub_reboot_fini): Likewise.
51573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
51574 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
51575 util/i386/pc/misc.c with commands/ieee1275/halt.c,
51576 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
51577 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
51578 function.
51579 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
51580 Add prototype.
51581 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
51582 prototype.
51583 (grub_halt): Likewise.
51584 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
51585 (cmain): Remove __attribute__((unused)).
51586 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
51587 (grub_heap_len): Likewise.
51588 (grub_machine_fini): New function.
51589 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
51590 (grub_halt): Likewise.
51591 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
51592 function.
51593 * util/powerpc/ieee1275/misc.c: New file.
51594
0058f771 515952005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51596
51597 * DISTLIST: New file.
51598 * gendistlist.sh: Likewise.
f19dbdb7 51599
0058f771 51600 * Makefile.in (COMMON_DISTFILES): Removed.
51601 (BOOT_DISTFILES): Likewise.
51602 (CONF_DISTFILES): Likewise.
51603 (DISK_DISTFILES): Likewise.
51604 (FS_DISTFILES): Likewise.
51605 (INCLUDE_DISTFILES): Likewise.
51606 (KERN_DISTFILES): Likewise.
51607 (LOADER_DISTFILES): Likewise.
51608 (TERM_DISTFILES): Likewise.
51609 (UTIL_DISTFILES): Likewise.
51610 (DISTFILES): Likewise.
51611 (uninstall): Uninstall files in $(pkgdata_DATA).
51612 (DISTLIST): New target.
51613 (distdir): Use the contents of the file DISTLIST to get a list of
51614 distributed files.
51615
46b3b8a5 516162005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51617
51618 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51619 descriptor. This is ported from GRUB Legacy.
51620
51621 * gencmdlist.sh: Added an extra semicolon to make it work with
51622 old sed versions. Reported by Robert Bihlmeyer
51623 <robbe@orcus.priv.at>.
51624
5822ff87 516252005-03-08 Yoshinori Okuji <okuji@enbug.org>
51626
51627 Automatic loading of commands is supported.
f19dbdb7 51628
5822ff87 51629 * normal/main.c (read_command_list): New function.
51630 (grub_normal_execute): Call read_command_list.
51631
51632 * normal/command.c (grub_register_command): Return zero or CMD.
51633 Allocate CMD->NAME from the heap.
51634 Initialize CMD->MODULE_NAME to zero.
51635 Find the same name as well. If the same command is found and it is
51636 a dummy command, overwrite members. If it is not a dummy command,
51637 return zero.
51638 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51639 (grub_command_find): If a dummy command is found, load a module
51640 and retry to find a command only once.
51641
51642 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51643 make sure that each command is loaded.
51644
51645 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51646 macro.
51647 (struct grub_command): Remove const from the member `name'.
51648 Add a new member `module_name'.
51649 (grub_register_command): Return grub_command_t.
51650
51651 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51652 sure that each command is loaded.
51653
51654 * genmk.rb (PModule::rule): Specify a module name without the
51655 suffix ".mod" to gencmdlist.sh.
51656
7b1f4b57 516572005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51658
51659 * gencmdlist.sh: New file.
f19dbdb7 51660
7b1f4b57 51661 * genmk.rb (PModule::rule): Generate a rule for a command list.
51662 Clean command.lst.
51663 Generate command.lst from $(COMMANDFILES).
51664
51665 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51666 (DATA): Added $(pkgdata_DATA).
51667 (install-local): Install files in $(pkgdata_DATA).
51668
062aaf39 516692005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51670
51671 * term/i386/pc/vga.c (debug_command): Removed.
51672 (GRUB_MOD_INIT): Do not register the command "debug".
51673
51674 From Hollis Blanchard:
51675 * commands/configfile.c: New file.
51676 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51677 commands/configfile.c.
51678 (pkgdata_MODULES): Added configfile.mod.
51679 (configfile_mod_SOURCES): New variable.
51680 (configfile_mod_CFLAGS): Likewise.
51681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51682 commands/configfile.c.
51683 (pkgdata_MODULES): Added configfile.mod.
51684 (configfile_mod_SOURCES): New variable.
51685 (configfile_mod_CFLAGS): Likewise.
51686 * util/grub-emu.c (main): Call grub_configfile_init and
51687 grub_configfile_fini.
51688 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51689 prototype.
51690 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 51691
cee01aa6 516922005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51693
51694 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51695 address.
51696
51697 * commands/help.c (grub_cmd_help): Do not print newlines after
51698 the last command in print_command_help.
51699
93f3a1d8 517002005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51701
51702 * commands/default.h: New file.
51703 * commands/timeout.h: Likewise.
51704 * normal/context.c: Likewise.
f19dbdb7 51705
93f3a1d8 51706 * util/misc.c: Do not include sys/times.h.
51707 Include sys/time.h and grub/machine/time.h.
51708 (grub_get_rtc): Rewritten with gettimeofday.
51709
51710 * util/grub-emu.c (main): Call grub_default_init and
51711 grub_timeout_init before grub_normal_init, and call
51712 grub_timeout_fini and grub_default_fini after grub_main.
51713
51714 * util/console.c (grub_ncurses_checkkey): Return the read
51715 character or -1.
51716
51717 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51718 timeouts.
51719
51720 * normal/main.c (read_config_file): Push MENU. If this fails,
51721 print an error and wait for a user input.
51722 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
51723 If a menu is empty or an error occurs, pop MENU.
51724 (grub_normal_execute): Pop and free MENU after grub_menu_run
51725 returns.
51726
51727 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
51728
51729 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
51730 include time.h.
51731 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51732 without GRUB_UTIL.
51733 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51734 time.h.
51735 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51736 without GRUB_UTIL.
51737
51738 * include/grub/normal.h (struct grub_menu_list): New struct.
51739 (grub_menu_list_t): New type.
51740 (struct grub_context): New struct.
51741 (grub_context_t): New type.
51742 (grub_register_command): Got rid of EXPORT_FUNC.
51743 (grub_unregister_command): Likewise.
51744 (grub_context_get): New prototype.
51745 (grub_context_get_current_menu): Likewise.
51746 (grub_context_push_menu): Likewise.
51747 (grub_context_pop_menu): Likewise.
51748 [GRUB_UTIL] (grub_default_init): Likewise.
51749 [GRUB_UTIL] (grub_default_fini): Likewise.
51750 [GRUB_UTIL] (grub_timeout_init): Likewise.
51751 [GRUB_UTIL] (grub_timeout_fini): Likewise.
51752
51753 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
51754 commands/timeout.c and normal/context.c.
51755 (pkgdata_MODULES): Added default.mod and timeout.mod.
51756 (normal_mod_SOURCES): Added normal/context.c.
51757 (default_mod_SOURCES): New variable.
51758 (default_mod_CFLAGS): Likewise.
51759 (timeout_mod_SOURCES): Likewise.
51760 (timeout_mod_CFLAGS): Likewise.
51761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
51762 conf/i386-pc.rmk.
51763 (pkgdata_MODULES): Added default.mod and timeout.mod.
51764 (normal_mod_SOURCES): Added normal/context.c.
51765 (default_mod_SOURCES): New variable.
51766 (default_mod_CFLAGS): Likewise.
51767 (timeout_mod_SOURCES): Likewise.
51768 (timeout_mod_CFLAGS): Likewise.
51769
51770 * Makefile.in (all-local): Added $(MKFILES).
51771
4ed2e1dd 517722005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51773
51774 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51775 (grub_emu_SOURCES): Likewise.
51776 (pkgdata_MODULES): Add `sun.mod'.
51777 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51778 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51779 `partmap/sun.c'.
51780 (pkgdata_MODULES): Add `sun.mod'.
51781 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51782 * include/grub/partition.h (grub_sun_partition_map_init): New
51783 prototype.
51784 (grub_sun_partition_map_fini): Likewise.
51785 * partmap/sun.c: New file.
51786 * util/grub-emu.c (main): Initialize and de-initialize the sun
51787 partitionmap support.
51788
4d4e372e 517892005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51790
51791 This implements an Emacs-like menu entry editor.
f19dbdb7 51792
4d4e372e 51793 * normal/menu_entry.c: New file.
f19dbdb7 51794
4d4e372e 51795 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51796 characters to ASCII.
51797 (saved_char): New variable.
51798 (grub_ncurses_checkkey): Rewritten completely.
51799 (grub_ncurses_getkey): Likewise.
51800 (grub_ncurses_init): Call raw instead of cbreak.
51801
51802 * normal/menu.c (print_entry): Do not put a space.
51803 (init_page): Renamed to ...
51804 (grub_menu_init_page): ... this. All callers changed.
51805 (edit_menu_entry): Removed.
51806 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51807
51808 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51809
51810 * kern/misc.c (grub_vprintf): Call grub_refresh.
51811
51812 * normal/menu.c (DISP_LEFT): Renamed to ...
51813 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51814 * normal/menu.c (DISP_UP): Renamed to ...
51815 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51816 * normal/menu.c (DISP_RIGHT): Renamed to ...
51817 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51818 * normal/menu.c (DISP_DOWN): Renamed to ...
51819 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51820 * normal/menu.c (DISP_HLINE): Renamed to ...
51821 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51822 * normal/menu.c (DISP_VLINE): Renamed to ...
51823 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51824 * normal/menu.c (DISP_UL): Renamed to ...
51825 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51826 * normal/menu.c (DISP_UR): Renamed to ...
51827 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51828 * normal/menu.c (DISP_LL): Renamed to ...
51829 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51830 * normal/menu.c (DISP_LR): Renamed to ...
51831 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51832 * normal/menu.c (TERM_WIDTH): Renamed to ...
51833 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51834 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51835 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51836 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51837 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51838 * normal/menu.c (TERM_MARGIN): Renamed to ...
51839 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51840 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51841 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51842 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51843 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51844 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51845 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51846 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51847 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51848 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51849 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51850 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51851 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51852 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51853 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51854 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51855 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51856 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51857 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51858 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51859 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51860 All callers changed.
51861
51862 * include/grub/normal.h: New prototype.
51863
51864 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51865 normal/menu_entry.c.
51866 (normal_mod_SOURCES): Likewise.
51867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51868 (normal_mod_SOURCES): Likewise.
51869
e6b92c8a 518702005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51871
51872 * include/grub/normal.h (grub_halt_init): New prototype.
51873 (grub_halt_fini): Likewise.
51874 (grub_reboot_init): Likewise.
51875 (grub_reboot_fini): Likewise.
51876
51877 * util/grub-emu.c: Include signal.h.
51878 (main_env): New global variable.
51879 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51880 catch C-c.
51881 (grub_machine_fini): New function.
51882 (main): Call grub_halt_init and grub_reboot_init before
51883 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51884 Call setjmp with MAIN_ENV to go back afterwards.
51885 Call grub_machine_fini right before return.
51886
51887 * include/grub/util/misc.h: Include setjmp.h.
51888 (main_env): New prototype.
51889
51890 * include/grub/kernel.h (grub_machine_fini): New prototype.
51891 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51892 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51893
51894 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51895 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51896 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51897
e6b92c8a 51898 * util/i386/pc/misc.c: New file.
f19dbdb7 51899
e6b92c8a 51900 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51901 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51902 commands/i386/pc/reboot.c.
51903
c642636f 519042005-02-14 Guillem Jover <guillem@hadrons.org>
51905
51906 * include/grub/dl.h (grub_dl_check_header): New prototype.
51907 (grub_arch_dl_check_header): Change return type to grub_err_t,
51908 remove size parameter and export function. Update all callers.
51909 * kern/dl.c (grub_dl_check_header): New function.
51910 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51911 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51912 are inside the core.
51913 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51914 independent ELF header checks.
51915 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51916 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51917 `grub_dl_check_header' instead of explicit checks. Check for the
51918 ELF type.
51919 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51920 `grub_dl_check_header' instead of explicit checks. Remove arch
51921 specific ELF header checks.
51922
e6b92c8a 51923 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51924 argument SIZE.
51925
5eabe94b 519262005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51927
51928 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51929 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51930
1b14a681 519312005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51932
51933 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 51934 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 51935 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 51936 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 51937 * partmap/amiga.c (amiga_partition_map_iterate): Return
51938 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51939 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51940
aca108aa 519412005-02-01 Guillem Jover <guillem@hadrons.org>
51942
51943 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51944 help info.
51945
c9f9c556 519462005-01-31 Marco Gerards <metgerards@student.han.nl>
51947
51948 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51949 Removed prototype.
51950 (grub_rescue_cmd_linux): New prototype.
51951 (grub_rescue_cmd_initrd): Likewise.
51952 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51953 `bi_rec'.
51954 (grub_linux_release_mem): Release the memory for the initrd.
51955 (grub_load_linux): Renamed from this...
51956 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51957 Changed `entry' not to be static. Loop over memory regions to
51958 find another one when the default fails.
51959 (grub_rescue_cmd_initrd): New function.
51960 (grub_linux_init): Remove function.
51961 (grub_linux_fini): Likewise.
51962 (GRUB_MOD_INIT): Register `initrd'.
51963 (GRUB_MOD_FINI): Unregister `initrd'.
51964 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51965 Function removed.
51966 (grub_linux_normal_fini): Likewise.
51967 (GRUB_MOD_INIT): Register `initrd'.
51968 (GRUB_MOD_FINI): Unregister `initrd'.
51969
990cf3aa 519702005-01-31 Marco Gerards <metgerards@student.han.nl>
51971
51972 * commands/help.c: New file.
51973 * normal/arg.c (show_help): Renamed to...
51974 (grub_arg_show_help): ... this.
51975 * commands/i386/pc/halt.c: New file.
51976 * commands/i386/pc/reboot.c: Likewise.
51977 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51978 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51979 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51980 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51981 variables.
51982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51983 `commands/help.c'.
51984 (pkgdata_MODULES): Add `help.mod'.
51985 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51986 * grub/i386/pc/init.h (grub_reboot): New prototype.
51987 (grub_halt): Likewise.
51988 * include/grub/normal.h (grub_arg_show_help): New prototype.
51989 (grub_help_init): Likewise.
51990 (grub_help_fini): Likewise.
51991 * util/grub-emu.c (main): Initialize and deinitialize the help
51992 command.
51993
51994 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51995
51996 * normal/command.c (grub_command_init): Fixed the description of
51997 the `set' and `unset' commands.
51998
519992005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 52000
52001 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
52002 function.
52003 * commands/ieee1275/halt.c: New file.
52004 * commands/ieee1275/reboot.c: Likewise.
52005 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
52006 `__attribute__ ((unused))'. Some GCS related fixed.
52007 (grub_suspend_init) [GRUB_UTIL]: Function removed.
52008 (grub_suspend_fini): Likewise.
52009 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
52010 and `halt.mod'.
52011 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
52012 (halt_mod_CFLAGS): New variables.
52013 * include/grub/powerpc/ieee1275/ieee1275.h
52014 (grub_ieee1275_interpret): New prototype.
52015
1ab09cc7 520162005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
52017
52018 * include/grub/misc.h (memmove): New prototype.
52019 (memcpy): Likewise.
52020
8b8cbdb2 520212005-01-22 Hollis Blanchard <hollis@penguinppc.org>
52022
52023 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
52024 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
52025
e3741a27 520262005-01-22 Marco Gerards <metgerards@student.han.nl>
52027
52028 * kern/misc.c (grub_strndup): Function rewritten.
52029
776bd780 520302005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
52031
52032 * normal/menu.c (TERM_WIDTH): Macro redefined.
52033 (TERM_TOP_BORDER_Y): Likewise.
52034 (draw_border): Replaced while-loop by a for-loop. Make the number
52035 of lines consistent with the number of lines displayed in
52036 print_entries. Added a margin below the rectangle.
52037 (print_entry): Make the entry fit in the rectangle.
52038 (print_entries): Display the scroll arrows next to the right
52039 border.
52040
78026bce 520412005-01-21 Marco Gerards <metgerards@student.han.nl>
52042
52043 * fs/minix.c (grub_minix_find_file): Reserve more space for
52044 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
52045 `grub_strncpy' to copy `path' into it.
52046
67bbaf0f 520472005-01-21 Marco Gerards <metgerards@student.han.nl>
52048
52049 Add the loopback device, a device via which files can be accessed
52050 as devices.
f19dbdb7 52051
67bbaf0f 52052 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
52053 (pkgdata_MODULES): Add loopback.mod.
52054 (loopback_mod_SOURCES): New variable.
52055 (loopback_mod_CFLAGS): Likewise.
52056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52057 `disk/loopback.c'.
52058 (pkgdata_MODULES): Add loopback.mod.
52059 (loopback_mod_SOURCES): New variable.
52060 (loopback_mod_CFLAGS): Likewise.
52061 * disk/loopback.c: new file.
52062 * include/grub/normal.h (grub_loop_init): New prototype.
52063 (grub_loop_fini): New prototype.
52064 * util/grub-emu.c (main): Initialize and de-initialize loopback
52065 support.
52066 * include/grub/disk.h (grub_disk_dev_id): Add
52067 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
52068
6f1c18bd 520692005-01-20 Hollis Blanchard <hollis@penguinppc.org>
52070
52071 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
52072 function.
52073 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
52074 (suspend_mod_SOURCES): New variable.
52075 (suspend_mod_CFLAGS): Likewise.
52076 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
52077 New prototype.
52078 * commands/ieee1275/suspend.c: New file.
52079
b38551da 520802005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
52081
52082 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 52083 ((unused))' to `__attribute__ ((used))'.
b38551da 52084 (GRUB_MOD_FINI): Likewise.
52085 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
52086 * genmk.rb (PModule): Assign space to common symbols when linking
52087 modules.
52088
777aff39 520892005-01-20 Marco Gerards <metgerards@student.han.nl>
52090
52091 * include/grub/mm.h (grub_mm_init_region): Change the type of the
52092 `unsigned' arguments to `grub_size_t'.
52093 (grub_malloc): Likewise.
52094 (grub_realloc): Likewise.
52095 (grub_memalign): Likewise.
52096 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
52097 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52098 * util/misc.c (grub_malloc): Likewise.
52099 (grub_realloc): Likewise.
52100 * kern/mm.c (get_header_from_pointer): Change the casts to
52101 `unsigned' into a cast to `grub_size_t'.
52102
52103 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
52104 point to `currnode' when `currnode' is changed.
52105
52106 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
52107 Schottelius <nico-linux@schottelius.org>.
52108
d0ff18e1 521092005-01-09 Hollis Blanchard <hollis@penguinppc.org>
52110
52111 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
52112 (note_path): Remove variable.
52113 (GRUB_IEEE1275_NOTE_NAME): New macro.
52114 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
52115 (grub_ieee1275_note_hdr): New structure.
52116 (grub_ieee1275_note_desc): Likewise.
52117 (grub_ieee1275_note): Likewise.
52118 (load_note): Remove `dir' argument. All callers updated. Remove
52119 `note_img' and `path'. Do not load a file from `note_path'.
52120 Initialize a struct grub_ieee1275_note and write that to `out'.
52121 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
52122
4ca7004c 521232005-01-05 Marco Gerards <metgerards@student.han.nl>
52124
52125 * util/misc.c (grub_util_read_image): Revert last change. It
52126 called `grub_util_read_at', which seeks from the beginning of the
52127 file.
52128
0b412211 521292005-01-04 Hollis Blanchard <hollis@penguinppc.org>
52130
52131 * TODO: Add note about endianness in grub-mkimage.
52132 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
52133 section.
52134 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
52135 (grub_mkimage_SOURCES): New target.
52136 * include/grub/kernel.h (grub_start_addr): Remove variable.
52137 (grub_end_addr): Likewise.
52138 (grub_total_module_size): Likewise.
52139 (grub_kernel_image_size): Likewise.
52140 (GRUB_MODULE_MAGIC): New constant.
52141 (grub_module_info): New structure.
52142 (grub_arch_modules_addr): New prototype.
52143 (grub_get_end_addr): Remove prototype.
52144 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
52145 * include/grub/powerpc/ieee1275/kernel.h: New file.
52146 * include/grub/util/misc.h (grub_util_get_fp_size): New
52147 prototype.
52148 (grub_util_read_at): Likewise.
52149 (grub_util_write_image_at): Likewise.
52150 * kern/main.c (grub_get_end_addr): Remove function.
52151 (grub_load_modules): Call grub_arch_modules_addr instead of using
52152 grub_end_addr. Look for a grub_module_info struct in memory. Use
52153 the grub_module_info fields instead of calling grub_get_end_addr
52154 as loop conditions. Move grub_add_unused_region code here.
52155 (grub_add_unused_region): Remove function.
52156 * kern/i386/pc/init.c: Include grub/cache.h.
52157 (grub_machine_init): Remove call to grub_get_end_addr. Remove
52158 one call to add_mem_region.
52159 (grub_arch_modules_addr): New function.
52160 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
52161 (grub_total_module_size): Likewise.
52162 Include grub/machine/kernel.h.
52163 (grub_arch_modules_addr): New function.
52164 * util/grub-emu.c (grub_end_addr): Remove variable.
52165 (grub_total_module_size): Likewise.
52166 (grub_arch_modules_addr): New function.
52167 * util/misc.c: Include unistd.h.
52168 (grub_util_get_fp_size): New function.
52169 (grub_util_read_at): Likewise.
52170 (grub_util_write_image_at): Likewise.
52171 (grub_util_read_image): Call grub_util_read_at.
52172 (grub_util_write_image): Call grub_util_write_image_at.
52173 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
52174 additional memory in kernel_img for a struct grub_module_info.
52175 Fill in that grub_module_info.
52176 * util/powerpc/ieee1275/grub-mkimage.c: New file.
52177
458786f8 521782005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52179
52180 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
52181 New function.
52182 * include/grub/powerpc/ieee1275/ieee1275.h
52183 (grub_ieee1275_milliseconds): New prototype.
52184 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
52185 Change to 1000.
52186 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
52187 grub_ieee1275_milliseconds.
52188
ac507d1b 521892005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52190
52191 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
52192 variable.
52193 (find_options): New function.
52194 (cmain): Call find_options.
52195 * include/grub/powerpc/ieee1275/ieee1275.h
52196 (grub_ieee1275_realmode): New extern variable.
52197 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
52198 grub_map if grub_ieee1275_realmode is false.
52199
6b8fd1c4 522002004-12-29 Marco Gerards <metgerards@student.han.nl>
52201
52202 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
52203 lines are inserted and make it work like readline. Reported by
52204 Vincent Pelletier <subdino2004@yahoo.fr>.
52205
8514a1e0 522062004-12-28 Marco Gerards <metgerards@student.han.nl>
52207
52208 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
52209
52210 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
52211 `kern/powerpc/cache.S'.
52212
924b6140 522132004-12-27 Marco Gerards <metgerards@student.han.nl>
52214
52215 * genmk.rb: Handle the `Program' class in the main loop. Written
52216 by Johan Rydberg <jrydberg@gnu.org>.
52217 (Program): New class.
52218 (programs): New variable.
52219 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
52220 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
52221 instead of "grub/kernel.h". Include <grub/machine/init.h>.
52222 (help_arch): Function removed.
52223 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
52224 `powerpc/libgcc.h' and `loader.h'.
52225 (pkgdata_PROGRAMS): New variable.
52226 (sbin_UTILITIES): Variable removed.
52227 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
52228 (grubof_SOURCES): Variable re-defined so it only includes the
52229 core functionality.
52230 (grubof_CFLAGS): Remove `-DGRUBOF'.
52231 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
52232 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
52233 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
52234 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
52235 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
52236 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
52237 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
52238 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
52239 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
52240 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
52241 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
52242 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
52243 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
52244 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
52245 (pc_mod_CFLAGS): New variables.
52246 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
52247 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
52248 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
52249 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
52250 Moved from here...
52251 * include/grub/i386/pc/init.h (grub_os_area_addr)
52252 (rub_os_area_size): ... to here.
52253 * include/grub/powerpc/ieee1275/ieee1275.h
52254 (grub_ieee1275_entry_fn): Export symbol.
52255 * include/grub/powerpc/ieee1275/init.h: New file.
52256 * include/grub/powerpc/libgcc.h: Likewise.
52257 * include/grub/cache.h: Likewise.
52258 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
52259 <hollis@penguinppc.org>.
52260 * kern/dl.c: Include <grub/cache.h>.
52261 (grub_dl_flush_cache): New function.
52262 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
52263 for this module.
52264 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
52265 (grub_console_init): Removed prototypes.
52266 (grub_machine_init): Don't initialize the modules anymore.
52267 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
52268 static.
52269 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
52270 Macro undef removed.
52271 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
52272 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
52273 relocation `R_PPC_REL32'. Return an error when the relocation is
52274 unknown.
52275 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
52276 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
52277 * util/misc.c (grub_arch_sync_caches): Likewise.
52278
e4b47e0c 522792004-12-19 Marco Gerards <metgerards@student.han.nl>
52280
52281 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
52282 `symlist.c', add `grubof_symlist.c'.
52283 (symlist.c): Variable removed.
52284 (grubof_HEADERS): Variable added.
52285 (grubof_symlist.c): New target.
52286 (kernel_syms.lst): Use `grubof_HEADERS' instead of
52287 `kernel_img_HEADERS'.
52288 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
52289 * kern/powerpc/dl.c: New file.
52290 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
52291 Function removed.
52292 (grub_arch_dl_relocate_symbols): Likewise.
52293 (grub_register_exported_symbols): Likewise.
52294
4ceb3636 522952004-12-13 Marco Gerards <metgerards@student.han.nl>
52296
52297 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
52298 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
52299 to fail instead. Reported by Vincent Pelletier
52300 <subdino2004@yahoo.fr>.
52301
52302 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
52303 it is not allocated. Reported by Vincent Pelletier
52304 <subdino2004@yahoo.fr>.
52305
52306 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
52307 output so the output looks better.
f19dbdb7 52308
3f1578fe 523092004-12-04 Marco Gerards <metgerards@student.han.nl>
52310
52311 Modulize the partition map support and add support for the amiga
52312 partition map.
f19dbdb7 52313
3f1578fe 52314 * commands/ls.c: Include <grub/partition.h> instead of
52315 <grub/machine/partition.h>.
52316 * kern/disk.c: Likewise.
52317 * kern/rescue.c: Likewise.
52318 * loader/i386/pc/chainloader.c: Likewise.
52319 * normal/cmdline.c: Likewise.
52320 * kern/powerpc/ieee1275/init.c: Likewise.
52321 (grub_machine_init): Call `grub_pc_partition_map_init',
52322 `grub_amiga_partition_map_init' and
52323 `grub_apple_partition_map_init'.
52324 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
52325 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
52326 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
52327 `partition.h' and `pc_partition.h'.
52328 (grub_setup_SOURCES): Remove
52329 `disk/i386/pc/partition.c'. Add `kern/partition.c',
52330 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52331 (grub_emu_SOURCES): Likewise.
52332 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
52333 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
52334 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
52335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52336 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
52337 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52338 (grubof_SOURCES): Likewise.
52339 * disk/i386/pc/partition.c: File removed.
52340 * disk/powerpc/ieee1275/partition.c: Likewise.
52341 * include/grub/powerpc/ieee1275/partition.h: Likewise.
52342 * include/grub/i386/pc/partition.h: Likewise.
52343 * kern/partition.c: New file.
52344 * partmap/amiga.c: Likewise.
52345 * partmap/apple.c: Likewise.
52346 * partmap/pc.c: Likewise.
52347 * include/grub/partition.h: Likewise..
52348 * include/grub/pc_partition.h: Likewise.
52349 * util/grub-emu.c: Include <grub/partition.h> instead of
52350 <grub/machine/partition.h>.
52351 (main): Call `grub_pc_partition_map_init',
52352 `grub_amiga_partition_map_init' and
52353 `grub_apple_partition_map_init' and deinitialize afterwards.
52354 * util/i386/pc/biosdisk.c: Include `#include
52355 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52356 `<grub/machine/partition.h>'.
52357 * util/i386/pc/grub-setup.c: Likewise.
52358 * util/i386/pc/biosdisk.c: Likewise.
52359 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
52360 partition information in case of a PC partition.
52361 * util/i386/pc/grub-setup.c: Include `#include
52362 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52363 `<grub/machine/partition.h>'.
52364 (setup): Only access the PC specific partition information in case
52365 of a PC partition.
52366
0ef4ced9 523672004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 52368
0ef4ced9 52369 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
52370 (grub_longjmp): Likewise.
52371 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
52372 20.
52373 * normal/powerpc/setjmp.S: New file.
52374 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52375 `normal/powerpc/setjmp.S'.
52376 (grubof_CFLAGS): Add `-DGRUBOF'.
52377 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
52378 [GRUB_UTIL && !GRUBOF].
f19dbdb7 52379
19950e29 523802004-11-16 Marco Gerards <metgerards@student.han.nl>
52381
52382 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
52383 property named `name'. Correctly handle the error returned by
52384 `grub_ieee1275_finddevice' if a device can not be opened.
52385
a2fea427 523862004-11-02 Hollis Blanchard <hollis@penguinppc.org>
52387
52388 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
52389 `actual' for negativity.
52390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52391 kern/fshelp.c.
52392
41ea0ea3 523932004-11-01 Marco Gerards <metgerards@student.han.nl>
52394
52395 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
52396 (PAGE_OFFSET): New macro.
52397 (CRTC_ADDR_PORT): Likewise.
52398 (CRTC_DATA_PORT): Likewise.
52399 (START_ADDR_HIGH_REGISTER): Likewise.
52400 (START_ADDR_LOW_REGISTER): Likewise.
52401 (GRAPHICS_ADDR_PORT): Likewise.
52402 (GRAPHICS_DATA_PORT): Likewise.
52403 (READ_MAP_REGISTER): Likewise.
52404 (INPUT_STATUS1_REGISTER): Likewise.
52405 (INPUT_STATUS1_VERTR_BIT): Likewise.
52406 (page): New variable.
52407 (wait_vretrace): New function.
52408 (set_read_map): Likewise.
52409 (set_start_address): Likewise.
52410 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
52411 the right page.
52412 (check_vga_mem): Take the page into account.
52413 (write_char): Likewise.
52414 (write_cursor): Likewise.
52415 (scroll_up): Likewise. Copy the page to the page that is not
52416 shown and switch between both pages.
52417 (grub_vga_putchar): Fix off by one error.
52418 (grub_vga_cls): Wait for the vertical retrace. Take the page into
52419 account.
52420
ad0bd20b 524212004-11-01 Marco Gerards <metgerards@student.han.nl>
52422
52423 Add support for iso9660 (including rockridge).
f19dbdb7 52424
ad0bd20b 52425 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52426 (iso9660_mod_SOURCES): New variable.
52427 (iso9660_mod_CFLAGS): Likewise.
52428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52429 * include/grub/fs.h (grub_iso9660_init): New prototype.
52430 * util/grub-emu.c (main): Call `grub_iso9660_init'.
52431 * fs/iso9660.c: New file.
52432
52433 * include/grub/misc.h (grub_strncat): New prototype.
52434 * kern/misc.c (grub_strncat): New function.
f19dbdb7 52435
ad0bd20b 52436 * fs/hfs.c (grub_hfs_mount): Translate the error
52437 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
52438 * fs/jfs.c (grub_jfs_mount): Likewise.
52439 * fs/ufs.c (grub_ufs_mount): Likewise.
52440
a5477a59 524412004-10-28 Hollis Blanchard <hollis@penguinppc.org>
52442
52443 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
52444 which initialized BAT registers.
52445 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
52446 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52447 Move from here...
52448 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
52449 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52450 ... to here.
52451 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
52452 (grub_mapclaim): Likewise.
52453 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
52454 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
52455 hand.
52456
9304c1f8 524572004-10-19 Hollis Blanchard <hollis@penguinppc.org>
52458
52459 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
52460 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
52461 -ffreestanding and -msoft-float.
52462
86f4ae25 524632004-10-15 Hollis Blanchard <hollis@penguinppc.org>
52464
52465 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
52466 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
52467 set in grub_ieee1275_flags.
52468
38912228 524692004-10-14 Hollis Blanchard <hollis@penguinppc.org>
52470
52471 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
52472 prototype.
52473 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
52474 grub_console_init first.
52475 Change the memory range used for grub_ieee1275_claim and
52476 grub_mm_init_region.
52477 Print an error message if the claim fails.
52478 Include <grub/misc.h>.
52479
d1923dc8 524802004-10-13 Hollis Blanchard <hollis@penguinppc.org>
52481
52482 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
52483 Call grub_children_iterate for device nodes of type `scsi',
52484 `ide', or `ata'.
52485 (grub_ofdisk_open): Remove manual device alias resolution.
52486 Fix memory leak when device cannot be opened.
f19dbdb7 52487 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 52488 (grub_children_iterate): New prototype.
52489 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
52490 New function.
52491 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52492 Return -1 if args.size was -1.
52493
4512e4f3 524942004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52495
52496 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
52497 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
52498 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
52499 Open Firmware's memory for it; claim memory from _start to _end.
52500 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
52501 (_end): New extern.
52502 (_start): Zero BSS from __bss_start to _end.
52503 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52504 New extern.
52505 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
52506
4d61feb0 525072004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52508
ad0bd20b 52509 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
52510 -1 if args.base was -1.
4d61feb0 52511
026fa2f9 525122004-10-08 Hollis Blanchard <hollis@penguinppc.org>
52513
52514 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
52515 escape sequence instead of a literal ^L. Also call
52516 grub_ofconsole_gotoxy.
52517
9f2220ef 525182004-10-03 Hollis Blanchard <hollis@penguinppc.org>
52519
52520 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
52521 void * arguments to grub_addr_t. All callers updated. Also make
52522 the `result' argument optional.
52523 (grub_ieee1275_release): change void * arguments to grub_addr_t.
52524 All callers updated.
52525
8a572cd7 525262004-09-22 Hollis Blanchard <hollis@penguinppc.org>
52527
52528 * commands/ls.c (grub_ls_list_files): Use the string following the
52529 initial ')', if present, as the filesystem path.
52530 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
52531
52532 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
52533
18aa81f2 525342004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
52535
52536 Make the source code of the menu interface more readable.
f19dbdb7 52537
18aa81f2 52538 * normal/menu.c: Include grub/mm.h.
52539 (TERM_WIDTH): New macro.
52540 (TERM_HEIGHT): Likewise.
52541 (TERM_INFO_HEIGHT): Likewise.
52542 (TERM_MARGIN): Likewise.
52543 (TERM_SCROLL_WIDTH): Likewise.
52544 (TERM_TOP_BORDER_Y): Likewise.
52545 (TERM_LEFT_BORDER_X): Likewise.
52546 (TERM_BORDER_WIDTH): Likewise.
52547 (TERM_MESSAGE_HEIGHT): Likewise.
52548 (TERM_BORDER_HEIGHT): Likewise.
52549 (TERM_NUM_ENTRIES): Likewise.
52550 (TERM_FIRST_ENTRY_Y): Likewise.
52551 (TERM_ENTRY_WIDTH): Likewise.
52552 (TERM_CURSOR_X): Likewise.
52553 (draw_border): Use macros instead of magic numbers.
52554 (print_entry): Likewise.
52555 (print_entries): Likewise.
52556 (run_menu): Likewise. Also, handle the key 'e'.
52557 (run_menu_entry): Ignore empty command lines.
52558 (print_message): Added a new argument EDIT. If EDIT is true,
52559 print a different message.
52560 (init_page): Likewise.
52561 (edit_menu_entry): New function. Not implemented yet.
52562
b47efe30 525632004-09-17 Marco Gerards <metgerards@student.han.nl>
52564
52565 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
52566 can be loaded from normal mode.
f19dbdb7 52567
b47efe30 52568 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
52569 `multiboot.mod'.
52570 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
52571 (multiboot_mod_CFLAGS): New variables.
52572 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 52573 * loader/i386/pc/multiboot_normal.c: Likewise.
52574
b47efe30 52575 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
52576 attribute `unused'.
f19dbdb7 52577
b47efe30 52578 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
52579 `fdiro' to read the mode information from instead of `diro'.
52580
52581 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
52582 looking up a symlink.
52583
52584 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
52585 macro.
52586 * normal/command.c (grub_command_execute): Don't parse the
52587 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
52588 flags of the command.
52589
52590 * normal/menu.c (grub_menu_run): Fix typo.
52591
da75ac71 525922004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52593
52594 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52595
52596 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52597 `y + 1' instead of `y - 1'.
52598
52599 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 52600
062b24c2 526012004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52602
52603 From Hollis Blanchard <hollis@penguinppc.org>:
52604 * kern/misc.c (memmove): New alias for grub_memmove.
52605 (memcmp): New alias for grub_memcmp.
52606 (memset): New alias for grub_memset.
f19dbdb7 52607 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 52608 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 52609 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 52610 (grub_ieee1275_get_property): Likewise.
f19dbdb7 52611
8ddad845 526122004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52613
52614 Added normal mode command `chainloader' as module chain.mod, which
52615 depends on normal.mod and _chain.mod.
f19dbdb7 52616
8ddad845 52617 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52618 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52619 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52620 Deleted prototype.
52621 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52622 but arguments parsing moved to ...
52623 (grub_chainloader_cmd): ... here. New function.
52624 * include/grub/i386/pc/chainloader.h: New file.
52625 * loader/i386/pc/chainloader_normal.c: Likewise.
52626
2c1f4ce3 526272004-09-11 Marco Gerards <metgerards@student.han.nl>
52628
52629 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52630 (grub_mkimage_LDFLAGS): Likewise.
52631 (grub_emu_SOURCES): Likewise.
52632 (kernel_img_HEADERS): Added fshelp.h.
52633 * fs/ext2.c: Include <grub/fshelp.h>.
52634 (FILETYPE_REG): New macro.
52635 (FILETYPE_INO_REG): Likewise.
52636 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52637 Changed all users.
52638 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52639 all users.
52640 (grub_fshelp_node): New struct.
52641 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52642 to a pointer.
52643 (grub_ext2_get_file_block): Removed function.
52644 (grub_ext2_read_block): New function.
52645 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52646 This function was written.
52647 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52648 (grub_ext2_find_file): Removed function.
52649 (grub_ext2_read_symlink): New function.
52650 (grub_ext2_iterate_dir): Likewise.
52651 (grub_ext2_open): Rewritten.
52652 (grub_ext2_dir): Rewritten.
52653 * include/grub/fshelp.h: New file.
52654 * fs/fshelp.c: Likewise.
52655
3c52136a 526562004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52657
52658 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52659 (print_message): Add a missing newline.
52660 (run_menu): Added timeout support.
52661 (run_menu_entry): New local function.
52662 (grub_menu_run): Added support for booting.
52663
52664 * kern/loader.c (grub_loader_is_loaded): New function.
52665
52666 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52667 (grub_get_rtc): Exported.
52668
52669 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52670 (grub_get_rtc): Exported.
52671
52672 * include/grub/normal.h (struct grub_command_list): Remove
52673 constant from the member `command'.
52674
52675 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52676
52677 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52678
52679 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52680
aa033560 526812004-08-28 Marco Gerards <metgerards@student.han.nl>
52682
52683 Add support for the JFS filesystem.
52684
52685 * fs/jfs.c: New file.
52686 * include/grub/fs.h (grub_jfs_init): New prototype.
52687 (grub_jfs_fini): New prototype.
52688 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52689 (grub_emu_SOURCES): Likewise.
52690 (pkgdata_MODULES): Add jfs.mod.
52691 (jfs_mod_SOURCES): New variable.
52692 (jfs_mod_CFLAGS): Likewise.
52693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52694 (grubof_SOURCES): Likewise.
52695 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52696
52697 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52698 endian to the host endian.
52699 (grub_fat_utf16_to_utf8): Move function from there...
52700 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 52701 the endianness of the source string anymore.
aa033560 52702 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52703
94bc45af 527042004-08-24 Marco Gerards <metgerards@student.han.nl>
52705
52706 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52707 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52708 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52709 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 52710
94bc45af 52711 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52712 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52713 for `node_found' and `it_dir'.
52714 (grub_hfs_dir): Add prototype for `dir_hook'.
52715
52716 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52717 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52718 and `indir32' to silence a gcc warning.
52719
52720 * include/grub/fs.h (grub_hfs_init): New prototype.
52721 (grub_hfs_fini): Likewise.
f19dbdb7 52722
52723
97543f08 527242004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52725
52726 Each disk device has its own id now. This is useful to make use
52727 of multiple disk devices.
f19dbdb7 52728
97543f08 52729 * include/grub/disk.h (grub_disk_dev_id): New enum.
52730 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
52731 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
52732
52733 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52734 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52735
52736 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52737 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52738
52739 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52740 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52741
52742 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52743 "id" which is used by the cache manager.
52744
52745 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52746 of just "GRUB".
52747
64372eb4 527482004-08-18 Marco Gerards <metgerards@student.han.nl>
52749
52750 * fs/hfs.c: New file.
52751 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
52752 (grub_emu_SOURCES): Likewise.
52753 (pkgdata_MODULES): Add hfs.mod.
52754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
52755 (grubof_SOURCES): Likewise.
52756 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
52757
52758 * include/grub/misc.h (grub_strncasecmp): Add prototype.
52759 * kern/misc.c (grub_strncasecmp): Add function.
52760
cc61b58f 527612004-08-14 Marco Gerards <metgerards@student.han.nl>
52762
52763 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
52764 with parentheses.
52765
52766 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52767 (grub_ext2_dir): In case the directory entry type is unknown, read
52768 it from the inode.
52769
0ef123f6 527702004-08-02 Peter Bruin <pjbruin@dds.nl>
52771
52772 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52773 grub_load_linux instead of grub_rescue_cmd_linux as second
52774 argument of grub_rescue_register_command.
52775
52776 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52777
a447c5df 527782004-07-27 Marco Gerards <metgerards@student.han.nl>
52779
52780 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52781 function.
52782 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52783 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52784 `loader/powerpc/ieee1275/linux.c',
52785 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52786 * include/grub/powerpc/ieee1275/ieee1275.h
52787 (grub_ieee1275_release): New prototype.
52788 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52789 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52790 normal, boot, linux and linux_normal.
52791 * loader/powerpc/ieee1275/linux.c: New file.
52792 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52793
5a9e3546 527942004-07-12 Marco Gerards <metgerards@student.han.nl>
52795
52796 * normal/arg.c (grub_arg_parse): Correct error handling after
52797 reallocating the argumentlist (check if `argl' is not null instead
52798 of checking if `args' is not null).
52799 * kern/mm.c (grub_realloc): Return the same pointer when using the
52800 same region, instead of returning the header address.
52801
e15199cb 528022004-07-11 Marco Gerards <metgerards@student.han.nl>
52803
52804 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52805 one block instead of two when looking for the initial partition.
52806 (grub_partition_probe): Initialize the local variable `p' with 0.
52807 Use base 10 for the grub_strtoul call.
52808 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52809 need for one local variable.
52810 (grub_strtoul): Don't add the new value to `num', instead of that
52811 just assign it.
52812
020616c2 528132004-07-11 Marco Gerards <metgerards@student.han.nl>
52814
52815 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52816 (pxeboot_img_SOURCES): New variable.
52817 (pxeboot_img_ASFLAGS): Likewise.
52818 (pxeboot_img_LDFLAGS): Likewise.
52819 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52820 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52821 <lode_leroy@hotmail.com>.
52822
6c51eb64 528232004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52824
52825 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52826 there was no input.
52827
cfb12aff 528282004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52829
52830 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52831 the history buffer logic.
52832
6eabba74 528332004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52834
52835 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52836 (FILETYPE_INO_SYMLINK): New macros.
52837 (grub_ext2_find_file): Check if the node is a directory using the
52838 inode stat information instead of using the filetype in the
52839 dirent. Exclude the first character of an absolute symlink.
52840 (grub_ext2_dir): Mask out the filetype part of the mode member of
52841 the inode.
52842
66e19ef8 528432004-05-24 Marco Gerards <metgerards@student.han.nl>
52844
52845 Add support for UFS version 1 and 2. Add support for the minix
52846 filesystem version 1 and 2, both the variants with 14 and 30 long
52847 filenames.
f19dbdb7 52848
66e19ef8 52849 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52850 fs/minix.c.
52851 (grub_emu_SOURCES): Likewise.
52852 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52853 (ufs_mod_SOURCES): New variable.
52854 (ufs_mod_CFLAGS): Likewise.
52855 (minix_mod_SOURCES): Likewise.
52856 (minix_mod_CFLAGS): Likewise.
52857 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52858 fs/minix.c.
52859 (grubof_SOURCES): Likewise.
52860 * fs/ufs.c: New file.
52861 * fs/minix.c: New file.
52862 * include/grub/fs.h (grub_ufs_init): New prototype.
52863 (grub_ufs_fini): Likewise.
52864 (grub_minix_init): Likewise.
52865 (grub_minix_fini): Likewise.
52866 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52867 minix fs.
52868
cc2e748a 528692004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52870
52871 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52872 commands/ls.c, commands/terminal.c, commands/boot.c,
52873 commands/cmp.c and commands/cat.c.
52874 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52875
52876 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52877 "env.h"
52878
4b13b216 528792004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52880
52881 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52882 and grub_, respectively. Because the conversion is trivial and
52883 mechanical, I omit the details here. Please refer to the CVS
52884 if you need more information.
52885
6a142551 528862004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52887
52888 * include/pupa: Renamed to ...
52889 * include/grub: ... this.
52890 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52891 * util/i386/pc/grub-mkimage.c: ... this.
52892 * util/i386/pc/pupa-setup.c: Renamed to ...
52893 * util/i386/pc/grub-setup.c: ... this.
52894 * util/pupa-emu.c: Renamed to ...
52895 * util/grub-emu.c: ... this.
52896
e56cdf21 528972004-03-29 Marco Gerards <metgerards@student.han.nl>
52898
52899 Add support for the newworld apple macintosh (PPC). This has been
52900 tested on the powerbook 2000 only. It only adds support for
52901 generic ieee1275 functions, console and disk support. This should
52902 be easy to port to other architectures with support for Open
52903 Firmware.
f19dbdb7 52904
e56cdf21 52905 * configure.ac: Accept the powerpc as host_cpu. In the case of
52906 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52907 specific tests are only executed while building for the i386.
52908 Inverse test for crosscompile.
52909 * genmk.rb (Utility): Allow assembler files.
52910 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52911 * conf/powerpc-ieee1275.rmk: New file.
52912 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52913 * disk/powerpc/ieee1275/partition.c: Likewise.
52914 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52915 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52916 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52917 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52918 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52919 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52920 * include/pupa/powerpc/ieee1275/loader.h
52921 * include/pupa/powerpc/setjmp.h: Likewise.
52922 * include/pupa/powerpc/types.h: Likewise.
52923 * kern/powerpc/ieee1275/init.c: Likewise.
52924 * kern/powerpc/ieee1275/openfw.c: Likewise.
52925 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52926
52927 These files were written by Johan Rydberg
52928 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 52929
e56cdf21 52930 * boot/powerpc/ieee1275/cmain.c: New file.
52931 * boot/powerpc/ieee1275/crt0.S: Likewise.
52932 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52933 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52934
8c8cc205 529352004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52936
52937 * Makefile.in: Update copyright.
52938 * genmodsrc.sh: Likewise.
52939 * gensymlist.sh: Likewise.
52940 * term/i386/pc/vga.c: Indent correctly.
52941
52942 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52943 bugreporting address.
52944 * util/i386/pc/pupa-setup.c (usage): Likewise,
52945 (main): Call pupa_ext2_init and pupa_ext2_fini.
52946
f19dbdb7 52947 * fs/fat.c (log2): Renamed to ...
8c8cc205 52948 (fat_log2): ... this.
52949 All callers changed.
52950 * kern/misc.c (memcpy): Alias to pupa_memmove.
52951 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52952 lvalue cast.
52953 * util/console.c (pupa_ncurses_fini): Return 0.
52954
52955 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52956 Move fail label here.
52957 [__GNU__]: Don't warn when using stat.
52958 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52959 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52960 long int. Use strtol instead of strtoul.
f19dbdb7 52961
db1771cf 529622004-03-14 Marco Gerards <metgerards@student.han.nl>
52963
52964 * commands/boot.c: New file.
52965 * commands/cat.c: Likewise.
52966 * commands/cmp.c: Likewise.
52967 * commands/ls.c: Likewise.
52968 * commands/terminal.c: Likewise.
52969 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52970 (pupa_register_command): Changed interface to match the new
52971 argument parser.
52972 (pupa_command_execute): Changed (almost rewritten) so it uses
52973 pupa_split_command. Added support for setting variables using the
52974 syntax `foo=bar'.
52975 (rescue_command): Changed to work with the new argument parser.
52976 (terminal_command): Moved from here to commands/terminal.c.
52977 (set_command): New function.
52978 (unset_command): New function.
52979 (insmod_command): New function.
52980 (rmmod_command): New function.
52981 (lsmod_command): New function.
52982 (pupa_command_init): Don't initialize the command terminal
52983 anymore. Initialize the commands set, unset, insmod, rmmod and
52984 lsmod.
52985 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52986 (kernel_img_HEADERS): Add arg.h and env.h.
52987 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52988 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52989 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52990 normal/arg.c.
52991 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52992 terminal.mod.
52993 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52994 (boot_mod_SOURCES): New variable.
52995 (terminal_mod_SOURCES): Likewise.
52996 (ls_mod_SOURCES): Likewise.
52997 (cmp_mod_SOURCES): Likewise.
52998 (cat_mod_SOURCES): Likewise.
52999
53000 * normal/arg.c: New file.
53001 * kern/env.c: Likewise.
53002 * include/pupa/arg.h: Likewise.
53003 * include/pupa/env.h: Likewise.
53004 * font/manager.c (font_command): Changed to match argument parsing
53005 interface changes.
53006 (PUPA_MOD_INIT): Likewise.
53007 * hello/hello.c (pupa_cmd_hello): Likewise.
53008 (PUPA_MOD_INIT): Likewise.
53009 * include/pupa/disk.h: Include <pupa/device.h>.
53010 (pupa_print_partinfo): New prototype.
53011 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
53012 (pupa_dl_get_prefix): Likewise.
53013 * include/pupa/misc.h: Include <pupa/err.h>.
53014 (pupa_isgraph): New prototype.
53015 (pupa_isdigit): Likewise.
53016 (pupa_split_cmdline): Likewise.
53017 * include/pupa/normal.h: Include <pupa/arg.h>.
53018 (pupa_command): Changed the prototype of the member `func' to
53019 match the argument parsing interface. Added member `options'.
53020 (pupa_register_command): Updated to match function.
53021 (pupa_arg_parse): New prototype.
53022 (pupa_hello_init) [PUPA_UTIL]: New prototype.
53023 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
53024 (pupa_ls_init) [PUPA_UTIL]: Likewise.
53025 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
53026 (pupa_cat_init) [PUPA_UTIL]: Likewise.
53027 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
53028 (pupa_boot_init) [PUPA_UTIL]: Likewise.
53029 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
53030 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
53031 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
53032 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
53033 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
53034 * kern/disk.c: Include <pupa/file.h>.
53035 (pupa_print_partinfo): New function.
53036 * kern/dl.c: Include <pupa/env.h>.
53037 (pupa_dl_dir): Variable removed.
53038 (pupa_dl_load): Use the environment variable `prefix' instead of
53039 the variable pupa_dl_dir.
53040 (pupa_dl_set_prefix): Function removed.
53041 (pupa_dl_get_prefix): Likewise.
53042 * kern/i386/pc/init.c: Include <pupa/env.h>.
53043 (pupa_machine_init): Use the environment variable `prefix' instead of
53044 using pupa_dl_set_prefix to set the prefix.
53045 * kern/main.c: Include <pupa/env.h>.
53046 (pupa_set_root_dev): Use the environment variable `prefix' instead of
53047 using pupa_dl_get_prefix to get the prefix.
53048 * kern/misc.c: Include <pupa/env.h>.
53049 (pupa_isdigit): New function.
53050 (pupa_isgraph): Likewise.
53051 (pupa_ftoa): Likewise.
53052 (pupa_vsprintf): Added support for printing values of the type
53053 `double'. Make it possible to format variable output when using
53054 formatting like `%1.2%f'.
53055 (pupa_split_cmdline): New function.
53056 * kern/rescue.c: Include <pupa/env.h>.
53057 (next_word): Removed function.
53058 (pupa_rescue_cmd_prefix): Likewise.
53059 (pupa_rescue_cmd_set): New function.
53060 (pupa_rescue_cmd_unset): New function.
53061 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
53062 split the command line instead of splitting it here. Added
53063 support for setting variables using the syntax `foo=bar'. Don't
53064 initialize the prefix command anymore. Initialized the set and
53065 unset commands.
53066 * normal/cmdline.c: Include <pupa/env.h>.
53067 (pupa_tab_complete): Added prototypes for print_simple_completion,
53068 print_partition_completion, add_completion, iterate_commands,
53069 iterate_dev, iterate_part and iterate_dir. Moved code to print
53070 partition information from here to kern/disk.c.
fe6b695a 53071 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 53072 * normal/main.c: Include <pupa/env.h>.
53073 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
53074 instead of using pupa_dl_get_prefix to get the prefix.
53075 * term/i386/pc/vga.c: Include <pupa/arg.h>.
53076 (check_vga_mem): Cast pointers to `void *' to silence a gcc
53077 warning.
53078 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
53079 (pupa_vga_setcolor): Declare unused variables with `__attribute__
53080 ((unused))' to silence a gcc warning.
53081 (pupa_vga_setcolor): Likewise.
53082 (debug_command): Changed to match argument parsing
53083 interface changes.
53084 * util/pupa-emu.c: Include <pupa/env.h>.
53085 (options): Added 0's for unused fields to silence a gcc warning.
53086 (argp): Likewise.
53087 (main): Use the environment variable `prefix' instead of using
53088 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
53089 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
53090 and terminal.
53091
53092 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
53093 * util/misc.c: Include <malloc.h>.
53094 (pupa_malloc): Rewritten so errors are correctly reported.
53095 (pupa_realloc): Likewise.
53096 (pupa_memalign): Likewise.
53097 (pupa_mm_init_region): Declare unused variables with
53098 `__attribute__ ((unused))' to silence a gcc warning.
53099 * normal/i386/setjmp.S: Remove tab at the end of the file to
53100 silence a gcc warning.
53101 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
53102 variables with `__attribute__ ((unused))' to silence a gcc
53103 warning.
53104 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
53105 local variable i unsigned to silence a gcc warning.
53106
53107 * kern/term.c: Include <pupa/misc.h>.
53108 (pupa_more_lines): New variable.
53109 (pupa_more): Likewise.
53110 (pupa_putcode): When the pager is active pause at the end of every
53111 screen.
53112 (pupa_set_more): New function.
53113 * include/pupa/term.h (pupa_set_more): New prototype.
53114
53115
3b1139cb 531162004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
53117
53118 Now this project is GRUB 2 rather than PUPA. The location of
53119 the CVS repository was moved to GRUB's.
f19dbdb7 53120
3b1139cb 53121 * configure.ac: Use bug-grub as the reporting address.
53122 Use GRUB instead of PUPA.
53123 Change the version number to 1.90.
53124
8367695c 531252004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
53126
53127 * genkernsyms.sh: Updated copyright information.
53128 * genmk.rb: Likewise.
53129 * genmodsrc.sh: Likewise.
53130 * gensymlist.sh: Likewise.
53131 * boot/i386/pc/boot.S: Likewise.
53132 * boot/i386/pc/diskboot.S: Likewise.
53133 * disk/i386/pc/biosdisk.c: Likewise.
53134 * disk/i386/pc/partition.c: Likewise.
53135 * font/manager.c: Likewise.
53136 * fs/ext2.c: Likewise.
53137 * fs/fat.c: Likewise.
53138 * include/pupa/boot.h: Likewise.
53139 * include/pupa/device.h: Likewise.
53140 * include/pupa/disk.h: Likewise.
53141 * include/pupa/dl.h: Likewise.
53142 * include/pupa/elf.h: Likewise.
53143 * include/pupa/err.h: Likewise.
53144 * include/pupa/file.h: Likewise.
53145 * include/pupa/font.h: Likewise.
53146 * include/pupa/fs.h: Likewise.
53147 * include/pupa/kernel.h: Likewise.
53148 * include/pupa/loader.h: Likewise.
53149 * include/pupa/misc.h: Likewise.
53150 * include/pupa/mm.h: Likewise.
53151 * include/pupa/net.h: Likewise.
53152 * include/pupa/normal.h: Likewise.
53153 * include/pupa/rescue.h: Likewise.
53154 * include/pupa/setjmp.h: Likewise.
53155 * include/pupa/symbol.h: Likewise.
53156 * include/pupa/term.h: Likewise.
53157 * include/pupa/types.h: Likewise.
53158 * include/pupa/i386/setjmp.h: Likewise.
53159 * include/pupa/i386/types.h: Likewise.
53160 * include/pupa/i386/pc/biosdisk.h: Likewise.
53161 * include/pupa/i386/pc/boot.h: Likewise.
53162 * include/pupa/i386/pc/console.h: Likewise.
53163 * include/pupa/i386/pc/init.h: Likewise.
53164 * include/pupa/i386/pc/kernel.h: Likewise.
53165 * include/pupa/i386/pc/linux.h: Likewise.
53166 * include/pupa/i386/pc/loader.h: Likewise.
53167 * include/pupa/i386/pc/memory.h: Likewise.
53168 * include/pupa/i386/pc/multiboot.h: Likewise.
53169 * include/pupa/i386/pc/partition.h: Likewise.
53170 * include/pupa/i386/pc/time.h: Likewise.
53171 * include/pupa/i386/pc/vga.h: Likewise.
53172 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
53173 * include/pupa/util/getroot.h: Likewise.
53174 * include/pupa/util/misc.h: Likewise.
53175 * include/pupa/util/resolve.h: Likewise.
53176 * kern/device.c: Likewise.
53177 * kern/disk.c: Likewise.
53178 * kern/dl.c: Likewise.
53179 * kern/err.c: Likewise.
53180 * kern/file.c: Likewise.
53181 * kern/fs.c: Likewise.
53182 * kern/loader.c: Likewise.
53183 * kern/main.c: Likewise.
53184 * kern/misc.c: Likewise.
53185 * kern/mm.c: Likewise.
53186 * kern/rescue.c: Likewise.
53187 * kern/term.c: Likewise.
53188 * kern/i386/dl.c: Likewise.
53189 * kern/i386/pc/init.c: Likewise.
53190 * kern/i386/pc/lzo1x.S: Likewise.
53191 * kern/i386/pc/startup.S: Likewise.
53192 * loader/i386/pc/chainloader.c: Likewise.
53193 * loader/i386/pc/linux.c: Likewise.
53194 * loader/i386/pc/multiboot.c: Likewise.
53195 * normal/cmdline.c: Likewise.
53196 * normal/command.c: Likewise.
53197 * normal/main.c: Likewise.
53198 * normal/menu.c: Likewise.
53199 * normal/i386/setjmp.S: Likewise.
53200 * term/i386/pc/console.c: Likewise.
53201 * term/i386/pc/vga.c: Likewise.
53202 * util/console.c: Likewise.
53203 * util/genmoddep.c: Likewise.
53204 * util/misc.c: Likewise.
53205 * util/pupa-emu.c: Likewise.
53206 * util/resolve.c: Likewise.
53207 * util/unifont2pff.rb: Likewise.
53208 * util/i386/pc/biosdisk.c: Likewise.
53209 * util/i386/pc/getroot.c: Likewise.
53210 * util/i386/pc/pupa-mkimage.c: Likewise.
53211 * util/i386/pc/pupa-setup.c: Likewise.
53212
e6eced71 532132004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
53214
53215 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
53216 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
53217 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
53218 reading and reset it after reading.
53219 (pupa_ext2_close): Return PUPA_ERR_NONE.
53220
53221 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
53222 Correct value.
53223 (struct linux_kernel_header): Add kernel_version and
53224 initrd_addr_max.
53225 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
53226 pupa_file_read succeeds.
53227 (pupa_rescue_cmd_initrd): Implement.
53228
5aded270 532292003-12-03 Marco Gerards <metgerards@student.han.nl>
53230
53231 * fs/ext2.c (pupa_ext2_label): New function.
53232 (pupa_ext2_fs): Added label.
53233 * fs/fat.c (pupa_fat_label): New function.
53234 (pupa_fat_fs): Added label.
53235 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
53236
53237 * kern/misc.c (pupa_strndup): New function.
53238 * include/pupa/misc.h (pupa_strndup): New prototype.
53239
53240 * include/pupa/normal.h: Include <pupa/err.h>.
53241 (pupa_set_history): New prototype.
53242 (pupa_iterate_commands): New prototype.
53243 * normal/cmdline.c: Include <pupa/machine/partition.h>,
53244 <pupa/disk.h>, <pupa/file.h>.
53245 (hist_size): New variable.
53246 (hist_lines): Likewise.
53247 (hist_end): Likewise.
53248 (hist_used): Likewise.
53249 (pupa_set_history): New function.
53250 (pupa_history_get): Likewise.
53251 (pupa_history_add): Likewise.
53252 (pupa_history_replace): Likewise.
53253 (pupa_tab_complete): Likewise.
53254 (pupa_cmdline_run): Added tab completion and history buffer. Tab
53255 completion shows partitionnames while completing partitions, this
53256 feature was suggested by Jeff Bailey.
53257 * normal/command.c (pupa_iterate_commands): New function.
53258 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
53259 (pupa_normal_init): Initialize history buffer.
53260 (PUPA_MOD_INIT): Likewise.
53261 (pupa_normal_fini): Free the history buffer.
53262 (PUPA_MOD_FINI): Likewise.
53263
53264 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
53265 key.
53266
53267 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
53268 * configure.ac [i386]: Check for regparam bug.
53269 (NESTED_FUNC_ATTR) [! i386]: Defined.
53270
1f7315a3 532712003-11-17 Marco Gerards <metgerards@student.han.nl>
53272
53273 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
53274 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
53275 (pupa_emu_SOURCES): New variable.
53276 (pupa_emu_LDFLAGS): Likewise.
53277 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
53278 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
53279 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
53280 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53281 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
53282 (pupa_jmp_buf): New typedef.
53283 (pupa_setjmp) [PUPA_UTIL]: New macro.
53284 (pupa_longjmp) [PUPA_UTIL]: Likewise.
53285 * include/pupa/term.h (struct pupa_term): New member `refresh'.
53286 (pupa_refresh): New prototype.
53287 * include/pupa/util/getroot.h: New file.
53288 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
53289 it.
53290 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
53291 (pupa_rescue_cmd_cat): Likewise.
53292 (pupa_rescue_cmd_ls): Likewise.
53293 (pupa_rescue_cmd_testload): Likewise.
53294 (pupa_rescue_cmd_lsmod): Likewise.
53295 * normal/cmdline.c (pupa_cmdline_get): Likewise.
53296 * normal/menu.c (run_menu): Likewise.
53297 * kern/term.c (pupa_cls): Likewise.
53298 (pupa_refresh): New function.
53299 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
53300 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53301 * util/console.c: New file.
f19dbdb7 53302
1f7315a3 53303 * util/i386/pc/getroot.c: New file.
53304 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
53305 (pupa_putchar): New function.
53306 (pupa_refresh): Likewise.
53307 (xgetcwd): Function moved to ...
53308 (strip_extra_slashes): Likewise.
53309 (get_prefix): Likewise.
f19dbdb7 53310 * util/i386/pc/getroot.c: ... here.
1f7315a3 53311 (find_root_device): Function moved and renamed to...
53312 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
53313 Changed all callers.
53314 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
53315 and renamed to...
53316 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
53317 Changed all callers.
53318 * util/misc.c (pupa_memalign): New function.
53319 (pupa_mm_init_region): Likewise.
53320 (pupa_register_exported_symbols): Likewise.
53321 (pupa_putchar): Function removed.
53322 * util/pupa-emu.c: New file.
53323
9a5c1ade 533242003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
53325
53326 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
53327 (_multiboot_mod_SOURCES): New variable.
53328 (_multiboot_mod_CFLAGS): Likewise.
53329 * loader/i386/pc/multiboot.c: New file.
53330 * include/pupa/i386/pc/multiboot.h: Likewise.
53331 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
53332 (pupa_multiboot_real_boot): New function.
53333 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
53334 (pupa_multiboot_real_boot): New prototype.
53335 (pupa_rescue_cmd_multiboot): Likewise
53336 (pupa_rescue_cmd_module): Likewise.
53337
53338 * kern/loader.c (pupa_loader_set): Continue when
53339 pupa_loader_unload_func() fails.
53340 (pupa_loader_unset): New function.
53341 * include/pupa/loader.h (pupa_loader_unset): New prototype.
53342
53343 * kern/misc.c (pupa_stpcpy): New function.
53344 * include/pupa/misc.h (pupa_stpcpy): New prototype.
53345
8e72a9c0 533462003-11-12 Marco Gerards <metgerards@student.han.nl>
53347
53348 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
53349 for available extensions.
53350
53351 * include/pupa/i386/pc/time.h: New file.
53352 * kern/disk.c: Include <pupa/machine/time.h>.
53353 (PUPA_CACHE_TIMEOUT): New macro.
53354 (pupa_last_time): New variable.
53355 (pupa_disk_open): Flush the cache when there was a timeout.
53356 (pupa_disk_close): Reset the timer.
53357 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
53358 pupa_currticks.
53359 * util/misc.c: Include <sys/times.h>
53360 (pupa_get_rtc): New function.
53361
c4adbd32 533622003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
53363
53364 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
53365 as blocks.
53366 (pupa_ext2_get_file_block): Use blocks member.
53367
53368 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
53369 first block. Return -1 instead of pupa_errno on error.
53370
bfd30f06 533712003-10-27 Marco Gerards <metgerards@student.han.nl>
53372
53373 * README: In the pupa-mkimage example use _chain instead of chain
53374 and ext2 instead of fat.
53375 * TODO: Replace ext2fs with jfs as an example. Add an item for
53376 adding journal playback for ext2fs.
53377 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
53378 (pkgdata_MODULES): Added ext2.mod.
53379 (ext2_mod_SOURCES): New variable.
53380 (ext2_mod_CFLAGS): Likewise.
53381 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
53382 * include/pupa/misc.h (pupa_strncpy): New prototype.
53383 (pupa_strcat): Likewise.
53384 (pupa_strncmp): Likewise.
53385 * kern/misc.c (pupa_strcat): Enable function.
53386 (pupa_strncpy): New function.
53387 (pupa_strncmp): Likewise.
53388 * fs/ext2.c: New file.
f19dbdb7 53389
bfd30f06 53390 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
53391 when the read failed before retrying.
53392 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
53393 (_FILE_OFFSET_BITS): Likewise.
53394 * configure.ac: Added AC_SYS_LARGEFILE.
53395
98d15063 533962003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53397
53398 * genmk.rb (PModule#rule): Make sure to get only symbol names
53399 from the output of nm.
59cad637 53400 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 53401
18d9c7cd 534022003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53403
53404 I forgot to check in these changes for a long time. This adds
53405 incomplete support for VGA console, and this is still very
53406 buggy. Also, a lot of consideration is required for I18N,
53407 UNICODE, and VGA font issues. Therefore, assume that this is
53408 such that "better than nothing".
f19dbdb7 53409
18d9c7cd 53410 * font/manager.c: New file.
53411 * include/pupa/font.h: Likewise.
53412 * include/pupa/i386/pc/vga.h: Likewise.
53413 * term/i386/pc/vga.c: Likewise.
53414 * util/unifont2pff.rb: Likewise.
53415
53416 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
53417 (pkgdata_MODULES): Added vga.mod and font.mod.
53418 (vga_mod_SOURCES): New variables.
53419 (vga_mod_CFLAGS): Likewise.
53420 (font_mod_SOURCES): Likewise.
53421 (font_mod_CFLAGS): Likewise.
53422
53423 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
53424
53425 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 53426 (struct pupa_term): Added init and fini.
18d9c7cd 53427 Changed the argument of putchar to pupa_uint32_t.
53428
53429 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
53430 (pupa_console_real_putchar): New prototype.
53431 (pupa_console_putchar): Removed.
53432 (pupa_console_checkkey): Exported.
53433 (pupa_console_getkey): Likewise.
53434
53435 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
53436 characters.
53437
53438 * kern/term.c (pupa_term_set_current): Rewritten.
53439 (pupa_putchar): Likewise.
53440 (pupa_putcode): New function.
53441
53442 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
53443 (pupa_console_real_putchar): ... this.
53444 (pupa_vga_set_mode): New function.
53445 (pupa_vga_get_font): Likewise.
53446
53447 * normal/command.c: Include pupa/term.h.
53448 (terminal_command): New function.
53449 (pupa_command_init): Register the command "terminal".
53450
53451 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
53452 (DISP_UP): Likewise.
53453 (DISP_RIGHT): Likewise.
53454 (DISP_DOWN): Likewise.
53455 (DISP_HLINE): Likewise.
53456 (DISP_VLINE): Likewise.
53457 (DISP_UL): Likewise.
53458 (DISP_UR): Likewise.
53459 (DISP_LL): Likewise.
53460 (DISP_LR): Likewise.
53461
53462 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 53463
977329f5 534642003-02-08 NIIBE Yutaka <gniibe@m17n.org>
53465
53466 * util/resolve.c (pupa_util_resolve_dependencies): BUG
53467 FIX. Reverse the path_list.
53468
53469 * include/pupa/normal.h: Export pupa_register_command and
53470 pupa_unregister_command.
53471
53472 * hello/hello.c (pupa_cmd_hello): New module.
53473 * conf/i386-pc.rmk: Added hello.mod.
53474
1f5ab428 534752003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
53476
53477 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 53478
1f5ab428 53479 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
53480 (compress_kernel): New variable.
53481 (generate_image): Heavily modified to support compressing a
53482 large part of the core image.
53483
53484 * util/misc.c (pupa_util_read_image): Fix a file descriptor
53485 leak.
53486 (pupa_util_load_image): New function.
53487
53488 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
53489 (pupa_compressed_size): New variable.
53490 (codestart): Enable Gate A20 here.
53491 Decompress the compressed part of the core image.
53492 Rearrange the code to put functions and variables which are
53493 required for initialization in the non-compressed part.
53494 Include lzo1x.S.
53495
53496 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
53497 here.
53498
53499 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
53500
f19dbdb7 53501 * include/pupa/i386/pc/kernel.h
1f5ab428 53502 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
53503 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
53504 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53505 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53506 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
53507
53508 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
53509
53510 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
53511 (Utility#rule): Likewise.
53512
53513 * configure.ac: Check if LZO is available.
53514
ce5bf700 535152003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
53516
53517 * include/pupa/normal.h: New file.
53518 * include/pupa/setjmp.h: Likewise.
53519 * include/pupa/i386/setjmp.h: Likewise.
53520 * normal/cmdline.c: Likewise.
53521 * normal/command.c: Likewise.
53522 * normal/main.c: Likewise.
53523 * normal/menu.c: Likewise.
53524 * normal/i386/setjmp.S: Likewise.
f19dbdb7 53525
ce5bf700 53526 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
53527 (pupa_rescue_cmd_initrd): Likewise.
53528
53529 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
53530 Likewise.
53531
53532 * kern/i386/pc/startup.S (translation_table): New variable.
53533 (translate_keycode): New function.
53534 (pupa_console_getkey): Call translate_keycode.
53535
53536 * kern/rescue.c (attempt_normal_mode): New function.
53537 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
53538 it failed, print a message.
53539
53540 * kern/mm.c (pupa_real_malloc): Print more information when a
53541 free magic is broken.
53542 (pupa_free): If the first free header is not free actually, set
53543 it to P.
53544
53545 * kern/main.c (pupa_load_normal_mode): Just load the module
53546 "normal".
53547 (pupa_main): Don't print the message
53548 "Entering into rescue mode..." here.
53549
53550 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
53551 Declared.
53552 (pupa_rescue_cmd_initrd): Likewise.
53553 (pupa_rescue_cmd_initrd): Likewise.
53554
53555 * include/pupa/symbol.h (FUNCTION): Specify the type.
53556 (VARIABLE): Likewise.
53557
53558 * include/pupa/err.h (pupa_err_t): Added
53559 PUPA_ERR_UNKNOWN_COMMAND.
53560
53561 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
53562 (pupa_dl_get_prefix): Likewise.
53563
53564 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
53565 Added _chain.mod and _linux.mod instead of chain.mod and
53566 linux.mod.
53567 (chain_mod_SOURCES): Renamed to ...
53568 (_chain_mod_SOURCES): ... this.
53569 (chain_mod_CFLAGS): Renamed to ...
53570 (_chain_mod_CFLAGS): ... this.
53571 (linux_mod_SOURCES): Renamed to ...
53572 (_linux_mod_SOURCES): ... this.
53573 (linux_mod_CFLAGS): Renamed to ...
53574 (_linux_mod_CFLAGS): ... this.
53575 (normal_mod_SOURCES): New variable.
53576 (normal_mod_CFLAGS): Likewise.
53577 (normal_mod_ASFLAGS): Likewise.
53578
535792003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
53580
53581 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
53582 possible.
53583
fe6b695a 53584 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 53585 recursively.
53586 (pupa_dl_unref): Unrefer depending modules recursively.
53587 Don't call pupa_dl_unload implicitly, because PUPA can crash if
53588 a module is unloaded before one depending on that module is
53589 unloaded.
53590 (pupa_dl_unload): Unload depending modules explicitly,
53591 if possible.
53592
c04da074 535932003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53594
53595 * include/pupa/i386/pc/linux.h: New file.
53596 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 53597
c04da074 53598 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53599 Removed.
53600 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53601 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53602 of PUPA_CHAINLOADER_BOOT_SECTOR.
53603
53604 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53605 (pupa_linux_prot_size): New variable.
53606 (pupa_linux_tmp_addr): Likewise.
53607 (pupa_linux_real_addr): Likewise.
53608 (pupa_linux_boot_zimage): New function.
53609 (pupa_linux_boot_bzimage): Likewise.
53610
53611 * kern/i386/pc/init.c (struct mem_region): New structure.
53612 (MAX_REGIONS): New macro.
53613 (mem_regions): New variable.
53614 (num_regions): Likewise.
53615 (pupa_os_area_addr): Likewise.
53616 (pupa_os_area_size): Likewise.
53617 (pupa_lower_mem): Likewise.
53618 (pupa_upper_mem): Likewise.
53619 (add_mem_region): New function.
53620 (compact_mem_regions): Likewise.
53621 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53622 the size of the conventional memory and that of so-called upper
53623 memory (before the first memory hole).
53624 Instead of adding each found region to free memory, use
53625 add_mem_region and add them after removing overlaps.
53626 Also, add only 1/4 of the upper memory to free memory. The rest
53627 is used for loading OS images. Maybe this is ad hoc, but this
53628 makes it much easier to relocate OS images when booting.
53629
53630 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53631 (pupa_enter_rescue_mode): Don't register initrd and module.
53632
53633 * kern/mm.c: Include pupa/dl.h.
53634
53635 * kern/main.c: Include pupa/file.h and pupa/device.h.
53636
53637 * kern/loader.c (pupa_loader_load_module_func): Removed.
53638 (pupa_loader_load_module): Likewise.
53639
53640 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53641 ``.o''.
53642
53643 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53644 (pupa_linux_tmp_addr): Likewise.
53645 (pupa_linux_real_addr): Likewise.
53646 (pupa_linux_boot_zimage): Likewise.
53647 (pupa_linux_boot_bzimage): Likewise.
53648
53649 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53650 (pupa_upper_mem): Likewise.
53651 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53652 module is too dangerous.
53653
53654 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53655 (pupa_os_area_size): Likewise.
53656 (pupa_loader_set): Remove the first argument. Loader doesn't
53657 manage modules or initrd any longer.
53658 (pupa_loader_load_module): Removed.
53659
53660 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53661 (linux_mod_SOURCES): New variable.
53662 (linux_mod_CFLAGS): Likewise.
53663
a13f9237 536642003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53665
53666 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53667 the length of a blocklist correctly.
53668
53669 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53670 Use ioctl only if the OS file is a block device.
53671 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53672 not very useful for normal files.
53673
53674 * kern/main.c (pupa_set_root_dev): New function.
53675 (pupa_load_normal_mode): Likewise.
53676 (pupa_main): Call those above.
53677
53678 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53679 pupa_uint16_t.
53680
53681 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53682
a5ffe966 536832003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53684
53685 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53686 (setup): Configure the installed partition information and the
53687 dl prefix.
53688
53689 * loader/i386/pc/chainloader.c (my_mod): New variable.
53690 (pupa_chainloader_unload): New function.
53691 (pupa_rescue_cmd_chainloader): Refer itself.
53692 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53693
53694 * kern/i386/pc/startup.S (install_partition): Removed.
53695 (version_string): Likewise.
53696 (config_file): Likewise.
53697 (pupa_install_dos_part): New variable.
53698 (pupa_install_bsd_part): Likewise.
53699 (pupa_prefix): Likewise.
53700 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53701
53702 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53703 and pupa/misc.h.
53704 (make_install_device): New function.
53705 (pupa_machine_init): Set the dl prefix.
53706
53707 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53708 (buf): Renamed to ...
53709 (linebuf): ... this.
53710 (pupa_rescue_cmd_prefix): New function.
53711 (pupa_rescue_cmd_insmod): Likewise.
53712 (pupa_rescue_cmd_rmmod): Likewise.
53713 (pupa_rescue_cmd_lsmod): Likewise.
53714 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53715 rmmod and lsmod.
53716
53717 * kern/mm.c (pupa_memalign): If failed even after invalidating
53718 disk caches, unload unneeded modules and retry.
53719
53720 * kern/misc.c (pupa_memmove): New function.
53721 (pupa_memcpy): Removed.
53722 (pupa_strcpy): New function.
53723 (pupa_itoa): Made static.
53724
53725 * kern/dl.c (pupa_dl_iterate): New function.
53726 (pupa_dl_ref): Likewise.
53727 (pupa_dl_unref): Likewise.
53728 (pupa_dl_unload): Return if succeeded or not.
53729 (pupa_dl_unload_unneeded): New function.
53730 (pupa_dl_unload_all): Likewise.
53731 (pupa_dl_init): Renamed to ...
53732 (pupa_dl_set_prefix): ... this.
53733 (pupa_dl_get_prefix): New function.
53734
53735 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53736 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53737 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53738 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53739 (pupa_install_dos_part): Declared.
53740 (pupa_install_bsd_part): Likewise.
53741 (pupa_prefix): Likewise.
53742 (pupa_boot_drive): Likewise.
53743
53744 * include/pupa/types.h: Fix a typo.
53745
53746 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53747 pupa_memmove.
53748 (pupa_memmove): Declared.
53749 (pupa_strcpy): Likewise.
53750
53751 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
53752 pupa_mod_init takes one argument, its own module.
53753 (pupa_dl_unload_unneeded): Declared.
53754 (pupa_dl_unload_all): Likewise.
53755 (pupa_dl_ref): Likewise.
53756 (pupa_dl_unref): Likewise.
53757 (pupa_dl_iterate): Likewise.
53758 (pupa_dl_init): Renamed to ...
53759 (pupa_dl_set_prefix): ... this.
53760 (pupa_dl_get_prefix): Declared.
53761
53762 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 53763 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 53764 unloaded.
53765 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53766 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53767
53768 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53769 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53770
012d7999 537712003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53772
53773 * util/i386/pc/pupa-setup.c (setup): Define the internal
53774 function find_first_partition_start at the top level, because GCC
53775 3.0.x cannot compile internal functions in deeper scopes
53776 correctly.
53777 (find_root_device): Use lstat instead of stat.
53778 Don't follow symbolic links.
53779 Fix the path-constructing code.
53780
53781 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53782 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53783 by a BLKGETSIZE ioctl first, because block devices don't fill
53784 the member st_mode of the structure stat on Linux.
53785 [__linux__] (linux_find_partition): Use a temporary buffer
53786 REAL_DEV for the working space. Copy it to DEV before returning.
53787 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53788 buffer cache consistent.
53789 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53790 strncmp. The previous value was merely wrong.
53791 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53792
53793 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53794 FAT size is 12. The previous value was merely wrong.
53795
53796 * kern/main.c (pupa_main): Don't split the starting message from
53797 newlines.
53798
53799 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53800 LF, because BIOS goes crazy about character attributes in this
53801 case.
53802
1cc73a62 538032003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53804
53805 * include/i386/pc/util/biosdisk.h: New file.
53806 * util/i386/pc/biosdisk.c: Likewise.
53807 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 53808
1cc73a62 53809 * Makefile.in (INCLUDE_DISTFILES): Added
53810 include/pupa/i386/pc/util/biosdisk.h.
53811 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
53812 directory util/i386/pc.
53813 (install-local): Added a rule for sbin_UTILITIES.
53814 (uninstall): Likewise.
53815
53816 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53817
53818 * util/misc.c (xrealloc): New function.
53819 (pupa_malloc): Likewise.
53820 (pupa_free): Likewise.
53821 (pupa_realloc): Likewise.
53822 (pupa_stop): Likewise.
53823 (pupa_putchar): Likewise.
53824
53825 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53826
53827 * include/pupa/util/misc.h (xrealloc): Declared.
53828
53829 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53830 macro.
53831 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53832 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53833
53834 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53835 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53836
53837 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53838 way should be implemented.
53839 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53840
53841 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53842 the size of NAME for safety.
53843 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53844 0x88.
53845
53846 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53847 (pupa_setup_SOURCES): Likewise.
53848
53849 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53850
08b70fe8 538512002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53852
53853 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53854 bunch of pushl's from pusha, because this destroys the return
53855 value.
53856
62ddcc8f 538572002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53858
53859 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53860 This means that any missing prototypes could be fatal. Also, you
53861 must take care when writing assembly code. See the comments at
53862 the beginning of startup.S, for more details.
f19dbdb7 53863
62ddcc8f 53864 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53865 compilation mechanism.
53866 (pupa_chainloader_real_boot): Likewise.
53867 (pupa_biosdisk_rw_int13_extensions): Likewise.
53868 (pupa_biosdisk_rw_standard): Likewise.
53869 (pupa_biosdisk_check_int13_extensions): Likewise.
53870 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53871 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53872 (pupa_get_memsize): Likewise.
53873 (pupa_get_mmap_entry): Likewise.
53874 (pupa_console_putchar): Likewise.
53875 (pupa_console_setcursor): Likewise.
53876 (pupa_getrtsecs): Use pushl instead of push.
53877
53878 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53879 memory instead of the stack for a mmap entry, because some
53880 BIOSes may ignore the maximum size and overflow.
53881
53882 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53883
53884 * genmk.rb (PModule#rule): Compile automatically generated
53885 sources with module-specific CFLAGS as well as other sources.
53886
9962ed99 538872002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53888
53889 * configure.ac: Check ld.
53890 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53891 respectively, before checking endianness and sizes.
53892
53893 * Makefile.in (LD): New variable.
f19dbdb7 53894
abdfc3c5 538952002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53896
53897 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53898
6a161fa9 538992002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53900
53901 * Changelog: New file.
53902