]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
[grub2.git] / ChangeLog
CommitLineData
840a2c05
AB
12013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
2
3 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
4 Add verbose information which firmware directories were tried.
5
35248820
AB
62013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
7
8 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
9 function to optionally redirect all three standard descriptors.
10 Redefine grub_util_exec, grub_util_exec_redirect and
11 grub_util_exec_redirect_null to use it.
12 * include/grub/emu/exec.h: Define it.
13 * include/grub/osdep/exec_unix.h: Delete, it is unused.
14 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
15 Use grub_util_exec_redirect_all to redirect error to NULL.
16
2a123f4c
VS
172013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/tests/sleep_test.c: Silence spurious warning.
20
316c8d9a
VS
212013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22
23 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
24 linker trying to "fixup" the code.
25
8fcce8d5
VS
262013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/kern/x86_64/xen/startup.S: Align stack.
29
6f1f6a0c
VS
302013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31
32 Add support for converting PE+ to Elf64.
33
66a07ce2
VS
342013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
37
cc6fb517
VS
382013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
39
40 Remove practice of assigning random const pointers to device id.
41
42 This is not required as cache code already checks driver id as well.
43
f009f07c
VS
442013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
47 with mingw.
48
9fdec226
VS
492013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * include/grub/efi/api.h: Don't use call wrappers when compiled with
52 mingw or cygwin as API already matches.
53
d87cb3ae
VS
542013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
57
3e38c31a
VS
582013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
61 not on long.
62
f4171ebd
VS
632013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
64
65 Handle X86_64_PC64 relocation.
66
67 Those are generated by some cygwin compilers.
68
252a289c
VS
692013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
70
71 Determine the need for mingw-related stubs at compile time rather than
72 using not very significant $target_os.
73
23d2abc3
VS
742013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
77 may not work with ELF.
78
4f979ccb
VS
792013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
80
81 Use unix functions for temporary files and special files on cygwin.
82
37378f74
VS
832013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
84
85 Define functions explicitly rather than using --defsym in tests
86 whenever possible. Respect locality in remaining cases.
87
6a09d83e
VS
882013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
91
e477187b
AB
922013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
93
94 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
95 unlikely errors when getting EFI variables and make exhaustive search
96 for all BootNNNN variables to find matching one.
97
80b865bd
IC
982013-12-15 Ian Campbell <ijc@hellion.org.uk>
99
100 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
101
04b02857
VS
1022013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
103
104 New functional test for sleep function.
105
106 This test allows to check sleep without qemu. Keep qemu version as
107 well as functional test won't notice if all clocks are going too fast
108 or too slow.
109
39711101
VS
1102013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
111
112 Add explicit sysv_abi on amd64 asm routines.
113
d99af4f0
VS
1142013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
117 num_table_entries.
118
71043684
VS
1192013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
122 functions.
123
111bf5db
VS
1242013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
127 appropriate.
128
24ca71c9
VS
1292013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
132
48ba5c0c
VS
1332013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
136 appropriate.
137
8ae67045
VS
1382013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
141
142 In case of quick removal of loopback and adding another one it may
143 get same ID, confusing the cache system.
144
ed559310
VS
1452013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
148 appropriate.
149
8fa26279
VS
1502013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
153 than converting to long.
154
6f5f3337
VS
1552013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
158
e7c418c5
VS
1592013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
162 than almost useless pointer.
163
7e47e27b
VS
1642013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
165
166 Add gcc_struct to all packed structures when compiling with mingw.
167
168 Just "packed" doesn't always pack the way we expect.
169
ae8159b9
VS
1702013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
173
74e7ad66
VS
1742013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * util/grub-pe2elf.c: Fix handling of .bss.
177
814442ba
VS
1782013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
179
180 Implement windows flavour of EFI install routines.
181
5f5bb107
VS
1822013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
185
a24725cc
VS
1862013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
187
188 Change grub_install_register_efi interface to pass GRUB device.
189
190 This allows grub_install_register_efi to request partition info
191 directly.
192
38933cee
VS
1932013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
194
195 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
196
6d3cfe50
VS
1972013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
198
199 Do not use TCHAR string functions as they are not available on cygwin.
200
4bad23a1
VS
2012013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
202
203 Workaround windows bug when querying EFI system partition parameters.
204
6a5fe132
VS
2052013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
208 by using bitfields.
209
bc8fcf4b
VS
2102013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
213
60b967be
VS
2142013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
215
216 Make i386-* other than i386-pc compileable under cygwin.
217
6dc33377
VS
2182013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
219
220 Fix definition of grub_efi_hard_drive_device_path. Take care that
221 existing code would work even if by some reason bogus definition is
222 used by EFI implementations.
223
f2c6ff15
VS
2242013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
227
6b8a1625
VS
2282013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
231 invocation.
232
954c723a
VS
2332013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * util/config.c: Remove trailing newline from distributor in simple
236 parsing.
237
607a39f9
VS
2382013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * include/grub/efi/api.h: Rename protocol and interface to avoid
241 conflict.
242
df6fedca
VS
2432013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * .gitignore: Add .exe variants. Add missing files. Remove few outdated
246 entries.
247
f684d7e1
VS
2482013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * grub-core/osdep/exec.c: Use unix version on cygwin.
251
0df77d79
VS
2522013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
253
254 Implement multiboot2 EFI BS specification.
255
dafff9ce
VS
2562013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/normal/charset.c: Fix premature line wrap and crash.
259 Crash happened only in some cases like a string starting at the
260 half of the screen of same length.
261
6644d973
VS
2622013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
265 with EFI counterpart.
266
44bbfa33
VS
2672013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
268
269 Propagate the EFI commits to x86-efi specific parts.
270
3e3dff24
VS
2712013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/commands/efi/lssal.c: Fix terminating condition.
274
316dda71
VS
2752013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
276
277 Introduce grub_efi_packed_guid and use it where alignment is not
278 guaranteed.
279
219401b8
VS
2802013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * include/grub/efi/api.h (grub_efi_device_path): Define length as
283 unaligned u16 rather than u8[2].
284
30d00537
VS
2852013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
288 for relocation range.
289
979742bc
VS
2902013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
293 non-function pcrel21b relocation. It happens with .text.unlikely
294 section.
295
16c8f785
LL
2962013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
297
298 * make MAX_USABLE_ADDRESS platform-specific
299 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
300
3f1423e7
LL
3012013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
302
303 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
304
dd73313c
JM
3052013-12-09 Jon McCune <jonmccune@google.com>
306
307 * Add --no-rs-codes flag to optionally disable reed-solomon codes
308 in grub-install and grub-bios-setup for x86 BIOS targets.
309
eaf01c25
VS
3102013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
311
312 Add missing compile and link options for sparc64-emu.
313
7a148da6
VS
3142013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
315
316 Implement sparc64 trampolines (needed for sparc64-emu).
317
21eee750
VS
3182013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
321 range of R_SPARC_HI22.
322 Implement R_SPARC_LM22.
323
7b54b626
VS
3242013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
327 Do not explicitly check for symbol table as it's already checked in
328 platform-independent layer.
329
9a945e2a
VS
3302013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
331
332 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
333 on ia64 as __clear_cache is a dummy on ia64.
334
4f4ea1b4
VS
3352013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
338 Do not explicitly check for symbol table as it's already checked in
339 platform-independent layer.
340
fe4ae213
CW
3412013-12-09 Colin Watson <cjwatson@ubuntu.com>
342
343 * util/grub-mkconfig.in: Add missing newline to output.
344
78b2b0a1
VS
3452013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
348 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
349
d14772c4
VS
3502013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
353 compilation with GCC <= 4.2.
354 * grub-core/kern/emu/argp_common.c: Likewise.
355
388f3cd0
VS
3562013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
359 right platform rather than leaking to sparc64-emu.
360
11e4167a
VS
3612013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
364 But ensure that the variables in question are indeed unsigned.
365
fa7eb63d
VS
3662013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
369
50b3a68d
VS
3702013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
371
372 Remove grub_memalign on emu.
373
fbbfb6ab
VS
3742013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
377 truncate incomplete lines but instead flushes them.
378
a19293cb
VS
3792013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
380
381 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
382 and implement windows variant.
383
d5c14e1e
VS
3842013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
385
386 Fix mips-emu compilation.
387
b75db69a
VS
3882013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * configure.ac: Check for freetype library usability.
391
c311ced5
VS
3922013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
393
394 Make arm-emu work.
395
c8fd2ddf
VS
3962013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
399
c50e5f45
AB
4002013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
401
402 * docs/grub.texi (Environment): Update color_normal and color_highlight
403 defaults (light-gray instead of white).
404
bb05e313
AB
4052013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
406
407 * grub-core/normal/main.c (INIT): Set default color to light-gray
408 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
409 and apparently BIOS defaults.
410
f23bc651
VS
4112013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
412
413 Transform -C option to grub-mkstandalone to --core-compress available
414 in all grub-install flavours.
415
4c4ea9c7
VS
4162013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
417
418 Merge GRUBFS and GRUB_FS variables.
419
92e9352d
AB
4202013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
421
422 Revert commit 69ca97c820, it caused failures when using OS device name
423 in grub-install. Instead just strip off parenthesis in grub-install
424 if (hdX) was passed.
425
f585c905
AB
4262013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
427
428 * util/grub-install.c (push_partmap_module): Add helper to convert
429 partmap names to module names and use it in probe_mods(). Fixes
430 failure to find partmap modules in diskfilter case.
431
5ff24907
VS
4322013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * configure.ac: Make unifont mandatory on coreboot.
435
0277eab7
VS
4362013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * configure.ac: Skip unifont 6.3 pcf and bdf.
439
4861b6c8
VS
4402013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * Makefile.am: Remove partial font files if generation failed.
443
3100cdc7
AB
4442013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
445
446 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
447 strings.
448 * include/grub/util/misc.h: Define it ...
449 * util/grub-install.c (device_map_check_duplicates): ... and use it.
450
ad73cc33
AB
4512013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
452
453 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
454 ${grub_probe}.
455
41822625
VS
4562013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
457
458 Don't add -mlong-calls when compiling with clang.
459
896f483d
VS
4602013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * configure.ac: Fix a typo.
463
8c534b85
VS
4642013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
465
466 Revamp relocation handling.
467
468 Move more code to common dl.c. Add missing veneers for arm and arm64.
469 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
470
a846dd4b
VS
4712013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
474
aa437b58
MG
4752013-12-05 Mike Gilbert <floppym@gentoo.org>
476
477 * INSTALL: Raise minimum python version to 2.6.
478 * gentpl.py: Use python3-style print function.
479
b0f311f4
VS
4802013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * util/grub-install.c: Mention Boot* variable.
483
59b38922
CW
4842013-12-05 Colin Watson <cjwatson@ubuntu.com>
485
486 * grub-core/osdep/linux/hostdisk.c
487 (grub_util_find_partition_start_os): Initialise start to avoid
488 spurious compiler warning.
489
0480665b
CW
4902013-12-05 Colin Watson <cjwatson@ubuntu.com>
491
492 On Linux, read partition start offsets from sysfs if possible, to
493 cope with block device drivers that don't implement HDIO_GETGEO.
494 Fixes Ubuntu bug #1237519.
495
496 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
497 function.
498 (sysfs_partition_start): Likewise.
499 (grub_util_find_partition_start_os): Try sysfs_partition_start
500 before HDIO_GETGEO.
501
bbeee1c4
LL
5022013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
503
504 * grub-core/kern/fdt.c: Update struct size when adding node.
505
e5ed2f69
VS
5062013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
507
508 Handle unaligned .bss on sparc64.
509
510 Current code improperly assumes that both __bss_start and _end are
511 aligned to 8-bytes. Eliminating this assumption and explicitly align
512 modules.
513
4a73746a
VS
5142013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
517 so it doesn't land in the middle of loaded image.
518
382b500e
VS
5192013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * configure.ac: Move all warning options that may be absent in
522 gcc >= 3.1 to optional.
523
524 Note: while this allows to compile with older GCC, official requirements
525 remain the same and no support for older GCC.
526
3a82f8bb
CW
5272013-12-04 Colin Watson <cjwatson@ubuntu.com>
528
529 Copying the themes directory in grub-shell isn't
530 parallel-test-friendly and breaks on the second test when the source
531 directory is read-only (as in "make distcheck"). Instead, add a
532 hidden --themes-directory option to grub-mkrescue et al, and use it
533 in grub-shell.
534
e3046431
VS
5352013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
538 as it's no longer necessarry.
539
bdb6090d
VS
5402013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * configure.ac: Allow compilation with older GCC for ARM.
543
b73b70eb
VS
5442013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
547 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
548 ppc.
549
8a3f0a24
VS
5502013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
553
6f07c4e4
VS
5542013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
555
556 Pass font config to config.h and not by TARGET_CFLAGS as adding
557 arguments doesn't work if TARGET_CFLAGS is specified on command
558 line.
559
60d5e9cb
VS
5602013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * configure.ac: Add -Wvla if compiler supports it.
563
cd15c394
VS
5642013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
565
566 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
567 Remove variable length arrays.
568 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
569
bb6e299c
VS
5702013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
573
85eb579a
VS
5742013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
575
576 * include/grub/types.h: Declare all byteswaps as inline functions
577 except compile-time ones.
578
579 Solves variable shadowing in constructions like
580 cpu_to_le (le_to_cpu(x) + 1).
581
47f88cc9
VS
5822013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * grub-core/kern/efi/efi.c: Remove variable length arrays.
585
40b5739f
VS
5862013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
587
588 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
589 minutes.
590
234d9346
VS
5912013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
594 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
595
0c0eab52
CW
5962013-12-03 Colin Watson <cjwatson@ubuntu.com>
597
598 * grub-core/Makefile.core.def (setjmp): Distribute
599 lib/arm64/setjmp.S.
600
44d48847 6012013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
602
603 Add a new timeout_style environment variable and a corresponding
604 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
605 controls hidden-timeout handling more simply than the previous
606 arrangements, and pressing any hotkeys associated with menu entries
607 during the hidden timeout will now boot the corresponding menu entry
608 immediately.
609
610 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
611 generates a warning, and if it shows the menu it will do so as if
612 the second timeout were not present. Other combinations are
613 translated into reasonable equivalents.
614
10955cda
CW
615 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
616
9e4e6ddf
VS
6172013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * util/config.c: Add missing pointer adjustment.
620 Reported by: qwertial
621
5037aa9a
AB
6222013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
623
624 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
625 directly, not via `cpu' link, to fix libgrub.pp generation.
626
8a952d20
VS
6272013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
628
629 New port arm64-efi.
630
be0d4555
AB
6312013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
632
633 * docs/grub.texi (sleep): Document exit codes.
634
d74b9a1d
VS
6352013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
636
637 Ensure that -mno-unaligned-access or some equivalent option is used.
638
35de6d4b
VS
6392013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
642 -march=armv3.
643
ce55ed03
VS
6442013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
645
646 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
647
8ddf84bf
CW
6482013-11-29 Colin Watson <cjwatson@ubuntu.com>
649
650 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
651 builds, since we don't have an EPS version of font_char_metrics.png.
652 Add leading dot to image extension per the Texinfo documentation.
653
fd0df6d0
CW
6542013-11-29 Colin Watson <cjwatson@ubuntu.com>
655
656 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
657 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
658 * util/grub-gen-widthspec.c: Likewise.
659 * util/grub-mkfont.c: Likewise.
660
69ca97c8
AB
6612013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
662
663 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
664 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
665 failed to install on (hdX).
666 * util/grub-setup.c (get_device_name): Remove, not needed after
667 above change.
668
eec893ae
VS
6692013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
672
621e167f
VS
6732013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * util/grub-fstest.c: Remove variable length arrays.
676
d54f647a
VS
6772013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/osdep/linux/ofpath.c: Check return value of read.
680
c8a0f1b2
VS
6812013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
684 computing crc32 rather than handling with md fundtions directly.
685
726409a5
VS
6862013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
689 checking fwstart.img rather than md fundtions directly.
690
422e6e88
VS
6912013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * util/grub-mkrescue.c (main): Check that fread succeeded.
694
af1faca3
VS
6952013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * conf/Makefile.common: Remove -mexplicit-relocs and
698 -DUSE_ASCII_FALLBACK on yeeloong.
699
700 -DUSE_ASCII_FALLBACK is already added by font snippets.
701 -mexplicit-relocs isn't needed is compiler/assemblera are
702 configured properly.
703 If they're not we shouldn't attempt to fix it by ourselves.
704 Binary compare between before and after shows no difference.
705
469021b4
VS
7062013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
709 sources in dependencies directly.
710
711 This was the only instance of "library" in core config. A bug was
712 reported that -fno-stack-protector wasn't passed to it. Instead of
713 figuring out why it failed just remove this construction used
714 needlessly.
715
83c256ba
VS
7162013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/osdep/unix/password.c (grub_password_get): Check that
719 fgets succeeded.
720
b67422d3
FL
7212013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
722
723 * docs/grub.texi (ls): Fix command description in case of a device name
724 passed as argument.
725
2d76b4d8
VS
7262013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
727
728 Eliminate variable length arrays in grub_vsnprintf_real.
729
730 A bit tricky because this function has to continue to work without
731 heap for short strings. Fixing prealloc to 32 arguments is reasonable
732 but make all stack references use 32-bit offset rather than 8-bit one.
733 So split va_args preparsing to separate function and put the prealloc
734 into the caller.
735
4f954122
VS
7362013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
737
738 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
739 Fixes build for windows.
740
b1f742c1
VS
7412013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * gentpl.py: Don't generate platform-dependent conditionals for
744 platform-independent targets.
745
16ef26fd
CW
7462013-11-27 Colin Watson <cjwatson@ubuntu.com>
747
748 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
749 references to mdadm from otherwise generic code.
750 (grub_util_exec_pipe): Likewise.
751 (grub_util_exec_pipe_stderr): Likewise.
752 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
753 This function calls vgs, not mdadm; adjust variable names
754 accordingly.
755
cf8c80ff 7562013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
757
758 Generate Makefile.*.am directly from gentpl.py, eliminating the use
759 of Autogen. The Autogen definitions files remain intact as they
760 offer a useful abstraction.
761
5c7206e4
CW
7622013-11-27 Colin Watson <cjwatson@ubuntu.com>
763
764 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
765 into no-ops, and use it in programs that copy files but do not need
766 to take special care to sync writes (grub-mknetdir, grub-rescue,
767 grub-mkstandalone).
768
fc3f2b72
CW
7692013-11-26 Colin Watson <cjwatson@ubuntu.com>
770
771 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
772 than hardcoding /usr/local/bin/xorriso.
773
1e4b3587
VS
7742013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
775
776 Add PCI command activation to all PCI drivers as required for coreboot
777 and maybe some other firmwares.
778
9208367d
VS
7792013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
782 and non-Apple variants of efiemu compile.
783
67b9b7af
AB
7842013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
785
786 * configure.ac: Add explicit check for linking format of
787 efiemu64; save it as EFIEMU64_LINK_FORMAT.
788 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
789 hardcoding linking format.
790
bee1b5ce
VS
7912013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
794 and not pkgdatadir.
795
07e3b047
CW
7962013-11-25 Colin Watson <cjwatson@ubuntu.com>
7972013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
798
799 Add a --locale-directory option to grub-install and related tools.
800
801 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
802 --locale-directory option.
803 (enum grub_install_options): Add
804 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
805 * util/grub-install-common.c (grub_install_help_filter): Handle
806 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
807 (grub_install_parse): Likewise.
808 (get_localedir): New function to check for a user-provided option
809 before trying grub_util_get_localedir.
810 (copy_locales): Use get_localedir rather than
811 grub_util_get_localedir. Handle differing locale directory layouts.
812 (grub_install_copy_files): Likewise.
813
61e1b9a4
VS
8142013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
817 Don't rely on PATH_MAX.
818
c98dd165
VS
8192013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/genmoddep.awk: Use more portable && rather than and.
822
ff1c277e
VS
8232013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
826 an object after data. While it doesn't seem right solution, it
827 works well enough and OSX isn't main compilation platform.
828
c8f7614b
VS
8292013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
832 While it doesn't seem right solution, it works well enough and
833 OSX isn't main compilation platform.
834
246a434f
VS
8352013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * configure.ac: Add -static to LDFLAGS when using apple linker to
838 prevent it from pulling in dynamic linker.
839
5c066a81
VS
8402013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
841
842 Apple assembly doesn't handle symbol arithmetic well. So define an
843 offset symbol in boot.S and use it.
844
78f961ef
VS
8452013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
846
847 Apple assembly doesn't handle symbol arithmetic well. So instead
848 of getting addres of kernel_sector + 4 define kernel_sector_high.
849 It also makes code more readable.
850
09bc0a57
VS
8512013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
852
853 With Apple assembly in .macro environvemnt you have to use $$ instead
854 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
855 to $$x on Apple and to $x on everything else.
856
b700a427
VS
8572013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
860 OBJCONV.
861
4480b95d
VS
8622013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
865 and non-Apple. This instruction is shorter and faster,
866 so no reason not to use it on both.
867
e77c81f6
VS
8682013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
871 .text when compiling for Apple.
872
971dbee5
VS
8732013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/term/arc/console.c: Add missing cast to silence warning.
876
6f2e82be
VS
8772013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
880 %dx restore the probe worked on non-existant drive. Reorganize the
881 code a little bit to free 2 bytes necessary for push/pop.
882
9eec9699
VS
8832013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
886 Add missing cast to silence warning.
887
5ae5c54c
KPA
8882013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
889
890 * util/grub-install.c (update_nvram): Support --no-nvram flag
891 for EFI targets.
892
7b04fe6c
VS
8932013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
894
895 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
896
e67566ce
VS
8972013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * util/garbage-gen.c: Add missing include of sys/time.h.
900
f93ddcfd
VS
9012013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
902
903 Don't add -mflush-func if it's not supported by compiler.
904
1bba40f5
VS
9052013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
906
907 Move common BIOS/coreboot memory map declarations to
908 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
909
f65e14dc
AB
9102013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
911
912 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
913
14a94bba
VS
9142013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * INSTALL: Document why older clang versions aren't appropriate.
917
8109c5d4
VS
9182013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * INSTALL: Document about clang for mips.
921
a92b5cb8
VS
9222013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
925 clang.
926
4a23e2fe
VS
9272013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
928
929 Add *-xen to the list of grub-install-common platforms.
930
a3ba7410
VS
9312013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
934 3 last commits.
935
e1c22419
VS
9362013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
939
189090ce
VS
9402013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
943 with -mcmodel=large.
944
1a5b7b40
VS
9452013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
948 range-checking for 32-bit quantities.
949
9cf12b20
VS
9502013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * configure.ac: Compile with -fPIC when compiling with clang on
953 mips.
954
63a45330
VS
9552013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
958 when compiling with clang.
959
4a0aaad0
VS
9602013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
961
962 clang emits calls to abort () under some unknown conditions.
963 Export abort () when compiling with clang.
964
095bb1bf
VS
9652013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * docs/grub-dev.texi: Document stack and heap sizes.
968
3937bd96
VS
9692013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * include/grub/i386/pc/memory.h: Decrease
972 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
973 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
974 The binary doesn't change (checked). It's more to better reflect actual
975 usage.
976
ddb3efc9
VS
9772013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
980 at compile time that enough of scratch size is available.
981
4e42521d
VS
9822013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
983
984 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
985 Previously we misaligned stack by 8 in startup.S and compensated
986 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
987 right behaviour is to align stack in startup.S and keep it aligned
988 in callwrap.S. startup.S part was committed few commits before. This
989 takes care of callwrap.S.
990 Reported by: Gary Lin.
991
054efe54
VS
9922013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
995 .data and .bss. May happen if compiler and assembly use different
996 alignment.
997
a0e1befb
VS
9982013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 On MIPS handle got16 relocations to local symbols in an ABI-compliant
1001 way.
1002
c36c73f6
VS
10032013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 Add support for a new magic symbol _gp_disp on mips to handle PIC
1006 binaries.
1007
6f4a19f5
VS
10082013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 Use $t9 for indirect calls from asm to C as PIC ABI requires.
1011
0d8f04cd
VS
10122013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
1015 when rest of GRUB is compiled for hisher stepping. Instead use
1016 .set mips3/.set mips1 around cache and sync opcodes.
1017
49060520
VS
10182013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
1021 do essentially the same thing, do it in similar way.
1022
c6a823e2
CW
10232013-11-21 Colin Watson <cjwatson@ubuntu.com>
1024
1025 * util/grub-mkrescue.c (main): If a source directory is not
1026 specified, read platform-specific files from subdirectories of
1027 pkglibdir, not pkgdatadir.
1028
b7f9aedf
CW
10292013-11-21 Colin Watson <cjwatson@ubuntu.com>
1030
1031 * grub-core/normal/progress.c: Remove unused file.
1032
7dd0a303
VS
10332013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
1036 array.
1037
ca120e31
VS
10382013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
1041 than grub.cfg.
1042
48eb35cd
VS
10432013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * coreboot.cfg: Add missing file.
1046
7f20dbbc
VS
10472013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * Makefile.am: Allow STRIP to be empty when creating windowszip.
1050
55e706c9
AK
10512013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
1052
1053 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
1054 selectively skipping systems.
1055
4e7d433d
CW
10562013-11-19 Colin Watson <cjwatson@ubuntu.com>
1057
1058 * Makefile.util.def (grub-mkimage): Add
1059 grub-core/osdep/aros/config.c to extra_dist.
1060 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
1061 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
1062 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
1063 grub-core/gnulib-no-gets.diff.
1064
7d44ff7d
VS
10652013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 Add automated filesystem checking based on scripts I've used now for
1068 quite some time locally. Most of the test require root so they are
1069 skipped when run without necessarry privelegies.
1070
a8c3e5e3
CW
10712013-11-19 Colin Watson <cjwatson@ubuntu.com>
1072
1073 * util/grub-install.c (main): Adjust info messages to match
1074 installed paths of grub-bios-setup and grub-sparc64-setup.
1075
4402db3e
CW
10762013-11-19 Colin Watson <cjwatson@ubuntu.com>
1077
1078 * util/grub-install-common.c (copy_locales): Consistently use
1079 grub_util_get_localedir () rather than LOCALEDIR.
1080 (grub_install_copy_files): Likewise.
1081
7960d3e1
JT
10822013-11-19 Josh Triplett <josh@joshtriplett.org>
1083
1084 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
1085 16-byte boundary, as required by the x86-64 ABI, before calling
1086 grub_main. In some cases, GCC emits code that assumes this
1087 alignment, which crashes if not aligned. The EFI firmware is also
1088 entitled to assume that stack alignment without checking.
1089
d53f4900
JT
10902013-11-18 Josh Triplett <josh@joshtriplett.org>
1091
1092 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
1093 4k page boundaries as expected by firmware rather than 1k
1094 boundaries.
1095 (grub_mmap_malign_and_register): Likewise.
1096
bb2b275b
VS
10972013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
1100 fragmentation 512M is enough.
1101
45bf8b3a
VS
11022013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
1105 pointer to 32K. This is the size of cache element which is the most
1106 common allocation >1K. This way the pointer is always around blocks
1107 of 32K and so we keep performance while decreasing fragmentation.
1108
39ff43c5
VS
11092013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
1112 current memory when allocating large chunks. This significantly
1113 decreases memory fragmentation.
1114
60870be8
CW
11152013-11-18 Colin Watson <cjwatson@ubuntu.com>
1116
1117 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
1118 but for symmetry).
1119 * tests/lzocompress_test.in: Skip if lzop is not installed.
1120 * tests/xzcompress_test.in: Skip if xz is not installed.
1121
a1f00cc5
CW
11222013-11-18 Colin Watson <cjwatson@ubuntu.com>
1123
1124 * util/grub-mkrescue.c (main): Fix typo.
1125
74e632fe
VS
11262013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
1129 clock frequency to 200 MHz,
1130
efb8de49
VS
11312013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * tests/util/grub-shell.in: Increase console size to 1024x1024.
1134
b7526e78
VS
11352013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * Makefile.am (default_payload.elf): Add pata to loaded modules.
1138 Load config file from (cbfsdisk)/etc/grub.cfg.
1139
b40ce651
VS
11402013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * util/grub-install-common.c (grub_install_copy_files): Fix module
1143 destination directory.
1144
1e8e2e78
CW
11452013-11-18 Colin Watson <cjwatson@ubuntu.com>
1146
1147 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
1148 files have not been built.
1149
3bf4088b
CW
11502013-11-18 Colin Watson <cjwatson@ubuntu.com>
1151
1152 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
1153 Handle errors from mkstemp.
1154 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
1155
35c2851c
VS
11562013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
1159 on primary master on pseries.
1160
ea7c1a7d
VS
11612013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
1164 already loaded. This saves memory needed for tests,
1165
96adefdb
VS
11662013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
1169 work again.
1170
5e3cb8a7
VS
11712013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
1174 work again.
1175
256ee7ac
VS
11762013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
1179 master since with some combinations of qemu and firmware only primary
1180 IDE channel is available.
1181
f8b4c3b6
VS
11822013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
1185 low-memory platforms where we don't have enough memory for them.
1186 * grub-core/tests/videotest_checksum.c: Likewise.
1187
4bf70320
VS
11882013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
1191 already loaded. This saves memory needed for tests,
1192
a284320e
VS
11932013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 Fix handling of install lists.
1196
2df8f43d
VS
11972013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
1200
6f1bc8bc
VS
12012013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 On i386-ieee1275 we run in paged mode. So we need to explicitly map
1204 the devices before accessing them.
1205
04f39f6d
VS
12062013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
1209 as file argument.
1210
35d4761c
VS
12112013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
1214
33d02a42
VS
12152013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
1218 (grub_file_close): Free file->name.
1219
7bbb60cf
VS
12202013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * grub-core/commands/verify.c (free_pk): Plug memory leak.
1223 (grub_load_public_key): Likewise.
1224 (grub_verify_signature_real): Likewise.
1225 (grub_cmd_verify_signature): Likewise.
1226
da93d675
VS
12272013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
1230 memory leak.
1231
59c943ec
VS
12322013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
1235 (grub_longjmp): Restore r31.
1236 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
1237
4336b5d8
VS
12382013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
1241 modules to be in line with make_image_abs.
1242
44ce3a93
VS
12432013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
1246
1247 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
1248
7d400406
IC
12492013-11-17 Ian Campbell <ijc@hellion.org.uk>
1250
1251 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
1252
77dae919
VS
12532013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
1256 to leave some memory to firmware.
1257
0ab8e025
VS
12582013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
1261 of loading gfxterm as gfxterm is embed in kernel on some platforms.
1262 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
1263 Load gfxmenu.
1264
b80c2d6d
VS
12652013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
1268 now needs full arguments.
1269
6aa6077b
VS
12702013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * util/grub-mkrescue.c (main): Add trailing \n in
1273 .disk_label.contentDetails to be in line with previous shell script.
1274
66c00cb1
VS
12752013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
1278
3a129dba
VS
12792013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * util/grub-install-common.c (grub_install_parse): Recognize
1282 --compress=none like shell script did.
1283
8df6eff6
VS
12842013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * include/grub/misc.h: Replace check for __sparc64__ with one for
1287 __sparc__ as __sparc64__ isn't actually defined.
1288
889ebe92
VS
12892013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
1292 counterpart of fixing the naming of escc ports.
1293
d4d55b29
VS
12942013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 * util/grub-install-common.c (platforms): Fix the order of entries and
1297 remove useless field val.
1298
55e2c84f
VS
12992013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * util/grub-install.c: Add new option --no-bootsector to skip
1302 installing of bootsector. Accept --grub-setup=/bin/true as
1303 backwards-compatible synonym.
1304
cd46aa6c
VS
13052013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1306
1307 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
1308 order of qsort arguments (number of elements vs. element size).
1309
13102013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
1313 the function of these files exceeds what can be sanely handled in shell
1314 in posix-comaptible way. Also writing it in C extends the functionality
1315 to non-UNIX-like OS and minimal environments.
1316
9ef81064
VS
13172013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
1320 compiling to thumb2.
1321 * grub-core/kern/arm/cache_armv7.S: Likewise.
1322 * grub-core/lib/arm/setjmp.S: Likewise.
1323
11a77932
LL
13242013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1325
1326 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
1327 in grub_uboot_syscall
1328
080603f0
VS
13292013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 Decrease stack usage in lexer.
1332
1333 We have only 92K of stack and using over 4K per frame is wasteful
1334
1335 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
1336 as macros so that compiler would remove useless structure on stack.
1337 Better solution would be to fix flex not to put this structure on
1338 the stack but flex is external program.
1339
4f84ae0e
VS
13402013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 Decrease stack usage in signature verification.
1343
1344 We have only 92K of stack and using over 4K per frame is wasteful
1345
1346 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
1347 rather than stack.
1348 (grub_verify_signature_real): Likewise.
1349
e6a6182d
VS
13502013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 Decrease stack usage in mdraid 0.9x.
1353
1354 We have only 92K of stack and using over 4K per frame is wasteful
1355
1356 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
1357 rather than stack.
1358
1a454efe
VS
13592013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 Decrease stack usage in BtrFS.
1362
1363 We have only 92K of stack and using over 4K per frame is wasteful
1364
1365 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
1366 rather than stack.
1367
7b5d51d8
VS
13682013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 Decrease stack usage in JFS.
1371
1372 We have only 92K of stack and using over 4K per frame is wasteful
1373
1374 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
1375 stack. Note: this function is recursive.
1376 (grub_jfs_read_inode): Read only part we care about.
1377
593865b9
LL
13782013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1379
1380 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
1381 handling
7b5d51d8 1382
31c0cd43
AB
13832013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1384
1385 * configure.ac: Restore -nostdlib for libgcc symbols tests.
1386
c2fdb331
AB
13872013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1388
1389 * docs/grub.texi (Environment): Document cmdpath.
1390
9e18dfe2
AB
13912013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1392
1393 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1394 Remove "unused" attribute from arguments, they are used.
1395
59ba9d14
CW
13962013-11-15 Colin Watson <cjwatson@debian.org>
1397
1398 * .gitignore: Only ignore grub-mk* at the top level.
1399
23012db9
CW
14002013-11-15 Colin Watson <cjwatson@ubuntu.com>
1401
1402 * util/grub-reboot.in (usage): Fix a typo.
1403
6fcec439
VS
14042013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 Replace libgcc version of ctz with our own.
1407
1408 On upcoming arm64 port libgcc ctz* are not usable in standalone
1409 environment. Since we need ctz* for this case and implementation is
1410 in C we may as well use it on all concerned platforms.
1411
a9f25a08
VS
14122013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * configure.ac: Probe for linking format rather than guessing it based
1415 on target_os.
1416
c7995256
VS
14172013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
1420 "1" prior to handoff.
1421
1422 Reported by: M A Young.
1423
e1aa5b66
VS
14242013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
1427 \0 to all files.
1428
1429 Reported by: M A Young.
1430
da5ed5cf
VS
14312013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
1434 compilation on NetBSD.
1435
5757a93e
VS
14362013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * acinclude.m4: Don't add -P on initial nm test.
1439
1440 Note: even though this patch postdates Andrey's it bears 14 Nov as
1441 date due to timezone difference.
1442
a5986276
AB
14432013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
1444
1445 * grub-core/Makefile.core.def (signature_test): Add missing
1446 tests/signatures.h.
1447
0de172a0
CW
14482013-11-14 Colin Watson <cjwatson@ubuntu.com>
1449
1450 * util/grub-install_header: Set localedir here, since this file is
1451 where it's used.
1452 * util/grub-install.in: Remove setting of localedir.
1453 * util/grub-mkrescue.in: Likewise.
1454
da45f43c
VS
14552013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
1458
20aea949
VS
14592013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * configure.ac: Move nm checks to the end.
1462 Call grub_PROG_NM_WORKS.
1463 * acinclude.m4: New check grub_PROG_NM_WORKS.
1464 Use $TARGET_CFLAGS -c when compiling test binary.
1465
1326b9ae
CW
14662013-11-14 Colin Watson <cjwatson@ubuntu.com>
1467
1468 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
1469 unused variables.
1470
1fe26ab4
MG
14712013-11-14 Matthew Garrett <mjg@redhat.com>
1472
1473 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
1474 cmdpath to firmware directory.
1475
83e9c273
VS
14762013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
1479 at the start of second iteration.
1480
ec525c18
VS
14812013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
1484
93fcc7ad
VS
14852013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * Makefile.am (default_payload.elf): New target for easier coreboot
1488 build.
1489
57ffe934
VS
14902013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
1493 clang (not necessarry with -no-integrated-as).
1494 * include/grub/symbol.h [__arm__]: Likewise.
1495
2312f06c
VS
14962013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * configure.ac: Use -no-integrated-as on arm with clang.
1499 * INSTALL: Mention ARM compilation with clang.
1500
2416415c
VS
15012013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
1504 -mthumb-interwork.
1505
5da55172
CW
15062013-11-14 Colin Watson <cjwatson@ubuntu.com>
1507
1508 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
1509 code for indirect block handling.
1510
1511 Saves 185 bytes on compressed image.
1512
da770328
PFS
15132013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1514
1515 Fix make clean.
1516
1517 * Makefile.am: Remove build-grub-* in make clean.
1518
f02e6b56
PFS
15192013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1520
1521 New files to gitignore.
1522
1523 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
1524 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
1525
035a26c1
LL
15262013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1527
1528 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
1529
bc8a6137
LL
15302013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1531
1532 * .gitignore: fix rules for .dep* and add *.a post git migration
1533
6fe506b0
CW
15342013-11-13 Colin Watson <cjwatson@ubuntu.com>
1535
1536 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
1537 to match INSTALL.
1538
81a2e438
CW
15392013-11-13 Colin Watson <cjwatson@ubuntu.com>
1540
1541 * grub-core/kern/misc.c: Don't redirect divisions in the
1542 GRUB_UTIL case.
1543 * include/grub/misc.h: Likewise.
1544
9b45c073
CW
15452013-11-13 Colin Watson <cjwatson@ubuntu.com>
1546
1547 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
1548 systems that require checking the return value of write.
1549
11b2a9b7
CW
15502013-11-13 Colin Watson <cjwatson@ubuntu.com>
1551
1552 * util/grub-install.in (efi_quiet): Fix inverted logic: make
1553 efibootmgr quiet when --debug is not used, rather than when it is.
1554
d743d22d
CW
15552013-11-13 Colin Watson <cjwatson@ubuntu.com>
1556
1557 * gentpl.py (define_macro_for_platform_dependencies): Remove
1558 first (and thus unused) of two definitions for this function.
1559 (platform_dependencies): Likewise.
1560
11da14b5
CW
15612013-11-13 Colin Watson <cjwatson@ubuntu.com>
1562
1563 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
1564 functions, we only need to check this for the target, not the host.
1565 * configure.ac (grub_apple_cc): Likewise.
1566
2bdd0719
VS
15672013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
1570 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
1571 asm to stay in arm even if surrounding is thumb.
1572
5e77d9cf
VS
15732013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
1576 helper functions are needed for thumb.
1577
7d511625
VS
15782013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
1581 level / 3 division explicitly unsigned. Saves few bytes.
1582
81023dbd
VS
15832013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
1586
b2e9294f
VS
15872013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
1590 division.
1591
16a22c38
VS
15922013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
1595 grub_uboot_boot_data to asm part.
1596
c9cd02c9
VS
15972013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
1600 literal load.
1601 (grub_uboot_syscall): Save/restore r9 and align stack.
1602
81498615
VS
16032013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
1606
ea57de18
VS
16072013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
1610 occurencies with END.
1611
d0d1e3da
CW
16122013-11-13 Colin Watson <cjwatson@ubuntu.com>
1613
1614 * util/grub-editenv.c (help_filter, argp): Document how to delete
1615 the whole environment block.
1616 Reported by Dan Jacobson. Fixes Debian bug #726265.
1617
3809f016
CW
16182013-11-13 Colin Watson <cjwatson@ubuntu.com>
1619
1620 * docs/grub.texi (Internationalisation, Supported kernels): Fix
1621 sectioning.
1622
46d8a203
JT
16232013-11-13 Josh Triplett <josh@joshtriplett.org>
1624
1625 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
1626 increment/decrement.
1627
513eeb61
VS
16282013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
1631 compiling with clang.
1632
bc379c1a
VS
16332013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
1636 ".".
1637
16382013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 1639
16057d6b
VS
1640 Redirect all divisions to grub_divmod64.
1641
f649a6a8
VS
16422013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
1645
ef28ee8b
VS
16462013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 Add missing includes of loader.h.
1649
300f48c5
VS
16502013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * configure.ac: Allow disabling themes.
1653
2d357558
LS
16542013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
1655
1656 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
1657
0c62a5b2
VS
16582013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
1661 until it becomes operational.
1662
b0720b49
VS
16632013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * grub-core/Makefile.core.def (legacy_password_test): Disable
1666 on platforms where no legacycfg is compiled.
1667 * grub-core/tests/lib/functional_test.c: Tolerate failure to
1668 load legacy_password_test.
1669
d5bab2c0
VS
16702013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1673
3ea0ccb3
VS
16742013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1677
08772054
VS
16782013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1681 strict-aliasing warning.
1682 (fsync): Silence cast warning.
1683
1dcb2715
VS
16842013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * grub-core/commands/verify.c: Remove variable length arrays.
1687 Load gcry_dsa/gcry_rsa automatically.
1688
61c22fdf
VS
16892013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * grub-core/tests/signature_test.c: New test.
1692
431e57a7
VS
16932013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1696 API.
1697
b521bb81
VS
16982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1701 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1702
7d06b24e
VS
17032013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1706
3bbeade4
VS
17072013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * grub-core/fs/proc.c: Allow \0 in proc files.
1710
ba82db7a
VS
17112013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1714
801564c8
VS
17152013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1718
ac8cac1d
VS
17192013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * grub-core/fs/ext2.c: Remove variable length arrays.
1722
4b85f122
VS
17232013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1726 length arrays.
1727
c35fcdc0
VS
17282013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1731 * grub-core/disk/cryptodisk.c: Likewise.
1732 * grub-core/disk/geli.c: Likewise.
1733 * grub-core/disk/luks.c: Likewise.
1734
15decd26
VS
17352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * grub-core/tests/legacy_password_test.c: New test.
1738 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1739
9c6482b8
VS
17402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1743
41f26e0e
VS
17442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 * grub-core/tests/pbkdf2_test.c: New test.
1747
2def6616
VS
17482013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1751
9e34a34e
VS
17522013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/io/lzopio.c: Remove variable length arrays.
1755
5ccaf904
VS
17562013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * include/grub/crypto.h: Add maximums on hash size and cipher block
1759 size.
1760
44a387e0
VS
17612013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1764
a388e255
VS
17652013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * grub-core/tests/xnu_uuid_test.c: New test.
1768
a1ef7718
VS
17692013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1772 covers it).
1773
65ddb300
VS
17742013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * grub-core/commands/hashsum.c: Remove variable length arrays.
1777
31747dd5
VS
17782013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1781 condition.
1782 * tests/grub_func_test.in: Increase memory allocation.
1783
6a74c4df
VS
17842013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1787 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1788 sys/mount.h.
1789
394c3e0a
VS
17902013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1793 (grub_util_get_fd_size_os): ...this.
1794 (grub_hostdisk_flush_initial_buffer): New empty function.
1795
60d31116
VS
17962013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1799 without --defined-only.
1800
8445b011
VS
18012013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
1804 rip-relative addressing in prologue.
1805
8506a641
VS
18062013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
1809 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
1810
66acd9d6
VS
18112013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1814 Add missing semicolon.
1815
348d0535
VS
18162013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1819
0d2d30bb
VS
18202013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * configure.ac: Check for lzma.h for enabling liblzma and allow
1823 manual disabling.
1824
631187be
VS
18252013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 Add missing includes of loader.h.
1828
e756ec82
FZ
18292013-11-11 Fam Zheng <famcool@gmail.com>
1830
1831 * util/grub.d/30_os-prober.in: Add minix entry.
1832
87d62d7d
VS
18332013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
1836 right buffer for temporary load.
1837
5460cfeb
VS
18382013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
1841
89977306
VS
18422013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1845 payload.
1846
3617c59b
VS
18472013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1850 not Types.h.
1851 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1852 environment.
1853 (LzmaDec_InitDicAndState): Make static.
1854
881c6a10
VS
18552013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1858
2024ade2
VS
18592013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1862
1863 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1864
674ad4f6
VS
18652013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * docs/grub-dev.texi: Replace bzr references with git ones.
1868
5b99970e
AB
18692013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1870
1871 * docs/grub.texi (Simple configuration): Remove reference to
1872 grub-reboot from saved default entry description - grub-default
1873 does not use it anymore.
1874
3c2304d5
VS
18752013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1878 compiled with.
1879
80cfd940
AB
18802013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1881
1882 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1883
33690255
VS
18842013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 Fix grub_machine_fini bitrot.
1887
1888 Reported by: Glenn Washburn.
1889
c61471fc
VS
18902013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1893
54da019f
VS
18942013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1897 -DELF.
1898 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1899 instead of ELF*.
1900
19012013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
1902
1903 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1904 Add -march=core2 when testing compile of efiemu64.
1905
1906 Thanks Andrey Borzenkov for spotting this.
1907
9612ebc0
VS
19082013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1911 XEN PV environment and load kernels.
1912
1a46a3a4
VS
19132013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1916 * grub-core/loader/multiboot_mbi2.c: Likewise.
1917
2df12551
VS
19182013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1921 handling.
1922
3c980381
VS
19232013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1926
1927 Tested by: Denis 'GNUtoo' Carikli.
1928
800f63d3
VS
19292013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1932
9f8acdaa
VS
19332013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1934
5620eb53
VS
1935 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1936 Use to get rounded angle rather than truncated.
1937
19382013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
1941 RTS/CTS flow control.
1942
2dc1eb6c
VS
19432013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1946 divisions.
1947
b9563c94
VS
19482013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1951 Use grub_fatal rather than divide by zero.
1952 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1953
d6d8e9a9
VS
19542013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1957 truncate.
1958 (grub_fixed_fsf_divide): Likewise.
1959
d06de6c8
VS
19602013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1963 division by-zero and senseless negative divisions.
1964
6af7d49b
VS
19652013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1968 division by-zero and senseless negative divisions.
1969 (circprog_set_property): Don't accept negative num_ticks.
1970
bcfa6d72
VS
19712013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1974 division by-zero and senseless negative divisions.
1975
dd7f792c
VS
19762013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * configure.ac: Use elf_*_fbsd on kfreebsd.
1979
d061fda7
VS
19802013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/tests/div_test.c: New test.
1983
4db22500
VT
19842013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1985
1986 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1987 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1988 * grub-core/gfxmenu/view.c: Likewise.
1989 * grub-core/video/fb/video_fb.c: Introduce new functions:
1990 grub_video_set_area_status, grub_video_get_area_status,
1991 grub_video_set_region, grub_video_get_region.
1992 * grub-core/video/bochs.c: Likewise.
1993 * grub-core/video/capture.c: Likewise.
1994 * grub-core/video/video.c: Likewise.
1995 * grub-core/video/cirrus.c: Likewise.
1996 * grub-core/video/efi_gop.c: Likewise.
1997 * grub-core/video/efi_uga.c: Likewise.
1998 * grub-core/video/emu/sdl.c: Likewise.
1999 * grub-core/video/radeon_fuloong2e.c: Likewise.
2000 * grub-core/video/sis315pro.c: Likewise.
2001 * grub-core/video/sm712.c: Likewise.
2002 * grub-core/video/i386/pc/vbe.c: Likewise.
2003 * grub-core/video/i386/pc/vga.c: Likewise.
2004 * grub-core/video/ieee1275.c: Likewise.
2005 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
2006 * include/grub/video.h: Likewise.
2007 * include/grub/video_fb.h: Likewise.
2008 * include/grub/fbfill.h: Updated render_target structure.
2009 grub_video_rect_t viewport, region, area
2010 int area_offset_x, area_offset_y, area_enabled
2011 * include/grub/gui.h: New helper function
2012 grub_video_bounds_inside_region.
2013 * docs/grub-dev.texi: Added information about new functions.
2014
c6b755df
VS
20152013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
2018 for alignment.
2019
e2a68100
VS
20202013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
2023 missing attribute.
2024 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
2025
c4f11a2a
VS
20262013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
2029 simple division on arm and ia64.
2030
e0a7bffa
VS
20312013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
2034 link with libgcc.
2035
38b864ea
VS
20362013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
2039
12359faf
VS
20402013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
2043 prefix symbol, not @.
2044
9fdc64a9
VS
20452013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * INSTALL: Add note about older gcc and clang.
2048
665c575b
VS
20492013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
2052
47dcf7b1
VS
20532013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
2056 NULL pointer dereference.
2057
d59849b2
VS
20582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
2061 clang.
2062
7a3f4a18
VS
20632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
2066 warnings.
2067
7f084087
VS
20682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
2071 function.
2072 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
2073 * grub-core/disk/geli.c (ascii2hex): Likewise.
2074
d5524ca8
VS
20752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * configure.ac: Run linker tests without -Werror.
2078 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
2079 Change all occurences of -static-libgcc resp -lgcc to
2080 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
2081
390cd7ca
VS
20822013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
2085
60375a88
VS
20862013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 Allow compiling with clang (not really supported though).
2089
2090 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
2091 unconditionally.
2092 * configure.ac: Add -no-integrated-as when using clangfor asm files.
2093 Add -mrtd -mregparm=3 on i386 when not using clang.
2094 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
2095
dd07e0c4
VS
20962013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
2099 bindings.
2100 * grub-core/lib/reed_solomon.c: Likewise.
2101 * include/grub/i386/gdb.h: Likewise.
2102 * include/grub/i386/pc/int.h: Likewise.
2103 * include/grub/i386/pc/pxe.h: Likewise.
2104 * include/grub/ieee1275/ieee1275.h: Likewise.
2105
9d3ae8ec
VS
21062013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 Import libgcrypt 1.5.3.
2109
c12936c5
VS
21102013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * configure.ac: Don't add -Wcast-align on x86.
2113
cdc17f60
VS
21142013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * configure.ac: Add -freg-struct-return on all platforms that
2117 support it.
2118
b35ec299
VS
21192013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * acinclude.m4: Use -Werror on parameter tests.
2122 * configure.ac: Likewise.
2123
05f3a0d7
VS
21242013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
2127
c966a489
VS
21282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * configure.ac: Check that -malign-loops works rather than assuming that
2131 either -falign-loops or -malign-loops work.
2132
bb0c57ec
VS
21332013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * configure.ac: Remove -fnested-functions. We don't need it anymore.
2136
24f4e57c
VS
21372013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * configure.ac: Prevent cflags leaking to subsequent tests by always
2140 resetting cflags to target_cflags in target tests.
2141
ac319fbc
VS
21422013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
2145 function.
2146
4bfe934c
VS
21472013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
2150
40a5bfde
VS
21512013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
2154
a67c755e
VS
21552013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * grub-core/normal/cmdline.c (grub_cmdline_get):
2158 Remove nested functions.
2159
87a04a2d
VS
21602013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * tests/test_sha512sum.in: Make it work on emu.
2163
c03995d2
VS
21642013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
2167 functions.
2168 (grub_bidi_line_logical_to_visual): Likewise.
2169
ec0ebb3f
VS
21702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 Remove vestiges of -Wunsafe-loop-optimisations.
2173
2174 * conf/Makefile.common (CFLAGS_GNULIB): Remove
2175 -Wno-unsafe-loop-optimisations.
2176 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
2177 pragma.
2178 * grub-core/io/gzio.c: Likewise.
2179 * grub-core/script/parser.y: Likewise.
2180 * grub-core/script/yylex.l: Likewise.
2181 * util/grub-mkfont.c: Likewise.
2182
6ab537e3
VS
21832013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * util/grub-mkfont.c (process_cursive): Remove nested function.
2186
e6c368d4
VS
21872013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
2190 (grub_boot_time): Likewise.
2191
4f1cfd22
VS
21922013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * include/grub/symbol.h (FUNCTION): Use @function rather than
2195 "function".
2196 (VARIABLE): Likewise.
2197
6d5a4cee
VS
21982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
2201
f06c2172
VS
22022013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
2205 (parse_dhcp_vendor): Likewise.
2206
7cb24eb5
VS
22072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
2210
f30c692c
VS
22112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * grub-core/gettext/gettext.c (main_context), (secondary_context):
2214 Define after defining type and not before.
2215
8b66bb5d
VS
22162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
2219 type.
2220 (grub_gcm_decrypt): Likewise.
2221 (algo_decrypt): Likewise.
2222 (grub_zfs_decrypt_real): Transform error type.
2223
5d17fd0f
VS
22242013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
2227
ac35a0f7
VS
22282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
2231 (grub_usbms_cbi_reset): Likewise.
2232 (grub_usbms_bo_reset): Likewise.
2233 (grub_usbms_reset): Likewise.
2234 (grub_usbms_attach): Likewise.
2235 (grub_usbms_transfer_cbi): Likewise.
2236
3ee08697
VS
22372013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
2240 "checksum = checksum;".
2241
70bb6c85
VS
22422013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
2245 entry_type.
2246
c7f34744
VS
22472013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
2250 BIOS disk check.
2251
3f63b4d8
VS
22522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
2255 type.
2256 (grub_ehci_fini_hw): Likewise.
2257 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2258
dac6ce73
VS
22592013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
2262 return grub_usb_err_t for cosistency. All users updated.
2263
5701750c
VS
22642013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
2267 assigning to itself.
2268
9e236169
GLD
22692013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
22702013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2271
2272 Issue separate DNS queries for ipv4 and ipv6
2273
2274 Adding multiple questions on a single DNS query is not supportted by
2275 most DNS servers. This patch issues two separate DNS queries
2276 sequentially for ipv4 and then for ipv6.
2277
2278 Fixes: https://savannah.gnu.org/bugs/?39710
2279
2280 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
2281 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
2282 * (grub_net_dns_lookup): Now using separated dns packages.
2283 * (grub_cmd_nslookup): Add error condition.
2284 * (grub_cmd_list_dns): Print DNS option.
2285 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
2286 --prefer-ipv4, and --prefer-ipv6.
2287 * include/grub/net.h (grub_dns_option_t): New enum.
2288 * (grub_net_network_level_address): option added.
2289
339eacce
VT
22902013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
2291
2292 * grub-core/video/fb/video_fb.c: Merge two blit functions
2293 into one.
2294
810f991b
VS
22952013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/term/terminfo.c: Add sequences for home and end.
2298
386571a2
VS
22992013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
2302 graphics console.
2303
3fe63754
VS
23042013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
2307 add mode 0x12.
2308
76681e71
VS
23092013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
2312 e-mail by Per Öberg.
2313
46522fb7
VS
23142013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
2317 name.
2318
e7d09ac4
AB
23192013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
2320
2321 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
2322 emu platforms.
2323 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
2324
67508925
VS
23252013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * docs/grub.texi: Document usage of menuentry id.
2328
0c62124e
VS
23292013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
2332
9b5d4eed
PL
23332013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
2334
2335 * grub-core/commands/i386/nthibr.c: New command.
2336
79054c1d
VS
23372013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
2340
44d47bbe
VS
23412013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
2344 coordinate.
2345
323de05b
VS
23462013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 Support GRUB_DISABLE_SUBMENU config.
2349
2350 Inspired by patch from Prarit Bhargava.
2351
5a01722e
VS
23522013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * docs/grub.texi: Mention RSA support.
2355
1106c3f0
VS
23562013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 * grub-core/commands/verify.c: Add RSA support.
2359
a1dcc2cb
VS
23602013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
2363 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
2364 device is known to be ATAPI.
2365
ee7fb780
MF
23662013-11-03 Mike Frysinger <vapier>
2367
2368 * configure.ac: Don't add target-prefix.
2369
5ade4a42
VS
23702013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
2373 variables.
2374
6cd66043
VS
23752013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
2378 if language is English.
2379
090d7c81
VS
23802013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
2383
dd614590
VS
23842013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 * configure.ac: Don't add -m32/-m64 on emu.
2387
a8686589 23882013-11-02 neil
2389
2390 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
2391 broken linux headers.
2392
fb9f12a0
VS
23932013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
2396
e25f8e1f
VS
23972013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
2400 Reed-Solomon recovery if more than half of redundancy info is 0.
2401
4685200f
VS
24022013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * util/grub-mount.c: Handle symlinks to directories.
2405
1397f0b5
VS
24062013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
2409 find_file recursively for symlink.
2410
8b3e6eb6
VS
24112013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * tests/util/grub-shell.in: Copy themes.
2414
a0c9d5c6
VS
24152013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
2418
5cf9459c
VS
24192013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * configure.ac: Use 0x8000 for address instead of 8000.
2422
e7b66a28
VS
24232013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
2426 signature.
2427
203f53fb
VS
24282013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
2431 variable.
2432
02663ee9
VS
24332013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
2436
f169f65e
VS
24372013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
2440 file_progress_read_hook.
2441 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
2442
2855a0fc
VS
24432013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
2446 and double.
2447
bf0f3a8c
VS
24482013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
2451
cb72aa18
VS
24522013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 Rewrite blocklist functions in order to get progress when
2455 reading large extents and decrease amount of blocklist hook calls.
2456
896f9135
VS
24572013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
2460 of SI suffixes.
2461
89295a06
VS
24622013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 Support --base-clock for serial command to handle weird cards with
2465 non-standard base clock.
2466
eb03ede0
VS
24672013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
2470 strncpy.
2471 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
2472 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
2473 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
2474 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
2475 + strcpy rather than strncpy.
2476
8fbe5c7d
VS
24772013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
2480 (check_pool_label): Likewise. Fixes overflow.
2481 (nvlist_find_value): Fix comparison.
2482
e54b8f53
VS
24832013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 * include/grub/misc.h (grub_strcat): Removed. All users changed to
2486 more appropriate functions.
2487
fa9b3dca
VS
24882013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
2491 realloc.
2492
9a021c55
VS
24932013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * util/grub-mkrescue.in: Do not use UUID search on EFI.
2496
80e8b13a
VS
24972013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
2500 on core size.
2501
b61599ac
VS
25022013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
2505
a602dc54
VS
25062013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
2509 (initialize_tables): reset tl and td to NULL after freeing.
2510
93c12075
VS
25112013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
2514
1ca4b75e
VS
25152013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
2518 of supported tags.
2519
329550c4
VS
25202013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
2523
00bfa988
VS
25242013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * grub-core/loader/multiboot.c: Add support for multiboot kernels
2527 quirks.
2528
81afc5cc
VS
25292013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
2532 a page in protected space.
2533
cb3c4a47
VS
25342013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
2537 allocate space for zero-sized modules.
2538
954f7bf5
VS
25392013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
2542
526d3d25
FL
25432013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
2544
2545 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
2546
74124c34
VS
25472013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
2550 safeguards. Fixes a crash with i386/pc/console.c.
2551
5177391e
VS
25522013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
2555 and grub_hostfs_init.
2556
64db14b0
VS
25572013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
2560 windows method on other platforms without good stat as well.
2561
effe2036
VS
25622013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
2565
82591fa6 25662013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 2567
82591fa6
VS
2568 Make / in btrfs refer to real root, not the default volume.
2569 Modify mkrelpath to work even if device is mounted with subvolid option.
2570
25712013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
2572
2573 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
2574 extra_dist.
2575 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
2576 extra_dist.
2577
30fd7198
VS
25782013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
2581 fails.
2582
8d179dae
BC
25832013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
2584
2585 * docs/autoiso.cfg: New file.
2586
3bc9c8cf
VS
25872013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
2590 COND_GRUB_PE2ELF conditions.
2591
8b46b0ea
VS
25922013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
2595 "vnd", "rd" and "fd" disks.
2596
442b86de
VS
25972013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 Move grub_disk_write out of kernel into disk.mod.
2600
04dea7e6
VS
26012013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
2604 handling.
2605
26062013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
2607
2608 * grub-core/kern/misc.c (grub_abort): Make static
2609
04dea7e6 26102013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
2611
2612 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
2613 transform invalid unicode codepoints.
2614
04dea7e6 26152013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
2616
2617 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2618 \0 checking.
2619
03dcac7f
VS
26202013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
2623
c81acb7f
VS
26242013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 Consolidate cpuid code.
2627
c1bee646
VS
26282013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 Move cpuid code to cpuid.h and TSC code to tsc.c.
2631
f37bf9c7
GS
26322013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2633
2634 * util/grub.d/00_header.in: Don't use LANG if it's not set.
2635
4021132b
GS
26362013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2637
2638 * util/grub-mkconfig.in: Replace $0 with $self.
2639 * util/grub-reboot.in: Likewise.
2640 * util/grub-set-default.in: Likewise.
2641
3ace8d75
BC
26422013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2643
2644 * docs/osdetect.cfg: New file.
2645
1e6ad6a6
BC
26462013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2647
2648 * tests/util/grub-shell.in: Add new --debug option.
2649
188929eb
BC
26502013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2651
2652 * tests/test_unset.in: New test.
2653
7994a09a
BC
26542013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2655
2656 * tests/test_sha512sum.in: New test.
2657
2a8a7585
VS
26582013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
2661 * include/grub/misc.h: Remove strncat.
2662 * grub-core/lib/posix_wrap/string.h: Likewise.
2663
cf8d6bbd
VS
26642013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
2667 Try to handle more than 0xFFFF packets.
2668 Reported by: Bernhard Übelacker <bernhardu>.
2669 He also spotted few overflows in first version of this patch.
2670
6d1fc99a
VS
26712013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * tests/date_unit_test.c: New test.
2674
10bafa1c
VS
26752013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2678 of first three years after start of validity of unixtime.
2679
b1c6d037
VS
26802013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2683 division as the one making more sense.
2684 (update_screen): Likewise.
2685 (complete): Likewise.
2686
5f4028d4
VS
26872013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2690
a2856736
VS
26912013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 Make char and string width grub_size_t rather than grub_ssize_t.
2694
0a7e52b2
VS
26952013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2698 unsigned.
2699 (grub_history_replace): Likewise.
2700
42829573
VS
27012013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2704 appropriate.
2705
3523b8d8
VS
27062013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2709 appropriate.
2710
d43c6489
VS
27112013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2714 Use unsigned divisions rather than signed variants.
2715
f690f8b0
VS
27162013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2719 unsigned arithmetics.
2720 Add missing break.
2721
74ff2c05
VS
27222013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2725
fb56391e
VS
27262013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2729 rather than signed one.
2730 (recovery): Likewise.
2731
40f29060
VS
27322013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2735
c64577a5
VS
27362013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2739 than signed.
2740
c16535a8
JM
27412013-10-25 Jon McCune <jonmccune@google.com>
2742
2743 * docs/grub.texi: Cleanup security documentation around signatures.
2744
6673d8e7
VS
27452013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2748
a105d375
VS
27492013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2752 than int.
2753
af81ed88
VS
27542013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2757 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2758 functions when compiling for kernel.
2759
ea899a57
VS
27602013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2763 unsigned long long when using %llu.
2764
c6dc6fa1
VS
27652013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2768 terminal after updating progress.
2769
ad2dc003
VS
27702013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2773 argument. We don't disable Gate A20 in this code.
2774
b46684ae
VS
27752013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2778 Conceptually based on change in branch "vbe-on-coreboot".
2779
f70d5c07
RM
27802013-10-24 Robert Millan <rmh@gnu.org>
2781
2782 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2783 numeric constants with their symbolic equivalent.
2784 Taken from branch "vbe-on-coreboot".
2785
bca274b4
VS
27862013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2789
238f0489
VS
27902013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2793 divmod64 for offset division.
2794
863c590b
PFS
27952013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2796
2797 Rename .bzrignore to .gitignore. Add "*.o" rule.
2798
2799 * .bzrignore: Renamed to...
2800 * .gitignore: ...this.
2801
84a0e969
PFS
28022013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2803
2804 Add new progress module that displays the load progress of files.
2805
2806 * grub-core/lib/progress.c: New file.
2807 * grub-core/Makefile.core.def (progress): New module.
2808 * grub-core/kern/file.c (grub_file_open): File name added.
2809 * (grub_file_read): Progress hook added.
2810 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
2811 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
2812 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2813 * include/grub/file.h (struct grub_file): Add progress module members.
2814 * include/grub/term.h (struct grub_term_output): Likewise.
2815 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2816 Terminal velocity added.
2817 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2818 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2819 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2820 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2821 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2822 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2823 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2824 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2825 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2826 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2827 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2828 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2829
0d711431
VS
28302013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 Verify signatures of signatures unless --skip-sig is specified.
2833
f8401f76
VS
28342013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2837 \0 checking.
2838
2839 Saves 70 bytes on compressed image.
2840
ac1feb61
VS
28412013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2844 check.
2845
2846 Saves 10 bytes on compressed image.
2847
00f72e89
VS
28482013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * grub-core/kern/misc.c (grub_isprint): Move to ...
2851 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2852
2853 Saves 20 bytes on compressed image due to remving exporting.
2854
067e6ae7
VS
28552013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2858
2859 Saves 5 bytes on compressed image.
2860
64a6c791
VS
28612013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2864 function get_utf8.
2865
2866 Saves 379 bytes on compressed image.
2867
979d9f52
VS
28682013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2871
1437da54
VS
28722013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2875
2876 Saves 40 bytes on compressed image.
2877
d9ee2269
VS
28782013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2881 mask rather than 64-bit type.
2882
2883 Saves 20 bytes on compressed image.
2884
63efa602
VS
28852013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2888 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2889
47601ffe
VS
2890 Saves 273 bytes on compressed image.
2891
2cc679ad
VS
28922013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2895 variable length arrays.
2896
2897 Saves 50 bytes on compressed image.
2898
2e4659b8
VS
28992013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2902
2a40badf
VS
29032013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/fs/ufs.c: Remove variable length arrays.
2906
1ba6b9b9
VS
29072013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2910
f3e39341
VS
29112013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * grub-core/fs/zfs.c: Remove variable length arrays.
2914 Reduces zfs.mod by 160 bytes (208 compressed).
2915
71523935
VS
29162013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2919
28153eb8
VS
29202013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * grub-core/net/arp.c: Remove variable length arrays.
2923 * grub-core/net/bootp.c: Likewise.
2924 * grub-core/net/dns.c: Likewise.
2925 * grub-core/net/icmp6.c: Likewise.
2926 * grub-core/net/net.c: Likewise.
2927
88ce4cd7
VS
29282013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * grub-core/fs/ntfs.c: Remove variable length arrays.
2931 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2932 compressed).
2933
66123940
VS
29342013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * grub-core/fs/hfs.c: Remove variable length arrays.
2937 Reduces hfs.mod by 8 bytes (52 compressed).
2938
0927e5bd
VS
29392013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 2942 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
2943 compressed).
2944
9c12ac97
VS
29452013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 2948 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
2949 compressed).
2950
97ec2d71
VS
29512013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 2954 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
2955 compressed).
2956
156e4ea0
VS
29572013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/fs/xfs.c: Remove variable length arrays.
2960 Reduces xfs.mod by 40 bytes (43 compressed).
2961
3b502c29
VS
29622013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/fs/fshelp.c: Remove variable length arrays.
2965 Reduces fshelp.mod by 116 bytes (23 compressed).
2966
c7037f1d
VS
29672013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/normal/completion.c: Remove variable length arrays.
2970 * grub-core/normal/menu_entry.c: Likewise.
2971
2972 Reduces normal.mod by 496 bytes.
2973
a07e6ad0
VS
29742013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2977 by 356 bytes (158 compressed).
2978
2359bf88
VS
29792013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2982 by 364 bytes (169 compressed).
2983
d28e1163
VS
29842013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2987 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2988 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2989
e89c2d48
VS
29902013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2993 bitmasks to small structures of size chosen to fit in registers.
2994
7abdac8e
VS
29952013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * conf/Makefile.common: Use -freg-struct-return on i386. This
2998 decreases code size and improves performance.
2999
518864c0
VS
30002013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
3003
bbd2b539
VS
30042013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
3007 "(null)" string.
3008 Simplify expressions to save around 256 bytes in kernel.img.
3009 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
3010
99519c15
VS
30112013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
3014 Use GRUB_UTIL_FD_O_* rather than O_*.
3015
20285765
VS
30162013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 Add haiku-specific functions.
3019
887c0bb6
VS
30202013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
3023
cd78a56f
VS
30242013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 Move stat () and device mode checking into OS-dependent files as
3027 long as performance doesn't suffer.
3028
a4012f07
VS
30292013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 Split make_system_path_relative_to_its_root into separate file
3032 relpath.c from getroot.c as it's common between unix and haiku
3033 but otherwise haiku doesn't use any functions from unix getroot.c.
3034
31de274d
VS
30352013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
3038 New function.
3039 (grub_util_is_special_file): Likewise.
3040
40346de6
VS
30412013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
3044 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
3045
d3923ab9
VS
30462013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
3049 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
3050
663f6eb1
VS
30512013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
3054 (load_image): Likewise.
3055
44d1c20a
VS
30562013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * util/grub-render-label.c: Move backend part to ...
3059 * util/render-label.c: ... here.
3060
d0a116ee
VS
30612013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
3064 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
3065
b47fcae6
VS
30662013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
3069
0f7c00c1
VS
30702013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
3073 CD-ROM in case when it's declared as having subpartitions.
3074
29013cba
VS
30752013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 Don't add -lm on haiku.
3078
3079 * configure.ac: Define BUILD_LIBM to -lm on most platforms
3080 and empty on haiku.
3081 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
3082 -lm.
3083
e8559d24
VS
30842013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * configure.ac: Use -melf_*_haiku as target on haiku.
3087
8104063c
VS
30882013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * Makefile.util.def: Add util/setup.c to extra_dist.
3091
fc3182c7
VS
30922013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
3095 unknown types through.
3096
f90a3cc0
VS
30972013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
3100 (grub_util_check_char_device): Likewise.
3101 * include/grub/emu/getroot.h: Likewise.
3102
1e3e7419
VS
31032013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
3106 memset rather than inline static function.
3107
92c88fc8
VS
31082013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
3111 not doing embedded decompressor.
3112
3cd910a2
VS
31132013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
3116 shadowing.
3117 * grub-core/kern/disk.c: Likewise.
3118 * grub-core/kern/misc.c: Likewise.
3119 * include/grub/parser.h: Likewise.
3120 * include/grub/script_sh.h: Likewise.
3121 * include/grub/zfs/zfs.h: Likewise.
3122
7b3aca00
VS
31232013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
3126
97dfe7e4
VS
31272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
3130 defined before trying to use it.
3131
bf919aa9
VS
31322013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
3135 warning.
3136
f4ccf29d
VS
31372013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
3140 Use __unused__ rather than __used__ on gcc < 3.2.
3141
0d3a6f85
VS
31422013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
3145 gcc < 4.0.
3146 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
3147
757e3eb7
VS
31482013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
3151
fb320faf
VS
31522013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
3155 * include/grub/emu/misc.h: Likewise.
3156
ea73acd2
VS
31572013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
3160 cur_color.
3161
71237a6f
VT
31622013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
3163
3164 * grub-core/tests/checksums.h: Regenerated due to progress bar
3165 get_minimal_size changes.
3166
3d46c22f
BC
31672013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
3168
3169 Added `tr' command support.
3170
3171 * grub-core/commands/tr.c: New file.
3172 * grub-core/Makefile.core.def: Build rules for new module.
3173
3174 * tests/grub_cmd_tr.in: New test.
3175 * Makefile.util.def: Build rules for new test.
3176
47e0a61f
VT
31772013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3178
3179 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
3180
946fd073
VT
31812013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3182
3183 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
3184 * docs/gurb.texi: Likewise.
3185
9c13c576
VT
31862013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3187
3188 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
3189 Pixmap highlighted section with east and west slices was displayed
3190 incorrectly due to negative width of the central slice.
3191
ad543f12
VT
31922013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3193
3194 * docs/grub.texi: Graphical options information update.
3195 Removed outdated. Updated current. Inserted missed.
3196
6176a0cd
VS
31972013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 * docs/grub.texi: Mention few new platform-specific commands.
3200
9688cae2
VS
32012013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
3204 currently used so this doesn't really have any effect.
3205 Reported by: Douglas Ray <dougray>
3206
f7b69a3f
VS
32072013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
3210 compilation but prevents gcc from displaying messages in non-Latin
3211 alphabets.
3212 * conf/Makefile.common: Likewise.
3213
ceca6ddf
HY
32142013-10-16 Hiroyuki YAMAMORI
3215
3216 Handle Japanese special keys.
3217 Reported by: Hiroyuki YAMAMORI.
3218 Codes supplied by: Hiroyuki YAMAMORI.
3219
ac48d334
VT
32202013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3221
3222 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
3223
b2b71bff
VT
32242013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3225
3226 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
3227 * docs/grub.texi: Likewise.
3228
669fc449
VS
32292013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
3232 value in case of incomplete read.
3233 (grub_util_fd_write): Likewise.
3234
59381678
VS
32352013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
3238
bacfefbb
VS
32392013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * util/grub-editenv.c (create_envblk_file): More from here ...
3242 * util/editenv.c (grub_util_create_envblk_file): ... to here.
3243
f7c49570
VS
32442013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
3247 canonicalize file name before doing the rest.
3248
7b83ca44
VS
32492013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
3252 mingw32.
3253
df1e64c9
VS
32542013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 Define grub_util_is_directory/regular/special_file and
3257 use OS-dependent versions rather than to rely on stat().
3258
ec16e026
VS
32592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * util/grub-mkimage.c: Move backend part to ...
3262 * util/mkimage.c: ... here.
3263
4b4eeb3c
VS
32642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 Allow compilation with mingw64 albeit with warnings due to lack of
3267 %llx/%llu.
3268
3269 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
3270 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
3271 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
3272 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
3273 on mingw64.
3274 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
3275
f4e0adc0
VS
32762013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 Remove leftover references to some of the system headers.
3279
e0127364
VS
32802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
3283 read.
3284
20d53541
VS
32852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
3288 of strerror.
3289
5a869940
VS
32902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 Split out blocklist retrieving from setup.c to
3293 grub-core/osdep/blocklist.c and add windows implementation since
3294 generic version doesn't work on NTFS on Windows due to aggressive
3295 unflushable cache.
3296
c06c7520
VS
32972013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
3300 files.
3301
8f53bb3f
VS
33022013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
3305 Cut tailing newline. Remove arbitrary limitation. Always use
3306 grub_util_tchar_to_utf8.
3307
148f1007
VS
33082013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
3311 * tests/printf_unit_test.c (printf_test): Add %% tests.
3312 Reported by: Paulo Flabiano Smorigo.
3313
af3b06be
VS
33142013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
3317 implement fsync.
3318
27f9d02e
VS
33192013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * configure.ac: Check for nvlist_lookup_string in nvpair since we
3322 use nvlist_lookup_string and don't use nvlist_print.
3323
f6a81f0a
VS
33242013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3325
3326 Add wrappers around rename, unlink, mkdir, opendir, readdir and
3327 closedir to handle filename charset translation.
3328
d7750b32
VS
33292013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * include/grub/emu/hostdisk.h: Move file operations to
3332 * include/grub/emu/hostfile.h: ... here.
3333
2859196e
VS
33342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
3337 unicode path.
3338
c018c968
VS
33392013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
3342
7e45abce
VS
33432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
3346 and remove export.h.
3347
23934da2
VS
33482013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/kern/emu/error.c: Removed.
3351 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
3352 explicitly as it's already in libgnu.a.
3353
c11ebcc8
VS
33542013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
3357 config-util.h include.
3358
70671037
VS
33592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 Split emunet into platform-dependent and GRUB-binding parts. Keep
3362 platform-dependent part in kernel for easy access to OS functions.
3363
25ac643a
VS
33642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
3367 open/read/write.
3368
69ca5876
VS
33692013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * grub-core/osdep/windows/emuconsole.c: New file.
3372
d9d68ef0
AB
33732013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3374
3375 * conf/Makefile.extra-dist: Add osdep/*/init.c
3376
58e211cc
VS
33772013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
3380
588744d0
VS
33812013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 * util/grub-probe.c (probe): Separate different drives in hint-str
3384 by spaces and not newlines.
3385 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
3386
44016e52
AB
33872013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3388
3389 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3390 Handle CD-ROMs.
3391
6de9ee86
VS
33922013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 Pass-through unknown E820 types. It required reorganisation of mmap
3395 module.
3396
f8f3f155
AB
33972013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3398
3399 * Makefile.util.def: Add osdep/init.c to grub-mount files.
3400
b73249d2
VS
34012013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
3404 fseeko.
3405
dac86b18 34062013-10-14 qwertial <qwertial>
3407
3408 * grub-core/gdb_grub.in: Fix overflow and wrong field.
3409
17614b84
JM
34102013-10-14 Jon McCune <jonmccune@google.com>
3411
3412 * docs/grub.texi: Document new signatures possibility.
3413
6de292cb
VS
34142013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
3417
84379b61
VS
34182013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
3421 missing prototype.
3422 (grub_util_tchar_to_utf8): Likewise.
3423
21d85db1
VS
34242013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
3427 * grub-core/kern/emu/main.c: Add missing include.
3428 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
3429 Don't call grub_util_init_nls.
3430 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
3431 Likewise.
3432
66a1b3ee
VS
34332013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
3436 stat.
3437
e19bec17
VS
34382013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
3441
ee8c1b29
VS
34422013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
3445
bb338aaf
VS
34462013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 Add a wrapper for fopen. On unix-like systems just pass-through. On
3449 windows use unicode version.
3450
ae5540d3
VS
34512013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 Move set_program_name and init_nls to host_init. On windows
3454 fix in this fuction console and argument charset as well.
3455
4cd3c4fe
AB
34562013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
3457
3458 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
3459 GRUB_ENABLE_CRYPTODISK.
3460
3461 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
3462 GRUB_ENABLE_CRYPTODISK.
3463 * util/grub-mkconfig_lib.in: Likewise.
3464
78170f3e
CCZ
34652013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
3466
3467 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
3468
3414b6c0
MC
34692013-10-12 Melki Christian <Christian.melki@saabgroup.com>
3470
3471 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
3472 error when enabling debug.
3473
6d0740e8
IB
34742013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
3475
3476 * configure.ac: Use -melf_*_obsd on openbsd.
3477
ff2d4dc4
VS
34782013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
3481
eac6ae82
VS
34822013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * include/grub/misc.h: Use gnu_printf rather than printf as format
3485 template since our functions are independent of libc.
3486
ba9baabe
VS
34872013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * util/grub-setup.c (setup): Move copying of partition table as
3490 futher up as possible to avoid possible overwrite by floppy routines.
3491
34922013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
3493
3494 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
3495
145e2369
VT
34962013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3497
3498 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
3499 * docs/grub.texi: Likewise.
3500
3530bc9d
VS
35012013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
3504 it's mostly unused. Move vestiges to the callers.
3505
fb9f59c3
VS
35062013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
3509 version of salt and hash. Use grub_snprintf rather than snprintf.
3510
9be1c255
VS
35112013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 * docs/grub.texi: Fix problem with braces.
3514
ed8c0887
VS
35152013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * conf/Makefile.extra-dist: Fix extra-dist list.
3518 * grub-core/Makefile.core.def: Likewise.
3519
f72ab14e
VS
35202013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * docs/grub.texi: Document disk names used on Windows and AROS.
3523
2fe53a22
VS
35242013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
3527 with AROS devs.
3528 * grub-core/osdep/aros/hostdisk.c: Likewise.
3529
71c1d67a
VS
35302013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 Avoid including hostfile.h when not necessarry as it pulls
3533 in OS-specific headers which may redefine generic names
3534 like "far".
3535
ad297ec7
VT
35362013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3537
3538 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
3539 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
3540 scrollbar_bottom_pad
3541 * docs/grub.texi: Likewise.
3542
6e9e5dc9
VT
35432013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3544
3545 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
3546
761c718b
VS
35472013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
3550
37149a2f
VS
35512013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
3554 Removed.
3555 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
3556 Made static.
3557
3837a151
VS
35582013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
3561 leftover.
3562
caca1c70
VS
35632013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 Move OS-specific driver configuration to grub_util_fd_open. This
3566 moves OS-dependent parts from kern/emu/hostdisk.c to
3567 grub-core/osdep/*/hostdisk.c.
3568
f7676b70
VS
35692013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * util/grub-mkimage.c (generate_image): Use size_t instead of
3572 grub_size_t.
3573 * util/grub-mkimagexx.c (locate_sections): Likewise.
3574 (load_image): Likewise.
3575
22f98db2
VS
35762013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
3579 size_t.
3580 (grub_util_write_image): Likewise.
3581
b102ce69
VS
35822013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
3585 get random when no RNG is available.
3586 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
3587
acbbe5cb
VS
35882013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * include/grub/util/lvm.h: Removed.
3591
2112fb3f
VS
35922013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
3595 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
3596
79f78fbf
VS
35972013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/osdep/windows/sleep.c: Add missing config.h.
3600
c2e6f705
VS
36012013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
3604
aabe433a
VS
36052013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * grub-core/net/drivers/emu/emunet.c: Move to ..
3608 * grub-core/osdep/linux/emunet.c: ..here.
3609
9a2c903f
VS
36102013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * util/ieee1275/ofpath.c: Move to ...
3613 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
3614 * grub-core/osdep/basic/ofpath.c: ..here.
3615
4a445f58
VS
36162013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 Move password-querying (util-version) routines to grub-core/osdep.
3619
c1ca4244
VS
36202013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 Move sleep routines to grub-core/osdep.
3623
672fa55e
VS
36242013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 Move OS-dependent files to grub-core/osdep and document it.
3627
a5b0365a
VS
36282013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
3631 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
3632
29072e99
VS
36332013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
3636
f8772ea7
VS
36372013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * util/misc.c: Remove leftover inclusion of malloc.h.
3640
a1a315e7
VS
36412013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * include/grub/setjmp.h: Remove leftover GRUBOF.
3644
cef86fef
VS
36452013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * util/raid.c: Fold into ...
3648 * util/getroot_linux.c: ... here. Make all functions static.
3649
c4cf25ee
VS
36502013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
3653 macros to GRUB ones.
3654
53a5f5c2
VT
36552013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3656
3657 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
3658 occasional bug. If there are too many boot entries or too low
3659 scrollbar height then we need to use another formula to calculate
3660 the position and size of the scrollbar thumb.
3661
de300af2
VS
36622013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3663
c4cf25ee 3664 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 3665
c5827364
VT
36662013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3667
3668 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
3669 * docs/grub.texi: Likewise.
3670
dd2ed8b0
VT
36712013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3672
3673 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3674 viewport.
3675
7286c384
VT
36762013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3677
ffdfc1f3
VT
3678 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3679 minimal width calculations.
7286c384 3680
ea547e14
VS
36812013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * docs/grub.texi: Update note on colors on emu console.
3684
b726be76
VS
36852013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3688 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3689 it's FS and not GRUB limitation.
3690
a5f6ade6
VS
36912013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3694
3b0f3aa2
VS
36952013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3698
1db38304
ST
36992013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3700
3701 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3702 kernels by version order.
3703
fb295fc0
VS
37042013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3707
47345010
VS
37082013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 Add AROS hostdisk and getroot routines.
3711
bf25f879
VS
37122013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 Make cryptodisk and diskfilter probe data retrievable programmatically
3715 and not just printable.
3716
24ca4512
VS
37172013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 Split random retrieving code into separate files.
3720
c7c177f0
VS
37212013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3724 R_ARM_V4BX.
3725
d71b45ae
VS
37262013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3729 condition.
3730 * grub-core/tests/fake_input.c: Likewise.
3731 * grub-core/tests/cmdline_cat_test.c: Likewise.
3732
e44b9a83
VS
37332013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * grub-core/video/capture.c: Do not do finalization when .fini
3736 is called as there is explicit capture_end.
3737
4fa60739
VS
37382013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3741 changing windows to avoid crash.
3742
17c8bc37
VS
37432013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3746
9d4d7977
VS
37472013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * po/exclude.pot: Add several strings to exclude.
3750
0caa407c
VS
37512013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3754
9ae393da
VS
37552013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3758 ./util/grub-gen-asciih.c to exclude list.
3759
498d5033
VS
37602013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3763 and don't mark error strings for translation.
3764
7d93298f
VS
37652013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3768 properly in case of missing block size.
3769
b2cae20c
VS
37702013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 * grub-core/lib/arm/setjmp.S: Add missing license section.
3773
3896d6b4
VS
37742013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * po/swiss.sed: Add replacement for key names and for term computer.
3777
ebc1da55
VT
37782013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3779
3780 * grub-core/gfxmenu/theme_loader.c: New global options for the
3781 theme background image handling. desktop-image-scale-method,
3782 desktop-image-h-align, desktop-image-v-align.
3783 * grub-core/gfxmenu/view.c: Likewise.
3784 * include/gfxmenu_view.h: Likewise.
3785 * include/bitmap_scale.h: Proportional scale functions introduced.
3786 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3787 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3788 cases of unexpected input variables for scale functions.
3789 * docs/grub.texi: Updated documentation for new options.
3790
c5739143
VS
37912013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3794
be74aeb3
VT
37952013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3796
3797 * grub-core/tests/checksums.h: Corrected due to changes in
3798 bilinear interpolation function.
3799
d999ac72
VT
38002013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3801
3802 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
3803 to eliminate artefacts in bilinear interpolation.
3804
2b131610
VS
38052013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * grub-core/video/readers/tga.c: Support paletted tga.
3808
de6e5ff8
VS
38092013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
3812 incorrect cbcr setting when in color mode.
3813
fa31ee9c
VS
38142013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * grub-core/video/readers/png.c: Support paletted images and clean up
3817 greyscale support.
3818
e84f8188
VS
38192013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3822 usage of wrong table which resulted in mishandling of 4-byte
3823 sequences.
3824
38252013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
3826
3827 * grub-core/term/terminfo.c: Add Home and End key sequences.
3828
d72bff09
VS
38292013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * grub-core/video/readers/png.c (grub_png_decode_image_header):
3832 Fix formula for computing total number of bytes.
3833
29648c5d
VS
38342013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
3837 image processing, fix big-endian and support grayscale.
3838
4a876492
VS
38392013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
3842 Correctly will with maximum transparency when using index color.
3843
3ccf16df
VS
38442013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * grub-core/video/readers/png.c: Support grayscale
3847
38482013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
3849
3850 * grub-core/video/readers/jpeg.c: Support grayscale.
3851
3ccf16df 38522013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
3853
3854 * grub-core/commands/loadenv.c: Support skipping signature check
3855 and variable names filtering.
3856
30b7f58f
VS
38572013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3860 * grub-core/kern/emu/hostfs.c: Likewise.
3861 * util/getroot_unix.c: Likewise.
3862
bab7b1eb
VS
38632013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3866 Migrate all explicit defines to this new one.
3867
43b1c99d
VS
38682013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3871 grub_util_fd_strerror when using grub_util_fd_*.
3872 (grub_util_fd_open_device): Likewise.
3873 (grub_util_biosdisk_read): Likewise.
3874 (grub_util_biosdisk_write): Likewise.
3875 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3876 (grub_util_fd_strerror): Likewise.
3877 (grub_util_fd_sync): Likewise.
3878 (grub_util_fd_close): Likewise.
3879 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3880 (grub_util_fd_close): Likewise.
3881 (grub_util_fd_strerror): Likewise.
3882 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3883 function proto rather than macro.
3884 (grub_util_fd_sync): Likewise.
3885 (grub_util_fd_open): Likewise.
3886 (grub_util_fd_strerror): New proto.
3887
e8fd80bc
VS
38882013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
3891 platforms on which it doesn't work.
3892
bf645fda
VS
38932013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3896 stat immediately to where it's used.
3897
5177ba14
VS
38982013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * util/getroot.c (grub_util_check_block_device): Move to ...
3901 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3902 * util/getroot.c (grub_util_check_char_device): Move to ...
3903 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3904
9db826e1
VS
39052013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3906
3907 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3908 disk closing logic.
3909
49120085
AB
39102013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3911
3912 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3913
b3328b68
AB
39142013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3915
3916 * docs/grub.texi (File name syntax): Document ZFS filenames
3917 (/volume@snapshot/...).
3918
3fff48ab
VS
39192013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3922 Always return full path. Fixes a problem with mkrelpath.
3923
39cfdaa9
PFS
39242013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3925
3926 * util/grub-install.in: Add GPT PReP support.
3927 * util/grub-probe.c (probe): Support GPT partition type.
3928 (main): Support -t gpt_parttype.
3929
7c680e1f 39302013-09-23 Aleš Nesrsta <starous@volny.cz>
3931
3932 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3933
890bdabe
MM
39342013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3935
3936 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3937
9c262ff9
TH
39382013-09-23 Tim Hardeck <thardeck>
3939
3940 * util/grub.d/10_hurd.in: Filter out character for the class.
3941 * util/grub.d/10_kfreebsd.in: Likewise.
3942 * util/grub.d/10_linux.in: Likewise.
3943 * util/grub.d/20_linux_xen.in: Likewise.
3944
d755342a
MC
39452013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3946
3947 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3948 "changed".
3949
68b77707
JT
39502013-09-23 Josh Triplett <josh@joshtriplett.org>
3951
3952 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3953 boot partition.
3954
efa68bfa
VS
39552013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3958 doesn't use posix_wrap. Keep literal -fno-builtin however.
3959
d9104204
VS
39602013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3963
c248781a 39642013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
39652013-09-23 neil
3966
5830df88 3967 * configure.ac: Do not enable -Wmissing-noreturn as its
3968 usefulness is limited and creates problems on some OS notably with
3969 code generated by bison.
3970
39712013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
39722013-09-23 neil
3973
3974 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 3975 supported by all gcc and when it is, it's already enabled by -Wall.
3976
621bed69
VS
39772013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3980 desactivated use of EDID at all.
3981
71764dc8 39822013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
39832013-09-23 neil
3984
3985 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3986 video if no text is available.
3987
affce7d4 39882013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
39892013-09-23 neil
3990
3991 * configure.ac: Substitute TARGET_RANLIB.
3992
39932013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
39942013-09-23 neil
affce7d4
VS
3995
3996 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3997
3998 Based on patches from AROS.
3999
0e8daad0 40002013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 40012013-09-23 neil
0e8daad0
VS
4002
4003 * grub-core/Makefile.am: Override STRIP and RANLIB.
4004 * configure.ac: compute TARGET_RANLIB.
4005 * INSTALL: Document TARGET_RANLIB
4006
4007 Based on patches from AROS.
4008
3f7d9c82
VS
40092013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
4012 that floppies are unpartitioned.
4013
bca8873a
VS
40142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
4017 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
4018
40192013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
4022 less nice but more portable.
4023 * grub-core/lib/posix_wrap/wchar.h: Likewise.
4024
a47a78be
VS
40252013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
4028 for cheat_fd.
4029 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
4030 functions.
4031 (grub_cryptodisk_cheat_insert): Likewise.
4032 (grub_cryptodisk_close): Likewise.
4033
e85a5d5c
VS
40342013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
4037 Use windows path for DEFAULT_DIRECTORY.
4038
dad9fa6b
VS
40392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
4042 difference was likely just gcc version, not anything mingw-related.
4043
7e518ca8
VS
40442013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 Use Winapi on both cygwin and mingw32 to share more code between both.
4047
d68d0157
AB
40482013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4049
4050 * util/grub-install.in: Add --grub-editenv option.
4051 * util/grub-install_header (grub_compress_file): Explicitly check for
4052 plain file to avoid cp error.
4053
775b284d
AB
40542013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4055
4056 * docs/grub.texi (Device syntax): Document new LVM UUID based device
4057 names; fix LVM driver name (lvm, not lv).
4058 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
4059 names.
4060
3ff4063d
VS
40612013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
4064 files rather than one file with loads of #if's.
4065 * util/getroot.c: Likewise.
4066
287faafe
VS
40672013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
4070
d1983764
VS
40712013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
4074 GNU/Hurd to the list of checked PRNG.
4075
15ce95c4
VS
40762013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * configure.ac: On FreeBSD use -melf_*_fbsd format.
4079
207862dd 40802013-09-21 Ales Nesrsta <starous@volny.cz>
4081
7c680e1f 4082 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 4083
63653cfd
VS
40842013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
4087 * grub-core/disk/lvm.c: Add LVM UUIDs.
4088 * util/getroot.c: Use LVM UUIDs whenever possible.
4089
f5d3e7ef
AB
40902013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
4091
4092 * docs/grub.texi (Networking commands): Add documentation for
4093 network related commands.
4094
53c6b7d6
VS
40952013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * util/getroot.c (grub_util_open_dm): Check major rather than the name
4098 to determine if device is handled by devmapper.
4099 (convert_system_partition_to_system_disk): Likewise.
4100 (get_dm_uuid): Don't check explicitly if device is mapped, it's
4101 already done in grub_util_open_dm.
4102
e70d6736
LL
41032013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
4104
4105 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
4106 Clean up stack manipulation (sync_caches_armv*)
4107
90379808
VS
41082013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * util/lvm.c: Remove since unused. Remove remaining references.
4111
386701a8
VS
41122013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 Handle the case of partitioned LVM properly.
4115
4116 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4117 Stop on meeting LVM, mpath or DMRAID.
4118 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
4119 (read_device_map): Likewise.
4120 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
4121 device is full disk rather than erroring out on LVM and similar cases.
4122
53070787
VS
41232013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
4126
1bc783bd
VS
41272013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
4130 4K before the end.
4131 Reported by: Leif Lindholm
4132
436ad5c3
PW
41332013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
41342013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
4137 codes.
4138
607319c9
CW
41392013-09-18 Colin Watson <cjwatson@ubuntu.com>
4140
4141 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
4142 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
4143
d404d154
DR
41442013-09-18 Douglas Ray <dougray@cpan.org>
4145
4146 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
4147 as secure.
4148
28851ef6
AN
41492013-09-18 Aleš Nesrsta <starous@volny.cz>
4150
4151 * docs/grub.texi: Fix broken link.
4152
897c3bc6
MC
41532013-09-18 Melki Christian <Christian.melki@saabgroup.com>
4154
4155 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
4156 to break endless loop.
4157
f1630459
VS
41582013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * util/grub-fstest.c: Fix several printf formats.
4161 * util/grub-mkimage.c: Likewise.
4162 * util/grub-mkimagexx.c: Likewise.
4163 * util/grub-script-check.c: Likewise.
4164
64463dfd
VS
41652013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
4168 error.
4169
48972495
VS
41702013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
4173
5dd5e64b
VS
41742013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
4177 removed in current versions cygwin_conv_*.
4178
1c1f31e5
VS
41792013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * configure.ac: Disable efiemu runtime on cygwin.
4182
c546a259
VS
41832013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
4186 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
4187
81690478
VS
41882013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
4191 error message.
4192
6b87c10a
VS
41932013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
4196 windows variant.
4197 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
4198 data.
4199
8f0baaac
VS
42002013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
4203 when on x86 and not cygwin.
4204 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
4205 -Wl,-melf_x86_64.
4206
b224c266
VS
42072013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * configure.ac: Set CPP to build one when checkoing for freetype for
4210 build.
4211
506b336b
VS
42122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
4215 [!GRUB_BUILD]: Remove has_argument.
4216
8c8c87b7
VS
42172013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
4220 Replace with a dummy.
4221
7dc5ca13
VS
42222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 * configure.ac: Don't change host_os from mingw to cygwin.
4225
c3302aa5
VS
42262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * configure.ac: Change target_os from windows to cygwin.
4229
7b780018
VS
42302013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 Handle grub-pe2elf and grub-mkfont for cases when build != host.
4233
4234 * Makefile.am (build-grub-mkfont): Don't include gnulib.
4235 (build-grub-gen-asciih): Likewise.
4236 (build-grub-gen-widthspec): Likewise.
4237 * Makefile.util.def (grub-pe2elf): Remove.
4238 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
4239 * configure.ac: Separate tests for build.
4240 Move ./build-grub-pe2elf to grub-core.
4241 Fix typo.
4242 * grub-core/Makefile.am (build-grub-pe2elf): New target.
4243 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
4244 defined.
4245 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
4246 constants.
4247 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
4248 * util/grub-pe2elf.c: Simplify not to rely on getopt.
4249 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
4250
984cfd8a
VS
42512013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
4254 mingw32 as well based on grub_util_get_disk_size.
4255 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
4256 grub_util_get_fd_size.
4257 (sync): Removed.
4258 (fsync): Moved to ...
4259 * grub-core/kern/emu/misc.c (fsync): ... here.
4260
f82d79c9
VS
42612013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * include/grub/mm.h (grub_extend_alloc): Remove.
4264 * grub-core/loader/i386/pc/plan9.c: Use own version of
4265 grub_extend_alloc with appropriate types.
4266
fd7dd66d
VS
42672013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
4270
43ffba7c
VS
42712013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * util/getroot.c: Include sys/wait.h only when we need waitpid.
4274
3c7eac44
VS
42752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 Fix dependencies on cygwin.
4278
4279 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
4280 dependencies when used and defined.
4281 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
4282
bdb5ba47
VS
42832013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
4286 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
4287
ed7fbf43
VS
42882013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
4291 implementation available to cause compile-time rather than runtime
4292 error.
4293
fc46e9fc
VS
42942013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * util/grub-fstest.c: Don't check for symlinks on windows.
4297
7f68269a
VS
42982013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * INSTALL: Mention unavailability of man pages when cross-compiling.
4301
8ed358e0
VS
43022013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
4305 and gcry_log_bug.
4306 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
4307
fc97214f
VS
43082013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * INSTALL: Document cross-compilation.
4311 * acinclude.m4: Determine whether nm support -P and --defined-only.
4312 * configure.ac: Add TARGET_ to all variables pertaining to target
4313 that don't have it yet.
4314 * gentpl.py: Likewise.
4315 * grub-core/Makefile.am: Likewise.
4316 * grub-core/genmod.sh.in: Likewise.
4317 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
4318 as well.
4319
ca1fb563
IB
43202013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4321
4322 * configure.ac: Remove -Wempty-body. It's not essential and needs
4323 recent gcc.
4324
0031b229
IB
43252013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4326
4327 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
4328 * util/getroot.c: Likewise.
4329
54ea2f44
VS
43302013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * grub-core/disk/ahci.c: Add needed explicit cast.
4333 * grub-core/lib/backtrace.c: Likewise.
4334 * grub-core/net/ip.c: Likewise.
4335 * grub-core/net/tcp.c: Likewise.
4336 * grub-core/net/udp.c: Likewise.
4337
3c601f8c
VS
43382013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
4341
1d679dda
VS
43422013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * util/import_gcry.py: Add final newline in visibility.h.
4345
00c28dd9
VS
43462013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * conf/Makefile.common: Fix typo.
4349
32af299a
VS
43502013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
4353
e733cf52
VS
43542013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * Makefile.am (widthspec.h): Fix typo.
4357 * util/grub-gen-widthspec.c: Likewise.
4358
c6b066f2
VS
43592013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 Move ascii.h and widthspec.h generation to a separate build-time-only
4362 tool.
4363
ad1fe3f9 43642013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4365
4366 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4367 Always fill bootdisk info and improve check for NetBSD disklabel.
4368
92a52dd4
VS
43692013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * conf/Makefile.extra-dist: Add util/bin2h.c.
4372 Reported by: floppym.
4373
b2e9d276
VS
43742013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
4377
7b966834
VS
43782013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 * configure.ac: Disable unifont and starfield if no freetype was found.
4381
d5c1eef1
VS
43822013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
4385 on NetBSD and OpenBSD.
4386
66345b50 43872013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
4388
4389 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
4390
66345b50 43912013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
4392
4393 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
4394 reduced. Inheritant options are processed during the theme loading.
4395
66345b50 43962013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
4397
4398 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
4399
369508b3
AS
44002013-08-14 Avik Sil <aviksil@in.ibm.com>
4401
4402 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
4403
44042013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
4405
4406 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
4407 using qemu.
4408
6f27a3f6
PFS
44092013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4410
4411 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
4412 remove-potcdate.sed.
4413
c6ed362a
AB
44142013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4415
4416 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
4417 unused attribute from pull argument.
4418
5e7d9464
AB
44192013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4420
4421 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
4422 memory leak.
4423
dea55e2a
AB
44242013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4425
4426 * util/getroot.c (pull_lvm_by_command): add --separator option
4427 to vgs call to disable padding of output to 10 characters.
4428
f0b94ded
VS
44292013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
4432 here ...
4433 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
4434 here.
4435
b828fb5d
VS
44362013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
4439 length.
4440
7c9d0c39
VS
44412013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 Fix handling of build-time grub-bin2h and grub-mkfont when doing
4444 full Canadian cross. Tested with build=x86_64, host=arm,
4445 target=ppc-ieee1275.
4446
816719c8
VS
44472013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 * configure.ac: Error if no $BUILD_CC could be found.
4450 Reported by: DevHC.
4451
2af2353b
VS
44522013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
4455 i386-multiboot.
4456
797abd0a
VS
44572013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
4460 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
4461
36e87d25
CW
44622013-08-13 Colin Watson <cjwatson@ubuntu.com>
4463
4464 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
4465 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
4466 falling back to the partition device, otherwise a later call to this
4467 function may fail spuriously.
4468 Reported by Axel Beckert. Fixes Debian bug #708614.
4469
273349fe
GS
44702013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4471
4472 * autogen.sh: Replace find -not by the POSIX-compliant find !.
4473
418f86c6
GS
44742013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4475
4476 Prevent shadowing of stdlib's devname(3) on BSD.
4477
4478 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
4479 and devlast to diskname and disklast, respectively.
4480
c137aea0
CW
44812013-08-11 Colin Watson <cjwatson@ubuntu.com>
4482
4483 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
4484
272dc8df 44852013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
4486
4487 * docs/grub.texi: Introduce terminal window position options:
4488 terminal-left: terminal window's left position
4489 terminal-top: terminal window's top position
4490 terminal-width: terminal window's width
4491 terminal-height: terminal window's height
4492 terminal-border: terminal window's border width
4493 * grub-core/gfxmenu/theme-loader.c: Likewise.
4494 * include/grub/gfxmenu_view.h: Likewise.
4495 * po/exlude.pot: Likewise.
4496 * grub-core/gfxmenu/view.c: Likewise.
4497 Also updated minimal window size.
4498 Also terminal_sanity_check function has been introduced.
272dc8df
VT
4499 * grub-core/tests/checksums.h: Update (terminal window height
4500 is adjusted now for low resolution screen)
b4743461 4501
748a4533
VS
45022013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
4505 position).
4506
fca5f944
VS
45072013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * po/exclude.pot: Add few recent exceptions.
4510
4f47d809
VS
45112013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * tests/grub_func_test.in: Add unicode.pf2.
4514
a62ae90c
VS
45152013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
4518 standard rather than noral color, in line with other terminals.
4519
4ed41392
VS
45202013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
4523 analysis.
4524
3719fbc5
VS
45252013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * grub-core/loader/arm/linux.c: Change printf to dprintf.
4528
459b1d91
VS
45292013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
4532 inappropriate printf.
4533
f4e1ab9d
AB
45342013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
4535
4536 * .bzrignore: Remove grub-core/lib/dtc-grub,
4537 grub-core/Makefile.libfdt.def
4538 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
4539
fa471bfa
VS
45402013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * include/grub/video.h (grub_video_register): Keep double-linked as
4543 well as single-linked invariants.
4544 Reported by: qwertial.
4545
d65be02b
VS
45462013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 * grub-core/commands/nativedisk.c (get_uuid): Handle
4549 GRUB_DISK_DEVICE_UBOOTDISK_ID.
4550
ba8bc620
VT
45512013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
4552
4553 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
4554 maximum of NW, N, NE heights instead of N's height and maximum of
4555 NW, W, SW widths instead of W's width. (So the box will be always
4556 correctly drawn)
4557
4f0ad029
GS
45582013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
4559
4560 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
4561 Fix misuse of variable count.
4562
43d53b72
LL
45632013-07-18 Leif Lindholm <leif.lindholm@arm.com>
45642013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
45652013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 4566
43d53b72
LL
4567 New ports to arm-uboot and arm-efi.
4568 Mostly by Leif Lindholm with some additions from
4569 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 4570
88f8d146
VS
45712013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
4574 and not before.
4575 Reported by: Leon Drugi.
4576
3f42504c
VS
45772013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
4580 Reported by: Paulo Flabiano Smorigo.
4581
d110499b
VT
45822013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4583
4584 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
4585
a8674ad3
VT
45862013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4587
4588 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
4589
286fe4b3
VS
45902013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
4593
1bd57aa3
VS
45942013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
4597
7a87d69f
AB
45982013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
4599
4600 * grub-core/net/bootp.c: Export net_* variables.
4601 * grub-core/net/net.c: Likewise.
4602
b2182299
VS
46032013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
4606
795b3dc0
VS
46072013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
4610
68714c43
VS
46112013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
4614
af211bab
VS
46152013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
4618
0036f02d
MM
46192013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4620
4621 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
4622 <= 0.
4623
6d0ddff3
MM
46242013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4625
4626 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
4627 functions.
4628
038016f4
MM
46292013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4630
4631 * grub-core/fs/zfs/zfs_lz4.c: New file.
4632 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
4633
776bdce2
MM
46342013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4635
4636 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
4637
c71dbd40
MM
46382013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4639
4640 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
4641 (check_pool_label): Likewise.
4642 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
4643
46442013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
4645
4646 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
4647
8e67b50f
AB
46482013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4649
4650 * docs/grub.texi (Commands): Document postition parameters
4651 for menuentry command.
4652
f5ae3717
AB
46532013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4654
4655 * util/grub-mknetdir.in: Remove stray line from help output.
4656
9c28da2a
VS
46572013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 Remove early sm712 init as there is no reason for it (the "watchdog"
4660 effect was due to wrong GPIO map).
4661
139072b8
VS
46622013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 * grub-core/commands/pcidump.c: Remove static variables.
4665
c6a61bda
VS
46662013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 * grub-core/commands/sleep.c: Refresh screen before sleeping.
4669
51369614
VS
46702013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 * configure.ac: Move delimiter after the infos.
4673
efa8640a
VS
46742013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4677
6f80a7b2
VS
46782013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4681 not filling whole 8x16 space.
4682
a2371e19
VS
46832013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4686
64fce2d8
VS
46872013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * configure.ac: Indicate which liblzma is used if any.
4690
eb272d84
PW
46912013-06-21 Paul Wise <pabs3@bonedaddy.net>
46922013-06-21 Craig Sanders <savannah@taz.net.au>
4693
4694 * util/grub-reboot.in: Document submenu usage.
4695
a9e5abee
CW
46962013-06-25 Colin Watson <cjwatson@ubuntu.com>
4697
4698 * .bzrignore: Update with a number of new test-related files.
4699
e639c204
CW
47002013-06-25 Colin Watson <cjwatson@ubuntu.com>
4701
4702 * util/grub-script-check.c: Fail on scripts containing no
4703 commands, to guard against corrupted grub-mkconfig setups that
4704 produce no useful output.
4705 * tests/grub_script_no_commands.in: New test.
4706 * Makefile.util.def (grub_script_no_commands): Add.
4707 Reported by Hans Putter. Fixes Debian bug #713886.
4708
a4c89b17
AB
47092013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4710
4711 * grub-core/disk/diskfilter.c: Forgot to remove comment
4712 from previous commit.
4713
5b06b53c
AB
47142013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4715
4716 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4717 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4718
702da5c9
AB
47192013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4720
4721 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4722
aa62a5b7
AB
47232013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4724
4725 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4726 rescan diskfilter devices until nothing new is found.
4727
4aa237c8
VS
47282013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4731
93d8479b
VS
47322013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 Don't try to detect cbfs on *-emu.
4735
837222cc
VS
47362013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4739
99c971af
VS
47402013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 Add support for processed coreboot payload chainloading.
4743
e6930a45
VS
47442013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 Enable coreboot information commands even when not loaded as
4747 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4748
5027af38
VS
47492013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 Support for cbfs. Also factor out the part which is common
4752 for all archives to a separate module. This splits tar from cpio
4753 as they are very different but keeps cpio, cpio_be, odc and newc
4754 together since they're very similar.
4755
a5b55c4b
DM
47562013-06-15 David Michael <fedora.dm0@gmail.com>
4757
4758 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4759 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4760
0301a8b3
VS
47612013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 * tests/grub_script_eval.in: Really add the eval test.
4764
3d84cb17
VS
47652013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 Move flavour-specific parts out of common cpio.c file and
4768 rename remaining to cpio_common.c
4769
593e430c
AB
47702013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4771
4772 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4773 off new function grub_script_execute_new_scope. Change callers to use
4774 either of them as appropriate.
4775 * grub-core/commands/eval.c: New command eval.
4776 * docs/grub.texi (Commands): Document it.
4777
63c29849
AB
47782013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4779
4780 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4781 to fetch values when listing.
4782
cc284112
AB
47832013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4784
4785 Fix make dist on non-pc.
4786
47872013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
4788
4789 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4790 without a device name.
4791
69544d1e
VS
47922013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 Remove enable_executable_check as it's not needed anymore.
4795 Reported by: dougray.
4796
96dbe648
VS
47972013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4800 ambigouos RAID before discovering RAIDs on top of it.
4801 Reported by: bodom.
4802
ccfc0bdb
VS
48032013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 Fix typo (failback vs fallback).
4806
f2587088
AB
48072013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
4808
4809 * util/grub.d/30_os-prober.in: Add support for probing EFI
4810 System Partition (as of os-prober 1.58).
4811
cec5cf0c
VS
48122013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * configure.ac: Add yet another path to unifont. For parabola.
4815
e40b4596
JT
48162013-05-30 Josh Triplett <josh@joshtriplett.org>
4817
4818 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4819 handling to copy the killed characters to the kill buffer as
4820 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4821 stored as char. Eliminates UCS4 truncation and corruption
4822 observed when killing characters with Ctrl-u and yanking them
4823 back with Ctrl-y.
4824
fc4c4fdd
VS
48252013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 Detach optional parts of gfxterm and integrate in with coreboot init.
4828
6570b205
VS
48292013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 Move blit and fill dispatcher to appropriate files to decrease export
4832 and relocation overhead.
4833
b8323067
VS
48342013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * grub-core/font/font.c, include/grub/font.h: Inline simple font
4837 functions.
4838
3cc1878f
VS
48392013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * grub-core/Makefile.am: Fix compilation problem with some
4842 automake versions.
4843
4b80e43c
VS
48442013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4845
4846 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4847
57e0c20c
VS
48482013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4851 automake versions.
4852
4fd42c53
VS
48532013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4856 SSDT.
4857
1e908b34
RS
48582013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4859
4860 * grub-core/partmap/dfly.c: New partition map.
4861
1359e474
VS
48622013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4865 checking.
4866 Reported by: Francesco Lavra.
4867
17806392
AB
48682013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4869
4870 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4871 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4872 false conditions.
4873 * conf/Makefile.common: define dist_grubconf_DATA
4874
cdce14fa
VS
48752013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 Progressively skip menu elements on small terminals rather
4878 than crashing.
4879
c8d6cc3c
VS
48802013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4883 to avoid losing last column.
4884
a73b31ce
VS
48852013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * po/exclude.pot: Add missing string "%C".
4888
1202c764
VS
48892013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4892 after the test.
4893
50268344
VS
48942013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 * util/grub-install.in: Gettextize "Not found" message.
4897
62b15edf
VS
48982013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 Fix distfiles list.
4901 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4902
49032013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
4904
4905 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4906 present.
4907 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4908
709ad61b
VS
49092013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4912
d128901a
VS
49132013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4916 attribute since structure is not necessarily aligned.
4917
34b22f5c
AB
49182013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4919
4920 * docs/grub.texi (Device syntax): Clarify description of network
4921 drives.
4922
0f7e980b
VS
49232013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4926 for vasprintf presence.
4927
30b03dc2
VS
49282013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 * util/grub-install.in: Handle efibootmgr presence check.
4931 Reported by: Leif Lindholm.
4932
0dc11c08
VS
49332013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4936 new strings to translate.
4937
f8024c3f
VS
49382013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4941 yet another string (pun intended) to translate.
4942
b4c1da62
VS
49432013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * po/POTFILES-shell.in: Autogenerate it.
4946
0ef7478b
VS
49472013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4950
8200fa15
VS
49512013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4954 misnomer.
4955
091945b2
AB
49562013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4957
4958 * docs/grub.texi (Network): Add description of net_default_interface,
4959 net_default_ip and net_default_mac. Rewrite variables description
4960 to emphasize that they are per-interface.
4961
0e7b2e32
VS
49622013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 New test: cmdline and cat.
4965
16f7c8f6
VS
49662013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * grub-core/commands/cat.c: Show UTF-8 characters.
4969
3e912fda
VS
49702013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4971
4972 * conf/Makefile.common: Poison float and double on non-emu.
4973
ee0220bc
VS
49742013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * configure.ac: Don't disable extended registers on emu.
4977
89e0240c
VS
49782013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * configure.ac: Don't use extended registers on x86_64.
4981 Reported by: Peter Jones.
4982
e56d9637
VS
49832013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * grub-core/term/efi/console.c: Fix compile error.
4986
8098f655
VS
49872013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 Compressed HFS+ support.
4990
16940e07
VS
49912013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4994 pixel".
4995
c5dbc13d
VS
49962013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 Menu color test.
4999
011f8ae8
VS
50002013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/tests/setjmp_test.c: New test.
5003
2aa072d7
VS
50042013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 New variables 'net_default_*' to determine MAC/IP of default interface.
5007
43fe02cb
VS
50082013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * tests/gettext_strings_test.in: A test to check for strings not
5011 marked for translation.
5012
bed06142
VS
50132013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * autogen.sh: Exclude unused libgcrypt files from translation.
5016
fb2666b5
VS
50172013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 Simplify few strings.
5020
d22840ec
VS
50212013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 Mark few forgotten strings for translation.
5024
e34092fd
VS
50252013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
5028 rather than printf.
5029
47cf82b4
VS
50302013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
5033 rather than printf.
5034 * grub-core/video/readers/tga.c: Likewise.
5035
1eed0e6e
VS
50362013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 * tests/priority_queue_unit_test.cc: New test.
5039
c5b7697b
VS
50402013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
5043 than printf.
5044
5945c2f8
AB
50452013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
5046
5047 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
5048 variable for one time boot menu entry.
5049
fa292343
B
50502013-05-05 Bean <bean123ch@gmail.com>
5051
5052 * grub-core/commands/testspeed.c: New command testspeed.
5053
310d4214
VS
50542013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5055
5056 Factor-out human-size printing.
5057
85002bf3
VS
50582013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 Agglomerate more mallocs to speed-up gfxterm.
5061
22b06e96
VS
50622013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 Speed-up gfxterm by slightly agglomerating mallocs.
5065
b7c036bc
VS
50662013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 More video checks.
5069
92323d1f
VS
50702013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 Speed-up gfxterm by saving intermediate results in index+alpha
5073 format.
5074
0fb356a3
VS
50752013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
5078 test.
5079
44dea3f9
VS
50802013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
5083 line of timeout as it may contain the rest of long line.
5084
14af86e4
VS
50852013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * grub-core/normal/main.c: Fix freed memory dereference.
5088
03f7c8c3
VS
50892013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 Fix several memory leaks.
5092
c686014c
VS
50932013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
5096
0788a695
VS
50972013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
5100
daf01d61
VS
51012013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 Fix test -a and -o precedence.
5104 Reported by: adrian15.
5105
82ae74d7
VS
51062013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
5109
8cec7bd4
AB
51102013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
5111
5112 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
5113 and add it as source to functional_test module.
5114
aa73d688
VS
51152013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
5118
c104b6f9
VS
51192013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 New series of tests for gfxterm and gfxmenu.
5122
7391c4d5
VS
51232013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
5126 the theme path relative to $prefix/themes.
5127
cff50118
VS
51282013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
5131 Fix order bug.
5132 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5133
7c332bdc
VS
51342013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
5137 descriptor.
5138
a4f9a5ff
VS
51392013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
5142 grub_gfxmenu_timeout_notifications.
5143 (grub_gfxmenu_view_destroy): Likewise.
5144
b5a2114d
VS
51452013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
5148
a8905e8a
VS
51492013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 Several fixes to ieee1275 and big-endian video.
5152
813c1622
VS
51532013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 Add missing exports on mips.
5156
3f3e7326
VS
51572013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
5160 if no unifont is found.
5161 Restore original keyboard.
5162
095accd1
VS
51632013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5166 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
5167
50361660
VS
51682013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 First automated video test (running videotest and comparing results)
5171
cd0f6eec
VS
51722013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
5175 instead of 2 to have full RGB/CMY test pattern.
5176
3f9634e5
VS
51772013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 Add few more tests.
5180
583e5b64
VS
51812013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * include/grub/arc/arc.h: Account for missing "other" peripheral on
5184 ARCS. All users updated.
5185
aa7bcb99
VS
51862013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
5189
95ef1a54
VS
51902013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/partmap/amiga.c: Fix size of checksummed block.
5193
46546fc5
VS
51942013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
5197 Reported by: qwertial.
5198
3476e0ef
VT
51992013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
5200
5201 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
5202 with syntax "XXX deg"/"XXX °".
5203
96f33fed
VS
52042013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 Make PCI init in i386-qemu port more robust.
5207
52082013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
5209
5210 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
5211 cached view is reused.
5212 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
5213 open boot menus.
5214
c53b4e67
VS
52152013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 Unify more code in grub-install_header.
5218
f7457fb2
VS
52192013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 Add few new tests.
5222
e2f27a8c
VS
52232013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 Enforce disabling of firmware disk drivers when native drivers kick in.
5226
ef9d8cd5
VS
52272013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/commands/nativedisk.c: Customize the list of modules on
5230 platform. Don't try to search for disks already using native drivers.
5231
f7bf6c31
VS
52322013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
5235 platforms.
5236
bdc4add8
VS
52372013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
5240 handling of variables containing backslash.
5241
e9e46c9a
VS
52422013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
5245 dereference.
5246 Reported by: qwertial.
5247
0e90dee8
VS
52482013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
5251
e0aacf24
VS
52522013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
5255 dereference.
5256 Reported by: qwertial.
5257
3c0003c3
VS
52582013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * docs/grub.texi: Add a comment about usefullness of nativedisk.
5261
adb7d667
VS
52622013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
5265
7cd0df84
VS
52662013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 New command `nativedisk'.
5269
02adbb93
VS
52702013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
5273 * grub-core/loader/i386/bsd.c: Likewise.
5274
9fb0fd4f
VS
52752013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
5278
bd69257a
VS
52792013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
5282 grub_get_unaligned16 rather than shifts.
5283
178c2764
VS
52842013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * grub-core/kern/file.c: Use const char * rather than casting to
5287 non-const.
5288
eadfad24
VS
52892013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/commands/probe.c: Add missing grub_device_close.
5292
9f73ebd4
VS
52932013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * INSTALL: Document linguas.sh.
5296
965fa829
VS
52972013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 Remove POTFILES.in and regenerate it in autogen.sh.
5300
d417ddc4
VS
53012013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 Move --directory/--override-directorry to grub-install_header and unify.
5304
f97ec546
VS
53052013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * grub-core/term/morse.c: Macroify dih and dah.
5308
b2d7470c
PFS
53092013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5310
5311 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
5312
141e2a78
VS
53132013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/term/ns8250.c: Systematically probe ports by writing
5316 to SR before using them.
5317
1dd70ebd
PFS
53182013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5319
5320 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
5321 disks.
5322 (check_sas): Get sas_adress info.
5323
c796a107
VS
53242013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
5327 ports.
5328
43168646
LD
53292013-04-27 Leon Drugi <eyak>
5330
5331 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
5332 BSS clearing.
5333
e7b8fd08
VS
53342013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 Core compression test.
5337
17f9fd29
VS
53382013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 Implement grub_machine_get_bootlocation for ARC.
5341
dc2a6c8b
VS
53422013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 Improve AHCI detection and command issuing.
5345
f25a2ba6
VS
53462013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 Fix pseries test.
5349
a6393224
VS
53502013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 Make 'make check' work on emu.
5353
db99fbe8
VS
53542013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 Replace libcurses with our own vt100 handling for the ease of testing
5357 and decreasing prerequisites.
5358
b24ca7cd
VS
53592013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
5362
63314aa4
VS
53632013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
5366 compile when not needed.
5367
c1b00fff
VS
53682013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * tests/pseries_test.in: New test.
5371
f93e89ef
VS
53722013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 Add test to check that different boot mediums work.
5375
c4b456d3
VS
53762013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
5379 ofw limited ISO support.
5380
5fe67f39
VS
53812013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * configure.ac: Fix loongson conditional.
5384
7f63a64f
VS
53852013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 Enable mipsel-arc.
5388
b04b5990
VS
53892013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 Add serial on ARC platform.
5392
88d2f302
VS
53932013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
5396 commit.
5397
86eb23bc
VS
53982013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * tests/partmap_test.in: Add missing double semicolon.
5401
eec3bb75
VS
54022013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 * util/grub-mkrescue.in: Fix loongson filename.
5405
e0810df3
VS
54062013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * util/grub-mkrescue.in: Move all files that don't have a location
5409 set in stone under /boot/grub. Use ISO hard links rather than copies
5410 to save some space.
5411
65a6b30b
VS
54122013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
5415 bogus SLOF values.
5416
6aff0107
VS
54172013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 Make check work on mips-arc.
5420
5e013e56
VS
54212013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * util/grub-mkrescue.in: Alias sashARCS as sash.
5424
d1989e2e
VS
54252013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
5428 it's serial.
5429
1a25e72c
VS
54302013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * util/grub-install.in: Fix target fo qemu_mips.
5433 Fix extension on EFI.
5434
a59a9826
VS
54352013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
5438 in front of chosen entry to mark it even if highlighting is lost.
5439
1a40f80c
VS
54402013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
5443 gfxpayload=keep if cbfb is active.
5444
e343549c
VS
54452013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
5448
45fbd9a2
VS
54492013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 Add missing video ids to coreboot and ieee1275 video.
5452
ab1440bd
VS
54532013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * util/grub-mkrescue.in: Add mips-arc support.
5456
cdeb8324
VS
54572013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
5460
8528c879
VS
54612013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 Move mips-arc link address. Previous link address was chosen
5464 in belief that RAM on SGI platforms grows down while in fact it
5465 grows up from an unusual base.
5466
17fca573
VS
54672013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
5470 Fix a type which prevented CD-ROM and floppy boot.
5471
d178788e
VS
54722013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 Support coreboot framebuffer.
5475
5476 * grub-core/video/i386/coreboot/cbfb.c: New file.
5477
fe4c3e7e
VS
54782013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
5481 detecting too small regions.
5482
ec2dd179
VS
54832013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
5486
872dac83
VS
54872013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
5490 Remove dprintf.
5491 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5492
90ec4b7f
VS
54932013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
5496 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5497 * grub-core/loader/powerpc/ieee1275/linux.c
5498 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5499
f32555dd
VS
55002013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5503 Look for /boot-rom as well as /rom/boot-rom.
5504
38649799
VS
55052013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
5508 handling when creating text_layer failed.
5509 * grub-core/video/video.c (grub_video_create_render_target):
5510 Set result to 0 on error.
5511 (grub_video_delete_render_target): Do not dereference NULL.
5512
aeace7f7
VS
55132013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
5516 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
5517 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
5518 (grub_linux_load64): Mask out 2 high bits.
5519
4eafa175
AB
55202013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
5521
5522 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
5523 more place.
5524
daaa64bd
VS
55252013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 Add support for pseries and other bootinfo machines to grub-mkrescue.
5528
5529 Tested by: Paulo Flabiano Smorigo.
5530
d0d2daa6
VS
55312013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * util/grub-mkrescue.in: Add GPT for EFI boot.
5534
b193e100
VS
55352013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
5538 It improves performance in qemu.
5539
a0f8f3ac
VS
55402013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * build-aux/snippet: Add missing gnulib files.
5543
284df0e2
AB
55442013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5545
5546 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
5547
740201f3
AB
55482013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5549
5550 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
5551
a7e03923
PJ
55522013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
55532013-04-15 Peter Jones <pjones@redhat.com>
5554
5555 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
5556 sectors.
5557 Based on patch by Peter Jones.
5558
25fc51a8
VS
55592013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 Fix DMRAID partition handling.
5562
88017d47
VS
55632013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * tests/grub_cmd_date.in: Skip on sparc64.
5566
fa7d914e
VS
55672013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
5570 firmware error messages.
5571
cbe57a48
VS
55722013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
5575 source and destination differ.
5576
21aecce0
VS
55772013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
5580 detection.
5581
25092d29
VS
55822013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
5585 match config-util.h to avoid warnings and increase compatibility.
5586
79451522 55872013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 55882013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
5589
5590 Add option to compress files on install/image creation.
5591
78b7d77b
VS
55922013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 * docs/grub-dev.texi: Rearrange menu to match the section order.
5595 Reported by: Bryan Hundven.
5596
cc2fa5ec
VS
55972013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
5600
b49fe879
VS
56012013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 Move GRUB out of system area when using xorriso 1.2.9 or later.
5604
5351da81
VS
56052013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * tests/grub_cmd_date.in: Add missing exit 1.
5608
c9d586ea
VS
56092013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * tests/partmap_test.in: Skip on sparc64.
5612
3f729741
VS
56132013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 Support grub-shell on sparc64.
5616
8ca86b3a
VS
56172013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 Support mkrescue on sparc64.
5620
aa1af9bb
VS
56212013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 Allow IEEE1275 ports on path even if it wasn't detected automatically.
5624 Needed on OpenBIOS due to incomplete device tree.
5625
ac4fea79
VS
56262013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
5629 would be otherwise excluded.
5630
56312013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
5632
5633 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5634 Inline name defines used only once.
5635
fe22b071
VS
56362013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 Fix memory leaks in ofnet.
5639 Reported by: Francesco Lavra.
5640
9d21381b
VS
56412013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * docs/man/grub-glue-efi.h2m: Add missing file.
5644
07aec23c
VS
56452013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
5648
67ab8353
VS
56492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 Better support Apple Intel Macs on CD.
5652
ba44ca6d
VS
56532013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 Replace stpcpy with grub_stpcpy in tools.
5656
bbdd6305
VS
56572013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 Handle Japanese special keys.
5660 Reported by: Hiroyuki YAMAMORI.
5661 Codes supplied by: Hiroyuki YAMAMORI.
5662
8573d302
VS
56632013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 * util/grub-mkimage.c: Document memdisk implying --prefix.
5666
d70dbab7
VS
56672013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
5670 much we can do about it anyway.
5671
51a4c3e3
AN
56722013-04-12 Aleš Nesrsta <starous@volny.cz>
5673
5674 Fix handling of split transfers.
5675
92c8f58d
VS
56762013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/net/http.c: Fix bad free.
5679
b7d17a49
VS
56802013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5683 than buffer size.
5684
a3d566d4
VS
56852013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5688
a936af56
VS
56892013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * tests/util/grub-shell.in: Fix it on powerpc.
5692
51212234
VS
56932013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 Turn off QEMU ACPI-way since new releases don't have shutdown port
5696 anymore.
5697
a21eec9e
VS
56982013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * docs/grub.texi: Update coreboot status info.
5701
e3734b84
VS
57022013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * tests/grub_cmd_date.in: New test for datetime.
5705
f9d40055
VS
57062013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * tests/partmap_test.in: Fix missing qemudisk setting.
5709
dbc56d8f
VS
57102013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 Support i386-ieee1275 grub-mkrescue and make check on it.
5713
a79b8a15
VS
57142013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5717 feature for it.
5718
48f39bb4
VS
57192013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5720
5721 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5722 GRUB_CMDLINE_XEN_DEFAULT.
5723 Reported by: Marc Warne (GigaTux) <gigatux>
5724
053cfcdd
VS
57252013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 Import new gnulib.
5728
93cd84df
VS
57292013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 Use ACPI shutdown intests as traditional port was removed.
5732
f4b1fa4f
AB
57332013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5734
5735 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5736 distinction.
5737
49818a59
VS
57382013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5741 Fix few warining messages and leaks while on it.
5742
9277a306
AB
57432013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5744
5745 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5746 links under grub-core/lib/libgcrypt-grub/mpi.
5747
d5e2a158
VS
57482013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 Fix ia64-efi image generation on big-endian machines. Deduplicate
5751 some code while on it.
5752 Reported by: Leif Lindholm.
5753
18866643
AB
57542013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5755
5756 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5757 as extra_dist.
5758
ca53deb8
AB
57592013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5760
5761 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5762
d4c4b8e1
BH
57632013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5764
5765 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5766 texinfo-5.1.
5767
47043f95
VS
57682013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * grub-core/normal/term.c: Few more fixes for menu entry editor
5771 rendering.
5772 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5773
a3216068
VS
57742013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * grub-core/normal/term.c: Few more fixes for menu entry editor
5777 rendering.
5778 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5779
21026747
AB
57802013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5781
5782 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5783 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5784
59624ca8
AB
57852013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5786
5787 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5788 instead of hardcoding grub.mo.
5789
1f44478c
FN
57902013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5791
5792 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5793
eeada7b1
VS
57942013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5797 grub-core/disk/geli.c.
5798
132867de
VS
57992013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * util/grub-mkfont.c: Prefer enum to #define.
5802
de73de17
VS
58032013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
5806
1865baa7
VS
58072013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
5810
ce7d92a9
VS
58112013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5814
52eab656
VS
58152013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5818
98b23b95
VS
58192013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 * include/grub/bsdlabel.h: Use enums.
5822
0467a5dd
VS
58232013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 Move GRUB_CHAR_BIT to types.h.
5826
16cc9f03
AB
58272013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5828
5829 * docs/grub.texi: Document more user commands.
5830
3152aecb
AB
58312013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5832
5833 * docs/grub.texi: Document menuentry --id option.
5834
c506fc30
FL
58352013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
5836
5837 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
5838
aa428238
VS
58392013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 Unify file copying setup across different install scripts. Add
5842 options for performing partial install.
5843
efe0cdda
PJ
58442013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
58452013-04-04 Peter Jones <pjones@redhat.com>
5846
5847 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5848
f75835bd
VS
58492013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 Use TSC as a possible time source on i386-ieee1275.
5852
2cd5ce6c
VS
58532013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5856 Init err.
5857
c9625630
VS
58582013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * util/grub-setup.c (setup): Handle some corner cases.
5861
be008941
VS
58622013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5865
1a78d573
VS
58662013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * grub-core/commands/verify.c: Save verified file to avoid it being
5869 tampered with after verification was done.
5870
db8ff59f
VS
58712013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5874 reported width by one to compensate for curesor algorithm problem.
5875
91bf46b1
VS
58762013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 Fix screen corruption in menu entry editor and simplify the code
5879 flow while on it.
5880
a7b1d693
AB
58812013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5882
5883 * util/grub-mount.c (fuse_init): Return error if fuse_main
5884 failed.
5885
31df9ad8
FL
58862013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5887
5888 * include/grub/elf.h: Add missing ARM relocation codes and fix
5889 existing ones.
5890
07f392eb
VT
58912013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5892
5893 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5894
9efd73ec 58952013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
58962013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5899 into account when calculating radius.
5900
59012013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
5902
5903 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5904
4985ddaa
VT
59052013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5906
5907 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5908
8c3635ff
RS
59092013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5910
5911 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5912 missing closing bracket.
5913
74a35e69
RS
59142013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5915
5916 * INSTALL: Mention xorriso requirement.
5917
40f1c000
AB
59182013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5919
5920 * grub-core/commands/verify.c: Fix hash algorithms values for
5921 the first three hashes - they start with 1, not with 0.
5922
e75fdee4
VS
59232013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5926 Try terminating EFI services several times due to quirks in some
5927 implementations.
5928
33028f4c
CW
59292013-03-26 Colin Watson <cjwatson@ubuntu.com>
5930
5931 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5932 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5933 BankField extended opcodes.
5934 (get_sleep_type): Add minimal scope handling (just enough to
5935 handle setting the scope to the root path).
5936 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5937 * include/grub/acpi.h: Add enumeration values for Event, Device,
5938 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5939
33871a10
VT
59402013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5941
5942 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5943 memory leak.
5944
8990963a
VS
59452013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 * grub-core/disk/ahci.c: Give more time for AHCI request.
5948
daae8f9e
VS
59492013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5952 command.
5953
6a7fb94b
VS
59542013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 Replace the region at 0 from coreboot tables to available in BSD
5957 memory map.
5958
ff99babd
VS
59592013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5962 non-BIOS platforms.
5963
30d6b1b2
VS
59642013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5967 platforms.
5968
6ccd0b31
VS
59692013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5972 handling of multi-device filesystems.
5973
23c9cc04
VS
59742013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5977 platforms.
5978
ce50dbd7
VS
59792013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 Add new 'proc' filesystem framework and put luks_script into it.
5982
d975e8d5
VS
59832013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5986 and qemu.
5987
e73ba5e8
VS
59882013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5991
92750e4c
VS
59922013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 Add ability to generate newc additions on runtime.
5995
0ec45a68
VS
59962013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5999 description.
6000
320abd43
VS
60012013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 * po/POTFILES.in: Regenerate.
6004
d7a6506e
VS
60052013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * grub-core/commands/verify.c (hashes): Add several hashes
6008 from the spec.
6009
8fe05def
VS
60102013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 Slight improve in USB-related boot-time checkpoints.
6013
524e2766
VS
60142013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * grub-core/commands/boottime.c: Fix copyright header.
6017
cc19857a
VS
60182013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
6021 coreboot tables content. Support for cbmemc.
6022
ef8810e9
VS
60232013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 Fix a conflict between ports structures with 2 controllers of
6026 same kind.
6027
e9dabdfa
VS
60282013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 * include/grub/boottime.h: Add missing file.
6031
f6df57d2
VS
60322013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 Initialize USB ports in parallel to speed-up boot.
6035
d745dda7
VS
60362013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 Fix USB devices not being detected when requested
6039 due to delayed attach.
6040
e5a2dd7b
VS
60412013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6042
e744219b
VS
6043 Implement boot time analysis framework.
6044
60452013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
6048 descriptor to just receive it as argument rather than endpoint
6049 address.
6050
5dd6f587
VS
60512013-03-19 Aleš Nesrsta <starous@volny.cz>
6052
6053 Better estimate the maximum USB transfer size.
6054
2f1071d5
VS
60552013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 Resend a packet if we got the wrong buffer in status.
6058
46ecfc49
VS
60592013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
6062 multiplication rather than division.
6063
ea811130
VS
60642013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
6067 than divisions.
6068
d2789cf0
VS
60692013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
6072 operations to have intended shifts and not divisions.
6073
a9c94590
VS
60742013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
6077 intended shifts rather than division.
6078
84cfe81b
VS
60792013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
6082 computation for some years before epoch. Avode confusing division
6083 while on it.
6084
21344ef6
VS
60852013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * grub-core/video/i386/pc/vbe.c
6088 (grub_video_vbe_print_adapter_specific_info): Replace division by
6089 shifts.
6090
3f2b4d1a
VS
60912013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 Adjust types in gdb module to have intended unsigned shifts rather than
6094 signed divisions.
6095
3dac5878
VS
60962013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
6099 maximum size is 4G - 1 on hfs
6100
5341c0fb
VS
61012013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
6104
fc3ff2a2
VS
61052013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
6108 function.
6109
81455e8e
AB
61102013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
6111
6112 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
6113 causing gcc error with gcc 4.7.1.
6114
efd4f117
NZ
61152013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6116
6117 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
6118 dereference null pointer. While the code is technically correct, gcc
6119 may eliminate a null check if pointer is already dereferenced.
6120
e11645f4
NZ
61212013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6122
6123 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
6124 OOM check.
6125 * grub-core/normal/term.c (read_terminal_list): Likewise.
6126
77468368
VS
61272013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 Lift up core size limits on some platforms. Fix potential memory
6130 corruption with big core on small memory systems. Document remaining
6131 limits.
6132
f6b58fe5
VS
61332013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
6136 gotoxy to 0,0.
6137
19ce697d
VS
61382013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 Remove all trampoline support. Add -Wtrampolines when
6141 present. Remove symbols used for trampolines to make
6142 link fail if trampolines are present.
6143
73b5d90f
VS
61442013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
6147 append out of its parent.
6148
cb758e96
VS
61492013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
6152 parent.
6153
3188131f
VS
61542013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6155
6156 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
6157 all vars to a macro. All users updated.
6158
e42b2514
VS
61592013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * grub-core/disk/ieee1275/nand.c: Fix compilation on
6162 i386-ieee1275.
6163
83e1a1a1
VS
61642013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
6167
1d5a880f
VS
61682013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
6171
6e4146c4
VS
61722013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 Move to more hookless approach in IEEE1275 devices handling.
6175
99fcda8a
VS
61762013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * grub-core/kern/term.c (grub_term_normal_color),
6179 (grub_term_highlight_color): Add back lost defaults.
6180
73bf57e2
VS
61812013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 Make elfload not use hooks. Opt for flags and iterators instead.
6184
7f8c105f
VS
61852013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
6188 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
6189
396d4091
VS
61902013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * grub-core/script/execute.c (gettext_append): Remove nested functions.
6193
61942013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
6197 hook pass-through parameter. All users updated and unnested.
6198
74a27421
VS
61992013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
6202 out of its parent.
6203
b46d4213
VS
62042013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * grub-core/fs/hfs.c: Remove nested functions.
6207
e114c3cc
VS
62082013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
6211 the context through.
6212 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
6213
f9b7d780
VS
62142013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * util/grub-editenv.c (list_variables): Move print_var out of its
6217 parent.
6218
ca9c2608
VS
62192013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
6222 function.
6223
5d983f5f
VS
62242013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * grub-core/gentrigtables.c: Make tables const.
6227
3056d3e7
VS
62282013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 Remove nested functions from videoinfo iterators.
6231
e2303774
VS
62322013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
6235 for 64-bit platforms.
6236
f42e3a2f
VS
62372013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
6240 a FOR_CHILDREN macro.
6241
be174e5e
VS
62422013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6243
6244 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
6245 platform from firmware path.
6246
0789b672
VS
62472013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6248
6249 Enable linux16 on non-BIOS systems for i.a. memtest.
6250
6251 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
6252 correctly.
6253 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
6254
005a9c32
VS
62552013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
6258 Fix end of table condition.
6259
ff2b3cd9
VS
62602013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
6263 out of its parent.
6264
4fc40ff8
VS
62652013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * grub-core/fs/jfs.c: Remove nested functions.
6268
be42d97a
VS
62692013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * grub-core/fs/minix.c: Remove nested functions.
6272
99373ce4
VS
62732013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 * grub-core/fs/iso9660.c: Remove nested functions.
6276
5aec2afe
VS
62772013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
6280 of parent function.
6281
6c69e691
VS
62822013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * util/grub-fstest.c: Remove nested functions.
6285
43c91882
VS
62862013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * grub-core/loader/machoXX.c: Remove nested functions.
6289
4eb8b756
CW
62902013-02-27 Colin Watson <cjwatson@ubuntu.com>
6291
6292 Remove nested functions from disk and file read hooks.
6293
6294 * include/grub/disk.h (grub_disk_read_hook_t): New type.
6295 (struct grub_disk): Add read_hook_data member.
6296 * include/grub/file.h (struct grub_file): Likewise.
6297 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
6298 argument.
6299
6300 Update all callers.
6301
df6da5a5
AB
63022012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
6303
6304 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
6305 Fix off by one error in enumerating extended partitions.
6306
21aecde5
AB
63072013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
6308
6309 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
6310 memory leak if device name is not found.
6311
f1a19118
AB
63122013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6313
6314 * grub-core/normal/menu_entry.c (update_screen): remove
6315 unused variable `off' which caused scroll down arrow to be always shown.
6316
958bfd20
AB
63172013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6318
6319 * grub-core/normal/menu_entry.c (insert_string): fix off by one
6320 access to unallocated memory.
6321
b7b78edb
AB
63222013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6323
6324 * Makefile.util.def: Add partmap/msdos.c to common library.
6325 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
6326 * grub-core/disk/ldm.c: Check for existence of
6327 GRUB_PC_PARTITION_TYPE_LDM.
6328
28d468d6
VS
63292013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
6332 sizes and display sector size.
6333
d55ffb02
VS
63342013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 Implement new command cmosdump.
6337
b5ea6ce0
VS
63382013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6339
6340 Support Openfirmware disks with non-512B sectors.
6341
6342 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
6343 size of the disk.
6344 * (grub_ofdisk_get_block_size): New function.
6345 * (grub_ofdisk_prepare): Use the correct block size.
6346 * (grub_ofdisk_read): Likewise.
6347 * (grub_ofdisk_write): Likewise.
6348 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
6349 New proto.
6350
cc0e476f
VS
63512013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
6354
c5dbdc33
VS
63552013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
6358 on first error.
6359
3f078c0f
VS
63602013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
6363 freeing it.
6364
66a93674
VS
63652013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 Implement USBDebug (full USB stack variant).
6368
c9f0c134
VS
63692013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
6372 unless they have unexpected values.
6373
cfe1288b
VS
63742013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
6377 grub_print_error.
6378
e42b9969
VS
63792013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
6382 zero-out of port structure.
6383
cf94fd62
VS
63842013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
6387 of extended attributes.
6388
f81ef4b5
AB
63892013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
6390
6391 * util/grub-install.in: change misleading comment about
6392 device.map creation
6393
af18fdb4
VS
63942013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
6397 when menu highlight color isn't set.
6398
08bcec50
M
63992013-01-27 C. Masloch <pushbx@38.de>
6400
6401 Improve FreeDOS direct loading support compatibility.
6402
6403 * include/grub/i386/relocator.h (grub_relocator16_state):
6404 New member ebp.
6405 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
6406 variable.
6407 (grub_relocator16_boot): Handle %ebp.
6408 * grub-core/lib/i386/relocator16.S: Likewise.
6409 * grub-core/loader/i386/pc/freedos.c:
6410 Load BPB to pass kernel which partition to load from.
6411 Check that kernel file is not too large.
6412 Set register dl to BIOS unit number as well.
6413
7782b8a6
CW
64142013-01-22 Colin Watson <cjwatson@ubuntu.com>
6415
6416 * util/grub-reboot.in (usage): Document the need for
6417 GRUB_DEFAULT=saved.
6418 * util/grub-set-default.in (usage): Likewise.
6419 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
6420
e661c180
VS
64212013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
6424 than defining WORDS_BIGENDIAN manually.
6425
1c22ca9a
VS
64262013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
6429 invariants.
6430
d44892fe
CW
64312013-01-21 Colin Watson <cjwatson@ubuntu.com>
6432
6433 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
6434 nested.
6435 (blit_comb: add_device_width): Likewise.
6436
5fdbaed1
CW
64372013-01-21 Colin Watson <cjwatson@ubuntu.com>
6438
6439 Remove nested functions from USB iterators.
6440
6441 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
6442 (grub_usb_controller_iterate_hook_t): Likewise.
6443 (grub_usb_iterate): Add hook_data argument.
6444 (grub_usb_controller_iterate): Likewise.
6445 (struct grub_usb_controller_dev.iterate): Likewise.
6446
6447 Update all implementations and callers.
6448
4250985a
VS
64492013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
6452 margin when not needed.
6453
7d8848f3
VS
64542013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6455
bc136973 6456 Make color variables global instead of it being per-terminal.
7d8848f3
VS
6457
64582013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6459
bc136973
VS
6460 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
6461 asterisk.
7d8848f3 6462
ed12a003
CW
64632013-01-21 Colin Watson <cjwatson@ubuntu.com>
6464
6465 Fix powerpc and sparc64 build failures caused by un-nesting memory
6466 map iterators.
6467
6a0db449
CW
64682013-01-21 Colin Watson <cjwatson@ubuntu.com>
6469
6470 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
6471 parameter declarations.
6472
ccd86b21
VS
64732013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
6476
822b726b
VS
64772013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 Improve spkmomdem reliability by adding a separator between bytes.
6480
115c2cc1
CW
64812013-01-21 Colin Watson <cjwatson@ubuntu.com>
6482
6483 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
6484 an Acer registration utility with several sightings in the wild.
6485 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
6486
fc524edf
CW
64872013-01-21 Colin Watson <cjwatson@ubuntu.com>
6488
6489 Remove nested functions from filesystem directory iterators.
6490
6491 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
6492 (struct grub_fs.dir): Add hook_data argument.
6493
6494 Update all implementations and callers.
6495
53d3e4e3
CW
64962013-01-21 Colin Watson <cjwatson@ubuntu.com>
6497
6498 * docs/grub.texi (Multi-boot manual config): Fix typo for
6499 "recommended".
6500
c821711f
LL
65012013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6502
6503 * util/grub-mkimage.c (main): Postpone freeing arguments.output
6504 until after its use in generate_image.
6505
6a0debbd
CW
65062013-01-20 Colin Watson <cjwatson@ubuntu.com>
6507
6508 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
6509 initrd size to addr_min, since the initrd will be allocated after
6510 this address.
6511
f41e08db
AB
65122013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6513
6514 * conf/Makefile.common: Fix autogen rules to pass definition
6515 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
6516
77529e0f
LL
65172013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6518
6519 * include/grub/elf.h: Update ARM definitions based on binutils.
6520
b879aa7b
VS
65212013-01-20 Aleš Nesrsta <starous@volny.cz>
6522
6523 Split long USB transfers into short ones.
6524
8eb8284d
AB
65252013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6526
6527 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
6528 is interrupted by ESC.
6529
08dad2dc
VS
65302013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * util/grub-script-check.c (main): Uniform the error message.
6533
6c724b85
CW
65342013-01-20 Colin Watson <cjwatson@ubuntu.com>
6535
6536 Remove nested functions from ELF iterators.
6537
25239370
CW
65382013-01-20 Colin Watson <cjwatson@ubuntu.com>
6539
6540 Remove nested functions from device iterators.
6541
6542 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
6543 (grub_arc_iterate_devs): Add hook_data argument.
6544 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
6545 (struct grub_ata_dev.iterate): Add hook_data argument.
6546 * include/grub/device.h (grub_device_iterate_hook_t): New type.
6547 (grub_device_iterate): Add hook_data argument.
6548 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
6549 (struct grub_disk_dev.iterate): Add hook_data argument.
6550 (grub_disk_dev_iterate): Likewise.
6551 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
6552 Likewise.
6553 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
6554 Likewise.
6555 * include/grub/partition.h (grub_partition_iterate_hook_t): New
6556 type.
6557 (struct grub_partition_map.iterate): Add hook_data argument.
6558 (grub_partition_iterate): Likewise.
6559 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
6560 (struct grub_scsi_dev.iterate): Add hook_data argument.
6561
6562 Update all callers.
6563
6c0314d6
CW
65642013-01-20 Colin Watson <cjwatson@ubuntu.com>
6565
6566 Fix typos for "developer" and "development".
6567
600dc5f1
VS
65682013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 Add license header to spkmodem-recv.c.
6571
17334a6b
VS
65722013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 Rewrite spkmodem to use PIT for timing. Double the speed.
6575
7d462559
VS
65762013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 Add new command pcidump.
6579
b78d6c32
VS
65802013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 New terminal outputs using serial: morse and spkmodem.
6583
34f71cb8
VS
65842013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 Improve bidi handling in entry editor.
6587
4542e71b
VS
65882013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6591 argument to prevent name collision.
6592
09fd6d82
CW
65932013-01-15 Colin Watson <cjwatson@ubuntu.com>
6594
6595 Remove nested functions from script reading and parsing.
6596
6597 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
6598 getline_data argument, passed to getline.
6599 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
6600 getline_data argument, passed to grub_parser_split_cmdline.
6601 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
6602 lexerstate->getline_data to lexerstate->getline.
6603 (grub_script_lexer_init): Add getline_data argument, saved in
6604 lexerstate->getline_data.
6605 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
6606 argument, passed to grub_script_parse.
6607 * grub-core/script/script.c (grub_script_parse): Add getline_data
6608 argument, passed to grub_script_lexer_init.
6609 * include/grub/parser.h (grub_parser_split_cmdline): Update
6610 prototype. Update all callers to pass appropriate getline data.
6611 (struct grub_parser.parse_line): Likewise.
6612 (grub_rescue_parse_line): Likewise.
6613 * include/grub/reader.h (grub_reader_getline_t): Add void *
6614 argument.
6615 * include/grub/script_sh.h (struct grub_lexer_param): Add
6616 getline_data member.
6617 (grub_script_parse): Update prototype. Update all callers to pass
6618 appropriate getline data.
6619 (grub_script_lexer_init): Likewise.
6620 (grub_normal_parse_line): Likewise.
6621
6622 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
6623 data argument.
6624 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
6625 static instead of nested. Rename to ...
6626 (grub_parser_execute_getline): ... this.
6627 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
6628 data argument.
6629 * grub-core/normal/main.c (read_config_file: getline): Make static
6630 instead of nested. Rename to ...
6631 (read_config_file_getline): ... this.
6632 (grub_normal_read_line): Add unused data argument.
6633 * grub-core/script/execute.c (grub_script_execute_sourcecode:
6634 getline): Make static instead of nested. Rename to ...
6635 (grub_script_execute_sourcecode_getline): ... this.
6636 * util/grub-script-check.c (main: get_config_line): Make static
6637 instead of nested.
6638
d0d4b8a0
CW
66392013-01-15 Colin Watson <cjwatson@ubuntu.com>
6640
6641 Remove nested functions from memory map iterators.
6642
6643 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
6644 argument, passed to hook.
6645 * grub-core/kern/i386/coreboot/mmap.c
6646 (grub_linuxbios_table_iterate): Likewise.
6647 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
6648 instead of nested.
6649 (grub_machine_mmap_iterate): Add hook_data argument.
6650 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
6651 Add hook_data argument, passed to hook.
6652 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
6653 Likewise.
6654 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
6655 Likewise.
6656 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
6657 Likewise.
6658 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
6659 Likewise.
6660 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
6661 Likewise.
6662 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
6663 Likewise.
6664 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
6665 (grub_machine_mmap_iterate): Likewise.
6666 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
6667 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
6668 prototype.
6669 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
6670 Remove NESTED_FUNC_ATTR from here and from all users.
6671 (grub_mmap_iterate): Update prototype.
6672 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6673 pass appropriate hook data.
6674 (grub_machine_mmap_iterate): Likewise.
6675
6676 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6677 static instead of nested.
6678 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6679 Rename to ...
6680 (lsmmap_hook): ... this.
6681 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6682 Likewise.
6683 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6684 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6685 heap_init): Likewise.
6686 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6687 Rename to ...
6688 (mmap_iterate_hook): ... this.
6689 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6690 Likewise.
6691 * grub-core/lib/ieee1275/relocator.c
6692 (grub_relocator_firmware_get_max_events: count): Likewise.
6693 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6694 to ...
6695 (grub_relocator_firmware_fill_events_iter): ... this.
6696 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6697 hook): Likewise. Rename to ...
6698 (grub_relocator_alloc_chunk_align_iter): ... this.
6699 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6700 Rename to ...
6701 (generate_e820_mmap_iter): ... this.
6702 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6703 Rename to ...
6704 (count_hook): ... this.
6705 (grub_linux_boot: hook): Likewise. Rename to ...
6706 (grub_linux_boot_mmap_find): ... this.
6707 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6708 (grub_linux_boot_mmap_fill): ... this.
6709 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6710 hook): Likewise. Rename to ...
6711 (grub_fill_multiboot_mmap_iter): ... this.
6712 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6713 hook): Likewise. Rename to ...
6714 (count_hook): ... this.
6715 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6716 hook): Likewise. Rename to ...
6717 (grub_fill_multiboot_mmap_iter): ... this.
6718 * grub-core/loader/powerpc/ieee1275/linux.c
6719 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6720 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6721 Likewise. Rename to ...
6722 (alloc_phys_choose): ... this.
6723 (determine_phys_base: get_physbase): Likewise.
6724 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6725 find_hook): Likewise.
6726 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6727 (malloc_hook: count_hook): Likewise.
6728 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6729 Likewise. Rename to ...
6730 (lower_hook): ... this.
6731 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6732 (upper_hook): ... this.
6733 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6734 (post64_hook): ... this.
6735 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6736 Likewise. Rename to ...
6737 (lower_hook): ... this.
6738 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6739 (upper_hook): ... this.
6740 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6741 (grub_mmap_iterate: fill_hook): Likewise.
6742 (fill_mask): Pass addr and mask within a single struct.
6743 (grub_cmd_badram: hook): Make static instead of nested. Rename
6744 to ...
6745 (badram_iter): ... this.
6746 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6747 (cutmem_iter): ... this.
6748
22099030
VS
67492013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6752 delimit path in strings using quotes.
6753 * util/getroot.c (grub_guess_root_devices): Likewise.
6754 (grub_make_system_path_relative_to_its_root): Likewise.
6755 * util/grub-probe.c (probe): Likewise.
6756 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6757 (xrealpath): Likewise.
6758
4a9950ec
VS
67592013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 Fix compilation with older compilers.
6762
6763 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6764 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6765 declarations.
6766 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6767 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6768 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6769 identifier with b.
6770 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6771 * include/grub/crypto.h: Add type defines.
6772 * util/import_gcrypth.sed: Remove duplicate type defines.
6773
adcc6020
VS
67742013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 New command list_trusted.
6777
6778 * grub-core/commands/verify.c (grub_cmd_list): New function.
6779
a4528937
CW
67802013-01-13 Colin Watson <cjwatson@ubuntu.com>
6781
6782 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6783 info message.
6784
ca3a7446
CW
67852013-01-13 Colin Watson <cjwatson@ubuntu.com>
6786
6787 Remove nested functions from PCI iterators.
6788
6789 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6790 passed to hook. Update all callers to pass appropriate hook data.
6791 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6792 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6793 Remove NESTED_FUNC_ATTR from here and from all users.
6794 (grub_pci_iterate): Update prototype.
6795 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6796 instead of nested. Rename to ...
6797 (grub_cs5536_find_iter): ... this.
6798 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6799 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6800 Likewise.
6801 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
6802 Likewise.
6803 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
6804 Likewise.
6805 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
6806 Likewise.
6807 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
6808 * grub-core/video/radeon_fuloong2e.c
6809 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
6810 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
6811 find_card): Likewise.
6812 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6813 Likewise.
6814
f8e98fee
VS
68152013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * grub-core/commands/verify.c: Mark messages for translating.
6818
055b36b6
VS
68192013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6822 fatal.
6823
f7ff879b
VS
68242013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6827 fatal.
6828
68292013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
6830
6831 * autogen.sh: Do not try to delete nonexistant files.
6832 * util/import_gcrypth.sed: Add some missing header removals.
6833
01323d49
CW
68342013-01-12 Colin Watson <cjwatson@ubuntu.com>
6835
6836 Clean up dangling references to grub-setup.
6837 Fixes Ubuntu bug #1082045.
6838
6839 * docs/grub.texi (Images): Refer generally to grub-install rather
6840 than directly to grub-setup.
6841 (Installing GRUB using grub-install): Remove direct reference to
6842 grub-setup.
6843 (Device map) Likewise.
6844 (Invoking grub-install): Likewise.
6845 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6846 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6847 * util/grub-install.in (usage): Likewise.
6848
6849 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6850 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6851 grub-setup.
6852 * configure.ac: Remove grub_setup output variable.
6853
6854 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6855 to grub-bios-setup.
6856 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6857 grub-setup to grub-sparc64-setup.
6858
5e3b8dcb
VS
68592013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 Import gcrypt public-key cryptography and implement signature checking.
6862
535714bd
VS
68632013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * grub-core/fs/ntfs.c: Ue more appropriate types.
6866 * grub-core/fs/ntfscomp.c: Likewise.
6867 * include/grub/ntfs.h: Likewise.
6868
3e4f3566
VS
68692013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 Support Apple FAT binaries on non-Apple platforms.
6872
6873 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6874 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6875 Likewise.
6876 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6877 Apple FAT binaries.
6878
4dedb13f
VS
68792013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6882 sector devices.
6883
f8861eaf
CW
68842013-01-07 Colin Watson <cjwatson@ubuntu.com>
6885
6886 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6887 explicitly zeroing elements.
6888 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6889 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
6890 of elements in a structure already allocated using grub_zalloc.
6891 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6892
86065b0a
CW
68932013-01-07 Colin Watson <cjwatson@ubuntu.com>
6894
6895 * docs/grub.texi (grub_cpu): New subsection.
6896 (grub_platform): Likewise.
6897
c6f1e92f
VS
68982013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6901
f797ec85
VS
69022013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6905 divisions.
6906
033d0b4b
VS
69072013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6910 * grub-core/fs/ntfscomp.c: Likewise.
6911 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6912 (grub_ntfs_comp): Likewise.
6913
21d1b9a0
VS
69142013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6917 Rename to ...
6918 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6919 of groups_per_block. All users updated.
6920
10ca8645
VS
69212013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6924 grub_error properly.
6925 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6926 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6927
a4c3ed4c
VS
69282013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6931 always in /boot/zfs.
6932 Reported by: Yuta Satoh.
6933
0b716507
YS
69342013-01-03 Yuta Satoh <nigoro>
6935
6936 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6937 ${grub_probe}
6938
00c05e22
VS
69392013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * configure.ac: Extend -Wno-trampolines to host.
6942
dadddb76
VS
69432013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6946 entry->len = 0.
6947
54ce53ca
CW
69482013-01-03 Colin Watson <cjwatson@ubuntu.com>
6949
6950 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6951 (Invoking grub-script-check): Likewise.
6952
8912efca
CW
69532013-01-03 Colin Watson <cjwatson@ubuntu.com>
6954
6955 * docs/grub.texi (Invoking grub-mount): New section.
6956 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6957
c3fc8394
CW
69582013-01-02 Colin Watson <cjwatson@ubuntu.com>
6959
6960 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6961 test failures, so that a failing unit test correctly causes 'make
6962 check' to fail.
6963
45d26abb
CW
69642013-01-02 Colin Watson <cjwatson@ubuntu.com>
6965
6966 Fix failing printf test.
6967
6968 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6969 '$' in the correct order when collecting type information.
6970
971dd2c6
CW
69712013-01-02 Colin Watson <cjwatson@ubuntu.com>
6972
6973 * docs/grub.texi (configfile): Explain environment variable
6974 handling.
6975 (source): New section.
6976 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6977
5c67ea6c
CW
69782012-12-31 Colin Watson <cjwatson@ubuntu.com>
6979
6980 Remove several trivially-unnecessary uses of nested functions.
6981
6982 * grub-core/commands/i386/pc/sendkey.c
6983 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6984 instead of nested.
6985 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6986 Rename to ...
6987 (legacy_file_getline): ... this.
6988 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6989 Likewise.
6990 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6991 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6992 to ...
6993 (probe_dummy_iter): ... this.
6994 * grub-core/kern/i386/coreboot/mmap.c
6995 (grub_linuxbios_table_iterate: check_signature): Likewise.
6996 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6997 check_varstate): Likewise. Mark inline.
6998 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6999 an additional parameter.
7000 (find_long: fnd_long): Likewise. Pass two additional parameters.
7001 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
7002 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
7003 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
7004 Likewise. Rename to ...
7005 (grub_cmos_find_port_iter): ... this.
7006 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
7007 Rename to ...
7008 (find_rtc_iter): ... this.
7009
7010 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
7011 function directly into the function body, since it is only called
7012 once.
7013
33a68ac6
CW
70142012-12-30 Colin Watson <cjwatson@ubuntu.com>
7015
7016 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
7017 __attribute__ ((unused)).
7018 * grub-core/video/bochs.c (find_card): Likewise.
7019 * grub-core/video/cirrus.c (find_card): Likewise.
7020 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
7021 * grub-core/video/sis315pro.c (find_card): Likewise.
7022 * grub-core/video/sm712.c (find_card): Likewise.
7023
608b647a
CW
70242012-12-28 Colin Watson <cjwatson@ubuntu.com>
7025
7026 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
7027 Fixes Savannah bug #37821.
7028
fd49ceb3
CW
70292012-12-28 Colin Watson <cjwatson@ubuntu.com>
7030
7031 Apply program name transformations at build-time rather than at
7032 run-time. Fixes Debian bug #696465.
7033
7034 * acinclude.m4 (grub_TRANSFORM): New macro.
7035 * configure.ac: Create output variables with transformed names for
7036 most programs.
7037 * util/bash-completion.d/grub-completion.bash.in: Use
7038 pre-transformed variables for program names.
7039 * util/grub-install.in: Likewise.
7040 * util/grub-kbdcomp.in: Likewise.
7041 * util/grub-mkconfig.in: Likewise.
7042 * util/grub-mkconfig_lib.in: Likewise.
7043 * util/grub-mknetdir.in: Likewise.
7044 * util/grub-mkrescue.in: Likewise.
7045 * util/grub-mkstandalone.in: Likewise.
7046 * util/grub-reboot.in: Likewise.
7047 * util/grub-set-default.in: Likewise.
7048 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7049 * tests/util/grub-shell-tester.in: Remove unused assignment.
7050 * tests/util/grub-shell.in: Likewise.
7051 * util/grub.d/00_header.in: Likewise.
7052
7024b3c0
CW
70532012-12-28 Colin Watson <cjwatson@ubuntu.com>
7054
7055 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
7056
7057 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
7058 HAVE_RAW_DECL_GETS.
7059 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
7060
e3501b13
VS
70612012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
7064 Reported by: Eriks Latosheks <foresterlv>.
7065
b40c88a9
VS
70662012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * docs/grub.texi (Network): Update instructions on generating netboot
7069 image.
7070
ce96d01c
VS
70712012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
7074 around device name if necessarry.
7075
0f596201
PFS
70762012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7077
7078 * util/grub-install.in: Follow the symbolic link parameter added
7079 to the file command.
7080
600d5bdb
AB
70812012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
7082
7083 * util/grub-install.in: Remove stale TODO.
7084
64ebd2f4
PFS
70852012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7086
7087 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
7088 dynamic allocation for the bootpath buffer.
7089
74b2fe3e
DTB
70902012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
7091
7092 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
7093 window too small.
7094
969b804f
VS
70952012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
7098 argument rather than font name. All users updated.
7099 (grub_gfxterm_set_window): Likewise.
7100
b9f5ebd6
VT
71012012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
7102
7103 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
7104 from working.
7105
258f43b7
VS
71062012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * util/getroot.c (convert_system_partition_to_system_disk): Support
7109 nbd disks.
7110
cc1ce5f9
VS
71112012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
7114 infinite loop on corrupted FS.
7115
e77a16ca
VS
71162012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 Fix big-endian mtime.
7119
7120 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
7121 together sec and usec.
7122 (grub_ufs_dir): Use correct byteswapping for UFS time.
7123
d9c48c7b
VS
71242012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 Support big-endian UFS1.
7127
7128 * Makefile.util.def (libgrubmods): Add ufs_be.c
7129 * grub-core/Makefile.core.def (ufs1_be): New module.
7130 * grub-core/fs/ufs_be.c: New file.
7131 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
7132 the file.
7133
2f9f40ba
LL
71342012-11-28 Leif Lindholm <leif.lindholm@arm.com>
7135
7136 * include/grub/types.h: Fix functionality unaffecting typo in
7137 GRUB_TARGET_WORDSIZE conditional macro.
7138
48ff0889
PFS
71392012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7140
7141 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
7142
03711240
GS
71432012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7144
7145 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
7146 that /netbsd appears first (when it exists).
7147
a31b11bd
CJ
71482012-10-12 Christoph Junghans <ottxor@gentoo.org>
7149
7150 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
7151 Fixes Savannah bug #37558.
7152
e8a5d5d4
CW
71532012-10-12 Colin Watson <cjwatson@ubuntu.com>
7154
7155 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
7156 description of extract_entries_configfile.
7157
71582012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
7159
7160 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
7161 preferred_address.
7162 (grub_cmd_linux): Likewise.
7163 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
7164 preferred_lifetime. Update all users.
7165
288c757d
CW
71662012-09-26 Colin Watson <cjwatson@ubuntu.com>
7167
7168 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
7169 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
7170
0d35da3f
CW
71712012-09-26 Colin Watson <cjwatson@ubuntu.com>
7172
7173 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
7174 errors from grub-probe to /dev/null, not stdout.
7175
b78c3127
VS
71762012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
7179 sector 1.
7180
473959f0
CW
71812012-09-24 Colin Watson <cjwatson@ubuntu.com>
7182
7183 * util/grub-install.in: Make the error message if $source_dir
7184 doesn't exist more useful.
7185
794c8c33
CW
71862012-09-22 Colin Watson <cjwatson@ubuntu.com>
7187
7188 Fix grub-emu build on FreeBSD.
7189
7190 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
7191 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
7192 headers on Linux.
7193 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
7194 implementation is currently Linux-specific.
7195 * util/getroot.c (exec_pipe): Define only on Linux or when either
7196 libzfs or libnvpair is unavailable.
7197 (find_root_devices_from_poolname): Remove unused path variable.
7198
86d08fdb
CW
71992012-09-19 Colin Watson <cjwatson@ubuntu.com>
7200
7201 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
7202 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
7203 should fit before end == 63.
7204
735abf54
CW
72052012-09-19 Colin Watson <cjwatson@ubuntu.com>
7206
7207 * util/grub-setup.c (write_rootdev): Remove unused core_img
7208 parameter. Update all callers.
7209 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
7210 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
7211 GRUB_SETUP_BIOS.
7212
140acd3c
VS
72132012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * util/grub-mkconfig_lib.in (grub_tab): New variable.
7216 (grub_add_tab): New function.
7217 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
7218 * util/grub.d/10_illumos.in: Likewise.
7219 * util/grub.d/10_kfreebsd.in: Likewise.
7220 * util/grub.d/10_linux.in: Likewise.
7221 * util/grub.d/10_netbsd.in: Likewise.
7222 * util/grub.d/10_windows.in: Likewise.
7223 * util/grub.d/10_xnu.in: Likewise.
7224 * util/grub.d/20_linux_xen.in: Likewise.
7225 * util/grub.d/30_os-prober.in: Likewise.
7226
7ddffdad
VS
72272012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7230 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
7231 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
7232 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
7233 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
7234 ieee1275-nocursor.
7235 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7236 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
7237
4e092454
VS
72382012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7239
7240 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
7241 le-conversion.
7242 Reported by: BURETTE, Bernard.
7243
735abf54 72442012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
7245
7246 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
7247 from comment.
7248
dfd39dbd
CW
72492012-09-14 Colin Watson <cjwatson@ubuntu.com>
7250
7251 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
7252 IEEE1275 machines. Fixes powerpc-emu compilation.
7253 * include/grub/terminfo.h: Likewise.
7254
3bfa763c
VS
72552012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
7258 a const pointer.
7259 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
7260 const pointer.
7261 (efiemu_set_variable): Make vendor_guid a const pointer.
7262
250e475b
VS
72632012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 Don't require grub-mkconfig_lib to generate manpages for programs.
7266
7267 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
7268 dependencies, don't add grub-mkconfig_lib.
7269 (program): Pass empty adddeps.
7270 (script): Pass grub-mkconfig_lib as adddeps.
7271
592fd0e4
VS
72722012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
7275 * util/getroot.c (grub_find_device): Likewise.
7276 (get_mdadm_uuid): Likewise.
7277 (grub_util_is_imsm): Likewise.
7278 (grub_util_pull_device): Likewise.
7279 * util/grub-probe.c (probe): Likewise.
7280
801a3027
BG
72812012-09-10 Benoit Gschwind <gschwind>
7282
7283 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
7284 (devs): Add devpath_8.
7285
c5052c81
PJ
72862012-09-08 Peter Jones <pjones@redhat.com>
7287
7288 * grub-core/Makefile.core.def (efifwsetup): New module.
7289 * grub-core/commands/efi/efifwsetup.c: New file.
7290 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
7291 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
7292 New define.
7293 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
7294
8e832f71
JS
72952012-09-05 Jiri Slaby <jslaby@suse.cz>
7296
7297 * configure.ac: Add SuSe path.
7298
f0f55752
CW
72992012-09-05 Colin Watson <cjwatson@ubuntu.com>
7300
7301 * NEWS: Fix typo.
7302
ecadc4c2
CW
73032012-09-05 Colin Watson <cjwatson@ubuntu.com>
7304
7305 * util/import_gcry.py: Sort cipher_files, to make build system
7306 generation more deterministic.
7307
64498f25
VS
73082012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
7311 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
7312 (grub_set_datetime): Likewise.
7313
9cc836a2
VS
73142012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
7317 warnings.
7318
bcfcea01
VS
73192012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
7322
a4099485
VS
73232012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
7326
265c162a
CW
73272012-09-04 Colin Watson <cjwatson@ubuntu.com>
7328
7329 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
7330 required for checkouts from bzr, but it may be useful for users or
7331 distributors wishing to update translations against a tarball
7332 distribution, and it can be helpful for the tarball to be a superset
7333 of what's in bzr.
7334
3d171e95
CW
73352012-09-04 Colin Watson <cjwatson@ubuntu.com>
7336
7337 * Makefile.am (EXTRA_DIST): Add
7338 grub-core/tests/boot/linux.init-mips.S,
7339 grub-core/tests/boot/linux.init-ppc.S, and
7340 grub-core/tests/boot/linux-ppc.cfg.
7341
f2c2503e
CW
73422012-09-04 Colin Watson <cjwatson@ubuntu.com>
7343
7344 * grub-core/mmap/mips/loongson: Remove empty directory.
7345
73462012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
7347
7348 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
7349 gone.
7350
ab2163d5
CW
73512012-09-04 Colin Watson <cjwatson@ubuntu.com>
7352
7353 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
7354 grub-sparc64-setup.
7355
ce938140
GS
73562012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7357
7358 * configure.ac: Strengthen the test for working -nostdinc -isystem.
7359
529f58a5
GS
73602012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7361
7362 * po/POTFILES.in: Regenerated.
7363
16cf79e9
GS
73642012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7365
7366 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
7367 (NetBSD): New subsection.
7368
39b27f1e 73692012-07-22 Ales Nesrsta <starous@volny.cz>
7370
7371 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
7372 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
7373
a885261b
VS
73742012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
7377 * util/grub.d/10_hurd.in: Add missing quoting.
7378 * util/grub.d/10_illumos.in: Likewise.
7379 * util/grub.d/10_kfreebsd.in: Likewise.
7380 * util/grub.d/10_linux.in: Likewise.
7381 * util/grub.d/20_linux_xen.in: Likewise.
7382
7bd29c01
VS
73832012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 New command `lsefi'.
7386
7387 * grub-core/Makefile.core.def (lsefi): New module.
7388 * grub-core/commands/efi/lsefi.c: New file.
7389 * include/grub/efi/api.h: Add more GUIDs.
7390
ac625d8f
VS
73912012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
7394 (grub_bsd_elf32_hook): Likewise.
7395 (grub_bsd_elf64_size_hook): Likewise.
7396 (grub_bsd_elf64_hook): Likewise.
7397 (grub_bsd_load_elf): Likewise.
7398
e73bb801
VS
73992012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
7402 if hash function is unavailable.
7403 (dec_stream_header): Likewise.
7404
e81db8b5
VS
74052012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
7408 filter state.
7409
d187a1c3
VS
74102012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 Fix coreboot compilation.
7413
7414 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
7415 (grub_vga_text_init_real): ... this.
7416 (grub_vga_text_fini): Rename to ...
7417 (grub_vga_text_fini_real): ... this.
7418
91a05f64
VS
74192012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7420
7421 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
7422
6af96df7
VS
74232012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * grub-core/lib/legacy_parse.c: Support clear and testload.
7426
4d569e12
VS
74272012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
7430
073b57bb
VS
74312012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * grub-core/fs/ext2.c: Experimental support for 64-bit.
7434
a706f4cc
VS
74352012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * grub-core/net/tftp.c (ack): Fix endianness problem.
7438 (tftp_receive): Likewise.
7439 Reported by: Michael Davidsaver.
7440
e7850aa9
VS
74412012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * gentpl.py: Make mans depend on grub-mkconfig_lib.
7444
74452012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7446
7447 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
7448 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
7449 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
7450
35692881
VS
74512012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
7454 efi_mmap_size.
7455 Reported by: Stuart Hayes.
7456
c35fc5bd
VS
74572012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
7460
7461 * grub-core/Makefile.core.def (mda_text): New module.
7462 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
7463 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
7464 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
7465 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
7466 here.
7467 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
7468 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
7469 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
7470 here.
7471 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
7472 to ..
7473 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
7474 ... here
7475 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
7476 here.
7477 * grub-core/term/i386/vga_common.c: Removed.
7478 * include/grub/i386/vga_common.h: Likewise.
7479 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
7480 (grub_vga_cr_bw_read): Likewise.
7481 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
7482 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
7483 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
7484 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
7485 grub_vga_cr_read/grub_vga_cr_write.
7486 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
7487
5f91f701
VS
74882012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 * configure.ac: Bump version to 2.00.
7491 * grub-core/normal/main.c (features): Add feature_200_final.
7492
0c4f85f6
VS
74932012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
74942012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
7495
7496 * NEWS: Fix unclarity and language mistakes.
7497
f923ad22
VS
74982012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7499
7500 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
7501 additional size to 3 pages.
7502 Reported by: Stuart Hayes.
7503
d22029ba
VS
75042012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * NEWS: Add 2.00 entry.
7507
58eee08f
VS
75082012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
7511 put explicit "/" for empty path.
7512 (wildcard_expand): Improve dprintf.
7513
c59bdff7
VS
75142012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
7517 it's equal to currnode. This can happen with "" symlink.
7518
5e6a440a
YB
75192012-06-27 Yves Blusseau <blusseau@zetam.org>
7520
7521 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
7522 echo shell command by printf command.
7523
73a68bcb
VS
75242012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
7527 the value returned by firmware is the maximal position, not diumension.
7528 (grub_terminfo_output_state): Use a more sane fallback.
7529
392a603b
VS
75302012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
7533
42d0867f
VS
75342012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
7537 frequency to 150 MHz.
7538
489509f4
VS
75392012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 Apple fixes.
7542
7543 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
7544 __APPLE_
7545 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
7546 definition.
7547 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
7548
9f3fc883
VS
75492012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 Handle slash in HFS label.
7552
7553 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
7554 (grub_hfs_dir): Tanslate slash.
7555 (grub_hfs_label): Don't translate slash.
7556
54853fd7
VS
75572012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
7560 network protocol listing since it introduces problematic dependency on
7561 net module.
7562
4dc02ddf
VS
75632012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
7566
c50c867d
VS
75672012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 Init video early on yeeloong to avoid being rebooted by watchdog.
7570
7571 * grub-core/Makefile.am (gensm712): New target.
7572 (sm712_start.S): Likewise.
7573 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
7574 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
7575 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
7576 description.
7577 * include/grub/vga.h: Move registry definitions to...
7578 * include/grub/vgaregs.h: ... here.
7579
5f92c8a1
VS
75802012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
7583 signedness.
7584
e9e6f111
VS
75852012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
7588 platforms with firmware disk drivers in the core.
7589
754ad9eb
VS
75902012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
7593 informative verbose message.
7594 (read_lv): Handle 64-bit segment size.
7595
315654c2
VS
75962012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
7599
fb022c79
VS
76002012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
7603 character but still remove trainling spaces.
7604 (grub_fat_label): Ignore archive flag.
7605
8645f72c
VS
76062012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
7609 cast between linux_kernel_header and linux_kernel_params.
7610
36498496
VS
76112012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
7614 type for size.
7615 (grub_raid6_recover_func_t): Likewise.
7616 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
7617 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7618
0b5ea6b8
VS
76192012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
7622
650cfcfe
GS
76232012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
7624
7625 Fix overflow.
7626
7627 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
7628 [__NetBSD__]: Add explicit cast before bitshift.
7629
8a4d6a44
VS
76302012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * configure.ac: Bump to 2.00~rc1.
7633
2fb97ed3
VS
76342012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
7637 half of $a0.
7638
1fa097dc
VS
76392012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
76402012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
7641
7642 * docs/grub.texi: Fix search syntax.
7643 (Multi-boot manual config): Put msdos rather than GPT example.
7644 Grammar corrections.
7645
c890ba78
VS
76462012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
7649
0f92dca7
VS
76502012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
7653
3988c4a0
VS
76542012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
7657 message on double free. Put the value of magic in case of mismatch.
7658
9e86d4c5
VS
76592012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 Speed-up video on yeeloong.
7662
7663 * grub-core/video/sm712.c (framebuffer): Remove render_target and
7664 add cached_ptr.
7665 (grub_video_sm712_video_fini): Unmap cached_ptr.
7666 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
7667 (grub_video_sm712_set_active_render_target): Removed.
7668 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7669 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
7670 sync caches.
7671
ed24c312
VS
76722012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7673
7674 Avoid flushing the same line multiple times on loongson.
7675
7676 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7677 Step in 32 bytes and not 1 byte.
7678 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7679 Likewise.
7680
d1718e7d
VS
76812012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7684 subvolumes.
7685
982f1909
VS
76862012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 Implement flow control for http.
7689
7690 * grub-core/net/http.c (parse_line): Handle response 206.
7691 (http_receive): Stall if too many packets are in the queue.
7692 (http_establish): Fix range header.
7693 (http_seek): Fix double free.
7694 (http_close): Likewise.
7695 (http_packets_pulled): New function.
7696 (grub_http_protocol): Set http_seek
7697 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7698 (ack_real): Set window depending on i_stall.
7699 (grub_net_send_tcp_packet): Likewise.
7700 (grub_net_tcp_stall): New function.
7701 (grub_net_tcp_unstall): Likewise.
7702 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7703 (grub_net_tcp_unstall): Likewise.
7704
bd407d6e
VS
77052012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7708
c7564b8e
VS
77092012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7712
a3706162
VS
77132012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * tests/util/grub-shell.in: Fix a typo.
7716
b27069e0
VS
77172012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 Implement flow control for tftp.
7720
7721 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7722 packets but stop only if stop condition is satisfied.
7723 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7724 `stall' instead of `eof' as stop condition.
7725 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7726 (http_err): Likewise.
7727 * grub-core/net/tftp.c (ack): Replace the first argument with data
7728 instead of socket.
7729 (tftp_receive): Stall if too many packets are in wait queue.
7730 (tftp_packets_pulled): New function.
7731 (grub_tftp_protocol): Set packets_pulled.
7732 * include/grub/net.h (grub_net_packets): New field count.
7733 (grub_net_put_packet): Increment count.
7734 (grub_net_remove_packet): Likewise.
7735 (grub_net_app_protocol): New field `packets_pulled'.
7736 (grub_net): New field `stall'.
7737
6b9cfac6
VS
77382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7741 sync part to handle them.
7742
f35abd81
VS
77432012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7746 * grub-core/net/drivers/ieee1275/ofnet.c
7747 (grub_ieee1275_net_config_real): Likewise.
7748
0e7ec820
VS
77492012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7752 the direct route for server/gateway.
7753
9d611a31
VS
77542012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7757 IP address to server name since we may not hame the DNS.
7758
418f45ab
VS
77592012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7762 freeing random buffer on failure.
7763 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7764
44a0efc1
VS
77652012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7768
531e2241
VS
77692012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7772 reserved bytes.
7773 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7774 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7775 Handle malloc error correctly.
7776
cde393c9
VS
77772012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7780 blocks.
7781
538478d0
VS
77822012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7785 increment.
7786
9b55efe0
VS
77872012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7790 none is explicitly specified.
7791
9eb832c3
VS
77922012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7795 while reallocating.
7796
d6b7c7c9
VS
77972012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 Respect netmask from bootp/dhcp.
7800
7801 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
7802 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
7803 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
7804 into ...
7805 (grub_net_add_ipv4_local): ... this.
7806 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
7807 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
7808 (grub_net_add_ipv4_local): New proto.
7809
67caf9eb
VS
78102012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7813 determining EFI memory map size.
7814
43657558
VS
78152012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7818
eb6d0dd3
VS
78192012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7822 when looking for partition separator.
7823
31230544
VS
78242012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7827 Escape commas.
7828
918a2517
VS
78292012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 Restructure FAT driver to avoid hook in label reading as it hits a
7832 GCC bug.
7833
7834 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7835 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
7836 (grub_fat_iterate_dir): Split into ...
7837 (grub_fat_iterate_init): ... this, ...
7838 (grub_fat_iterate_fini): ... this, ...
7839 (grub_fat_iterate_dir_next): ... and this. All users updated.
7840
9f1d654e
VS
78412012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7844 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7845 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7846 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7847 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7848 New fields last_key and last_key_time.
7849 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7850 extended key-esc into extended key-extended key.
7851
52f0f643
VS
78522012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 Avoid unnecessary memcpy of whole video buffer.
7855
7856 * grub-core/video/fb/video_fb.c (dirty): New struct.
7857 (framebuffer): Add members current_dirty and previous_dirty.
7858 (dirty): New function.
7859 (grub_video_fb_fill_rect): Update dirty.
7860 (common_blitter): Likewise.
7861 (grub_video_fb_scroll): Likewise.
7862 (doublebuf_blit_update_screen): Copy only dirty part.
7863 (doublebuf_pageflipping_update_screen): Likewise.
7864 (grub_video_fb_doublebuf_blit_init): Init dirty.
7865 (doublebuf_pageflipping_init): Likewise.
7866 (grub_video_fb_setup): Likewise.
7867
e169a180
VS
78682012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7871 poll rate.
7872
48556879
VS
78732012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 Fix wildcard regexp dot and other special characters handling.
7876 Reported by: Robert Mabee.
7877
7878 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7879 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7880 (split_path): Trigger expansion on '?'.
7881 (unescape): New function.
7882 (wildcard_expand): Unescape parts copied without globbing.
7883 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7884 (grub_script_arglist_to_argv): Don't unescape expansions.
7885
0494408e
VS
78862012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 * include/grub/net.h (grub_net_card): New member txbufsize.
7889 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
7890 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7891 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7892 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7893 txbufsize.
7894 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7895 compatible property to check for macs. Set
7896 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7897 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7898 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7899 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7900 (send_card_buffer): Use txbuf.
7901 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7902 nested function out of the parent while on it.
7903
cc35fe8f
VS
79042012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7907 presence check.
7908 (grub_ieee1275_net_config_real): Fix config pointer.
7909
970a0a09
VS
79102012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7913 filename parsing to non-block devices.
7914
3e19bf87
VS
79152012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7916
7917 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7918
c62d1a0c
VS
79192012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7922 All users updated.
7923
ef76bec3
VS
79242012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7927 UUID search command even if hints probing failed.
7928
79292012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
7930
7931 * po/POTFILES.in: Regenerated.
7932
70aaf305
VS
79332012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 Speed-up video on fuloong.
7936
7937 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7938 New function.
7939 (grub_pci_device_unmap_range): Handle non-cached address.
7940 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7941 add direct_ptr.
7942 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7943 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7944 (grub_video_sis315pro_set_active_render_target): Removed.
7945 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7946 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7947 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7948 sync caches.
7949 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7950 New proto.
7951
10400f0b
VS
79522012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * docs/grub.texi (Multi-boot manual config): New section.
7955
ba67e2c6
VS
79562012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7957
7958 Avoid slow read-back from VRAM.
7959
7960 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7961 Move from here ...
7962 * grub-core/video/fb/video_fb.c
7963 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7964 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7965 (front_target): Remove front_target. Add pages.
7966 (grub_video_fb_init): Skip setting front_pages.
7967 (grub_video_fb_fini): Likewise.
7968 (doublebuf_blit_update_screen): Use pages.
7969 (grub_video_fb_doublebuf_blit_init): Likewise.
7970 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7971 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7972 (grub_video_fb_setup): Prefer doublebuffing.
7973
377c98cb
VS
79742012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7977 gzio.
7978
eac49cff
VS
79792012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 Add loongson tests.
7982
7983 * tests/util/grub-shell.in: Handle loongson.
7984 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7985 drivers.
7986 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7987 Reboot instead of shutdown if REBOOT is defined.
7988
0321415e
VS
79892012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7992 sized ports since unlike on real hardware qemu supports only 32-bit
7993 regs.
7994
3f2bdd8f
VS
79952012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7998 * util/grub-mkrescue.in: Handle loongson.
7999
29a049c9
VS
80002012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
8003 Set is_part appropriately.
8004 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
8005 names. Canonicalize partition without full disk.
8006
4abde346
VS
80072012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 Revert usb-quiesce since it's wrong.
8010
8011 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
8012 (grub_ofdisk_init): Don't do quiesce.
8013
61f1d93b
VS
80142012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
8017 PowerMac workaround to Xserves as well.
8018 Information supplied by: Benjamin Herrenschmidt.
8019
a09eb541
VS
80202012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8021
8022 Don't assume that beginning address is also the entry point on ppc.
8023
8024 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
8025 (grub_linux_boot): Use linux_entry.
8026 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
8027 (grub_linux_load64): Likewise.
8028
505b3c9b
VS
80292012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
8032
cbe0b4ef
VS
80332012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
8036 needlessly lose the console.
8037
3006e981
VS
80382012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
8041 space.
8042
4e5a96b0
VS
80432012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8044
7da036bb
VS
8045 Remove non-functional EFI grub_get_rtc. Put a better fatal message
8046 than current grub_get_rtc() not implemented when booted with
8047 coreboot without TSC.
8048
8049 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
8050 Add machine/time.h to kernel headers on loongson.
8051 * grub-core/Makefile.core.def (kernel): Remove
8052 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
8053 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
8054 (grub_get_rtc): Likewise.
8055 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
8056 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
8057 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
8058 * grub-core/kern/i386/tsc.c (grub_tsc_init)
8059 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
8060 rather than installing known non-working time source.
8061 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
8062 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
8063 * include/grub/time.h: Don't include machine/time.h.
8064 * include/grub/efi/time.h: Removed.
8065 * include/grub/i386/efi/time.h: Likewise.
8066 * include/grub/i386/ieee1275/time.h: Likewise.
8067 * include/grub/powerpc/ieee1275/time.h: Likewise.
8068 * include/grub/sparc64/ieee1275/time.h: Likewise.
8069 * include/grub/x86_64/efi/time.h: Likewise.
8070
80712012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
8074
8075 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
8076 value.
8077 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
8078 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
8079 with dotless variants when any combining above is present.
8080
5561c22d
VS
80812012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
8084 text and not binary.
8085
96f7e60e
VS
80862012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 Stop polling as soon as we have the packet we were waiting for.
8089
8090 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
8091 All users updated.
8092 * grub-core/net/arp.c (have_pending): New var.
8093 (pending_req): Likewise.
8094 (grub_net_arp_send_request): Fill pending_req and use have_pending as
8095 stop indicator.
8096 (grub_net_arp_receive): Set have_pending.
8097 * grub-core/net/dns.c (recv_data): New field stop.
8098 (recv_hook): Set stop.
8099 (grub_net_dns_lookup): Init stop and use as stop condition.
8100 * grub-core/net/http.c (http_establish): Use headers_recv as stop
8101 condition.
8102 * grub-core/net/net.c (grub_net_poll_cards): New argument
8103 stop_condition. Stop when it goes true.
8104 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
8105 indicator.
8106 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
8107
3e747239
VS
81082012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 Keep TX and RX buffers on EFI rather than always allocate new ones.
8111
8112 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
8113 card. All users updated.
8114 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
8115 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
8116 (get_card_packet): Likewise.
8117 (grub_efinet_findcards): Init new fields.
8118
f695e99a
VS
81192012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8120
8121 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
8122 compilation error on sparc64.
8123
9e5e66d1
VS
81242012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 Use ITC on IA64 rather than broken routine based on daytime.
8127
8128 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
8129 ia64.
8130 (grub_get_rtc) [__ia64__]: Likewise.
8131 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
8132 (get_itc): New function.
8133 (grub_rtc_get_time_ms): Likewise.
8134 (grub_machine_init): Calibrate ITC.
8135 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
8136 Keep only on non-ia64. Don't export since it's broken and used only
8137 if TSC is unavailable.
8138
a1767404
VS
81392012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
8142 even if it's used.
8143 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
8144 Skip if parent is unused.
8145
34b2bced
VS
81462012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
8149
5e619f40
VS
81502012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 Fix wildcard escaping.
8153
8154 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
8155 * grub-core/script/execute.c (wildcard_escape): .. to here.
8156 Don't escape dot.
8157 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
8158 * grub-core/script/execute.c (wildcard_unescape): .. to here.
8159 Don't escape dot.
8160 * grub-core/script/execute.c (gettext_append): Always escape.
8161 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
8162 * grub-core/script/yylex.l: Don't cut away the escaping.
8163 * tests/grub_script_echo1.in: Add tests with wildcard.
8164
c8ca5855
VS
81652012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
8168 (ftdi_hw_configure): Likewise.
8169 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
8170 define.
8171 (real_config): Handle 1.5 stop bits.
8172 (pl2303_hw_configure): Likewise.
8173
7183452c
VS
81742012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 * Makefile.am: Add ppc linux bootcheck.
8177 * grub-core/tests/boot/linux-ppc.cfg: New file.
8178 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
8179
f57c84cd
VS
81802012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8181
8182 * tests/grub_script_expansion.in: Skip network protocols.
8183
ecfc6207
VS
81842012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
8187
8d03d284
VS
81882012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
8191 --rom-directory.
8192 Add -graft-points.
8193
61c42af0
VS
81942012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 ESCC serial driver for conducting sautomated tests in qemu.
8197 Not tested on real hardware.
8198
8199 * include/grub/serial.h (grub_serial_port): New field escc_desc.
8200 * grub-core/term/ieee1275/escc.c: New file.
8201 * grub-core/Makefile.core.def (escc): New module.
8202
08fd1291
VS
82032012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
8206 invalid on error.
8207 (serial_hw_fetch): Don't read invalid handle.
8208 (serial_hw_put): Don't write into invalid handle.
8209
08dafeea
VS
82102012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 Add a 1.5 stop bits value.
8213
8214 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
8215 * include/grub/serial.h (grub_serial_stop_bits_t): Add
8216 GRUB_SERIAL_STOP_BITS_1_5.
8217
9068fdcf
VS
82182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
8221 value rather than let it uninited.
8222
f4d5820f
VS
82232012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 * grub-core/commands/wildcard.c (+check_file): New function.
8226 (wildcard_expand): Don't expand to non-existing files, expand with
8227 suffix and not attempt to expand if not needed.
8228
3d2de9a7
VS
82292012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8230
8231 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
8232 out of partitions containing other partitions.
8233
c5c81ff9
VS
82342012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
8237 on some qemu versions with GRUB.
8238
8239 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
8240 define.
8241 (grub_openbsd_bootarg_pcibios): New struct.
8242 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
8243 Add PCIINFO.
8244
08a14e0b
VS
82452012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 * tests/util/grub-shell.in: Trim firmware output on EFI.
8248
cede3ca3
VS
82492012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
8252 and coreboot since it's already in kernel.
8253
558d3a60
VS
82542012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
8257 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8258 to here. New return value start. All users updated.
8259 Recursively scan linear mappings.
8260 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
8261 proto.
8262 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8263 Use grub_util_get_dm_node_linear_info.
8264 * util/getroot.c (convert_system_partition_to_system_disk): Use
8265 grub_util_info rather than grub_dprintf.
8266 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
8267
60fde14d
VS
82682012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8269
8270 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
8271
8272 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
8273 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
8274
24bd8838
VS
82752012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * include/grub/types.h (grub_set_unaligned64): New function.
8278 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
8279 (setup): Likewise.
8280
7bc06a49
VS
82812012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8282
8283 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
8284 (grub_ofdisk_fini): Quiesce USB devices.
8285
49cea015
VS
82862012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8287
8288 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
8289 caches.
8290
8dcbe03b
VS
82912012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
8294
5b258735
VS
82952012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8296
8297 * grub-core/disk/pata.c (grub_pata_pio_read)
8298 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
8299 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8300
37ba07eb
VS
83012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 Extend automated tests to qemu-mips.
8304
8305 * Makefile.am: reorganise tests and enable qemu-mips.
8306 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
8307 * grub-core/tests/boot/linux.init-mips.S: New file.
8308 * tests/partmap_test.in: Handle ata0 disks.
8309 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
8310 non-pc i386.
8311
070038f8
VS
83122012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
8315 ia64.
8316 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
8317 quotes while on it.
8318
004be2cd
VS
83192012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
8322 (grub_halt): Likewise.
8323 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
8324
b1622487
VS
83252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8326
8327 * grub-core/term/serial.c (grub_serial_register)
8328 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
8329 the behaviour in line with x86 platforms.
8330
b7b4ab33
VS
83312012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
8334 (grub_ata_strncpy): Likewise.
8335 (grub_ata_identify): Add missing byteswaps.
8336
5e3535ae
VS
83372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
8340 byte-swap.
8341 (screen_read_char): Likewise.
8342 (grub_vga_text_cls): Likewise.
8343
c21b17e6
VS
83442012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
8347 filenames.
8348 (make_file_path): Likewise.
8349
bf293dec
VS
83502012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
8353 machines.
8354 Tested by: Paulo Flabiano Smorigo.
8355 Crucial information about API supplied by: Coleen <Last name unknown>.
8356 Reviewed by: Coleen <Last name unknown>.
8357
81f6ef0e
VS
83582012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * util/grub-mkimage.c: Disable -Wcast-align.
8361
7284143a
VS
83622012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
8365 as they are fatal.
8366
b99f3e00
VS
83672012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
8370
944f752d
VS
83712012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * util/grub-probe.c (escape_of_path): Fix double free.
8374
6cce6f38
VS
83752012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 * grub-core/commands/videoinfo.c (hook): Show pitch.
8378
1e1eb50e
VS
83792012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 * util/grub.d/20_linux_xen.in: Skip xen-syms.
8382
1c715b5a
VS
83832012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
8386 (probe): Add ieee1275 to OFW devices.
8387
007ae52d
VS
83882012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
8391
4557a36d
VS
83922012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 Handle IBM OFW path.
8395
8396 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
8397 available.
8398 (of_path_of_scsi): Handle vdevice.
8399
efbeefe9
VS
84002012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
8403 Allocate in multiples of 16 to avoid adding a few bytes free region the
8404 windows bugs upon.
8405
15a940bb
VS
84062012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
8409 Allocate in multiples of 16 to avoid adding a few bytes free region the
8410 windows bugs upon.
8411 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
8412
6e5efd60
VS
84132012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
8416 resolutions.
8417 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
8418 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
8419
0d3d137e
IS
84202012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
8421
8422 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
8423
45dbe300
VS
84242012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
8427 resulted in \\ at the end of the line.
8428
6d8db947
VS
84292012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
8432 (grub_parser_cmdline_state): Likewise.
8433 (grub_parser_split_cmdline): Likewise.
8434
de89d338
VS
84352012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
8438 /dev/root and /dev/dm-*.
8439
00d41dee
VS
84402012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
8443 fix partially stale display.
8444
f95d1f11
VS
84452012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/normal/menu_entry.c (backward_char): Use right line for
8448 substraction.
8449
6297e197
VS
84502012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
8453 Fix MBR remapping workaround.
8454 (grub_util_biosdisk_read) [__linux__]: Likewise.
8455
8a7ecad3
VS
84562012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * util/grub-install.in: Check for ieee1275 and not ieee1276.
8459
2b34f944
VS
84602012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * configure.ac: Bump to beta6.
8463
684aef11
CW
84642012-05-31 Christer Weinigel <christer@weinigel.se>
8465
8466 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
8467
05b0bb91
VS
84682012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
8471 (grub_cmd_linux): Likewise.
8472
bda36bfa
CW
84732012-05-31 Christer Weinigel <christer@weinigel.se>
8474
8475 Fix EHCI low-speed.
8476
8477 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
8478 (GRUB_EHCI_MULT_TWO): Likewise.
8479 (GRUB_EHCI_MULT_THREE): Likewise.
8480 (GRUB_EHCI_CMASK_MASK): New enum value.
8481 (GRUB_EHCI_SMASK_MASK): Likewise.
8482 (GRUB_EHCI_CMASK_OFF): Likewise.
8483 (GRUB_EHCI_SMASK_OFF): Likewise.
8484 (grub_ehci_pci_iter): Enable periodic schedule.
8485 (grub_ehci_parse_notrun): Likewise.
8486 (grub_ehci_restore_hw): Likewise.
8487 (grub_ehci_setup_qh): Set flags for low speed transfers.
8488 (grub_ehci_find_qh): Use periodic list for low speed.
8489 (grub_ehci_setup_transfer): Check periodic queue as well.
8490 (grub_ehci_check_transfer): Likewise.
8491 (grub_ehci_cancel_transfer): Cancel periodic transfer.
8492
e12bcb1c
PFS
84932012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8494
8495 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
8496 parameter is used.
8497
bcc75fb3
PJ
84982012-05-31 Peter Jones <pjones@redhat.com>
8499
8500 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
8501 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
8502 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
8503
f19cb95e
VS
85042012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
8507 uninited variable. Allocate at least setup_sects.
8508
a4e5ca80
VS
85092012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 Fix handling of EFI with big memory maps.
8512
8513 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
8514 (real_mode_mem): Likewise.
8515 (real_mode_target): Likewise.
8516 (real_mode_pages): Likewise.
8517 (prot_mode_pages): Likewise.
8518 (linux_params): New var.
8519 (linux_cmdline): Likewise.
8520 (free_pages): Don't set real mode variables.
8521 (allocate_pages): Don't allocate real mode memory.
8522 (grub_e820_add_region): Remove the limit.
8523 (grub_linux_boot): Allocate and copy real mode memory.
8524 (grub_linux_unload): Free linux_cmdline.
8525 (grub_cmd_linux): Use temporary storage for parameters.
8526 (grub_cmd_initrd): Likewise.
8527 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
8528 (linux_kernel_params): Make it 1K big.
8529
ddb73558
VS
85302012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * Makefile.util.def: Remove -Wno-format.
8533 * grub-core/Makefile.core.def: Likewise.
8534
1c4afb60
VS
85352012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 * tests/cmp_unit_test.c: Add missing failure message.
8538 * tests/example_unit_test.c: Likewise.
8539 * tests/printf_unit_test.c: Likewise.
8540
941e3a6d
VS
85412012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
8544 relaxation of protective MBR requirements.
8545
b105df76
VS
85462012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * configure.ac: Add condition for COND_HOST_XNU.
8549 * Makefile.util.def (10_xnu): New script.
8550 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
8551
84e1569e
VS
85522012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
8555 objconv bug.
8556
130c0f77
VS
85572012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
8560 Binary on other platforms stays identical.
8561
6fd0b143
VS
85622012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
8565 Apple.
8566
0af1751d
VS
85672012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
8570
176d5f7d
VS
85712012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
8574 rather than defining size_t ourselves to avoid conflict.
8575
7de5e20a
VS
85762012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
8579 initialisation to avoid __bzero reference.
8580
f7143efe
VS
85812012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
8584 version.
8585 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
8586 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
8587 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
8588 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
8589 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
8590
e6ad0555
VS
85912012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
8594 * grub-core/kern/misc.c: Likewise.
8595 * grub-core/loader/i386/xnu.c: Likewise.
8596 * include/grub/i386/tsc.h: Likewise.
8597 * include/grub/symbol.h: Likewise.
8598
4a5a3c4a
VS
85992012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
8602 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
8603 on older compiler.
8604
037f6d90
VS
86052012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
8608 Implement Apple flavour.
8609 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
8610
f7194551
VS
86112012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
8614 (memmove) [__APPLE__]: Likewise.
8615 (memcpy) [__APPLE__]: Likewise.
8616 (memset) [__APPLE__]: Likewise.
8617 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
8618 (memmove) [__APPLE__]: Likewise.
8619 (memcpy) [__APPLE__]: Likewise.
8620 (memset) [__APPLE__]: Likewise.
8621
85a730ca
VS
86222012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8623
8624 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
8625 dependency discard.
8626
40e80b94
VS
86272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 * grub-core/normal/main.c (read_config_file): Provide config_file and
8630 config_directory.
8631 * util/grub.d/41_custom.in: Use config_directoy when available.
8632
9da59c32
VS
86332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
8636 (grub_bfs_dir): Likewise.
8637
2787ae53
PJ
86382012-05-27 Peter Jones <pjones@redhat.com>
8639
8640 The old code gives arguments to a printf function which can't work
8641 correctly, and the compiler complains.
8642
8643 * grub-core/tests/example_functional_test.c (example_test): Add
8644 missing text.
8645 * grub-core/tests/lib/test.c (add_failure): Rewrite.
8646 * include/grub/test.h (grub_test_assert_helper): New declaration.
8647 (grub_test_assert): Use grub_test_assert_helper.
8648
526ef13d
VS
86492012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
8652 (exfctest): ... this to avoid overlong filenames.
8653 All users updated.
8654
20dd511c
VS
86552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 Handle "." and ".." on squashfs.
8658
8659 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
8660 Make inode numbers into stack.
8661 (grub_squash_read_symlink): Use stack.
8662 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
8663 (make_root_node): Fill stack.
8664 (grub_squash_open): Use stack.
8665
1d80c62a
VS
86662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
8669 freeing.
8670
d336f652
VS
86712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8674 stderr on test calls.
8675
8b43f587
VS
86762012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8679
80a3dc3f
VS
86802012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8681
8682 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8683
47e297d4
VS
86842012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8687 "..".
8688
df042ccb
VS
86892012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8692 (grub_hfsplus_iterate_dir): Add "." and "..".
8693
fc977f48
VS
86942012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8697 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8698
f3250e5f
VS
86992012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8702 (find_path): Handle "." and "..".
8703
fd8ed4c5
VS
87042012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8707 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8708 (grub_affs_iterate_dir): Handle hardlinks.
8709
4ce776d2
MG
87102012-05-26 Matthew Garrett <mjg@redhat.com>
8711
8712 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8713 (grub_efi_console_fini): Likewise.
8714 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8715 (grub_video_gop_fill_mode_info): Rename to ...
8716 (grub_video_gop_fill_real_mode_info): ... this.
8717 (grub_video_gop_fill_mode_info): New function.
8718 (grub_video_gop_setup): Setup double framebuffer.
8719 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8720 Free offscreen.
8721 (grub_video_gop_swap_buffers): Copy framebuffer.
8722 (grub_video_gop_fini): Free offscreen buffer.
8723 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8724 New enum.
8725 (grub_efi_gop_blt_pixel): New struct.
8726
683031ba
VS
87272012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * gentpl.py: Remove error disabling for objconv.
8730
c2deb798
VS
87312012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 * configure.ac: Remove -Wunitialized as it's not available on older
8734 compilers.
8735
87362012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
8737
8738 Fix extent overflow comparator.
8739
8740 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8741 (grub_hfsplus_read_block): Set type.
8742 (grub_hfsplus_cmp_extkey): Compare type.
8743
d6b1fd36
VS
87442012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8747
0a9aa0f6
VS
87482012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8751 than 0.
8752
8360e159
VS
87532012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8754
8755 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8756 (dejavu_bold_14.pf2): New target.
8757
501b9e4b
VS
87582012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * configure.ac: Fix djvu font detection.
8761
7026b0e2
VS
87622012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8765 ext* instead of ext2.
8766
c2a51ade
VS
87672012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8770 name with \0.
8771
8f803a5d
JU
87722012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8773
8774 * docs/grub-dev.texi: Remove dot from .png.
8775
13c6353f
VS
87762012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8779 protective entry in any slot.
8780 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8781 if protective entry is found in any slot.
8782
8783 Protective entry in non-first slot make no sense but is a widespread
8784 brain damage.
8785
4cf6be1b
VS
87862012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8789
937d1c44
VS
87902012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8793 with old reiserfs.
8794 (grub_reiserfs_open): Don't free root.
8795
021d90ec
VS
87962012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8799 after freeing for safety.
8800
967b2b64
VS
88012012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
8804 Reported by: Jordan Uggla.
8805
34274d02
JU
88062012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
8807
967b2b64
VS
8808 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
8809 actual implementation. Specifically, clarify that the grub menu will
8810 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
8811 passed.
34274d02 8812
dcaaae9d
BH
88132012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8814
8815 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8816 of r0.
8817
7086ad52
VS
88182012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 Remove unjustified hard dependency of normal.mod on gfxterm.
8821
8822 * include/grub/term.h (grub_term_output): New member fullscreen.
8823 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8824 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8825 (grub_gfxterm): Set .fullscreen.
8826 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8827 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8828
37ed2c9b
VS
88292012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
8832 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 8833 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 8834
a4469c88
VS
88352012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
8838
4e461486
VS
88392012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8842 a bad FS.
8843
aa78f5c4
VS
88442012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8847 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8848
197626b5
VS
88492012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8852 (grub_jfs_mount): Fill caseins.
8853 (grub_jfs_find_file): Respect caseins.
8854
8ad3f28c
VS
88552012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8858 through UTF-16.
8859
0c6c324e
VS
88602012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8863 New argument origpath. All users updated.
8864
c6666ba6
VS
88652012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8868 (read_attr): Ensure that we read start of possibly compressed block.
8869
e28e5fe5
VS
88702012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8873 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8874 All users updated.
8875
5fc23ab2
VS
88762012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8879 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8880 (dejavu.pf2): Replace with ...
8881 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8882 this.
8883
79dbc21c
VS
88842012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * util/grub.d/20_linux_xen.in: Add missing line.
8887
d2fcfb0c
VS
88882012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
8891 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8892 (grub_utf16_to_utf8): Likewise.
8893
5560e9d6
VS
88942012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8897 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8898 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8899 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8900 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8901 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8902
89032012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
8904
8905 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8906 a bad FS.
8907
5560e9d6 89082012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
8909
8910 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8911 (grub_udf_read_symlink): Handle read_string failure.
8912
5eae3175
VS
89132012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8916 comment.
8917
c1ad82db
VS
89182012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 Fix handling of UDF symlinks.
8921
8922 * grub-core/fs/udf.c (read_string): New argument outbuf.
8923 All users updated.
8924 (grub_ufs_read_symlink): Rename to ...
8925 (grub_udf_read_symlink): ... this. All users updated.
8926 Handle symlinks with more than one component.
8927
33eca6e0
VS
89282012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8931 symlinks. Replace leading colon with a slash.
8932
57f4a70b
VS
89332012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8936 filename.
8937
38c8ee20
VS
89382012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8941 match in inner node.
8942
2e57f28f
VS
89432012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8946 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8947 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8948 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8949 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8950 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8951 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8952 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8953 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8954
fe8c2f11
VS
89552012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 Use grub-probe and not cmp to check that disk is empty.
8958
8959 * util/grub-install.in: Use grub-probe for zero-check.
8960 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8961 (probe): Handle PRINT_ZERO_CHECK.
8962 (argp_parser): Handle -t zero_check.
8963
89642012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
8965
8966 Flush block cache on adding disk to device map.
8967
8968 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8969 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8970 adding.
8971 (read_device_map): Likewise.
8972 (open_device): Flush on opening.
8973
690434e8
VS
89742012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8977 (handle_symlink): Fix off-by-one error.
8978 Canonicalize the target.
8979 (grub_cpio_dir): Canonicalize the name.
8980 Fix memory leak.
8981 Set directory.
8982 (grub_cpio_open): Canonicalize the name.
8983
742d2be6
VS
89842012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8987 handling.
8988
3244fe96
VS
89892012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8992 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8993
8aeb1837
VS
89942012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8997 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8998 All users updated.
8aeb1837 8999
9133fd05
VS
90002012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
9003 counterpart.
9004
6d521c5b
VS
90052012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 Fix UFS1 big file support.
9008
9009 * grub-core/fs/ufs.c (INODE): Removed.
9010 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
9011 64-bit.
9012 (INODE_MODE): Simplify.
9013 (grub_ufs_inode): Use uint64_t for size and not int64_t.
9014 (grub_ufs_lookup_symlink): Don't use INODE.
9015
21b82e17
VS
90162012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 Fix minixfs with non-power-of-two blocks since it's supported by minix.
9019
9020 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
9021 (grub_minix_data): Replace log_block_size with block_size.
9022 (grub_minix_read_file): Use block_size but avoid 64-bit division.
9023 (grub_minix_mount): Fill block_size.
9024
90252012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
9026
9027 * configure.ac: Bump to beta5.
9028
f417ed04
VS
90292012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 Fix wrapped HFS+ handling.
9032
9033 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
9034 blocks_start. All users updated.
9035 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
9036 wrapping offset.
9037 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
9038
607d282b
VS
90392012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 Fix long symlinks on reiserfs.
9042
9043 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
9044 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
9045 (grub_reiserfs_iterate_dir): Save size for non-directories.
9046 (grub_reiserfs_open): Don't reread stat block as we already know the
9047 size.
9048 (grub_reiserfs_read): Split into...
9049 (grub_reiserfs_read_real): ... and ...
9050 (grub_reiserfs_read): ...this.
9051
ae16024d
VS
90522012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 Fix non-indexed JFS.
9055
9056 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
9057 (grub_jfs_data): New field namecomponentlen.
9058 (grub_jfs_mount): Fill namecomponentlen.
9059 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
9060
eea1e26e
VS
90612012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
9064 * tests/grub_script_echo1.in: Add tests.
9065
df760f77
VS
90662012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 * util/grub-install.in: Ignore empty devicetree directory.
9069
5efb817d
B
90702012-05-08 Bean <bean123ch@gmail.com>
9071
9072 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
9073 All users updated.
9074 (free_rsm): Free header as well.
9075 (free_old_fragments): Fix memory leak.
9076 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
9077 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
9078 (destroy_pq): Likewise.
9079 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
9080
668ea6d2
VS
90812012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
9084 resulting hash as a precaution.
9085
1739b1fe
VS
90862012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9087
9088 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
9089 '_' in variable names.
9090 * grub-core/net/net.c (grub_net_network_level_interface_register):
9091 Likewise.
9092
6ae485aa
VS
90932012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 Fix AFFS with non-512B blocks.
9096
9097 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
9098 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
9099 (grub_affs_data): Replace blocksize with log_blocksize.
9100 (grub_affs_read_block): Fix non-512B blocks.
9101 (grub_affs_read_symlink): Likewise.
9102 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
9103 (grub_affs_read): Fix non-512B blocks.
9104 (grub_affs_label): Likewise.
9105 (grub_affs_mtime): Likewise.
9106 (grub_affs_mount): Fix block detection routine.
9107
d20fab84
VS
91082012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 Add filesystem mtime to AFFS.
9111
9112 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
9113 (aftime2ctime): New function.
9114 (grub_affs_dir): Use aftime2ctime.
9115 (grub_affs_label): Fix return value.
9116 (grub_affs_mtime): New function.
9117 (grub_affs_fs): Add mtime.
9118
e87b10f5
VS
91192012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9120
9121 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
9122 UTF-8.
9123
7dceec9b
VS
91242012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
9127 UTF-8.
9128
2f48221f
VS
91292012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9130
9131 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
9132
dacd85cf
VS
91332012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
9136 flags.
9137 (FLAGS_CASE_SENSITIVE): New enum value.
9138 (cache_entry): New struct.
9139 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
9140 cache_size and cache.
9141 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
9142 Add log_blocksize and fshelp_flags.
9143 (grub_sfs_read_extent): Handle non-512 blocks.
9144 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
9145 (grub_sfs_read_file): Handle non-512 blocks.
9146 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
9147 fshelp_flags.
9148 (grub_sfs_read_symlink): Handle non-512 blocks.
9149 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
9150 (grub_sfs_dir): Free cache.
9151 (grub_sfs_close): Likewise.
9152
24e9a854
VS
91532012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
9156 filesystems.
9157
62ace64d
VS
91582012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9159
9160 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
9161
83b2e89c
VS
91622012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
9165
75ccaea3
VS
91662012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
9169 (grub_sfs_read_extent): Likewise.
9170 (grub_sfs_read_block): Likewise.
9171 (grub_sfs_mount): Likewise.
9172 (grub_sfs_iterate_dir): Likewise.
9173 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
9174 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
9175
1b8463f2
VS
91762012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 Fix errors on compressed NTFS with 512B clusters.
9179
9180 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
9181 types.
9182 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
9183 not 0.
9184 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
9185 Relax check for inline extents.
9186 (ntfscomp): Return correct -1 on error and not 0.
9187
4f8e368f
VS
91882012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * util/grub-install.in: Fix handling of prefix containing spaces.
9191
6f5d5ee8
VS
91922012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
9195 (grub_squash_read_data): Fix offset byte-swapping.
9196
ce41ab7a
VS
91972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
9200 per common usage and preffered in several parts of code.
9201 (grub_memcmp): Likewise.
9202 (grub_strncmp): Likewise.
9203 * include/grub/misc.h (grub_strcasecmp): Likewise.
9204 (grub_strncasecmp): Likewise.
9205 * Makefile.util.def (cmp_test): New test.
9206 (grub_script_strcmp): Likewise.
9207 * tests/cmp_unit_test.c: New file.
9208 * tests/grub_script_strcmp.in: Likewise.
9209 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
9210
49717bf4
VS
92112012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9212
9213 * include/grub/pci.h: Move enums into no-asm part.
9214
0a308f64
VS
92152012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
9218
1796965f
ST
92192012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
9220
9221 * util/getroot.c (find_hurd_root_device): Try to make error message
9222 and comments to translators clearer.
9223
4e9b2819
VS
92242012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
9227
076aeb50
VS
92282012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
9231 btrfs.
9232
19424d94
VS
92332012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * docs/grub.cfg: Update.
9236
ebb73076
VS
92372012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * docs/grub.texi (PXE): Remove not present variables.
9240
9a1b669c
VS
92412012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * grub-core/net/net.c (defserver_set_env): New function.
9244 (defserver_get_env): Likewise.
9245 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
9246
d38bf7d3
VS
92472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
9250 entries.
9251
92522012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
9253
9254 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
9255 * grub-core/kern/emu/hostdisk.c: Likewise.
9256
e5e4ca48
ST
92572012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9258
9259 Handle hurd userspace partitions.
9260
9261 * util/getroot.c (find_hurd_root_device): New function.
9262 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
9263
56bb5dd5
VS
92642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
9267 names.
9268 Reported by: Bastian Blank.
9269
9e8bc27a
VS
92702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9271
9272 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
9273 crossing page boundary.
9274
aa01499d
VS
92752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 Fix B-tree search in BFS, especially in presence of non-ASCII
9278 characters.
9279
9280 * grub-core/fs/bfs.c (bfs_strcmp): New function.
9281 (find_in_b_tree): Use standard bsearch + btree algorithm.
9282
57006035
VS
92832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
9286 and so on.
9287
9d34bb85
MG
92882012-05-03 Matthew Garrett <mjg@redhat.com>
92892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 Suspend broadcom cards in order to stop their DMA.
9292
9293 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
9294 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
9295 (pci): Don't build on x86 EFI.
9296 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
9297 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
9298 New function.
9299 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
9300 stop_broadcom if running on EFI.
9301 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
9302 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
9303 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
9304 (grub_pci_find_capability): New proto.
9305
01aab997
VS
93062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * docs/grub.texi: Remove dot from the extension as it apparently
9309 doesn't work with some makeinfo versions.
9310
fbd8dca6
VS
93112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
9314 with GRUB expectance.
9315
dab797f4
VS
93162012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
9319
1516bfb4
VS
93202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
9323 zero after directory block since last entry may be not 0-terminated if
9324 it ends on block boundary. Use continue instead of if spanning whole
9325 loop.
9326
a3a0eace
VS
93272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9328
9329 Support 4K sectors UDF inline files.
9330
9331 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
9332 (grub_udf_extended_file_entry): Likewise.
9333 (grub_fshelp_node): Name the anonymous union. Put block at the end.
9334 All users updated.
9335 (get_fshelp_size): New function.
9336 (grub_udf_read_icb): Read whole block.
9337 (grub_udf_iterate_dir): Likewise.
9338 (grub_udf_dir): Likewise.
9339 (grub_udf_open): Likewise.
9340
c82f16c1
VS
93412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
9344
59fd2aac
VS
93452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
9348 inline symlinks in addition to workaround.
9349
3b4afb4d
VS
93502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
9353
f45c794a
VS
93542012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9355
9356 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
9357
f25cecbd
VS
93582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
9361
bb9a34e8
VS
93622012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 Fix reiserfs big seek times.
9365
9366 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
9367 exact. All users updated.
9368 (grub_reiserfs_read): Use nearest btree search for seeking.
9369 Fix return value on error.
9370
dc478aea
VS
93712012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9372
9373 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
9374 entries.
9375 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
9376 * docs/grub.texi: Update menuentry description.
9377
8db10f47
VS
93782012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
9381 crash when embedding onto filesystem.
9382
bcb288ed
VS
93832012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
9386 name.
9387
a626fdd7
VS
93882012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
9391
b2f68477
VS
93922012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9393
9394 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
9395 commit.
9396
ba15b2af
B
93972012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
93982012-05-01 Bean <bean123ch@gmail.com>
9399
9400 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
9401
a188012e
VS
94022012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
9405 Special behaviour for len = 0 to read whole file isn't used anywhere and
9406 can cause buffer ovewrflows in several places.
9407
f0a53ed2
VS
94082012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9409
9410 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
9411
5ed554f0
VS
94122012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 Handle RAIDZ on non-512B sectors.
9415
9416 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
9417 max_children_ashift.
9418 (fill_vdev_info_real): Fill max_children_ashift.
9419 (read_device): Use max_children_ashift.
9420
ddc58357
VS
94212012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
9424
e3282399
VS
94252012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
9428 disk names.
9429 * docs/grub.texi: Update device.map parts.
9430
ee618bd4
VS
94312012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 Don't scan into non-diskfilter devices having diskfilter names.
9434
9435 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
9436 (scan_disk): New argument accept_diskfilter. Fix recursion depth
9437 handling.
9438 (scan_disk_hook): New function.
9439
bdf88864
B
94402012-04-29 Bean <bean123ch@gmail.com>
9441
9442 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
9443 allocation.
9444
32745f51
MK
94452012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
9446
9447 * configure.ac: Detect starfield theme font path
9448 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
9449
bc95c8c0
VS
94502012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
9453 geometry on serial consoles.
9454
147fbcab
VS
94552012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
9458 because of network consoles.
9459
0f42c889
VS
94602012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
9463 handling.
9464
4a3594c9
VS
94652012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
9468 falls on Q syndrom.
9469
5cb53879
VS
94702012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
9473 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
9474
b282dfe5
VS
94752012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
9478 Allocate at lest 8192 for temporary buffer as required for lzo.
9479
daa59f47
VS
94802012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
9483 to cluster_bits, since it's already added in.
9484 (grub_fat_read_data): Likewise.
9485
986748ce
VS
94862012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
9489 as long as cluster size is multiple of 512 bytes.
9490
a20f6ad0
VS
94912012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * util/grub-mkrescue.in: Fix locale directory.
9494
385f9abb
VS
94952012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9496
9497 * grub-core/kern/emu/hostdisk.c (map): Make static.
9498
1c557d30
B
94992012-04-23 Bean <bean123ch@gmail.com>
9500
9501 * util/grub-fstest.c (fstest): Add missing break.
9502
524b5d3a
ST
95032012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
9504
9505 Fix hurd build.
9506
9507 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
9508 not define nr variable.
fe4824e9 9509 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
9510 find_root_devices_from_poolname, find_root_devices_from_libzfs,
9511 grub_find_device): Do not define.
524b5d3a 9512
9a06490c
VS
95132012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 Fix kfreebsd compile and behaviour.
9516
9517 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
9518 format-security.
9519 * util/getroot.c: Fix wait.h include.
9520 (grub_guess_root_devices): Error if grub_find_device fails.
9521 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
9522 (grub_util_get_dev_abstraction): Likewise.
9523 (grub_util_pull_device): Likewise.
9524 (grub_util_get_grub_dev): Likewise.
9525 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
9526
48143d96
VS
95272012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 Fix and unify wholedisk detection.
9530
9531 * util/getroot.c (convert_system_partition_to_system_disk): New argument
9532 is_part. All users updated.
9533 (device_is_wholedisk): Removed.
9534 (grub_util_biosdisk_get_grub_dev): Use is_part.
9535
ebbd24f3
VS
95362012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
9539 mode.
9540
56f7aa1e
VS
95412012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 * configure.ac: Bump to beta4.
9544
9c815e01
VS
95452012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
9548 --fs-uuid --set UUID syntax.
9549
59e2651a
VS
95502012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
9553 disunification.
9554
54e03cfc
VS
95552012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
9558
81092a75
MK
95592012-04-18 Mads Kiilerich <mads@kiilerich.com>
9560
9561 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
9562
f8315e14
MG
95632012-04-18 Mike Gilbert <floppym@gentoo.org>
9564
9565 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
9566
1501ac21
B
95672012-04-18 Bean <bean123ch@gmail.com>
9568
9569 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
9570 place.
9571
cb7f944e
VS
95722012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
9575 users updated.
9576 (grub_util_biosdisk_read): Handle Linux partitions not exactly
9577 corresponding to GRUB partitions.
9578 (grub_util_biosdisk_write): Likewise.
9579
b72d44a1
VS
95802012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 Scan mdraid before LVM.
9583
9584 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
9585 (grub_diskfilter_register_front): ... this.
9586 (grub_diskfilter_register_back): New function.
9587 All users of grub_diskfilter_register updated.
9588
33d918b8
VS
95892012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 * util/grub-install.in: Fix an automatic target detection bug.
9592
c6ca973d
VS
95932012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9594
9595 * util/grub-install.in: New option --efi-directory.
9596
b41be562
VS
95972012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
9600 boot services if we have no other choice.
9601
96022012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
9603
9604 * util/grub-mknetdir.in: Rename --override-directory to --directory and
9605 document it.
9606 * tests/util/grub-shell.in: Update to --directory.
9607
e0595a73
VS
96082012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
9611
4ed80652
VS
96122012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
9615 (grub_minix_read_file): Likewise.
9616 (grub_minix_read_inode): Likewise.
9617 (grub_minix_find_file): Likewise.
9618 (grub_minix_dir): Likewise.
9619
56008077
VS
96202012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * util/grub-setup.c (setup): Fix partition handling and blocklist
9623 check.
9624
ee520775
VS
96252012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
9628 redundant buggy overlap check.
9629
16fc9293
VS
96302012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
9633 and grub-mknetdir.
9634
9bab65c4
VS
96352012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9636
9637 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
9638 kh.loadflags on pre-2.00 kernels.
9639
3c491b47
VS
96402012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 Terminate UNDI and PXE before launching the payload to avoid problems
9643 with DMA.
9644
9645 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
9646 (grub_loader_flags): ... this. All users updated.
9647 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
9648 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
9649 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
9650 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
9651 function.
9652 (grub_pxe_restore): Likewise.
9653 (fini_hnd): New var.
9654 (GRUB_MOD_INIT): Register shutdown hook.
9655 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
9656 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
9657 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
9658 (grub_loader_set): Rename second argument to flags.
9659
851ffada
VS
96602012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9661
9662 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
9663 written bytes.
9664 (grub_get_num_of_utf8_bytes): New function.
9665 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
9666 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
9667 executing it.
9668 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
9669 (grub_ucs4_to_utf8): Change return type.
9670
491c57a8
VS
96712012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9672
9673 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9674 warning.
851ffada
VS
9675 * grub-core/fs/bfs.c (hop_level): Likewise.
9676 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 9677
756773df
VS
96782012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 * grub-core/lib/adler32.c: Recode due to license unclearness.
9681
fd556a96
VS
96822012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9685 (test_header): Likewise.
9686
9f9d3f69
VS
96872012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 Fix --help formatting.
9690
9691 * util/grub-mkconfig_lib.in (print_option_help): New function.
9692 (grub_fmt): Likewise.
9693 * util/grub-install.in: Use print_option_help and grub_fmt.
9694 * util/grub-kbdcomp.in: Likewise.
9695 * util/grub-mkconfig.in: Likewise.
9696 * util/grub-mknetdir.in: Likewise.
9697 * util/grub-mkrescue.in: Likewise.
9698 * util/grub-mkstandalone.in: Likewise.
9699 * util/grub-reboot.in: Likewise.
9700 * util/grub-set-default.in: Likewise.
9701 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9702
561ec77e
VS
97032012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * linguas.sh: Remove autogenerated *.po.
9706
7ec2b021
VS
97072012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * po/README: Move language fetcing to ...
9710 * linguas.sh: ... here.
9711 * po/README: Point to linguas.sh.
9712
a88f3270
VS
97132012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 * po/README: Exclude ko.po due to disclaimer problems.
9716
d61357ce
VS
97172012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9720 len = 0.
9721 (grub_gettext_translate_real): Handle 0th string.
9722 (grub_gettext_translate): Ensure that "" isn't translated.
9723
505e41dc
VS
97242012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9727 TRANSLATORS comment.
9728 (grub_diskfilter_print_partmap): Propagate changing of error into
9729 warning.
9730
e44092db
VS
97312012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9732
9733 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9734 to uint64_t to prevent overflow.
9735 (grub_diskfilter_lv): Increase start_extent and extent_count
9736 to uint64_t to prevent overflow.
9737
9b83956a
VS
97382012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * configure.ac: Increase version.
9741
da0d5b3f
VS
97422012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9745
9746 * po/Rules-translit: New file.
9747 * po/arabic.sed: Likewise.
9748 * po/cyrillic.sed: Likewise.
9749 * po/greek.sed: Likewise.
9750 * po/hebrew.sed: Likewise.
9751 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9752 * po/Makefile.in.in: Add extra_dist4.
9753
ac66b453
VS
97542012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9757
9758 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9759 modify names. Introduce MODE_BIGENDIAN.
9760 * grub-core/fs/minix_be.c: New file.
9761 * grub-core/fs/minix2_be.c: Likewise
9762 * grub-core/fs/minix3_be.c: Likewise.
9763 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9764 minix3_be.
9765 * grub-core/Makefile.core.def (minix_be): New module.
9766 (minix2_be): Likewise.
9767 (minix3_be): Likewise.
9768
97692012-04-01 Felix <email@hamburg.de>
9770
9771 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9772 (devs): Add MBP 2011.
9773
0a2d5a82
VS
97742012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9777
d1625889
VS
97782012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * grub-core/normal/cmdline.c (print_completion): New field
9781 prompt_len.
9782 (grub_cmdline_get): Handle width properly.
9783
6d36a236
VS
97842012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9787
9576977e
VS
97882012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 9791 after 29th of February.
9576977e 9792
d73ff15d
VS
97932012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 Fix exfat endianness handling.
9796
9797 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9798 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9799 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9800 Byte-swap utf16 when necessary.
9801 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
9802
bbb39a45
AB
98032012-03-31 Anton Blanchard <anton@samba.org>
98042012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 Fix btrfs endianness handling.
9807
9808 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
9809 (lower_bound): Make root uint64_t. Use root in le.
9810 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
9811 (find_path): Fix template key init.
9812 (grub_btrfs_dir): Fix mtime byteswap.
9813 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9814
354e0af7
VS
98152012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9818 recursion_depth. Break infinite resursions. All users updated.
9819
4e75f21c
VS
98202012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9823 after free.
9824 Reported by: Peter Jones.
9825
25581802
AB
98262012-03-31 Anton Blanchard <anton@samba.org>
9827
9828 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9829 8 bit values.
9830
08fbf92e
VS
98312012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 * util/grub-install.in: Fix nvram call for PreP.
9834
5d1182a6
VS
98352012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
9838 the error when some elements are missing into a warning.
9839
3f8cdd90
VS
98402012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
9843
51006716
CW
98442012-03-28 Colin Watson <cjwatson@ubuntu.com>
9845
9846 * docs/grub.texi (Invoking grub-probe): New section.
9847 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9848
e1bd676b
VS
98492012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 Fix tab and wide character handling in editor and menu.
9852
9853 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9854 agglomerate control characters with combining marks.
9855 (bidi_line_wrap): Allow break on tab.
9856 (grub_unicode_get_comb_start): New function.
9857 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9858 and tab correctly.
9859 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9860 with a space.
9861 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9862 fixed_tab_size. All users updated.
9863 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9864 (grub_term_getcharwidth): Handle \t.
9865 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9866 and copy.
9867
22e6a774
VS
98682012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 Handle big-endian mdraid.
9871
9872 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9873 * grub-core/Makefile.core.def (mdraid09_be): New module.
9874 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9875 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9876 * grub-core/disk/mdraid_linux_be.c: New file.
9877
3c0eae66
VS
98782012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9881
b6cf74c9
VS
98822012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9885 missing quotes which caused confusion among translators.
9886
83c93b9c
VS
98872012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 * util/grub-mkconfig_lib.in: Fix typo.
9890
ac6fd218
VS
98912012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9892
9893 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9894 spaces.
9895 * tests/grub_script_leading_whitespace.in: New file.
9896 * Makefile.util.def (grub_script_leading_whitespace): New test.
9897
ba287dd8
VS
98982012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9901 to work.
9902
d2d58d0a
VS
99032012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9906 starts with control character.
9907
0382d9bb
VS
99082012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9911 overflow.
9912 (grub_gdb_outbuf): Likewise.
9913
d83ff9f9
VS
99142012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9917 zero terminator. Fixes a crash.
9918
2282da4a
VS
99192012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9922 beyond 4 GiB.
9923 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9924 images independently of preffered adderss field.
9925
0ae4f0bd
VS
99262012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9927
9928 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9929 * grub-core/commands/regexp.c: Likewise.
9930 * grub-core/loader/i386/linux.c: Likewise.
9931 * grub-core/partmap/msdos.c: Likewise.
9932 * grub-core/script/execute.c: Likewise.
9933 * grub-core/term/gfxterm.c: Likewise.
9934
546fbe9b
VS
99352012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 Add variable parsing in $"..." and fix several mismatches with bash.
9938
9939 * Makefile.util.def (grub_script_gettext): New test.
9940 * grub-core/script/execute.c (parse_string): New function.
9941 (gettext_append): Likewise.
9942 (grub_script_arglist_to_argv): Use gettext_append.
9943 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9944 * tests/grub_script_gettext.in: New file.
9945
9fdb2d7b
VS
99462012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 Fix handling of leading spaces in scripts.
9949
9950 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9951 spaces.
9952 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9953 other than skipping \r. All users updated.
9954 * tests/grub_script_echo1.in: Add space-related tests.
9955 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9956
1a1ac4f6
VS
99572012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9960
b63d89b6
VS
99612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * configure.ac: Bump up the version to beta2.
9964
17f38c0f
VS
99652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 Fix gettext reload bugs (e.g. inability to disable gettext
9968 once enabled).
9969
9970 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9971 main_context and secondary_context. All functions updated.
9972 (grub_gettext_translate): Rename to ...
9973 (grub_gettext_translate_real): ... this. Return NULL on failed
9974 translate.
9975 (grub_gettext_translate): Handle secondary context.
9976 (grub_gettext_delete_list): Close file and zero-out the context.
9977 (grub_mofile_open): Don't call grub_gettext_delete_list.
9978 Don't close file.
9979 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9980 if locale="" to avoid pointless error message.
9981 (grub_gettext_env_write_lang): Update lang even if load fails.
9982 Handle secondary context.
9983 (grub_gettext_reread_prefix): New function.
9984 (read_main): Likewise.
9985 (read_secondary): Likewise.
9986 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9987 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9988 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9989 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9990
8e56f870
VS
99912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 * configure.ac: Decrease warning level to avoid spurious warnings and
9994 to be able to compile with GCC 4.2.
9995 * Makefile.util.def: Remove -Wno-error=logical-op.
9996
82f6d455
WB
99972012-03-10 William Bittner <william.bittner@gmail.com>
9998
9999 * util/import_unicode.py: Add missing brackets around string for
10000 python 3 support.
10001
1ecd61a4
VS
100022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 Fix efi chainloader on network root.
10005
10006 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
10007 network devices.
10008 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
10009 New function.
10010
14361ee8
VS
100112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
10014 unused show_text member.
10015 * docs/grub.texi: Document "text" property.
10016
922aabf3
VS
100172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
10020 in dprintf.
10021
ec316771
VS
100222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 Fix IMSM handling on Fedora.
10025
10026 * util/getroot.c (grub_util_is_imsm): New function.
10027 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
10028
0f021838
VS
100292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * Makefile.am: Strip gold section.
10032 * conf/Makefile.common: Likewise.
10033 * gentpl.py: Likewise.
10034 * grub-core/Makefile.core.def: Likewise.
10035 * grub-core/genmod.sh.in: Likewise.
10036
1039c8eb
VS
100372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10038
10039 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
10040 * util/grub.d/20_linux_xen.in: Likewise.
10041 Based on Debian patch.
10042
6dd412cd
VS
100432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 * util/grub.d/10_linux.in: Fix syntax error resulting in
10046 Richard Laager's patch.
10047 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
10048
3fd8bae5
VS
100492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
10052 dependencies.
10053
7eea1671
RL
100542012-03-10 Richard Laager <rlaager@wiktel.com>
10055
10056 * util/grub.d/10_linux.in: Fix ZFS root passing.
10057
e8e0566b
VS
100582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10061 * grub-core/commands/xnu_uuid.c: Likewise.
10062 * grub-core/loader/efi/appleloader.c: Likewise.
10063 * grub-core/script/execute.c: Likewise.
10064 * grub-core/script/main.c: Likewise.
10065 * util/grub-mkfont.c: Likewise.
10066
1acc5b1f
VS
100672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * util/grub-mkfont.c (options): Use more appropriate "select" that
10070 "set" for face index.
10071
35d70620
VS
100722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * util/grub-editenv.c (options): Gettextize command summaries.
10075
c9eb96b5
VS
100762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
10079 "out of memory" error messagge.
10080
1f493136
VS
100812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
10084 of diskfilter for diskfilter on diskfilter support.
10085
6d790129
VS
100862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
10089
005f46c9
VS
100902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 * util/grub-install.in: Check for themes/starfield/theme.txt and not
10093 themes/starfield.
10094
c8f778a0
VS
100952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10096
10097 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
10098
de1e64eb
VS
100992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
10102
c6d54211
VS
101032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10104
10105 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
10106 of error message.
10107
dd390777
VS
101082012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
10111
5fd1c522
VS
101122012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
10115 message.
c6d54211 10116 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 10117
fae01f6c
VS
101182012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
10121 Gettextize.
10122 * util/grub-mount.c (options): Likewise.
10123
292fdaff
VS
101242012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
10127 gettextize.
10128 * grub-core/commands/search_wrap.c (options): Likewise.
10129
ecdbae77
VS
101302012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
10133
52bfedfa
VS
101342012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
10137 size calculation.
10138 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
10139 none is known.
10140
55b20e58
VS
101412012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10142
10143 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
10144 "temporary" since it's used in identifier and is limited in space.
10145
fda9d101
VS
101462012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10147
10148 * po/POTFILES.in: Regenerate. Include *.h since they contain
10149 translatable strings as well.
10150
6a0295e2
VS
101512012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10154 byte-swap on big-endian.
10155 Reported by: Lennart Sorensen
10156
807fb77c
VS
101572012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
10160 (allocate_pages): Improve dprintf.
10161 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
10162 code32_start. Fill code32_start and kernel_alignment in params.
10163 (grub_cmd_initrd): Use prot_init_space.
10164
61ac50ba
VS
101652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
10168
abdd26dd
VS
101692012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 * util/grub-install.in: Add missing dot at the end of sentence.
10172
6e69da9c
VS
101732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10176 * grub-core/commands/videotest.c: Likewise.
10177 * grub-core/loader/i386/linux.c: Likewise.
10178
4a929343
VS
101792012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
10182 sentence.
10183 Reported by: Milo Casagrande.
10184
bb51c6c6
VS
101852012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
10188 * grub-core/commands/gptsync.c: Likewise.
10189 * grub-core/commands/hashsum.c: Likewise.
10190 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10191 * grub-core/commands/legacycfg.c: Likewise.
10192 * grub-core/io/gzio.c: Likewise.
10193 * grub-core/net/net.c: Likewise.
10194 * grub-core/term/gfxterm.c: Likewise.
10195 * grub-core/term/terminfo.c: Likewise.
10196 * grub-core/tests/test_blockarg.c: Likewise.
10197 * grub-core/video/video.c: Likewise.
10198 * util/grub-install.in: Likewise.
10199 * util/grub-mkfont.c: Likewise.
10200
b2b149cb
VS
102012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
10204
c7c080ad
VS
102052012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10206
10207 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 10208 Reported by: David Prévot.
c7c080ad 10209
f2e243c0
VS
102102012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
10213 description.
10214
09963c76
VS
102152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 * util/grub-script-check.c (main): Fix a syntax error message which was
10218 unclear.
10219
a50514a8
VS
102202012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10221
10222 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
10223
4650daec
VS
102242012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
10227 messages.
10228
102292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
10230
10231 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
10232 without argument.
10233 * util/grub-mount.c (options): Likewise.
10234
bbc5a342
VS
102352012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
10238
ef292a87
VS
102392012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * grub-core/net/http.c: Add TRANSLATORS comments.
10242 * grub-core/normal/cmdline.c: Likewise.
10243 * grub-core/normal/misc.c: Likewise.
10244 * grub-core/partmap/msdos.c: Likewise.
10245 * grub-core/parttool/msdospart.c: Likewise.
10246 * grub-core/script/execute.c: Likewise.
10247 * grub-core/script/main.c: Likewise.
10248 * grub-core/term/terminfo.c: Likewise.
10249 * grub-core/video/bitmap.c: Likewise.
10250 * util/grub-install.in: Likewise.
10251 * util/grub-mkimage.c: Likewise.
10252 * util/grub-mklayout.c: Likewise.
10253 * util/grub-setup.c: Likewise.
10254
0fc19bd0
VS
102552012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
10258 with similar messages in grub-fstest.
10259
d95862ef
VS
102602012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * util/grub-install.in: Unify "option requires an argument" message
10263 with similar messages in other files.
10264 * util/grub-mkconfig.in: Likewise.
10265
b7308f90
VS
102662012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 * util/grub-set-default.in: Replace printf with gettext_printf (the
10269 string in in question is already translated from grub-reboot)
10270
559dc587
VS
102712012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * configure.ac: Bump up the version to beta1.
10274
1a11761f
VS
102752012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
10278 case when min_align = 0.
10279
24539abd
VS
102802012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
10283 and fix a case when line_start overflows.
10284
32bd735b
VS
102852012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * util/grub-reboot.in (usage): Mention id posibility.
10288 * util/grub-set-default.in (usage): Likewise.
10289
1a2fd1e6
VS
102902012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
10293 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
10294 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10295 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10296 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10297 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10298 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10299
90eeab76
VS
103002012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * grub-core/commands/menuentry.c (options): Remove
10303 GRUB_ARG_OPTION_REPEATABLE.
10304 Reported by: Andreas Vogel
10305
5ad1be82
AV
103062012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
10307
10308 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
10309
cb055286
HE
103102012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
10311
10312 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
10313 error.
10314
93b1cd79
VS
103152012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 Use sort -V by the idea of Georgi Georgiev.
10318
10319 * util/grub-mkconfig_lib.in (version_sort): New function.
10320 (version_test_numeric): Use version_sort.
10321
0cdc126c
VS
103222012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 Use submenus in grub-mkconfig.
10325
10326 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
10327 * util/grub-mkconfig_lib.in (grub_quote): New function.
10328 (gettext_printf): Use gettext and not gettext_quoted to fix several
10329 messages.
10330 * util/grub.d/10_hurd.in: Use submenus.
10331 * util/grub.d/10_kfreebsd.in: Likewise.
10332 * util/grub.d/10_linux.in: Likewise.
10333 * util/grub.d/10_netbsd.in: Likewise.
10334 * util/grub.d/20_linux_xen.in: Likewise.
10335 * util/grub.d/30_os-prober.in: Likewise.
10336 * util/grub.d/10_illumos.in: Add missing quoting.
10337 * util/grub.d/10_windows.in: Likewise.
10338
d9bef9bc
VS
103392012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 Fix menu title instability bug.
10342
10343 * grub-core/commands/menuentry.c (options): New option --id.
10344 (grub_normal_add_menu_entry): New argument id. All users updated.
10345 (grub_cmd_menuentry): Handle --id.
10346 (grub_menu_init): Accept unknown arguments.
10347 * grub-core/normal/main.c (features): Add feature_menuentry_id and
10348 feature_menuentry_options.
10349 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
10350 saved_entry.
10351 (get_entry_number): Match with id as well.
10352 * include/grub/menu.h (grub_menu_entry): New member id.
10353 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
10354 * util/grub.d/00_header.in: Define menuentry_id_option.
10355 * util/grub.d/10_hurd.in: Define id.
10356 * util/grub.d/10_illumos.in: Likewise.
10357 * util/grub.d/10_kfreebsd.in: Likewise.
10358 * util/grub.d/10_linux.in: Likewise.
10359 * util/grub.d/10_netbsd.in: Likewise.
10360 * util/grub.d/10_windows.in: Likewise.
10361 * util/grub.d/20_linux_xen.in: Likewise.
10362 * util/grub.d/30_os-prober.in: Likewise.
10363
103642012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
10365
10366 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
10367 "scope" with "body".
10368
7c8d0ce7
VS
103692012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
10372 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
10373 prot_size and prot_file_size.
10374
49de079b
VS
103752012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
10378 All users updated. If easily=1 require raid-5/-6 to be full.
10379 (is_node_readable): Likewise.
10380 (scan_devices): Scan incomplete but readable LVs at the end.
10381 (grub_diskfilter_memberlist): Pull missing devices.
10382 (insert_array): Skip scanning until device is complete or scan is
10383 done otherwise.
10384 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
10385 check.
10386 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
10387 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
10388
aff05d45
MG
103892012-03-03 Matthew Garrett <mjg@redhat.com>
103902012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 Avoid EFI boot services when loading Linux.
10393
10394 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
10395 avoid_efi_bootservices. All users updated.
10396 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
10397 argument avoid_efi_bootservices. All users updated.
10398 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
10399 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
10400 align, min_align, relocatable, prefered_address. All users updated.
10401 Allocate avoiding boot services if kernel is relocatable.
10402 (grub_cmd_linux): Check if kernel is relocatable.
10403 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
10404 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
10405 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
10406 avoid_efi_boot_services.
10407 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
10408 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
10409 (linux_kernel_params): Likewise.
10410
3935dde2
MG
104112012-03-03 Matthew Garrett <mjg@redhat.com>
104122012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 Use EDID on EFI.
10415
10416 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
10417 datasize_out.
10418 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
10419 modes. Set gop_handle.
10420 (grub_video_gop_get_edid): New function.
10421 (grub_gop_get_preferred_mode): Likewise.
10422 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
10423 (grub_video_efi_gop_adapter): Set .get_edid.
10424 * include/grub/efi/edid.h: New file.
10425 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
10426
32107ec0
VS
104272012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 * util/grub-install.in: Load efivars unconditionally.
10430
e70a2c50
VS
104312012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 * po/Rules-piglatin: Change suffix from .po-update-en to
10434 .po-update-en-piglatin.
10435
8f9cace1
VS
104362012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 Add a pig farm.
10439
10440 * po/piglatin.sed: New file.
10441 * po/en@piglatin.header: Likewise.
10442 * po/Rules-piglatin: Likewise.
10443 * po/README: Add en@piglatin to autogenerated languages.
10444
8f95d002
VS
104452012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
10448 "Command for ...".
10449 * grub-core/commands/hdparm.c (options): Use "Display" rather than
10450 "Check" since we don't check anything.
10451 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
10452 is 64-bit one.
10453 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
10454 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
10455 (grub_md_sha512_real): Likewise.
10456
805a8dcc
VS
104572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * grub-core/commands/gptsync.c: Fix typographic quoting.
10460 * grub-core/commands/ieee1275/suspend.c: Likewise.
10461 * grub-core/commands/parttool.c: Likewise.
10462 * grub-core/commands/search_wrap.c: Likewise.
10463 * grub-core/commands/videoinfo.c: Likewise.
10464 * grub-core/gfxmenu/gui_label.c: Likewise.
10465 * grub-core/hello/hello.c: Likewise.
10466 * grub-core/kern/emu/main.c: Likewise.
10467 * grub-core/net/net.c: Likewise.
10468 * grub-core/normal/menu.c: Likewise.
10469 * grub-core/normal/menu_text.c: Likewise.
10470 * grub-core/normal/misc.c: Likewise.
10471 * util/grub-editenv.c: Likewise.
10472 * util/grub-install.in: Likewise.
10473 * util/grub-kbdcomp.in: Likewise.
10474 * util/grub-mkconfig.in: Likewise.
10475 * util/grub-mknetdir.in: Likewise.
10476 * util/grub-mkrescue.in: Likewise.
10477 * util/grub-mkstandalone.in: Likewise.
10478 * util/grub-reboot.in: Likewise.
10479 * util/grub-set-default.in: Likewise.
10480 * util/grub-setup.c: Likewise.
10481 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10482
40211ab8
VS
104832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
10486 * grub-core/commands/keystatus.c: Likewise.
10487 * grub-core/commands/loadenv.c: Likewise.
10488 * grub-core/commands/probe.c: Likewise.
10489 * grub-core/commands/regexp.c: Likewise.
10490 * grub-core/commands/true.c: Likewise.
10491 * grub-core/commands/videoinfo.c: Likewise.
10492 * grub-core/disk/cryptodisk.c: Likewise.
10493 * grub-core/disk/ldm.c: Likewise.
10494 * grub-core/disk/loopback.c: Likewise.
10495 * grub-core/disk/luks.c: Likewise.
10496 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10497 * grub-core/kern/disk.c: Likewise.
10498 * grub-core/kern/emu/hostdisk.c: Likewise.
10499
0c7d99c7
VS
105002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
10503 * util/grub-install.in: Add missing quote in the comment.
10504
e7d2559b
VS
105052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10506
10507 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
10508 * grub-core/commands/lsmmap.c: Likewise.
10509 * grub-core/commands/minicmd.c: Likewise.
10510 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10511 * grub-core/commands/regexp.c: Likewise.
10512 * grub-core/gdb/gdb.c: Likewise.
10513 * grub-core/term/gfxterm.c: Likewise.
10514 * util/grub-mkconfig.in: Likewise.
10515 * util/grub-mkfont.c: Likewise.
10516 * util/grub-mklayout.c: Likewise.
10517 * util/grub-mknetdir.in: Likewise.
10518 * util/grub-mkrescue.in: Likewise.
10519 * util/grub.d/30_os-prober.in: Likewise.
10520
49ce9e50
VS
105212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
10524 with "Direct color" and "Packed" with "Packed pixel".
10525 (grub_cmd_videoinfo): Simplify legend.
10526
e4b791fa
VS
105272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10530 absolutely unclear error message.
10531
fd1265cb
VS
105322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * util/grub-mkstandalone.in: Remove confusing leftover print.
10535
8822a8a0
VS
105362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10537
10538 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
10539 comments.
10540 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
10541 (GRUB_MOD_INIT): Likewise.
10542 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
10543 VGA mode.
10544 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
10545 comments.
10546 * util/grub-install.in (usage): Likewise.
10547 Spell ID in whole letters.
10548 Add missing ending dot.
10549 Quote variables.
10550 * util/grub-reboot.in: Fix capitalisation.
10551 * util/grub-set-default.in: Likewise.
10552
937fd0cc
VS
105532012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10554
10555 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
10556 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
10557 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
10558 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
10559 Disable -Werror for -Wdeprecated-declarations.
10560 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
10561 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
10562 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
10563 (grub_util_get_grub_dev): Make luks handling dependent on
10564 HAVE_DEVICE_MAPPER and not __linux__.
10565 (get_win32_path): Fix format security.
10566 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
10567 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
10568 Don't try grub_find_zpool_from_dir.
10569 (grub_make_system_path_relative_to_its_root) [!__linux__]:
10570 #ifdef-out paresdir.
10571
1bab1ae3
VS
105722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * util/grub-pe2elf.c (usage): Add missing noreturn.
10575 (write_section_data): Rename name to shname to avoid shadowing.
10576 (write_symbol_table): Rename name to symname to avoid shadowing.
10577 Fix write_reloc_section call.
10578
ef023e42
VS
105792012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10580
10581 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
10582 to ensure that it's after the last byte of .text.
10583
48afcb75
VS
105842012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 * util/ieee1275/ofpath.c (my_isdigit): New function.
10587 (trailing_digits): Use my_isdigit.
10588 (strip_trailing_digits): Likewise.
10589
88d51eff
VS
105902012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
10593 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
10594
17edc2ba
VS
105952012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 * grub-core/kern/i386/pc/startup.S: Define __start.
10598
ad5518d7
VS
105992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
10602 strip already transforms he format.
10603
9e95e1bf
VS
106042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10605
10606 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
10607
9cc3ee5c
VS
106082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10609
10610 * util/grub-install.in: Add missing gettext init.
10611 * util/grub-kbdcomp.in: Likewise.
10612 * util/grub-mkconfig.in: Likewise.
10613 * util/grub-mknetdir.in: Likewise.
10614 * util/grub-mkrescue.in: Likewise.
10615 * util/grub-mkstandalone.in: Likewise.
10616 * util/grub-reboot.in: Likewise.
10617 * util/grub-set-default.in: Likewise.
10618 * util/grub.d/00_header.in: Likewise.
10619 * util/grub.d/10_hurd.in: Likewise.
10620 * util/grub.d/10_windows.in: Likewise.
10621 * util/grub.d/30_os-prober.in: Likewise.
10622 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10623
49e08a06
VS
106242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10625
10626 * po/Rules-swiss: Fix header comment.
10627
3809cb41
AV
106282012-02-29 Andreas Vogel <anvoit>
10629
10630 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
10631 resulted in leak of arguments.
10632
fa6ec573
VS
106332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10634
10635 * grub-core/boot/i386/pc/startup_raw.S: Use separate
10636 reed_solomon_size const definition instead of computing it since
10637 Apple assembler doesn't support the later.
10638
22899b9c
VS
106392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * gentpl.py (kernel): Rewrite Apple part.
10642
a132afc3
VS
106432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 * include/grub/kernel.h (FOR_MODULES): Check module magic.
10646
9d742bd4
VS
106472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * util/grub-mkimagexx.c (locate_sections): Support non-standard
10650 ELF section gap.
10651 (load_image): Likewise.
10652
f04a9a21
VS
106532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 * configure.ac: Fix a typo in previous commit.
10656
46cf439c
VS
106572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 Don't add -Wl,-N on Apple platform.
10660
10661 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
10662 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
10663
c4c48c54
VS
106642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 * grub-core/Makefile.core.def (lzma_decompress): Use
10667 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
10668
31a12124
VS
106692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10670
10671 * grub-core/genmod.sh.in: Rewrite the Apple part.
10672
4f3aa1af
VS
106732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10676 comparison.
10677
7bd8b0c7
VS
106782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 * acinclude.m4 (grub_CHECK_PIC): New test.
10681 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10682
97304d7c
VS
106832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10686 to avoid the warning.
10687
fb883812
VS
106882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10691 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10692 after. All users updated.
10693
a121c964
VS
106942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 Use the common size routine in hostfs so we can read disks as well.
10697
10698 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10699 (grub_util_get_fd_size): ... this. Return size in bytes.
10700 All users updated.
10701 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10702 grub_util_get_fd_size.
10703
c66d6410
VS
107042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10707 Add blocksize retrieval.
10708
dfc8aeb0
VS
107092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 * configure.ac: Restore CFLAGS after efiemu check.
10712
403e25a5
VS
107132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10716 Apple bug.
10717
382775d1
VS
107182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10719
10720 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10721
6fd4e6e4
VS
107222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10725 (grub_cmd_halt): Likewise.
10726
bea359d6
VS
107272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10730 for local arithmetics.
10731 Break %sp init into 2 instructions.
10732 Add 0 byte at the end.
10733
32eb6ee1
VS
107342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10737 before loops.
10738
e8377389
VS
107392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10742 for context.
10743
8cb17de7
VS
107442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 * grub-core/disk/ldm.c (make_vg): Init part.name.
10747 (grub_ldm_detect): Silence spurious warning.
10748 (grub_util_is_ldm): Likewise.
10749
595717e6
VS
107502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10753 sane value to avoid a spurious warning.
10754
c4b7e588
VS
107552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10756
10757 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10758 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10759
59824957
VS
107602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10763 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10764
70115b99
VS
107652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10768 hardcoding the relevant info.
10769
56733740
VS
107702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10773 missing const qualifiers.
10774 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10775
43481481
VS
107762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 * util/getroot.c [__APPLE__]: Add missing includes.
10779 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10780
3cb38f01
VS
107812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10782
10783 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10784
d9dbf11e
VS
107852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10788 avoid conflicts.
10789
0c42a45d
VS
107902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10793
46c34eb0
VS
107942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10797 and grub_file_close call.
10798
99ce1597
VS
107992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 Add LZSS Mach-O support (needed for new xnu kernelcache).
10802
10803 * grub-core/Makefile.core.def (xnu): Add file lzss.c
10804 * grub-core/loader/lzss.c: New file.
10805 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
10806 on Mach-O open failure.
10807 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
10808 Don't free cmdsXX in uncompressedXX is set.
10809 (grub_macho_file): Init new fields.
10810 New argument is_64bit. All users updated.
10811 Handle compressed. Error out if no suitable architecture is found.
10812 Don't close file.
10813 (grub_macho_open): New argument is_64bit. All users updated.
10814 * grub-core/loader/macho32.c: Add defines for new fields.
10815 * grub-core/loader/macho64.c: Likewise.
10816 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10817 (grub_macho_parse): Handle compressed.
10818 Defer actual processing if compressed.
10819 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10820 "filename". All users updated.
10821 (grub_macho_size): New argument "filename". All users updated.
10822 (grub_macho_get_entry_point): Likewise.
10823 (grub_macho_load): Handle compressed.
10824 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10825 (GRUB_MACHO_LZSS_OFFSET): New define.
10826 (grub_decompress_lzss): New proto.
10827 * include/grub/machoload.h (grub_macho_file): New fields to handle
10828 compressed.
10829 (grub_macho_contains_macho64): Remove proto.
10830 (grub_macho_contains_macho32): Likewise.
10831 * util/grub.d/30_os-prober.in: Use kernel cache if available.
10832
ebd17d6f
VS
108332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
10836
2702b4e4
VS
108372012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 Fix make dist.
10840
10841 * Makefile.am (starfield_theme_files): New var.
10842 (starfield_DATA): Use starfield_theme_files.
10843 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10844 Add bootcheck-related files.
10845 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10846 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10847 and font_char_metrics.txt.
10848 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10849 (setjmp): Add lib/ia64/longjmp.S.
10850 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10851 * po/POTFILES.in: Regenerate.
10852 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10853 DISTFILES.common.extra1.
10854 * util/devicemap.c: Removed.
10855 * grub-core/lib/i386/relocator_backward.S: Likewise.
10856 * util/import_gcry.py: Remove unused files. Add extra_dist for
10857 ChangeLog.
10858
cf1adfdf
VS
108592012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10860
10861 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10862 grub_gettext_delete_list before changing grub_gettext_max to avoid
10863 running out of array bounds.
10864
108652012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
10866
10867 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10868 grub_vga_text_init/grub_vga_text_fini.
10869
cf1adfdf 108702012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
10871
10872 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10873
541d92e9
VS
108742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * configure.ac: Bump to 2.00~beta0.
10877
7931dddf
VS
108782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10881 missing initialisation.
10882
f1b16fa3
VS
108832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10886
83ddae23
VS
108872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10888
10889 Support v2 xnu boot arguments.
10890
10891 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10892 New argument fsbfreq_out.
10893 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10894 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10895 be used.
10896 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10897 darwin_version.
10898 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10899 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10900 (grub_xnu_boot_params): Rename to ...
10901 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10902 (grub_xnu_boot_params_v2): New struct.
10903
dc693fe6
VS
109042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10907 zeroing of CRC field before computing CRC.
10908
5a6e39c2
VS
109092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10912 Change order of allocations to decrease fragmentation.
10913
6c21f5d7
VS
109142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10917
cfe456dc
CW
109182012-02-27 Colin Watson <cjwatson@ubuntu.com>
10919
10920 Use write-combining MTRR to speed up video with buggy BIOSes.
10921
10922 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10923 (cpuid): New define.
10924 (rdmsr): Likewise.
10925 (wrmsr): Likewise.
10926 (mtrr_base): Likewise.
10927 (mtrr_mask): Likewise.
10928 (grub_vbe_enable_mtrr_entry): New function.
10929 (grub_vbe_enable_mtrr): Likewise.
10930 (grub_vbe_disable_mtrr): Likewise.
10931 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10932 control off to BIOS.
10933 (grub_video_vbe_init): Fill mtrr.
10934 (grub_video_vbe_fini): Disable mtrr.
10935 (grub_video_vbe_get_info_and_fini): Likewise.
10936 (grub_video_vbe_setup): Enable mtrr.
10937
e3c78337
CW
109382012-02-27 Colin Watson <cjwatson@ubuntu.com>
10939
10940 * include/grub/partition.h (grub_partition_map): Change prototype of
10941 embed to take a maximum value for nsectors.
10942 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10943 * include/grub/fs.h (grub_fs): Likewise.
10944 * grub-core/partmap/msdos.c (embed_signatures): New array.
10945 (pc_partition_map_embed): Check for and avoid sectors matching any
10946 of the signatures in embed_signatures, up to max_nsectors.
10947 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10948 returned sector map to max_nsectors.
10949 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10950 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10951 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10952 * util/grub-setup.c (setup): Allow for the embedding area being
10953 split into multiple blocklists. Tell dest_partmap->embed the
10954 maximum number of sectors we care about.
10955
109562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10959 Specify blocklist_install and reserver_first_sector for all fs.
10960 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10961 blocklists.
10962
984b973f
VS
109632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 * util/grub-install.in: Clarify strings.
10966 Fix source dir check.
10967
f122e0d6
RL
109682012-02-27 Richard Laager <rlaager@wiktel.com>
10969
10970 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10971 "zfs" and "fuse.zfs" as synonyms.
10972
071114bb
VS
109732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * configure.ac: Put platform and target_cpu substitutions back since
10976 they are used for directories.
10977
817e6abc
RL
109782012-02-27 Richard Laager <rlaager@wiktel.com>
109792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10982 * util/grub.d/20_linux_xen.in: Likewise.
10983
897b7419
RL
109842012-02-27 Richard Laager <rlaager@wiktel.com>
10985
10986 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10987 with full paths.
10988
a414bd15
RL
109892012-02-27 Richard Laager <rlaager@wiktel.com>
10990
10991 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10992 unescape.
10993
30ac48c4
VS
109942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 Don't use insecure popen in getroot.
10997
10998 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10999 (exec_pipe): ... here.
11000 (find_root_devices_from_poolname): Use exec_pipe.
11001
53f13848
VS
110022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 Remove platform and target_cpu replacement.
11005
11006 * configure.ac: Remove platform and target_cpu substitutions.
11007 * tests/util/grub-shell.in: Use modinfo.
11008 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
11009 explicitly.
11010
90cb2803
VS
110112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11012
11013 Autodetect platform in grub-install but allow override.
11014
11015 * util/grub-install.in: Autodetect platform. Support --target and
11016 --directory. Read platform from modinfo.sh.
11017
b9136427
VS
110182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 Support btrfs multi-volume probe.
11021
11022 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
11023 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
11024 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
11025 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
11026 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
11027 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
11028 grub_find_root_devices_from_btrfs if on btrfs.
11029
c36e5cd1
VS
110302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11031
11032 Remove any awareness of *.c util files about target.
11033
11034 * Makefile.util.def (grub-setup): Split to ...
11035 (grub-bios-setup): ... and this.
11036 (grub-sparc64-setup): ... and this.
11037 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
11038 * docs/man/grub-setup.h2m: Split into ...
11039 * docs/man/grub-sparc64-setup.h2m: ... this.
11040 * docs/man/grub-bios-setup.h2m: ... and this.
11041 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
11042 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
11043 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
11044 (grub_target_addr_t): Remove.
11045 (grub_target_size_t): Remove.
11046 (grub_target_ssize_t): Remove.
11047 * util/grub-install.in: Use new grub-*-setup.
11048 * util/grub-mkimagexx.c (Elf_Word): New define.
11049 (Elf_Half): Likewise.
11050 (Elf_Section): Likewise.
11051 (ELF_ST_TYPE): Likewise.
11052 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
11053 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
11054
584b2f8a
VS
110552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11056
11057 Replace grub_target_addr with more appropriate types.
11058
11059 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
11060 grub_target_addr with grub_addr.
11061 * grub-core/commands/iorw.c (grub_cmd_read): Replace
11062 grub_target_addr with grub_port.
11063 (grub_cmd_write): Likewise.
11064 * grub-core/commands/memrw.c (grub_cmd_read): Replace
11065 grub_target_addr with grub_addr.
11066 (grub_cmd_write): Likewise.
11067 * grub-core/video/efi_uga.c (find_line_len): Likewise.
11068
5a0dc6fb
VS
110692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
11072 const qualifier for vendor_guid.
11073
786aff6e
VS
110742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
11077 const qualifier.
11078 (efiemu_memequal): Likewise.
11079 (find_variable): Likewise.
11080
49017b17
VS
110812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 Fix missing console prototype on qemu-mips.
11084
11085 * include/grub/mips/qemu_mips/console.h: New file.
11086
c5988629
MG
110872012-02-27 Matthew Garrett <mjg@redhat.com>
110882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
11091 * include/grub/efi/efi.h: Likewise.
11092 * include/grub/efi/api.h: Add guid for EFI-specified variables.
11093 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
11094 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
11095 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
11096 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
11097 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
11098
e33f8d69
MG
110992012-02-27 Matthew Garrett <mjg@redhat.com>
11100
11101 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
11102
fb312cd9
VS
111032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11104
11105 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
11106 error.
11107
7134247c
VS
111082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11109
11110 * configure.ac: Remove inappropriate use of program_transform_name
11111 on grubdir and bootdir but allow explicit specification of those
11112 variables.
11113
6a313124
VS
111142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11115
11116 * util/grub-mknetdir.in (grub_prefix): Removed.
11117 (subdir): Use @bootdirname@ and @grubdirname@.
11118
2311c5ca
VS
111192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11120
11121 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
11122
7d5d60f7
VS
111232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 * po/POTFILES.in: Regenerated.
11126
8151bc82
VS
111272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11128
11129 Remove improper use of program_transform_name on pkglibrootdir.
11130
11131 * configure.ac (pkglibrootdir): Removed.
11132 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
11133 * util/grub-mkimage.c: Likewise.
11134
b4a6a533
VS
111352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
11138 warning.
11139
668f304f
VS
111402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 * util/grub-install.in: Use file identifier if no UUID is available
11143 or user explicitly prompted for it.
11144
665f2341
NP
111452012-02-27 Navdeep Parhar <nparhar@gmail.com>
11146
11147 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
11148 (freebsd_get_zfs): New function.
11149 (grub_freebsd_boot): Pass zfs UUID.
11150 (grub_cmd_freebsd): Set zfs UUID.
11151
8151bc82 111522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
11153
11154 * conf/Makefile.common (platformdir): Base on pkglibdir and not
11155 pkglibrootdir.
11156
e4c498a1
MG
111572012-02-27 Mike Gilbert <floppym@gentoo.org>
11158
11159 Add configure flag to control libzfs integration.
11160
11161 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
11162
1e9a9a3f
VS
111632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
11166 device.
11167 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
11168 small devices.
11169
036985b8
VS
111702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 Remove grub_{modname}_init and grub_{modname}_fini. They should never
11173 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
11174 be used on non-modules.
11175
11176 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
11177 Rename to grub_boot_init.
11178 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
11179 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
11180 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
11181 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
11182 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
11183 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
11184 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
11185 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
11186 includes.
11187 (grub_machine_init): Remove empty inits.
11188 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
11189 includes.
11190 (grub_machine_init): Remove empty inits.
11191 * grub-core/term/arc/console.c: Remove explicit proto.
11192 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
11193 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
11194 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11195 grub_at_keyboard_fini.
11196 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
11197 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
11198 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11199 grub_gfxterm_fini.
11200 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
11201 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
11202 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11203 grub_vgatext_fini.
11204 * grub-core/term/ieee1275/console.c: Remove explicit proto.
11205 * grub-core/term/serial.c (GRUB_MOD_INIT)
11206 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
11207 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11208 grub_serial_fini.
11209 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
11210 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
11211 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11212 grub_terminfo_fini.
11213 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
11214 (GRUB_MOD_FINI): Likewise.
11215 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
11216 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
11217 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11218 grub_video_radeon_fuloong2e_fini.
11219 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
11220 [LOONGSON]: Rename to grub_video_sis315pro_init.
11221 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11222 grub_video_sis315pro_fini.
11223 * grub-core/video/sm712.c (GRUB_MOD_INIT)
11224 [LOONGSON]: Rename to grub_video_sm712_init.
11225 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11226 grub_video_sm712_fini.
11227 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
11228 (grub_at_keyboard_fini): Likewise.
11229 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
11230 Don't declare grub_{modname}_init.
11231 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
11232 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
11233 New proto.
11234 (grub_keylayouts_fini) [!EMU]: Likewise.
11235 * include/grub/serial.h (grub_serial_init) [!EMU]:
11236 New proto.
11237 (grub_serial_fini) [!EMU]: Likewise.
11238 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
11239 New proto.
11240 (grub_terminfo_fini) [!EMU]: Likewise.
11241 * include/grub/video.h (grub_font_init) [!EMU]:
11242 New proto.
11243 (grub_font_fini) [!EMU]: Likewise.
11244 (grub_gfxterm_init) [!EMU]: Likewise.
11245 (grub_gfxterm_fini) [!EMU]: Likewise.
11246 (grub_video_sm712_init) [!EMU]: Likewise.
11247 (grub_video_sm712_fini) [!EMU]: Likewise.
11248 (grub_video_sis315pro_init) [!EMU]: Likewise.
11249 (grub_video_sis315pro_fini) [!EMU]: Likewise.
11250 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
11251 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
11252
d5534665
VS
112532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11254
11255 Make nand a prefix for nand devices.
11256
11257 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
11258
10133b5f
VS
112592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11260
11261 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
11262 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
11263
8e307a62
VS
112642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 * include/grub/env.h (grub_env_find): Remove prototype.
11267 * grub-core/kern/env.c (grub_env_find): Make static.
11268 (grub_env_set): Remove useless set.
11269
a4c65f34
VS
112702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11271
11272 * grub-core/kern/i386/realmode.S: Remove useless align.
11273
d87893d5
VS
112742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * include/grub/dl.h (grub_dl_load_file): Don't export.
11277
50159add
VS
112782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
11281 grub_dprintf.
11282
b2582b84
VS
112832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
11286 grub_errors.
11287 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
11288 not reloading whole superblock but only the part which is really needed.
11289 Remove useless grub_errors.
11290 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
11291 grub_errors.
11292
e2a83395
VS
112932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 Don't export grub_get_rtc.
11296
11297 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
11298 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
11299
e7d2a906
VS
113002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
11303
6cf1363b
VS
113042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 11307 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 11308
eece3349
VS
113092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11310
11311 Remove prio_list.
11312
11313 * include/grub/list.h (grub_prio_list): Removed.
11314 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
11315 GRUB_COMMAND_PRIO_MASK.
11316 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
11317 GRUB_COMMAND_FLAG_ACTIVE.
11318 (grub_prio_list_insert): Removed.
11319 (grub_prio_list_remove): Likewise.
11320 (GRUB_AS_PRIO_LIST): Likewise.
11321 (GRUB_AS_PRIO_LIST_P): Likewise.
11322 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
11323 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
11324 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
11325 * grub-core/kern/command.c (grub_register_command_prio): Inline
11326 the prio_list code.
11327 (grub_unregister_command): Likewise.
11328
94f064b4
VS
113292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 Fix interrupt mixup from previous commit.
11332
11333 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
11334 (grub_realidt): New var.
11335 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
11336 Load idt.
11337 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
11338 New declaration.
11339 (grub_relocator16_boot): Set grub_relocator16_idt.
11340 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
11341 (LOCAL(realidt)): ... this.
11342 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
11343 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
11344 (grub_realidt): New variable.
11345
27317084
VS
113462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
11349 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
11350 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
11351 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
11352 Gettextize.
11353 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
11354 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
11355 * po/POTFILES.in: Regenerate.
11356
47b40053
VS
113572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
11360 errors.
11361
2b343101
VS
113622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
11365 \0.
11366 (add_length): Likewise.
11367
ff27c3dd
LK
113682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
113692012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
11370
11371 GDB serial and backtrace support.
11372
11373 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
11374 (prot_to_real): Likewise.
11375 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
11376 * grub-core/Makefile.core.def (backtrace): New module.
11377 (gdb): Likewise.
11378 * grub-core/gdb/cstub.c: New file.
11379 * grub-core/gdb/gdb.c: Likewise.
11380 * grub-core/gdb/i386/idt.c: Likewise.
11381 * grub-core/gdb/i386/machdep.S: Likewise.
11382 * grub-core/gdb/i386/signal.c: Likewise.
11383 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 11384 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
11385 * include/grub/backtrace.h: Likewise.
11386 * include/grub/gdb.h: Likewise.
11387 * include/grub/i386/gdb.h: Likewise.
11388
113892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
11390
11391 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
11392 New function.
11393 (add_length): Likewise.
11394 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
11395 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
11396 proto.
11397 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
11398 __argp_get_display_len.
11399
ff27c3dd 114002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
11401
11402 $"..." support in scripts.
11403
11404 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
11405 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
11406 * grub-core/script/yylex.l: Likewise.
11407 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
11408 value.
11409
ff27c3dd 114102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
11411
11412 * gentpl.py: Remove obsolete pkglib_DATA handling.
11413
ff27c3dd 114142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
11415
11416 Don't transform PACKAGE_TARNAME following a discussion on autoconf
11417 mailing list.
11418
11419 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
11420 * util/grub-kbdcomp.in: Likewise.
11421 * util/grub-mkconfig.in: Likewise.
11422 * util/grub-mkconfig_lib.in: Likewise.
11423 * util/grub-mknetdir.in: Likewise.
11424 * util/grub-mkrescue.in: Likewise.
11425 * util/grub-mkstandalone.in: Likewise.
11426 * util/grub-reboot.in: Likewise.
11427 * util/grub-set-default.in: Likewise.
11428 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11429
ff27c3dd 114302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
11431
11432 Remove GRUB_PREFIX.
11433
11434 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
11435 * util/grub.d/00_header.in: Compute prefix in the only place it's still
11436 used for backward compatibility.
11437
ff27c3dd 114382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
11439
11440 Add new all_video module.
11441
11442 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
11443 * grub-core/Makefile.core.def (all_video): New module.
11444 * grub-core/genmoddep.awk: Generate dependency of all_video from
11445 video.lst.
11446 * grub-core/lib/fake_module.c: New file.
11447 * grub-core/normal/main.c (features): Add feature_all_video_module.
11448 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
11449 don't do explicit search again.
47454da5 11450 insmod all_video in load_video if available.
22c7ce85 11451
ff27c3dd 114522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
11453
11454 Another round of string clarification and adding TRANSLATORS comments.
11455
ff27c3dd 114562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
11457
11458 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
11459
ff27c3dd 114602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
11461
11462 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
11463 to grub_ssize_t.
11464 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
11465 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
11466
ff27c3dd 114672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
11468
11469 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
11470 trailing newline implicitly. All users updated.
11471
ff27c3dd 114722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
11473
11474 Implement serial on IEEE1275 and EFI.
11475
11476 * docs/grub.texi (Platform-specific limitations): Fix the columen video
11477 on emu. Mention arc and emu as the only platforms without serial
11478 support.
11479 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
11480 ieee1275 platforms.
11481 * grub-core/term/efi/serial.c: New file.
11482 * grub-core/term/ieee1275/serial.c: Likewise.
11483 * grub-core/term/serial.c (grub_serial_find): Disable direct port
11484 specification if no ns8250 driver is available.
11485 (grub_cmd_serial): Likewise.
11486 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
11487 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
11488 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
11489 (grub_efi_parity_type_t): New type.
11490 (grub_efi_stop_bits_t): Likewise.
11491 (grub_efi_serial_io_interface): New struct.
11492 * include/grub/serial.h (grub_serial_port): Make 'broken' field
11493 available for all interfaces.
11494 Add EFI and IEEE1275 fields.
11495 (grub_ofserial_init): New proto.
11496 (grub_efiserial_init): Likeiwse.
11497 * util/grub.d/00_header.in: Don't check for the presence of serial
11498 module.
11499
ff27c3dd 115002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
11501
11502 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
11503 name as if it was an alias.
11504
114076ef
VS
115052012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 * grub-core/commands/lsacpi.c (options): Fix typo.
11508
6a656b0e
VS
115092012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 Convert grub-emu to argp.
11512
11513 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
11514 emu.
11515 * util/argp_common.c: Rename to ...
11516 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
11517 Add missing includes.
11518 * grub-core/kern/emu/main.c: Convert to argp.
11519 * po/POTFILES.in: Regenerate.
11520 * util/grub-install.in (usage): Make first letter lowcase in messages
11521 for uniformity.
11522 * util/grub-setup.c (options): Likewise.
11523
1e3f8ae8
VS
115242012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11525
11526 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
11527 Put back accidently commented-out code.
11528
ed167a80
VS
115292012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11530
11531 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
11532 loop check using Brent algorithm.
11533 (grub_hfsplus_btree_search): Likewise.
11534
6753c0ec
VS
115352012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11536
11537 * util/grub-install.in: Fix usage of wrong device for PreP install.
11538
4e27343f
VS
115392012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 * conf/Makefile.common (CFLAGS_GNULIB): Add
11542 -Wno-unsafe-loop-optimizations.
11543 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
11544 on tools.
11545 * grub-core/commands/legacycfg.c: Add pragma to skip
11546 -Wunsafe-loop-optimizations.
11547 (check_password_md5_real): Fix loop counter type.
11548 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
11549 reading.
11550 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
11551 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
11552 loop condition.
11553 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
11554 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
11555 * grub-core/net/net.c (grub_net_route_address): Add safety loop
11556 condition.
11557 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
11558 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
11559 avoid possible infinite loops.
11560 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
11561 and -Wunsafe-loop-optimizations.
11562 * grub-core/script/yylex.l: Likewise.
11563 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
11564 (print_glyphs): Avoid infinite loops.
11565 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
11566
697f18b0
GS
115672012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
11568
11569 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
11570 to avoid infinite loop.
11571 (disp_acpi_rsdt_table): Likewise.
11572
274416e8
VS
115732012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 * grub-core/font/font.c (grub_font_load): Add support for default
11576 path for fonts ($prefix/fonts).
11577 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
11578 for checking if string is a path.
11579 * grub-core/normal/main.c (features): Add feature_default_font_path.
11580 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
11581 * util/grub.d/00_header.in: Use default directory if possible.
11582 * util/grub-install.in: Install unicode.pf2.
11583
b3e08622
VS
115842012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
11587 * po/Rules-swiss: New file.
11588 * po/swiss.sed: Likewise.
11589
fe42ce09
VS
115902012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * grub-core/fs/btrfs.c (find_device): Fix typos.
11593 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
11594 * util/grub-mkrelpath.c (argp_parser): Likewise.
11595 Reported by: Yuri Chornoivan.
11596
72f1d065
DO
115972012-02-23 Dalet Omega <daletomega@gmail.com>
11598
11599 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
11600 for usual informative messages.
11601
c5884973
DO
116022012-02-23 Dalet Omega <daletomega@gmail.com>
11603
11604 Starfield theme.
11605
11606 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
11607 * conf/Makefile.common: Define starfielddir.
11608 * configure.ac: Configure starfield.
11609 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
11610 * themes/starfield/README: Likewise.
11611 * themes/starfield/blob_w.png: Likewise.
11612 * themes/starfield/boot_menu_c.png: Likewise.
11613 * themes/starfield/boot_menu_e.png: Likewise.
11614 * themes/starfield/boot_menu_n.png: Likewise.
11615 * themes/starfield/boot_menu_ne.png: Likewise.
11616 * themes/starfield/boot_menu_nw.png: Likewise.
11617 * themes/starfield/boot_menu_s.png: Likewise.
11618 * themes/starfield/boot_menu_se.png: Likewise.
11619 * themes/starfield/boot_menu_sw.png: Likewise.
11620 * themes/starfield/boot_menu_w.png: Likewise.
11621 * themes/starfield/slider_c.png: Likewise.
11622 * themes/starfield/slider_n.png: Likewise.
11623 * themes/starfield/slider_s.png: Likewise.
11624 * themes/starfield/src/blob_nw.xcf: Likewise.
11625 * themes/starfield/src/bootmenu/: Likewise.
11626 * themes/starfield/src/bootmenu/center.xcf: Likewise.
11627 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
11628 * themes/starfield/src/bootmenu/side.xcf: Likewise.
11629 * themes/starfield/src/slider_c.xcf: Likewise.
11630 * themes/starfield/src/slider_n.xcf: Likewise.
11631 * themes/starfield/src/slider_s.xcf: Likewise.
11632 * themes/starfield/src/terminalbox/: Likewise.
11633 * themes/starfield/src/terminalbox/center.xcf: Likewise.
11634 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
11635 * themes/starfield/src/terminalbox/side.xcf: Likewise.
11636 * themes/starfield/starfield.png: Likewise.
11637 * themes/starfield/terminal_box_c.png: Likewise.
11638 * themes/starfield/terminal_box_e.png: Likewise.
11639 * themes/starfield/terminal_box_n.png: Likewise.
11640 * themes/starfield/terminal_box_ne.png: Likewise.
11641 * themes/starfield/terminal_box_nw.png: Likewise.
11642 * themes/starfield/terminal_box_s.png: Likewise.
11643 * themes/starfield/terminal_box_se.png: Likewise.
11644 * themes/starfield/terminal_box_sw.png: Likewise.
11645 * themes/starfield/terminal_box_w.png: Likewise.
11646 * themes/starfield/theme.txt: Likewise.
11647
17d73325
VS
116482012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * util/grub.d/00_header.in: Add missing export theme.
11651
dbebaf92
VS
116522012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
11655 already included.
11656 Reported by: Eren D.
11657
3d68bffb
VS
116582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11659
11660 * conf/Makefile.common (grubdatadir): Removed.
11661 (Makefile.am): Move eveything grubdata to pkgdata.
11662
4b59234d
VS
116632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11664
11665 * grub-core/commands/acpihalt.c (get_sleep_type):
11666 Remove unused variable.
11667
463dcadc
VS
116682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
11671 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11672 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11673 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11674 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11675 i18n with gettext no-op.
11676 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11677 GRUB_ACPI_OPCODE_STRING_CONST.
11678 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11679 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11680
e5b90c82
VS
116812012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11682
11683 * po/POTFILES.in: Regenerate.
11684
2a704ca9
VS
116852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11688 -Wno-error=missing-noreturn.
11689
84f9d341
VS
116902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11693 condition to avoid possibly infinite loops.
11694 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11695 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11696
d46683f9
VS
116972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11698
11699 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11700 condition to avoid possibly infinite loops.
11701
c44866b2
VS
117022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11703
11704 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11705 on show_error.
11706
96790539
VS
117072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11710
1ba7e295
VS
117112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11714
21ffe8f1
VS
117152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * util/bin2h.c (usage): Add missing attribute noreturn.
11718
0ccb6b3c
VS
117192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11722 if the size isn't divisible by 512.
11723
b00d7fb6
VS
117242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 Make list_push and list_remove functions rather than inline functions
11727 to decrease size and avoid aliasing violations.
11728
11729 * include/grub/list.h (grub_list_push): Move to ...
11730 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11731 * include/grub/list.h (grub_list_remove): Move to ...
11732 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11733
9d369087
VS
117342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11735
11736 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11737 and -Wunused-result.
11738
af0250d9
VS
117392012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11742 Reported by: Seth Goldberg
11743
aad32b14
VS
117442012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11747
ac96441c
ST
117482012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11749
11750 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11751 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11752 command line.
11753 * docs/grub.texi (Simple configuration): Document
11754 GRUB_CMDLINE_GNUMACH.
11755
117562012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
11757
11758 * conf/Makefile.common (platform_SCRIPTS): New variable.
11759 (platform_PROGRAMS): Likewise.
11760 * gentpl.py: Mark *,module and *.image for install.
11761 * grub-core/gdb_grub.in: Add a notice of expected environment.
11762 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11763 (gmodule.pl): Likewise.
11764
ac96441c 117652012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
11766
11767 Replace grub_checkkey with grub_getkey_noblock.
11768
11769 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11770 (grub_getkey_noblock): ... this. All users updated.
11771
ac96441c 117722012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
11773
11774 * grub-core/kern/emu/console.c: Move to ...
11775 * grub-core/term/emu/console.c: ...here.
11776 (grub_ncurses_getkey): Fix return value if no key is detected.
11777
e51b5666
VS
117782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11781 (grub_unit_test_fini): Likewise.
11782 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11783
117842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11785
11786 * include/grub/test.h (GRUB_UNIT_TEST)
11787
d9a62292
VS
117882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11789
11790 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11791 Better error handling.
11792 (grub_script_return): Likewise.
11793 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11794
77c9182f
VS
117952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11798 rimplicit redifinition.
11799
edb13cf9
VS
118002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
11803 GRUB.
11804
a9e9dc7c
VS
118052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
11808 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
11809 prompt here.
11810
b4ba8e02
VS
118112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11812
11813 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11814 as GRUB_ERR_BUG. Don't malloc if no device is available.
11815
dded5540
VS
118162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11817
11818 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11819 Mark calling with invalid term as GRUB_ERR_BUG.
11820
0cf69874
VS
118212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11822
11823 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11824 packets rather than raising an error.
11825
59bfe502
VS
118262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11829 in if.
11830
db5fc596
VS
118312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11832
11833 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
11834 diagnostic to dprintf.
11835 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11836
e4b7f404
VS
118372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
11840 device name.
11841
e7b02f9e
VS
118422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11845 (grub_ntfs_iterate_dir): Likewise.
11846
0331e102
VS
118472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 Efiemu stylistic fixes and gettext.
11850
11851 * grub-core/efiemu/i386/loadcore32.c
11852 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11853 * grub-core/efiemu/i386/loadcore64.c
11854 (grub_arch_efiemu_relocate_symbols64): Likewise.
11855 * grub-core/efiemu/i386/pc/cfgtables.c
11856 (grub_machine_efiemu_init_tables): Likewise.
11857 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11858 (grub_efiemu_loadcore_initXX): Add a filename argument.
11859 All users updated.
11860 Improved error message.
11861 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11862 Add a filename argument.
11863 All users updated.
11864 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11865 Reclassify double relocation as GRUB_ERR_BUG.
11866
306fc074
VS
118672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11870 handling.
11871
794d8ef2
VS
118722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11873
11874 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11875 on partition.
11876
118772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
11878
11879 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11880
794d8ef2 118812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
11882
11883 Improve string. Gettextize.
11884
78dde88e
VS
118852012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11888 utils.
11889 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
11890
4786a90f
VS
118912012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11892
11893 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11894 [GRUB_UTIL]: New function.
11895 (insert_array) [GRUB_UTIL]: Store partmaps.
11896 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11897 partmaps.
11898 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11899 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11900 (probe_abstraction): Print diskfilter and not raid.
11901 Reported by: Lennart Sorensen
11902
0b6225bd
VS
119032012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11904
11905 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11906 * util/grub-mkimagexx.c (MASK3): New define.
11907 (add_value_to_slot_20b): Use MASK3.
11908 (add_value_to_slot_21): Likewise.
11909 (relocate_addresses): Fix format specification.
11910 (load_image): Explicitly init symtab_section.
11911
b055f8f6
VS
119122012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11915 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11916
b77c2fb7
VS
119172012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11920 on powerpc.
11921 Reported by: Lennart Sorensen
11922
e3ec28ab
VS
119232012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11924
11925 * gentpl.py: Add missing license header.
11926 * docs/grub.texi: Update copyright year.
11927
c8d9ead6
GS
119282012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11929
11930 Source grub-mkconfig_lib from the build directory at build time.
11931 Suggested by: Vladimir Serbinenko.
11932
11933 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11934 * util/grub-install.in: Define pkgdatadir if not already set, and source
11935 grub-mkconfig_lib from there.
11936 * util/grub-kbdcomp.in: Likewise.
11937 * util/grub-mkconfig.in: Likewise.
11938 * util/grub-mknetdir.in: Likewise.
11939 * util/grub-mkrescue.in: Likewise.
11940 * util/grub-mkstandalone.in: Likewise.
11941 * util/grub-reboot.in: Likewise.
11942 * util/grub-set-default.in: Likewise.
11943 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11944
ebcecdf1
VS
119452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 Increase warning level.
11948
11949 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11950 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11951 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11952 (TARGET_CFLAGS): Likewise.
11953 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11954 * grub-core/Makefile.core.def (decompressor_xz): Add
11955 -Wno-unreachable-code.
11956 (normal): Add -Wno-redundant-decls.
11957 (xzio): Add -Wno-unreachable-code.
11958 (lzopio): Add -Wno-redundant-decls -Wno-error.
11959 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11960 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11961 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11962 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11963 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11964 * grub-core/kern/i386/coreboot/init.c: Add exception to
11965 -Wsuggest-attribute=noreturn.
11966 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11967 * grub-core/kern/ia64/dl_helper.c: Likewise.
11968 * grub-core/kern/mips/dl.c: Likewise.
11969 * grub-core/kern/sparc64/dl.c: Likewise.
11970 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11971 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11972 (memcmp): Likewise.
11973 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11974 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11975 * grub-core/loader/mips/linux.c: Likewise.
11976 * grub-core/loader/multiboot_elfxx.c: Likewise.
11977 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11978 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11979 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11980 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11981 fixme.
11982 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11983 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11984 Fix prototype.
11985
37bb97fe
VS
119862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11989 address.
11990
29a3550b
VS
119912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11992
11993 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11994 Avoid improper use of strings.
11995 (grub_cmd_legacy_initrdnounzip): Likewise.
11996
dfdffd0d
VS
119972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11998
11999 * include/grub/emu/misc.h (grub_util_warn): Add missing format
12000 attribute.
12001 (grub_util_info): Likewise.
12002 (grub_util_error): Likewise.
12003
102fae4a
VS
120042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
12007 * util/grub-fstest.c (fstest): Likewise.
12008
7e94d044
VS
120092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12010
12011 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
12012 (grub_md_sha512_real): Likewise.
12013 (grub_util_get_geli_uuid): Likewise.
12014 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
12015 (grub_util_biosdisk_open): Fix format specification.
12016 Respect format security.
12017 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
12018 (xrealloc): Likewise.
12019 (xasprintf): Likewise.
12020
5ebd9769
VS
120212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12022
12023 * util/import_gcry.py: Include grub/crypto.h in init.c.
12024
495fc8c1
VS
120252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
12028 (generate_image): Make prefix a const char *.
12029 Fix format specifications. Respect format security.
12030 Avoid void * arithmetics.
12031 Avoid shadowing.
12032 (argp_parser): Remove unused variable. Respect format security.
12033 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
12034 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
12035 (count_funcs): Remove unused variable.
12036 (relocate_addresses): Fix format specification.
12037 Disable x86-64 with elf32. Remove unused variables.
12038 (add_fixup_entry): Avoid shadowing.
12039 (make_reloc_section): Fix format specification.
12040 Use assert.
12041 (locate_sections): Fix format specifications.
12042 (load_image): Avoid shadowing.
12043
043c2ea3
VS
120442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
12047 Fix format specifications. Respect format security.
12048 Don't translate already translated grub_errmsg.
12049 (argp_parser): Remove unused variable
12050
3ec65a81
VS
120512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12052
12053 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
12054
a4d9fe4a
VS
120552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12056
12057 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
12058 (main): Likewise. Use xmalloc. Respect format security.
12059
15b81d49
VS
120602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12061
12062 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
12063 a const char *.
12064 (argp_parser): Remove unused variable.
12065
31731fc0
VS
120662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
12069 (add_pixel): Make static.
12070 (add_font): Likewise.
12071 (write_string_section): Make name and str a const char *.
12072 (write_be16_section): Make name a const char *.
12073 (print_glyphs): Make static.
12074 (write_font_ascii_bitmap): Likewise.
12075 (write_font_width_spec): Likewise.
12076 (write_font_pf2): Likewise.
12077 (argp_parser): Remove unused variable.
12078 Respect format security.
12079 (main): Avoid shadowing. Respect format security.
12080
0809527b
VS
120812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12082
12083 * util/grub-editenv.c (argp_parser): Make static.
12084 (create_envblk_file): Use xmalloc.
12085 (open_envblk_file): Likewise.
12086 Resepect format security.
12087 (set_variables): Respect format security.
12088
45b0c8b7
VS
120892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12090
12091 * util/getroot.c (grub_find_device): Respect format security.
12092 (get_mdadm_uuid): Remove unused variable.
12093 (grub_util_pull_device): Dont call gettext on already translated
12094 grub_errmsg.
12095 (find_system_device): Remove unused variable.
12096 (grub_util_get_grub_dev): Likewise.
12097 (grub_make_system_path_relative_to_its_root): Respect format security.
12098
1b024b4e
VS
120992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12100
12101 * util/grub-fstest.c (execute_command): Make first argument
12102 a const char *.
12103 (read_file): Avoid shadowing.
12104 Reuse underlying error message if device open fails.
12105 (cmd_cmp): Respect format security.
12106 (root): Make const char *.
12107 (fstest): Remove args argument and use global copy.
12108 Respect format security.
12109 (argp_parser): Make static.
12110 (main): Make default_root const char *.
12111
5d1d4e28
VS
121122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12113
12114 * util/grub-mount.c (root): Make const char *.
12115 (execute_command): Make first argument a const char *.
12116 (fuse_init): Respect format security.
12117 (argp_parser): Make static. Remove unused variable.
12118 (main): Make default_root a const char *.
12119 Respect format security.
12120
36eb7379
VS
121212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 * util/grub-probe.c (probe): Don't call gettext on already translated
12124 grub_errmsg.
12125 Remove unused variables.
12126 (argp_parser): Remove unused variable.
12127
76fb2ea9
VS
121282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12129
12130 * util/grub-script-check.c (argp_parser): Remove unused variable.
12131 (main): Rename read to curread to avoid shadowing.
12132
56c98584
VS
121332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12134
12135 * util/misc.c (grub_util_write_image_at): Fix format specification.
12136 (grub_util_write_image): Likewise.
12137 (grub_script_execute_argument_to_string): Removed (unused).
12138 (grub_script_execute_menuentry): Likewise.
12139 (grub_putchar): Likewise.
12140
164ebb48
VS
121412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
12144 (FUNCTION) [GRUB_UTIL]: Likewise.
12145 (VARIABLE) [GRUB_UTIL]: Likewise.
12146
44318d61
VS
121472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
12150 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
12151
31a26002
VS
121522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
12155 buffer.
12156
121572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
12160 (LzmaEnc_SaveState): Removed (unused).
12161 (LzmaEnc_RestoreState): Likewise.
12162 (LzmaEnc_InitPriceTables): Made static.
12163 (LzmaEnc_Construct): Likewise.
12164 (LzmaEnc_FreeLits): Likewise.
12165 (LzmaEnc_Destruct): Likewise.
12166 (LzmaEnc_Init): Likewise.
12167 (LzmaEnc_InitPrices): Likewise.
12168 (LzmaEnc_Finish): Likewise.
12169 (LzmaEnc_PrepareForLzma2): Removed (unused).
12170 (LzmaEnc_MemPrepare): Likewise.
12171 (LzmaEnc_GetNumAvailableBytes): Likewise.
12172 (LzmaEnc_GetCurBuf): Likewise.
12173 (LzmaEnc_CodeOneMemBlock): Likewise.
12174
6fa67967
VS
121752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
12178 (grub_util_ldm_embed): Likewise.
12179
9a7428e6
VS
121802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 * util/grub-editenv.c (print_var): Rename name to varname to
12183 avoid shadowing.
12184 (main): Rename index to curindex to avoid shadowing.
31a26002 12185 Make filename a const char *.
9a7428e6 12186
4f96abd1
VS
121872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
12190 to arg_getline to avoid shadowing.
12191
44d10dad
VS
121922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
12195 disk_ to avoid shadowing.
12196
340ba63e
VS
121972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12198
12199 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
12200 curindex to avoid shadowing.
12201 Make static.
12202 (MatchFinder_GetNumAvailableBytes): Make static.
12203
22965bce
VS
122042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
12207 avoid shadowing.
12208
7b5784d4
VS
122092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
12212 argument from encrypt to do_encrypt to avoid shadowing.
12213
6f48ca01
VS
122142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
12217 incorrect nesting of #if's.
12218
a4ea2dff
VS
122192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
12222 checks which are always false on some platforms.
12223 (grub_cmd_lsacpi): Likewise.
12224 * grub-core/kern/misc.c (grub_strtoul): Likewise.
12225 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
12226 Likewise.
12227
def9fc1b
VS
122282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
12231 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
12232
a67b2a04
VS
122332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12234
12235 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
12236 re_dfa_t to avoid breaking alignment invariants.
12237 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
12238 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
12239
44c6828d
VS
122402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
12243 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
12244
bebe0dd0
VS
122452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
12248 Fix declaration.
12249
a9cdb3cf
VS
122502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12251
12252 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
12253 conserve alignment invariants.
12254 (grub_ehci_ehcc_read16): Likewise.
12255 (grub_ehci_oper_read32): Likewise.
12256 (grub_ehci_oper_write32): Likewise.
12257 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12258 Conserve alignment invariants.
12259
ccc3b1b8
VS
122602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12261
12262 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
12263 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
12264 declarations.
12265
987fbd95
VS
122662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12267
12268 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
12269 Remove unused variable.
12270
0df363f3
VS
122712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12272
12273 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
12274 Remove set in if.
12275
b2c0c4a6
VS
122762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12277
12278 * include/grub/net.h: Remove double declarations.
12279
690c531f
VS
122802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 Remove "payload" command in ia64 Linux loader since I couldn't
12283 find any evidence of it being used for anything.
12284 Replace "relocate" command with an environment variable
12285
12286 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
12287 fields.
12288 (ia64_boot_payload): Removed.
12289 (last_payload): Likewise.
12290 (RELOCATE_OFF): Likewise.
12291 (RELOCATE_ON): Likewise.
12292 (RELOCATE_FORCE): Likewise.
12293 (relocate): Likewise.
12294 (free_pages): Don't free payloads.
12295 (grub_load_elf64): Use common error messages.
12296 Use "linux_relocate" variable.
12297 Increase the space after boot_params.
12298 (grub_cmd_payload): Removed.
12299 (grub_cmd_relocate): Likewise.
12300 (grub_cmd_fpswa): Improve messages.
12301 (cmd_payload): Removed.
12302 (cmd_relocate): Likewise.
12303 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
12304 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
12305
01783768
VS
123062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12307
12308 Convert UHCI to DMA framework.
12309
12310 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
12311 (grub_uhci_pci_iter): Fill new members
12312 (grub_alloc_td): Use P2V and V2P functions.
12313 (grub_free_queue): Likewise.
12314 (grub_alloc_qh): Likewise.
12315 (grub_uhci_setup_transfer): Likewise.
12316 (grub_uhci_check_transfer): Likewise.
12317
43206939
VS
123182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
12321 Remove assignment in if while on it.
12322
571e140e
VS
123232012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12324
12325 * util/grub-mkstandalone.in: Fix modules directory.
12326
a9d96eeb
VS
123272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
12330 on i386-pc target.
12331 (argp_parser): Accept "auto" as compression specification.
12332
e4e37e8d
VS
123332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 Fix `help' with unloaded modules.
12336
12337 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
12338 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
12339 (grub_dyncmd_dispatcher): Small stylistic fix.
12340 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
12341 explicit help is requested.
12342
e1ea3ade
VS
123432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
12346 Explicitly init restart while on it.
12347
27556881
VS
123482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12349
12350 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
12351 uninited variable.
12352
d65f6b36
VS
123532012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12354
12355 * util/grub-mknetdir.in: Use . rather than source for POSIX
12356 compatibility.
12357
0a1e473c
VS
123582012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
12361
ce6647c8
VS
123622012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
12365 variable.
12366
66747894
VS
123672012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12368
12369 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
12370 without quotes.
12371
71645f6e
VS
123722012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12373
12374 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
12375
0e1c1f61
VS
123762012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
12379 iteration of partitions.
12380
9c4b5c13
VS
123812012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 Improve gettext support. Stylistic fixes and error handling fixes while
12384 on it.
12385
215c90cb
VS
123862012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
12389 part. Instead setup the correct stack in RM.
12390 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
12391 for stack.
12392 * include/grub/i386/relocator_private.h: New file.
12393
b5c1f9bf
VS
123942012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12395
12396 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
12397 argument.
12398 * util/grub-fstest.c (options): Add missing DEVICE part.
12399
b525fd83
VS
124002012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 Clarify and unify messages.
12403
12404 * grub-core/commands/hashsum.c (options): Unify messages.
12405 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
12406 literal-only message as translatable.
12407 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
12408 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
12409 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
12410 commands.
12411 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
12412 key, not the key used to unlock. Clarify what it's used for.
12413 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
12414 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
12415 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
12416 * util/grub-editenv.c (options): Unify "verbose" message.
12417 * util/grub-fstest.c (read_file): Unify error message.
12418 (fstest): Add quotes around commands.
12419 (options): Unify "verbose" message.
12420 * util/grub-install.in: Add quotes around variable name.
12421 * util/grub-kbdcomp.in: Unify error message.
12422 * util/grub-mkfont.c (main): Likewise.
12423 * util/grub-mkrescue.in: Likewise.
12424 * util/grub-mklayout.c (options): Unify "verbose" message.
12425 * util/grub-mkstandalone.in: Unify help and verbose messages.
12426 * util/grub-mount.c (options): Unify "verbose" message.
12427 * util/grub-probe.c (options): Likewise.
12428 * util/grub-script-check.c (options): Likewise.
12429 * util/grub-setup.c (setup): Unify no-terminator message.
12430 (options): Use DEVICE and not DEV.
12431 Unify "verbose" message.
12432 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
12433
0ae70393
VS
124342012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 Improve and unify messages.
12437
12438 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
12439 name. All users updated.
12440 Print filename in error.
12441 (read_device_map): Print filename in error.
12442 * util/getroot.c (grub_guess_root_devices): Print filename in error.
12443 (grub_util_get_os_disk): Likewise.
12444 (grub_util_biosdisk_get_grub_dev): Likewise.
12445 (grub_util_check_block_device): Likewise.
12446 (grub_util_check_char_device): Likewise.
12447 (grub_make_system_path_relative_to_its_root): Likewise.
12448 * util/grub-editenv.c (create_envblk_file): Likewise.
12449 (open_envblk_file): Likewise.
12450 (write_envblk): Likewise.
12451 * util/grub-fstest.c (cmd_cp): Likewise.
12452 (cmd_cat): Likewise.
12453 (cmd_cmp): Likewise.
12454 * util/grub-menulst2cfg.c (main): Likewise.
12455 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
12456 (write_font_width_spec): Likewise.
12457 (write_font_pf2): Likewise.
12458 * util/grub-mkimage.c (generate_image): New argument outname.
12459 All users updated.
12460 Remove unreacheable message.
12461 (options): Unify messages.
12462 (help_filter): Likewise.
12463 * util/grub-mklayout.c (usage): Removed (unused).
12464 (main): Print filename in error.
12465 * util/grub-mkrescue.in: Fix wrong quoting.
12466 * util/grub-setup.c (setup): Print filename in error.
12467 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
12468 (check_sas): Likewise.
12469 * util/misc.c (grub_util_get_fp_size): Removed.
12470 (grub_util_get_image_size): Print filename in error.
12471 (grub_util_read_at): Removed.
12472 (grub_util_read_image): Print filename in error.
12473 (grub_util_load_image): Likewise.
12474 (grub_util_write_image_at): New argument filename. All users updated.
12475 Print filename in error.
12476 (grub_util_write_image): New argument filename. All users updated.
12477 Print filename in error.
12478 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
12479 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
12480
0a96117d
VS
124812012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 * grub-core/Makefile.core.def (pxechain): New module.
12484 * grub-core/loader/i386/pc/pxechainloader.c: New file.
12485 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
12486 function.
12487 (grub_pc_net_config_real): Use grub_pxe_get_cached.
12488 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
12489
aca002f7
VS
124902012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12491
12492 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
12493 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
12494 * include/grub/err.h (grub_error_saved): New struct.
12495 (grub_errmsg): Make array size explicit.
12496 * include/grub/misc.h (grub_error_save): New function.
12497 (grub_error_load): Likewise.
12498 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
12499 (grub_error_push): Update `errno' member name.
12500 (grub_error_pop): Likewise
12501 * grub-core/net/tftp.c (tftp_data): New member save_err.
12502 (tftp_receive): Save error.
12503 (tftp_open): Restore error.
12504
a51dab13
VS
125052012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12506
12507 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
12508 to real mode down to execute A20-related code in protected mode as
12509 intended.
12510
eb6e6649
GS
125112012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
12512
12513 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
12514 NULL when the argument `level' has an unexpected value.
12515
92cd0f6e
VS
125162012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12517
12518 Move platform-dependent files from $prefix to $prefix/$platform.
12519
12520 * config.h.in (GRUB_TARGET_CPU): New definition.
12521 (GRUB_PLATFORM): Likewise.
12522 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
12523 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
12524 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12525 * grub-core/kern/dl.c (grub_dl_load): Likewise.
12526 * grub-core/normal/autofs.c (read_fs_list): Likewise.
12527 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
12528 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
12529 * grub-core/normal/term.c (read_terminal_list): Likewise.
12530 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
12531 $prefix/locale.
12532 (grub_gettext_init_ext): Likewise.
12533 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
12534 grub_platform.
12535 * util/grub-install.in: Update directories.
12536 * util/grub-mknetdir.in: Likewise.
12537 * util/grub-mkrescue.in: Likewise.
12538
db606889
VS
125392012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
12542 grub_error framework. All users updated.
12543
c39992a4
VS
125442012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12545
12546 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
12547 lists (by always binsearching), improve caching (cache strings
12548 used for binsearch, not only results), improve
12549 maintainability (by using more structured binary search) and correct
12550 error handling.
12551
1e5ec32f
VS
125522012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 * grub-core/script/execute.c (grub_script_return): Fix warning.
12555
ac576cde
VS
125562012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 * grub-core/script/execute.c (grub_script_return): Fix potential
12559 NULL-dereference.
12560 Reported by: Jim Meyering.
12561
498453f6
VS
125622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 * po/POTFILES.in: Regenerate.
12565 * util/grub-install.in: Gettextize the strings missed in first pass.
12566
8be63f2e
VS
125672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 * Makefile.util.def (grub-mkdevicemap): Removed.
12570 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
12571 * include/grub/util/deviceiter.h: Removed.
12572 * util/deviceiter.c: Likewise.
12573 * util/getroot.c (grub_util_get_os_disk): New function.
12574 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
12575 replacement for EFI.
12576 * util/grub-mkdevicemap.c: Removed.
12577 * util/grub-probe.c (probe): Handle PRINT_DISK.
12578 (argp_parser): Handle -t disk.
12579
8e1e4e39
VS
125802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 * util/grub-mkfont.c: Migrate to argp.
12583 * util/grub-mklayout.c: Likewise.
12584 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12585 * util/grub-mkrelpath.c: Likewise.
12586 * util/grub-probe.c: Likewise.
12587 * util/grub-script-check.c: Likewise.
12588
4459819a
VS
125892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12590
12591 * util/grub-reboot.in: Add missing datarootdir.
12592 Add missing newline.
12593 * util/grub-set-default.in: Add missing datarootdir.
12594 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
12595 * util/grub-mkrescue.in: Likewise.
12596
f65741c7
VS
125972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12598
12599 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
12600
c1a33466
VS
126012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 * util/grub-kbdcomp.in: Add decent help and gettextize.
12604 * docs/man/grub-kbdcomp.h2m: New file.
12605
c76899a0
VS
126062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 Migrate grub-mkimage.c to argp.
12609
12610 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
12611 (grub-setup): Likewise.
12612 * util/grub-setup.c (print_version): Move to ...
12613 * util/argp_common.c (print_version): ... here.
12614 * util/grub-setup.c (argp_program_version_hook): Move to ...
12615 * util/argp_common.c (argp_program_version_hook): ... here.
12616 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
12617 safety.
12618 * util/grub-mkimage.c (main): Migrate to argp.
12619
57db0757
VS
126202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12621
12622 * util/grub-mkrescue.in: Use same message as
12623 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
12624 for better translations.
12625
18534ad9
VS
126262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
12629 options with generic grub-mkrescue.in with the goal of future
12630 merge.
12631
c84ba308
VS
126322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * grub-core/kern/mm.c: Add missing include of i18n.h
12635 * grub-core/lib/relocator.c: Likewise.
12636
347998c2
VS
126372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
12640 error.
12641 (allocate_pages): Check return value.
12642 Replace fatal with error.
12643 (grub_linux_boot): Replace printf with dprintf.
12644 Check find_mmap_size return value.
12645 Replace fatal with error.
12646 Don't call grub_machine_fini.
12647 (grub_load_elf64): Replace printf with dprintf.
12648 (grub_cmd_linux): Likewise.
12649 (grub_cmd_initrd): Likewise.
12650 (grub_cmd_payload): Likewise.
12651
c779226e
VS
126522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12653
12654 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
12655 message.
12656 * grub-core/video/radeon_fuloong2e.c
12657 (grub_video_radeon_fuloong2e_setup): Likewise.
12658 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
12659 * grub-core/video/video.c (grub_video_set_mode): Don't override
12660 standard out of memory message.
12661
dc87d45a
GS
126622012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12663
12664 NetBSD disk wedge support.
12665
12666 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
12667 [__NetBSD__]: Handle NetBSD disk wedges.
12668 * util/getroot.c (convert_system_partition_to_system_disk)
12669 [__NetBSD__]: Likewise.
12670
055f856f
MW
126712012-02-03 Mark Wooding <mdw@distorted.org.uk>
12672
12673 * util/grub-mkconfig.in: Use umask rather than chmod to create
12674 grub.cfg.new to avoid insecure grub.cfg.
12675
4a9f8346
VS
126762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 * grub-core/commands/ls.c: Gettextize.
12679 * grub-core/commands/setpci.c: Likewise.
12680 * grub-core/commands/videotest.c: Likewise.
12681 * grub-core/disk/geli.c: Likewise.
12682 * grub-core/kern/mm.c: Likewise.
12683 * grub-core/lib/relocator.c: Likewise.
12684 * grub-core/loader/efi/appleloader.c: Likewise.
12685 * grub-core/loader/i386/xnu.c: Likewise.
12686 * grub-core/loader/ia64/efi/linux.c: Likewise.
12687 * grub-core/loader/xnu.c: Likewise.
12688 * grub-core/net/dns.c: Likewise.
12689 * grub-core/net/net.c: Likewise.
12690 * grub-core/script/lexer.c: Likewise.
12691 * grub-core/script/parser.y: Likewise.
12692 * grub-core/script/yylex.l: Likewise.
12693 * util/getroot.c: Likewise.
12694 * util/grub-setup.c: Likewise.
12695
a646a366
VS
126962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12697
12698 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12699 number.
12700
54e2be26
VS
127012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12702
12703 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12704
f7c71e68
VS
127052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12708 macro.
12709 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12710 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12711
a32d5c71
VS
127122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12715 * util/grub-install.in: Gettextize.
12716 * util/grub-mkconfig.in: Likewise.
12717 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12718 if not available.
12719 (grub_warn): Gettextize.
12720 * util/grub-mknetdir.in: Gettextize.
12721 * util/grub-mkrescue.in: Likewise.
12722 * util/grub-mkstandalone.in: Likewise.
12723 * util/grub-reboot.in: Likewise.
12724 * util/grub-set-default.in: Likewise.
12725 * util/grub.d/00_header.in: Likewise.
12726 * util/grub.d/10_hurd.in: Likewise.
12727 * util/grub.d/10_kfreebsd.in: Likewise.
12728 * util/grub.d/10_linux.in: Likewise.
12729 * util/grub.d/10_netbsd.in: Likewise.
12730 * util/grub.d/10_windows.in: Likewise.
12731 * util/grub.d/20_linux_xen.in: Likewise.
12732 * util/grub.d/30_os-prober.in: Likewise.
12733 * po/POTFILES-shell.in: Regenerate.
12734
69edd81a
RL
127352012-02-03 Richard Laager <rlaager@wiktel.com>
12736
12737 * util/grub-mkimage.c (main): Fix format-security warning.
12738 * util/grub-mkrelpath.c (main): Likewise.
12739 * util/grub-probe.c (main): Likewise.
12740
65f08dbf
RL
127412012-02-03 Richard Laager <rlaager@wiktel.com>
12742
12743 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12744 failure.
12745 Put back lost PRINT_DRIVE.
12746
e9084abe
RL
127472012-02-03 Richard Laager <rlaager@wiktel.com>
12748
12749 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12750 (grub_guess_root_devices): Replace strlen with sizeof.
12751 Avoid crash.
12752 (find_root_devices_from_poolname): Remove unused variable.
12753 Handle raidzN.
12754
cf5f7ee7
VS
127552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12756
12757 Support install on multi-device filesystems.
12758
12759 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12760 (grub_guess_root_devices): ...this. Return char **. All users updated.
12761 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12762 Removed.
12763 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12764 (find_root_devices_from_poolname): ... here.
12765 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12766 Support zfs-fuse.
12767 (grub_guess_root_device): Rename to ...
12768 (grub_guess_root_devices): ... this. Return char **. All users updated.
12769 * util/grub-install.in: Handle multi-device filesystems.
12770 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12771 argument. All users updated.
12772 Handle multi-device filesystems.
12773 Use 'delim' as separator.
12774 Remove device check to allow filesystems on file.
12775 (main): Support -0 argument. Handle multi-device.
12776 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12777 Fix a cross-device check while on it.
12778 (arguments): Remove root_dev.
12779 (argp_parser): Remove -r.
12780 (main): Remove root_dev.
12781
2f53a9ed
VS
127822012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12783
12784 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12785
17e1d934
VS
127862012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12789 symbol.
12790 Reported by: NODA, Kai <nodakai>.
12791
d3e3fab5
VS
127922012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12793
12794 Fix ehci on amd64.
12795
12796 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12797 pointers.
12798 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12799 (grub_ehci_setup_qh): Likewise.
12800 (grub_ehci_find_qh): Likewise.
12801 (grub_ehci_transaction): Likewise.
12802 (grub_ehci_setup_transfer): Likewise.
12803 (grub_ehci_check_transfer): Likewise.
12804 (grub_ehci_portstatus): Likewise.
12805 (grub_ehci_detect_dev): Likewise.
12806 (grub_ehci_transfer_controller_data): New field td_last_phys.
12807 (grub_ehci_setup_transfer): Fill td_last_phys.
12808 (grub_ehci_check_transfer): Use td_last_phys.
12809
3008675b
SG
128102012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
12811
12812 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12813 if no submenu is present.
12814
fc9b5652
AN
128152012-02-01 Aleš Nesrsta <starous@volny.cz>
12816
12817 CBI support.
12818
12819 * include/grub/usb.h (grub_usbms_protocol_t): New values
12820 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12821 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12822 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12823 (grub_usbms_dev): Add subclass, protocol and intrpt.
12824 Remove in_maxsz and out_maxsz.
12825 (grub_usbms_reset): Rename to ...
12826 (grub_usbms_bo_reset): .. this.
12827 (grub_usbms_cbi_cmd): New function.
12828 (grub_usbms_cbi_reset): Likewise.
12829 (grub_usbms_reset): Likewise.
12830 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
12831 (grub_usbms_transfer): Rename to ...
12832 (grub_usbms_transfer_bo): ... this.
12833 (grub_usbms_transfer_cbi): Likewise.
12834 (grub_usbms_transfer): Likewise.
12835
a2b81d53
AN
128362012-02-01 Aleš Nesrsta <starous@volny.cz>
128372012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12838
12839 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
12840 the support for the CS5536 modification thereos and few bugfixes.
12841
12842 * grub-core/Makefile.core.def (ehci): New module.
12843 * grub-core/bus/usb/ehci.c: New file.
12844 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12845 port and hubaddr. All users updated.
12846 Save port and hubaddr into dev structure.
12847 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12848 define.
12849 * include/grub/pci.h (grub_dma_phys2virt): New function.
12850 (grub_dma_virt2phys): Likewise.
12851 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12852
b1d51f02
VS
128532012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12854
12855 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12856 check as some mkfs implementations omit it.
12857
fc694106
VS
128582012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12859
12860 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12861
6c0920e3
VS
128622012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12863
12864 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12865 Add new member volname2.
12866 (grub_jfs_label): Use volname2 if available.
12867
d1a46f9a
VS
128682012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12871 over last_mounted as seen in image generated by mkfs.nilfs2.
12872 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12873
dec8ed14
VS
128742012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12877 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12878 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12879
7397c69b
VS
128802012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12881
12882 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12883 over the sector.
12884
b3fe42ad
VS
128852012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12886
12887 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12888 subvolume name (by removing a bogus and useless check).
12889
10476bb0
VS
128902012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12891
12892 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12893 sizeof while on it.
12894
9c08ad87
VS
128952012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12896
12897 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12898 (grub_scsi_read_capacity10): ... this.
12899 (grub_scsi_read_capacity16): New function.
12900 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12901 0xffffffff.
12902 Fix off-by-one error.
12903 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12904 64-bit unsigned.
12905 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12906 (grub_scsi_read_capacity10): ... this.
12907 (grub_scsi_read_capacity_data): Rename to ...
12908 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12909 (grub_scsi_read_capacity16): New struct.
12910 (grub_scsi_read_capacity16_data): Likewise.
12911 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12912 grub_scsi_cmd_read_capacity10.
12913 New command grub_scsi_cmd_read_capacity16.
12914
bc8d0f45
VS
129152012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 SCSI >2TiB support.
12918
12919 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12920 (grub_scsi_write16): Likewise.
12921 (grub_scsi_read): Use read16 when necessary.
12922 (grub_scsi_write): Likewise.
12923 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12924 (grub_scsi_write16): Likewise.
12925 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12926
cc774926
VS
129272012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12928
12929 SCSI write support (for usbms mainly).
12930
12931 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12932 a const pointer.
12933 (grub_scsi_write): Implement.
12934 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12935
67639fd7
VS
129362012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12937
12938 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12939 variable.
12940
9079d3ed
VS
129412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12944
c6a6f204
VS
129452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12946
12947 * po/POTFILES.in: Regenerate.
12948
ecbf8cd1
VS
129492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12952 with grub_printf to avoid unnecessary fatal failure.
12953
0b3b3b38
VS
129542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12957 (INT_MAX): Likewise.
12958 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12959 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12960 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12961 (strcpy): Likewise.
12962 (strstr): Likewise.
12963 (strchr): Likewise.
12964 (strncpy): Likewise.
12965 (strcat): Likewise.
12966 (strncat): Likewise.
12967 (strcoll): Likewise.
12968 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12969 (GRUB_INT_MAX): Likewise.
12970
db7337a3
VS
129712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12974 unexpected error.
12975 (optimize_utf8): Likewise.
12976 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12977
f37c87e1
VS
129782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12979
12980 * grub-core/boot/i386/pc/lnxboot.S: Use
12981 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12982 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12983 location.
12984 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12985 definition.
12986 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12987
63fe43f3
VS
129882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12991 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12992 now to avoid double free.
12993 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12994 hostdisk.
12995 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12996 * util/grub-probe.c (escape_of_path): Always return a new copy.
12997 (print_full_name): Escape path.
12998 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12999 Fix hints on abstractions.
13000
ebe2c961
VS
130012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13002
13003 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
13004 Don't add "root" line if no compatibility hont is available.
13005 Suggested by: Seth Goldberg.
13006
2b5336a2
VS
130072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13008
13009 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
13010 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
13011 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
13012 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
13013
74310bd8
VS
130142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13015
13016 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
13017
c30582ba
VS
130182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * util/grub-pe2elf.c (ehdr): Make static.
13021 (shdr): Likewise.
13022 (num_sections): Likewise.
13023 (offset): Likewise.
13024
5f47782c
VS
130252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13026
13027 Eliminate ofpath limits and possible overflows.
13028
13029 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
13030 (OF_PATH_MAX): Removed.
13031 (MAX_DISK_CAT): New const.
13032 (find_obppath): Use allocated rather than preallocated buffer.
13033 Return result. Argument of_path removed. All users updated.
13034 Add missing fdstat.
13035 (xrealpath): New function.
13036 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
13037 Allocate rather than use preallocated buffer. All users updated.
13038 (__of_path_common): Use allocated rather than preallocatecd buffer.
13039 Return result. Argument of_path removed. All users updated.
13040 (vendor_is_ATA): Read only needed part form the file.
13041 (check_sas): Allocate depending on contents rather than fixed.
13042 (main) [STANDALONE]: Handle NULL result.
13043
f990cbf9
VS
130442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13045
13046 * grub-core/normal/completion.c (iterate_dev): Close the disk.
13047
9c6e84b8
VS
130482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 Cryptodisk write support.
13051
13052 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
13053 (grub_cryptodisk_decrypt): Moved logic to ...
13054 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
13055 (grub_cryptodisk_write): Implement.
13056 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
13057 (grub_util_fd_write): ... this. Make global.
13058 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
13059
87cf9744
VS
130602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * include/grub/list.h (grub_list_remove): Don't crash if element is
13063 removed twice.
13064
ca8c0baf
VS
130652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13066
13067 Rename ofconsole to console.
13068
13069 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
13070 as sysnonym to console.
13071 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
13072 * grub-core/term/ieee1275/console.c: ... this. All users updated.
13073 Rename grub_ofconsole_ to grub_console_. All users updated
13074 (grub_console_term_output): Rename "ofconsole" to "console".
13075 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
13076 as "console".
13077
64c8b8f6
VS
130782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
13081 handling.
13082 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
13083 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
13084 GRUB_DISK_DEVICE_FILE_ID.
13085
f6c434d5
VS
130862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
13089 and improve performance.
13090
5858b42d
VS
130912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
13094 missing ieee1275/ prefix on whole disk.
13095
4ed3c26b
VS
130962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13097
13098 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
13099 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13100
df71143e
VS
131012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
13104
076e7c0f
VS
131052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 Merge common RAID and LVM logic to an abstract diskfilter.
13108 Add LDM support using the same framework.
13109
13110 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
13111 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
13112 (libgrubmods): Remove grub-core/disk/raid.c and
13113 grub-core/partmap/gpt.c.
13114 * grub-core/Makefile.core.def (ldm): New module.
13115 (raid): Renamed to diskfilter. All users updated.
13116 * grub-core/disk/raid.c: Moved to ...
13117 * grub-core/disk/diskfilter.c: ... here.
13118 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
13119 (lv_num): New var.
13120 (find_array): Renamed to ...
13121 (find_lv): ... this. Support multi-LV. Skip nameless LVs
13122 (grub_is_array_readable): Renamed to ...
13123 (grub_is_lv_readable): ... this. Support multinode hierarchy.
13124 (insert_array): New argument id.
13125 (is_node_readable): New function.
13126 (scan_device): Rename to ...
13127 (scan_disk): .. this. Restrict to one disk.
13128 (scan_devices): New function.
13129 (grub_diskfilter_iterate): Support multi-LV.
13130 Skip invisible and nameless LVs.
13131 (grub_diskfilter_memberlist): Support multi-LV.
13132 (grub_diskfilter_read_node): New function.
13133 (grub_raid_read): Most of logic moved to ...
13134 (read_segment): ... here
13135 (read_lv): New function.
13136 (grub_diskfilter_get_vg_by_uuid): New function.
13137 (grub_diskfilter_make_raid): Likewise.
13138 * grub-core/disk/ldm.c: New file.
13139 * grub-core/disk/lvm.c (vg_list): Removed.
13140 (lv_count): Likewise.
13141 (scan_depth): Likewise.
13142 (is_lv_readable): Likewise.
13143 (grub_lvm_getvalue): Advance pointer past the number.
13144 (find_lv): Removed.
13145 (do_lvm_scan): Refactored into ...
13146 (grub_lvm_detect): ... this. Support raid.
13147 (grub_lvm_iterate): Removed.
13148 (grub_lvm_memberlist): Likewise.
13149 (grub_lvm_open): Likewise.
13150 (grub_lvm_close): Likewise.
13151 (read_lv): Likewise.
13152 (read_node): Likewise.
13153 (is_node_readable): Likewise.
13154 (is_lv_readable): Likewise.
13155 (grub_lvm_read): Likewise.
13156 (grub_lvm_write): Likewise.
13157 (grub_lvm_dev): Use diskfilter
13158 (GRUB_MOD_INIT): Likewise.
13159 (GRUB_MOD_FINI): Likewise.
13160 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
13161 new interface.
13162 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
13163 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13164 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
13165 grub_diskfilter_read_node.
13166 Fix a bug with xor.
13167 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
13168 grub_diskfilter_read_node.
13169 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
13170 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
13171 (grub_disk_dev_iterate): Move from here...
13172 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
13173 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
13174 Make global.
13175 (grub_hostdisk_find_partition_start): Likewise.
13176 (grub_hostdisk_os_dev_to_grub_drive): New function.
13177 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
13178 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
13179 * util/getroot.c (make_device_name): ... here.
13180 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
13181 Move to ...
13182 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
13183 * grub-core/kern/emu/hostdisk.c
13184 (convert_system_partition_to_system_disk): Move to ...
13185 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
13186 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
13187 * util/getroot.c (device_is_wholedisk): ... here.
13188 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
13189 * util/getroot.c (find_system_device): ... here.
13190 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
13191 Move to ...
13192 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
13193 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13194 Move to ...
13195 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
13196 Handle LDM.
13197 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13198 Move to ...
13199 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
13200 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
13201 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
13202 DISKFILTER.
13203 * include/grub/raid.h: Renamed to ...
13204 * include/grub/diskfilter.h: ... this.
13205 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
13206 (GRUB_RAID_LAYOUT_*): Make into array.
13207 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
13208 (grub_diskfilter_vg): New struct.
13209 (grub_diskfilter_pv_id): Likewise.
13210 (grub_raid_member): Removed.
13211 (grub_raid_array): Likewise.
13212 (grub_diskfilter_pv): New struct.
13213 (grub_diskfilter_lv): Likewise.
13214 (grub_diskfilter_segment): Likewise.
13215 (grub_diskfilter_node): Likewise.
13216 (grub_diskfilter_get_vg_by_uuid): New proto.
13217 (grub_raid_register): Inline.
13218 (grub_diskfilter_unregister): Likewise.
13219 (grub_diskfilter_make_raid): New proto.
13220 (grub_diskfilter_vg_register): Likewise.
13221 (grub_diskfilter_read_node): Likewise.
13222 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
13223 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
13224 (grub_util_is_ldm): Likewise.
13225 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
13226 (grub_hostdisk_find_partition_start): Likewise.
13227 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
13228 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
13229 New definition.
13230 (grub_gpt_partition_map_iterate): New proto.
13231 * include/grub/lvm.h (grub_lvm_vg): Removed.
13232 (grub_lvm_pv): Likewise.
13233 (grub_lvm_lv): Likewise.
13234 (grub_lvm_segment): Likewise.
13235 (grub_lvm_node): Likewise.
13236 * util/getroot.c [...]
13237 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
13238 (probe_abstraction): Likewise.
13239 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
13240 (main): Remove dead logic.
13241
8a7f9b9c
VS
132422012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 Simplify root device discover and don't fail when trying to open
13245 incorrect devices.
13246
13247 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
13248 function.
13249 (get_diskname_from_path): Likewise.
13250 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
13251 of iterating.
13252
30545b85
VS
132532012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13254
13255 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
13256
28ea58cf
VS
132572012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
13260 pastthe end.
13261
692dabca
VS
132622012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13263
13264 * util/grub-install.in: Add missing \.
13265 Reported by: gentoofan
13266
f6e4ea70
VS
132672012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
13270 (direct_read): Use correct compressed size.
13271 (grub_squash_read_data): Likewise.
13272
132732012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
13274
13275 * docs/grub.texi (Platform limitations): New section.
13276 (Platform-specific operations): Likewise.
13277 * docs/grub-dev.texi (Porting): Likewise.
13278
76261110
VS
132792012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 IEEE1275 disk write support.
13282
13283 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
13284 const void *.
13285 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
13286 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
13287 and seek loginc to ...
13288 (grub_ofdisk_prepare): ... here.
13289 (grub_ofdisk_write): Implement.
13290
fc36d603
VS
132912012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13292
13293 ARC disk write support.
13294
13295 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
13296 (reopen): New argument writable. All users updated.
13297 Handle required access mode.
13298 (grub_arcdisk_write): Implement.
13299 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
13300 (grub_arc_firmware_vector): Make buffer to write a const buffer.
13301
e06c2e7a
VS
133022012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13303
13304 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
13305 (read_sblock): Don't attempt to read superblocks outside the disk size.
13306
ff447958
VS
133072012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
13310 first superblock to find the second one when possible.
13311
9e88df39
VS
133122012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 * util/grub-install.in: Fix an ARC bug.
13315 Print a warning if no platform-specific setup is available.
13316
bb26e4ff
VS
133172012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13318
13319 Use static allocation rather than scratch pointer in reed_solomon.
13320 It decreases its size significantly and avoids a variable in .text.
13321
13322 * grub-core/lib/reed_solomon.c (scratch): Removed.
13323 (chosenstat): New const or static array.
13324 (sigma): Likewise.
13325 (errpot): Likewise.
13326 (errpos): Likewise.
13327 (sy): Likewise.
13328 (mstat): Likewise.
13329 (errvals): Likewise.
13330 (eqstat): Likewise.
13331 (pol_evaluate): Replace x with log_x argument. All users updated.
13332 (syndroms): Removed.
13333 (gauss_solve): Use statically allocated arrays.
13334 (rs_recover): Likewise.
13335 Calculate syndroms directly.
13336 (decode_block): Use statically allocated arrays.
13337 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
13338 (main) [TEST]: Allow -DTEST -DSTANDALONE.
13339
2e13ede5
VS
133402012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13341
13342 Eliminate fixed limit on reed solomon decoder length.
13343
13344 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
13345 rather than hardcoding the address.
13346 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
13347 no_reed_solomon_length.
13348 Move gate_a20 to no-reed-solomon part.
13349 Don't force a particular size of no reed-solomon part.
13350 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13351 Removed.
13352 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
13353 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
13354
f8a9ab12
VS
133552012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13356
13357 * grub-core/commands/wildcard.c (match_files): Handle filenames
13358 without explicit device.
13359 (wildcard_expand): Don't add explicit device if not already present.
13360 * tests/grub_script_echo1.in: Add a new expansion test.
13361
87edb894
VS
133622012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 Replace single-linked with double-linked lists. It results in more
13365 compact and more efficient code.
13366
13367 * grub-core/kern/list.c (grub_list_push): Moved from here ...
13368 * include/grub/list.h (grub_list_push): ... to here. Set prev.
13369 (grub_list_remove): Moved from here ...
13370 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
13371 (grub_prio_list_insert): Set prev.
13372 * include/grub/list.h (grub_list): Add prev. All users updated.
13373
48b391e9
VS
133742012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 Handle newer autotools. Add some missing quotes while on it.
13377
13378 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
13379 (pkglib_DATA): Move grub-mkconfig_lib from here ...
13380 (pkgdata_DATA): ... here.
13381 * Makefile.util.def (update-grub_lib): Removed.
13382 * conf/Makefile.common (pkglib_DATA): Removed.
13383 (pkglib_SCRIPTS): Likewise.
13384 (pkgdata_DATA): New variable.
13385 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
13386 needed.
13387 Add missing quotes.
13388 Remove unused variable while on it.
13389 * tests/util/grub-shell.in: Likewise.
13390 * util/grub-install.in: Likewise.
13391 * util/grub-mkconfig.in: Likewise.
13392 * util/grub-mknetdir.in: Likewise.
13393 * util/grub-mkrescue.in: Likewise.
13394 * util/grub-mkstandalone.in: Likewise.
13395 * util/grub.d/00_header.in: Likewise.
13396 * util/grub.d/10_hurd.in: Likewise.
13397 * util/grub.d/10_illumos.in: Likewise.
13398 * util/grub.d/10_kfreebsd.in: Likewise.
13399 * util/grub.d/10_linux.in: Likewise.
13400 * util/grub.d/10_netbsd.in: Likewise.
13401 * util/grub.d/10_windows.in: Likewise.
13402 * util/grub.d/20_linux_xen.in: Likewise.
13403 * util/grub.d/30_os-prober.in: Likewise.
13404 * util/update-grub_lib.in: Removed.
13405
134062012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
13407
13408 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
13409 a workaround for intel problem.
13410
66832792
PRP
134112012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
134122012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
134132012-01-23 pfsmorigo
13414
13415 * util/grub-install.in: Support dd'in into PreP partition.
13416 * util/grub-probe.c (probe): Support discovering partition type.
13417 (main): Support -t msdos_parttype.
13418
7816a17e
VS
134192012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
13422 infinite recursion using counter.
13423 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
13424 init to skip it if the magic check fails.
13425 (dec_stream_header): Init s->crc32.
13426
8f9d3a8c
ZB
134272012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
134282012-01-22 Zachary Bedell <pendorbound@gmail.com>
134292012-01-22 Richard Laager <rlaager@wiktel.com>
13430
13431 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
13432 All users updated.
13433 (find_bestub): Determine correct size.
13434 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
13435 (scan_disk): Align the size down.
13436 Call check pool before find_bestub to have ashift.
13437
b055dd32
VS
134382012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13439
13440 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
13441 dprintf in no-malloc zone.
13442
d779e9bd
ML
134432012-01-22 Mario Limonciello <mario_limonciello@dell.com>
13444
13445 * configure.ac: Add back in test for limits.h.
13446
b508af69
VS
134472012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13448
13449 Support 4K-sector NTFS.
13450
13451 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
13452 (grub_ntfs_data): Remove blocksize.
13453 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
13454 Remove data argument. All users updated.
13455
dad9c8b5
VS
134562012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
13459 being in .text to avoid dprel references.
13460 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
13461 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
13462 (grub_arch_highmemsize): Likewise.
13463 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
13464 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
13465 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
13466
d43a777e
VS
134672012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
13470
13471 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
13472 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
13473
34e4208f
VS
134742012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
13477 GRUB_UTIL.
13478 (grub_set_datetime_cmos): Likewise.
13479
3ec0fc1c
VS
134802012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 Make XZ compression parameters dependent on target and not host CPU.
13483
13484 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
13485 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
13486
22489834
VS
134872012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13488
13489 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
13490 set but not used variable.
13491
8502fbca
VS
134922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13493
13494 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
13495 created when no uuid support is compiled into mkfs.reiser.
13496
76df2068
VS
134972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13498
13499 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
13500 (utf8_to_macroman): Do the opposite.
13501 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
13502
64e3f8f6
VS
135032012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13504
13505 * configure.ac: Refise build qemu_mips w/o unifont.
13506
9c271078
VS
135072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 Eliminate grub_min/grub_max prone to overflow usage.
13510
13511 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
13512 (poll_nonroot_hub): Likewise.
13513 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
13514 (grub_affs_label): Likewise.
13515 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
13516 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
13517 (grub_hfs_label): Likewise.
13518 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
13519 * grub-core/fs/zfs/zfs.c (MIN): Remove.
13520 (zap_leaf_array_equal): Use grub_size. Remove MIN.
13521 (zap_leaf_array_get): Likewise.
13522 (dnode_get_path): Likewise.
13523 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
13524 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
13525 * grub-core/script/execute.c (grub_script_break): Likewise.
13526 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
13527 grub_max.
13528 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
13529 * include/grub/misc.h (grub_min): Removed.
13530 (grub_max): Likewise.
13531
80662dbc
VS
135322012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13533
13534 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
13535 direct.inode = 0.
13536
e6da1467
VS
135372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
13540
b1ac4cb1
VS
135412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13542
13543 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
13544
b4bf7c3b
VS
135452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13546
13547 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
13548 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
13549
8ee1101a
VS
135502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13551
13552 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
13553 rather than a hack for grub_strncasemap.
13554
135552012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 Support multiple initrds
13558 Note: part of this was accidently committed in r3739.
13559
13560 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
13561 initrd.
13562 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
13563 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
13564 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13565 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13566 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13567
4d1e2bc9
VS
135682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13569
13570 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
13571 disks with unknown size.
13572 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
13573
75b49ebe
VS
135742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13575
13576 Remove defines pertaining to arbitrary limits not affecting GRUB
13577 anymore.
13578
13579 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
13580 (EXT2_MAX_SYMLINKCNT): Likewise.
13581 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
13582 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
13583 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
13584 (GRUB_PXE_MAX_BLKSIZE): Likewise.
13585 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
13586 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
13587 (DN_MAX_OBJECT_SHIFT): Likewise.
13588 (DN_MAX_OFFSET_SHIFT): Likewise.
13589 (DN_MAX_OBJECT): Likewise.
13590 (DNODES_PER_LEVEL_SHIFT): Likewise.
13591 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
13592 (SPA_MAXBLOCKSIZE): Likewise.
13593 (SPA_BLOCKSIZES): Likewise.
13594 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
13595 (MZAP_MAX_BLKSZ): Likewise.
13596
74a1dce7
VS
135972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
13600 handle NULL appropriately.
13601 Remove MIN.
13602
30c7d3ce
VS
136032012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13604
13605 Fix efiemu.
13606
13607 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
13608 cpu/types.h.
13609 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
13610 * configure.ac: Fix efiemu check.
13611
3c76ea0c
VS
136122012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
13615 grub_probe.
13616 Reported by: adamwill
13617
7e532280
SG
136182012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
13619
13620 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
13621
30492374
VS
136222012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 Fix handling of wide characters in gfxterm.
13625
13626 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
13627 (clear_char): Likewise.
13628 (paint_char): Skip code == NULL chars.
13629 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
13630
e70cb72f
VS
136312012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * grub-core/normal/charset.c: Move comment to right place.
13634
5c827cf9
VS
136352012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
13638 (GRUB_AFFS_FLAG_FFS): Put back where it was.
13639 (grub_affs_mount): Revert the correct version checking.
13640
53603892
VS
136412012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * docs/grub.texi (Unicode): Mention several other unsupported features.
13644
ff094b9b
VS
136452011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13646
13647 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
13648 case statements as compile-time one.
13649 (direct_read): Prevent spurious warnings.
13650 (grub_squash_read_data): Likewise.
13651
c029da8a
VS
136522011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 Various squash4 fixes and LZO and XZ support.
13655
13656 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
13657 Add xzembed source files.
13658 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
13659 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
13660 (grub_squash_inode): New subtype long_dir.
13661 (SQUASH_TYPE_LONG_DIR): New inode type.
13662 (COMPRESSION): New enum.
13663 (XZBUFSIZ): New const.
13664 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
13665 (read_chunk): Use data->decompress.
13666 (zlib_decompress): New function.
13667 (lzo_decompress): Likewise.
13668 (xz_decompress): Likewise.
13669 (squash_mount): Set new data fields.
13670 (grub_squash_iterate_dir): Handle long dir.
13671 (squash_unmount): Free xzdec and xzbuf.
13672 (grub_squash_open): Check ino type.
13673 (direct_read): Stylistic fixes. Use data->decompress.
13674 (grub_squash_read_data): Likewise.
13675 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13676 (get_byte): Likewise.
13677 (grub_zlib_disk_read): Removed.
13678 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13679 (GRUB_POSIX_BOOL_DEFINED): New define.
13680 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13681 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13682 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13683 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13684
7a45a539
VS
136852011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13686
13687 Don't override more informative errors.
13688
13689 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13690 * grub-core/font/font.c (open_section): Likewise.
13691 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13692 filename. Don't override errors.
13693 (grub_cmd_openbsd_ramdisk): Don't override errors.
13694 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13695 (grub_cmd_initrd): Likewise.
13696 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13697 (grub_cmd_initrd): Likewise.
13698 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13699 (grub_cmd_linux): Likewise.
13700 (grub_cmd_initrd): Likewise.
13701 (grub_cmd_payload): Likewise.
13702 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13703 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13704 (grub_cmd_module): Likewise.
13705 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13706 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13707 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13708 (grub_cmd_xnu_mkext): Likewise.
13709 (grub_cmd_xnu_ramdisk): Likewise.
13710 (grub_xnu_check_os_bundle_required): Likewise.
13711 (grub_xnu_load_kext_from_dir): Likewise.
13712 (grub_cmd_xnu_kextdir): Likewise.
13713 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13714
b2d004db
VS
137152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13716
13717 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13718 as 1024 in block size field. Found on one of my test images.
13719 Small optimisation while on it.
13720
ec000eac
VS
137212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13724 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13725 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13726 performance fixes while on it.
13727 (grub_sfs_close): Fix memory leak while on it.
13728 (grub_sfs_label): Convert Latin1 to UTF-8.
13729
f50e1165
VS
137302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13733 space to avoid overflows.
13734 (grub_hfs_label): Convert from macroman to UTF-8.
13735
2ae254de
VS
137362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13739
0108f491
VS
137402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13743
f45f5f89
VS
137442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13745
13746 * unicode: Import Unicode 6.0 data.
13747
4d8c4765
VS
137482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13749
63fa8ef9
VS
13750 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13751 outside of range.
13752
137532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
13756
13757 * include/grub/charset.h (grub_getend): New function.
13758 * grub-core/script/function.c (grub_script_function_find): Use
13759 grub_getend.
13760 * grub-core/normal/completion.c (add_completion): Likewise.
13761
f3cb4a4e
VS
137622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13765 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13766 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13767 (GRUB_UNICODE_TAG_END): Likewise.
13768 (GRUB_UNICODE_LAST_VALID): Likewise.
13769
5da8dbc5
VS
137702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13771
13772 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13773 len and make it smaller. All users updated.
13774 * util/import_unicode.py: Put length and not end character.
13775 Check length.
13776
8569f13d
VS
137772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13778
13779 Make better Unicode-compliant and unify some UTF-8 code pathes.
13780
13781 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13782 valid character.
13783 (grub_is_valid_utf8): Use grub_utf8_process.
13784 Check resulting code range.
13785 (grub_utf8_to_ucs4): Use grub_utf8_process.
13786 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13787 valid character.
13788
cc4fddf5
VS
137892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13790
13791 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13792
bbc47747
VS
137932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13794
13795 * docs/grub.texi (Filesystems): Mention AFS.
13796
f63d6bf4
VS
137972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13798
13799 * docs/grub.texi (Filesystems): Clarify restrictions.
13800 (Regexp): Mention non-Unicode regexp behaviour.
13801 (Other): Mention non-Unicode matching behaviour.
13802
74bbf0db
VS
138032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13804
f63d6bf4 13805 Make HFS implementation use MacRoman.
74bbf0db
VS
13806
13807 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
13808 (macroman): New const array.
13809 (macroman_to_utf8): New function.
13810 (utf8_to_macroman): Likewise.
13811 (grub_hfs_find_dir): Use utf8_to_macroman.
13812 (grub_hfs_dir): Use macroman_to_utf8.
13813 Set case_insensitive.
13814
4ea0316e
VS
138152011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13816
13817 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13818
d3c13cbd
VS
138192011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 Integrate hints into autogeneration scripts.
13822
13823 * docs/grub.texi (Filesystems): Add a hostdisk example.
13824 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13825 (grub-probe): Add ofpath.
13826 * gentpl.py: Remove group nosparc64.
13827 * grub-core/commands/search.c (cache_entry): New struct.
13828 (cache): New var.
13829 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
13830 * grub-core/commands/search_wrap.c (options): Add platform-specific
13831 hint options.
13832 (grub_cmd_search): Handle platform-specific hints.
13833 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
13834 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
13835 (grub_util_biosdisk_data): Likewise.
13836 (grub_util_biosdisk_open): Set device_map.
13837 (read_device_map): Handle "" as indication of no map.
13838 Set device_map.
13839 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
13840 (grub_util_biosdisk_get_compatibility_hint): New function.
13841 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
13842 * include/grub/emu/hostdisk.h
13843 (grub_util_biosdisk_get_compatibility_hint): New proto.
13844 * util/grub-install.in: Don't call grub-mkdevicemap.
13845 Add platform-specific hint to load.cfg.
13846 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13847 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13848 hints. Set root preliminary to compatibility hint, not to OS name.
13849 * util/grub-probe.c (PRINT_*): Add hints.
13850 (print): Make static.
13851 (escape_of_path): New function.
13852 (guess_bios_drive): Likewise.
13853 (guess_efi_drive): Likewise.
13854 (guess_baremetal_drive): Likewise.
13855 (print_full_name): Likewise.
13856 (probe): Handle hints.
13857 (main): Likewise.
13858 * util/ieee1275/devicemap.c: Removed.
13859 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13860 updated.
13861 (grub_util_devname_to_ofpath): Return NULL on failure.
13862
13863 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13864 resource leak.
13865 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13866
13867 * po/POTFILES.in: Regenerated.
13868
13869 Allow purely long options
13870
13871 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13872 (SHORT_ARG_USAGE): Likewise.
13873 (grub_arg_show_help): Compare opt with help_options.
13874 (parse_option): Receive opt as argument. If makes big simplificatons.
13875 All users updated
13876
00ce2df3
VS
138772011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13880 Restructure to avoid warning.
13881
e77e325f
VS
138822011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 * util/grub-install.in: Account for possible escaped comma in device
13885 name.
13886
165099ea
VS
138872011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13888
13889 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
13890 channel.
13891
ce4a999d
VS
138922011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13893
13894 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13895 allocation and zero-setting.
13896 (grub_ieee1275_get_devname): Check that alias is complete.
13897
379586ad
VS
138982011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13901 unaligned segments.
13902
9197b0ad
VS
139032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13906 prefix.
13907 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13908 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13909 Add ieee1275 prefix.
13910
edddb7f9
VS
139112011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13912
13913 * docs/grub.texi (Filesystems): Update.
13914
a1a8b1b9
VS
139152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13916
13917 Support odc, newc and bigendian cpio formats.
13918
13919 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13920 * grub-core/Makefile.core.def (newc): New module.
13921 (odc): Likewise.
13922 (cpio_be): Likewise.
13923 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13924 (MAGIC): Likewise.
13925 (MAGIC2): Likewise.
13926 (head) [MODE_ODC]: Adapt for the format.
13927 (head) [MODE_NEWC]: Likewise.
13928 (head) [!MODE_*]: Write fields of interest as arrays.
13929 (MAGIC_USTAR): Removed.
13930 (read_number) [MODE_NEWC]: Change to hex.
13931 (read_number) [!MODE_*]: Parse binary arrays.
13932 (grub_cpio_find_file): Factor out the code for better structure and
13933 always use read_number.
13934 (grub_cpio_mount): Use MAGIC and MAGIC2.
13935 (grub_cpio_dir): Exit on first hook non-0 return.
13936 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13937 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13938 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13939 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13940 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13941 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13942 * grub-core/fs/newc.c: New file.
13943 * grub-core/fs/odc.c: Likewise.
13944 * grub-core/fs/cpio_be.c: Likewise.
13945
58eba9ee
VS
139462011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13947
13948 Fix handling of tar numbers occupying the whole field.
13949
13950 * grub-core/fs/cpio.c (read_number): New function.
13951 (grub_cpio_find_file): Use read_number instead of strtoull.
13952
a54a0e12
VS
139532011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13956 occupying the whole field size.
13957
a6120aca
LA
139582011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13959
13960 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13961
a93964ce
VS
139622011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13965
3ea1ca46
SG
139662011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13967
13968 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13969 TARGET_IMG_LDFLAGS.
13970
b87f7ef2
VS
139712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13974 (mountinfo_entry): Increase the field size to take escaping into
13975 account.
13976 (find_root_device_from_libzfs): Add one byte to size of strings for
13977 security.
13978
62092395
VS
139792011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13982 an assert.
13983 * util/grub-setup.c (setup): Likewise.
13984
1f0b1a77
VS
139852011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13988 _LzmaDecodeA.
13989
8eba9997
VS
139902011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13991
13992 * docs/grub.texi (Internationalisation): New section.
13993
dd0c91e9
VS
139942011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 * docs/grub.texi (Loopback booting): New section.
13997
139982011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13999
14000 * util/grub-mkstandalone.in: Fix minor typo errors.
14001
198e150a
VS
140022011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14003
14004 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
14005
14006 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
14007 net/icmp.c and net/icmp6.c.
14008 (http): New module.
14009 (priority_queue): Likewise.
14010 * grub-core/io/bufio.c: Rewritten.
14011 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
14012 TYPE_WITH_CONFIGFILE_OPTION.
14013 (legacy_commands): Add bootp and dhcp.
14014 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
14015 (grub_legacy_parse): Likewise.
14016 * grub-core/lib/priority_queue.c: New file.
14017 * grub-core/net/arp.c: Add missing license header.
14018 (arp_find_entry): Removed.
14019 (arp_find_entry): Likewise.
14020 (grub_net_arp_resolve): Rename to ...
14021 (grub_net_arp_send_request): ...this.
14022 (grub_net_arp_receive): New card argument.
14023 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
14024 Set router and DNS server.
14025 (grub_net_configure_by_dhcp_ack): Handle routing information.
14026 (grub_cmd_bootp): Set checksum.
14027 (grub_bootp_init): Remove net_dhcp.
14028 * grub-core/net/dns.c: New file.
14029 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
14030 completion.
14031 (get_card_packet): Handle allocation.
14032 (grub_efinet_findcards): Set mtu.
14033 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
14034 (get_card_packet): Handle allocation.
14035 (emucard): Set mtu.
14036 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
14037 (GRUB_MOD_INIT): Set mtu.
14038 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
14039 mtu.
14040 (get_card_packet): Handle allocation.
14041 (grub_ofnet_findcards): Set mtu.
14042 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
14043 assert.
14044 (grub_net_recv_ethernet_packet): Handle IPv6.
14045 * grub-core/net/http.c: New file.
14046 * grub-core/net/icmp.c: Likewise.
14047 * grub-core/net/icmp6.c: Likewise.
14048 * grub-core/net/ip.c (ip6addr): New type.
14049 (ip6hdr): Likewise.
14050 (reassemble): Likewise.
14051 (cmp): New function.
14052 (reassembles): New variable.
14053 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
14054 (id): New variable.
14055 (send_fragmented): New function.
14056 (grub_net_send_ip_packet): Rename to ...
14057 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
14058 Handle non-UDP.
14059 (grub_net_recv_ip_packets): Rename to ...
14060 (handle_dgram): ... this. Check checksum. Handle non-UDP.
14061 (free_rsm): New function.
14062 (free_old_fragments): Likewise.
14063 (grub_net_recv_ip4_packets): New function.
14064 (grub_net_send_ip6_packet): Likewise.
14065 (grub_net_send_ip_packet): Likewise.
14066 (grub_net_recv_ip6_packets): Likewise.
14067 (grub_net_recv_ip_packets): Likewise.
14068 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
14069 (LINK_LAYER_CACHE_SIZE): New const.
14070 (link_layer_find_entry): New function.
14071 (grub_net_link_layer_add_address): Likewise.
14072 (grub_net_link_layer_resolve_check): Likewise.
14073 (grub_net_link_layer_resolve): Likewise.
14074 (grub_net_ipv6_get_slaac): Likewise.
14075 (grub_net_ipv6_get_link_local): Likewise.
14076 (grub_cmd_ipv6_autoconf): Likewise.
14077 (parse_ip): Handle one number representation.
14078 (parse_ip6): New functoion.
14079 (match_net): Handle IPv6.
14080 (grub_net_resolve_address): Handle IPv6 and DNS.
14081 (grub_net_resolve_net_address): Handle IPv6.
14082 (route_cmp): New function.
14083 (grub_net_route_address): Find best route.
14084 (grub_net_addr_to_str): Handle IPv6.
14085 (grub_net_addr_cmp): New function.
14086 (grub_net_add_addr): Register local route.
14087 (print_net_address): Handle net address.
14088 (grub_net_poll_cards): Retransmit TCP.
14089 (grub_net_poll_cards_idle_real): Likewise.
14090 (have_ahead): New function.
14091 (grub_net_seek_real): Use underlying seek.
14092 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
14093 * grub-core/net/tcp.c: New file.
14094 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
14095 (cmp): New function.
14096 (ack): Likewise.
14097 (tftp_receive): Handle unordered input.
14098 (destroy_pq): New function.
14099 (tftp_close): Close pq.
14100 * grub-core/net/udp.c: Put missing license header.
14101 (grub_net_udp_socket): New function.
14102 (udp_socket_register): Likewise.
14103 (grub_net_udp_close): Likewise.
14104 (grub_net_recv_udp_packet): Check checksum.
14105 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
14106 * include/grub/misc.h (grub_memchr): New function.
14107 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
14108 (grub_net_card_driver): Return buf in recv.
14109 (grub_net_slaac_mac_list): New struct.
14110 (grub_network_level_protocol_id): Add ipv6.
14111 (grub_net_network_level_addr): Likewise.
14112 (grub_net_network_level_net_addr): Likewise.
14113 (grub_net_app_protocol): Add seek.
14114 (grub_net_socket): Removed.
14115 (grub_net_sockets): Likewise.
14116 (grub_net_socket_register): Likewise.
14117 (grub_net_socket_unregister): Likewise.
14118 (FOR_NET_SOCKETS): Likewise.
14119 (grub_net_add_addr): Add const.
14120 (GRUB_NET_BOOTP_*): New enum.
14121 (grub_net_addr_cmp): New proto.
14122 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
14123 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
14124 (grub_net_hwaddr_to_str): NEw proto.
14125 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
14126 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
14127 (grub_dns_init): New proto.
14128 (grub_dns_fini): Likewise.
14129 (grub_net_tcp_retransmit): Likewise.
14130 (grub_net_link_layer_add_address): Likewise.
14131 (grub_net_link_layer_resolve_check): Likewise.
14132 (grub_net_link_layer_resolve): Likewise.
14133 (grub_net_dns_lookup): Likewise.
14134 (grub_net_add_dns_server): Likewise.
14135 (grub_net_remove_dns_server): Likewise.
14136 (GRUB_NET_TRIES): New const.
14137 (GRUB_NET_INTERVAL): Likewise.
14138 * include/grub/net/arp.h: Mostly rewritten.
14139 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
14140 * include/grub/net/ip.h: Mostly rewritten.
14141 * include/grub/net/netbuff.h: Indent.
14142 * include/grub/net/tcp.h: New file.
14143 * include/grub/net/udp.h: Mostly rewritten.
14144 * include/grub/priority_queue.h: New file.
14145 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
14146 (grub_swap_bytes64_compile_time): Likewise.
14147 (grub_cpu_to_be16_compile_time): Likewise.
14148 (grub_cpu_to_be32_compile_time): Likewise.
14149 (grub_cpu_to_be64_compile_time): Likewise.
14150 (grub_be_to_cpu64_compile_time): Likewise.
14151
215c1800
VS
141522011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
14153
14154 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
14155 UINT_TO_PTR with cast.
14156
c17e546c
VS
141572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
14160 don't use them.
14161
ff6b18b6
VS
141622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14163
14164 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
14165 already there.
14166
70ffcc93
VS
141672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14168
14169 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
14170 confusing ipxe.
14171
e5f4d260
VS
141722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14173
14174 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
14175 Add missing const attribute.
14176 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
14177 Likewise.
14178 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
14179 Likewise.
14180
8e54b4b7
VS
141812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
14184 misaligned access.
14185 (serpent_setkey): Likewise.
14186 (serpent_encrypt_internal): Likewise.
14187 (serpent_decrypt_internal): Likewise.
14188 (serpent_encrypt): Don't put an alignment-increasing cast.
14189 (serpent_decrypt): Likewise.
14190 (serpent_test): Likewise.
14191
813c0a2b
VS
141922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14193
14194 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
14195
f2b60fbd
VS
141962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14197
14198 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
14199
14200 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
14201 grub_addr_t casts.
14202 (PTR_TO_UINT64): Likewise.
14203 (PTR_TO_UINT32): Likewise.
14204
5ef5c511
VS
142052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 * util/grub-mkimage.c (generate_image): Decrease the higher limit
14208 because of stack.
14209 * util/grub-setup.c (setup): Don't add redundancy past the higher load
14210 limit.
14211
c476e6df
VS
142122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
14215 text_width > available width a bit more gracefully.
14216
384ad7cc
VS
142172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
14220 current address calculation.
14221
96f8caf8
VS
142222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
14225 stack.
14226 (encode_block): Likewise.
14227
276b7a8b
VS
142282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
14231 certainety.
14232
e3fd394a
VS
142332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14234
14235 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
14236 non-RS part to avoid RS messing with GDT.
14237 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14238 Increase to suit in realmode routines.
14239
142402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 * grub-core/kern/i386/realmode.S: Increase alignment.
14243 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
14244
ee9c2e7a
VS
142452011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
14248 be deterministic.
14249 (syndroms): Compute 0 syndrom.
14250 (rs_recover): Use 0 syndrom.
14251
7a7f7cc9
VS
142522011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14253
14254 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
14255
a14b16d1
VS
142562011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
14259 brackets.
14260
9f59e9fc
VS
142612011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14262
ca1b552c
VS
14263 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
14264 account.
14265 (get_top_pad): Likewise.
14266 (get_right_pad): Likewise.
14267 (get_bottom_pad): Likewise.
14268
142692011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14270
14271 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 14272
e739d698
VS
142732011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
14276 attribute as the structure isn't guaranteed to be properly aligned.
14277 (grub_efi_pci_device_path): Likewise.
14278 (grub_efi_pccard_device_path): Likewise.
14279 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
14280 specify the size of `memory_type'.
14281 (grub_efi_vendor_device_path): Likewise.
14282 (grub_efi_controller_device_path): Likewise.
14283 (grub_efi_acpi_device_path): Likewise.
14284 (grub_efi_expanded_acpi_device_path): Likewise.
14285 (grub_efi_atapi_device_path): Likewise.
14286 (grub_efi_scsi_device_path): Likewise.
14287 (grub_efi_fibre_channel_device_path): Likewise.
14288 (grub_efi_1394_device_path): Likewise.
14289 (grub_efi_usb_device_path): Likewise.
14290 (grub_efi_usb_class_device_path): Likewise.
14291 (grub_efi_i2o_device_path): Likewise.
14292 (grub_efi_mac_address_device_path): Likewise.
14293 (grub_efi_ipv4_device_path): Likewise.
14294 (grub_efi_ipv6_device_path): Likewise.
14295 (grub_efi_infiniband_device_path): Likewise.
14296 (grub_efi_uart_device_path): Likewise.
14297 (grub_efi_vendor_messaging_device_path): Likewise.
14298 (grub_efi_hard_drive_device_path): Likewise.
14299 (grub_efi_cdrom_device_path): Likewise.
14300 (grub_efi_vendor_media_device_path): Likewise.
14301 (grub_efi_file_path_device_path): Likewise.
14302 (grub_efi_protocol_device_path): Likewise.
14303 (grub_efi_piwg_device_path): Likewise.
14304 (grub_efi_bios_device_path): Likewise.
14305
cb8f88ea
VS
143062011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14307
14308 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
14309 (grub_ucs4_to_utf8_alloc): Likewise.
14310 (grub_ucs4_to_utf8): Likewise.
14311 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
14312 (grub_ucs4_to_utf8_alloc): Likewise.
14313
309e5352
VS
143142011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14315
14316 AFFS never uses unicode.
14317
14318 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
14319 (grub_latin1_to_utf8): New inline function.
14320 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
14321
e7987e1b
VS
143222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
14325 overflow.
14326
efc2616e
VS
143272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
14330 (grub_squash_dirent_header): Likewise.
14331 (read_chunk): Don't double swap.
14332 (grub_squash_iterate_dir): Fix swap sizes.
14333
3c349f5a
VS
143342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
14337
b453412d
VS
143382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
14341 (grub_hfs_iterate_dir): Likewise.
14342
12e9d4d1
VS
143432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14344
14345 Fix video on platforms where unaligned access is forbidden.
14346 Make several optimisations while on it.
14347
14348 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
14349 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14350 (grub_video_fbblit_replace_32bit_1bit): Likewise.
14351 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14352 Disable.
14353 (grub_video_fbblit_replace_16bit_1bit):
14354 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14355 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14356 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
14357 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
14358 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14359 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14360 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
14361 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
14362 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
14363 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
14364 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
14365 (grub_video_fbblit_replace_index_RGB888): Likewise.
14366 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
14367 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
14368 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
14369 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
14370 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
14371 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14372 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14373 Disable.
14374 (grub_video_fbblit_blend_XXX565_1bit):
14375 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14376 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
14377 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
14378 void *.
14379 * grub-core/video/fb/video_fb.c (common_blitter)
14380 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
14381 (grub_video_fb_create_render_target_from_pointer)
14382 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
14383 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
14384 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
14385 definition.
14386 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
14387
ace96609
VS
143882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14389
14390 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
14391 HH22 and HM10 relocations.
14392
fd261d73
VS
143932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14394
14395 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
14396
e59b7857
VS
143972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
14400 allocation succeeded.
14401
9b4baaa4
VS
144022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14403
14404 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
14405 argument a u8 pointer. All users updated.
14406 Handle unaligned buffers.
14407
dc713193
VS
144082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14409
14410 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
14411 add_part to workaround compiler bug.
14412
30dd48c2
VS
144132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14414
14415 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
14416
0c6087a8
VS
144172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14418
14419 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
14420 Reserve alignment invariants.
14421 (grub_multiboot_load): Likewise.
14422 (retrieve_video_parameters): Likewise.
14423 (grub_multiboot_make_mbi): Likewise.
14424
c2e77777
VS
144252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14426
14427 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
14428 incorrect pointer.
14429
b70b6d11
VS
144302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
14433 (grub_pata_pio_write): Likewise.
14434
02a2bf83
VS
144352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 Add noreturn attributes and remove unreachable code.
14438
14439 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
14440 code.
14441 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
14442 code. Mark as noreturn.
14443 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
14444 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
14445 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
14446 unreachable code.
14447 * grub-core/kern/main.c (grub_main): Mark as noreturn.
14448 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
14449 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
14450 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
14451 * include/grub/kernel.h (grub_main): Mark as noreturn.
14452 * include/grub/reader.h (grub_rescue_run): Likewise.
14453
2019d09e
VS
144542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14455
14456 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
14457 redundant declaration.
14458
d1c501ee
VS
144592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14460
14461 * include/grub/net.h (grub_net_network_level_interfaces): Remove
14462 redundant declaration.
14463 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
14464
61664420
VS
144652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14466
14467 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
14468 to ensure alignment.
14469 (grub_hdparm_print_identify): Make argument uint16 * to ensure
14470 alignment. Ensure tmp alignment.
14471 (grub_cmd_hdparm): Ensure buf alignment.
14472 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
14473 to ensure alignment.
14474 (grub_ata_dumpinfo): Ensure text alignment.
14475 (grub_atapi_identify): Preserve alignment invariant.
14476 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
14477
0d51ee20
VS
144782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
14481 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
14482 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
14483 * include/grub/misc.h (grub_reboot)
14484 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
14485 (grub_halt) [__mips__]: Likewise.
14486
753ef8c1
VS
144872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14488
14489 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
14490 Remove redundant declaration.
14491 (grub_mmap_get_post64): Likewise.
14492 (grub_mmap_get_upper): Likewise.
14493 (grub_mmap_get_lower): Likewise.
14494
85c85365
VS
144952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14496
14497 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
14498 uint32_t * to ensure alignment.
14499 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
14500
a23f2cc4
VS
145012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14502
93018f64
VS
14503 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
14504 uint16_t * to ensure alignment.
14505 (sun_pc_partition_map_iterate): Make `block' a union to ensure
14506 alignment.
14507
145082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
14511 to ensure alignment.
14512 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
14513
58acccd6
VS
145142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14515
14516 * grub-core/fs/ntfs.c (u16at): Make into inline function.
14517 Handle unaligned pointers.
14518 (u32at): Likewise.
14519 (u64at): Likewise.
14520 (fixup): Use byte access instead of v16at.
14521 (find_attr): Fix imporper usage of v32at.
14522 (read_data): Likewise.
14523 (list_file): Handle byte-swapping and unaligned strings.
14524 (grub_ntfs_label): Likewise.
14525
9b05cad7
VS
145262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
14529 as it's not necessarily aligned.
14530
b3950b84
VS
145312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14532
14533 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
14534 redundant declaration.
14535 (grub_serial_init): Likewise.
14536 (grub_terminfo_init): Likewise.
14537
fcd232b7
VS
145382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14539
14540 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
14541 function.
14542 (ZAP_HASH_IDX): Likewise.
14543 (ZAP_LEAF_HASH_SHIFT): Likewise.
14544 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
14545 (LEAF_HASH): Likewise.
14546 (ZAP_LEAF_NUMCHUNKS): Likewise.
14547 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
14548 alignment invariants. Return pointer. All users updated.
14549 (ZAP_LEAF_ENTRY): Make into inline function.
14550 (NBBY): Removed.
14551 (xor): LIkewise.
14552 (xor_out): Use grub_crypto_xor.
14553 (dnode_get_path): Use grub_get_unaligned.
14554 (nvlist_find_value): Likewise.
14555 (grub_zfs_nvlist_lookup_uint64): Likewise.
14556 (grub_zfs_nvlist_lookup_string): Likewise.
14557 (get_nvlist_size): Likewise.
14558 (grub_zfs_open): Likewise.
14559 (fill_fs_info): Likewise.
14560 (grub_zfs_dir): Likewise.
14561 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
14562 alignment invariants.
14563 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
14564 necessarily aligned.
14565
f138623a
VS
145662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
14569
564840dc
VS
145702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
14573 arithmetic to conserve alignment invariants.
14574
9b40df20
VS
145752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
14578 redundant declaration.
14579 (grub_efiemu_mm_obtain_request): Likewise.
14580 (grub_efiemu_prepare): Likewise.
14581
d1c930f9
VS
145822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14583
14584 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
14585 to match types.
14586
4c5f3056
VS
145872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14588
14589 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
14590 case of aunaligned recptr.
14591 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
14592 alignment.
14593 (grub_hfsplus_btree_search): Handle unaligned index.
14594
728cba91
VS
145952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14596
14597 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
14598 to get freetag and skip.
14599
eb561f31
VS
146002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14601
14602 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
14603 array.
14604 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
14605 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
14606
20993fbb
VS
146072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14608
14609 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
14610 name for checksum and fix allocation algorithm.
14611
1f313b94
VS
146122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14613
14614 * include/grub/types.h (grub_properly_aligned_t): New type.
14615 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
14616 (grub_get_unaligned16): Add explicit casts.
14617 (grub_get_unaligned32): Likewise.
14618 (grub_get_unaligned64): Likewise.
14619 (grub_set_unaligned16): New function.
14620 (grub_set_unaligned32): Likewise.
14621
47ae27ec
VS
146222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14623
14624 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14625
78c2cd1c
VS
146262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
14629 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
14630 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
14631
53072f9b
VS
146322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
14635 conditionals.
14636
055dc239
VS
146372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14638
14639 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
14640 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
14641
496bd074
VS
146422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 Unify and improve RAID and crypto xor.
14645
14646 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
14647 changed to grub_crypto_xor
14648 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
14649 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
14650 Use bigger types when possible.
14651
ef6e4335
VS
146522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14653
14654 * grub-core/disk/raid.c (scan_devices): Fix condition.
14655
5d048bf2
VS
146562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
14659 Make name a const ptr.
14660
ee533335
VS
146612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14662
14663 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
14664 first argument a const pointer.
14665 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14666 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
14667 proto.
14668 (grub_children_iterate): Likewise.
14669 (grub_machine_mmap_iterate): Remove redundant declaration.
14670
cc8f3668
VS
146712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14672
14673 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14674 (grub_cmd_acpi) [!x86]: Disable EBDA.
14675
c5fc563a
VS
146762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 Enable UTF8 in gnulib regexp.
14679
14680 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14681 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14682 (isupper): Use grub_isupper.
14683 (isascii): New inline function.
14684 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14685 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14686 * grub-core/normal/charset.c (grub_utf8_process): New function.
14687 (grub_utf8_to_utf16): Use grub_utf8_process.
14688 (grub_encode_utf8_character): New function.
14689 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14690 * include/grub/charset.h (grub_utf8_process): New declaration.
14691 (grub_encode_utf8_character): Likewise.
14692 * include/grub/misc.h (grub_islower): New inline function.
14693 (grub_isupper): Likewise.
14694 (grub_strchrsub): Moved down to fix the definitions.
14695
0af2346f
VS
146962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14697
14698 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14699 specification.
14700
74dbd244
VS
147012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 * include/grub/loader.h (grub_loader_register_preboot_hook):
14704 Use struct preboot * and not void * for handle. All users updated.
14705 (grub_loader_unregister_preboot_hook): Likewise.
14706
1bc8f60d
VS
147072011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14708
14709 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14710 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14711 UTF-16-BE. All users updated.
14712 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14713 (grub_hfsplus_iterate_dir): Likewise.
14714 (grub_hfsplus_label): Likewise.
14715
48d6e456
VS
147162011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14719
bf3a3857
VS
147202011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14721
14722 Add missing const qualifiers.
14723
14724 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14725 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14726 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14727 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14728 (grub_lvm_check_flag): Likewise.
14729 * grub-core/efiemu/i386/coredetect.c
14730 (grub_efiemu_get_default_core_name): Likewise
14731 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14732 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14733 * grub-core/fs/ntfs.c (fixup): Likewise.
14734 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14735 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14736 (fzap_lookup): Likewise.
14737 (zap_lookup): Likewise.
14738 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14739 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14740 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14741 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14742 (grub_freebsd_add_meta_module): Likewise.
14743 (grub_cmd_freebsd_module): Likewise.
14744 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14745 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14746 (grub_xnu_writetree_get_size): Likewise.
14747 (grub_xnu_writetree_toheap_real): Likewise.
14748 (grub_xnu_find_key): Likewise.
14749 (grub_xnu_create_key): Likewise.
14750 (grub_xnu_create_value): Likewise.
14751 (grub_xnu_register_memory): Likewise.
14752 (grub_xnu_check_os_bundle_required): Likewise.
14753 (grub_xnu_scan_dir_for_kexts): Likewise.
14754 (grub_xnu_load_kext_from_dir): Likewise.
14755 * grub-core/normal/color.c (color_list): Likewise.
14756 * grub-core/normal/completion.c (current_word): Likewise.
14757 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14758 * grub-core/term/serial.c (grub_serial_find): Likewise.
14759 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14760 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14761 Likewise.
14762 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14763 (grub_freebsd_add_meta_module): Likewise.
14764 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14765 * include/grub/net.h (grub_net_card_driver): Likewise.
14766 (grub_net_card): Likewise.
14767 (grub_net_app_protocol): Likewise.
14768 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14769 * include/grub/serial.h (grub_serial_find): Likewise.
14770 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14771 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14772 (grub_xnu_create_value): Likewise.
14773 (grub_xnu_find_key): Likewise.
14774 (grub_xnu_scan_dir_for_kexts): Likewise.
14775 (grub_xnu_load_kext_from_dir): Likewise.
14776
14777 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14778 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14779 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14780 Moved from here ...
14781 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14782
112b4837
CW
147832011-11-28 Colin Watson <cjwatson@ubuntu.com>
14784
14785 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14786
49e891ac
VS
147872011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14788
14789 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14790 (read_device): Fix size calculation.
14791
fd258e5c
RM
147922011-11-25 Robert Millan <rmh@gnu.org>
14793
14794 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14795 (find_root_device_from_libzfs): Add zpool output parser to be used
14796 as fallback when libzfs isn't available.
14797
78845dc2
SG
147982011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14799
14800 * po/Makefile.in.in: Add missing escape-continuation.
14801
adac5211
VS
148022011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
14803
14804 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
14805
10b64f1c
VS
148062011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
14809
bb416954
VS
148102011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14811
14812 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14813
bdfe9eeb
VS
148142011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14815
14816 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14817
581ffa8a
VS
148182011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14819
14820 * grub-core/lib/adler32.c: Add missing license specification.
14821 * grub-core/lib/crc64.c: Likewise.
14822 * grub-core/loader/i386/pc/plan9.c: Likewise.
14823 * grub-core/partmap/plan.c: Likewise.
14824
2536cf64
LK
148252011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14826
14827 Add facility to debug GRUB with gdb under qemu.
14828
14829 * grub-core/gdb_grub.in: New file.
14830 * grub-core/gmodule.pl.in: Likewise.
14831 * grub-core/Makefile.core.def (gmodule.pl): New script.
14832 (gdb_grub): Likewise.
14833
bc108a4a
VS
148342011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14835
14836 * util/grub-mount.c (argp_parser): Accept relative pathes.
14837 * util/grub-fstest.c (argp_parser): Likewise.
14838
111c1778
VS
148392011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14840
14841 Plan9 support.
14842
14843 * Makefile.util.def (libgrubmods): Add
14844 grub-core/partmap/plan.c.
14845 * docs/grub.texi: Notice Plan9 support.
14846 * grub-core/Makefile.core.def (plan9): New module.
14847 (part_plan): Likewise.
14848 * grub-core/loader/i386/pc/plan9.c: New file.
14849 * grub-core/partmap/plan.c: Likewise.
14850 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14851 define.
14852 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14853 * include/grub/mm.h (grub_extend_alloc): New inline function.
14854
c30be3b6
VS
148552011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 Make Reed-Solomon faster by using power of generator representation of
14858 GF(256)*.
14859
14860 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14861 (gf_double_t): Likewise.
14862 (gf_invert): Removed.
14863 (gf_powx): New array.
14864 (gf_powx_inv): Likewise.
14865 (scratch): Move higher.
14866 (gf_reduce): Removed.
14867 (gf_mul): Use powx.
14868 (gf_invert): Likewise.
14869 (init_inverts): Replaced with ...
14870 (init_powx): ...this. All users updated.
14871 (pol_evaluate): Replace multiplications with additions.
14872 (rs_encode): Likewise.
14873 (gauss_eliminate): Call gf_invert.
14874 (grub_reed_solomon_add_redundancy): Call init_powx.
14875 (grub_reed_solomon_recover): Call init_powx unconditionally.
14876
fa5aeffc
VS
148772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14878
14879 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14880
a346b81c
VS
148812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14884 disk->partiton for safety.
14885
d89ee414
VS
148862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14889 Fix a memory leak.
14890 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
14891
91ee7b6d
VS
148922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14895
91e5a33d
VS
148962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14897
14898 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14899
9edd7be2
VS
149002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 Fix spaces handling in proc/self/mountinfo.
14903
14904 * util/getroot.c (unescape): New function.
14905 (grub_find_root_device_from_mountinfo): Use unescape.
14906
ba102053
VS
149072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14908
14909 Support ZFS embedding.
14910
14911 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14912 (grub_zfs_fs): Register grub_zfs_embed.
14913
aa94b870
VS
149142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 Fix MIPS compilation.
14917
14918 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14919 * include/grub/offsets.h: Rename decompressor fields from
14920 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14921 * util/grub-mkimage.c (image_targets): Use new names.
14922
5fbdac14
VS
149232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14924
14925 Defer multiboot device parsing until we're in compressed part.
14926
14927 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14928 bsd_part. setdevice has fallen into disuse.
14929 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14930 (bsd_part): Likewise.
14931 (boot_dev): New variable.
14932 (multiboot_trampoline): Don't parse multiboot device.
14933 Pass multiboot device in %edx.
14934 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14935 grub_boot_device.
14936 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14937 Likewise.
14938 * grub-core/kern/i386/pc/startup.S: Save edx.
14939 (grub_boot_drive): Removed.
14940 (grub_install_dos_part): Likewise.
14941 (grub_install_bsd_part): Likewise.
14942 (grub_boot_device): New variable.
14943 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14944 (grub_install_bsd_part): Likewise.
14945 (grub_boot_drive): Likewise.
14946 (grub_boot_device): New variable.
14947 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14948 Removed.
14949 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14950 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14951 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14952 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14953 * util/grub-install.in: Remove redundant condition.
14954
691cbb58
VS
149552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14956
14957 Fix bug introduced by previous commit.
14958
14959 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14960
60240b8b
VS
149612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14962
14963 Use decompressors framework on i386-pc. It increases core size
14964 by 46 bytes but improves compatibility and maintainability.
14965
14966 * grub-core/Makefile.core.def (lzma_decompress): New image.
14967 (kernel): Add i386_pc_ldflags.
14968 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14969 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14970 to real_to_prot, prot_to_real and device info.
14971 * include/grub/offsets.h: Renamed decompressor offsets.
14972 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14973 (image_target_desc): Remove raw_size and rename decompressor fields.
14974 (compress_kernel): Handle lzma.
14975 (generate_image): Handle decompressors on i386-pc.
14976
e9d3421c
VS
149772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 * configure.ac: Add -fno-asynchronous-unwind-tables.
14980
2b23074a
VS
149812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14982
14983 Move assembly code to C by using intwrap. It increases core size
14984 by 88 bytes but improves compatibility and maintainability.
14985
14986 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14987 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14988 ... here. Translated to C.
14989 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14990 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14991 ... here. Translated to C.
14992 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14993 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14994 ... here. Translated to C.
14995 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14996 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14997 ... here. Translated to C.
14998 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14999 * grub-core/term/i386/pc/console.c (grub_console_cls):
15000 ... here. Translated to C.
15001 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
15002 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
15003 ... here. Translated to C.
15004 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
15005 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
15006 Translated to C.
15007 * grub-core/term/i386/pc/console.c (int10_9): New function.
15008 (grub_console_putchar): Likewise.
15009 * include/grub/i386/pc/console.h: Removed the not anymore shared
15010 functions.
15011
678f4b67
VS
150122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 Move grub_chainloader_real_boot out of the kernel.
15015
15016 * grub-core/Makefile.am: Remove machine/loader.h.
15017 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15018 Removed.
15019 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
15020 variable.
15021 (grub_relocator16_keep_a20_enabled): Likewise.
15022 (grub_relocator16_boot): Fill new variables.
15023 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
15024 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
15025 relocator.
15026 (grub_chainloader_unload): Likewise.
15027 (grub_chainloader_cmd): Likewise.
15028 * include/grub/i386/pc/loader.h: Removed.
15029 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
15030 and esi. All initialisers updated.
15031
4626edf6
VS
150322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
150332011-11-12 Colin Watson <cjwatson@ubuntu.com>
15034
15035 * Makefile.util.def (grub-mount): New util.
15036 * .bzrignore: Add grub-mount.
15037 * configure.ac: Check for fuse and enable grub-mount if available.
15038 * docs/man/grub-mount.h2m: New file.
15039 * util/grub-mount.c: Likewise.
15040
10f0117b
VS
150412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 * grub-core/commands/efi/fixvideo.c: Gettextize.
15044 * grub-core/commands/hashsum.c: Likewise.
15045 * grub-core/commands/i386/cmostest.c: Likewise.
15046 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15047 * grub-core/commands/i386/pc/lsapm.c: Likewise.
15048 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15049 * grub-core/commands/lsmmap.c: Likewise.
15050 * grub-core/commands/menuentry.c: Likewise.
15051 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
15052 * grub-core/commands/setpci.c: Likewise.
15053 * grub-core/loader/i386/bsd.c: Likewise.
15054 * grub-core/loader/i386/linux.c: Likewise.
15055 * util/getroot.c: Likewise.
15056 * util/grub-editenv.c: Likewise.
15057 * util/grub-fstest.c: Likewise.
15058 * util/grub-mkfont.c: Likewise.
15059 * util/grub-mkimage.c: Likewise.
15060 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15061 * util/grub-pe2elf.c: Likewise.
15062 * util/grub-probe.c: Likewise.
15063 * util/grub-setup.c: Likewise.
15064 * util/ieee1275/ofpath.c: Likewise.
15065 * util/misc.c: Likewise.
15066 * util/raid.c: Likewise.
15067
566f779b
RM
150682011-11-11 Robert Millan <rmh@gnu.org>
15069
15070 * util/getroot.c (grub_util_get_geom_abstraction): Remove
15071 __attribute__((unused)) from `os_dev', which *is* being used.
15072
b50787de
VS
150732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15074
15075 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
15076 forgotten define.
15077 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
15078 GRUB_IA64_DL_GOT_ALIGN.
15079 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
15080 GRUB_IA64_DL_TRAMP_ALIGN.
15081
119d11c8
VS
150822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 Replace grub_fatal with normal errors in i386 linux loader.
15085
15086 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
15087 (allocate_pages): Check find_efi_mmap_size return value.
15088 (grub_e820_add_region): Return error.
15089 (grub_linux_boot): Check mmap return value.
15090
6e0632e2
VS
150912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 * grub-core/commands/acpihalt.c: Gettextized.
15094 * grub-core/commands/cacheinfo.c: Likewise.
15095 * grub-core/commands/cmp.c: Likewise.
15096 * grub-core/commands/efi/loadbios.c: Likewise.
15097 * grub-core/commands/gptsync.c: Likewise.
15098 * grub-core/commands/ieee1275/suspend.c: Likewise.
15099 * grub-core/commands/legacycfg.c: Likewise.
15100 * grub-core/commands/memrw.c: Likewise.
15101 * grub-core/commands/minicmd.c: Likewise.
15102 * grub-core/commands/parttool.c: Likewise.
15103 * grub-core/commands/time.c: Likewise.
15104 * grub-core/commands/videoinfo.c: Likewise.
15105 * grub-core/disk/geli.c: Likewise.
15106 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
15107 * grub-core/disk/luks.c: Likewise.
15108 * grub-core/disk/lvm.c: Likewise.
15109 * grub-core/font/font_cmd.c: Likewise.
15110 * grub-core/fs/zfs/zfscrypt.c: Likewise.
15111 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15112 * grub-core/gfxmenu/view.c: Likewise.
15113 * grub-core/kern/emu/hostdisk.c: Likewise.
15114 * grub-core/kern/emu/main.c: Likewise.
15115 * grub-core/kern/emu/misc.c: Likewise.
15116 * grub-core/kern/emu/mm.c: Likewise.
15117 * grub-core/kern/mips/arc/init.c: Likewise.
15118 * grub-core/kern/mips/loongson/init.c: Likewise.
15119 * grub-core/kern/partition.c: Likewise.
15120 * grub-core/lib/i386/halt.c: Likewise.
15121 * grub-core/lib/mips/arc/reboot.c: Likewise.
15122 * grub-core/lib/mips/loongson/reboot.c: Likewise.
15123 * grub-core/loader/i386/pc/chainloader.c: Likewise.
15124 * grub-core/loader/i386/xnu.c: Likewise.
15125 * grub-core/loader/multiboot.c: Likewise.
15126 * grub-core/net/bootp.c: Likewise.
15127 * grub-core/net/net.c: Likewise.
15128 * grub-core/normal/term.c: Likewise.
15129 * grub-core/partmap/bsdlabel.c: Likewise.
15130 * grub-core/parttool/msdospart.c: Likewise.
15131 * grub-core/term/gfxterm.c: Likewise.
15132 * grub-core/term/terminfo.c: Likewise.
15133 * grub-core/video/i386/pc/vbe.c: Likewise.
15134 * util/grub-menulst2cfg.c: Likewise.
15135 * util/grub-mkdevicemap.c: Likewise.
15136 * util/grub-mklayout.c: Likewise.
15137 * util/grub-mkrelpath.c: Likewise.
15138 * util/grub-script-check.c: Likewise.
15139 * util/ieee1275/grub-ofpathname.c: Likewise.
15140 * util/resolve.c: Likewise.
15141
073aa7a9
VS
151422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 Support %1$d syntax.
15145
15146 * tests/printf_unit_test.c: New file.
15147 * Makefile.util.def (printf_test): New test.
15148 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
15149
c76b5417
VS
151502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15151
15152 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
15153 fix.
15154
df067ad1
VS
151552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15156
15157 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
15158 dprintf.
15159 * grub-core/font/font.c (grub_font_load): Likewise.
15160
5b289bc5
VS
151612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15162
15163 * util/grub-macho2img.c: Add comment concerning gettext.
15164 * grub-core/lib/legacy_parse.c: Likewise.
15165
c1860f87
VS
151662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15167
15168 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
15169 (grub_xvasprintf): Likewise.
15170
d35d0d37
VS
151712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15172
15173 Add const keyword to grub_env_get and gettextize week days.
15174
15175 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
15176 (grub_read_hook_datetime): Return const char *.
15177 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
15178 updated.
15179 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15180 Mark for gettext.
15181 (grub_get_weekday_name): Return const char *. Call gettext.
15182 * grub-core/script/argv.c (grub_script_argv_append): Receive const
15183 char * and len as the argument. All users updated.
15184 (grub_script_argv_split_append): Receive const char *.
15185 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
15186 * include/grub/env.h (grub_env_get): Likewise.
15187 (grub_env_read_hook_t): Return const char *.
15188 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
15189 (grub_script_argv_split_append): Likewise.
15190
9aed8a71
VS
151912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15192
15193 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
15194
067fdf00
VS
151952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15196
15197 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
15198 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
15199
a8bd9d39
VS
152002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15201
15202 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
15203 Fix prototype.
15204
f7ce5baf
VS
152052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15206
15207 Fix mips compilation.
15208
15209 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
15210 normal decoder.
15211 (hashes): Use in embed decoder as well (for sizes).
15212 (dec_stream_header): Fix embed decompressor logic.
15213 (dec_stream_footer): Likewise.
15214
9bb182f3
VS
152152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
15218 an error and not a fatal on unrecognised relocation types.
15219
63a9e6f6
VS
152202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15221
15222 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15223 Issue error rather than printf on unknown arguments.
15224
4c458569
VS
152252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15226
15227 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
15228 Make buf a const.
15229
e2d22baf
VS
152302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15231
15232 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
15233 Fix module name.
15234
53dc8590
VS
152352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
15238 leftover debug printf.
15239
6c189294
VS
152402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
15243
f7688369
VS
152442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15245
15246 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
15247 A stylistic fix.
15248
11a775a3
VS
152492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15250
15251 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
15252
33f784e8
SL
152532011-11-10 Shea Levy <slevy@tieronedesign.com>
15254
15255 Allow all modules to perform serial IO
15256
15257 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
15258 * include/grub/serial.h (grub_serial_port_configure): New inline
15259 function.
15260 (grub_serial_port_fetch): Likewise.
15261 (grub_serial_port_put): Likewise.
15262 (grub_serial_port_fini): Likewise.
15263 (grub_serial_find): New proto.
15264
f6276525
VS
152652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15266
15267 Put symlink at the end of the node and fix a potential
15268 memory corruption.
15269
15270 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
15271 Make symlink into an array.
15272 (set_rockridge): Set have_symlink and alloc_dirents.
15273 (grub_iso9660_read_symlink): Use new layout.
15274 (grub_iso9660_iterate_dir): Fix memory corruption.
15275 Use new layout.
15276 (grub_iso9660_dir): Set have_symlink.
15277 (grub_iso9660_open): Likewise.
15278
c3591189
VS
152792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15280
15281 Remove local keyword.
15282
15283 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
15284 (version_test_gt): Likewise.
15285 (version_find_latest): Likewise.
15286 (gettext_printf): Likewise.
15287 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
15288
cb544caa
VS
152892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
15292
45bd824d
VS
152932011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 Fix ZFS memory and resource leaks.
15296
15297 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
15298 All users updated.
15299 Free type on exit.
15300 (fill_vdev_info): New parameter inserted. All users updated.
15301 (check_pool_label): Likewise.
15302 (scan_disk): Likewise.
15303 (scan_devices): Close non-inserted disks.
15304 (fzap_iterate): Free l.
15305 (unmount_device): Free children descripto memory.
15306
ad9a2f44
VS
153072011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15308
15309 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
15310 argument (access out of bounds).
15311
6b68db81
VS
153122011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15313
15314 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
15315 >= 6 drives.
15316
28840fda
VS
153172011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15318
15319 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
15320 Fix declaration.
15321
8a5a3a5b
VS
153222011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15323
15324 Fix several memory leaks.
15325
15326 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
15327 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
15328 (grub_cpio_dir): Likewise.
15329 * grub-core/fs/fat.c (grub_fat_label): Likewise.
15330 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
15331 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
15332 (grub_romfs_label): Likewise.
15333 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
15334 (squash_unmount): New function.
15335 (grub_squash_dir): Fix memory leak.
15336 (grub_squash_open): Likewise.
15337 (grub_squash_read): Likewise.
15338 (grub_squash_mtime): Likewise.
15339 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
15340 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
15341 * util/grub-fstest.c (fstest): Likewise.
15342
57b01250
VS
153432011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
15346 avoid accessing beyond the array.
15347
19e81ba7
VS
153482011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
15351
52b656c0
VS
153522011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 Several AFFS fixes.
15355
15356 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
15357 (GRUB_AFFS_FLAG_FFS): Removed.
15358 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
15359 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
15360 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
15361 (grub_fshelp_node): Make block 32-bit.
15362 Add block_cache and last_block_cache.
15363 (grub_affs_read_block): Fill and use block cache.
15364 (grub_affs_read_file): Removed.
15365 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
15366 boot block.
15367 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
15368 safety.
15369 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
15370 space.
15371 (grub_affs_close): Free block cache.
15372 (grub_affs_read): Use grub_fshelp_read_file directly.
15373
438a746a
VS
153742011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15375
15376 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
15377 with no error set.
15378
49a45021
VS
153792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15380
15381 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
15382 used variable.
15383 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15384 Likewise.
15385
3ae17eb8
VS
153862011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15387
15388 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
15389
15390 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
15391 byteswap when needed.
15392
27610c38
VS
153932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 Fix FreeBSD compilation.
15396
15397 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
15398 to avoid circular dependency.
15399 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
15400 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
15401 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
15402
4a19b601
VS
154032011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15404
15405 Fix ZFS crypto error types.
15406
15407 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
15408 (grub_gcm_decrypt): Likewise.
15409 (grub_zfs_load_key_real): Fix error code type. Handle possible error
15410 from PBKDF2.
15411
958ee221
VS
154122011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15413
15414 Illumos support.
15415
15416 * Makefile.util.def (10_illumos): New script.
15417 * configure.ac: Set COND_HOST_ILLUMOS.
15418 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
15419 Support Illumos calls.
15420 (find_partition_start) [__sun__]: Likewise.
15421 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
15422 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
15423 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
15424 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
15425 device.
15426 * util/grub-probe.c (probe) [__sun__]: Do character check.
15427 * util/grub.d/10_illumos.in: New file.
15428
cac14fb6
VS
154292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15430
15431 Support escaped commas in hostdisk.
15432
15433 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
15434 (find_grub_drive): Use unescape_cmp.
15435 (make_device_name): Escape commas.
15436
78e08dc3
VS
154372011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15438
15439 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
15440
9f421dd1
VS
154412011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15442
15443 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
15444 variable.
15445
ed64e9e2
VS
154462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15447
15448 Support trampoline jumps on powerpc.
15449
15450 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
15451 __ia64__ path.
15452 (grub_dl_load_segments): Set mod->sz.
15453 (grub_dl_flush_cache): Flush whole space occupied by module, not just
15454 segments.
15455 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
15456 (jump): Likewise.
15457 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
15458 function.
15459 (trampoline): New struct.
15460 (trampoline_template): New const.
15461 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
15462 * include/grub/dl.h (grub_dl): Add sz element.
15463 [__powerpc__]: Follow __ia64__.
15464 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
15465 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
15466 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
15467 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
15468
3084ede4
VS
154692011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15470
15471 ZFS crypto support.
15472
15473 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
15474 * grub-core/Makefile.core.def (zfscrypt): New module.
15475 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
15476 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
15477 it. All users updated.
15478 (grub_zfs_decrypt): New var.
15479 (grub_zfs_load_key): Likewise.
15480 (zio_checksum_functions): Add SHA256+MAC.
15481 (zio_checksum_verify): Handle incomplete comparison due to MAC.
15482 (zio_read): Handle encrypted blocks.
15483 (zap_verify): Remove incorrect check.
15484 (fzap_iterate): Handle non-standard fzap.
15485 (zap_iterate): Likewise.
15486 (zap_iterate_u64): New function.
15487 (dnode_get_fullpath): Load keys.
15488 * grub-core/fs/zfs/zfscrypt.c: New file.
15489 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
15490 (grub_crypto_ecb_encrypt): Make input const.
15491 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
15492 (grub_crypto_ecb_encrypt): Make input const.
15493 (GRUB_CIPHER_AES): New macro.
15494 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
15495 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
15496 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
15497 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
15498 prefix. All users updated.
15499 (grub_zfs_add_key): New proto.
15500 (grub_zfs_decrypt): Likewise.
15501 (grub_zfs_load_key): Likewise.
15502 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
15503 * util/grub-fstest.c (options): Add -K option.
15504 (argp_parser): Likewise.
15505
b632b404
VS
155062011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15507
15508 Support zle compression on ZFS.
15509
15510 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
15511 (decomp_table): Add zle.
15512 * include/grub/zfs/zio.h (zio_compress): Add zle.
15513
c7ba4f69
VS
155142011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 Support BtrFS embedding.
15517
15518 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
15519 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
15520 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
15521 * util/grub-setup.c (setup): Use fs embedding if available.
15522 Add additional sanity check.
15523
455377d9
VS
155242011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15525
15526 * util/grub-install.in: Fix condition for config_opt.
15527
c2fd16ca
VS
155282011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15529
15530 Support third redundancy strip on raidz3.
15531
15532 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
15533 Return error on singularity. All users updated.
15534 (read_device): Don't stop on 3rd failure on raidz3.
15535
8622923b
VS
155362011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15537
15538 Support case-insensitive ZFS subvolumes.
15539
15540 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
15541 All users updated.
15542 (zap_hash): Likewise.
15543 (name_cmp): New function.
15544 (zap_leaf_array_equal): New parameter case_insensitive.
15545 All users updated.
15546 (zap_leaf_lookup): Likewise.
15547 (fzap_lookup): Likewise.
15548 (zap_lookup): Likewise.
15549 (dnode_get_path): New parameter case_insensitive. Retrieve case
15550 sensitiviness of a volume. All users updated.
15551 (dnode_get_fullpath): New parameter case_insensitive.
15552 All users updated.
15553 (grub_zfs_dir): Set info.case_insensitiveness.
15554
95f2e860
VS
155552011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15556
15557 Support second redundancy strip on raidz(2,3).
15558
15559 * grub-core/fs/zfs/zfs.c (powx): New array.
15560 (powx_inv): Likewise.
15561 (poly): New const.
15562 (xor_out): New function.
15563 (gf_mul): Likewise.
15564 (recovery): Likewise.
15565 (read_device): Use second redundancy strip.
15566
11ee4389
VS
155672011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 Use a power of generator representation of GF(256) multiplication group
15570 to save space time and complexity.
15571
15572 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
15573 (raid6_table2): Likewise.
15574 (powx): New array.
15575 (powx_inv): Likewise.
15576 (poly): New const.
15577 (grub_raid_block_mul): Replace with ...
15578 (grub_raid_block_mulx): ...this.
15579 (grub_raid6_init_table): Rewritten.
15580 (grub_raid6_recover): Use power of generator representation.
15581
09e2763f
VS
155822011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15583
15584 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
15585 for the right device.
15586
8bec9a28
VS
155872011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15588
15589 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
15590 expected by grub-mkimage and it's more clear since there is no implicit
15591 padding.
15592
dbd3a32e
VS
155932011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15594
15595 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
15596 disk.
15597 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15598
182c872a
PMH
155992011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
15600
15601 * util/grub-mkrescue.in: Fix handling xorriso option.
15602
1e51cabd
VS
156032011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15604
15605 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
15606 NULL.
15607
9cc3581d 156082011-11-03 crocket <crockabiscuit@gmail.com>
15609
15610 * util/grub.d/10_linux.in: Add Slackware initrd naming.
15611
158dc1ea
VS
156122011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15613
15614 XZ CRC64 and SHA256 support.
15615
15616 * Makefile.util.def (libgrubmods): Add crc64.c.
15617 * grub-core/Makefile.core.def (crc64): New module.
15618 * grub-core/lib/crc64.c: New file.
15619 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
15620 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
15621 Fix the type.
15622 (MAX_HASH_SIZE): New define.
15623 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
15624 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
15625 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15626 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15627 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
15628 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
15629 Handle non-crc32 hashes.
15630 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
15631 (dec_stream_header): Handle non-crc32 hashes.
15632 (dec_stream_footer): Likewise.
15633 (dec_block_header): Likewise.
15634 (dec_main): Likewise.
15635 (xz_dec_init): Likewise.
15636 (xz_dec_reset): Likewise.
15637 (xz_dec_end): Likewise.
15638 * util/import_gcry.py: Add CRC64 line.
15639
9d9b3d2f
VS
156402011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
15643 as well.
15644
7d0ac931
VS
156452011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 Make reiserfs label retrieval similar to other *_label functions.
15648
15649 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
15650 (REISERFS_MAX_LABEL_LENGTH): Removed.
15651 (REISERFS_LABEL_OFFSET): Likewise.
15652 (grub_reiserfs_label): Rewritten.
15653
156542011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
15657 field.
15658
cf5ba824
VS
156592011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15660
15661 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
15662
17744004
VS
156632011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15664
15665 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
15666 drive failure on both raidz and raidz2.
15667
aca5aefc
VS
156682011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15669
15670 Fix RAIDZ(2) for >= 5 devices.
15671
15672 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15673 asize argument. All users updated.
15674
ce8ca56e
VS
156752011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 Fix RAIDZ(2).
15678
15679 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15680 (fill_vdev_info_real): Set ashift.
15681 (read_device): Rewrite RAIDZ part based on reverse engineering.
15682
7c01e783
VS
156832011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15684
15685 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15686 don't report potentially unavialiable fields in debug output.
15687 (find_path): Fix double-free and memory leak.
15688
ce109e84
VS
156892011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15690
15691 Read label on UFS1.
15692
15693 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15694 (grub_ufs_fs): Always set .label.
15695
87661123
VS
156962011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15697
15698 Use shifts in UFS.
15699
15700 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15701 (grub_ufs_data): New field log2_blksz.
15702 (grub_ufs_read_file): Use shifts.
15703 (grub_ufs_mount): Check block size and logarithm it.
15704
46bc1dc2
VS
157052011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15706
15707 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15708 long symlinks.
15709
19ee2987
VS
157102011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15711
15712 Handle symlinks and long names on tar and cpio.
15713
15714 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15715 (ATTR_FILE): Likewise.
15716 (ATTR_DIR): Likewise.
15717 (ATTR_LNK): Likewise.
15718 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15719 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15720 L and K entries.
15721 (grub_cpio_mount): Zero-fill data.
15722 (handle_symlink): New function.
46bc1dc2
VS
15723 (grub_cpio_dir): Handle symlinks.
15724 (grub_cpio_open): Likewise.
15725 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 15726
c83a08d8
VS
157272011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 Fix iso9660 filename limitations and fix memory leaks.
15730
15731 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15732 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15733
45cdd3ea
VS
157342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 Fix JFS file name length limitations.
15737
15738 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15739 (grub_jfs_diropen): Fix maximum filename length.
15740 (grub_jfs_getent): Fix filename length.
15741 (grub_jfs_lookup_symlink): Fix size checks.
15742
94ef05c2
VS
157432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15746 string.
15747
785ab8c7
VS
157482011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15749
eb0b6b45
VS
15750 Leverage BFS implementation to read AFS.
15751
15752 * Makefile.util.def (libgrubmods): Add afs.c.
15753 * grub-core/Makefile.core.def (afs): New module
15754 * grub-core/fs/afs.c: New file.
15755 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15756
157572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15758
15759 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 15760
c4a1628f
VS
157612011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15762
15763 * grub-core/fs/bfs.c: Run indent.
15764
5825b379
VS
157652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15766
15767 BFS implementation based on the specification.
15768
15769 * grub-core/fs/bfs.c: New file.
15770 * Makefile.util.def (libgrubmods): Add bfs.c.
15771 * grub-core/Makefile.core.def (bfs): New module.
15772
42b2a706
VS
157732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15774
15775 * util/grub-fstest.c (cmd_cp): Clarify error message.
15776 (cmd_cmp): Likewise.
15777
61b99bfc
YB
157782011-10-30 Yves Blusseau <blusseau@zetam.org>
15779
15780 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15781 and befs_be.
15782
faba3d16
VS
157832011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15784
15785 Remove afs and befs because of copyright problem.
15786
15787 * grub-core/fs/afs.c: Removed.
15788 * grub-core/fs/afs_be.c: Removed.
15789 * grub-core/fs/befs.c: Removed.
15790 * grub-core/fs/befs_be.c: Removed.
15791 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15792 * grub-core/Makefile.core.def (afs): Removed.
15793 (afs_be): Likewise.
15794 (befs): Likewise.
15795 (befs_be): Likewise.
15796
c39224b0
VS
157972011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15798
15799 Prefer rockridge over Joliet.
15800
15801 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
15802 to ...
15803 (set_rockridge): ... here.
15804 (grub_iso9660_mount): Check rockridge on the primary label when
15805 discovering. Ignore Joliet if Rockridge is present.
15806
e551115a
VS
158072011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15808
15809 Use shifts in nilfs2.
15810
15811 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
15812 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15813 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15814 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15815 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15816 (grub_nilfs2_entries_per_block): Replaced with ...
15817 (grub_nilfs2_log_entries_per_block_log): ... this.
15818 (grub_nilfs2_blocks_per_group): Replaced with ...
15819 (grub_nilfs2_blocks_per_group_log): ... this.
15820 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15821 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15822 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15823 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15824 (grub_nilfs2_palloc_entry_offset): Replaced ...
15825 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15826 (grub_nilfs2_dat_translate): Use shifts.
15827 (grub_nilfs2_read_inode): Likewise.
15828 (GRUB_MOD_INIT): Ensure that logs are correct.
15829
564dd58c
VS
158302011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 Use shifts in minix filesystem.
15833
15834 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
15835 (GRUB_MINIX_ZONE2SECT): Likewise.
15836 (grub_minix_data): Replace block_size with log_block_size.
15837 (grub_minix_read_file): Use shifts.
15838 (grub_minix_mount): Check block size and take a logarithm.
15839
ed9ba06d
VS
158402011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 Use shifts in squash4.
15843
15844 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15845 (squash_mount): Check block size and take logarithm.
15846 (direct_read): Use shifts.
15847
ad03fe76
VS
158482011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15849
15850 Correct befs block counting logic.
15851
15852 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15853 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15854 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15855 (grub_afs_read_inode): Use block_shift.
15856 (RANGE_SHIFT): New definition.
15857 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15858 unexpected conditions, use shifts and appropriate types.
15859 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15860
6563f63d
VS
158612011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15862
15863 * grub-core/disk/raid.c (scan_devices): Check partition.
15864 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15865
5b1ae25f
VS
158662011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15867
15868 Support BFS (befs) UUID.
15869
15870 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15871 (grub_afs_small_data_element_header): New struct.
15872 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15873 (grub_afs_read_attribute) [MODE_BFS]: New function.
15874 (grub_afs_iterate_dir): Allocate for complete inode.
15875 (grub_afs_mount): Likewise.
15876 (grub_afs_uuid) [MODE_BFS]: New function.
15877 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15878
f8d82408
VS
158792011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15882 (zfs_unmount): Fix memory leak.
15883
5773fb64
VS
158842011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 Support NTFS reparse points.
15887
15888 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15889 (symlink_descriptor): New struct.
15890 (grub_ntfs_read_symlink): New function.
15891 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15892 (grub_ntfs_open): Likewise.
15893
91c3fdde
VS
158942011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15895
15896 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15897
3be82e10
VS
158982011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15899
15900 fstest xnu_uuid subcommand.
15901
15902 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15903 grub-core/commands/xnu_uuid.c.
15904 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15905 (fstest): Handle xnu_uuid.
15906 (options): Document xnu_uuid.
15907 (argp_parser): Parse xnu_uuid.
15908
8e32442e
VS
159092011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15910
15911 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15912 -l argument. Add newline at the end if printing.
15913 (GRUB_MOD_INIT): Document -l.
15914
52a05075
VS
159152011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15916
15917 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15918
1869edb5
VS
159192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15920
15921 ZFS multi-device and version 33 support.
15922
15923 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15924 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15925 (grub_zfs_data): Add multidev-ice-related fields.
15926 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15927 (dva_get_offset): Make dva const.
15928 (zfs_fetch_nvlist): New function.
15929 (fill_vdev_info_real): Likewise.
15930 (fill_vdev_info): Likewise.
15931 (check_pool_label): Likewise.
15932 (scan_disk): Likewise.
15933 (scan_devices): Likewise.
15934 (read_device): Likewise.
15935 (read_dva): Likewise.
15936 (zio_read_gang): Use read_dva.
15937 (zio_read_data): Likewise.
15938 (zap_leaf_lookup): Add missing endian conversion.
15939 (zap_verify): Add missing endian conversion. All users updated.
15940 (fzap_lookup): Likewise.
15941 (fzap_iterate): Likewise.
15942 (dnode_get_path): Handle SA bonus.
15943 (nvlist_find_value): Make input const. All users updated.
15944 (unmount_device): New function.
15945 (zfs_unmount): Use unmount_device.
15946 (zfs_mount): Use scan_disk.
15947 (zfs_mtime): New function.
15948 (grub_zfs_open): Handle system attributes.
15949 (fill_fs_info): Likewise.
15950 (grub_zfs_dir): Likewise.
15951 (grub_zfs_fs): Add mtime.
15952 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15953 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15954 (SA_MTIME_OFFSET): Likewise.
15955 (SA_SYMLINK_OFFSET): Likewise.
15956 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15957 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15958 (fstest): Support zfsinfo.
15959 (argp_parser): Likewise.
15960
186b4028
VS
159612011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15962
15963 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15964 error.
15965
159662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
15967
15968 ZFS fixes.
15969
15970 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15971 sharing the same block. Iterate over correct number of indices.
15972 (dnode_get_path): Handle symlinks correctly.
15973
c0584900
VS
159742011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15975
15976 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15977
67e2bd71
VS
159782011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15979
15980 Read label on HFS+.
15981
15982 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15983 (grub_hfsplus_btree_search): Fix types.
15984 (grub_hfsplus_label): Implement.
15985
e9cc6b7b
VS
159862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15987
15988 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15989
19832ddb
VS
159902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15993
66b40850
VS
159942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15995
15996 Fix symlink handling on iso9660.
15997
15998 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15999 All users updated.
16000 (grub_iso9660_susp_iterate): Accept zero-size iterate.
16001 (grub_iso9660_read_symlink): Moved most of code ...
16002 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
16003
db821363
VS
160042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16005
16006 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16007 Use union to avoid breaking strict-aliasing rules.
16008
e1211949
VS
160092011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16010
16011 Support multi-extent iso files.
16012
16013 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
16014 Add node.
16015 (grub_fshelp_node): Revamp. All users updated.
16016 (FLAG_*): New enum.
16017 (read_node): New function.
16018 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
16019 All users updated.
16020 (grub_iso9660_mount): Don't attempt to read sua when there is none.
16021 (get_node_size): New function.
16022 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
16023 entries.
16024 Fix memory leak on . and ..
16025 (grub_iso9660_read): Use read_node.
16026 (grub_iso9660_close): Free node.
16027
d4888031
VS
160282011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16029
16030 Fix tar 4G limit and handle paths containing dot.
16031
16032 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
16033 (canonicalize): New function.
16034 (grub_cpio_find_file): Use canonicalize. Store offs in
16035 grub_disk_addr_t.
16036 (grub_cpio_dir): Use grub_disk_addr_t.
16037 (grub_cpio_open): Likewise.
16038
9f12e664
VS
160392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16040
16041 Fix handling of uncompressed blocks on squashfs and break 4G limit.
16042
16043 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
16044 unused flags.
16045 (grub_squash_inode): Add long_file and block_size.
16046 (grub_squash_cache_inode): New struct.
16047 (grub_squash_dirent): Make types into enum.
16048 (SQUASH_TYPE_LONG_REGULAR): New type.
16049 (grub_squash_frag_desc): Add field size.
16050 (SQUASH_BLOCK_FLAGS): New enum.
16051 (grub_squash_data): Use grub_squash_cache_inode.
16052 (grub_fshelp_node): Make ino_chunk 64-bit.
16053 (read_chunk): Minor argument change. All users updated.
16054 (squash_mount): Use correct le_to_cpu.
16055 (grub_squash_open): Handle LONG_REGULAR.
16056 (direct_read): New function.
16057 (grub_squash_read_data): Handle blocks correctly.
16058
9f326fba
VS
160592011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
16062
f4d9b64b
VS
160632011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16064
16065 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
16066
5bbd28b8
VS
160672011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16068
16069 Fix 2G limit on ZFS.
16070
16071 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
16072 types.
16073 (uberblock_verify): Likewise.
16074 (dmu_read): Likewise.
16075 (grub_zfs_read): Likewise. Remove invalid cast.
16076
68c72069
VS
160772011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16078
16079 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
16080 (grub_jfs_blkno): Fix incorrect shift.
16081 (grub_jfs_read_file): Use more appropriate types.
16082
6e536dc8
VS
160832011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16084
16085 Support triple indirect on minix2 and minix3.
16086
16087 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
16088 Declare triple_indir_zone.
16089 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
16090 indirect.
16091
e0864e7a
VS
160922011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16093
16094 Minix FS fixes.
16095
16096 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
16097 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
16098 Rename ctime to mtime. All users updated.
16099 (grub_minix_get_file_block): Fix types and double indirect computations.
16100
89481cab
VS
161012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16102
16103 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
16104 if no label is found.
16105 (grub_fat_iterate_dir): Fix file size type.
16106 (grub_fat_iterate_dir): Likewise.
16107
f646e143
VS
161082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16109
16110 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
16111 save some space.
16112 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16113 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16114
534d769e
VS
161152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16116
16117 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
16118
e084ba18
VS
161192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16120
16121 * util/import_gcry.py: Accept space between # and include.
16122
3471ecdf
VS
161232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16124
16125 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
16126
124df5f6
VS
161272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16128
16129 Fine grainely disable warnings on lexer. Remove Wno-error on it.
16130
16131 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
16132 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
16133 yylex_strncpy.
16134 * grub-core/script/yylex.l: Add fine-grained #pragma.
16135
4defb8d5
VS
161362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16137
16138 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
16139 New inline function.
16140 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
16141 Likewise.
16142 (memset) [GRUB_UTIL]: Likewise.
16143 (memcmp) [GRUB_UTIL]: Likewise.
16144
4e94ae65
VS
161452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
16148 inline function rather than a define.
16149
18c575e5
VS
161502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 * util/grub-setup.c: Add missing include.
16153
f8bc22a8
VS
161542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * util/ieee1275/grub-ofpathname.c: Add missing include.
16157
3ce69fc9
VS
161582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
16161 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
16162 Likewise.
16163
d1e293bb
VS
161642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
16167 grub_memcmp usage.
16168
7a5c54a4
VS
161692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * util/grub-install.in: Add datarootdir as per automake manual
16172 suggestion.
16173 * util/grub-mknetdir.in: Likewise.
16174
161752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
16176
16177 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
16178 suggestion.
16179 * util/grub.d/10_kfreebsd.in: Likewise.
16180 * util/grub.d/10_linux.in: Likewise.
16181 * util/grub.d/10_netbsd.in: Likewise.
16182 * util/grub.d/10_windows.in: Likewise.
16183 * util/grub.d/20_linux_xen.in: Likewise.
16184
766f7d08
VS
161852011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
16186
16187 Remove redundant grub_kernel_image_size.
16188
16189 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
16190 _edata and _start.
16191 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
16192 the small code. It moves it only by few bytes but simplifies the code.
16193 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
16194 _start.
16195 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
16196 (grub_kernel_image_size): Removed.
16197 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
16198 (grub_kernel_image_size): Removed.
16199 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
16200 compiled with Apple toolchain.
16201 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
16202 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
16203 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
16204 (grub_total_module_size): Likewise.
16205 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
16206 Removed.
16207 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
16208 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
16209 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16210 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
16211 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
16212 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
16213 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
16214 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
16215 Removed.
16216 (grub_total_module_size): Removed.
16217 * util/grub-mkimage.c (image_target_desc): Remove image_size.
16218 (image_targets): Likewise.
16219 Set .compressed_size to no field on sparc.
16220 (generate_image): Remove kernel_image_size handling.
16221
fcf1d672
SJ
162222011-10-19 Szymon Janc <szymon@janc.net.pl>
16223
16224 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
16225 NULL pointer dereference.
16226
de9c615e
VS
162272011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
16230 done with a dedicated section.
16231
16232 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
16233 Ensure the correct position of boot_path.
16234 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
16235 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
16236 other fields.
16237 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
16238 * include/grub/boot.h: Removed. All references removed.
16239 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16240 Removed.
16241 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
16242
e55599dc
VS
162432011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
16246 name.
16247
36dd20ad
VS
162482011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16249
16250 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
16251
f8f72eb8
VS
162522011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16255 Don't add the bogus brackets.
16256
a374751b
VS
162572011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16258
16259 ExFAT support.
16260
16261 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
16262 * grub-core/Makefile.core.def (exfat): New module.
16263 * grub-core/fs/exfat.c: New file.
16264 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
16265 (GRUB_FAT_ATTR_*): Make into an enum.
16266 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
16267 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
16268 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
16269 (GRUB_FAT_MAXFILE): Removed.
16270 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
16271 (grub_current_fat_bpb_t): New type.
16272 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
16273 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
16274 (grub_fat_dir_node_t): New type.
16275 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
16276 (fat_log2) [MODE_EXFAT]: Removed.
16277 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
16278 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
16279 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
16280 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
16281 (grub_fat_label) [MODE_EXFAT]: New function.
16282 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
16283 reserved_first_sector to 0.
16284
544c2487
VS
162852011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 Move grub_reboot out of the kernel.
16288
16289 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
16290 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
16291 * grub-core/lib/efi/reboot.c: ... here.
16292 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
16293 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16294 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
16295 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
16296 * grub-core/lib/i386/reboot_trampoline.S: ... here.
16297 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
16298 * grub-core/lib/ieee1275/reboot.c: ... here.
16299 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
16300 * grub-core/lib/mips/arc/reboot.c: ... here.
16301 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
16302 * grub-core/lib/mips/loongson/reboot.c: ...here.
16303 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
16304 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
16305 * include/grub/emu/misc.h (grub_reboot): New function declaration.
16306 * include/grub/i386/reboot.h: New file.
16307 * include/grub/mips/loongson/ec.h: Fix includes.
16308 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
16309 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
16310 * grub-core/lib/i386/reboot.c: New file.
16311
a97501d2
VS
163122011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
16313
16314 Make grub_prefix into module to fix the arbitrary limit and save
16315 some space.
16316
16317 * grub-core/kern/emu/main.c (grub_prefix): Removed.
16318 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
16319 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
16320 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
16321 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
16322 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
16323 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
16324 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
16325 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16326 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
16327 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
16328 * include/grub/ia64/efi/kernel.h: Removed.
16329 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
16330 (grub_prefix): Removed.
16331 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
16332 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
16333 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
16334 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
16335 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
16336 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
16337 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
16338 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
16339 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
16340 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
16341 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16342 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16343 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16344 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16345 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
16346 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
16347 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
16348 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16349 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
16350 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
16351 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
16352 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
16353 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
16354 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
16355 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
16356 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
16357 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
16358 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
16359 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
16360 from module.
16361 * util/grub-mkimage.c (image_target_desc): Removed prefix and
16362 prefix_end.
16363 (image_targets): Likewise.
16364 (generate_image): Put prefix as a module.
16365
39705fad
VS
163662011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16367
16368 Replace grub_module_iterate with FOR_MODULES.
16369
16370 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
16371 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
16372 (grub_efi_modules_addr): ...this.
16373 * grub-core/kern/efi/init.c (grub_modbase): New variable.
16374 (grub_efi_init): Set grub_modbase.
16375 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
16376 (grub_modbase): New variable.
16377 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
16378 (grub_modbase): New variable.
16379 (grub_machine_init): Set grub_modbase.
16380 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
16381 (grub_modbase): New variable.
16382 (grub_machine_init): Set grub_modbase.
16383 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
16384 (grub_modbase): New variable.
16385 (grub_machine_init): Set grub_modbase.
16386 * grub-core/kern/main.c (grub_module_iterate): Remove.
16387 (grub_modules_get_end): Use grub_modbase.
16388 (grub_load_modules): Use FOR_MODULES.
16389 (grub_load_config): Likewise.
16390 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
16391 (grub_modbase): New variable.
16392 (grub_machine_init): Set grub_modbase.
16393 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
16394 (grub_modbase): New variable.
16395 (grub_machine_init): Set grub_modbase.
16396 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
16397 Removed.
16398 (grub_modbase): New variable.
16399 (grub_machine_init): Set grub_modbase.
16400 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
16401 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
16402 (grub_module_iterate): Likewise.
16403 (grub_modbase): New variable declaration.
16404 (FOR_MODULES): New macro.
16405
2afb7f6c
VS
164062011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16407
16408 * configure.ac: Check for __ctzdi2 and __ctzsi2.
16409 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
16410
366e34fa
VS
164112011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 Fix few obvious type discrepancies.
16414
16415 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
16416 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
16417 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
16418 variable.
16419 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
16420 and connected types.
16421 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
16422 offset.
16423 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
16424 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
16425 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
16426 and connected types.
16427
177b960e
VS
164282011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16429
16430 Fix python 3.x incompatibilities.
16431
16432 * gentpl.py: Put brackets around print strings.
16433 * util/import_gcry.py: Open explicitly as utf-8.
16434 Use in instead of has_key.
16435
3b619ae1
VS
164362011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
16439 (GRUB_XFS_INO_AGBITS): Make into inline function.
16440 (GRUB_XFS_INO_INOINAG): Likewise.
16441 (GRUB_XFS_INO_AG): Likewise.
16442 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
16443 (GRUB_XFS_EXTENT_OFFSET): Likewise.
16444 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16445 (GRUB_XFS_EXTENT_SIZE): Likewise.
16446 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
16447 (GRUB_XFS_NEXT_DIRENT): Likewise.
16448 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
16449 (grub_xfs_read_file): Fix offset type.
16450
8bcebcb8
RM
164512011-10-15 Robert Millan <rmh@gnu.org>
16452
16453 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
16454
0017e5ef
RM
164552011-10-15 Robert Millan <rmh@gnu.org>
16456
16457 Fix build problem on FreeBSD and GNU/kFreeBSD.
16458
16459 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
16460
d8919552
VS
164612011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16462
16463 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
16464
16465 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
16466 types.
16467 (grub_hfsplus_btree_recoffset): Likewise.
16468 (grub_hfsplus_btree_recptr): Likewise.
16469 (grub_hfsplus_find_block): Likewise.
16470 (grub_hfsplus_btree_search): Likewise.
16471 (grub_hfsplus_read_block): Likewise.
16472 (grub_hfsplus_read_file): Likewise.
16473 (grub_hfsplus_mount): Likewise.
16474 (grub_hfsplus_btree_iterate_node): Likewise.
16475 (grub_hfsplus_btree_search): Likewise.
16476 (grub_hfsplus_iterate_dir): Likewise.
16477 (grub_hfsplus_read): A small code simplification.
16478
c81296b6
VS
164792011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16480
16481 * grub-core/kern/emu/hostdisk.c
16482 (convert_system_partition_to_system_disk): Don't assume that children
16483 of mapper nodes are mapper nodes.
16484
0eb8ffb1
VS
164852011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
16488 * include/grub/misc.h (grub_isxdigit): New function.
16489 * grub-core/video/colors.c (my_isxdigit): Removed. All users
16490 switched to grub_isxdigit.
16491 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
16492 number starting with a letter.
16493
a98f4a08
RM
164942011-10-09 Robert Millan <rmh@gnu.org>
16495
16496 LVM support for FreeBSD and GNU/kFreeBSD.
16497
16498 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
16499 GNU/kFreeBSD.
16500 (LVM_DEV_MAPPER_STRING): Move from here ...
16501 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
16502 * util/getroot.c: Include `<grub/util/lvm.h>'.
16503 (grub_util_get_dev_abstraction): Enable
16504 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
16505 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
16506 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
16507 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
16508 support it.
16509 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
16510 GNU/kFreeBSD.
16511 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
16512 when LVM abstraction is required for ${GRUB_DEVICE}.
16513
050e8e90
SJ
165142011-10-06 Szymon Janc <szymon@janc.net.pl>
16515
16516 Add support for LZO compression in GRUB:
16517 - import of minilzo library,
16518 - LZO decompression for btrfs,
16519 - lzop files decompression.
16520
16521 * grub-core/io/lzopio.c: New file.
16522 * grub-core/lib/adler32.c: Likewise.
16523 * grub-core/lib/minilzo/lzoconf.h: Likewise.
16524 * grub-core/lib/minilzo/lzodefs.h: Likewise.
16525 * grub-core/lib/minilzo/minilzo.c: Likewise.
16526 * grub-core/lib/minilzo/minilzo.h: Likewise.
16527 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
16528 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
16529 grub-core/lib/minilzo/minilzo.c to common.
16530 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
16531 cflags in cppflags.
16532 * grub-core/Makefile.core.def (btrfs): Likewise.
16533 * grub-core/Makefile.core.def (lzopio): New module.
16534 (adler32): Likewise.
16535 * grub-core/fs/btrfs.c: Include minilzo.h.
16536 (GRUB_BTRFS_COMPRESSION_LZO): New define.
16537 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
16538 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
16539 (grub_btrfs_lzo_decompress): New function.
16540 (grub_btrfs_extent_read): Add support for LZO compression type.
16541 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
16542 (GRUB_USHRT_MAX): Likewise.
16543 (GRUB_UINT_MAX): Likewise.
16544 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
16545 (UINT_MAX): Likewise.
16546 (CHAR_BIT): Likewise.
16547 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
16548 grub-core/lib/posix_wrap/limits.h
16549 (UCHAR_MAX): Likewise.
16550 * include/grub/file.h (grub_file_filter_id): New compression filter
16551 GRUB_FILE_FILTER_LZOPIO.
16552 * include/grub/file.h (grub_file_filter_id): Set
16553 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
16554 * include/grub/types.h (grub_get_unaligned16): New function.
16555 (grub_get_unaligned32): Likewise.
16556 (grub_get_unaligned64): Likewise.
16557 * util/import_gcry.py (cryptolist): Add adler32.
16558
0eb8ffb1
VS
165592011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
16560
16561 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
16562 in perspective decreases the complexity of build system and fixes
16563 compilation right now.
16564
ce79cc99 165652011-10-01 Ales Nesrsta <starous@volny.cz>
16566
16567 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
16568 (fixed problem related to using UHCI with coreboot).
16569
8667a314
BC
165702011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16571
16572 * gentpl.py: Use Autogen macros so that the output template file
16573 (Makefile.tpl) size is reduced.
16574
fc5efcc0
MK
165752011-09-29 Mads Kiilerich <mads@kiilerich.com>
16576
16577 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
16578 extra_dist.
16579
d1ab689d
ML
165802011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16581
16582 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
16583 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
16584
c05de032
ML
165852011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16586
16587 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
16588 _fullpath.
16589
cca7ccd8
ML
165902011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16591
16592 Remove extra declaration of sleep for mingw32.
16593
16594 * util/misc.c (sleep) [__MINGW32__]: Removed.
16595 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
16596
e0b0dc83
GS
165972011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
16598
16599 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
16600 type and packname.
16601 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
16602 Resurrected.
16603 (NETBSD_BTINFO_BOOTWEDGE): New definition.
16604 (grub_netbsd_btinfo_bootwedge): New struct.
16605 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16606 New function.
16607 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
16608
91a1a164
TH
166092011-09-28 Thomas Haller <thomas.haller@fen-net.de>
16610
16611 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
16612 loader.
16613
2ded951e
AB
166142011-09-28 Andreas Born <futur.andy@googlemail.com>
16615
16616 Fix incorrect identifiers in bash-completion.
16617
16618 * util/bash-completion.d/grub-completion.bash.in
16619 (_grub_mkpasswd-pbkdf2): Rename to ...
16620 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
16621 (_grub_script-check): Rename to ...
16622 (_grub_script_check): ... this. All users updated.
16623
69915030
VS
166242011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
16625
16626 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
16627 Return 0 if disk isn't biosdisk.
16628
20fd15f9
GS
166292011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16630
16631 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
16632 on NetBSD.
16633 * Makefile.util.def (grub-fstest): Likewise.
16634
1a7d7db9
GS
166352011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16636
16637 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
16638 Get sector size from disk label.
16639
2221ab6c
CW
166402011-09-05 Colin Watson <cjwatson@ubuntu.com>
16641
16642 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
16643 */README* as well as README*.
16644 Reported by: Axel Beckert.
16645
ca51c4a0
VS
166462011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16647
16648 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
16649 case of less than 256 MiB of RAM.
16650
ab80f326
VS
166512011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16652
16653 * grub-core/commands/wildcard.c (make_regex): Handle @.
16654
4155e697
VS
166552011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16656
16657 * util/grub-install.in: Move cryptodisk logic to appropriate place.
16658
ab178c08
SJ
166592011-08-21 Szymon Janc <szymon@janc.net.pl>
16660
16661 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
16662 AC_LANG_CONFTEST macros.
16663
7dc3c686
SJ
166642011-08-20 Szymon Janc <szymon@janc.net.pl>
16665
16666 Add grub-fstest option to uncompress data for commands.
16667
16668 * util/grub-fstest.c (uncompress): New var.
16669 (options): New option -u.
16670
fe8d4a7b
SJ
166712011-08-20 Szymon Janc <szymon@janc.net.pl>
16672
16673 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16674 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16675
a5219af1
SJ
166762011-08-20 Szymon Janc <szymon@janc.net.pl>
16677
16678 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16679 file type was not recognized correctly (not gzip or corrupted).
16680
f87abff5
VS
166812011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16682
16683 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16684 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16685
d94497ea
VS
166862011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16687
16688 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16689 loongson.
16690 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16691 video_radeon_fuloong2e.
16692 * grub-core/video/radeon_fuloong2e.c: New file.
16693 * include/grub/video.h (grub_video_id_t): Add new ID
16694 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16695
0d1fd011
VS
166962011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16697
16698 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16699 define.
16700 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16701 that PRID matches the detected subplatform and reset the subplatform
16702 if it doesn't.
16703
84beb0ee
VS
167042011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16705
16706 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16707
1227c133
VS
167082011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 Fix PCI iterating on functions >= 4.
16711
16712 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16713 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16714 Removed.
16715 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16716 (grub_pci_read): Fix bitmask.
16717 (grub_pci_read_word): Likewise.
16718 (grub_pci_read_byte): Likewise.
16719 (grub_pci_write): Likewise.
16720 (grub_pci_write_word): Likewise.
16721 (grub_pci_write_byte): Likewise.
16722
9594c689
VS
167232011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16724
16725 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16726 can still be specified in TARGET_CFLAGS)
16727
14a2562c
VS
167282011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16729
16730 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16731
16732 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16733 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16734 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16735 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16736 (FULOONG): Rename to ...
16737 (FULOONG2F): ... this. All users updated.
16738 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16739 (machtype_fuloong2f_str): ... this.
16740 (machtype_fuloong2e_str): New string.
16741 Check for machtype_fuloong2e_str.
16742 * grub-core/loader/mips/linux.c (loongson_machtypes)
16743 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16744 * grub-core/term/serial.c (loongson_defserial)
16745 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16746 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16747 loongson_defserial.
16748 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16749 Rename to ...
16750 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16751 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16752 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16753 to IMAGE_FULOONG2F_FLASH. All users updated.
16754 (image_targets): Rename images.
16755 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16756
b526cbb6
SJ
167572011-08-19 Szymon Janc <szymon@janc.net.pl>
16758
16759 Make enable of disk cache statistics code configurable.
16760
16761 * configure.ac: --enable-cache-stats added.
16762 * config.h.in (DISK_CACHE_STATS): New define.
16763 * grub-core/Makefile.core.def (cacheinfo): New command.
16764 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16765 * grub-core/commands/cacheinfo.c: New file.
16766 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16767 moved to cacheinfo.c.
16768 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16769 debug code.
16770 * include/grub/disk.h: Likewise.
16771
fb739ccd
SJ
167722011-08-19 Szymon Janc <szymon@janc.net.pl>
16773
16774 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16775 * grub-core/Makefile.am: Likewise.
16776
2bba8cfd
VS
167772011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16778
16779 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16780 non-zero pull.
16781
43526629
VS
167822011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16785 All users updated.
16786 (grub_jfs_lookup_symlink): Use correct starting inode.
16787
5c144cc8
VS
167882011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16789
16790 * util/grub-setup.c (main): Add missing gcry initialisation.
16791
b1257f65
VS
167922011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16793
16794 Don't accept text modes on EFI when booting Linux.
16795
16796 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16797 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16798
828bc390
ML
167992011-08-15 Mario Limonciello <mario_limonciello@dell.com>
168002011-08-15 Colin Watson <cjwatson@ubuntu.com>
16801
16802 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
16803 use of "/path/.." as in grub-install for EFI as well as handling
16804 symlinks correctly.
16805 Fixes Debian bug #637768.
16806
5f60ccac
CW
168072011-08-15 Colin Watson <cjwatson@ubuntu.com>
16808
16809 * util/grub-probe.c: Remove duplicate #include.
16810
6dc212f9
RM
168112011-08-10 Robert Millan <rmh@gnu.org>
16812
16813 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16814
16815 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16816 function.
16817 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16818 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16819
66816d85
RM
168202011-08-03 Robert Millan <rmh@gnu.org>
16821
16822 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16823 la_array as packed.
16824 Reported by: Zachary Bedell
16825
20168fca
CW
168262011-07-26 Colin Watson <cjwatson@ubuntu.com>
16827
16828 * configure.ac: The Loongson port requires grub-mkfont due to its
16829 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
16830 be built.
16831
303b6246
CW
168322011-07-26 Colin Watson <cjwatson@ubuntu.com>
16833
16834 * util/grub-install.in: Don't source grub-mkconfig_lib until after
16835 processing arguments (otherwise help2man fails when GRUB has not yet
16836 been installed).
16837
6795300e
VS
168382011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16839
41aa28ea
VS
16840 New script grub-mkstandalone.
16841
16842 * Makefile.util.def (grub-mkstandalone): New script.
16843 * docs/man/grub-mkstandalone.h2m: New file.
16844 * util/grub-mkstandalone.in: Likewise.
16845
168462011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16847
16848 Support ATA disks with 4K sectors.
6795300e
VS
16849
16850 * include/grub/ata.h (grub_ata): New member log_sector_size.
16851 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16852 (grub_ata_identify): Read sector size.
16853 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16854
92227597
VS
168552011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16856
16857 * util/grub-install.in: Don't use uhci outside of x86.
16858
c77069f5
VS
168592011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16860
16861 * util/grub-mkrescue.in: Add missing quotes.
16862
168632011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
16864
16865 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16866 dereference.
16867
583168a2
VS
168682011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16869
16870 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16871
6be1c01f
VS
168722011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16873
16874 * include/grub/video.h: add missing EXPORT_FUND on
16875 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16876
a1167439
VS
168772011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16878
16879 * include/grub/mips/kernel.h: Fix define conflict.
16880
bf66054f
VS
168812011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16882
16883 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16884 all four ways.
16885
8fc4fa45
CW
168862011-07-21 Colin Watson <cjwatson@ubuntu.com>
16887
16888 Preferred resolution detection for VBE.
16889
16890 * grub-core/video/video.c (grub_video_edid_checksum): New function.
16891 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16892 the Flat Panel extension, in line with the X.org VESA driver.
16893 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16894 New function.
16895 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16896 (grub_vbe_bios_read_edid): Likewise.
16897 (grub_vbe_get_preferred_mode): Likewise.
16898 (grub_video_vbe_setup): When the mode is "auto", try to get the
16899 preferred mode from VBE, and use the largest mode that is no larger
16900 than the preferred mode (some BIOSes expose a preferred mode that is
16901 not in their mode list!). If this fails, fall back to 640x480 as a
16902 safe conservative choice.
16903 (grub_video_vbe_get_edid): New function.
16904 (grub_video_vbe_adapter): Add get_edid.
16905 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16906 (struct grub_video_adapter): Add get_edid.
16907 (grub_video_edid_checksum): Add prototype.
16908 (grub_video_edid_preferred_mode): Likewise.
16909 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16910 structure.
16911
16912 * grub-core/commands/videoinfo.c (print_edid): New function.
16913 (grub_cmd_videoinfo): Print EDID if available.
16914
16915 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16916 is more appropriate on a wider range of platforms than 640x480.
16917 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16918 documentation.
16919
ca5572a9
VS
169202011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16921
16922 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16923
e4bcf625
VS
169242011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16925
16926 * po/POTFILES.in: Regenerate.
16927
c4edd548
VS
169282011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16931 incorrect memory usage.
16932
16a2bab0
VS
169332011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16934
16935 * util/grub-install.in: Source grub-mkconfig_lib.
16936
2e418de6
VS
169372011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16938
16939 Remove getroot.c from core on emu platform.
16940
16941 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16942 kern/emu/raid.c.
16943 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16944 useless.
16945 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16946 * util/getroot.c (get_win32_path): ... here.
16947 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16948 * util/getroot.c (fini_libzfs): ... here.
16949 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16950 * util/getroot.c (grub_get_libzfs_handle): ... here.
16951 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16952 Moved from here...
16953 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16954 * grub-core/kern/emu/misc.c
16955 (grub_make_system_path_relative_to_its_root): Moved from here...
16956 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16957 * grub-core/kern/emu/getroot.c: Moved from here ...
16958 * util/getroot.c: ... here. All users updated.
16959 * grub-core/kern/emu/raid.c: Moved from here ...
16960 * util/raid.c: ... here. All users updated.
16961
def9832a
VS
169622011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16963
16964 * po/POTFILES.in: Regenerate.
16965
cd8fe79a
VS
169662011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16967
16968 Fix compilation on GNU/Linux.
16969
16970 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16971 Disable geli.
16972 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16973 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16974 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16975
a251b719
VS
169762011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
169772011-07-07 Michael Gorven <michael@gorven.za.net>
169782011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16979
16980 LUKS and GELI support.
16981
16982 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16983 grub-core/disk/luks.c, grub-core/disk/geli.c,
16984 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16985 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16986 grub-core/lib/arg.c.
16987 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16988 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16989 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16990 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16991 (grub-bin2h): Add libgcry.a.
16992 (grub-mkimage): Likewise.
16993 (grub-mkrelpath): Likewise.
16994 (grub-script-check): Likewise.
16995 (grub-editenv): Likewise.
16996 (grub-mkpasswd-pbkdf2): Likewise.
16997 (grub-pe2elf): Likewise.
16998 (grub-fstest): Likewise.
16999 (grub-mkfont): Likewise.
17000 (grub-mkdevicemap): Likewise.
17001 (grub-probe): Likewise.
17002 (grub-ofpath): Likewise.
17003 (grub-mklayout): Likewise.
17004 (example_unit_test): Likewise.
17005 (grub-menulst2cfg): Likewise.
17006 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
17007 * grub-core/Makefile.core.def (cryptodisk): New module.
17008 (luks): Likewise.
17009 (geli): Likewise.
17010 * grub-core/disk/AFSplitter.c: New file.
17011 * grub-core/disk/cryptodisk.c: Likewise.
17012 * grub-core/disk/geli.c: Likewise.
17013 * grub-core/disk/luks.c: Likewise.
17014 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
17015 grub_util_is_lvm.
17016 (grub_util_get_dm_abstraction): New function.
17017 (grub_util_follow_gpart_up): Likewise.
17018 (grub_util_get_geom_abstraction): Likewise.
17019 (grub_util_get_dev_abstraction): Use new functions.
17020 (grub_util_pull_device): Pull GELI and LUKS.
17021 (grub_util_get_grub_dev): Handle LUKS and GELI.
17022 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
17023 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
17024 (follow_geom_up): Removed.
17025 (grub_util_fd_seek): New function.
17026 (open_device): Use grub_util_fd_seek.
17027 (nread): Rename to ..
17028 (grub_util_fd_read): ... this. All users updated.
17029 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
17030 (grub_crypto_cbc_decrypt): Likewise.
17031 (grub_crypto_hmac_write): Likewise.
17032 (grub_crypto_hmac_buffer): Likewise.
17033 (grub_password_get): Extend to util.
17034 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
17035 New member modname.
17036 (gcry_md_spec) [GRUB_UTIL]: Likewise.
17037 * include/grub/cryptodisk.h: New file.
17038 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
17039 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
17040 LUKS and GELI.
17041 (grub_util_follow_gpart_up): New proto.
17042 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
17043 (grub_util_fd_read): Likewise.
17044 (grub_cryptodisk_cheat_mount): Likewise.
17045 (grub_util_cryptodisk_print_uuid): Likewise.
17046 (grub_util_get_fd_sectors): Likewise.
17047 * util/grub-fstest.c (mount_crypt): New var.
17048 (fstest): Mount crypto if requested.
17049 (options): New option -C.
17050 (argp_parser): Parse -C.
17051 (main): Init and fini gcry.
17052 * util/grub-install.in: Support cryptodisk install.
17053 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
17054 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
17055 cryptodisk.
17056 (prepare_grub_to_access_device): Likewise.
17057 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
17058 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
17059 (probe_cryptodisk_uuid): New function.
17060 (probe_abstraction): Likewise.
17061 (probe): Use new functions.
17062 * util/import_gcry.py: Create Makefile.utilgcry.def.
17063 Add modname member.
17064
9bfdcbbc
VS
170652011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17066
17067 Lazy device scanning.
17068
17069 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
17070 (grub-setup): Remove util/raid.c.
17071 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
17072 * grub-core/disk/lvm.c (scan_depth): New variable.
17073 (grub_lvm_iterate): Rescan if necessary.
17074 (find_lv): New function based on grub_lvm_open.
17075 (grub_lvm_open): Use find_lv. Rescan on error.
17076 (is_node_readable): New function.
17077 (is_lv_readable): Likewise.
17078 (grub_lvm_scan_device): Skip already found disks.
17079 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
17080 Stop if searched device is found and readable.
17081 * grub-core/disk/raid.c (inscnt): New variable.
17082 (scan_depth): Likewise.
17083 (scan_devices): New function based on grub_raid_register. Abort if
17084 looked for device is found.
17085 (grub_raid_iterate): Rescan if needed.
17086 (find_array): NEw function based on -grub_raid_open.
17087 (grub_raid_open): Use find_array and rescan.
17088 (insert_array): Set became_readable_at.
17089 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
17090 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
17091 New function.
17092 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
17093 (grub_util_pull_device): New function.
17094 (grub_util_get_grub_dev): Call grub_util_pull_device.
17095 * util/raid.c: Moved to ..
17096 * grub-core/kern/emu/raid.c: ... here.
17097 (grub_util_raid_getmembers): New parameter "bootable".
17098 All users updated. Support 1.x.
17099 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
17100 All users updated.
17101 * include/grub/disk.h (grub_disk_pull_t): New enum.
17102 (grub_disk_dev): Change iterate prototype.
17103 All users updated.
17104 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
17105 New proto.
17106 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
17107 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
17108 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
17109 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
17110 All users updated.
17111 * include/grub/util/raid.h: Removed.
17112
1c358e59
VS
171132011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17114
17115 * po/POTFILES.in: Regenerate.
17116
abee94ed
VS
171172011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17118
17119 Unify sparc init with other ieee1275.
17120
17121 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
17122 instead of kern/sparc64/ieee1275/init.c.
17123 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
17124 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
17125 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
17126 grub/machine/kernel.h.
17127 (grub_ieee1275_original_stack) [__sparc__]: New variable.
17128 (grub_claim_heap) [__sparc__]: Use sparc version.
17129 (grub_machine_init): Moved args parsing to
17130 (grub_parse_cmdline): ...this.
17131 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
17132 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
17133 New definition.
17134 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
17135
17136 Move BOOTP to separate file.
17137
17138 * grub-core/Makefile.core.def (net): Add net/bootp.c.
17139 * grub-core/net/net.c: Move all BOOTP functions to
17140 * grub-core/net/bootp.c: ... here.
17141
17142 Use frame interface on PXE.
17143
17144 * grub-core/Makefile.core.def (pxecmd): Removed.
17145 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
17146 * grub-core/commands/i386/pc/pxecmd.c: Removed.
17147 * grub-core/i386/pc/pxe.c: Moved from here ...
17148 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
17149 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
17150 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
17151
17152 EFI network support.
17153
17154 * grub-core/Makefile.core.def (efinet): New module.
17155 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
17156 here...
17157 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
17158 All users updated.
17159 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
17160 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
17161 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
17162 * grub-core/net/drivers/efi/efinet.c: New file.
17163 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
17164 (grub_efi_net_config): New extern var.
17165
17166 Various cleanups and bugfixes.
17167
17168 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
17169 error.
17170 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
17171 disk declared as partition.
17172 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
17173 leak on failure.
17174 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
17175 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
17176 (grub_debug_zalloc): Likewise.
17177 (grub_debug_realloc): Likewise.
17178 (grub_debug_memalign): Likewise.
17179 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
17180 Check that target is IPv4.
17181 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
17182 local-mac-address as fallback.
17183 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
17184 memory leak.
17185 * grub-core/net/ip.c (ipchksum): Rename to ...
17186 (grub_net_ip_chksum): ... this. All users updated.
17187 (grub_net_recv_ip_packets): Special handling for DHCP.
17188 * util/grub-mkimage.c (generate_image): Zero-out aout header.
17189
17190 Unify prefix handling
17191
17192 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
17193 (grub_machine_get_bootlocation): ... this.
17194 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
17195 (grub_machine_get_bootlocation): ... this.
17196 (grub_prefix): New variable.
17197 (prefix): Removed.
17198 (root_dev): New variable.
17199 (dir): Likewise.
17200 (main): Use new variables.
17201 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
17202 Revamped into ...
17203 (grub_machine_get_bootlocation): ... this.
17204 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
17205 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
17206 (grub_machine_get_bootlocation): ... this.
17207 (grub_machine_set_prefix): Removed.
17208 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
17209 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
17210 Revamped into ...
17211 (grub_machine_get_bootlocation): ... this.
17212 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
17213 (grub_set_prefix_and_root): ... this. All users updated.
17214 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
17215 Revamped into ...
17216 (grub_machine_get_bootlocation): ... this.
17217 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
17218 (grub_machine_get_bootlocation): New proto.
17219 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
17220
17221 Less intrusive and more reliable seek on network implementation.
17222
17223 * grub-core/kern/file.c (grub_file_net_seek): Removed.
17224 (grub_file_seek): Don't call grub_file_net_seek.
17225 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
17226 (grub_net_fs_read_real): .. this.
17227 (grub_net_seek_real): Use net->offset.
17228 (grub_net_fs_read): Seek if necessary.
17229
17230 Unify IEEE1275 netwotk config with the other platforms.
17231
17232 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
17233 New variable.
17234 (grub_machine_get_bootlocation): Support network.
17235 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
17236 Support type and device parsing.
17237 (grub_ieee1275_get_device_type): New function.
17238 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
17239 into ...
17240 (grub_ieee1275_net_config_real): ... this.
17241 (grub_ofnet_probecards): Removed.
17242 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
17243 * include/grub/ieee1275/ofnet.h: Removed.
17244 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
17245 extern var.
17246 (grub_ieee1275_get_device_type): New function.
17247
17248 Unify network device closing across platforms and make more robust.
17249
17250 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
17251 grub_grubnet_fini.
17252 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
17253 already.
17254 * grub-core/net/net.c (grub_net_network_level_interface_register):
17255 Update num_ifaces.
17256 (grub_net_card_unregister): Close all interfaces.
17257 (receive_packets): Don't poll if no iterfaces are registered.
17258 Open if necessary.
17259 (grub_net_fini_hw): New function.
17260 (grub_net_restore_hw): Likewise.
17261 (fini_hnd): New variable.
17262 (GRUB_MOD_INIT): Register preboot hook.
17263 (GRUB_MOD_FINI): Run and unregister preboot hook.
17264
17265 Poll network cards when idle.
17266
17267 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
17268 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
17269 * grub-core/net/net.c (receive_packets): Save last poll time.
17270 (grub_net_poll_cards_idle_real): New function.
17271 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
17272 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
17273 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
17274
17275 Rename ofnet interfaces.
17276
17277 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
17278 (grub_ofnet_findcards): Use ofnet_%s names.
17279
17280 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
17281
17282 Cleanup socket opening.
17283
17284 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
17285 (grub_net_fs_close): Likewise.
17286 (grub_net_fs_read_real): Use eof member.
17287 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
17288 (+grub_net_udp_close): New inline function.
17289
17290 * include/grub/net/tftp.h: Moved to the top of ...
17291 * grub-core/net/tftp.c: ... here.
17292 * include/grub/net/ip.h: Moved mostly to the top of ...
17293 * grub-core/net/ip.c: ... here.
17294 * include/grub/net/ethernet.h: Moved mostly to the top of ...
17295 * grub-core/net/ethernet.c: ... here.
17296
17297 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
17298
17299 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
17300 FS name.
17301
17302 * include/grub/net/ip.h (ipv4_ini): Removed.
17303 (ipv4_fini): Likewise.
17304
17305 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
17306 (grub_net_send_ip_packets): Likewise.
17307
cf1337aa
VS
173082011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17309
17310 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
17311 grub_read_cmos prototype.
17312
93c06ff9
VS
173132011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17314
17315 VGA text support in qemu-mips
17316
17317 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
17318 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
17319 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
17320 text.
17321 * grub-core/kern/i386/qemu/init.c: Renamed to ...
17322 * grub-core/kern/vga_init.c: ... this.
17323 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
17324 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
17325 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
17326 Adjust.
17327 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
17328 GRUB_MACHINE_PCI_IO_BASE.
17329
748ccabe
VS
173302011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17331
17332 MIPS qemu flash support.
17333
17334 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
17335 magic.
17336 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
17337 (grub_machine_init): Probe memory if its size isn't known.
17338 * util/grub-mkimage.c (image_targets): Add flash targets.
17339 (generate_image): Handle flash targets.
17340
d7345994
VS
173412011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 MIPS qemu at_keyboard support.
17344
17345 * gentpl.py (videoinkernel): Add qemu-mips.
17346 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
17347 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
17348 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
17349 modules.
17350 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
17351 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
17352 * grub-core/term/serial.c (grub_serial_register)
17353 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
17354
a07a81b3
VS
173552011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17356
17357 CMOS support on sparc.
17358
17359 * gentpl.py (cmos): Add powerpc and sparc.
17360 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
17361 powerpc and sparc.
17362 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
17363 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
17364 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
17365 grub_set_datetime_cmos.
17366 * grub-core/lib/ieee1275/cmos.c: New file.
17367 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
17368 (find_rtc): Set no_ieee1275_rtc on error.
17369 (grub_get_datetime): Call grub_get_datetime_cmos on error.
17370 (grub_set_datetime): Call grub_set_datetime_cmos on error.
17371 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
17372 fail. Move value to argument. All users updated
17373 (grub_cmos_write): Likewise.
17374 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
17375 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
17376 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
17377 grub_get_datetime_cmos and grub_set_datetime_cmos.
17378
77546584
GS
173792011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17380
17381 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
17382 sourcing grub-mkconfig_lib.
17383 * util/update-grub_lib.in: Likewise.
17384 * util/grub.d/00_header.in: Likewise.
17385 * util/grub.d/10_hurd.in: Likewise.
17386 * util/grub.d/10_kfreebsd.in: Likewise.
17387 * util/grub.d/10_linux.in: Likewise.
17388 * util/grub.d/10_netbsd.in: Likewise.
17389 * util/grub.d/10_windows.in: Likewise.
17390 * util/grub.d/20_linux_xen.in: Likewise.
17391 * util/grub.d/30_os-prober.in: Likewise.
17392
54894791
CW
173932011-06-28 Colin Watson <cjwatson@ubuntu.com>
17394
17395 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
17396 default_bg_color rather than black.
17397 (grub_gfxterm_fullscreen): Likewise.
17398 (grub_gfxterm_background_color_cmd): Save new background color in
17399 default_bg_color.
17400
8d5d8444
VS
174012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17402
17403 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
17404
5afeb5bd
VS
174052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17406
17407 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
17408 mismerge.
17409
ba7df45e
VS
174102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17411
17412 Chainloading on coreboot support.
17413
17414 * grub-core/Makefile.core.def (chain): Add coreboot.
17415 * grub-core/loader/i386/coreboot/chainloader.c: New file.
17416
d0b526b2
VS
174172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17418
17419 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
17420 if it happens.
17421
5ff1d945
VS
174222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17423
17424 Implement time command.
17425
17426 * grub-core/Makefile.core.def (time): New module.
17427 * grub-core/commands/time.c: New file.
17428 * grub-core/script/parser.y: Remove "time" keyword.
17429 * grub-core/script/yylex.l: Likewise.
17430
5ebaad7e
VS
174312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
17434
bdea3798
VS
174352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17436
17437 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
17438 when handling leftovers.
17439
b28c5655
VS
174402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
17443 so that help2man doesn't fail.
17444
b6f945dc
VS
174452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17446
17447 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
17448 type in pointers on sparc64.
17449 (get_card_packet): Likewise.
17450
f9b75e8a
CW
174512011-06-27 Colin Watson <cjwatson@ubuntu.com>
17452
17453 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
17454 with `*'.
17455 (grub_cmd_videoinfo): Fetch current video mode.
17456
1e3d9b86
VS
174572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17458
17459 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
17460 because of underlying system restrictions.
17461
efff4b1c
VS
174622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17463
17464 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
17465 necessary.
17466
9fc9ce37
VS
174672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17468
17469 Coreboot video support.
17470
17471 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
17472 (vbe): Likewise.
17473 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
17474 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
17475 here ...
17476 * grub-core/kern/i386/int.S: ... here.
17477 * grub-core/video/i386/pc/vbe.c: Updated includes.
17478 * grub-core/video/i386/pc/vga.c: Likewise.
17479 * include/grub/i386/coreboot/memory.h
17480 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
17481 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
17482 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
17483 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
17484 Disable interrupts.
17485 * include/grub/i386/pc/vga.h: Removed. All users updated.
17486
41bec7fe
VS
174872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17488
17489 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
17490 definitions for dprintf.
17491 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
17492
ca80309d
VS
174932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17494
17495 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
17496 prototype.
17497 (get_card_packet): Likewise.
17498
9e322ce8
YB
174992011-06-26 Yves Blusseau <blusseau@zetam.org>
17500
17501 Display the path of the file when file is not found
17502
17503 * grub-core/fs/fat.c: Display the filename when file is not found.
17504 * grub-core/fs/fshelp.c: Likewise.
17505 * grub-core/fs/hfs.c: Likewise.
17506 * grub-core/fs/jfs.c: Likewise.
17507 * grub-core/fs/minix.c: Likewise.
17508 * grub-core/fs/ufs.c: Likewise.
17509 * grub-core/fs/btrfs.c: Likewise.
17510 * grub-core/commands/i386/pc/play.c: Likewise.
17511
cbf597af
SJ
175122011-06-26 Szymon Janc <szymon@janc.net.pl>
17513
17514 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
17515 pointer checks before calling grub_free().
17516 * grub-core/commands/wildcard.c (match_devices): Likewise.
17517 * grub-core/commands/wildcard.c (match_files): Likewise.
17518 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
17519 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
17520 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
17521 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
17522 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
17523 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
17524 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
17525 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17526 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
17527
6295b32f
P
175282011-06-25 Patrick <p55@mailinator.com>
17529
17530 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
17531
77c0840b
VS
175322011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
17535 (grub_pxe_send): Likewise.
17536 (GRUB_MOD_INIT): Fix types.
17537
40ea05de
SJ
175382011-06-24 Szymon Janc <szymon@janc.net.pl>
17539
17540 * grub-core/io/xzio.c: Fix code style issues
17541
90162423
MRA
175422011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
175432011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
17544
17545 Network infrastructure.
17546 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
17547
17548 * include/grub/net/arp.h: New file.
90162423
MRA
17549 * include/grub/net/device.h: Likewise.
17550 * include/grub/net/ethernet.h: Likewise.
17551 * include/grub/net/ip.h: Likewise.
17552 * include/grub/net/netbuff.h: Likewise.
17553 * include/grub/net/tftp.h: Likewise.
17554 * include/grub/net/udp.h: Likewise.
17555 * include/grub/ieee1275/ofnet.h: Likewise.
17556 * include/grub/emu/export.h: Likewise.
17557 * include/grub/net.h: Likewise.
17558 * grub-core/net/arp.c: Likewise.
17559 * grub-core/net/ethernet.c: Likewise.
17560 * grub-core/net/ip.c: Likewise.
17561 * grub-core/net/udp.c: Likewise.
17562 * grub-core/net/tftp.c: Likewise.
17563 * grub-core/net/netbuff.c: Likewise.
17564 * grub-core/net/net.c: Likewise.
17565 * grub-core/net/drivers/emu/emunet.c: Likewise.
17566 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
17567 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
17568 export.h.
17569 * grub-core/Makefile.core.def (net): New module.
17570 (tftp): Likewise.
17571 (ofnet): Likewise.
17572 (emunet): Likewise.
17573 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
17574 network protocols.
17575 * grub-core/kern/device.c (grub_net_open) : New variable.
17576 (grub_device_open): Handle network device.
17577 (grub_device_close): Likewise.
17578 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
17579 (grub_grubnet_fini): Likewise.
17580 (grub_file_seek): Seek in network device.
17581 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
17582 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
17583 network root.
17584 (grub_machine_fini): Call grub_grubnet_fini.
17585 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
17586 network.
17587 (grub_ieee1275_get_aliasdevname): New function.
17588 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17589 Add unofficial Solaris network info.
17590 (grub_multiboot_make_mbi): Likewise.
17591 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
17592 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
17593 * include/grub/device.h (grub_fs): Removed.
17594 * include/grub/err.h (grub_err_t): Add network-related values.
17595 * include/grub/i386/pc/pxe.h: Removed bootp parts.
17596 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
17597 (grub_ieee1275_get_aliasdevname): New proto.
17598 * include/grub/net.h: Rewritten.
423a1849 17599
031f22a0
VS
176002011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17601
17602 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
17603 names.
17604
4388ca72
VS
176052011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17606
17607 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
17608 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
17609 it truncates the output.
17610 Reported by: Ximin Luo.
17611
98e2f506
VS
176122011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17613
17614 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
17615
2a5e94d8
VS
176162011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17617
17618 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
17619 partmap before abstraction.
17620
535c1910
AK
176212011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
17622
17623 * util/grub-mkconfig_lib.in: Add missing quotes.
17624
bc09e1a2
VS
176252011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17626
17627 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
17628 old method if mountinfo would return /dev/root and /dev/root doesn't
17629 exist.
17630
290766fb
VS
176312011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17632
17633 ZFS zlib support
17634
17635 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
17636 (decomp_table): Add zlib entries.
17637 (zio_read): USe 8 bits for compression function rather than 3.
17638 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
17639
176402011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17641
17642 * grub-core/disk/ahci.c: Add missing license statements.
17643 * grub-core/fs/romfs.c: Likewise.
17644 * grub-core/lib/ia64/setjmp.S: Likewise.
17645 * grub-core/loader/i386/pc/freedos.c: Likewise.
17646 * grub-core/loader/ia64/efi/linux.c: Likewise.
17647 * grub-core/video/colors.c: Likewise.
17648 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
17649
5ab3f48a
VS
176502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17651
17652 AHCI support.
17653
17654 * grub-core/Makefile.core.def (ata_pthru): Removed.
17655 (ahci): New module.
17656 (pata): Likewise.
17657 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
17658 on unload.
17659 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
17660 readwrite.
17661 (grub_hdparm_do_check_powermode_cmd): Likewise.
17662 (grub_hdparm_do_smart_cmd): Likewise.
17663 (grub_hdparm_set_val_cmd): Likewise.
17664 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
17665 * grub-core/disk/ahci.c: New file.
17666 * grub-core/disk/ata.c: Factor out the low-level part into ...
17667 * grub-core/disk/pata.c: ... here.
17668 * grub-core/disk/ata_pthru.c: Contents moved to ...
17669 * grub-core/disk/pata.c: ... here.
17670 * grub-core/disk/scsi.c (grub_scsi_names): New array.
17671 (grub_scsi_iterate): Use grub_scsi_names.
17672 (grub_scsi_open): Likewise.
17673 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17674 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17675 (grub_ata_regs_t): New struct.
17676 (grub_disk_ata_pass_through_parms): Likewise.
17677 (grub_ata_device): Renamed to ...
17678 (grub_ata): ... this.
17679 (grub_ata_dev): New struct.
17680 Removed all low-level inline functions.
17681 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17682 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17683 iterate hooks and open. All users updated.
17684 * util/grub-install.in: Handle AHCI disk module.
17685
c31dc5f5
SJ
176862011-06-23 Szymon Janc <szymon@janc.net.pl>
17687
17688 Add support for DRI and RSTn markers in JPEG files.
17689
17690 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17691 (JPEG_MARKER_RST0): Likewise.
17692 (JPEG_MARKER_RST1): Likewise.
17693 (JPEG_MARKER_RST2): Likewise.
17694 (JPEG_MARKER_RST3): Likewise.
17695 (JPEG_MARKER_RST4): Likewise.
17696 (JPEG_MARKER_RST5): Likewise.
17697 (JPEG_MARKER_RST6): Likewise.
17698 (JPEG_MARKER_RST7): Likewise.
17699 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17700 (grub_jpeg_decode_dri): New function.
17701 (grub_jpeg_decode_sos): Move image data related part into
17702 grub_jpeg_decode_data function.
17703 (grub_jpeg_decode_data): New function.
17704 (grub_jpeg_reset): New function.
17705 (grub_jpeg_decode_jpeg): Handle new markers.
17706
fe12fd5b
VS
177072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17708
17709 * util/ieee1275/ofpath.c (check_sas): Close fd.
17710 (main): Free of_path.
17711 Reported by: David Volgyes <dvolgyes>.
17712
03147f46
VS
177132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17714
17715 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17716 Reported by: David Volgyes <dvolgyes>.
17717
cad3237f
VS
177182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17719
17720 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17721 file after stat.
17722 Reported by: David Volgyes <dvolgyes>.
17723
13548d26
VS
177242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17725
17726 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17727
17728 Reported by: David Volgyes <dvolgyes>.
17729
e061a1b5
VS
177302011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17731
17732 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17733 Prevent memory leak.
17734
1abe47dc
VS
177352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17736
17737 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17738 (main): Close file.
e061a1b5 17739 Reported by: David Volgyes <dvolgyes>.
1abe47dc 17740
fbc62666
VS
177412011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17742
17743 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17744 to continue if allocation is failed.
17745
17746 Reported by: David Volgyes <dvolgyes>.
17747
e98c83e9
DV
177482011-06-23 David Volgyes <dvolgyes>
17749
17750 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17751 dereference.
17752
a199a8cd
VS
177532011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17754
17755 Fix spurious warning.
17756
17757 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17758 (acorn_partition_map_find): Use .bin member.
17759
e2d1dba0
VS
177602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17761
17762 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17763 /dev/root as a valid device.
17764
8a5d6919
JM
177652011-06-23 Jim Meyering <meyering@redhat.com>
17766
e2d1dba0
VS
17767 Avoid NULL deref in grub_device_open.
17768
8a5d6919
JM
17769 * grub-core/kern/device.c (grub_device_open): Don't dereference
17770 a NULL pointer upon failed grub_env_get.
17771
f7db6f4a
VS
177722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 Support non-512B sectors and agglomerate reads.
17775
17776 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17777 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17778 (disk_io_guid): Removed.
17779 (make_devices): Locate solely by BlockIO.
17780 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17781 (grub_efidisk_read): Use read_blocks.
17782 (grub_efidisk_write): Use write_blocks.
17783 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17784 log_sector_size.
17785 (get_safe_sectors): Handle non-512B sectors.
17786 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17787 sectors.
17788 (grub_biosdisk_write): Handle non-512B sectors.
17789 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17790 (grub_scsi_read): Remove special non-512B block handling (now handled
17791 one level up).
17792 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17793 and do sanity checks.
17794 (grub_disk_adjust_range): Handle non-512B sectors.
17795 (transform_sector): New function.
17796 (grub_disk_read_small): Likewise.
17797 (grub_disk_read): Rewritten.
17798 (grub_disk_write): Handle non-512B sectors.
17799 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17800 log_sector_size.
17801 (open_device): Use log_sector_size.
17802 (grub_util_biosdisk_read): Likewise.
17803 (grub_util_biosdisk_write): Likewise.
17804 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
17805 non-512B sectors.
17806 (pc_partition_map_embed): Likewise.
17807 * include/grub/disk.h (grub_disk): New field log_sector_size.
17808 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
17809 (GRUB_DISK_CACHE_BITS): Increased to 6.
17810 * util/grub-fstest.c (fstest): New command testload.
17811 (argp_parser): Likewise.
17812
881ac815
RM
178132011-06-16 Robert Millan <rmh@gnu.org>
17814
17815 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17816 `ata' driver on kernel of FreeBSD 9.
17817
17818 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17819 (get_ataraid_disk_name): New functions.
17820 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17821 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17822 get_ataraid_disk_name() and get_ada_disk_name().
17823
1e9aef7d
CW
178242011-06-13 Colin Watson <cjwatson@ubuntu.com>
17825
17826 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17827 input format.
17828
351c7c8a
CW
178292011-05-29 Colin Watson <cjwatson@ubuntu.com>
17830
17831 * docs/grub.texi (Obtaining and Building GRUB): Substitute
17832 `ftp.gnu.org' for `alpha.gnu.org'.
17833
6b4e6430
CW
178342011-05-27 Colin Watson <cjwatson@ubuntu.com>
17835
17836 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
17837 partitions under /dev/disk/by-id/.
17838
c64db050
CW
178392011-05-27 Colin Watson <cjwatson@ubuntu.com>
17840
17841 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
17842 after ten consecutive open failures. Scanning all the way up to
17843 10000 is excessive and can cause serious performance problems in
17844 some configurations.
17845 Fixes Ubuntu bug #787461.
17846
245f4aba
VS
178472011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17848
17849 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17850 opening new one.
17851
f767c929
VS
178522011-05-21 Colin Watson <cjwatson@ubuntu.com>
178532011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17854
17855 Don't stat devices unless we have to.
17856
17857 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17858 dir == /dev/mapper.
17859 (grub_guess_root_device): Use already known os_dev if possible.
17860 * grub-core/kern/emu/hostdisk.c
17861 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17862 if device is known to be a dm one.
17863
f35fa3a6
CW
178642011-05-20 Colin Watson <cjwatson@ubuntu.com>
17865
17866 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17867 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17868 Reported by: Pawel Tecza.
17869
9a79fcf2
VS
178702011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17871
17872 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17873 (lsefisystab): Likewise.
17874 (lssal): Likewise.
17875 (lsefimmap): Likewise.
17876 (hdparm): Enable on qemu-mips.
17877 (setjmp): Add ia64 nodist.
17878 (serial): Simplify tags.
17879
63e3eea9
CW
178802011-05-18 Colin Watson <cjwatson@ubuntu.com>
17881
17882 * Makefile.util.def (grub-ofpathname): Install manual page.
17883
09728256
CW
178842011-05-18 Colin Watson <cjwatson@ubuntu.com>
17885
17886 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17887
8b63a142
CW
178882011-05-18 Colin Watson <cjwatson@ubuntu.com>
17889
17890 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
17891
e775d8ed
VS
178922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17893
17894 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17895 into dprintf.
17896
bf947d36
VS
178972011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17898
17899 Use full 64-bit division.
17900
17901 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17902 (grub_divmod64): ... this.
17903 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17904 version.
17905
b84f26c5
CW
179062011-05-18 Colin Watson <cjwatson@ubuntu.com>
17907
17908 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17909 `source'.
17910
5626056f
CW
179112011-05-18 Colin Watson <cjwatson@ubuntu.com>
17912
17913 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17914 to avoid accidents when debugging with 'sh -x'.
17915 * grub-core/gensyminfo.sh.in: Likewise.
17916 * tests/example_scripted_test.in: Likewise.
17917 * tests/grub_cmd_regexp.in: Likewise.
17918 * tests/grub_script_blanklines.in: Likewise.
17919 * tests/grub_script_dollar.in: Likewise.
17920 * tests/grub_script_expansion.in: Likewise.
17921 * tests/grub_script_final_semicolon.in: Likewise.
17922 * tests/partmap_test.in: Likewise.
17923 * tests/util/grub-shell-tester.in: Likewise.
17924 * tests/util/grub-shell.in: Likewise.
17925
e2965f4a
CW
179262011-05-18 Colin Watson <cjwatson@ubuntu.com>
17927
17928 Move gfxmenu color handling to video, so that gfxterm can use it
17929 too.
17930
17931 * grub-core/gfxmenu/named_colors.c: Move to ...
17932 * grub-core/video/colors.c: ... here. Rename
17933 grub_gui_get_named_color to grub_video_get_named_color.
17934 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17935 * grub-core/video/colors.c (my_isxdigit): ... here.
17936 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17937 Move to ...
17938 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17939 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17940 to ...
17941 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17942
17943 * include/grub/gui.h (grub_gui_color_t): Move to ...
17944 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17945 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17946 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17947 * include/grub/gui.h (grub_gui_map_color): Move to ...
17948 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17949 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17950 to ...
17951 * include/grub/video.h (grub_video_get_named_color): ... here.
17952 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17953 * include/grub/video.h (grub_video_parse_color): ... here.
17954
17955 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17956 video/colors.c.
17957 (gfxmenu): Remove gfxmenu/named_colors.c.
17958 (video) [videomodules]: Add video/colors.c.
17959
17960 Add a background_color command.
17961
17962 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17963 function.
17964 (GRUB_MOD_INIT): Register background_color command.
17965 (GRUB_MOD_FINI): Unregister background_color command.
17966 (redraw_screen_rect): Allow blend/replace of text layer to be
17967 controlled independently from whether there is a background bitmap.
17968 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17969 changing bitmap.
17970
1e4b4390
VS
179712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17972
26618ff0
VS
17973 Patch BPB in ntldr and chainloader --bpb.
17974
1e4b4390
VS
17975 * grub-core/fs/fat.c: Include grub/fat.h.
17976 (grub_fat_bpb): Moved to ...
17977 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17978 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17979 grub/ntfs.h.
17980 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17981 Moved from here...
17982 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17983 here.
17984 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17985 New function.
17986 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17987 (GRUB_MOD_INIT): Show --bpb.
17988 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17989 * grub-core/normal/main.c (features): New variable.
17990 (GRUB_MOD_INIT): Set feature_* variables.
17991 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17992 proto.
17993 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17994
cf02731e
VS
179952011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17996
17997 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17998 for cleanness.
17999
e3a1073f
VS
180002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 FreeDOS direct loading support.
18003
18004 * docs/grub.texi (Supported OS): Add FreeDOS.
18005 * grub-core/Makefile.core.def (freedos): New module.
18006 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
18007 variable.
18008 (grub_relocator16_boot): Handle %ebx.
18009 * grub-core/lib/i386/relocator16.S: Likewise.
18010 * grub-core/loader/i386/pc/freedos.c: New file.
18011
05caa461
VS
180122011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18013
18014 Long Linux command line support.
18015
18016 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18017 (maximal_cmdline_size): New variable.
18018 (allocate_pages): Use maximal_cmdline_size.
18019 (grub_cmd_linux): Set and use maximal_cmdline_size.
18020 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18021 (allocate_pages): Use maximal_cmdline_size.
18022 (grub_cmd_linux): Set and use maximal_cmdline_size.
18023 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
18024 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
18025 and cmdline_size.
18026
a2491e23
VS
180272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
180282011-05-18 Colin Watson <cjwatson@ubuntu.com>
18029
18030 Improve devmapper support
18031
18032 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
18033 (grub_util_is_lvm): New function.
18034 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
18035 than lvm if not dmraid.
18036 Handle mapped md nodes.
18037 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
18038 (grub_util_device_is_mapped): ... this. Make always available. All users
18039 updated.
18040 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
18041 (convert_system_partition_to_system_disk): Handle lvm, mpath and
18042 dmraid nodes.
18043 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
18044
6ad6223e
VS
180452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18046
18047 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
18048
18049 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
18050 * grub-core/modinfo.sh.in: New file.
18051 * grub-core/Makefile.core.def (modinfo.sh): New script.
18052 * util/grub-mknetdir.in: Use modinfo.sh.
18053 * util/grub-mkrescue.in: Likewise.
18054
543a8f6e
VS
180552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18056
18057 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
18058 Fix potential usage of Elf32 instead of Elf64 when compiling on
18059 32-bit architecture. Add endianness macros while on it.
18060
4959e111
VS
180612011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18062
18063 Use mipsel- rather than mips- in directories involving mipsel ports to
18064 allow both endiannesses coexist.
18065
18066 * configure.ac: proparate target_cpu=mipsel rather than resetting to
18067 mips. All conditions adjusted.
18068 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
18069 variable.
18070 * util/grub-install.in: Adjust conditions to take renaming into account.
18071 * util/grub-mkimage.c (image_targets): Likewise. New target
18072 mips-qemu_mips-elf for bigendian mips.
18073
35341bbc
VS
180742011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18075
18076 Avoid unnecessary copying on MIPS.
18077
18078 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
18079 early if src == dest.
18080 * util/grub-mkimage.c (generate_image): Arange for src == dest if
18081 compression is none.
18082
b772baed
VS
180832011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18084
18085 Reduce memory footprint on SGI by putting modules before the kernel
18086 as opposed to after.
18087
18088 * grub-core/Makefile.core.def (kernel): Increase linking address.
18089 (none_decompress): Likewise.
18090 (xz_decompress): Likewise.
18091 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
18092 address.
18093 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
18094 layout change.
18095 (grub_arch_modules_addr): New function.
18096 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
18097 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
18098 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
18099 here.
18100 * grub-core/kern/mips/startup.S (total_size): Rename to ...
18101 (grub_total_modules_size): ... this. Make global.
18102 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
18103 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
18104 New definition.
18105 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
18106 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
18107 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
18108 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
18109 * util/grub-mkimage.c (image_target_desc): New flag
18110 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
18111 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
18112 (generate_image): Handle images with modules before kernel.
18113
566a1917
VS
181142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 Prevent potential loss of memory map by overwrite on qemu-mips.
18117
18118 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18119 Save ram size in $s4.
18120 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
18121 All users changed to grub_arch_memsize.
18122 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
18123 Loongson.
18124 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
18125 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
18126 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
18127 external variable.
18128
5d420cd9
CW
181292011-05-17 Colin Watson <cjwatson@ubuntu.com>
18130
18131 * .bzrignore: Remove grub-dumpbios.
18132
d064b830
CW
181332011-05-17 Colin Watson <cjwatson@ubuntu.com>
18134
18135 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
18136 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
18137 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
18138 existing options which append).
18139 * docs/grub.texi (Simple configuration): Document new options.
18140 Reported by: Ian Jackson. Fixes Debian bug #617538.
18141
3ca2b466
CW
181422011-05-17 Colin Watson <cjwatson@ubuntu.com>
18143
18144 * util/grub-fstest.c (cmd_cat): New function.
18145 (fstest): Handle CMD_CAT.
18146 (options): Add cat.
18147 (argp_parser): Handle cat.
18148
24c9143a
CW
181492011-05-17 Colin Watson <cjwatson@ubuntu.com>
18150
18151 * Makefile.util.def (grub-bin2h): Don't install.
18152 * docs/man/grub-bin2h.h2m: Remove.
18153
90f7ac19
VS
181542011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18155
18156 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
18157 place.
18158
8d4a5178
VS
181592011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18160
18161 Reenable qemu-mips port.
18162
18163 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
18164 Fix small arc bug while on it.
18165 * gentpl.py: Handle qemu_mips.
18166 * grub-core/Makefile.am: Likewise.
18167 * grub-core/Makefile.core.def: Likewise.
18168 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
18169 inappropriate includes.
18170 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
18171 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
18172 * grub-core/kern/main.c (grub_modules_get_end)
18173 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
18174 * grub-core/kern/mips/qemu-mips: Moved to ..
18175 * grub-core/kern/mips/qemu_mips: ... this.
18176 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
18177 (grub_machine_init): Call terminfo_init and serial_init.
18178 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
18179 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18180 New variable.
18181 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
18182 parameter passing.
18183 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
18184 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
18185 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
18186 * include/grub/mips/qemu_mips/cmos.h: New file.
18187 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
18188 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
18189 Removed.
18190 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
18191 Use correct mips-style address.
18192 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
18193 (GRUB_TICKS_PER_SECOND): Removed.
18194 (grub_get_rtc): Likewise.
18195 (grub_cpu_idle): Likewise.
18196 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
18197 New definition.
18198 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
18199 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
18200 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
18201 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
18202 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
18203 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
18204 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
18205 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
18206
400b9371
VS
182072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18208
18209 SGI ARCS port.
18210
18211 * Makefile.util.def (libgrubmods.a): Add dvh.c.
18212 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
18213 platforms.
18214 * configure.ac: New target mips-arc.
18215 * gentpl.py: Likewise.
18216 * grub-core/Makefile.am: Likewise.
18217 * grub-core/Makefile.core.def: Likewise.
18218 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
18219 (none_decompress): Likewise.
18220 (lsdev): New module.
18221 (datetime): Use lib/arc/datetime.c on ARC.
18222 (part_dvh): New module.
18223 * grub-core/commands/arc/lsdev.c: New file.
18224 * grub-core/disk/arc/arcdisk.c: Likewise.
18225 * grub-core/kern/mips/arc/init.c: Likewise.
18226 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
18227 aligned addresses.
18228 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
18229 support.
18230 (grub_arch_dl_relocate_symbols): Likewise.
18231 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
18232 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
18233 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
18234 platforms.
18235 * grub-core/lib/arc/datetime.c: New file.
18236 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
18237 pci.h on non-loongson.
18238 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
18239 (grub_linux_boot): Set unused registers to 0.
18240 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
18241 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
18242 * grub-core/mmap/mips/uppermem.c: ...here.
18243 * grub-core/partmap/dvh.c: New file.
18244 * grub-core/term/arc/console.c: Likewise.
18245 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
18246 (grub_terminfo_set_current): Add terminal "arc".
18247 (grub_terminfo_readkey): Support ARC sequences.
18248 * include/grub/arc/arc.h: New file.
18249 * include/grub/arc/console.h: Likewise.
18250 * include/grub/disk.h (grub_disk_dev_id): Add
18251 GRUB_DISK_DEVICE_ARCDISK_ID.
18252 * include/grub/mips/arc/kernel.h: New file.
18253 * include/grub/mips/arc/memory.h: Likewise.
18254 * include/grub/mips/arc/time.h: Likewise.
18255 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
18256 * include/grub/mips/kernel.h (grub_halt): ... here.
18257 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
18258 here...
18259 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
18260 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
18261 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
18262 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
18263 proto.
18264 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
18265 from here ...
18266 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
18267 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
18268 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
18269 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
18270 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
18271 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
18272 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
18273 (grub_phys_addr_t): Moved from here ...
18274 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
18275 (grub_vtop): Moved from here ...
18276 * include/grub/mips/memory.h (grub_vtop): ... here.
18277 (grub_map_memory): Moved from here ...
18278 * include/grub/mips/memory.h (grub_map_memory): ... here.
18279 (grub_unmap_memory): Moved from here ...
18280 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
18281 (grub_machine_mmap_iterate): Moved from here ...
18282 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
18283 (grub_mmap_get_lower): Moved from here ...
18284 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
18285 (grub_mmap_get_upper): Moved from here ...
18286 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
18287 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18288 here ...
18289 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18290 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
18291 here ...
18292 * include/grub/mips/time.h (grub_get_rtc): ... here.
18293 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18294 here ...
18295 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18296 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
18297 here ...
18298 * include/grub/mips/time.h (grub_cpu_idle): ... here.
18299 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
18300 definition.
18301 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
18302 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
18303 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
18304 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
18305 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
18306 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
18307 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
18308 (GRUB_MACHINE_LINK_ADDR): Likewise.
18309 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
18310 to 6.
18311 * util/grub-install.in: Run dvhtool on ARC.
18312 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 18313 (generate_image): Handle ECOFF output for mips-arc.
400b9371 18314
c8ecc840
VS
183152011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18316
18317 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
18318 blocks.
18319
153a4b55
VS
183202011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18321
18322 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
18323 after enabling port.
18324
ff44d107
VS
183252011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18326
18327 Skip incorrect USB devices.
18328
18329 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
18330 configcnt == 0.
18331 * include/grub/usb.h (grub_usb_err_t): New enum value
18332 GRUB_USB_ERR_BADDEVICE.
18333
638dbe4f
VS
183342011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 Fuloong video init support.
18337
18338 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
18339 well.
18340 (grub_vga_read_arx): New function.
18341 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
18342 definition.
18343 (framebuffer): New members io, mmioptr and mmiobase.
18344 (read_sis_cmd): New function.
18345 (write_sis_cmd): Likewise.
18346 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
18347 rather than 640x400.
18348 * grub-core/video/sis315_init.c: New file.
18349
c3fc520c
VS
183502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18351
18352 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
18353 non-loongson.
18354 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
18355 to grub_dl_register_symbol.
18356
67b1e5c9
VS
183572011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18358
18359 Fix compilation errors.
18360
18361 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
18362 potentially unused.
18363 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
18364 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
18365 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
18366 to loongson machines.
18367
b756f75f
VS
183682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18369
18370 Several FS mtime support.
18371
18372 * grub-core/fs/affs.c (grub_affs_time): New struct.
18373 (grub_affs_file): New field mtime.
18374 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
18375 type. Removed 'size'. New field 'di'. All users updated.
18376 (grub_affs_mount): Simplify checsum checking.
18377 (grub_affs_iterate_dir): New helper grub_affs_create_node.
18378 (grub_affs_dir): Handle mtime.
18379 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
18380 (grub_cpio_dir): Likewise.
18381 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
18382 (grub_hfs_filerec): New field mtime.
18383 (grub_hfs_dir): Handle mtime.
18384 (grub_hfs_mtime): New function.
18385 (grub_hfs_fs): Register grub_hfs_mtime.
18386 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
18387 (grub_iso9660_dir): New field mtime.
18388 (grub_fshelp_node): New field dirent.
18389 (iso9660_to_unixtime): New function.
18390 (iso9660_to_unixtime2): Likewise.
18391 (grub_iso9660_read_symlink): Use node->dirent.
18392 (grub_iso9660_iterate_dir): Likewise.
18393 (grub_iso9660_dir): Set mtime.
18394 (grub_iso9660_mtime): New function.
18395 (grub_iso9660_fs): Register grub_iso9660_mtime.
18396 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
18397 (grub_jfs_inode): New fields atime, ctime and mtime.
18398 (grub_jfs_dir): Set mtime.
18399 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18400 * grub-core/fs/ntfs.c (list_file): Set mtime.
18401 (grub_ntfs_dir): Likewise.
18402 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
18403 (grub_reiserfs_iterate_dir): Set mtime.
18404 (grub_reiserfs_dir): Likewise.
18405 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
18406 (grub_fshelp_node): Likewise.
18407 (grub_sfs_iterate_dir): Set mtime.
18408 (grub_sfs_dir): Likewise.
18409 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
18410 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
18411 (grub_xfs_inode): New fields atime, mtime, ctime.
18412 (grub_xfs_dir): Set mtime.
18413 * include/grub/datetime.h (grub_datetime2unixtime): New function.
18414 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
18415 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
18416
18417 Support UDF symlinks.
18418
18419 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
18420 (grub_ufs_read_symlink): New function. All users updated.
18421
18422 Check amiga partmap checksum.
18423
18424 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
18425 (grub_amiga_partition): Likewise.
18426 (amiga_partition_map_checksum): New function.
18427 (amiga_partition_map_iterate): Check checksum.
18428
5470225d
VS
184292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18430
18431 ROMFS support.
18432
18433 * Makefile.util.def (libgrubmods.a): Add romfs.
18434 * grub-core/Makefile.core.def (romfs): New module.
18435 * grub-core/fs/romfs.c: New file.
18436
d4680a35
VS
184372011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18438
18439 Squashfs v4 support.
18440
18441 * Makefile.util.def (libgrubmods.a): Add squash4.
18442 * grub-core/Makefile.core.def (squash4): New module.
18443 * grub-core/fs/squash4.c: New file.
18444 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
18445 disk_input_start, disk_input.
18446 (get_byte): Handle disk_input.
18447 (grub_zlib_disk_read): New function.
18448 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
18449
bcb18e74
FZ
184502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
184512011-05-15 Feiran Zheng <famcool@gmail.com>
18452
18453 * Makefile.util.def (libgrubmods.a): Add minix3.
18454 * grub-core/Makefile.core.def (minix3): New module.
18455 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
18456 (GRUB_MINIX_BSIZE): Removed.
18457 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
18458 (grub_minix_ino_t): New type.
18459 (grub_minix_le_to_cpu_ino): New macro.
18460 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
18461 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
18462 (grub_minix_data): New field block_size.
18463 (grub_minix_read_file): Handle 64-bit correctly.
18464 * grub-core/fs/minix3.c: New file.
18465
32297d5f
TG
184662011-05-15 Tristan Gingold <gingold@free.fr>
184672011-05-15 Robert Millan <rmh.grub@aybabtu.com>
184682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18469
18470 IA64 support.
18471
18472 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
18473 * configure.ac: Add ia64-efi target.
18474 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
18475 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
18476 * gentpl.py: Add ia64_efi platform.
18477 Rename x86_efi to efi and Add ia64-efi. All users updated.
18478 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
18479 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
18480 Remove kern/generic/rtc_get_time_ms.c on EFI.
18481 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
18482 kern/ia64/dl_helper.c on ia64-efi.
18483 Add kern/emu/cache.c on emu.
18484 (linux): Use on loader/ia64/efi/linux.c on ia64.
18485 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
18486 whether symbol is a function.
18487 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
18488 (grub_symbol): New field 'isfunc'.
18489 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
18490 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
18491 (grub_dl_load_segments): Place all sections into the same region.
18492 [__ia64__]: Create trampolines and got.
18493 [GRUB_MACHINE_EMU]: Call mprotect.
18494 (grub_dl_resolve_symbols): Resolve symbol type as well.
18495 [__ia64__]: Create function descriptors.
18496 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
18497 (grub_rtc_get_time_ms): ... this. Expressions simplified.
18498 (grub_get_rtc): New function.
18499 * grub-core/kern/emu/cache.c [__ia64__]: New file.
18500 * grub-core/kern/emu/cache.S: Renamed to ...
18501 * grub-core/kern/emu/cache_s.S: ... this.
18502 [__ia64__]: Add a nop.
18503 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
18504 [__ia64__]: New function.
18505 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
18506 * grub-core/kern/ia64/dl.c: New file.
18507 * grub-core/kern/ia64/dl_helper.c: Likewise.
18508 * grub-core/kern/ia64/efi/init.c: New file.
18509 * grub-core/kern/ia64/efi/startup.S: Likewise.
18510 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
18511 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
18512 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
18513 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
18514 * grub-core/loader/ia64/efi/linux.c: New file.
18515 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
18516 (GRUB_MOD_DEP): Likewise.
18517 (grub_dl) [__ia64__]: New fields got and tramp.
18518 (grub_dl): New field 'base'.
18519 (grub_dl_register_symbol): New argument isfunc. All users updated.
18520 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
18521 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
18522 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
18523 (grub_ia64_dl_get_tramp_got_size): New proto.
18524 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
18525 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
18526 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
18527 * include/grub/efi/api.h: Skip call wrappers on ia64.
18528 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
18529 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
18530 * include/grub/elf.h (ELF_ST_INFO): New definition.
18531 * include/grub/ia64/efi/kernel.h: New file.
18532 * include/grub/ia64/efi/memory.h: Likewise.
18533 * include/grub/ia64/efi/time.h: Likewise.
18534 * include/grub/ia64/kernel.h: Likewise.
18535 * include/grub/ia64/setjmp.h: Likewise (from glibc).
18536 * include/grub/ia64/time.h: New file.
18537 * include/grub/ia64/types.h: Likewise.
18538 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
18539 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
18540 New protos.
18541 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
18542 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
18543 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
18544 * util/grub-mkimage.c (image_target_desc): New field pe_target.
18545 All users updated.
18546 (EFI64_HEADER_SIZE): New definition. All users updated.
18547 (image_targets): Add ia64-efi.
18548 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
18549 jumpers_addr. All users updated.
18550 Create function descriptors.
18551 (count_funcs): New function.
18552 (unaligned_uint32): New struct.
18553 (MASK20): New definition.
18554 (MASK19): Likewise.
18555 (MASKF21): Likewise.
18556 (add_value_to_slot_20b): New function.
18557 (add_value_to_slot_21_real): Likewise.
18558 (add_value_to_slot_21): Likewise.
18559 (ia64_kernel_trampoline): New struct.
18560 (nopm): New variable.
18561 (jump): Likewise.
18562 (make_trampoline): New function.
18563 (relocate_addresses): Handle ia64.
18564 (make_reloc_section): Likewise.
18565 (load_image): Likewise.
18566
983b414d
VS
185672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18568
18569 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
18570 warning. Move variables before code while on it.
18571
5d063cdc
VS
185722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18573
18574 Fuloong support.
18575
18576 * configure.ac: Rename yeeloong platform to loongson. All users updated.
18577 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
18578 * grub-core/boot/mips/loongson/fuloong.S: New file.
18579 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
18580 Explicitly init CS5536.
18581 [FULOONG]: Don't use serial until CS5536 is available.
18582 Set GPIO based on dumps.
18583 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
18584 [FULOONG]: Handle GPIO and memory controller differences.
18585 Parse machine type in $a2.
18586 * grub-core/boot/mips/startup_raw.S: Determine and save the
18587 architecture.
18588 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
18589 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
18590 init on architecture type.
18591 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18592 SIS315E. Don't init at_keyboard on fuloong.
18593 (grub_halt): Support Fuloong.
18594 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
18595 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
18596 (loongson_machtypes): New array.
18597 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
18598 type.
18599 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
18600 config. All users updated. Handle CS5536 serial.
18601 * grub-core/term/serial.c (grub_serial_register): Conditionalise
18602 default port on machine type. Register serial as inactive.
18603 * grub-core/video/sis315pro.c: New file.
18604 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
18605 definition.
18606 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
18607 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
18608 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
18609 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
18610 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
18611 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
18612 to ...
18613 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
18614 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
18615 definition.
18616 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
18617 (grub_arch_machine): New extern var.
18618 * include/grub/mips/loongson/serial.h
18619 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
18620 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
18621 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
18622 (GRUB_MACHINE_SERIAL_PORT0): ... this.
18623 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
18624 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
18625 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
18626 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
18627 * include/grub/term.h (grub_term_register_input_inactive): New inline
18628 function.
18629 (grub_term_register_output_inactive): Likewise.
18630 * include/grub/video.h (grub_video_driver_id): New value
18631 GRUB_VIDEO_DRIVER_SIS315PRO.
18632 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
18633 New field "names". All users updated.
18634 New field value IMAGE_FULOONG_FLASH.
18635 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
18636
6ada82d1
JU
186372011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
18638
18639 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
18640 and add some clarification.
18641
90c571a4
VS
186422011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18643
18644 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
18645 platforms if kernel is compressed.
18646
de04eecf
VS
186472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18648
18649 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
18650 unused modules since currently referrence counter isn't reliable and
18651 there isn't much memory to recover there anyway.
18652
57688121
VS
186532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
18656 rather than resetting it to allow modules to reference themselves
18657 in init.
18658
3d2c7e35
VS
186592011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18660
18661 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
18662 counter on dependencies since grub_dl_unref already handles this.
18663
b25db218
VS
186642011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18665
18666 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
18667 on error if not already done.
18668
25a45338
VS
186692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18670
18671 Fix few potential memory misusage.
18672
18673 * grub-core/font/font.c (load_font_index): Don't free char_index to
18674 avoid double free.
b25db218
VS
18675 (grub_font_load): Zero-fill font at alloc for safety.
18676 Close file on error.
18677 (free_font): Free bmp_idx.
25a45338 18678
0cac83df
VS
186792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 * docs/grub.texi (Installation): Fix several outdated claims.
18682
2217a143
VS
186832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18684
18685 Handle module_license on windows.
18686
18687 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18688 sections shifted.
18689 (insert_string): Make argument const char * instead of char *.
18690 (write_section_data): Handle long section names.
18691 Handle module_license.
18692
d4de6b01
VS
186932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18694
18695 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18696 handle class-free menuentries.
18697 (grub_normal_add_menu_entry): Add a check to be sure.
18698
4c2a3b43
VS
186992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18700
18701 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18702 PgUp and PgDown.
18703
85c6210f
VS
187042011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18705
18706 * configure.ac: Bump version to 1.99.
18707
36084912
VS
187082011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18709
18710 Give ATA device a bit more time on first try in order to allow disks
18711 to spin up.
18712
18713 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18714 if dev->present is 1. Reset dev->present on failure.
18715 (grub_ata_device_initialize): Set dev->present to 1.
18716 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18717 (grub_ata_device): New member 'present'.
18718
bda0e219
VS
187192011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18720
18721 * util/grub-mkimage.c (generate_image): Update hash.
18722
19e1c41b
VS
187232011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18724
18725 Flush caches on DMA memory.
18726
18727 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18728 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18729 (grub_dma_free): Likewise.
18730 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18731
91bbcc0c
VS
187322011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18733
18734 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18735 to avoid asm treating ld and sd as macros.
18736
60ddfad3
VS
187372011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18738
18739 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18740 decompressor.
18741
a298aa04
VS
187422011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18743
18744 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18745 grub_decompress_core since later would fail if grub_decompress_core
18746 is too far.
18747
9b44feca
VS
187482011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18749
18750 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18751 R_MIPS_JALR since it's used by newer compiler.
18752
56dbe7b4
VS
187532011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18756
52856af2
VS
187572011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18758
18759 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18760 file_path to 0 for surety.
18761 (grub_chainloader_boot): Set exit_data to NULL.
18762 Unset the loader once done.
18763 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18764
9c9bfc6d
VS
187652011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18766
18767 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18768 unknown key into a dprintf.
18769
dd94a3df
VS
187702011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18771
18772 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18773 on first non-existant partition.
18774
fa68d99c
VS
187752011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18776
18777 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18778 openning fails.
18779 Reported by: Mark Korenberg.
18780
157effb7
VS
187812011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18782
18783 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18784 overflow.
18785
ea75312f
VS
187862011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18787
18788 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18789 before closing to ensure that it will be readable by grub-setup.
18790
072b5d31
VS
187912011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18792
18793 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18794 (devpath_1): Use MAKE_PIWG_PATH.
18795 (devpath_2): Likewise.
18796 (devpath_3): Likewise.
18797 (devpath_4): Likewise.
18798 (devpath_5): Likewise.
18799 (devpath_6): Likewise.
18800
18801 The appleldr.mod was checked that to be binary identical to previous
18802 version.
18803
7fae0051
Z
188042011-05-05 Zach <mikezackles>
18805
18806 Support 2010 Macbooks.
18807
18808 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
18809 (devs): Add devpath_6.
18810
7c515bee
VS
188112011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18812
18813 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18814 /dev/random. /dev/urandom is good enough for our purposes (salting).
18815
ed660bd8
VS
188162011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18817
18818 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18819
ee5614b7
VS
188202011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18823 hexadecimal.
18824
664889a6
VS
188252011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18826
18827 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18828 and not 0 on failure.
18829
bd405bbc
CW
188302011-05-03 Colin Watson <cjwatson@ubuntu.com>
18831
18832 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
18833 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
18834 disk; otherwise grub_fs_probe will not fall back to the next
18835 filesystem.
18836 (grub_pxefs_open): Likewise, for consistency.
18837 Reported and tested by: Ezekiel Grave.
18838
4ebff753
CW
188392011-05-03 Colin Watson <cjwatson@ubuntu.com>
18840
18841 * tests/partmap_test.in: Don't hardcode path to parted.
18842 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
18843
8f942553
CW
188442011-05-01 Colin Watson <cjwatson@ubuntu.com>
18845
18846 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18847 of `ls' to find out which devices are available.
18848
3c62402d
VS
188492011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18850
18851 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18852 than source address for efi mmap buffer.
18853
723f63f2
VS
188542011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18855
18856 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18857 wrong action on non-detecting the magic.
18858
68797f92
VS
188592011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18860
18861 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18862 already supplied by another part of the module (fixes compilation on
18863 FreeBSD).
18864
6be8715d
VS
188652011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18866
18867 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18868 match the one used by mdadm.
18869
e91dba5b
CW
188702011-04-21 Colin Watson <cjwatson@ubuntu.com>
18871
18872 * po/README: Add instructions for creating po/LINGUAS.
18873
c85140b3
CW
188742011-04-21 Colin Watson <cjwatson@ubuntu.com>
18875
18876 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18877 #551428.
18878
18879 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18880 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18881 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18882 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18883 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18884 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18885 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18886 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18887 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18888 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18889 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
18890 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
18891 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18892 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18893 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18894 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18895 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18896 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18897 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18898 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18899 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18900 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18901
92051871
CW
189022011-04-21 Colin Watson <cjwatson@ubuntu.com>
18903
18904 * grub-core/kern/emu/getroot.c
18905 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18906 test that was incorrectly reintroduced in r3214.
18907 Reported by: Ian Dall. Fixes Savannah bug #33133.
18908
b13f79a4
CW
189092011-04-21 Colin Watson <cjwatson@ubuntu.com>
18910
18911 Fix stack pointer handling in 16-bit relocator.
18912
18913 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18914 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18915 Fixes Ubuntu bug #683904.
18916
9b710a88
VS
189172011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18918
18919 * configure.ac: Bump version to 1.99~rc2.
18920
d97e7b59
VS
189212011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18924 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18925 * grub-core/lib/x86_64/setjmp.S: Likewise.
18926 * grub-core/lib/mips/setjmp.S: Likewise.
18927 * grub-core/lib/powerpc/setjmp.S: Likewise.
18928 * grub-core/lib/sparc64/setjmp.S: Likewise.
18929
0624551c
VS
189302011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18933 * grub-core/lib/efi/datetime.c: Likewise.
18934
e8f28d4c
VS
189352011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18936
18937 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18938 New function.
18939 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18940 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18941 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18942
bba79a15
VS
189432011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18944
18945 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18946 bitmap.
18947 (grub_gfxterm_term_init): Likewise.
18948
abc474ef
VS
189492011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18950
18951 Take into account the decorations the computing menu entry width.
18952
18953 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18954 (grub_gfxmenu_create_box): Register get_border_width.
18955 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18956 if available.
18957 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18958 get_border_width.
18959
e74b3947
EP
189602011-04-18 Endres Puschner <code@e7p.de>
18961
18962 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18963 Don't skip first class.
18964
34faa595
VS
189652011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18966
18967 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18968 chunks.
18969 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18970
93a777e3
VS
189712011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18972
18973 Complete 64-bit division support.
18974
18975 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18976 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18977 * include/grub/misc.h (grub_divmod64): Rename to ...
18978 (grub_divmod64_full): ... this.
18979 (grub_divmod64): New inline function.
18980
a5102d94
VS
189812011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18982
18983 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18984
f3fb7b36
VS
189852011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18986
18987 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18988 performing the necessary test.
18989
9ac718b0
VS
189902011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18991
18992 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18993 (kfreebsd.elf): Likewise.
18994 (pc-chainloader.elf): Likewise.
18995 (ntldr.elf): Likewise.
18996
50d2cc5a
VS
189972011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18998
18999 Identify RAID by its UUID rather than (guessed) name.
19000
19001 * grub-core/disk/raid.c (ascii2hex): New function.
19002 (grub_raid_open): Accept mduuid/%s specification.
19003 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
19004 (get_mdadm_uuid): ... this.
19005 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
19006
e03f7bea
VS
190072011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
19008
19009 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
19010 to negative size.
19011
e74c3112
CW
190122011-04-13 Colin Watson <cjwatson@ubuntu.com>
19013
19014 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
19015 btrfs subvolume.
19016 * util/grub.d/20_linux_xen.in: Likewise.
19017
78fa584f
CW
190182011-04-13 Colin Watson <cjwatson@ubuntu.com>
19019
19020 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
19021 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
19022
19023 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19024 Build a list of relevant visible mounts using the mnt_id and
19025 parent_mnt_id fields, and then scan that list at the end.
19026
9d5f8162
CW
190272011-04-12 Colin Watson <cjwatson@ubuntu.com>
19028
19029 * docs/grub.texi (normal): New section.
19030 (normal_exit): New section.
19031 (Embedded configuration): Add reference to normal.
19032 (GRUB only offers a rescue shell): Likewise.
19033 * docs/grub-dev.texi (Error Handling): Fix typo.
19034
09a9d66f
CW
190352011-04-12 Colin Watson <cjwatson@ubuntu.com>
19036
19037 * NEWS: Drop obsolete entry about probe-only btrfs support.
19038
0c676933
CW
190392011-04-12 Colin Watson <cjwatson@ubuntu.com>
19040
19041 * util/import_gcry.py: Fix typo.
19042
ec9f5e0d
VS
190432011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19044
19045 * NEWS: Add btrfs support.
19046
fe6b2cba
VS
190472011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
190482011-04-11 Colin Watson <cjwatson@ubuntu.com>
19049
19050 BtrFS support. Written by me (Vladimir) with important bugfixes and
19051 even more important testing by Colin.
19052
19053 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
19054 * grub-core/Makefile.core.def (btrfs): Add crc.c.
19055 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
19056 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
19057 mem_input_off and mem_input. All users updated to accept in-RAM input.
19058 (gzio_seek): New function.
19059 (test_zlib_header): Likewise.
19060 (grub_gzio_read): Likewise.
19061 (grub_zlib_decompress): Likewise.
19062 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
19063 Accept partial and non-virtual mounts.
19064 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
19065 avoid receiving /dev/dm-X as device.
19066 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
19067 Handle bind and partial mounts.
19068 * grub-core/lib/crc.c: New file.
19069 * include/grub/deflate.h: Likewise.
19070 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
19071 proto.
19072 * include/grub/lib/crc.h: New file.
19073
e745cf0c
VS
190742011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19075
19076 Implement automatic module license checking according to new GNU
19077 guidelines.
19078
19079 * grub-core/kern/dl.c (grub_dl_check_license): New function.
19080 (grub_dl_load_core): Use grub_dl_check_license.
19081 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
19082 (GRUB_MOD_LICENSE): Likewise.
19083 (GRUB_MOD_DUAL_LICENSE): Likewise.
19084 All modules updated.
19085
2a9bc016
CW
190862011-04-11 Colin Watson <cjwatson@ubuntu.com>
19087
19088 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
19089 reserved_first_sector to 1. btrfs reserves plenty of space for boot
19090 loaders.
19091 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
19092
8a3bc88e
VS
190932011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19094
19095 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
19096
af869a4a
VS
190972011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19098
19099 * util/grub-fstest.c (read_file): Report GRUB error if file opening
19100 failed.
19101
9ee8d94f
VS
191022011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19103
19104 * grub-core/kern/file.c (grub_file_open): Don't take into account the
19105 parenthesis in the middle of the filename.
19106
b01abe3e
VS
191072011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19108
19109 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
19110 rather than trying to put initrd way too high.
19111 Reported by: Ryan Lortie <desrt@desrt.ca>
19112
335bda1e
VS
191132011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19114
19115 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
19116 improperly removed string.
19117
5ca1a64d
VS
191182011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19119
19120 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
19121 is_disk.
19122 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
19123 (open_device) Likewise.
19124 (grub_util_biosdisk_close): Likewise.
d8ce9995 19125 Reported by: Mark Korenberg.
5ca1a64d 19126
cbac5b1e
AK
191272011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
19128
19129 * util/grub-mkconfig_lib.in: Add missing quotes.
19130
088cdb65
CW
191312011-04-10 Colin Watson <cjwatson@ubuntu.com>
19132
19133 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
19134 is NULL.
19135
8b8a81fa
VS
191362011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19137
19138 Dynamically count the number of lines for the lower banner.
19139
19140 * grub-core/normal/menu_entry.c (per_term_screen): New member
19141 num_entries.
19142 (print_down): Use num_entries.
19143 (update_screen): Likewise.
19144 (grub_menu_entry_run): Set num_entries.
19145 * grub-core/normal/menu_text.c (menu_viewer_data): New member
19146 num_entries.
19147 (grub_print_message_indented): Move real part to ...
19148 (grub_print_message_indented_real): ... here. Additional argument
19149 dry_run.
19150 (draw_border): Additional argument num_entries.
19151 (print_message): Additional argument dry_run.
19152 (print_entries): Receive menu viewer data.
19153 (grub_menu_init_page): New argment num_entries.
19154 (menu_text_set_chosen_entry): Use num_entries.
19155 (grub_menu_try_text): Likewise.
19156 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
19157 All users updated.
19158 (grub_ucs4_count_lines): New function.
19159 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
19160 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
19161 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
19162 (grub_term_border_height): Likewise.
19163 (grub_term_num_entries): Likewise.
19164
277f955b
VS
191652011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19166
19167 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
19168 Remove now unused string.
19169
536ce85a
CW
191702011-04-09 Colin Watson <cjwatson@ubuntu.com>
19171
19172 * docs/grub-dev.texi (Finding your way around): Update for 1.99
19173 build system.
19174 (Getting started): GRUB is developed in Bazaar now, not Subversion.
19175
19176 (Comment): Fix typo.
19177 (Getting started): General copy-editing.
19178 (Typical Development Experience): Likewise.
19179 (Error Handling): Likewise.
19180 (Video API): Likewise.
19181
2cf09e32
CW
191822011-04-09 Colin Watson <cjwatson@ubuntu.com>
19183
19184 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
19185 throughout.
19186
1ec652f4
VS
191872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19188
19189 * util/grub-mkimage.c (main): Handle special naming of yeeloong
19190 directory.
19191
2c583728
CW
191922011-04-08 Colin Watson <cjwatson@ubuntu.com>
19193
19194 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
19195 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
19196 "development".
19197
d7a565e9
VS
191982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
19201 grub_strcpy since the lines aren't necessarily 0-terminated.
19202
7c2e4909
VS
192032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19204
19205 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
19206 root on legacy.
19207
34c09785
VS
192082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19209
19210 * grub-core/commands/probe.c (options): Argument to set isn't optional.
19211 (GRUB_MOD_INIT): DEVICE isn't optional.
19212
6a6f8058
VS
192132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19214
19215 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
19216 word on new line if it's too long anyway. Fixes a hang.
19217
2e335e90
VS
192182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19219
19220 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
19221 const.
19222 * util/grub-setup.c (main): Reuse md device name if available.
19223 * util/raid.c (grub_util_raid_getmembers): Receive device name and
19224 not GRUB name as argument.
19225 Based on patch by: Florian Wagner <fwagner>.
19226
10a7a867
VS
192272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19228
19229 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19230 Place mbi on low memory for better compatibility.
19231
7a3d6cd9
VS
192322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19233
19234 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
19235
18dd6b47
VS
192362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
192372011-04-08 Colin Watson <cjwatson@ubuntu.com>
19238
19239 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 19240 * conf/Makefile.common: Likewise.
18dd6b47 19241
3c0e3f14
VS
192422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19243
f7148863
VS
19244 * grub-core/normal/menu.c: Add missing include.
19245
192462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19247
19248 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 19249
6d1fa41f
MZ
192502011-04-08 Martin Zuther <mzuther@mzuther.de>
19251
19252 * util/grub-mkconfig.in: Ignore emacsen backup.
19253
478182a8
VS
192542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19255
19256 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
19257 on open.
19258 (grub_util_biosdisk_close): Likewise.
19259
72a89a54
VS
192602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19261
19262 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
19263 const attribute and use grub_isdigit.
19264
b5ebecfa
A
192652011-04-06 Andrey <dev_null@ukr.net>
19266
19267 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
19268 gcc warning.
19269
7755f66e
VS
192702011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19271
19272 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
19273 useful grub_dprintf's.
19274
461121ff
VS
192752011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19276
19277 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
19278
2a961775
VS
192792011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19280
19281 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
19282
adf594cc
VS
192832011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19284
19285 Output errors if theme loading failed.
19286
19287 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
19288 grub_gfxterm_fullscreen on error paths to ...
19289 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
19290 theme loading error.
19291
665900a3
VS
192922011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19293
19294 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
19295 space for older compilers.
19296 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19297
a562b479
VS
192982011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19299
19300 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
19301 and report them as not RAID members since they are useless for GRUB.
19302 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19303
850e9373
VS
193042011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19305
19306 Increase LVM implementation robustness in order not to crash on
19307 configurations like pvmove. Previously code assumed that in some places
19308 only lvs or only pvs are used whereas it seems that they are used
19309 interchangeably.
19310
19311 * grub-core/disk/lvm.c (read_node): New function.
19312 (read_lv): Use read_node.
19313 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
19314 Match volumes only at the end when all lvs are found. Take both
19315 pvs (first) and lvs (second) into account.
19316 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
19317 mirror_* into node_*. All users updated.
19318 (grub_lvm_stripe): Merge this ...
19319 (grub_lvm_mirror): ... and this ...
19320 (grub_lvm_node): ... into this. All users updated.
19321
6f332153
VS
193222011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19323
19324 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
19325 of function to allow further scanning for LVMs.
19326
829ea451
VS
193272011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19328
19329 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
19330 on failed seek as it breaks open fd reusage.
19331
09ceb9a5
VS
193322011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19333
19334 * util/grub-install.in: Add a recommendation to use --recheck before
19335 reporting bugs.
19336
67e11623
VS
193372011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19338
19339 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
19340 are obtained.
19341
caee5efd
VS
193422011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19343
19344 GRUB developper manual based on existing Internals section and
19345 contributions by the various authors with active copyright assignment.
19346
19347 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
19348 * docs/font_char_metrics.png: New file.
19349 * docs/font_char_metrics.txt: Likewise.
19350 * docs/grub-dev.texi: Likewise.
19351 * docs/grub.texi (Internals): Move from here ...
19352 * docs/grub-dev.texi: ... here.
19353
2cccc747
CW
193542011-04-01 Colin Watson <cjwatson@ubuntu.com>
19355
19356 Store the loopback device as data on loopback grub_disk structures,
19357 rather than the file it points to. This fixes use of freed memory
19358 if an existing loopback device is replaced.
19359
19360 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
19361 disk->data, not dev->file.
19362 (grub_loopback_read): Adjust file assignment to match.
19363 Fixes Ubuntu bug #742967.
19364
186ae367
CW
193652011-04-01 Colin Watson <cjwatson@ubuntu.com>
19366
19367 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
19368 when replacing an existing device.
19369
cfed2ad0
VS
193702011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
19371
19372 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
19373 memory corruptions.
19374
19375 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
19376 unsigned.
19377 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
19378 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
19379 (grub_jfs_read_inode): Likewise.
19380 (grub_jfs_opendir): Likewise. Remove now useless casts.
19381 (grub_jfs_getent): Likewise.
19382 Make ino a grub_uint32_t rather than int.
19383 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
19384 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
19385 division and module with bit operations.
19386 (grub_jfs_find_file): Make ino a grub_uint32_t.
19387 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
19388
05d2ed32
CW
193892011-04-01 Colin Watson <cjwatson@ubuntu.com>
19390
19391 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
19392 warning. (This was in fact always initialised before use, but GCC
19393 wasn't smart enough to prove that.)
19394 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
19395
91dc6073
VS
193962011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19397
19398 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
19399 stack alignment.
19400 (efi_wrap_1): Likewise.
19401 (efi_wrap_2): Likewise.
19402 (efi_wrap_3): Likewise.
19403 (efi_wrap_4): Likewise.
19404 (efi_wrap_5): Likewise.
19405 (efi_wrap_6): Likewise.
19406 (efi_wrap_10): Likewise.
19407 Based on information by: Red Hat/Peter Jones.
19408
a8afc1d1
CW
194092011-03-31 Colin Watson <cjwatson@ubuntu.com>
19410
19411 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
19412 set-but-not-used variable.
19413
a826cc7d
CW
194142011-03-31 Colin Watson <cjwatson@ubuntu.com>
19415
19416 * docs/grub.texi (Simple configuration): Be more explicit about
19417 GRUB_DEFAULT, and add an example.
19418 Reported by: Leslie Rhorer.
19419
875b67ba
CW
194202011-03-30 Colin Watson <cjwatson@ubuntu.com>
19421
19422 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
19423 shell".
19424
fd7cd914
AS
194252011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19426
19427 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
19428 * util/grub.d/20_linux_xen.in: Likewise.
19429
090b1b6a
VS
194302011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19431
19432 * util/grub.d/10_linux.in: Try alternative config filenames where
19433 we parse config file.
19434 * util/grub.d/20_linux_xen.in: Likewise.
19435
baad885c
AS
194362011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19437
19438 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
19439 * util/grub.d/20_linux_xen.in: Likewise.
19440
241e41f5
VS
194412011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19442
19443 * grub-core/disk/raid.c (insert_array): Add few potentially
19444 useful grub_util_info.
19445 (grub_raid_register): Likewise.
19446
56445fb2
VS
194472011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19448
19449 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
19450 Preserve partition number in mdadm code path.
19451
c871b1c6
VS
194522011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19453
19454 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
19455 few potentially useful grub_util_info.
19456
5e631b4f
CW
194572011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19458
19459 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
19460
2d5d0333
CW
194612011-03-30 Colin Watson <cjwatson@ubuntu.com>
19462
19463 * docs/grub.texi (default): Use @example rather than nested
19464 itemized lists to avoid breaking gendocs.
19465
3d7ed04e
CW
194662011-03-30 Colin Watson <cjwatson@ubuntu.com>
19467
19468 * docs/grub.texi (Future): Update.
19469
abf04200 194702011-03-30 Colin Watson <cjwatson@ubuntu.com>
19471
19472 * docs/grub.texi (Environment): New chapter.
19473 (Changes from GRUB Legacy): Link to "Environment block" section for
19474 details of limitations.
19475 (Simple configuration): Likewise. Link to documentation of gfxmode
19476 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
19477 respectively.
19478 (Shell-like scripting): Note that normal variables are stored in the
19479 environment.
19480 (gettext): Link to documentation of lang and locale_dir.
19481 (list_env): New section.
19482 (load_env): New section.
19483 (save_env): New section.
19484
19485 (Reporting bugs): Fix typo.
19486
e1ad0edd
VS
194872011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19488
19489 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
19490 the example.
19491
5d803174
VS
194922011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19493
19494 * grub-core/term/at_keyboard.c (set_scancodes)
19495 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
19496
2a2da1d0
CW
194972011-03-30 Colin Watson <cjwatson@ubuntu.com>
19498
19499 * docs/grub.texi (Menu-specific commands): Remove some semantics
19500 that were true in GRUB Legacy but not in GRUB 2.
19501 (submenu): New section.
19502 (false): New section.
19503 (read): New section.
19504 (true): New section.
19505
a7527639
CW
195062011-03-30 Colin Watson <cjwatson@ubuntu.com>
19507
19508 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
19509
195102011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
19511
19512 * docs/grub.texi (Simple configuration): Explain some of the
19513 current limitations of grub-mkconfig.
8a748df2 19514 Reported by: Leslie Rhorer.
e30af029 19515
fc858482
VS
195162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19517
19518 Old macs search for boot.efi rather than for bootia32.efi.
19519
19520 * util/grub-install.in: Copy bootia32.efi to boot.efi.
19521 * util/grub-mkrescue.in: Likewise.
19522 Suggested by: Peter Jones.
19523
e1eb511d
VS
195242011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
19527
70e75364
VS
195282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
19531 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
19532 (grub_lvm_mirror): New struct.
19533 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
19534 (grub_lvm_iterate): Iterate only visible volumes.
19535 (grub_lvm_read): Factor out to ..
19536 (read_lv): ... this. Support mirrors.
19537 (grub_lvm_read): New wrapper function.
19538 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
19539 stripped or mirrored.
19540
fc18f6a3
VS
195412011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19542
19543 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
19544
5c650f4c
CW
195452011-03-29 Colin Watson <cjwatson@ubuntu.com>
19546
19547 * docs/grub.texi (loopback): New section.
19548
61d7156b
CW
195492011-03-29 Colin Watson <cjwatson@ubuntu.com>
19550
19551 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
19552 removed -p option.
19553
994b8264
CW
195542011-03-29 Colin Watson <cjwatson@ubuntu.com>
19555
19556 * docs/grub.texi (BIOS installation): New section, partly based on
19557 previous text in other sections.
19558 (Installing GRUB using grub-install): Replace BIOS discussion with a
19559 cross-reference.
19560 (Images): Likewise.
19561
9e4d19e0
VS
195622011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 * grub-core/kern/emu/hostdisk.c (find_partition_start)
19565 [HAVE_DIOCGDINFO]: Add safety checks.
19566
a307c0b2
VS
195672011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
19570 per default compiled in kernel and prior to 8.0 isn't shipped at all.
19571
b4db4f39
CW
195722011-03-29 Colin Watson <cjwatson@ubuntu.com>
19573
19574 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
19575 real_sb->size is zero (e.g. RAID-0), get the disk size from
19576 real_sb->data_size instead.
19577 Fixes Ubuntu bug #743136.
19578
35e5f84c
VS
195792011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19580
19581 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
19582 printf clauses for printing size and start.
19583
d2e29d81
VS
195842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19585
19586 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
19587 Reported and tested by: Timothy Nikkel.
19588
ed5587af
VS
195892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19590
19591 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
19592 (dirty_region_add_real): ... this.
19593 (dirty_region_add): Don't discard margin refresh when performing
19594 scheduled repaint.
19595
a1dc717c
VS
195962011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19597
19598 * grub-core/lib/relocator.c (allocate_regstart)
19599 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
19600 terminals are capabple of malloc-free operation.
19601 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19602 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19603
9f3677d3
VS
196042011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
19605
19606 * util/grub-setup.c: Copy the partition table zone if floppy support
19607 is disabled, even if no partition table is found.
19608
19609 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
19610 during POST if an invalid partition table is contained in the PBR
19611 of the active partition when GRUB is installed to a partition.
19612
24148725
CW
196132011-03-28 Colin Watson <cjwatson@debian.org>
19614
19615 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
19616 comment.
19617
f329eda7
CW
196182011-03-28 Colin Watson <cjwatson@debian.org>
19619
19620 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
19621 to be specific about what kind of RAID device we're scanning for.
19622
c482ad98
SG
196232011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
19624
19625 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
19626 return freed string.
19627
5ee04984
VS
196282011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19629
19630 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
19631
f4727da9
VS
196322011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19633
19634 Use libgeom on FreeBSD to detect partitions.
19635
19636 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
19637 (grub-mkrelpath): Likewise.
19638 (grub-script-check): Likewise.
19639 (grub-editenv): Likewise.
19640 (grub-mkpasswd-pbkdf2): Likewise.
19641 (grub-fstest): Likewise.
19642 (grub-mkfont): Likewise.
19643 (grub-mkdevicemap): Likewise.
19644 (grub-probe): Likewise.
19645 (grub-setup): Likewise.
19646 (grub-ofpathname): Likewise.
19647 (grub-mklayout): Likewise.
19648 (example_unit_test): Likewise.
19649 (grub-menulst2cfg): Likewise.
19650 * grub-core/Makefile.core.def (grub-emu): Likewise.
19651 (grub-emu-lite): Likewise.
19652 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
19653 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
19654 define HAVE_DIOCGDINFO.
19655 (follow_geom_up) [FreeBSD]: New function.
19656 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
19657 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
19658 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
19659 unconditionally of HAVE_DIOCGDINFO.
19660
82fe6c75
VS
196612011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19662
19663 Fix FreeBSD compilation problem.
19664
19665 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
19666 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
19667
4c6c9431
CW
196682011-03-24 Colin Watson <cjwatson@ubuntu.com>
19669
19670 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
19671 Switch back to page zero before loading a kernel, since some kernel
19672 drivers expect that.
19673 Thanks to: Felix Kuehling.
19674
c7064d94
VS
196752011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19676
19677 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19678 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19679 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19680
3f71cded
VS
196812011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19682
19683 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19684 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19685
ef6de21a
VS
196862011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19687
19688 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19689 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19690 malloc is disabled.
19691
8bc66a2c
VS
196922011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19693
19694 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19695 for modules headers when counting the needed allocation size.
19696
5657722c
VS
196972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19698
19699 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19700 if no ASCII character is found to prevent crash.
19701
41a85f55
AK
197022011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19703
19704 * grub-core/video/bitmap.c (match_extension): Ignore case.
19705
59e1e5f1
VS
197062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19707
19708 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19709
bd4d051a
VS
197102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19711
19712 * grub-core/script/parser.y: Declare "time" as valid argument.
19713
bae7fcc1
PJ
197142011-03-23 Peter Jones <pjones@redhat.com>
19715
19716 Fix incorrect assert failure reporting.
19717
19718 * grub-core/tests/example_functional_test.c (example_test): Add
19719 a failure comment.
19720 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19721 (failure_start): ...this. Check that malloc succeeded.
19722 Don't call xvasprintf. Return failure struct.
19723 (failure_append_vtext): New function.
19724 (failure_append_text): Likewise.
19725 (add_failure): Likewise.
19726 (grub_test_assert_helper): Likewise.
19727 * include/grub/test.h (grub_test_assert_helper): New declaration.
19728 (grub_test_assert): Macro rewritten.
19729
537dc9be
VS
197302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19731
19732 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19733
fa3e01bf
VS
197342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19735
19736 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19737
b1d28404
VS
197382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19739
19740 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19741 into GRUB-style one.
19742
2e3e2e09
VS
197432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19744
19745 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19746 error and not grub_errno.
19747 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19748
ed57e557
VS
197492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19750
19751 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19752 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19753
d1611f01
VS
197542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19755
19756 * grub-core/efiemu/i386/pc/cfgtables.c
19757 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19758 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19759 (grub_xnu_unlock): Likewise.
19760 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19761
7d4e39d6
VS
197622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19763
19764 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19765 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19766 * grub-core/commands/hashsum.c (aliases): Likewise.
19767 * grub-core/commands/setpci.c (pci_registers): Likewise.
19768 * grub-core/disk/usbms.c (attach_hook): Likewise.
19769 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19770 (zio_checksum_table): Likewise.
19771 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19772 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19773 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19774 * grub-core/lib/relocator.c (leftovers): Likewise.
19775 (extra_blocks): Likewise.
19776 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19777 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19778 (modules_last): Likewise.
19779 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19780 (devices): Likewise.
19781 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19782 (modules_last): Likewise.
19783 * grub-core/normal/auth.c (users): Likewise.
19784 * grub-core/normal/context.c (initial_menu): Likewise.
19785 (current_menu): Likewise.
19786 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19787 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19788 (grub_serial_terminfo_input_template): Likewise.
19789 (grub_serial_terminfo_output_template): Likewise.
19790 (grub_serial_terminfo_input): Likewise.
19791 (grub_serial_terminfo_output): Likewise.
19792 (registered): Likewise.
19793 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19794
40fc4659
VS
197952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19796
19797 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19798 grub_video_mode_type_t.
19799 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19800 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
19801 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
19802
2da48d28
VS
198032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19804
19805 * util/grub-install.in: Correct the x86-64 name as x86_64.
19806
9b43bf39
CW
198072011-03-11 Colin Watson <cjwatson@ubuntu.com>
19808
19809 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
19810 initial chunk read from the kernel always includes GRUB's multiboot
19811 header, which is now outside the first sector.
19812
be1a7ce0
CW
198132011-03-09 Colin Watson <cjwatson@ubuntu.com>
19814
19815 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19816 cached mmap_size, so that this works correctly when called multiple
19817 times.
19818 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19819
83a3c48d
CW
198202011-03-09 Colin Watson <cjwatson@ubuntu.com>
19821
19822 * docs/grub.texi (Simple configuration): Tidy up formatting.
19823
57d75699
SJ
198242011-03-07 Szymon Janc <szymon@janc.net.pl>
19825
19826 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19827 Set-but-not-used variable removed.
19828
028501a0
VS
198292011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19830
19831 Workaround yet another IEEE1275 bug.
19832
19833 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
19834 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
19835 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
19836 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
19837 is set.
19838 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19839 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
19840
d998657d
VS
198412011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19842
19843 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19844 error.
19845
fee7cdd4
CW
198462011-02-11 Colin Watson <cjwatson@ubuntu.com>
19847
19848 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19849 empty, since in that case we can only generate either nothing or a
19850 syntactically invalid configuration file.
19851 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19852
97286eb5
CW
198532011-02-09 Colin Watson <cjwatson@ubuntu.com>
19854
19855 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19856 (Making a GRUB bootable CD-ROM): Likewise.
19857 (Invoking grub-mkrescue): New section.
19858 Reported by: Yann Dirson. Fixes Debian bug #612585.
19859
22b28eb3
CW
198602011-02-09 Colin Watson <cjwatson@ubuntu.com>
19861
19862 * util/grub-install.in: Remove unnecessary brackets from tr
19863 arguments.
19864 * util/grub.d/10_hurd.in: Likewise.
19865 * util/grub.d/10_kfreebsd.in: Likewise.
19866 * util/grub.d/10_linux.in: Likewise.
19867 * util/grub.d/20_linux_xen.in: Likewise.
19868 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19869
7e735e43
CW
198702011-02-08 Colin Watson <cjwatson@ubuntu.com>
19871
19872 * include/grub/file.h (not_easly_seekable): Rename to ...
19873 (not_easily_seekable): ... this. Update all users.
19874
800f1881
CW
198752011-01-28 Colin Watson <cjwatson@ubuntu.com>
19876
19877 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19878 grub-mkrescue.
19879
3281d3d6
VS
198802011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19881
19882 * util/grub-mkimage.c (generate_image): Refuse to create the images
19883 bigger than the actual flash (512K) in Loongson machines. 512K is also
19884 the biggest chip supported by them.
19885
3533413c
VS
198862011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19887
19888 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19889
73ae4f4f
VS
198902011-01-22 Anthony DeRobertis <anthony@derobert.net>
19891
19892 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19893 super_offset field.
19894
37f4f608
VS
198952011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19896
19897 * util/grub-install.in: Ignore install device on platforms
19898 where it doesn't make sense. Always use UUIDs except on pc, efi and
19899 sparc64.
19900 Reported by: Daniel Kahn Gillmor.
19901
03a4ccb5
VS
199022011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19903
19904 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19905
ffc8f4d8
VS
199062011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19907
19908 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19909 (iterate_real): Don't rely on partition being non-NULL.
19910
80f23be7
VS
199112011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19912
19913 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19914 supported platforms. Put a compile time assert for this rather than
19915 generate a warning with 32-bit shift.
19916
5d4f4dd5
VS
199172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19918
19919 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19920 logical expression more readable.
19921
e489601a
VS
199222011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19923
19924 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19925 even if some elements have a name.
19926 Reported by: Alexander GQ Gerasiov.
19927
96e0a6ea
CW
199282011-01-22 Colin Watson <cjwatson@ubuntu.com>
19929
19930 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19931 path unreadable if `grub-probe -t abstraction' fails, for example if
19932 memberlist fails on an LVM volume group.
19933 Reported by: Darius Jahandarie.
19934
81431e2b
CW
199352011-01-22 Colin Watson <cjwatson@ubuntu.com>
19936
19937 * docs/grub.texi (Simple configuration): Document
19938 GRUB_PRELOAD_MODULES.
19939
5e79d66a
CW
199402011-01-17 Colin Watson <cjwatson@ubuntu.com>
19941
19942 * .bzrignore: Remove nonexistent grub-pbkdf2.
19943
646ada34
VS
199442011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19945
19946 * configure.ac: Bump version to 1.99~rc1.
19947
04360337
VS
199482011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19949
19950 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19951 for safety.
19952
46c9db88
VS
199532011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19954
19955 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19956 module.
19957
199582011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
19959
19960 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19961
4fbf1852
VS
199622011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19963
19964 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19965 diskdevid.
19966
f1632d4d
VS
199672011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19968
19969 Fix compilation on cygwin.
19970
19971 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19972 -R .drectve on cygwin.
19973 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19974 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19975 (COND_CYGWIN): New condition.
19976 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19977 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19978 not @TARGET_OBJ2ELF@.
19979 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19980 type to determine whether aux is to be used.
19981
0b5e127b
VS
199822011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19983
19984 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19985 realpath'ed device string.
19986 Handle floppy (somewhat).
19987 Issue error in unknown case rather than garbage.
19988 Reported by: Axel Beckert.
19989
173b71e9
VS
199902011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19991
19992 * util/grub.d/00_header.in (load_video): Handle the case when no video
19993 drivers available.
19994 Thanks to: Axel Beckert.
19995
f8f479db
VS
199962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19997
19998 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19999 variable. Fixes problem on big endian platforms.
20000
8fc0a245
VS
200012011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20002
20003 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
20004 It doesn't work well there.
20005
b8494fbe
VS
200062011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20007
20008 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
20009 warning.
20010 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
20011 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
20012 counter.
20013
b44a558c
VS
200142011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20015
20016 Use alias->path rather than buggy "canon".
20017
20018 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
20019 (ofdisk_hash_add): New argument curcan. All users updated.
20020
51fa856c
CW
200212011-01-11 Colin Watson <cjwatson@ubuntu.com>
20022
20023 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
20024
9da068a5
VS
200252011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
20028 loadmask before doing any calculations. Use correct type for offset.
20029 (grub_linux_load64): Likewise.
20030
86205c94
CW
200312011-01-11 Colin Watson <cjwatson@ubuntu.com>
20032
20033 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
20034 with NULL.
20035 (console_grub_equivalences_unshift): Likewise.
20036 Reported by: Daniel Dehennin.
20037
4531a206
VS
200382011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20039
20040 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
20041 (set_env_limn_ro): Likewise.
20042 (GRUB_MOD_INIT): Likewise.
20043 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
20044 ARRAY_SIZE while on it.
20045 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
20046 * grub-core/normal/context.c (grub_env_export): Move from here ...
20047 * grub-core/kern/env.c (grub_env_export): ... here.
20048 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
20049 prefix.
20050 * grub-core/kern/main.c (grub_main): Export root and prefix.
20051 * include/grub/env.h (grub_env_export): Export.
20052 Reported by: Seth Goldberg.
20053
45146057
VS
200542011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20055
20056 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20057 Take into account space used by ELF sections and multiboot palette.
20058 Reported by: Grégoire Sutre.
20059
f093110b
VS
200602011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * BUGS: New file.
20063
3395fe52
VS
200642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20065
20066 Pass more appropriate video id to Linux.
20067
20068 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
20069 grub_video_get_driver_id and variable gfxpayloadforcelfb to
20070 fill have_vga.
20071 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
20072 shift params->lfb_size.
20073 * include/grub/i386/linux.h: Make an enume out of have_vga values.
20074
c2fa6cbb
VS
200752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20076
20077 * util/grub-menulst2cfg.c: Add missing include of misc.h.
20078
b3ff6ff0
VS
200792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20080
20081 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
20082 separator and pass bootpath/devid even if only one of them is available.
20083 Reported by: Seth Goldberg.
20084
ae67942e
VS
200852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20086
20087 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
20088 implementations bug on them.
20089
20090 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
20091 memory.
20092 (filter_memory_map): Likewise.
20093
d570097a
VS
200942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20095
20096 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
20097 Reported by: nebuchadnezzar.
20098
a508e776
VS
200992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20100
20101 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
20102 Reported by: nebuchadnezzar.
20103
dcb883b1
VS
201042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20105
20106 Submenu default support.
20107
20108 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
20109 auto_boot. All users updated.
20110 Declared static.
20111 Handle chosen and default with submenus.
20112 (grub_menu_execute_with_fallback): Declared static.
20113 Don't notify failure if autobooted. Upper level does it.
20114 (menuentry_eq): New function.
20115 (get_entry_number): Use menuentry_eq.
20116 (show_menu): New parameter "autobooted". All users updated.
20117 (grub_show_menu): Likewise.
20118 * include/grub/normal.h (grub_show_menu): Likewise.
20119 * include/grub/menu.h (grub_menu_execute_entry): Removed.
20120 (grub_menu_execute_with_fallback): Likewise.
20121
6fef99b4
VS
201222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20123
20124 * util/grub-mklayout.c (usage): Update help text.
20125
47a77af5
VS
201262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20127
20128 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
20129
ce6bb3ee
VS
201302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20131
20132 * util/grub-menulst2cfg.c (main): Trim the line.
20133
db87be2a
VS
201342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20135
20136 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
20137 (grub_machine_init): Don't check amount of low memory as reportedly
20138 INT 12h can be broken and if low memory is too low we wouldn't have
20139 gotten into grub_machine_init anyway.
20140
c49849cc
VS
201412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20142
20143 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
20144 (grub_machine_mmap_iterate): Take low memory into account
20145
b1969b30
VS
201462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20147
20148 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
20149 badfs.
20150 Reported by: TiCPU.
20151
cf0eaf13
VS
201522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
20155 members errors.
20156
1f060f39
GS
201572011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20158
20159 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
20160 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
20161
a21e5672
GS
201622011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20163
20164 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
20165 openbsd and netbsd types being in part_bsd module.
20166
c88172fa
VS
201672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20168
20169 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
20170 (_FILE_OFFSET_BITS): Likewise.
20171 Reported by: Seth Goldberg.
20172
53798c4b
GS
201732011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20174
20175 * configure.ac: Check for libdevmapper header.
20176
e7121b69
VS
201772011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20178
20179 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
20180 avoid aliasing.
20181 (fzap_lookup): Likewise.
20182 (dnode_get): Likewise.
20183 (make_mdn): Likewise.
20184 (zfs_mount): Likewise.
20185 (fzap_iterate): Use temporary pointer to avoid aliasing.
20186 (grub_zfs_read): Likewise.
20187 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
20188 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
20189 pointers to avoid aliasing.
20190 (grub_cmd_xnu_kernel64): Likewise.
20191 (grub_xnu_load_driver): Likewise.
20192
fc836af9
VS
201932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
20196 aliasing warning.
20197 (grub_cmd_terminal_output): Likewise.
20198 Reported and tested by: Grégoire Sutre.
20199
f9f37648
VS
202002011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20201
20202 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
20203 warning.
20204 Reported and tested by: Grégoire Sutre.
20205
ec1dfd63
VS
202062011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20207
20208 * configure.ac: Do CPU substitution even if it's specified explicitly.
20209 Reported and tested by: Alain Greppin.
20210
9462775a
VS
202112011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20212
20213 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
20214 Reported and tested by: Alain Greppin.
20215
0fd48e35
VS
202162011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20217
20218 Satisfy some bison versions need for inttypes.h.
20219
20220 * grub-core/lib/posix_wrap/inttypes.h: New file.
20221 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
20222 (int16_t): Likewise.
20223 (int32_t): Likewise.
20224 (int64_t): Likewise.
20225 Reported and tested by: Alain Greppin.
20226
43f1bc83
VS
202272011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20228
20229 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
20230 Silence spurious warning.
20231 Reported and tested by: Alain Greppin.
20232
64d1f041
SJ
202332011-01-07 Szymon Janc <szymon@janc.net.pl>
20234
20235 * docs/grub.texi (Support automatic decompression): Update with xz
20236 decompression support.
20237
25953e10
SJ
202382011-01-07 Szymon Janc <szymon@janc.net.pl>
20239
20240 Improve loaders' kernel command line handling.
20241
20242 * grub-core/lib/cmdline.c: New file.
20243 * include/grub/lib/cmdline.h: Likewise.
20244 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
20245 grub_create_loader_cmdline to create kernel command line.
20246 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20247 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
20248 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
20249 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
20250 (linux): Add lib/cmdline.c on common.
20251
e72d259f
VS
202522011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20253
20254 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
20255 inopos might be unaligned.
20256
c0cf26da
VS
202572011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20258
20259 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
20260 endian transformations.
20261 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20262 Based on report by: Doug Nazar.
20263
0ca09e6c
DN
202642011-01-07 Doug Nazar <nazard.michi@gmail.com>
20265
20266 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
20267 array->members[i].start_sector.
20268 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
20269
014b6806
VS
202702011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20271
20272 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
20273 Reported and tested by: Grégoire Sutre.
20274
415502c2
CW
202752011-01-06 Colin Watson <cjwatson@ubuntu.com>
20276
20277 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
20278 avoid causing test failures by clearing the screen.
20279
71b6a2b7
CW
202802011-01-06 Colin Watson <cjwatson@ubuntu.com>
20281
20282 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20283 Fix prefix check to handle the case where dir ends with a slash
20284 (most significantly, "/" itself).
20285 Reported by: Michael Vogt.
20286
b3f8d28a
VS
202872011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20288
20289 Run terminfo_cls on initing terminfo output to clear the screen and
20290 move the cursor to (0,0).
20291
20292 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
20293 Call grub_terminfo_output_init.
20294 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
20295 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
20296 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
20297
4c3e4f37
VS
202982011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20299
20300 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
20301 only when needed.
20302
488f71f1
VS
203032011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20304
20305 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
20306 CTRL.
20307
18a38098
VS
203082011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 The E820 type 5 is BADRAM, not EXEC_CODE.
20311
20312 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20313 (GRUB_E820_BADRAM): New define.
20314 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
20315 into reserved. Propagate BADRAM.
20316 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20317 (GRUB_E820_BADRAM): New define.
20318
9eae2084
VS
203192011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20320
20321 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
20322 Ignore the memory post-4G.
20323 (grub_relocator_firmware_alloc_region): Additional debug statement.
20324
ebc71d28
VS
203252011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20326
20327 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
20328 names.
20329 Reported by: David Pravec.
20330
446fa400
VS
203312011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20332
20333 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
20334 BIOSes.
20335
a0159f37
VS
203362011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20337
20338 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
20339 Prevent overflow.
20340 (grub_reed_solomon_recover): Likewise.
20341
e5146ca1
VS
203422011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20343
20344 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
20345
203462011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
20347
20348 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
20349 variable.
20350
5b1bdf12
CW
203512011-01-04 Colin Watson <cjwatson@ubuntu.com>
20352
20353 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
20354 descriptions of extract_legacy_entries_source and
20355 extract_legacy_entries_configfile.
20356 Reported by: Seung Soo, Ha.
20357
99d925aa
CW
203582011-01-03 Colin Watson <cjwatson@ubuntu.com>
20359
20360 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
20361 on devices that do not implement function 0.
20362
4af0504b
DV
203632011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
20364
20365 * grub-core/fs/hfsplus.c: Make parent unsigned.
20366 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
20367 overflows.
20368 (grub_hfsplus_cmp_extkey): Likewise
20369
469ee10a
VS
203702011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20371
20372 * util/grub-install.in: Correctly use bootloader_id and not
20373 GRUB_DISTRIBUTOR on efibootmgr line.
20374
323a8e9c
VS
203752011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20376
20377 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
20378
1b394975
IC
203792010-12-31 Ian Campbell <ijc@hellion.org.uk>
20380
20381 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
20382 Xen and reorder menu item wording to make it clearer that this entry
20383 will launch Xen. Print separate messages when loading Xen and
20384 Linux.
20385
275bff5f
VS
203862010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20387
20388 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
20389 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
20390 loop in case of incorrect amiga partmap.
20391
307806cb
VS
203922010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20393
20394 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
20395 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
20396 Reported by:EHeM.
20397
b12b923e
VS
203982010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20399
20400 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
20401 spurious warning.
20402 Reported by: crocket
20403
14b48a19
VS
204042010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20405
20406 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
20407 Preload EFIemu.
20408 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
20409
693db2df
VS
204102010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20411
20412 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
20413 is loaded
20414 (grub_cmd_xnu_kextdir): Likewise.
20415 (grub_cmd_xnu_splash): Likewise.
20416
c7638645
VS
204172010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20418
20419 Avoid using Reed-Solomon with 0 redundancy.
20420
20421 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
20422 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
20423 or 0 redundancy.
20424 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
20425 (grub_reed_solomon_recover): Likewise.
20426
25dd4780
VS
204272010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20428
20429 Don't use disk subsystem in freebsd_boot.
20430
20431 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
20432 (freebsd_biosdev): Likewise.
20433 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
20434 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
20435
0b2db943
VS
204362010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
20437
20438 Handling of files of unknown size is currently limited. They can't be
20439 used e.g. for initrd or modules. Moreover gzip handling of not
20440 easily seekable files is buggy. Disable unknown file size for now. May
20441 be inefficient but works.
20442
20443 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
20444 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
20445
5c408d0f
MP
204462010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
20447
20448 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
20449 floppy probe.
20450
190a011a
JD
204512010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
20452
20453 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
20454
022d01b8
SL
204552010-12-25 Shea Levy <shlevy>
20456
20457 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
20458
c4855fdc
VS
204592010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20460
20461 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
20462 Windows Server 2008.
20463 Reported by: Devin Giddings.
20464
0354b867
VS
204652010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20466
20467 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
20468 writing an error message because of async power management.
20469 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
20470 (grub_reboot): Likewise.
20471
ab66c69f
JU
204722010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
20473
20474 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
20475 keep unit tests from failing when they shouldn't.
20476
1426ef35
CW
204772010-12-21 Colin Watson <cjwatson@ubuntu.com>
20478
20479 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
20480 previous patch increased the size of the RS code by 20 bytes (at
20481 least with gcc-4.4), so increase this by 20 bytes to match.
20482 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20483
20641b6b
CW
204842010-12-21 Colin Watson <cjwatson@ubuntu.com>
20485
20486 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
20487 scratch area. Make sure to initialise chosen in standalone mode as
20488 well as non-standalone.
20489 Reported by: Robert Hooker and Andy Whitcroft.
20490 Tested by: Andy Whitcroft.
20491
d060ad60
CW
204922010-12-21 Colin Watson <cjwatson@ubuntu.com>
20493
20494 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
20495 constructing a new unescaped string and passing it to grub_xputs in
20496 one go, rather than passing characters to grub_printf one at a time.
20497
b889cfad
CW
204982010-12-21 Colin Watson <cjwatson@ubuntu.com>
20499
20500 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
20501 initialising utf16.
20502
4e01b6c8
CW
205032010-12-21 Colin Watson <cjwatson@ubuntu.com>
20504
20505 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
20506 comment. Add an extra layer of quotation, requiring the output of
20507 this function to be used in a printf format string.
20508 (gettext_printf): New function.
20509 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
20510 Extract translatable strings from here-documents and use a temporary
20511 variable instead, so that xgettext can find them.
20512 * util/grub.d/10_kfreebsd.in: Likewise.
20513 * util/grub.d/10_linux.in: Likewise.
20514 * util/grub.d/20_linux_xen.in: Likewise.
20515
20516 * po/grub.d.sed: New file.
20517 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
20518 arguments. Set c-format flags on all strings extracted from
20519 util/grub.d/ (xgettext refuses to include these itself for strings
20520 it extracted from a shell file, but these really are c-format).
20521
5318fe98
VS
205222010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20523
20524 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
20525 Avoid next pointing to nowhere.
20526
6c85b743
VS
205272010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20528
20529 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
20530 rather than assuming than rootblock is exactly in the middle.
20531 (grub_affs_label): Likewise.
20532
a2a08a35
VS
205332010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20534
20535 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
20536 reserved_first_sector to 0.
20537 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
20538 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
20539 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
20540
7059d1ec
VS
205412010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 Fix handling of UTF-16 UDF labels.
20544
20545 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
20546 (read_string): .. here.
20547 (grub_udf_label): Use read_string.
20548
30aff4cb
BC
205492010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
20550
20551 * grub-core/normal/menu_entry.c (run): Execute commands from menu
20552 editor under argument scope.
20553 Reported by: Jordan Uggla
20554
5cf86f4b
VS
205552010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20556
20557 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
20558
32570200
CW
205592010-12-18 Colin Watson <cjwatson@ubuntu.com>
20560
20561 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
20562 line, and other keys scroll an entire page (previous handling was
20563 for \r and \n to scroll a page and other keys to scroll two lines).
20564
e1dffcf2
VS
205652010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20566
20567 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20568 Set ptrdest to correct get_physical_target_address rather than
20569 incorrect get_virtual_current_address.
20570
b04298cf 205712010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
20572
20573 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
20574 correct cat to grub_uint8_t * rather than grub_uint32_t *.
20575
5367ecd3
CW
205762010-12-10 Colin Watson <cjwatson@ubuntu.com>
20577
20578 * .bzrignore: Ignore grub-core/rs_decoder.S.
20579
1fb430f8
CW
205802010-12-10 Colin Watson <cjwatson@ubuntu.com>
20581
20582 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
20583 .mo/.mo.gz opening sequence to ...
20584 (grub_mofile_open_lang): ... here.
20585 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
20586 * util/grub.d/00_header.in (grub_lang): Include country part of
20587 locale.
20588 Reported by: Mario Limonciello.
20589
a94a6671
RM
205902010-12-09 Robert Millan <rmh@gnu.org>
20591
20592 * NEWS: Document addition of ZFS support.
20593
24b7938b
CW
205942010-12-04 Colin Watson <cjwatson@ubuntu.com>
20595
20596 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
20597 rather than `/ 2', as the latter requires -Wa,--divide which would
20598 require bumping our minimum binutils version.
20599
bddc3ef6
BC
206002010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
20601
20602 * util/grub-script-check.c (main): Print script line number on
20603 error.
20604
bf78d5b2
RM
206052010-12-01 Robert Millan <rmh@gnu.org>
20606
20607 * grub-core/fs/zfs/zfs.c: New file.
20608 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
20609 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
20610 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
20611 * grub-core/fs/zfs/zfsinfo.c: Likewise.
20612
20613 * include/grub/zfs/dmu.h: Likewise.
20614 * include/grub/zfs/dmu_objset.h: Likewise.
20615 * include/grub/zfs/dnode.h: Likewise.
20616 * include/grub/zfs/dsl_dataset.h: Likewise.
20617 * include/grub/zfs/dsl_dir.h: Likewise.
20618 * include/grub/zfs/sa_impl.h: Likewise.
20619 * include/grub/zfs/spa.h: Likewise.
20620 * include/grub/zfs/uberblock_impl.h: Likewise.
20621 * include/grub/zfs/vdev_impl.h: Likewise.
20622 * include/grub/zfs/zap_impl.h: Likewise.
20623 * include/grub/zfs/zap_leaf.h: Likewise.
20624 * include/grub/zfs/zfs.h: Likewise.
20625 * include/grub/zfs/zfs_acl.h: Likewise.
20626 * include/grub/zfs/zfs_znode.h: Likewise.
20627 * include/grub/zfs/zil.h: Likewise.
20628 * include/grub/zfs/zio.h: Likewise.
20629 * include/grub/zfs/zio_checksum.h: Likewise.
20630
20631 * Makefile.util.def: Build ZFS into libgrubmods.
20632 * grub-core/Makefile.core.def: Build zfs.mod.
20633
3f0f3831
SJ
206342010-11-30 Szymon Janc <szymon@janc.net.pl>
20635
20636 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
20637 variable.
20638 * grub-core/commands/wildcard.c (match_files): Likewise.
20639
3a4253b2
RM
206402010-11-30 Robert Millan <rmh@gnu.org>
20641
20642 * grub-core/loader/i386/bsd.c
20643 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
20644 whether kernel is loaded using grub_loader_is_loaded(), rather
20645 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
20646 certain error conditions.
20647
8c317b27
RM
206482010-11-30 Robert Millan <rmh@gnu.org>
20649
c5c9cd3e
RM
20650 * grub-core/commands/echo.c: Include `<grub/term.h>'.
20651 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 20652
49d3ab46
VS
206532010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20654
20655 Avoid using tricks for initialising endian variables.
20656
20657 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
20658 Make const.
20659 (GRUB_MOD_INIT): Don't byte-swap.
20660 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20661 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
20662 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
20663 (grub_swap_bytes32_compile_time): Likewise.
20664 (grub_cpu_to_le32_compile_time): Likewise.
20665 (grub_cpu_to_le16_compile_time): Likewise.
20666
f420a804
VS
206672010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20668
20669 * util/grub-setup.c (setup): Stop recommending --force. People who
20670 understand the dangers of blocklists are able to find this option
20671 anyway and the ones who don't shouldn't use it anyway.
20672
4e7db17b
RM
206732010-11-26 Robert Millan <rmh@gnu.org>
20674
20675 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20676 Update all users.
20677
9be57a0d
CW
206782010-11-26 Colin Watson <cjwatson@ubuntu.com>
20679
20680 Fix LVM-on-RAID probing.
20681
20682 * util/grub-probe.c (probe): Remember which disk was detected as
20683 RAID (perhaps an LVM physical volume). Use that disk's raidname
20684 rather than that of the top-level disk.
20685
2c7859b3 206862010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 20687
d7647bb6
BC
20688 Fix cmdline argument quotes for setparams command of menuentry
20689 definitions.
7e623b0d
BC
20690
20691 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20692 quotes for arguments.
f866fe80 20693 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 20694 grub_strchrsub function instead.
f866fe80 20695
7955bea0 20696 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 20697
74f72a64
CW
206982010-11-24 Colin Watson <cjwatson@ubuntu.com>
20699
20700 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20701 effort by skipping "." and ".." entries up-front.
20702 Suggested by: Michael Lazarev.
20703
5a407278
CW
207042010-11-24 Colin Watson <cjwatson@ubuntu.com>
20705
20706 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20707 ldflags to ldadd, to fix link line ordering.
20708 (none_decompress): Likewise.
20709
3030d8ec
CW
207102010-11-24 Colin Watson <cjwatson@ubuntu.com>
20711
20712 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20713 platforms.
20714 (grub-emu-lite): Remove kern/emu/cache.S.
20715
b7fbac12
CW
207162010-11-23 Colin Watson <cjwatson@ubuntu.com>
20717
20718 * util/deviceiter.c (compare_devices): If the by-id link for a
20719 device couldn't be resolved, fall back to sorting by the by-id link
20720 rather than segfaulting.
20721 Reported and tested by: Daniel Mierswa.
20722
5225f328
CW
207232010-11-23 Colin Watson <cjwatson@ubuntu.com>
20724
20725 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20726 ldflags, to fix link line ordering.
20727
038b3ce8
CW
207282010-11-23 Colin Watson <cjwatson@ubuntu.com>
20729
20730 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20731 linkers are picky about this.
20732
bf16e98e
CW
207332010-11-23 Colin Watson <cjwatson@ubuntu.com>
20734
20735 * grub-core/Makefile.am (command.lst): Adjust sed expression
20736 ordering so that extended and priority commands aren't treated as
20737 ordinary commands.
20738
7242bab6
CW
207392010-11-23 Colin Watson <cjwatson@ubuntu.com>
20740
20741 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20742 Remove byte-swapping function calls, which are not valid in
20743 structure initialisers.
20744 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20745 non-const.
20746 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20747 grub_gpt_partition_type_bios_boot.
20748
14e8b279
CW
207492010-11-22 Colin Watson <cjwatson@ubuntu.com>
20750
20751 Fix test program build on GNU/kFreeBSD.
20752
20753 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20754 $(LIBNVPAIR)' library dependencies.
20755
e6f63338 207562010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
20757
20758 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20759
cf8ffc38
CW
207602010-11-22 Colin Watson <cjwatson@ubuntu.com>
20761
20762 * util/grub-install.in: Remove excessive quoting that broke
20763 installations to RAID devices.
20764
7f8b0fd7
VS
207652010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20766
20767 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20768 bootloader version instead of 0.
20769
dfd240b1
VS
207702010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20771
20772 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20773 warning.
20774
7b61e609
VS
207752010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20776
20777 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20778 retrieve the metadat sector if size isn't known.
20779 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20780
9dfe92d0
RM
207812010-11-18 Robert Millan <rmh@gnu.org>
20782
20783 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20784 with grub_memcmp().
20785
41cc919e
VS
207862010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20787
20788 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20789 arrow.
20790 Reported by: Jordan Uggla.
20791
1afcc914
VS
207922010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20793
20794 Make better UTF compliant.
20795
20796 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20797 sequences as incorrect.
20798 (grub_is_valid_utf8): Likewise.
20799 (grub_utf8_to_ucs4): Likewise.
20800 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
20801 (grub_ucs4_to_utf8_alloc): Likewise.
20802 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
20803
f1808884
VS
208042010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20805
20806 Make legacy_source behave like source.
20807
20808 * grub-core/commands/legacycfg.c (legacy_file): Don't call
20809 grub_show_menu.
20810 (grub_cmd_legacy_source): Call grub_show_menu if needed.
20811
24ec575b
CW
208122010-11-16 Colin Watson <cjwatson@debian.org>
20813
20814 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20815 (-Wunused implies -Wunused-parameter, but not vice versa).
20816
72b7c7aa
CW
208172010-11-16 Colin Watson <cjwatson@ubuntu.com>
20818
20819 * configure.ac: Make error messages less confusing by testing for
20820 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20821 accepted, but produces a diagnostic if something else is wrong).
20822
e98937aa
VS
208232010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20824
20825 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20826 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20827 (now unused).
20828 (grub_keyboard_controller_init)
20829 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
20830 read the initial state since controller isn't inited yet.
20831
f6bbabc3
VS
208322010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20833
20834 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
20835 allocate_regbeg may need to create new chunk header.
20836
22e7dbb2
VS
208372010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20838
20839 Fix quoting in legacy parser.
20840
20841 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20842 single quotes.
20843 (grub_legacy_parse): Likewise.
20844 Reported by: Jordan Uggla.
20845 Tested by: Jordan Uggla.
20846
03f80960
VS
208472010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20848
20849 Don't add -lgcc on i386 and x86_64.
20850
20851 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20852 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20853 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20854
779dc15b
VS
208552010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20856
20857 * configure.ac: Add -Wno-trampolines when supported.
20858
d20a3b37
MV
208592010-11-14 Modestas Vainius <modax@debian.org>
20860
20861 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20862 fakeraid.
20863
e5360933
GC
208642010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20865
20866 Add generic logical block size support for UDF.
20867
20868 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20869 (GRUB_UDF_BLKSZ): Removed.
20870 (struct grub_udf_data): New field "lbshift" to hold the logical block
20871 size of the file system in log2 format. All users updated.
20872 (sblocklist): Change type to unsigned.
20873 (grub_udf_mount): Change type of "sblklist" to unsigned.
20874 Move AVDP search before VRS recognition, because the latter requires
20875 knowledge of the logical block size, which is detected during the
20876 former.
20877 Detect and validate logical block size during AVDP search, adding
20878 support for block sizes 512, 1024 and 4096.
20879 Make VRS recognition independent of block size.
20880
cb0229c5
GC
208812010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20882
20883 Properly handle deleted files on UDF.
20884
20885 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20886 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20887 set.
20888
406858a8
GC
208892010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20890
20891 Support reading files larger than 2 GiB.
20892
20893 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20894 "offset" to grub_off_t.
20895 (grub_udf_read_file): Likewise for parameter "pos".
20896
130da6a7
VS
208972010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20898
20899 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20900 unavailable.
20901 (Simple configuration): Refer to Changes from GRUB Legacy about
20902 save_env availability.
20903
65e93f6b
VS
209042010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20905
20906 * util/grub-install.in: Ignore empty partition table detection
20907 instead of trying to include part_ module.
20908
1fd08bf1
VS
209092010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20910
20911 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20912 LVM on RAID support.
20913
de1a024f
VS
209142010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20915
20916 Properly define WORDS_BIGENDIAN in wrapped environments.
20917
20918 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20919 definition.
20920 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20921
20922 Reported by: Manoel Rebelo Abranches.
20923 Tested by: Manoel Rebelo Abranches.
20924
bc5dd0b9
VS
209252010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20926
20927 * util/grub-mkconfig.in: Fix quoting.
20928
58c184be
VS
209292010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20930
20931 Support big ext2 files.
20932
20933 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20934 (grub_ext2_read_block): Support triple indirect blocks.
20935 (grub_ext2_read_file): Use 64-bit types and read size_high.
20936 (grub_ext2_open): Read size_high.
20937 Reported by: Ximin Luo.
20938 Tested by: Manoel Rebelo Abranches.
20939
5f0c02b3
VS
209402010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20941
20942 * util/grub-install.in: Handle filenames containing spaces.
20943 Reported by: Jordan Uggla.
20944 Tested by: Jordan Uggla.
20945
4417aae6
VS
209462010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20947
20948 * util/grub-mkconfig.in (grub_script_check): New variable.
20949 Use grub_script_check instead of grub-script-check.
20950 Reported by: Barry Jackson.
20951
7625a68e
VS
209522010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20953
20954 * docs/grub.texi (menu): Correct the order.
20955 Reported by: D. Hugh Redelmeier.
20956
10001ac5
VS
209572010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20958
20959 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20960 jump.
20961
9c4cf53b
MRA
209622010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20963
10001ac5
VS
20964 * include/grub/elfload.h (grub_elf32_size): New parameter.
20965 All users updated.
9c4cf53b
MRA
20966 Return maximum segments alignment.
20967 (grub_elf64_size): Likewise.
20968 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20969 Return maximum segments alignment.
20970 (grub_elf64_size): Likewise.
20971 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
20972 (grub_linux_claimmap_iterate): New function. Uses the
20973 "available" property in the "memory" node for memory allocation
20974 for kernel in the PowerPC loader.
9c4cf53b
MRA
20975 (grub_linux_load32): Correctly find linux entry point offset.
20976 (grub_linux_load64): Likewise.
20977
d2bf06bf
RM
209782010-11-07 Robert Millan <rmh@gnu.org>
20979
20980 On mips-yeeloong, build with -march=loongson2f when this flag is
20981 available (GCC >= 4.4).
20982 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20983 `-march=mips3'.
20984 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20985 or otherwise add -march=mips3.
20986
898c99a2
BC
209872010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20988
87220a68
BC
20989 Suppress shell expansion on echo '*' and echo "*" like cases.
20990 Reported by: Jordan Uggla.
898c99a2
BC
20991
20992 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20993 string arguments before shell expansion.
20994 * tests/grub_cmd_echo.in: New testcases.
20995
4f9b406a
RM
209962010-11-07 Robert Millan <rmh@gnu.org>
20997
20998 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20999 transition.
21000
80c6d25e
VS
210012010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
21002
21003 * grub-core/kern/emu/hostdisk.c
21004 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
21005
4a1a0153
VS
210062010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21007
21008 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
21009 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
21010 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
21011
34706ddc
VS
210122010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21013
21014 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
21015
6972dea9
VS
210162010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21017
21018 * util/grub-install.in: Replace useless recomendation to pass
21019 --modules with a recomendation to report a bug.
21020
9c693bd6
VS
210212010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21022
21023 Properly register serial terminfo.
21024 Reported by: Jordan Uggla
21025
21026 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
21027 const.
21028 (grub_serial_terminfo_output_template): Likewise.
21029 (grub_cmd_serial): Register "serial" with terminfo.
21030 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
21031 grub_serial_terminfo_output.
21032
6c9e4c0c
RM
210332010-11-05 Robert Millan <rmh@gnu.org>
21034
21035 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
21036 needed).
21037
b9b3839f
RM
210382010-11-05 Robert Millan <rmh@gnu.org>
21039
21040 On Yeeloong, pass machine type information to Linux.
21041
21042 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
21043 (LOONGSON_MACHTYPE): New macro, set to
21044 "machtype=lemote-yeeloong-2f-8.9inches".
21045 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
21046 additional argument to Linux.
21047
1a3aaff4
RM
210482010-11-04 Robert Millan <rmh@gnu.org>
21049
21050 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
21051 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
21052 (its SATA disks are detected as slaveless IDE master drives on
21053 kFreeBSD).
21054 Reported by Carsten Aulbert.
21055
a75f4f62
CW
210562010-11-02 Colin Watson <cjwatson@ubuntu.com>
21057
21058 * util/bin2h.c (main): Fix spelling error in generated output.
21059
33b4b0c6
GS
210602010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
21061
21062 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
21063
2b36fbf4
VS
210642010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21065
21066 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
21067 vga= option is supplied.
21068
74aaf558
VS
210692010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21070
21071 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
21072 * util/grub.d/10_kfreebsd.in: Likewise.
21073 * util/grub.d/10_linux.in: Likewise.
21074 * util/grub.d/20_linux_xen.in: Likewise.
21075
6428dec3
VS
210762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21077
21078 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
21079 argument as an argument to no-argument option.
21080
f8729d98
VS
210812010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21082
21083 * util/grub.d/10_linux.in: Add missing load_video with explicit
21084 GRUB_GFXPAYLOAD_LINUX.
21085
89d68fa6
VS
210862010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21087
21088 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
21089
3a1197cd
VS
210902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21091
21092 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
21093 elements with invlid index.
21094 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21095 * grub-core/disk/raid.c (insert_array): Automatically reallocate
21096 members.
21097 * include/grub/raid.h (grub_raid_member): New struct.
21098 (grub_raid_array): Transform devices and start_sector into usage of
21099 grub_raid_member. All users updated
21100 (allocated_devs): New member.
21101
71574288
VS
211022010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21103
21104 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
21105 is modified
21106
8d40ec65
BC
211072010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
21108
21109 NetBSD build fix for getline function conflict from gnulib.
21110
21111 * Makefile.util.def (libgrubkern.a): New library for grub kernel
21112 components that depend on gnulib headers.
21113 (libgrubmods.a): Renamed from earlier libgrub.a.
21114 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
21115
95b9257e
VS
211162010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21117
21118 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
21119 install rather than creating a broken install.
21120
26c53dc6
VS
211212010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21122
21123 * util/grub-setup.c (argp): Remove misleading example of installing to
21124 a partition.
21125
4171b3c5
VS
211262010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21127
21128 * util/grub-setup.c (setup): Clarify the error message.
21129
18568d18
VS
211302010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21131
21132 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
21133
4f6a2e21
VS
211342010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
21135
21136 * grub-core/kern/emu/misc.c
21137 (grub_make_system_path_relative_to_its_root)
21138 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
21139
211402010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
21141
21142 * grub-core/kern/emu/misc.c
21143 (grub_make_system_path_relative_to_its_root): Revert r2882.
21144
e138c458
VS
211452010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
21146
21147 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
21148 useless field head. All users updated.
21149 (free_subchunk): Correct handling of IN_REGION subchunk.
21150
0cbcdf0e
CW
211512010-10-22 Colin Watson <cjwatson@ubuntu.com>
21152
21153 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
21154 (Supported kernels): Likewise.
21155
b65ea155
GS
211562010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21157
21158 Make mktemp invocations portable.
21159
21160 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
21161 exit if mktemp fails.
21162 * tests/grub_script_blockarg.in: Likewise.
21163 * tests/partmap_test.in: Likewise.
21164 * tests/util/grub-shell-tester.in: Likewise.
21165 * tests/util/grub-shell.in: Likewise.
21166 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21167 * Makefile.am: Likewise, and chain shell commands with `&&'
21168 instead of ';'.
21169 * util/grub-mkrescue.in: Use the same explicit template as above, and
21170 exit if mktemp fails.
21171
05f43cdd
BC
211722010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
21173
21174 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
21175 Linux kernel, reported by Dennis Schridde.
21176
800e6a9b
SJ
211772010-10-17 Szymon Janc <szymon@janc.net.pl>
21178
21179 * grub-core/normal/auth.c (grub_auth_check_authentication):
21180 Set-but-not-used variable removed.
21181
d82df574
VS
211822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21183
21184 * docs/grub.texi (GNU/Linux): Document APM unavailability with
21185 32-bit linux protocol.
21186
7bced458
VS
211872010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21188
21189 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
21190 cursor shape for sanity.
21191
5b027690
VS
211922010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21193
21194 * docs/grub.texi (Installation): Document buggy BIOS install.
21195
ba5f65cf
VS
211962010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21197
21198 * docs/grub.texi (Installation): Indent.
21199
fdf2ec9c
VS
212002010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21201
21202 * util/grub-setup.c (setup): New parameter allow_floppy.
21203 (arguments): New member allow_floppy.
21204 (argp_parser): Handle --allow-floppy.
21205 (main): Pass allow_floppy.
21206 * util/grub-install.in: New option --allow-floppy passed though to
21207 grub-setup.
21208
861dfd4c
VS
212092010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21210
21211 * util/grub-install.in: Handle partitionless disks.
21212
f77a8c24
VS
212132010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21214
21215 * util/grub-setup.c (setup): Don't clean blocklists before readability
21216 verfification.
21217
27d9ee32
VS
212182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21219
21220 * docs/grub.texi (Installation): Document embedding zone. Remove
21221 obsolete grub-install example.
21222
6bdda8f8
SJ
212232010-10-16 Szymon Janc <szymon@janc.net.pl>
21224
21225 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
21226 Set-but-not-used variable ifdef'ed.
21227 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
21228 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
21229 variable removed.
21230 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
21231 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
21232 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
21233 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
21234 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
21235 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21236 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
21237 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
21238 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
21239 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
21240 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
21241 Likewise.
21242
e19b016b
VS
212432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21244
21245 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
21246 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
21247 enum value.
21248
6c8d3002
VS
212492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21250
21251 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
21252 synonym to _S5_. Needed for some DSDTs.
21253
c32b51c9
VS
212542010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21255
21256 Userspace ACPI parser debugging.
21257
21258 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
21259 headers and add relevant defines. Don't include standard headers.
21260 (main) [GRUB_DSDT_TEST]: New function.
21261 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
21262 Don't declare functions.
21263
fbfbeb39
VS
212642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21265
21266 Remove dead grub_efi_mm_fini.
21267
21268 * grub-core/kern/efi/mm.c (allocated_page): Removed.
21269 (ALLOCATED_PAGES_SIZE): Likewise.
21270 (MAX_ALLOCATED_PAGES): Likewise.
21271 (allocated_pages): Likewise.
21272 (grub_efi_allocate_pages): Don't record allocated pages.
21273 (grub_efi_free_pages): Likewise.
21274 (grub_efi_mm_init): Likewise.
21275 (grub_efi_mm_fini): Removed.
21276
65f7ed7c
VS
212772010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21278
21279 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
21280 (grub_efi_mm_init): Take into account the memory map size increase.
21281
24977b44
VS
212822010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21283
21284 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
21285 (serial_hw_put): Wait based on real time rather than port reads. Don't
21286 roken ports.
21287 * include/grub/serial.h (grub_serial_port): New field broken.
21288
1eb01cd2
RM
212892010-10-16 Robert Millan <rmh@gnu.org>
21290
21291 * grub-core/kern/emu/misc.c
21292 (grub_make_system_path_relative_to_its_root): Fix premature return
21293 when processing non-root ZFS filesystems.
5f8b440b 21294 Reported by Sergio Talens-Oliag.
1eb01cd2 21295
2d5fed60
RM
212962010-10-15 Robert Millan <rmh@gnu.org>
21297
21298 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
21299 guarantee compressed ones are processed first.
21300
d0f4c1ea
VS
213012010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21302
21303 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
21304 grub_efiemu_autocore.
21305
d87c681f
VS
213062010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21307
21308 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
21309 rather than 0x1b.
21310 (grub_console_getkey): Use correct jae opcode rather than ja.
21311
219b3564
RM
213122010-10-12 Robert Millan <rmh@gnu.org>
21313
21314 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
21315 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
21316 variable. All references updated.
21317
21318 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
21319
20c6bb7e
VS
213202010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
21321
21322 Correctly distinguish mdraid flavours.
21323
21324 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
21325 (insert_array): New argument raid.
21326 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
21327 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
21328 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
21329
74baff84
VS
213302010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
21331
21332 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
21333 handling of special keys.
21334
3ef068df 213352010-10-02 Aleš Nesrsta <starous@volny.cz>
21336
c7980ad9
VS
21337 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
21338 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 21339
a9455194 213402010-10-02 Aleš Nesrsta <starous@volny.cz>
21341
c7980ad9
VS
21342 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
21343 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
21344 users updated.
a9455194 21345 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 21346 Use right endpoint when querying descriptor.
a9455194 21347
441cfe65
VS
213482010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21349
21350 Clear out 0x80 color bit on EFI.
21351 Tested by: decoder
21352 Reported by: decoder and meta tech.
21353
21354 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
21355 (grub_console_setcolorstate): Clear out 0x80 bit.
21356 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
21357 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
21358 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
21359
bf26bcc4
VS
213602010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21361
21362 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
21363 Set to "auto".
21364
6e3c515d
VS
213652010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21366
21367 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
21368 mo_file after freeing.
21369
e6d983ba
VS
213702010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21371
21372 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
21373
74ccb5b5
VS
213742010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21375
21376 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
21377 flags.
21378
17821956
VS
213792010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21380
21381 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
21382 usage.
21383
ee74fa48
VS
213842010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21385
21386 Put terminfo into core on ieee1275 and yeeloong (needed for console).
21387
21388 * gentpl.py: New groups terminfoinkernel and terminfomodule.
21389 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
21390 and terminfo.h when needed.
21391 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
21392 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
21393 (terminfo): Enable only on terminfokernel.
21394 (extcmd): Likewise.
21395 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
21396 * include/grub/lib/arg.h: Likewise.
21397 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
21398 incorrect usage of ->.
21399
aa438e68
VS
214002010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21401
21402 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
21403 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
21404
57994012
VS
214052010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21406
21407 Fix coreboot compilation.
21408
21409 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21410 Take VBE info into account even if only text is supported.
21411 (fill_vbe_info): Take into account the case when only VGA text
21412 is supported.
21413 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
21414 on coreboot, multiboot and qemu.
21415
2a406611
VS
214162010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21417
21418 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
21419 debug messages.
21420 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
21421
d33613fc
VS
214222010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21423
21424 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
21425 parameters.
21426
44a1b432
VS
214272010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21428
21429 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
21430 if they were BSD-style.
21431
edde54e6
VS
214322010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21433
21434 * grub-core/boot/i386/pc/lnxboot.S: Replace
21435 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
21436 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
21437
b65830fa
VS
214382010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21439
21440 Write embedding zone using Reed-Solomon.
21441
21442 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
21443 * grub-core/Makefile.am (rs_decoder.S): New target.
21444 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
21445 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
21446 (multiboot): Move to RS part.
21447 (post_reed_solomon): New label.
21448 (grub_boot_drive): Move to non-RS part since it's modified in memory
21449 on boot.
21450 Include rs_decoder.S.
21451 * grub-core/lib/reed_solomon.c: New file.
21452 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
21453 New definition.
21454 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
21455 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
21456 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
21457 * include/grub/partition.h (grub_partition_map): Change prototype of
21458 embed to allow returning additional sectors.
21459 * include/grub/reed_solomon.h: New file.
21460 * util/grub-setup.c (setup): Handle Reed-Solomon.
21461
0b4b227f
CW
214622010-09-28 Colin Watson <cjwatson@ubuntu.com>
21463
21464 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21465 i386 and x86-64 definedness tests.
21466
f772623b
YB
214672010-09-27 Yves Blusseau <blusseau@zetam.org>
21468
21469 Fix generation of kernel_syms.lst
21470
21471 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
21472 ASM_PREFIX
21473
8e57a6ca
RM
214742010-09-26 Robert Millan <rmh@gnu.org>
21475
21476 Support degraded ZFS arrays in "grub-probe -t device" resolution.
21477
21478 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
21479 the pool is an array of devices, iterate through it and return the
21480 first device that passes a stat() test (instead of blindly returning
21481 the first one).
21482
f9130836
RM
214832010-09-26 Robert Millan <rmh@gnu.org>
21484
21485 Build fixes for GNU/kFreeBSD.
21486
21487 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
21488 to programs that require ZFS conversion.
21489 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
21490 kernels that don't have FLOPPY_MAJOR.
21491
96510faf
BC
214922010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21493
21494 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
21495
449333eb
BC
214962010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21497
21498 Fix grub-emu build.
21499
21500 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
21501 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
21502 mdraid09 and mdraid1x.
21503
e1fd1939
CW
215042010-09-24 Colin Watson <cjwatson@ubuntu.com>
21505
21506 Re-enable grub-extras.
21507
21508 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
21509 avoid confusing Automake. Run autogen only twice, once for the top
21510 level and once for grub-core. Add Makefile.util.def and
21511 Makefile.core.def from extra modules to the appropriate autogen
21512 invocations. If Makefile.common exists in an extra module, include
21513 it in both Makefile.util.am and grub-core/Makefile.core.am;
21514 similarly, include any Makefile.util.common file in Makefile.util.am
21515 and any Makefile.core.common file in grub-core/Makefile.core.am.
21516 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
21517 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
21518 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
21519 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
21520
21521 * gentpl.py (gvar_add): Turn GVARS into a set.
21522 (global_variable_initializers): Sort global variables on output.
21523 (vars_init): New function.
21524 (first_time): Likewise.
21525 (library): Ensure that non-global variable initialisations are
21526 emitted before the first time we emit code for a library block.
21527 Append to variables rather than setting them. Only emit
21528 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
21529 each conditional path.
21530 (program): installdir() emits an Autogen macro, so must be passed to
21531 var_add rather than gvar_add.
21532 (data): Likewise.
21533 (script): Likewise.
21534 (rules): New function, centralising handling for different target
21535 types. Set up Guile association lists for first_time and vars_init,
21536 and send most output to a diversion so that variable initialisations
21537 can be emitted first.
21538 (module_rules): Use new rules function.
21539 (kernel_rules): Likewise.
21540 (image_rules): Likewise.
21541 (library_rules): Likewise.
21542 (program_rules): Likewise.
21543 (script_rules): Likewise.
21544 (data_rules): Likewise.
21545
21546 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
21547
21548 * .bzrignore: Add contrib and grub-core/contrib. Remove
21549 grub-core/Makefile.gcry.am.
21550
1d12cf29
YB
215512010-09-24 Yves Blusseau <blusseau@zetam.org>
21552
21553 * grub-core/lib/LzFind.c: Add missing include.
21554 * grub-core/lib/LzmaEnc.c: Likewise.
21555 * grub-core/script/lexer.c: Likewise.
21556 * grub-core/script/yylex.l: Likewise.
21557 * util/grub-macho2img.c: Likewise.
21558 * util/grub-menulst2cfg.c: Likewise.
21559 * util/grub-mklayout.c: Likewise.
21560 * util/grub-mkpasswd-pbkdf2.c
21561 * util/grub-mkrelpath.c: Likewise.
21562 * util/resolve.c: Likewise.
21563
dd363028
BC
215642010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
21565
21566 * Makefile.util.def (example_unit_test): Add
21567 grub-core/gnulib/libgnu.a.
21568
f5a109e2
GS
215692010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
21570
21571 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
21572
6d0fa83c
VS
215732010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
21574
21575 Support xz compression on yeeloong.
21576
21577 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
21578 * configure.ac: Check for LZMA.
21579 * grub-core/Makefile.core.def (xz_decompress): New target.
21580 (none_decompress): Likewise.
21581 * grub-core/boot/decompressor/minilib.c: New file.
21582 * grub-core/boot/decompressor/none.c: Likewise.
21583 * grub-core/boot/decompressor/xz.c: Likewise.
21584 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
21585 * grub-core/kern/mips/cache_flush.S: Likewise.
21586 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
21587 * grub-core/kern/mips/startup.S: Move first stage to ...
21588 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
21589 nomacro.
21590 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
21591 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
21592 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
21593 Allocate statically.
21594 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
21595 Allocate statically or use scratch. Don't check CRC32.
21596 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
21597 Allocate statically. Don't check CRC32.
21598 * include/grub/decompressor.h: New file.
21599 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
21600 Removed.
21601 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
21602 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
21603 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
21604 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
21605 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
21606 * util/grub-mkimage.c (grub_compression_t): New type.
21607 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
21608 (image_target_desc): New field default_compression.
21609 (image_targets): Adjust yeeloong targets.
21610 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
21611 (compress_kernel): New parameter comp.
21612 (generate_image): Likewise. Handle new compression case.
21613 (options): New option --compression
21614 (help): Likewise.
21615 (main): Handle new option.
21616
1b655af6
GS
216172010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
21618
21619 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
21620
8f03f0b5
CW
216212010-09-22 Colin Watson <cjwatson@ubuntu.com>
21622
21623 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21624 typo in __i386__ conditional.
21625
7835dfd3
VS
216262010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21627
21628 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
21629 include.
21630
e255597e
VS
216312010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21632
6d0fa83c 21633 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
21634
21635 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
21636 new tags as supported.
21637 (acpiv2_size): New function.
21638 (grub_multiboot_get_mbi_size): Take new tags into account.
21639 (grub_multiboot_make_mbi): Add new tags.
21640 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 21641
6cc14051 216422010-09-21 Aleš Nesrsta <starous@volny.cz>
21643
21644 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
21645 Added missing configuration of USB device.
21646
df7769d8
CW
216472010-09-21 Colin Watson <cjwatson@ubuntu.com>
21648
21649 * grub-core/normal/menu_entry.c (run): Make sure we always return
21650 a value.
21651
b031012d
CW
216522010-09-21 Colin Watson <cjwatson@ubuntu.com>
21653
21654 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
21655 NumberOfPages is UINT64 according to the UEFI specification, not
21656 UINTN. Fix printf format.
21657
174de8f3
CW
216582010-09-21 Colin Watson <cjwatson@ubuntu.com>
21659
21660 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
21661 `err' to grub_usb_err_t.
21662 Reported and tested by: KESHAV P.R.
21663
d7dbe923
CW
216642010-09-21 Colin Watson <cjwatson@ubuntu.com>
21665
21666 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
21667 tpart non-const, so that we can assign to it. (Since this is a
21668 typedef, the constness refers to the pointer rather than what it
21669 points to.)
21670
8d5e2af3
CW
216712010-09-21 Colin Watson <cjwatson@ubuntu.com>
21672
21673 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21674 $(top_srcdir)/grub-core/gnulib as well as
21675 $(top_builddir)/grub-core/gnulib.
21676 Reported by: KESHAV P.R.
21677
5c527783
CW
216782010-09-21 Colin Watson <cjwatson@ubuntu.com>
21679
21680 * util/grub-install.in: Fix the bootloader ID option to be
21681 consistently --bootloader-id, not --bootloader_id.
21682 Reported by: KESHAV P.R.
21683
d309a16e
CW
216842010-09-21 Colin Watson <cjwatson@ubuntu.com>
21685
21686 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21687 check hash checksum." consistently translatable.
21688
b830cd16
YB
216892010-09-21 Yves Blusseau <blusseau@zetam.org>
21690
21691 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21692 $(top_builddir).
21693
c4fe27a8
CW
216942010-09-21 Colin Watson <cjwatson@ubuntu.com>
21695
21696 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21697 (GRUB_MOD_INIT): Register sha1sum command.
21698 (GRUB_MOD_FINI): Unregister sha1sum command.
21699
a4c1d277
YB
217002010-09-21 Yves Blusseau <blusseau@zetam.org>
21701
21702 Keep boot and grub directory names in sync with utils scripts
21703
21704 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21705 * config.h.in: Add previous macros.
21706 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21707 * util/grub-install.in: Use $bootdir and $grubdir variables.
21708
4eff79d2
CW
217092010-09-21 Colin Watson <cjwatson@ubuntu.com>
21710
21711 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21712 convert partition names to disk names if the new `convert' parameter
21713 is set.
21714 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21715 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21716 disk in its own right. This can happen with Xen disk images.
21717
934d7e44
YB
217182010-09-21 Yves Blusseau <blusseau@zetam.org>
21719
21720 * util/grub-editenv.c: Update strings to avoid warnings when generating
21721 grub.pot file.
21722 * util/grub-setup.c: Likewise.
934d7e44 21723
df3367cc
VS
217242010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21725
21726 * configure.ac: Change version to 1.99~beta0.
21727
77a94e98
VS
217282010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21729
21730 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21731 Add BADRAM.
21732 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21733 Likewise.
21734 * include/multiboot.h: Resynced with specification.
21735 * include/multiboot2.h: Likewise.
21736
269004c1
CW
217372010-09-21 Colin Watson <cjwatson@ubuntu.com>
21738
21739 Fix po directory handling.
21740
21741 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21742 * grub-core/gnulib/Makefile.am: Import gettext module.
21743 * m4/gnulib-cache.m4: Likewise.
21744 * m4/gnulib-comp.m4: Likewise.
21745 * m4/gettext.m4: New file, from gnulib.
21746 * m4/glibc2.m4: Likewise.
21747 * m4/iconv.m4: Likewise.
21748 * m4/intdiv0.m4: Likewise.
21749 * m4/intl.m4: Likewise.
21750 * m4/intldir.m4: Likewise.
21751 * m4/intlmacosx.m4: Likewise.
21752 * m4/intmax.m4: Likewise.
21753 * m4/inttypes-pri.m4: Likewise.
21754 * m4/lcmessage.m4: Likewise.
21755 * m4/lib-ld.m4: Likewise.
21756 * m4/lib-link.m4: Likewise.
21757 * m4/lib-prefix.m4: Likewise.
21758 * m4/lock.m4: Likewise.
21759 * m4/nls.m4: Likewise.
21760 * m4/po.m4: Likewise.
21761 * m4/printf-posix.m4: Likewise.
21762 * m4/progtest.m4: Likewise.
21763 * m4/threadlib.m4: Likewise.
21764 * m4/uintmax_t.m4: Likewise.
21765 * m4/visibility.m4: Likewise.
21766 * po/Makefile.am: Remove.
21767 * po/Makefile.in.in: New file, from gettext.
21768 ($(DOMAIN).pot-update): Support POTFILES-shell.
21769 * po/Makevars: New file.
21770 * po/POTFILES-shell: Rename to ...
21771 * po/POTFILES-shell.in: ... this. Update.
21772 * po/POTFILES: Rename to ...
21773 * po/POTFILES.in: ... this. Update.
21774 * po/Rules-quot: New file, from gettext.
21775 * po/boldquot.sed: Likewise.
21776 * po/en@boldquot.header: Likewise.
21777 * po/en@quot.header: Likewise.
21778 * po/insert-header.sin: Likewise.
21779 * po/quot.sed: Likewise.
21780 * po/remove-potcdate.sin: Likewise.
21781
3e0fa5d0
VS
217822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21783
21784 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21785
ade9bd66
VS
217862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21787
21788 * util/grub.d/20_linux_xen.in: Use submenus.
21789
fc55cc4c
VS
217902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21791
21792 Support submenus.
21793
21794 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21795 parameter submenu. All users updated.
21796 * grub-core/normal/main.c (free_menu): Rename to ...
21797 (grub_normal_free_menu): ... this. Made global.
21798 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21799 if requested.
21800 * grub-core/normal/menu_entry.c (screen): New field submenu.
21801 (make_screen): Set submenu.
21802 (run): Open new context if requested.
21803 * include/grub/menu.h (grub_menu_entry): New field submenu.
21804 * include/grub/normal.h (grub_normal_free_menu): New proto.
21805
600cedf7
VS
218062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21807
21808 Menu entries extractor.
21809
21810 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
21811 variants.
21812 (GRUB_MOD_INIT): Register new variants.
21813 (GRUB_MOD_FINI): Unregister new variants.
21814 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21815 into grub_cmd_legacy_source.
21816 (grub_cmd_legacy_source): Implement extractor variants.
21817 (GRUB_MOD_INIT): Register new variants.
21818 (GRUB_MOD_FINI): Unregister new variants.
21819 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21820 as an extractor.
21821 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21822 search as an extractor.
21823 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21824 test as an extractor.
21825 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21826 as an extractor.
21827 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21828 (grub_env_new_context): New function.
21829 (grub_env_context_open): Likewise.
21830 (grub_env_extractor_open): Likewise.
21831 (grub_env_extractor_close): Likewise.
21832 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21833 grub_extractor_level.
21834 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
21835 * include/grub/env.h (grub_env_extractor_open): New proto.
21836 (grub_env_extractor_close): Likewise.
21837 * include/grub/normal.h (grub_extractor_level): New external variable.
21838
7bda3a87
VS
218392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21840
21841 Make cutmem accept a region specification.
21842 Suggested by: Samuel Thibault
21843
21844 * grub-core/mmap/mmap.c (parsemem): New function.
21845 (grub_cmd_cutmem): Handle new arguments.
21846
2ea57f88
VS
218472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21848
21849 New command cutmem.
21850
21851 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21852 (GRUB_MOD_INIT): Register new command.
21853 (GRUB_MOD_FINI): Unregister new command.
21854
74342e31
VS
218552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21856
21857 Support some annoying BSD and Minix subpartitions.
21858
21859 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21860 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21861 Properly handle concatenation.
21862 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21863 * grub-core/normal/completion.c (iterate_partition): Likewise.
21864 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21865 contain partition. All users updated.
21866 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21867 struct.
21868 (grub_openbsdlabel_partition_map): Likewise.
21869 (bsdlabel_partition_map_iterate): Rename to ..
21870 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21871 (bsdlabel_partition_map_iterate): New function.
21872 (netopenbsdlabel_partition_map_iterate): Likewise.
21873 (netbsdlabel_partition_map_iterate): Likewise.
21874 (openbsdlabel_partition_map_iterate): Likewise.
21875 (GRUB_MOD_INIT): Register new partmaps.
21876 (GRUB_MOD_FINI): Unregister new partmaps.
21877 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21878 (grub_partition_msdos_iterate): ... this. All users updated.
21879 Don't support embedding other than in a minix partition.
21880 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21881 proto.
21882 * include/grub/partition.h (grub_partition): New field msdostype.
21883 * util/grub-install.in: Handle openbsd and netbsd types being in
21884 part_bsd module.
21885
1e8d555b
VS
218862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21887
21888 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21889
21890 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
21891 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21892 (mdraid09): ... this.
21893 (mdraid1x): New module.
21894 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21895 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21896
899d8af4
VS
218972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21898
21899 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21900 vsprintf.
21901
40901acd
CW
219022010-09-20 Colin Watson <cjwatson@ubuntu.com>
21903
21904 * grub-core/commands/efi/lsefimmap.c: Correct header.
21905 * NEWS: Update.
21906
dfe3b247
CW
219072010-09-20 Colin Watson <cjwatson@ubuntu.com>
21908
21909 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21910 as printf format strings; the translations might contain '%' which
21911 could cause a crash.
21912 (main): Likewise.
21913 * util/grub-fstest.c (argp_parser): Likewise.
21914 * util/grub-setup.c (argp_parser): Likewise.
21915 (main): Likewise.
21916
3286a4b4
VS
219172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21918
21919 Use argp in grub-fstest.
21920
21921 * util/grub-fstest.c: Don't include getopt.h.
21922 Include argp.h.
21923 (root): New variable.
21924 (args_count): Likewise.
21925 (nparm): Likewise.
21926 (num_disks): Likewise.
21927 (images): Likewise.
21928 (cmd): Likewise.
21929 (debug_str): Likewise.
21930 (args): Likewise.
21931 (options): Transformed to argp.
21932 (usage): Removed.
21933 (main): Split argument parsing into ...
21934 (argp_parser): ... this. Changed to argp format.
21935 (argp): New variable.
21936 (main): Use argp_parse.
21937
3dccbe4b
TG
219382010-09-20 Tristan Gingold <gingold@free.fr>
219392010-09-20 Robert Millan <rmh.grub@aybabtu.com>
219402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21941
21942 * grub-core/commands/efi/lsefimmap.c: New file.
21943 * grub-core/Makefile.core.def (lsefimmap): New module.
21944 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21945
38c259a7
VS
219462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21947
21948 Pause the execution (10s max) if any errors are displayed so the user
21949 has a chance to see them.
21950
21951 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21952 (grub_print_error): Increment grub_err_printed_errors.
21953 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21954 execution if any errors were displayed.
21955 (show_menu): Remove old code for pause.
21956 * grub-core/normal/menu_entry.c (run): Likewise.
21957 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21958 users updated.
21959 (grub_normal_get_char_counter): Likewise.
21960 * include/grub/err.h (grub_err_printed_errors): New external variable.
21961 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21962
f218b09c
VS
219632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21964
21965 Support multiboot VBE info.
21966
21967 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21968 Take VBE info into account.
21969 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21970 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21971 Call fill_vbe_info when appropriate.
21972 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21973 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21974 as supported.
21975 (grub_multiboot_get_mbi_size): Take new tags into account.
21976 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21977 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21978 Call fill_vbe_tag when appropriate.
21979 (grub_multiboot_make_mbi): Properly align tags.
21980 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21981 function.
21982 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21983 proto.
21984 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21985
a9cc5438
VS
219862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21987
21988 Suport manual terminal geometry specification.
21989
21990 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21991 Save state in grub_ofconsole_terminfo_output.
21992 (grub_ofconsole_term): Use grub_terminfo_getwh.
21993 (grub_ofconsole_getwh): Removed.
21994 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21995 (grub_serial_term): Use grub_terminfo_getwh.
21996 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21997 (options): New struct.
21998 (OPTION_*): New enum.
21999 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
22000 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
22001 width and height.
22002 (grub_terminfo_getwh): New proto.
22003 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
22004
1a8fed20
VS
220052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22006
22007 Handle legacy "terminal" command.
22008
22009 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
22010 and FLAG_TERMINAL.
22011 (legacy_commands): Add terminal and title.
22012 (grub_legacy_parse): Handle terminal. Simplify title handling.
22013
41e9c57d
VS
220142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22015
22016 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
22017 parameters overflow.
22018
61c874c5
CW
220192010-09-20 Colin Watson <cjwatson@ubuntu.com>
22020
22021 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
22022 widthspec.h.
22023
22024 * docs/grub.texi (Shell-like scripting): Document `!'.
22025 (Network): Simplify using new i386-pc-pxe format. Mention
22026 grub-mknetdir.
22027
22028 * NEWS: Update.
22029
943682b4
CW
220302010-09-20 Colin Watson <cjwatson@ubuntu.com>
22031
22032 * Makefile.am (SUBDIRS): Restore "."; it's important to force
22033 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
22034 when needed.
22035
6d3d698d
CW
220362010-09-20 Colin Watson <cjwatson@ubuntu.com>
22037
22038 * grub-core/commands/efi/lsefisystab.c: Correct header.
22039 * grub-core/commands/efi/lssal.c: Likewise.
22040 * grub-core/commands/testload.c: Likewise.
22041
c982589f
CW
220422010-09-20 Colin Watson <cjwatson@ubuntu.com>
22043
22044 * util/grub-mkrescue.in: Add explicit root argument to --set to
22045 prevent the UUID being interpreted as an argument to --set (matches
22046 previous change to prepare_grub_to_access_device).
22047
a63c31b6
CW
220482010-09-20 Colin Watson <cjwatson@ubuntu.com>
22049
22050 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
22051 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
22052 the verbosity of later #ifs.
22053 (find_partition_start): Define this function on FreeBSD too.
22054 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
22055 function.
22056 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
22057 on FreeBSD.
22058
6439b8ee
YB
220592010-09-20 Yves Blusseau <blusseau@zetam.org>
22060
22061 * util/grub-editenv.c: Use argp instead of getopt.
22062
c5930ec8
YB
220632010-09-20 Yves Blusseau <blusseau@zetam.org>
22064
22065 * util/grub-setup.c: Use argp instead of getopt.
22066
15c69261
YB
220672010-09-20 Yves Blusseau <blusseau@zetam.org>
22068
22069 Use gnulib-tool to create gnulib source files.
22070
22071 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
22072 grub-core/gnulib directories
22073 * .bzignore: Add **/.deps and autogenerated gnulib files
22074 * configure.ac: Assign auxiliary directory to build-aux, add invocation
22075 of gnulib macros, add grub-core/gnulib/Makefile
22076 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
22077 include m4 directory to aclocal.
22078 * Makefile.util.def: Remove direct compilation of gnulib source files
22079 and use the new grub-core/gnulib/libgnu.a.
22080 * build-aux/config.rpath: move config.rpath from top directory to
22081 build-aux
22082 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
22083 in gnulib headers
22084 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
22085 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
22086 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
22087 header.
22088 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
22089 string.
22090
e511c9f5
YB
220912010-09-20 Yves Blusseau <blusseau@zetam.org>
22092
22093 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
22094 grub-core/genmod.sh and grub-core/gensyminfo.sh
22095
c2dede05
BC
220962010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
22097
22098 Add a test for echo command options.
22099
22100 * tests/grub_cmd_echo.in: New test.
22101 * Makefile.util.def: Rules for new test.
22102
c55f5018
SJ
221032010-09-20 Szymon Janc <szymon@janc.net.pl>
22104
22105 Remove crc.mod and move crc command to hashsum.mod.
22106 Remove lib/crc.c - users updated to use gcrypt implementation.
22107
22108 * grub-core/commands/crc.c: Removed.
22109 * grub-core/Makefile.core.def (crc): Module removed.
22110 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
22111 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
22112 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
22113 * grub-core/lib/crc.c: Removed.
22114 * include/grub/lib/crc.h: Removed.
22115 * Makefile.util.def (crc): Remove lib/crc.c
22116 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
22117 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
22118 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
22119 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
22120 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
22121 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
22122
e0337366
VS
221232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22124
22125 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
22126
742f9232
VS
221272010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22128
22129 Split config.h for util and core.
22130
22131 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
22132 (ADDR32): Likewise.
22133 (DATA32): Likewise.
22134 (BSS_START_SYMBOL): Likewise.
22135 (END_SYMBOL): Likewise.
22136 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
22137 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
22138 * config.h.in: New file.
22139 * configure.ac: Use config-util.h as config define file.
22140 Rename MACHINE into GRUB_MACHINE. All users updated.
22141 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
22142 updated.
22143 (NESTED_FUNC_ATTR): Likewise.
22144 Substitue new variables.
22145 (COND_HAVE_ASM_USCORE): New conditional.
22146 * grub-core/Makefile.am (ASM_PREFIX): New variable.
22147 (kernel_syms.lst): Use ASM_PREFIX.
22148 * grub-core/kern/emu/console.c: Include config-util.h.
22149 * grub-core/kern/emu/misc.c: Likewise.
22150 * grub-core/kern/emu/mm.c: Likewise.
22151 * include/grub/emu/misc.h: Likewise.
22152 * include/grub/libgcc.h: Likewise.
22153
39feb0e8
VS
221542010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22155
22156 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
22157 constants usage.
22158 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
22159 Fix GRUB_TERM_KEY_* constants usage.
22160 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
22161
9af6dac3
VS
221622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22163
22164 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
22165 print pointer.
22166 * grub-core/bus/usb/uhci.c: Remove empty define.
22167 (grub_uhci_check_transfer): Add missing cast.
22168 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
22169 print pointer.
22170 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
22171 PRIuGRUB_SIZE.
22172 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
22173
d6d94820
VS
221742010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22175
22176 * grub-core/Makefile.core.def (legacycfg): Add
22177 lib/i386/pc/vesa_modes_table.c on emu.
22178
3572f2b6
BC
221792010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22180
22181 Reduce number of temporary files generated by build system.
22182
22183 * grub-core/gencmdlist.sh: Removed.
22184 * grub-core/genfslist.sh: Removed.
22185 * grub-core/genhandlerlist.sh: Removed.
22186 * grub-core/genmodsrc.sh: Removed.
22187 * grub-core/genpartmaplist.sh: Removed.
22188 * grub-core/genparttoollist.sh: Removed.
22189 * grub-core/gentermiinallist.sh: Removed.
22190 * grub-core/genvideolist.sh: Removed.
22191
22192 * grub-core/genmod.sh.in: New file.
22193 * grub-core/gensyminfo.sh.in: New file.
22194
22195 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
22196 * conf/Makefile.extra-dist: Update with new files.
22197 * gentpl.py: Remove rules related to unnecessary temporary files.
22198 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
22199 and und-* files.
22200 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
22201 genmod.sh scripts.
22202 * grub-core/bus/usb/uhci.c: Remove empty #define.
22203 * grub-core/genmoddep.awk: Updated with new syminfo format.
22204 * util/bash-completion.d/Makefile.am: Add config.log to
22205 CLEANFILES.
22206
c836b030
YB
222072010-09-19 Yves Blusseau <blusseau@zetam.org>
22208
22209 * Makefile.util.def: Add forgotten $(LIBINTL) library.
22210
2f4e8053
BC
222112010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22212
22213 * util/grub-mkconfig.in: Check the config script for syntax errors
22214 before saving.
22215
75831c34
CW
222162010-09-19 Colin Watson <cjwatson@ubuntu.com>
222172010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22218
22219 * Makefile.util.def (grub-install): Use util/grub-install.in on all
22220 platforms.
22221 * util/grub-install.in: Add EFI and IEEE1275 support.
22222 * util/i386/efi/grub-install.in: Removed.
22223 * util/ieee1275/grub-install.in: Likewise.
22224
eaf41b25
VS
222252010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22226
22227 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
22228 (grub_cmd_cmosclean): Likewise.
22229 (GRUB_MOD_INIT): Register command cmosclean.
22230 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
22231 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
22232
1a9130dd
CPE
222332010-09-18 Carles Pina i Estany <carles@pina.cat>
222342010-09-18 Aleš Nesrsta <starous@volny.cz>
222352010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22236
22237 Add keyboard layouts support.
22238
22239 * Makefile.util.def (grub-mklayout): New file.
22240 (grub-kbdcomp): New script.
22241 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
22242 Add keyboard_layouts.h.
22243 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
22244 commands/boot.c on yeeloong.
22245 (keylayouts): New module.
22246 * grub-core/bus/usb/ohci.c
22247 * grub-core/bus/usb/uhci.c
22248 * grub-core/bus/usb/usbhub.c (rescan): New variable.
22249 (grub_usb_add_hub): Poll interrupt pipe for device handling.
22250 (attach_root_port): Likewise.
22251 (poll_nonroot_hub): Likewise.
22252 (grub_usb_poll_devices): Likewise.
22253 (detach_device): Close transfer.
22254 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
22255 function.
22256 (grub_usb_bulk_setup_readwrite): Likewise.
22257 (grub_usb_bulk_finish_readwrite): Likewise.
22258 * grub-core/commands/keylayouts.c: New file.
22259 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
22260 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
22261 aliases.
22262 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
22263 support scancode 2.
22264 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
22265 * include/grub/keyboard_layouts.h: New file.
22266 * util/grub-mklayout.c: New file.
22267 * util/grub-kbdcomp.in: Likewise.
22268
a1d84a5e
VS
222692010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22270
22271 Unify memory types.
22272
22273 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
22274 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
22275 types.
22276 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
22277 (grub_upper_mem): Likewise.
22278 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
22279 * include/grub/memory.h (grub_memory_type_t): New enum.
22280 All users updated.
22281
9696382e
VS
222822010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22283
22284 * grub-core/Makefile.core.def (lsapm): New module.
22285 * grub-core/commands/i386/pc/lsapm.c: New file.
22286 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
22287 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
22288 Likewise.
22289 * include/grub/i386/pc/apm.h: New file.
22290 * include/multiboot.h (multiboot_apm_info): New struct.
22291
222922010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22293
22294 GRUB-legacy configuration file support.
22295
22296 * Makefile.util.def (grub-menulst2cfg): New util.
22297 * docs/man/grub-menulst2cfg.h2m: New file.
22298 * grub-core/Makefile.core.def (legacycfg): New module.
22299 * grub-core/commands/legacycfg.c: New file.
22300 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
22301 (grub_normal_add_menu_entry): ... this.
22302 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
22303 (grub_normal_set_password): ...this.
22304 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
22305 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
22306 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
22307 * grub-core/lib/legacy_parse.c: New file.
22308 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
22309 * include/grub/i386/pc/vesa_modes_table.h: New file.
22310 * include/grub/legacy_parse.h: Likewise.
22311 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
22312 * util/grub-menulst2cfg.c: New file.
22313
bf8d1338
CW
223142010-09-17 Colin Watson <cjwatson@ubuntu.com>
22315
22316 * grub-core/kern/emu/hostdisk.c
22317 (convert_system_partition_to_system_disk): Initialise node.
22318
9c0bad2e
CW
223192010-09-17 Colin Watson <cjwatson@ubuntu.com>
22320
22321 * grub-core/kern/emu/hostdisk.c
22322 (convert_system_partition_to_system_disk): Fix devmapper memory pool
22323 leak.
22324 Reported and based on patch by: Modestas Vainius.
22325
a939d135
CW
223262010-09-17 Colin Watson <cjwatson@ubuntu.com>
22327
22328 Fix DM-RAID probing with recent versions of device-mapper udev
22329 rules.
22330
22331 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
22332 canonicalise device paths under /dev/mapper/.
22333 (convert_system_partition_to_system_disk): Compare the
22334 uncanonicalised path to /dev/mapper/ rather than the canonicalised
22335 path, since device nodes under /dev/mapper/ are often symlinks.
22336
0f7ee3c9
YB
223372010-09-17 Yves Blusseau <blusseau@zetam.org>
22338
22339 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
22340
10854d0d
YB
223412010-09-16 Yves Blusseau <blusseau@zetam.org>
22342
22343 * configure.ac: Avoid some annoying error messages if freetype-config
22344 program is not found.
22345
108538d8
CW
223462010-09-16 Colin Watson <cjwatson@ubuntu.com>
22347
22348 Support RAID on virtio devices, and others.
22349
22350 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
22351 Rename to ...
22352 [__MINGW32__] (grub_find_device): ... this.
22353 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
22354 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
22355 reasonable default if dir is NULL.
22356 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
22357 ...
22358 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
22359 (grub_guess_root_device): Update callers.
22360 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
22361
22362 * util/raid.c (grub_util_getdiskname): Remove.
22363 (grub_util_raid_getmembers): Use grub_find_device rather than
22364 grub_util_getdiskname.
22365
e5bfc130
CW
223662010-09-16 Colin Watson <cjwatson@ubuntu.com>
22367
22368 * docs/grub.texi (serial): Remove obsolete comment about GRUB
22369 needing to be compiled with serial support.
22370 (ls): Indicate that multiple files are accepted.
22371 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
22372 indicate that multiple files are accepted.
22373
be458ae2
CW
223742010-09-16 Colin Watson <cjwatson@ubuntu.com>
22375
22376 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
22377 libgrub_a_init.c, and util/bash-completion.d/grub.
22378
cb731b5e
VS
223792010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22380
22381 * util/grub-setup.c (setup): Fix incorrect container semantics.
22382
35139e8a
VS
223832010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22384
22385 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
22386 misusage.
22387 Reported by: J. Nick Terry
22388
e50fca4a
VS
223892010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22390
22391 Move embedding routines to partmap sources files.
22392
22393 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
22394 [GRUB_UTIL]: New variable.
22395 (gpt_partition_map_iterate): Set part.parent.
22396 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
22397 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
22398 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
22399 New function.
22400 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
22401 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
22402 (grub_partition_map) [GRUB_UTIL]: New field embed.
22403 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
22404 (setup): Use ->embed.
22405
f00478b7
VS
224062010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22407
22408 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
22409 function.
22410 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
22411 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
22412
2b94e3ff
YB
224132010-09-15 Yves Blusseau <blusseau@zetam.org>
22414
22415 Add function to get completions from usage.
22416
22417 * util/bash-completion.d/grub-completion.bash.in: Add function to get
22418 completions from usage. Use LC_ALL=C to get options properly.
22419
2e04a006
VS
224202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22421
22422 * grub-core/gnulib/basename-lgpl.c: Imported.
22423 * grub-core/gnulib/basename.c: Likewise.
22424 * grub-core/gnulib/dirname-lgpl.c: Likewise.
22425 * grub-core/gnulib/dirname.c: Likewise.
22426 * grub-core/gnulib/dirname.h: Likewise.
22427 * grub-core/gnulib/stripslash.c: Likewise.
22428
5dcdf93a
VS
224292010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22430
22431 * grub-core/gnulib/error.c: Resynced.
22432 * grub-core/gnulib/getopt.c: Likewise.
22433 * grub-core/gnulib/getopt_int.h: Likewise.
22434 * grub-core/gnulib/regex.h: Likewise.
22435 * grub-core/gnulib/regex_internal.c: Likewise.
22436 * grub-core/gnulib/regex_internal.h: Likewise.
22437
014f47b7
SJ
224382010-09-15 Szymon Janc <szymon@janc.net.pl>
22439
22440 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
22441 CRC calculations and validity checks.
22442 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
22443 calculations.
22444
dd521a4a
SJ
224452010-09-15 Szymon Janc <szymon@janc.net.pl>
22446
22447 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
22448
79c4eeb9
VS
224492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22450
22451 Fix incorrect echo options handling.
22452 Reported by: Yves Blusseau.
22453
22454 * include/grub/command.h (grub_command_flags_t): New flags
22455 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
22456 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
22457 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
22458
ed80f7d5
VS
224592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22460
22461 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
22462 users updated.
22463 (GRUB_COMMAND_FLAG_MENU): Likewise.
22464 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22465 (GRUB_COMMAND_FLAG_TITLE): Removed.
22466 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22467 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
22468 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
22469 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
22470 (grub_command_flags_t): New enum. All users updated.
22471
5fe7620a
SG
224722010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
22473
22474 Fix solaris compilation.
22475
22476 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
22477 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
22478 (grub-emu-list): Likewise.
22479
545b752f
VS
224802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22481
22482 Remove deprecated root command.
22483
22484 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
22485 updated.
22486
6c1a338c
VS
224872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22488
22489 * util/i386/pc/grub-setup.c: Merge this ...
22490 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
22491 * util/grub-setup.c: ... into this.
22492 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
22493 New struct.
22494
224952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22496
22497 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
22498 possible.
22499
d2ea4551
VS
225002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22501
22502 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
22503 allocate p.
22504
3c3b5040
VS
225052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22506
22507 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
22508 explicit root argument to set to prevent UUID to be interpreted as
22509 argument to set.
22510
b71c3fae
VS
225112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22512
22513 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
22514
275433e6
VS
225152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22516
22517 Don't export grub_gate_a20.
22518
22519 * grub-core/kern/i386/pc/init.c: Remove leftovers.
22520 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
22521 to ...
22522 (grub_gate_a20): ... this. All users updated.
22523 * include/grub/i386/pc/init.h: Removed. All users updated.
22524
a5dbb1f1
VS
225252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22526
22527 Create euro.pf2 which supports most European languages.
22528
22529 * Makefile.am (grubdata_DATA): Add euro.pf2.
22530 (euro.pf2): New target.
22531 (CLEANFILES): Add euro.pf2.
22532
62a747cb
VS
225332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22534
22535 * configure.ac: Disable emu-usb by default to prevent inadvertent
22536 device takeover.
22537
608e43b1
VS
225382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22539
22540 Disable usbserial on grub-emu since our libusb code isn't good enough
22541 yet.
22542
22543 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
22544 (usbserial_pl2303): Likewise.
22545 (usbserial_ftdi): Likewise.
22546
94564f81
VS
225472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22548
22549 * include/grub/disk.h (grub_disk): Remove has_partitions.
22550 All users updated.
22551 * disk/loopback.c (grub_loopback): Remove has_partitions.
22552 All users updated.
22553 (options): Remove partitions. All users updated.
22554 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
22555 * util/i386/pc/grub-setup.c (setup): copy partition table only when
22556 actual partition table is found.
22557
3352800b
VS
225582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22559
22560 Remove readability checks (too many false negatives).
22561
22562 * util/grub-install.in: Remove readability checks.
22563 * util/grub-mkconfig.in: Likewise.
22564 * util/grub.d/10_hurd.in: Likewise.
22565 * util/grub.d/10_kfreebsd.in: Likewise.
22566 * util/grub.d/10_linux.in: Likewise.
22567 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
22568 way.
22569
2419f17a
VS
225702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22571
22572 Enable acpi shutdown on all ACPI platforms.
22573
22574 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
22575 on coreboo, multiboot and EFI.
22576 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
22577 (grub_acpi_halt): Likewise.
22578 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
22579 (grub_cmd_halt): Don't call grub_acpi_halt directly.
22580 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
22581 * grub-core/lib/i386/halt.c (grub_halt)
22582 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
22583
0575c7c3
VS
225842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22585
22586 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
22587 context.
22588
54ac3cd1
VS
225892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22590
22591 * grub-core/video/efi_gop.c: Fix over-80-chars line.
22592 * grub-core/video/efi_uga.c: Likewise.
22593
b2a30ac5
VS
225942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22595
22596 Filter devaliases and never open same device twice.
22597
22598 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
22599 (last_ihandle): Likewise.
22600 (ofdisk_hash_ent): New member shortest.
22601 (ofdisk_hash_add): Add canonical path too.
22602 (scan): New function.
22603 (grub_ofdisk_iterate): Iterate over hashed entries.
22604 (compute_dev_path): Don't add :0.
22605 (grub_ofdisk_open): Don't really open the disk.
22606 (grub_ofdisk_close): Avoid closing unrelated disk.
22607 (grub_ofdisk_read): Implement reopen logic.
22608 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
22609 New function.
22610 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
22611 New proto.
22612
fb53b340
VS
226132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22614
22615 Fix sparc64.
22616
22617 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
22618 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
22619 right address. Add sparc64_ieee1275_ldflags.
22620 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
22621 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
22622 to grub_host_to_target_addr
22623 (load_image): Likewise.
22624
f452b040
VS
226252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22626
22627 * grub-core/normal/completion.c (complete_file): Handle device
22628 containing slash.
22629 Fix based on patch by Doug Nazar.
22630
9b5b2541
VS
226312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22632
22633 grub-mknetdir script.
22634
22635 * Makefile.util.def (grub-mknetdir): New module.
22636 * tests/util/grub-shell.in: Support boot=net
22637 * util/grub-mknetdir.in: New file.
22638
9d2be652
VS
226392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22640
22641 videoinfo on non-vbe.
22642
22643 * grub-core/Makefile.core.def (vbeinfo): Removed.
22644 (vbetest): Removed.
22645 (videoinfo): New module.
22646 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
22647 * grub-core/commands/i386/pc/vbetest.c: Removed.
22648 * grub-core/commands/videoinfo.c: New file.
22649 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
22650 specification.
22651 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
22652 as vbetest.
22653 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
22654 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
22655 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
22656 mode_number. New parameter mode. All users updated.
22657 (grub_video_gop_iterate): New function.
22658 (grub_video_efi_gop): New member iterate.
22659 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
22660 (grub_vbe_set_video_mode): Remove setting useless fields.
22661 (vbe2videoinfo): New function.
22662 (grub_video_vbe_iterate): Likewise.
22663 (grub_video_vbe_setup): Use vbe2videoinfo.
22664 (grub_video_vbe_print_adapter_specific_info): New function.
22665 (grub_video_vbe_adapter): New fields iterate and
22666 print_adapter_specific_info.
22667 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
22668 All users updated.
22669 (grub_video_mode_info): New field mode_number.
22670 (grub_video_adapter): New fields iterate and
22671 print_adapter_specific_info.
22672
179503f5
TG
226732010-09-13 Tristan Gingold <gingold@free.fr>
226742010-09-13 Robert Millan <rmh.grub@aybabtu.com>
226752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22676
22677 * grub-core/commands/efi/lsefisystab.c: New file.
22678 * grub-core/commands/efi/lssal.c: Likewise.
22679 * grub-core/Makefile.core.def (lsacpi): New module.
22680 (lsefisystab): Likewise.
22681 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22682 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22683 (grub_efi_sal_system_table): New struct.
22684 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22685 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22686 (grub_efi_sal_system_table_platform_features): Likewise.
22687 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22688 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22689 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22690 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22691
cf9827de
VS
226922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22693
22694 Support explicit user claim that a device is BIOS-visible.
22695
22696 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22697 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22698 * grub-core/kern/emu/hostdisk.c
22699 (convert_system_partition_to_system_disk): Support mdX.
22700 (find_system_device): New parameter add. All users updated.
22701 (grub_util_biosdisk_is_present): New function.
22702 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22703 proto.
22704
53f0eb1f
VS
227052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22706
22707 Search hints support.
22708
22709 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22710 All users updated.
22711
b23ffd70
YB
227122010-09-13 Yves Blusseau <blusseau@zetam.org>
22713
22714 Bash completion script for util commands
22715
22716 * Makefile.am: Add util/bash-completion.d directory
22717 * configure.ac: Likewise.
22718 * util/bash-completion.d/Makefile.am: New file.
22719 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22720
d547dc28
VS
227212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22722
22723 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22724 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22725 Reported by: Yves Blusseau.
22726
2fc8ccb9
VS
227272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22728
22729 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22730 partition size and offset.
22731
d8a84076
VS
227322010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22733
22734 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22735
84fb3b3d
VS
227362010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22737
22738 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22739
768ec2e2
VS
227402010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22741
22742 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22743 (grub_xvasprintf): Likewise.
22744
4870900f
VS
227452010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22746
22747 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22748
faca6bec
VS
227492010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22750
22751 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22752 args ending with NULL.
22753
227542010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
22755
22756 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22757 pointer.
22758
3c70f225
SJ
227592010-09-11 Szymon Janc <szymon@janc.net.pl>
22760
22761 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22762
4df7996d
VS
227632010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22764
22765 Shutdown using ACPI.
22766
22767 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22768 * grub-core/commands/acpihalt.c: New file.
22769 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22770 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22771 (grub_acpi_halt): New proto.
22772 (GRUB_ACPI_SLP_EN): New const.
22773 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22774 (GRUB_ACPI_OPCODE_*): New enum.
22775 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22776
126b4c32
TG
227772010-09-11 Tristan Gingold <gingold@free.fr>
227782010-09-11 Robert Millan <rmh.grub@aybabtu.com>
227792010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22780
22781 * commands/lsacpi.c: New file.
22782 * grub-core/Makefile.core.def (lsacpi): New module.
22783 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22784 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22785 (grub_acpi_madt_entry_header): New struct.
22786 (grub_acpi_madt): Likewise.
22787 (grub_acpi_madt_entry_interrupt_override): Likewise.
22788 (grub_acpi_madt_entry_sapic): Likewise.
22789 (grub_acpi_madt_entry_lsapic): Likewise.
22790 (grub_acpi_madt_entry_platform_int_source): Likewise.
22791 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22792 (PRIuGRUB_UINT32_T): Likewise.
22793 (PRIxGRUB_UINT64_T): Likewise.
22794
1aa4fe88
VS
227952010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22796
22797 Implement loading palette on ieee1275_fb.
22798
22799 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22800 (have_setcolors): Likewise.
22801 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
22802 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
22803 (grub_video_ieee1275_set_palette): Implement.
22804
25761e13
VS
228052010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
228062010-09-11 Colin Watson <cjwatson@ubuntu.com>
22807
22808 * util/grub-install.in (grub_partition): New variable.
22809 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
22810 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
22811 Fixes a bug reported by Yves Blusseau.
22812
050abaea
VS
228132010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22814
22815 Fix emu on mipsel.
22816
22817 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22818 =grub_cpu_flush_cache on all mips and not only yeeloong.
22819 * configure.ac (COND_mips): New conditional.
22820 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22821 platforms.
22822 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22823 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22824 [GRUB_LINKER_HAVE_INIT]: New function.
22825 (grub_emu_post_init): Likewise.
22826 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22827 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22828 * include/grub/cache.h (_mips): Include mips/cache.h.
22829 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
22830 LVM and RAID prototypes.
22831 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
22832 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
22833 function.
22834
5ed7d816
CW
228352010-09-10 Colin Watson <cjwatson@ubuntu.com>
22836
22837 * util/grub-install.in: Don't try to verify core.img until after
22838 running grub-mkimage to create it.
22839
90367e04
RM
228402010-09-10 Robert Millan <rmh@gnu.org>
22841
22842 * util/grub.d/10_hurd.in: Add misc readability checks.
22843 * util/grub.d/10_kfreebsd.in: Likewise.
22844 * util/grub.d/10_linux.in: Likewise.
22845
c452fa66
CW
228462010-09-10 Colin Watson <cjwatson@ubuntu.com>
22847
22848 * util/grub-install.in: ${imgext} won't be defined here until the
22849 install branch is merged. For the meantime, only verify core.img on
22850 i386-pc and sparc64-ieee1275 platforms.
22851
c38fe9f4
RM
228522010-09-10 Robert Millan <rmh@gnu.org>
22853
22854 Solaris support in grub_find_zpool_from_dir(). Thanks
22855 Seth Goldberg for referring to getextmntent() facility.
22856
22857 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22858 `sys/mkdev.h'.
22859 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22860 `<sys/mnttab.h>'.
22861 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22862 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22863 method for finding zpool name.
22864
905f7773
CW
228652010-09-10 Colin Watson <cjwatson@ubuntu.com>
22866
22867 grub-fstest needs the host and hostfs modules while other utilities
22868 actively require those modules to be absent, so grub-fstest needs
22869 its own initialisation and finalisation code.
22870
22871 * Makefile.am (grub_fstest.pp): New target.
22872 (grub_fstest_init.lst): Likewise.
22873 (grub_fstest_init.c): Likewise.
22874 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22875
fb90b546
RM
228762010-09-10 Robert Millan <rmh@gnu.org>
22877
22878 * configure.ac: Check for `struct statfs.f_fstypename' and
22879 `struct statfs.f_mntfromname'.
22880
22881 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22882 kFreeBSD-specific code.
22883
66d4bea5
RM
228842010-09-10 Robert Millan <rmh@gnu.org>
22885
22886 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22887 on ZFS. Now non-main filesystems are supported as / too.
22888
b6a690ee
CW
228892010-09-09 Colin Watson <cjwatson@ubuntu.com>
22890
22891 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22892 and grub-core/disk/host.c to ...
22893 (grub-fstest): ... here. Having the host disk implementation
22894 present confuses grub-probe and other utility programs.
22895
22896 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22897 when writing to a file, not when writing to stdout.
22898
8901b00c 228992010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22900
22901 * tests/partmap_test.in: New test for partitions.
22902 * Makefile.util.def: Rules for new test.
22903
7bf45fdd
RM
229042010-09-09 Robert Millan <rmh@gnu.org>
22905
22906 * util/grub-probe.c (probe): Fix a pair of unhandled error
22907 conditions.
22908
4dfbc574
RM
229092010-09-09 Robert Millan <rmh@gnu.org>
22910
22911 Basic Btrfs support (detection and UUID).
22912
22913 * grub-core/fs/btrfs.c: New file.
22914 * Makefile.util.def (library): Register btrfs.c.
22915 * grub-core/Makefile.core.def: Likewise.
22916
6b8e78ae
RM
229172010-09-08 Robert Millan <rmh@gnu.org>
22918
22919 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22920 with (optional) parameters to specify device and relative path.
22921 * util/grub-install.in: Use is_path_readable_by_grub() to
22922 verify readability of a few critical files.
22923 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22924 verify readability of grub.cfg.new.
22925
27f21a8b
VS
229262010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22927
22928 Split minix.mod into minix.mod and minix2.mod.
22929
22930 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22931 * grub-core/Makefile.core.def (minix2): New module.
22932 * grub-core/fs/minix.c: Use definitions instead of runtime version
22933 checking.
22934 * grub-core/fs/minix2.c: New file.
22935
c0e53ea5
YB
229362010-09-08 Yves Blusseau <blusseau@zetam.org>
22937
22938 Add new --boot-directory option to replace --root-directory
22939
22940 * util/grub-install.in: Add new --boot-directory option
22941 * util/grub-reboot.in: Likewise.
22942 * util/grub-set-default.in: Likewise.
22943
b9fe6ea2
YB
229442010-09-08 Yves Blusseau <blusseau@zetam.org>
22945
22946 * util/grub-mkconfig.in: Use new variable.
22947
d87aedff
YB
229482010-09-08 Yves Blusseau <blusseau@zetam.org>
22949
22950 * configure.ac: Define some useful variables.
22951
e55e8495
VS
229522010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22953
22954 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22955 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22956 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22957 Use terminfo and don't use cursor-on/cursor-off unless it's known
22958 to work.
22959 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22960 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22961
6fa6d675
CW
229622010-09-08 Colin Watson <cjwatson@ubuntu.com>
22963
22964 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22965 starts with "(,", fill the drive containing the loaded image in
22966 between those two characters, but expect that a full partition
22967 specification including partition map names will follow.
22968
92f2aef0
RM
229692010-09-08 Robert Millan <rmh@gnu.org>
22970
22971 * configure.ac: Remove `--enable-grub-fstest' option.
22972 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22973
22974 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22975 `grub-fstest' instead of `grub-probe' for readability verification.
22976 * util/grub-probe.c (probe): Remove readability verification kludge.
22977
99fd620d
RM
229782010-09-08 Robert Millan <rmh@gnu.org>
22979
22980 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22981 initializing `GRUB_FS'.
22982
058e30ac 229832010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22984
22985 Not command (!) support to GRUB script.
22986
22987 * tests/grub_script_not.in: New test.
22988 * Makefile.util.def: Rules for new test.
22989
22990 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22991 ! command as a special case.
22992 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22993
b61d05ed 229942010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22995
058e30ac 22996 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22997 grub_free.
b61d05ed 22998
4d69c786 229992010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23000
23001 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
23002
aa3119c4 230032010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23004
23005 * docs/grub.texi (Shell-like scripting): Documentation for break,
23006 continue, shift and return commands.
23007
db0f7e3d
VS
230082010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
23009
23010 Rename CD-ROM to cd on BIOS.
23011
23012 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
23013 "cd".
23014 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
23015
88b87c93
VS
230162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23017
23018 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
23019 * util/grub-probe.c (main): Likewise.
23020 * util/i386/pc/grub-setup.c (main): Likewise.
23021 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23022 Reported and debugged by: alexxy
23023
294f324d
VS
230242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23025
23026 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
23027 diagnostic info.
23028
d7ee3441
JS
230292010-09-05 Jo Shields <directhex@apebox.org>
23030
23031 * util/grub.d/30_os-prober.in: Add missing classes.
23032
d7e06c1f
VS
230332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23034
23035 * docs/grub.texi (Theme file format): Document new position format.
23036
fc157e53
VS
230372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23038
23039 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
23040 a table. Use @code instead of @verbatim.
23041
506e9a1c
CB
230422010-09-05 Colin D Bennett <colin@gibibit.com>
23043
23044 Gfxmenu documentation.
23045
23046 * docs/grub.texi (Theme file format): New chapter.
23047
f0aff67c
SJ
230482010-09-05 Szymon Janc <szymon@janc.net.pl>
23049
23050 * grub-core/Makefile.core.def (xzio): New module.
23051 * grub-core/io/xzio.c: New file.
23052 * grub-core/lib/xzembed/xz.h: New file (from xembed).
23053 * grub-core/lib/xzembed/xz_config.h: Likewise.
23054 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
23055 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
23056 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
23057 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
23058 * grub-core/lib/xzembed/xz_private.h: Likewise.
23059 * grub-core/lib/xzembed/xz_stream.h: Likewise.
23060 * include/grub/file.h (grub_file_filter_id): New compression filter
23061 GRUB_FILE_FILTER_XZIO.
23062
82a85062
VS
230632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23064
23065 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
23066 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
23067 size.
23068
3579415d
VS
230692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23070
23071 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
23072 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
23073
5124ae6d
VS
230742010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23075
23076 Uncompressed checksum support.
23077
23078 * grub-core/commands/hashsum.c (options): Add option --uncompress.
23079 (check_list): New parameter uncompress.
23080 (grub_cmd_hashsum): Handle --uncompress.
23081
9aadb3d1
VS
230822010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23083
23084 Reintroduce testload.
23085
23086 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
23087 from here ...
23088 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
23089 (GRUB_MOD_INIT): New function.
23090 (GRUB_MOD_FINI): Likewise.
23091 * grub-core/Makefile.core.def (testload): New module.
23092
a17792c3
SJ
230932010-09-05 Szymon Janc <szymon@janc.net.pl>
23094
23095 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
23096 (uint8_t): New type.
23097 (uint16_t): Likewise.
23098 (uint32_t): Likewise.
23099 (uint64_t): Likewise.
23100
b81e40a3
SJ
231012010-09-05 Szymon Janc <szymon@janc.net.pl>
23102
23103 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
23104
fc2ef117
VS
231052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23106
23107 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
23108 Made static.
23109 (grub_gzfile_open): Removed. All users updated.
23110 (GRUB_MOD_INIT): New function.
23111 (GRUB_MOD_FINI): Likewise.
23112 * grub-core/kern/file.c (grub_file_filters_all): New variable.
23113 (grub_file_filters_enabled): Likewise.
23114 (grub_file_open): Handle filters.
23115 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
23116 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
23117 * include/grub/file.h (grub_file_filter_id_t): New type.
23118 (grub_file_filter_t): Likewise.
23119 (grub_file_filters_all): New extern variable.
23120 (grub_file_filters_enabled): Likewise.
23121 (grub_file_filter_register): New inline function.
23122 (grub_file_filter_unregister): Likewise.
23123 (grub_file_filter_disable): Likewise.
23124 (grub_file_filter_disable_compression): Likewise.
23125 * include/grub/gzio.h: Removed.
23126
35ee15e0
BC
231272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23128
23129 Filename expansion support for wildcards in GRUB script.
23130
23131 * tests/grub_script_expansion.in: New test.
23132 * Makefile.util.def: Rule for new test.
23133
23134 * grub-core/commands/wildcard.c: New file, implements filename
23135 expansion support for GRUB script.
23136 * grub-core/Makefile.core.def: Rule update for regexp.mod.
23137 * grub-core/script/argv.c: Cosmetic changes.
23138 * grub-core/script/execute.c (grub_script_arglist_to_argv):
23139 Refactored to perform wildcard expansion on arguments.
23140 * include/grub/script_sh.h (grub_script_wildcard_translator): New
23141 struct.
23142
23143 * tests/util/grub-shell.in: Fix quoting for read input.
23144
5f0c4aca
BC
231452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23146
23147 Support for updating environment variables with matched substrings
23148 of regexp.
23149
23150 * tests/grub_cmd_regexp.in: New test.
23151 * Makefile.util.def: Rule for new test.
23152
23153 * grub-core/commands/regexp.c: New option -s to update environment
23154 variables with regexp matches.
23155
3759a35f
SJ
231562010-09-04 Szymon Janc <szymon@janc.net.pl>
23157
23158 * include/grub/file.h (grub_file): New member not_easly_seekable.
23159 (grub_file_seekable): New inline function.
23160 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
23161 easily seekable.
23162 (grub_gzio_open): Set not_easly_seekable.
23163 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
23164 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
23165
ed8c6dec
BC
231662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23167
23168 Support for options to appear multiple times on cmdline.
23169
23170 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
23171 * grub-core/commands/extcmd.c: Support for repeatable option.
23172 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
23173 repeatable option support.
23174
23175 Refactor menuentry into a regular command.
23176
23177 * grub-core/commands/menuentry.c: New file, menuentry command
23178 implementation.
23179 * grub-core/Makefile.core.def: Rule update for normal.mod.
23180 * grub-core/normal/main.c: Moved menuentry creation to
23181 grub-core/commands/menuentry.c.
23182 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
23183 (grub_menu_execute_entry_real): Removed.
23184 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
23185 function.
23186 (grub_script_execute_menuentry): Removed.
23187 * grub-core/script/parser.y (menuentry): Removed.
23188 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
23189 * grub-core/script/yylex.l (menuentry): Removed.
23190 * include/grub/menu.h (grub_menu_init): New prototype.
23191 (grub_menu_fini): New prototype.
23192 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
23193 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
23194 (grub_script_execute_sourcecode): New prototype.
23195
dacd0cf0
BC
231962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23197
23198 "return" command for GRUB script functions.
23199
23200 * tests/grub_script_return.in: New test.
23201 * Makefile.util.def: Rules for new test.
23202
23203 * grub-core/script/execute.c (grub_script_return): New function.
23204 * grub-core/script/main.c: Register/unregister return commaond.
23205 * include/grub/script_sh.h (grub_script_return): New prototype.
23206
52e72f9d
BC
232072010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23208
23209 "setparams" command to update positional parameters.
23210
23211 * tests/grub_script_setparams.in: New test.
23212 * Makefile.util.def: Rules for new test.
23213
23214 * grub-core/script/argv.c (grub_script_argv_make): New function.
23215 * grub-core/script/execute.c (replace_scope): New function.
23216 (grub_script_setparams): New function.
23217 * grub-core/script/lexer.c: Remove unused variables.
23218 * grub-core/script/main.c: Register/unregister setparams command.
23219 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
23220 (grub_script_setparams): New prototype.
23221
25b60c91
BC
232222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23223
23224 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
23225 grub_free order.
23226
37e7bf68
BC
232272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23228
23229 Support for passing block of commands as an argument to extcmds.
23230
23231 * Makefile.util.def: Rules for new test.
23232 * tests/grub_script_blockarg.in: New test.
23233 * grub-core/tests/test_blockarg.c: New file, block argument
23234 command used in the test.
23235
23236 * include/grub/extcmd.h (grub_extcmd_context): New struct.
23237 (grub_register_extcmd_prio): New function prototype.
23238 (grub_extcmd_dispatcher): New function prototype.
23239 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
23240 type.
23241 * include/grub/script_sh.h (struct grub_script): New members
23242 `children', `next_siblings' and `refcnt' for block arguments and
23243 reference counting.
23244 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
23245 (grub_script_arg): New member `script' for block argument.
23246 (grub_script_argv): New member `script' for block argument.
23247 (grub_parser_param): New member `scripts' for block argument.
23248 (grub_script_mem_free): New extern function prototype.
23249 (grub_script_ref): New function prototype.
23250 (grub_script_unref): New function prototype.
23251
23252 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
23253 extcmd form to support block arguments.
23254 * grub-core/script/argv.c: Block arguments support.
23255 * grub-core/script/execute.c: Likewise.
23256 * grub-core/script/lexer.c: Likewise.
23257 * grub-core/script/main.c: Likewise.
23258 * grub-core/script/script.c: Likewise.
23259 * grub-core/script/parser.y: Likewise. New `block' and `block0'
23260 non-terminals.
23261
23262 * grub-core/commands/acpi.c: Update extcmd implementations with
23263 grub_extcmd_context_t.
23264 * grub-core/commands/cat.c: Likewise.
23265 * grub-core/commands/echo.c: Likewise.
23266 * grub-core/commands/extcmd.c: Likewise.
23267 * grub-core/commands/hashsum.c: Likewise.
23268 * grub-core/commands/hdparm.c: Likewise.
23269 * grub-core/commands/help.c: Likewise.
23270 * grub-core/commands/hexdump.c: Likewise.
23271 * grub-core/commands/i386/cpuid.c: Likewise.
23272 * grub-core/commands/i386/pc/drivemap.c: Likewise.
23273 * grub-core/commands/i386/pc/halt.c: Likewise.
23274 * grub-core/commands/i386/pc/sendkey.c: Likewise.
23275 * grub-core/commands/iorw.c: Likewise.
23276 * grub-core/commands/keystatus.c: Likewise.
23277 * grub-core/commands/loadenv.c: Likewise.
23278 * grub-core/commands/ls.c: Likewise.
23279 * grub-core/commands/lspci.c: Likewise.
23280 * grub-core/commands/memrw.c: Likewise.
23281 * grub-core/commands/probe.c: Likewise.
23282 * grub-core/commands/search_wrap.c: Likewise.
23283 * grub-core/commands/setpci.c: Likewise.
23284 * grub-core/commands/sleep.c: Likewise.
23285 * grub-core/disk/loopback.c: Likewise.
23286 * grub-core/hello/hello.c: Likewise.
23287 * grub-core/loader/i386/bsd.c: Likewise.
23288 * grub-core/loader/xnu.c: Likewise.
23289 * grub-core/term/gfxterm.c: Likewise.
23290 * grub-core/term/serial.c: Likewise.
23291 * grub-core/tests/lib/functional_test.c: Likewise.
23292
888d1500
BC
232932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23294
23295 Multi-line quoted strings support.
23296
23297 * grub-core/script/lexer.c (append_newline): Removed.
23298 (grub_script_lexer_yywrap): Refactored.
23299 (grub_script_lexer_init): Refactored.
23300 * grub-core/script/yylex.l (yywrap): New function.
23301 (grub_lexer_resplit): New function.
23302 (grub_lexer_unput): New function.
23303 * include/grub/script_sh.h (grub_lexer_param): New members, unput
23304 and resplit.
23305 * tests/grub_script_echo1.in: Added few more testcases.
23306
dda060dd
VS
233072010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23308
23309 * grub-core/kern/misc.c: Don't add abort alias in utils.
23310 Reported by: echoline.
23311
6556eba9
BC
233122010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
23313
23314 Add missing files into "make dist" tarball for other platforms.
23315
23316 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
23317 * conf/Makefile.common (dist_noinst_DATA): New variable.
23318 * conf/Makefile.extra-dist: Added missing make dist files.
23319 * grub-core/Makefile.core.def: Likewise.
23320
c8e7bf5f
VS
233212010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23322
23323 Compress grub_prefix.
23324
23325 * grub-core/boot/i386/pc/lnxboot.S: Use
23326 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
23327 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
23328 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
23329 GRUB_MACHINE_PREFIX_END. All users updated.
23330 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
23331 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
23332 + 0x40.
23333 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
23334 * util/grub-mkimage.c (image_target_desc): Change data_end to
23335 prefix_end. All users updated.
23336
a7c00cdb
VS
233372010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23338
23339 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
23340 value.
23341 (grub_openbsd_boot): Likewise.
23342 (grub_netbsd_boot): Likewise.
23343 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
23344 (grub_xnu_boot): Likewise.
23345
9f915872
VS
233462010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23347
23348 * configure.ac: Clean LIBS variable after tests.
23349
efa1bee7
CW
233502010-09-02 Colin Watson <cjwatson@ubuntu.com>
23351
23352 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
23353
61d720e5
VS
233542010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23355
23356 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
23357 echo if libdevmapper will be used.
23358
ef8e0ec8
IT
233592010-09-02 Ian Turner <Ian.Turner@deshaw.com>
23360
23361 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
23362 constant for the same file.
23363
03e261d8
VS
233642010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23365
23366 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
23367
c2a4eba6
CW
233682010-09-02 Colin Watson <cjwatson@ubuntu.com>
23369
23370 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
23371 grub-core/*.pp.
23372
9056cbf3
CW
233732010-09-02 Colin Watson <cjwatson@ubuntu.com>
23374
23375 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
23376 required by the boot protocol.
23377
23378 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
23379 ebp and edi members.
23380 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
23381 state.ebp and state.edi.
23382 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
23383 %ebp and %edi according to grub_relocator32_ebp and
23384 grub_relocator32_edi respectively.
23385 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
23386 and state.edi.
23387
529cc99a
VS
233882010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23389
23390 Add i386-pc-pxe image target.
23391
23392 * util/grub-mkimage.c (image_target_desc): New enum value
23393 IMAGE_I386_PC_PXE.
23394 (image_targets): New target i386-pc-pxe.
23395 (generate_image): Handle i386-pc-pxe image.
23396
9a093920
VS
233972010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23398
23399 Fix grub_pxe_scan.
23400
23401 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
23402 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
23403 All users updated.
23404 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
23405 (grub_pxe_pxenv): Correct type.
23406
f9cefc4e
CW
234072010-09-01 Colin Watson <cjwatson@ubuntu.com>
23408
23409 * NEWS: Document most of the important changes since 1.98.
23410
4066f57f
CW
234112010-09-01 Colin Watson <cjwatson@ubuntu.com>
23412
23413 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
23414 generated manual page) a little.
23415
da2891f9
CW
234162010-09-01 Colin Watson <cjwatson@ubuntu.com>
23417
23418 * docs/grub.texi: Add myself as an author.
23419
ad717fae
VS
234202010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23421
23422 * Makefile.util.def (libgrub.a): Add missing sunpc.
23423 Reported by: Seth Goldberg.
23424
eefe8abd
VS
234252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23426
23427 Interrupt wrapping and code simplifications.
23428
9494ef9a
VS
23429 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
23430 x86_noieee1275 which are functionaly equivalent in this case.
23431 (grub-install): Make source on each platform explicit. Enable on
23432 all noemu.
23433 * gentpl.py (x86_efi_pc): Removed group.
23434 (x86_noefi): Likewise.
23435 (i386_noefi): Likewise.
23436 (x86_noieee1275): Likewise.
23437 (i386_noieee1275): Likewise.
23438 (i386_noefi_noieee1275): Likewise.
23439 (i386_pc_qemu_coreboot): Likewise.
23440 (i386_coreboot_multiboot): Likewise.
23441 (i386_pc_coreboot_multiboot_qemu): Likewise.
23442 (x86_noefi_mips): Likewise.
23443 (noieee1275): Likewise.
23444 (ieee1275_mips): Likewise.
23445 (noemu_noieee1275): Likewise.
23446 (cmos): New group.
23447 (usb): Likewise.
23448 (videoinkernel): Likewise.
23449 (videomodules): Likewise.
eefe8abd 23450 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
23451 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
23452 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
23453 include/grub/loader.h, include/grub/msdos_partition.h,
23454 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
23455 include/grub/machine/console.h, include/grub/machine/vga.h,
23456 include/grub/machine/vbe.h, include/grub/machine/init.h,
23457 include/grub/machine/kernel.h, include/grub/cpu/time.h,
23458 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 23459 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
23460 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
23461 * grub-core/Makefile.core.def (kernel): Explicit the source for
23462 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
23463 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
23464 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
23465 Use videoinkernel tag.
23466 (usb): Enable on all usb.
23467 (usbserial_common): Likewise.
23468 (usbserial_pl2303): Likewise.
23469 (usbserial_ftdi): Likewise.
23470 (uhci): Enable on all x86.
23471 (ohci): Enable on all pci.
23472 (cmostest): Enable on all CMOS.
23473 (acpi): Include commands/acpi.c on all platforms.
23474 (halt): Add relevant lib/*/halt.c.
23475 (hdparm): Enable on all pci.
23476 (lspci): Likewise.
23477 (usbtest): Enable on all usb.
23478 (ata): Enable on all pci.
23479 (ata_pthru): Likewise.
23480 (usbms): Enable on all usb.
23481 (usb_keyboard): Likewise.
23482 (font): Use tag videomodules.
23483 (bufio): Likewise.
23484 (datetime): Use tag cmos. Enable on all noemu.
23485 (mmap): Use tags common and x86.
23486 (gfxterm): Use tag videomodules.
23487 (bitmap): Likewise.
23488 (bitmap_scale): Likewise.
23489 (video_fb): Likewise.
23490 (video): Likewise.
23491 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
23492 adjust padding accordingly. All users updated.
23493 (grub_ohci_transaction): Fix bad format specification.
23494 (GRUB_MOD_INIT): Add asserts for struct size.
23495 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
23496 (grub_alloc_td): Likewise.
23497 (grub_free_queue): Likewise.
23498 (grub_uhci_transfer): Likewise.
23499 (grub_uhci_transaction): Fix bad format specification.
23500 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23501 (grub_usb_bulk_readwrite): Likewise.
23502 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
23503 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
23504 Made static.
23505 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
23506 Made static.
23507 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
23508 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
23509 Transformed into C.
23510 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
23511 Moved from here ...
23512 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
23513 ... here. Transformed into C. Made static.
23514 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
23515 Moved from here ...
23516 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
23517 ... here. Transformed into C. Made static.
23518 * grub-core/kern/i386/pc/startup.S
23519 (grub_biosdisk_check_int13_extensions): Moved from here ...
23520 * grub-core/disk/i386/pc/biosdisk.c
23521 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
23522 Made static.
23523 * grub-core/kern/i386/pc/startup.S
23524 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
23525 * grub-core/disk/i386/pc/biosdisk.c
23526 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
23527 Transformed into C. Made static.
23528 * grub-core/kern/i386/pc/startup.S
23529 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
23530 * grub-core/disk/i386/pc/biosdisk.c
23531 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
23532 Transformed into C. Made static.
23533 * grub-core/kern/i386/pc/startup.S
23534 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
23535 * grub-core/disk/i386/pc/biosdisk.c
23536 (grub_biosdisk_get_diskinfo_standard): ... here.
23537 Transformed into C. Made static.
23538 * grub-core/kern/i386/pc/startup.S
23539 (grub_biosdisk_get_num_floppies): Moved from here ...
23540 * grub-core/disk/i386/pc/biosdisk.c
23541 (grub_biosdisk_get_num_floppies): ... here.
23542 Transformed into C. Made static.
23543 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
23544 New function.
23545 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
23546 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
23547 Transformed into C. Made static.
23548 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
23549 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
23550 Transformed into C. Made static.
23551 * grub-core/kern/i386/ieee1275/init.c: Removed.
23552 * grub-core/kern/i386/misc.S: Likewise.
23553 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
23554 Splitted from here ...
23555 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
23556 Transformed into C. Made static. All users updated.
23557 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
23558 Transformed into C. Made static. All users updated.
23559 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
23560 Moved from here...
23561 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
23562 Transformed into C. Made static. All users updated.
23563 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
23564 Moved from here...
23565 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
23566 Transformed into C. Made static. All users updated.
23567 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
23568 Removed (replaced by C version).
23569 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
23570 Moved from here...
23571 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
23572 Transformed into C. Made static.
23573 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
23574 Moved from here...
23575 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
23576 ... here. Transformed into C.
23577 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
23578 Moved from here...
23579 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
23580 ... here. Transformed into C.
23581 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
23582 Moved from here...
23583 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
23584 ... here. Transformed into C. Made static.
23585 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
23586 Moved from here...
23587 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
23588 ... here. Transformed into C.
21ed554b
VS
23589 * grub-core/kern/i386/pc/startup.S
23590 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
23591 * grub-core/video/i386/pc/vbe.c
23592 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
23593 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
23594 Moved from here...
23595 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
23596 ... here. Transformed into C.
23597 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
23598 Moved from here...
23599 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
23600 ... here. Transformed into C.
23601 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
23602 Moved from here...
23603 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
23604 ... here. Transformed into C.
23605 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
23606 Moved from here...
23607 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
23608 ... here. Transformed into C.
23609 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
23610 Moved from here...
23611 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
23612 ... here. Transformed into C. Made static.
23613 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
23614 Moved from here...
23615 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
23616 ... here. Transformed into C. Made static.
23617 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
23618 Moved from here...
23619 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
23620 ... here. Transformed into C. Made static.
23621 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
23622 pxe_rm_entry as third argument.
23623 (grub_bios_interrupt): New function.
23624 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
23625 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
23626 of calling grub_stop.
23627 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
23628 * grub-core/lib/efi/halt.c (grub_halt): ...here.
23629 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
23630 * grub-core/lib/emu/halt.c (grub_halt): ... here.
23631 * grub-core/lib/i386/halt.c: Moved from here ...
23632 * grub-core/lib/i386/halt.c: ... here.
23633 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
23634 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
23635 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
23636 grub_stop_floppy.
23637 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
23638 * include/grub/i386/coreboot/init.h: Removed.
23639 * include/grub/i386/multiboot/init.h: Likewise.
23640 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
23641 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
23642 * include/grub/i386/pc/int.h: New file.
23643 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
23644 (grub_pxe_scan): Removed.
23645 (grub_pxe_call): Update prototype.
23646 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
23647 prototypes.
23648 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
23649 * include/grub/i386/qemu/init.h: Removed.
23650 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
23651 noreturn.
23652 (grub_halt): Likewise.
23653 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
23654 (grub_reboot): Likewise.
23655 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
23656 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
23657 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
23658
215dd471
RM
236592010-08-30 Robert Millan <rmh@gnu.org>
23660
23661 * NEWS: Document addition of ZFS support in `grub-install' and
23662 `grub-mkconfig'.
23663
ebd65b82
BC
236642010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
23665
23666 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
23667 dprintf output.
23668
11721d19
VS
236692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23670
23671 Remove leftover embedding of font objects.
23672
23673 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23674 * util/grub-install.in (font): Removed.
23675 * util/grub-mkimage.c (generate_image): Remove font support. All users
23676 updated.
23677
37837d4e
VS
236782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23679
23680 Remove leftover embedding of font objects.
23681
23682 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23683 * util/grub-install.in (font): Removed.
23684 * util/grub-mkimage.c (generate_image): Remove font support. All users
23685 updated.
23686
b4c1aae0
VS
236872010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23688
23689 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 23690 Reported by: Ian Turner
b4c1aae0 23691
8920a08d
VS
236922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23693
23694 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23695 timeout to avoid indefinite boot stalling.
23696
f21db033
VS
236972010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23698
23699 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23700 (grub_env_write_color_highlight): Likewise.
23701
9a9de209
VS
237022010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23703
23704 * grub-core/normal/term.c (print_more): Return to normal and not
23705 to standard state after printing "---MORE---".
23706
3dca01d7
VS
237072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23708
23709 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23710 Mask out the bit 0x80 since it has other meaning that specifiing color.
23711
0b986c40
VS
237122010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23713
23714 New relocator. Allows for more kernel support and more straightforward
23715 loader writing.
23716
23717 * Makefile.am (BOOTTARGET): New variable.
23718 (QEMU32): Likewise.
23719 (linux.init.x86_64): New target.
23720 (linux.init.i386): Likewise.
23721 (multiboot.elf): Likewise.
23722 (kfreebsd.elf): Likewise.
23723 (kfreebsd.aout): Likewise.
23724 (pc-chainloader.elf): Likewise.
23725 (pc-chainloader.bin): Likewise.
23726 (ntldr.elf): Likewise.
23727 (ntldr.bin): Likewise.
23728 (multiboot2.elf): Likewise.
23729 (kfreebsd.init.x86_64): Likewise.
23730 (kfreebsd.init.i386): Likewise.
23731 (knetbsd.init.i386): Likewise.
23732 (kopenbsd.init.i386): Likewise.
23733 (knetbsd.init.x86_64): Likewise.
23734 (kopenbsd.init.x86_64): Likewise.
23735 (linux-initramfs.i386): Likewise.
23736 (linux-initramfs.x86_64): Likewise.
23737 (kfreebsd-mfsroot.i386.img): Likewise.
23738 (knetbsd.image.i386): Likewise.
23739 (kopenbsd.image.i386): Likewise.
23740 (kopenbsd.image.x86_64): Likewise.
23741 (knetbsd.miniroot-image.i386.img): Likewise.
23742 (kfreebsd-mfsroot.x86_64.img): Likewise.
23743 (knetbsd.image.x86_64): Likewise.
23744 (knetbsd.miniroot-image.x86_64.img): Likewise.
23745 (kfreebsd-mfsroot.i386.gz): Likewise.
23746 (bootcheck-kfreebsd-i386): Likewise.
23747 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23748 (bootcheck-kfreebsd-x86_64): Likewise.
23749 (knetbsd.miniroot-image.i386.gz): Likewise.
23750 (bootcheck-knetbsd-i386): Likewise.
23751 (bootcheck-kopenbsd-i386): Likewise.
23752 (bootcheck-kopenbsd-x86_64): Likewise.
23753 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23754 (bootcheck-knetbsd-x86_64): Likewise.
23755 (bootcheck-linux-i386): Likewise.
23756 (bootcheck-linux-x86_64): Likewise.
23757 (bootcheck-linux16-i386): Likewise.
23758 (bootcheck-linux16-x86_64): Likewise.
23759 (bootcheck-multiboot): Likewise.
23760 (bootcheck-multiboot2): Likewise.
23761 (bootcheck-kfreebsd-aout): Likewise.
23762 (bootcheck-pc-chainloader): Likewise.
23763 (bootcheck-ntldr): Likewise.
23764 (CLEANFILES): Add new targets.
23765 (BOOTCHECKS): New variable.
23766 (.PHONY): Add bootchecks.
23767 (SUCCESSFUL_BOOT_STRING): New variable.
23768 (BOOTCHECK_TIMEOUT): Likewise.
23769 (bootcheck): New target
23770 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23771 * configure.ac: Correct efiemu excuse.
23772 * docs/grub.texi (Supported kernels): New chapter.
23773 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23774 include/grub/mm_private.h. Simplify inclusion of
23775 include/grub/boot.h, include/grub/loader.h
23776 and include/grub/msdos_partition.h
23777 (KERNEL_HEADER_FILES) [i386_coreboot]:
23778 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23779 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23780 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23781 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23782 include/grub/machine/loader.h.
23783 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23784 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23785 extra_dist.
23786 (pci.mod): Enable on i386-multiboot.
23787 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23788 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23789 i386-qemu.
23790 (relocator.mod): Rewritten.
23791 (aout.mod): Enable on all x86.
23792 (bsd.mod): Likewise.
23793 (ntldr.mod): New module.
23794 (linux.mod): Use loader/i386/linux.c on all x86.
23795 (xnu.mod): Enable on all x86.
23796 (vga_text.mod): disable on EFI and QEMU.
23797 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23798 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23799 * grub-core/efiemu/loadcore.c: Likewise.
23800 * grub-core/efiemu/main.c: Likewise.
23801 (grub_efiemu_exit_boot_services): Removed.
23802 (grub_efiemu_finish_boot_services): Likewise.
23803 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
23804 function.
23805 * grub-core/efiemu/i386/nocfgtables.c: New file.
23806 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
23807 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
23808 (grub_efi_finish_boot_services): Moved from here ...
23809 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
23810 Fille finish memory map and related data.
23811 (finish_mmap_buf): New variable.
23812 (grub_efi_uintn_t finish_mmap_size): Likewise.
23813 (grub_efi_uintn_t finish_key): Likewise.
23814 (grub_efi_uintn_t finish_desc_size): Likewise.
23815 (grub_efi_uint32_t finish_desc_version): Likewise.
23816 (grub_efi_is_finished): Likewise.
23817 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23818 finished.
23819 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23820 (grub_elf64_phdr_iterate): Likewise.
23821 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23822 (grub_os_area_size): Likewise.
23823 (grub_machine_init): Don't reserve os area.
23824 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23825 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23826 * grub-core/kern/i386/loader.S: Removed.
23827 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23828 (grub_os_area_size): Likewise.
23829 (grub_machine_init): Don't reserve os area.
23830 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
23831 Don't call grub_dl_unload_all.
23832 Don't include loader.S.
23833 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
23834 Declare the memory after _end as available.
23835 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 23836 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 23837 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
23838 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
23839 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
23840 * include/grub/mm_private.h (grub_mm_header): ... here.
23841 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
23842 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
23843 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23844 (grub_mm_region): ..here. Removed addr. Added pre_size.
23845 All users updated.
23846 * grub-core/kern/mm.c (base): Renamed to ...
23847 (grub_mm_base): ... this. Made global.
23848 (grub_real_malloc): Alloc from end of region.
23849 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23850 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23851 * grub-core/kern/powerpc/cache_flush.S: ... here.
23852 * grub-core/lib/efi/relocator.c: New file.
23853 * grub-core/lib/i386/relocator.c: Rewritten.
23854 * grub-core/lib/i386/relocator16.S: New file.
23855 * grub-core/lib/i386/relocator32.S: Likewise.
23856 * grub-core/lib/i386/relocator64.S: Likewise.
23857 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23858 * grub-core/lib/i386/relocator_common.S: New file.
23859 * grub-core/lib/ieee1275/relocator.c: Likewise.
23860 * grub-core/lib/mips/relocator.c: Rewritten.
23861 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23862 stylistic adjustments.
23863 * grub-core/lib/powerpc/relocator.c: New file.
23864 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23865 * grub-core/lib/relocator.c: Rewritten.
23866 * grub-core/lib/x86_64/relocator_asm.S: New file.
23867 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23868 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23869 (bsd_tag): New struct.
23870 (tags): New variable.
23871 (tags_last): Likewise.
23872 (netbsd_module): New struct.
23873 (netbsd_mods): New variable.
23874 (netbsd_mods_last): Likewise.
23875 (openbsd_opts): New parameter "serial".
23876 (OPENBSD_SERIAL_ARG): New definition.
23877 (netbsd_opts): New parameter "serial".
23878 (NETBSD_SERIAL_ARG): New definition.
23879 (grub_freebsd_add_meta): Reorganised into ...
23880 (grub_bsd_add_meta): ...this. All users updated.
23881 (grub_freebsd_add_mmap): Reorganised into ...
23882 (generate_e820_mmap): ...this...
23883 (grub_bsd_add_mmap): ...and this. All users updated.
23884 (grub_freebsd_list_modules): Use tags.
23885 (grub_netbsd_add_meta_module): New function.
23886 (grub_netbsd_list_modules): Likewise.
23887 (grub_freebsd_boot): Use relocator and finish EFI.
23888 (grub_openbsd_boot): Likewise.
23889 (grub_netbsd_setup_video): New function.
23890 (grub_netbsd_add_modules): Likewise.
23891 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23892 and finish EFI.
23893 (grub_bsd_unload): Unload tags.
23894 (grub_bsd_load_aout): Use relocator.
23895 (grub_bsd_elf32_size_hook): New function.
23896 (grub_bsd_elf32_hook): Use relocator.
23897 (grub_bsd_elf64_size_hook): New function.
23898 (grub_bsd_elf64_hook): Use relocator.
23899 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23900 (grub_bsd_load): Zero-out openbsd_ramdisk.
23901 (grub_bsd_load): Use relocator.
23902 (grub_cmd_openbsd): Support serial.
23903 (grub_cmd_netbsd): Support modules.
23904 (grub_cmd_freebsd_module): Use relocator.
23905 (grub_netbsd_module_load): New function.
23906 (grub_cmd_netbsd_module): Likewise.
23907 (grub_cmd_openbsd_ramdisk): Likewise.
23908 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23909 kopenbsd_ramdisk.
23910 (GRUB_MOD_FINI): Unregister new commands.
23911 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23912 (grub_freebsd_load_elfmodule_obj): Use relocator.
23913 (grub_freebsd_load_elfmodule): Likewise.
23914 (grub_freebsd_load_elf_meta): Likewise.
23915 (grub_netbsd_load_elf_meta): New function.
23916 (grub_openbsd_find_ramdisk): Likewise.
23917 * grub-core/loader/i386/bsd_helper.S: Removed.
23918 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23919 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23920 * grub-core/loader/i386/efi/linux.c: Likewise.
23921 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23922 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23923 (DEFAULT_VIDEO_MODE): Likewise.
23924 (real_mode_target): New variable.
23925 (prot_mode_target): Likewise.
23926 (initrd_mem_target): Likewise.
23927 (relocator): Likewise.
23928 (efi_mmap_buf): Likewise.
23929 (efi_mmap_size): Likewise.
23930 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23931 (free_pages): Use relocator.
23932 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23933 (grub_linux_setup_video): Return error.
23934 (grub_linux_trampoline_start): Removed.
23935 (grub_linux_trampoline_end): Likewise.
23936 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23937 andd video parameters depending on firmware.
23938 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23939 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23940 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23941 (grub_cmd_initrd): Use relocator.
23942 * grub-core/loader/i386/linux_trampoline.S: Removed.
23943 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23944 (elf_sec_entsize): Likewise.
23945 (elf_sec_shstrndx): Likewise.
23946 (elf_sections): Likewise.
23947 (grub_multiboot_load): Use relocator.
23948 (grub_multiboot_get_mbi_size): Account for sections.
23949 (grub_multiboot_make_mbi): Use relocator and support sections.
23950 (grub_multiboot_add_elfsyms): New function.
23951 (grub_multiboot_free_mbi): Free sections.
23952 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23953 (grub_linux_real_target): Likewise.
23954 (grub_linux_real_chunk): Likewise.
23955 (grub_linux16_prot_size): Likewise.
23956 (grub_linux16_boot): Use relocator.
23957 (grub_linux_unload): Unload relocator.
23958 (grub_cmd_linux): Use relocator.
23959 (grub_cmd_initrd): Likewise.
23960 * grub-core/loader/i386/pc/ntldr.c: New file.
23961 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23962 Don't try to guess CPU frequency.
23963 (grub_xnu_set_video): Stretch bitmap.
23964 (grub_xnu_boot): Use relocator.
23965 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23966 (grub_linux_unload): Free relocator.
23967 (grub_linux_load32): Use relocator.
23968 (grub_linux_load64): Likewise.
23969 (grub_cmd_initrd): Likewise.
23970 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23971 (grub_multiboot_unload): Unload relocator.
23972 (grub_cmd_multiboot): Use relocator.
23973 (grub_cmd_module): Likewise.
23974 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23975 Use relocator and support sections.
23976 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23977 (elf_sec_entsize): Likewise.
23978 (elf_sec_shstrndx): Likewise.
23979 (elf_sections): Likewise.
23980 (grub_multiboot_load): Use relocator.
23981 (grub_multiboot_get_mbi_size): Account for sections.
23982 (grub_multiboot_make_mbi): Use relocator and support sections.
23983 (grub_multiboot_add_elfsyms): New function.
23984 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23985 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23986 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23987 Prototype changed. All users updated.
23988 (grub_xnu_align_heap): Simplified.
23989 (grub_xnu_writetree_toheap): Likewise.
23990 (grub_xnu_unload): Unload relocator.
23991 (grub_cmd_xnu_kernel): Use relocator.
23992 (grub_cmd_xnu_kernel64): Likewise.
23993 (grub_xnu_register_memory): Simplified.
23994 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23995 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23996 EFI is finished.
23997 (grub_console_checkkey): Likewise.
23998 (grub_console_getkey): Likewise.
23999 (grub_console_getwh): Likewise.
24000 (grub_console_getxy): Likewise.
24001 (grub_console_gotoxy): Likewise.
24002 (grub_console_cls): Likewise.
24003 (grub_console_setcolorstate): Likewise.
24004 (grub_console_setcursor): Likewise.
24005 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
24006 * grub-core/tests/boot/kbsd.init-i386.S: New file.
24007 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
24008 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
24009 * grub-core/tests/boot/kernel-8086.S: Likewise.
24010 * grub-core/tests/boot/kernel-i386.S: Likewise.
24011 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
24012 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
24013 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
24014 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
24015 * grub-core/tests/boot/knetbsd.cfg: Likewise.
24016 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
24017 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
24018 * grub-core/tests/boot/linux.cfg: Likewise.
24019 * grub-core/tests/boot/linux.init-i386.S: Likewise.
24020 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
24021 * grub-core/tests/boot/linux16.cfg: Likewise.
24022 * grub-core/tests/boot/multiboot.cfg: Likewise.
24023 * grub-core/tests/boot/multiboot2.cfg: Likewise.
24024 * grub-core/tests/boot/ntldr.cfg: Likewise.
24025 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
24026 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
24027 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
24028 New definition.
24029 * include/grub/dl.h (grub_dl_unload_all): Removed.
24030 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
24031 (grub_efi_finish_boot_services): Change prototype.
24032 (grub_efi_is_finished): New variable.
24033 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
24034 Changed prototype.
24035 (grub_efiemu_finish_boot_services): Removed.
24036 (grub_machine_efiemu_init_tables): New prototype.
24037 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
24038 (grub_elf64_phdr_iterate): Likewise.
24039 * include/grub/i386/bsd.h: Include relocator.h.
24040 (freebsd_tag_header): New struct.
24041 (grub_openbsd_bios_mmap): Removed.
24042 (grub_unix_real_boot): Removed.
24043 (grub_freebsd_load_elfmodule32): Changed prototype.
24044 (grub_freebsd_load_elfmodule_obj64): Likewise.
24045 (grub_freebsd_load_elf_meta32): Likewise.
24046 (grub_freebsd_load_elf_meta64): Likewise.
24047 (grub_freebsd_add_meta): Removed.
24048 (grub_netbsd_load_elf_meta32): New prototype.
24049 (grub_netbsd_load_elf_meta64): Likewise.
24050 (grub_bsd_add_meta): Likewise.
24051 (grub_openbsd_ramdisk_descriptor): New struct.
24052 (grub_openbsd_find_ramdisk32): New prototype.
24053 (grub_openbsd_find_ramdisk64): Likewise.
24054 * include/grub/i386/coreboot/loader.h: Removed.
24055 * include/grub/i386/efi/loader.h: Likewise.
24056 * include/grub/i386/ieee1275/loader.h: Likewise.
24057 * include/grub/i386/linux.h (linux_kernel_header): Change void *
24058 to grub_uint32_t.
24059 * include/grub/i386/loader.h: Removed.
24060 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
24061 value.
24062 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
24063 (grub_phys_addr_t): New type.
24064 (grub_vtop): New inline function.
24065 (grub_map_memory): Likewise.
24066 (grub_unmap_memory): Likewise.
24067 * include/grub/i386/multiboot/loader.h: Removed.
24068 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
24069 (NETBSD_BTINFO_CONSOLE): New definition.
24070 (NETBSD_BTINFO_SYMTAB): Likewise.
24071 (NETBSD_BTINFO_MODULES): Likewise.
24072 (NETBSD_BTINFO_FRAMEBUF): Likewise.
24073 (grub_netbsd_bootinfo): New struct.
24074 (grub_netbsd_btinfo_common): Use explicit bitsize.
24075 (grub_netbsd_btinfo_mmap_entry): Removed.
24076 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
24077 (grub_netbsd_btinfo_bootdisk): New struct.
24078 (grub_netbsd_btinfo_symtab): Likewise.
24079 (grub_netbsd_btinfo_serial): Likewise.
24080 (grub_netbsd_btinfo_modules): Likewise.
24081 (grub_netbsd_btinfo_framebuf): Likewise.
24082 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
24083 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
24084 Likewise.
24085 (grub_openbsd_bootargs): Use explicit bitsize.
24086 (grub_openbsd_bootarg_console): New struct.
24087 (GRUB_OPENBSD_COM_MAJOR): New definition.
24088 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
24089 * include/grub/i386/pc/efiemu.h: Removed.
24090 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
24091 * include/grub/i386/qemu/loader.h: Removed.
24092 * include/grub/i386/relocator.h: Rewritten.
24093 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
24094 * include/grub/mips/memory.h: New file.
24095 * include/grub/mips/multiboot.h: Rewritten.
24096 * include/grub/mips/relocator.h: Rewritten.
24097 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
24098 (grub_vtop): New function.
24099 (grub_map_memory): Likewise.
24100 (grub_unmap_memory): Likewise.
24101 * include/grub/misc.h (ALIGN_DOWN): New definition.
24102 * include/grub/mm.h (grub_mm_check_real): New proto.
24103 (GRUB_MM_CHECK): New definition.
24104 * include/grub/mm_private.h: New file.
24105 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
24106 (grub_multiboot_get_mbi_size): Removed.
24107 (grub_multiboot_make_mbi): Change prottype.
24108 (grub_multiboot_set_accepts_video): New proto.
24109 (grub_multiboot_add_elfsyms): Likewise.
24110 (grub_multiboot_payload_eip): New variable.
24111 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
24112 New prototype.
24113 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
24114 New definition.
24115 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
24116 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
24117 * include/grub/powerpc/ieee1275/loader.h: Removed.
24118 * include/grub/powerpc/memory.h: New file.
24119 * include/grub/powerpc/relocator.h: Likewise.
24120 * include/grub/relocator.h: Likewise.
24121 * include/grub/relocator_private.h: Likewise.
24122 * include/grub/sparc64/ieee1275/loader.h: Removed.
24123 * include/grub/x86_64/memory.h: New file.
24124 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
24125 (grub_xnu_heap_malloc): Likewise.
24126 (grub_xnu_heap_real_start): Removed.
24127 (grub_xnu_heap_start): Likewise.
24128 (grub_xnu_relocator): New variable.
24129 (grub_xnu_heap_target_start): Likewise.
24130 * tests/util/grub-shell.in: Support non-pc.
24131 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 24132
5303b85d
VS
241332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24134
24135 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
24136 on malloc error.
24137 (grub_bidi_logical_to_visual): Check that malloc succeded.
24138 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
24139 puts.
24140 (grub_xputs_normal): Likewise.
24141
d768d159
VS
241422010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24143
24144 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
24145 extra_dist.
24146
241472010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24148
24149 * grub-core/efiemu/runtime/efiemu.sh: Removed.
24150
5bf84df4
VS
241512010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24152
24153 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
24154
3626810e
VS
241552010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24156
24157 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
24158 dprintf.
24159
a7363f53
BC
241602010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
24161
24162 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
24163
902f75f6
VS
241642010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24165
24166 * grub-core/normal/term.c (print_more): Fix a memory leak.
24167 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
24168 (grub_xputs_normal): Likewise.
24169
3c707967
VS
241702010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24171
24172 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
24173 the begining of the string
24174
2053cc07
VS
241752010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24176
24177 * grub-core/script/script.c (grub_script_parse): Free parsed on
24178 failure.
24179
46422ebf
VS
241802010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24181
24182 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
24183 on failure.
24184
9e0fa3f6
VS
241852010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24186
24187 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
24188 return.
24189
3393cf16
VS
241902010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24191
24192 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
24193 (scroll_up): Fix a memory leak.
24194
b17540cb
VS
241952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24196
24197 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
24198 errors.
24199
67140446
VS
242002010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
24201
24202 Handle USB pendrives exposed as floppies.
24203
24204 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
24205 floppy.
24206 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24207 Check for partitions on all devices.
24208
e35e46fc
VS
242092010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24210
24211 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
24212 (readkey): Likewise.
24213
d24c6190
BC
242142010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
24215
24216 Multiple variable names support to "export" command.
24217
24218 * normal/context.c (grub_cmd_export): "export" command supports
24219 multiple variable names.
24220
04ddcc6a
ST
242212010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
24222
24223 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
24224 --target=drive output to Mach device name.
24225
0c8b61d8
BC
242262010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24227
24228 New Automake based build system for GRUB.
24229
24230 * ABOUT-NLS: New file.
24231 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
24232 in Makefile.util.def file.
24233 * Makefile.util.def: New file. Autogen build definitions file for
24234 GRUB host utils.
24235 * conf/Makefile.common: New file. Common variables for GRUB host
24236 utils and target modules.
24237 * conf/Makefile.extra-dist: New file. Extra files for make dist.
24238 * docs/Makefile.am: New file. Automake file for docs.
24239 * gentpl.py: New file. Python script to generate Autogen
24240 template.
24241 * grub-core/Makefile.am: New file. GRUB target modules' rules
24242 that doesn't fit in Makefile.core.def file.
24243 * grub-core/Makefile.core.def: New file. Autogen build
24244 definitions file for GRUB target modules.
24245 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
24246 specific setjmp.S file.
24247 * po/Makefile.am: New file.
24248
24249 * .bzrignore: New ignores.
24250 * INSTALL: New requirements, without Ruby.
24251 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
24252 * autogen.sh: Updated to invoke autogen as necessary.
24253 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
24254 and defines for Automake conditionals.
24255 * geninit.sh: Refactoring.
24256
24257 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
24258 necessary.
24259 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
24260 New prototype.
24261
24262 * include/grub/test.h: Fix functional test modules' naming.
24263 * grub-core/tests/example_functional_test.c: Fix test module name.
24264
24265 * util/misc.c: Hosted versions' of grub functions for libgrub.a
24266 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
24267 * util/grub-editenv.c: Likewise.
24268 * util/grub-fstest.c: Likewise.
24269 * util/grub-mkdevicemap.c: Likewise.
24270 * util/grub-mkfont.c: Likewise.
24271 * util/grub-mkimage.c: Likewise.
24272 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24273 * util/grub-probe.c: Likewise.
24274 * util/grub-script-check.c: Likewise.
24275 * util/i386/pc/grub-setup.c: Likewise.
24276 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24277
24278 * tests/util/grub-shell.in: Fix override directory path.
24279 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
24280 * util/import_gcry.py: Create Makefile.gcry.def file instead.
24281
24282 * util/lvm.c: Update #includes.
24283 * util/raid.c: Likewise.
24284 * util/resolve.c: Likewise.
24285 * grub-core/bus/emu/pci.c: Likewise.
24286 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
24287 * grub-core/lib/posix_wrap/string.h: Likewise.
24288 * grub-core/kern/emu/main.c: Likewise.
24289
24290 * grub-core/gensymlist.sh: New file. Script for generating kernel
24291 symbols file.
24292 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
24293
24294 * grub-core/gentrigtables.c: Fix unused variable warnings.
24295
24296 * Makefile.in: Removed.
24297 * conf/any-emu.rmk: Removed.
24298 * conf/common.rmk: Removed.
24299 * conf/i386-coreboot.rmk: Removed.
24300 * conf/i386-efi.rmk: Removed.
24301 * conf/i386-ieee1275.rmk: Removed.
24302 * conf/i386-multiboot.rmk: Removed.
24303 * conf/i386-pc.rmk: Removed.
24304 * conf/i386-qemu.rmk: Removed.
24305 * conf/i386.rmk: Removed.
24306 * conf/mips-yeeloong.rmk: Removed.
24307 * conf/mips.rmk: Removed.
24308 * conf/powerpc-ieee1275.rmk: Removed.
24309 * conf/sparc64-ieee1275.rmk: Removed.
24310 * conf/tests.rmk: Removed.
24311 * conf/x86-efi.rmk: Removed.
24312 * conf/x86_64-efi.rmk: Removed.
24313 * gendistlist.sh: Removed.
24314 * geninitheader.sh: Removed.
24315 * genkernsyms.sh.in: Removed.
24316 * genmk.rb: Removed.
24317 * gensymlist.sh.in: Removed.
24318 * mkinstalldirs: Removed.
24319 * boot: Moved ...
24320 * grub-core/boot: ... to here.
24321 * bus: Moved ...
24322 * grub-core/bus: ... to here.
24323 * commands: Moved ...
24324 * grub-core/commands: ... to here.
24325 * disk: Moved ...
24326 * grub-core/disk: ... to here.
24327 * efiemu: Moved ...
24328 * grub-core/efiemu: ... to here.
24329 * font: Moved ...
24330 * grub-core/font: ... to here.
24331 * fs: Moved ...
24332 * grub-core/fs: ... to here.
24333 * gencmdlist.sh: Moved ...
24334 * grub-core/gencmdlist.sh: ... to here.
24335 * genemuinit.sh: Moved ...
24336 * grub-core/genemuinit.sh: ... to here.
24337 * genemuinitheader.sh: Moved ...
24338 * grub-core/genemuinitheader.sh: ... to here.
24339 * genfslist.sh: Moved ...
24340 * grub-core/genfslist.sh: ... to here.
24341 * genhandlerlist.sh: Moved ...
24342 * grub-core/genhandlerlist.sh: ... to here.
24343 * genmoddep.awk: Moved ...
24344 * grub-core/genmoddep.awk: ... to here.
24345 * genmodsrc.sh: Moved ...
24346 * grub-core/genmodsrc.sh: ... to here.
24347 * genpartmaplist.sh: Moved ...
24348 * grub-core/genpartmaplist.sh: ... to here.
24349 * genparttoollist.sh: Moved ...
24350 * grub-core/genparttoollist.sh: ... to here.
24351 * genterminallist.sh: Moved ...
24352 * grub-core/genterminallist.sh: ... to here.
24353 * gentrigtables.c: Moved ...
24354 * grub-core/gentrigtables.c: ... to here.
24355 * genvideolist.sh: Moved ...
24356 * grub-core/genvideolist.sh: ... to here.
24357 * gettext: Moved ...
24358 * grub-core/gettext: ... to here.
24359 * gfxmenu: Moved ...
24360 * grub-core/gfxmenu: ... to here.
24361 * gnulib: Moved ...
24362 * grub-core/gnulib: ... to here.
24363 * hello: Moved ...
24364 * grub-core/hello: ... to here.
24365 * hook: Moved ...
24366 * grub-core/hook: ... to here.
24367 * io: Moved ...
24368 * grub-core/io: ... to here.
24369 * kern: Moved ...
24370 * grub-core/kern: ... to here.
24371 * lib: Moved ...
24372 * grub-core/lib: ... to here.
24373 * loader: Moved ...
24374 * grub-core/loader: ... to here.
24375 * mmap: Moved ...
24376 * grub-core/mmap: ... to here.
24377 * normal: Moved ...
24378 * grub-core/normal: ... to here.
24379 * partmap: Moved ...
24380 * grub-core/partmap: ... to here.
24381 * parttool: Moved ...
24382 * grub-core/parttool: ... to here.
24383 * script: Moved ...
24384 * grub-core/script: ... to here.
24385 * term: Moved ...
24386 * grub-core/term: ... to here
24387 * tests/example_functional_test.c: Moved ...
24388 * grub-core/tests/example_functional_test.c: ... to here.
24389 * tests/lib/functional_test.c: Moved ...
24390 * grub-core/tests/lib/functional_test.c: ... to here.
24391 * tests/lib/test.c: Moved ...
24392 * grub-core/tests/lib/test.c: ... to here.
24393 * video: Moved ...
24394 * grub-core/video: ... to here.
24395
645586e6
BC
243962010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24397
24398 Replace --enable-grub-emu-modules with grub-emu-lite.
24399
24400 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
24401 cache.S.
24402
24403 * include/grub/emu/misc.h (grub_emu_init): New prototype.
24404 * kern/emu/full.c: New file. For grub-emu specific initialization.
24405 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
24406 * kern/emu/main.c: Call initialization function grub_emu_init.
24407
24408 * Makefile.in: Include grub-emu-lite in install.
24409 * commands/parttool.c: Use grub_no_autoload to differentiate
24410 between grub-emu and grub-emu-lite.
24411 * include/grub/misc.h: New variable grub_no_autoload.
24412
24413 * conf/any-emu.rmk: New rules for grub-emu-lite.
24414 * configure.ac: Remove --enable-grub-emu-modules.
24415 * genmk.rb: Cleanup unnecessary rules.
24416 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
24417
24418 * normal/main.c: Don't load list files on grub-emu-lite.
24419 * util/misc.c (grub_arch_sync_caches): Removed.
24420
f86a4030
CW
244212010-08-23 Colin Watson <cjwatson@ubuntu.com>
24422
24423 * kern/mips/startup.S (grub_prefix): Update comment to refer to
24424 grub-mkimage rather than grub-mkelfimage.
24425 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
24426
06776944
VS
244272010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24428
24429 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
24430 a key after CapsLock or NumLock. It's just a qemu bug.
24431
df262419
VS
244322010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24433
24434 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
24435 needed by libusb wrapper.
24436
b40ea81b
ST
244372010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24438
24439 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
24440
dee50575
VS
244412010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24442
24443 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
24444 --nounzip is passed.
24445
fb1d7b79
VS
244462010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
24447
24448 USB hotunplugging and USB serial support.
24449
24450 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
24451 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
24452 (grub_uhci_transfer): Respect timeout and set *actual.
24453 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
24454 non-standard length.
24455 (grub_usb_device_attach): Autoload modules.
24456 (GRUB_MOD_INIT): Set grub_term_poll_usb.
24457 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
24458 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
24459 users updated.
24460 (grub_usb_add_hub): Fill nports and children.
24461 (attach_root_port): Receive hub instead of controller.
24462 All users updated. Fill hub->devices.
24463 (grub_usb_root_hub): Allocate hub->devices.
24464 (detach_device): New function.
24465 (poll_nonroot_hub): Fill children and detach devices.
24466 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
24467 actual arguments. All users updated.
24468 (grub_usb_bulk_read_extended): New function.
24469 * bus/usb/serial/common.c: New file.
24470 * bus/usb/serial/ftdi.c: Likewise.
24471 * bus/usb/serial/pl2303.c: Likewise.
24472 * commands/terminal.c (handle_command): Support wildcard.
24473 * commands/usbtest.c: Output "Unknown" instead of empty string.
24474 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
24475 (usbserial_common_mod_SOURCES): New variable.
24476 (usbserial_common_mod_CFLAGS): Likewise.
24477 (usbserial_common_mod_LDFLAGS): Likewise.
24478 (pkglib_MODULES): Add usbserial_pl2303.mod.
24479 (usbserial_pl2303_mod_SOURCES): New variable.
24480 (usbserial_pl2303_mod_CFLAGS): Likewise.
24481 (usbserial_pl2303_mod_LDFLAGS): Likewise.
24482 (pkglib_MODULES): Add usbserial_ftdi.mod.
24483 (usbserial_ftdi_mod_SOURCES): New variable.
24484 (usbserial_ftdi_mod_CFLAGS): Likewise.
24485 (usbserial_ftdi_mod_LDFLAGS): Likewise.
24486 (pkglib_MODULES): Add serial.mod.
24487 (serial_mod_SOURCES): New variable.
24488 (serial_mod_CFLAGS): Likewise.
24489 (serial_mod_LDFLAGS): Likewise.
24490 * conf/i386-pc.rmk: Likewise.
24491 * conf/mips-yeeloong.rmk: Likewise.
24492 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
24493 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24494 * disk/usbms.c (first_available_slot): New variable.
24495 (grub_usbms_attach): Don't reuse free slots due to potential cache
24496 problems.
24497 * include/grub/serial.h: Moved to ..
24498 * include/grub/ns8250.h: ...this.
24499 * include/grub/serial.h: New file.
24500 * include/grub/term.h (grub_term_poll_usb): New variable.
24501 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
24502 readkey. All users updated.
24503 (grub_terminfo_output_state): Pass term to put.
24504 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
24505 (grub_usb_controller_dev): Add timeout and actual arguments to
24506 transfer. All users updated.
24507 (grub_usb_interface): New field detach_data.
24508 (grub_usb_device): New fields children and nports.
24509 (grub_usb_ep_type_t): New type.
24510 (grub_usb_get_ep_type): New function.
24511 (grub_usb_bulk_read_extended): Likewise.
24512 * include/grub/usbdesc.h (grub_usb_desc): New type.
24513 * include/grub/usbserial.h: New file.
24514 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
24515 * kern/term.c (grub_term_poll_usb): New variable.
24516 (grub_getkey): Call grub_term_poll_usb if set.
24517 (grub_checkkey): Likewise.
24518 (grub_getkeystatus): Likewise.
24519 * term/serial.c: Moved controller-specific parts to ...
24520 * term/ns8250.c: ... here.
24521 * term/serial.c: Mostly rewritten.
24522 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
24523 according to spec.
24524
21a313de
RM
245252010-08-20 Robert Millan <rmh@gnu.org>
24526
24527 Make kFreeBSD code more generic to support ext2fs as root, ufs as
24528 a separate module and maybe other interesting combinations.
24529
24530 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
24531 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
24532 (kfreebsd_entry): Add generic filesystem module load routine.
24533 Map GRUB `ext2' to kFreeBSD `ext2fs'.
24534
63c734a6
CW
245352010-08-20 Colin Watson <cjwatson@ubuntu.com>
24536
24537 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
24538 "numcenter" (I misunderstood the purpose of this entry).
24539 * docs/grub.texi (sendkey): Likewise.
24540
c4d16542
CW
245412010-08-20 Colin Watson <cjwatson@ubuntu.com>
24542
24543 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
24544 status flag options; simply omitting the option is equivalent and
24545 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
24546 (keysym_table): Rename "num5numlock" to "numlock".
24547 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
24548 can uniformly say that only the last of multiple `sendkey'
24549 invocations has any effect.
24550 * docs/grub.texi (sendkey): New section.
24551
93541d66
CW
245522010-08-19 Colin Watson <cjwatson@ubuntu.com>
24553
24554 * commands/i386/pc/sendkey.c (options): Fix three typos.
24555
b4ece5e1
VS
245562010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
24557
24558 Implement sendkey support.
24559
24560 * commands/i386/pc/sendkey.c: New file.
24561 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
24562 (sendkey_mod_SOURCES): New variable.
24563 (sendkey_mod_CFLAGS): Likewise.
24564 (sendkey_mod_LDFLAGS): Likewise.
24565
51f1f5af
CW
245662010-08-18 Colin Watson <cjwatson@ubuntu.com>
24567
24568 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
24569 fix warnings from Autoconf.
24570
9da94e05
CW
245712010-08-18 Colin Watson <cjwatson@ubuntu.com>
24572
24573 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
24574 to avoid false positives with some assemblers that output things
24575 like "someprefix_func" as part of their output.
24576
729a0f2e
RM
245772010-08-15 Robert Millan <rmh@gnu.org>
24578
24579 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
24580 errors.
24581 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
24582 grub_get_libzfs_handle() errors.
24583
f3710e08
RM
245842010-08-14 Robert Millan <rmh@gnu.org>
24585
24586 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
24587 filesystem is not ZFS.
24588
7a3c13de
BC
245892010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24590
24591 Fix for misspelled color names defaulting to black/black (bug
24592 reported by Doug Nazar)
24593
24594 * include/grub/normal.h (grub_parse_color_name_pair): Add return
24595 status to prototype.
24596 * normal/color.c (grub_parse_color_name_pair): Return failure
24597 status.
24598 (grub_env_write_color_normal): Ignore bad color names.
24599 (grub_env_write_color_highlight): Likewise.
24600 * normal/main.c (GRUB_MOD_INIT): Set default color names.
24601
ab8ba50d
BC
246022010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24603
24604 "shift" command support to GRUB script.
24605
24606 * include/grub/script_sh.h (grub_script_shift): New prototype.
24607 * script/execute.c (grub_script_shift): New function.
24608 * script/main.c (grub_script_init): Register shift command.
24609 (grub_script_fini): Unregister shift command.
24610 * util/grub-script-check.c (grub_script_cmd_shift): New function.
24611
24612 * tests/grub_script_shift.in: New testcase.
24613 * conf/tests.rmk: Rules for new testcase.
24614
4d61999e
BC
246152010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24616
24617 "continue" command support to GRUB script.
24618
24619 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
24620 (grub_script_break): Continue support.
24621 * script/main.c (grub_script_init): Register continue command.
24622 (grub_script_fini): Unregister continue command.
24623
24624 * tests/grub_script_continue.in: New testcase.
24625 * conf/tests.rmk: Rules for new testcase.
24626
4df51e00
BC
246272010-08-12 BVK Chaitanya <bvk@dbook>
24628
24629 "break" command support to GRUB script.
24630
24631 * conf/common.rmk: Rule updates to grub-script-check.
24632 * include/grub/misc.h (grub_min): New function.
24633 * include/grub/script_sh.h (grub_script_init): New prototype.
24634 (grub_script_fini): New prototype.
24635 (grub_script_break): New prototype.
24636 * script/main.c (grub_script_init): New function.
24637 (grub_script_fini): New function.
24638 * script/execute.c (grub_script_break): New function.
24639 * normal/main.c: Calls to grub_script_{init,fini}.
24640 * util/grub-script-check.c (grub_script_break): New function.
24641
24642 * tests/grub_script_break.in: New testcase.
24643 * conf/tests.rmk: Rules for new test case.
24644
f12c8420
BC
246452010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24646
24647 Function parameters support to GRUB script.
24648
24649 * script/yylex.l (VARIABLE): Regular expression update.
24650 * script/function.c (grub_script_function_call): Moved ...
24651 * script/execute.c (grub_script_function_call): ... to here.
24652 (grub_script_execute_arglist_to_argv): Removed.
24653 (grub_script_arglist_to_argv): New function.
24654 * script/argv.c: New file.
24655 (grub_script_argv_free): New function.
24656 (grub_script_argv_next): Likewise.
24657 (grub_script_argv_append): Likewise.
24658 (grub_script_argv_split_append): Likewise.
24659 * include/grub/script_sh.h (grub_script_argv): New struct.
24660 (grub_script_argv_free): New function.
24661 (grub_script_argv_next): Likewise.
24662 (grub_script_argv_append): Likewise.
24663 (grub_script_argv_split_append): Likewise.
24664
24665 * conf/common.rmk (normal.mod): New source script/argv.c.
24666
24667 * tests/grub_script_echo1.in: More tests.
24668 * tests/grub_script_vars1.in: Likewise.
24669 * tests/grub_script_functions.in: New test case.
24670 * conf/tests.rmk: Rules for new testcase.
24671
8022b748
BC
246722010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24673
24674 Remove grub_script_cmdblock struct.
24675
24676 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24677 * script/parser.y: Likewise.
24678 * script/execute.c: Rename cmdblock suffix to cmdlist.
24679 * script/script.c: Likewise.
24680 * util/grub-script-check.c: Likewise.
24681
79a6ba61
YB
246822010-08-11 Yves Blusseau <blusseau@zetam.org>
24683
24684 * .bzrignore: add grub-macho2img
24685
d04b9414
VS
246862010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24687
24688 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24689
f947ab49
VS
246902010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24691
24692 Remove the dump of sm712 initialisation sequence.
24693
24694 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24695 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24696 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24697 (GRUB_VGA_CR_*): Added many registers.
24698 (GRUB_VGA_SR_*): Likewise.
24699 (GRUB_VGA_GR_*): Likewise.
24700 (grub_vga_write_arx): New function.
24701 (grub_video_hw_config): New struct.
24702 (grub_vga_set_geometry): New function.
24703 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24704 GRUB_PCI_CLASS_SUBCLASS_VGA.
24705 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24706 * video/sm712.c (grub_sm712_write_reg): New function
24707 (grub_sm712_read_reg): Likewise.
24708 (grub_sm712_sr_write): Likewise.
24709 (grub_sm712_gr_write): Likewise.
24710 (grub_sm712_cr_write): Likewise.
24711 (grub_sm712_write_arx): Likewise.
24712 (grub_sm712_cr_shadow_write): Likewise.
24713 (grub_sm712_write_dda_lookup): Likewise.
24714 (grub_video_sm712_setup): Initialise the video rather then
24715 blindly replay the dump.
24716 (main) [TEST]: Add a routine to be able to compile as standalone for
24717 tests.
24718 * video/sm712_init.c (sm712_init): Removed.
24719 (sm712_sr_seq1): New array.
24720 (sm712_sr_seq2): Likewise.
24721
f0206638
VS
247222010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24723
24724 * include/grub/vga.h: Add missing grub/pci.h include.
24725
2764da3b
YB
247262010-08-10 Yves Blusseau <blusseau@zetam.org>
24727
24728 * util/grub-macho2img.c (main): fix typo
24729
cf0c775e
VS
247302010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24731
24732 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24733 (grub_vga_gr_read): Likewise.
24734 (grub_vga_cr_write): Likewise.
24735 (grub_vga_cr_read): Likewise.
24736 (grub_vga_sr_write): Likewise.
24737 (grub_vga_sr_read): Likewise.
24738 (grub_vga_palette_read): Likewise.
24739 (grub_vga_palette_write): Likewise.
24740 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24741 (grub_sm712_sr_read): New function.
24742 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24743 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24744
07f360e9
RM
247452010-08-09 Robert Millan <rmh@gnu.org>
24746
24747 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24748 out unused variables on non-ZFS build.
24749
346c2072
RM
247502010-08-08 Robert Millan <rmh@gnu.org>
24751
24752 Fix path generation for sub-filesystems in ZFS.
24753
24754 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24755 missing slash.
24756
71175420
RM
247572010-08-08 Robert Millan <rmh@gnu.org>
24758
24759 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24760
0d8286f3
RM
247612010-08-08 Robert Millan <rmh@gnu.org>
24762
24763 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24764 exist, issue a proper error message (rely on `ls' for translated
24765 strings).
24766
55dd2924
RM
247672010-08-08 Robert Millan <rmh@gnu.org>
24768
24769 Fix grub-probe invocation.
24770
24771 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24772
d3dd9e80
RM
247732010-08-04 Robert Millan <rmh@gnu.org>
24774
24775 * configure.ac: Remove checks for getfsstat() and getmntany().
24776 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24777 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24778 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24779 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24780 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24781 function.
24782 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24783 via find_mount_point_from_dir() and getfsstat() / getmntany().
24784
0de22aa9
RM
247852010-08-04 Robert Millan <rmh@gnu.org>
24786
24787 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24788 (grub_find_zpool_from_mount_point): Merge into ...
24789 (grub_find_zpool_from_dir): ... this.
24790 * kern/emu/misc.c: Likewise.
24791
24792 * kern/emu/misc.c
24793 (grub_make_system_path_relative_to_its_root): Replace
24794 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24795 with grub_find_zpool_from_dir().
24796 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24797
62858144
RM
247982010-08-04 Robert Millan <rmh@gnu.org>
24799
24800 Support OpenSolaris in ZFS device resolution.
24801
24802 * configure.ac: Check for getmntany().
24803 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
24804 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
24805 support.
24806
9dd6fd50
RM
248072010-08-03 Robert Millan <rmh@gnu.org>
24808
24809 Fix grub-emu build.
24810
24811 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
24812 * include/grub/emu/misc.h: ... here.
24813
24814 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24815 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24816
24817 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24818 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24819 (grub_get_libzfs_handle): Move to ...
24820 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24821 (grub_get_libzfs_handle): ... here.
24822
c9f7ff97
BC
248232010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24824
24825 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24826 as command name case.
24827
a870a783
CW
248282010-08-02 Colin Watson <cjwatson@ubuntu.com>
24829
24830 * disk/raid.c (insert_array): Select unique numbers for named arrays
24831 as well, for use as keys in the disk cache.
24832
c7db243b
RM
248332010-08-01 Robert Millan <rmh@gnu.org>
24834
24835 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
24836 kFreeBSD device name, except on ZFS where the filesystem label is
24837 used.
24838 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
24839 `/boot/zfs/zpool.cache'.
24840 Set mountfrom kernel variable using ${kfreebsd_device}.
24841
f7abdefb
RM
248422010-08-01 Robert Millan <rmh@gnu.org>
24843
24844 Make it even harder to use uninitialized `libzfs_handle' (and
24845 make the interface a bit simpler).
24846
24847 * include/grub/util/misc.h (grub_util_init_libzfs)
24848 (libzfs_handle): Remove.
24849 (grub_get_libzfs_handle): New prototype.
24850
24851 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24852 attribute.
24853 (grub_util_init_libzfs): Remove.
24854 (grub_get_libzfs_handle): New function.
24855
24856 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24857 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24858 accessing `libzfs_handle' directly.
24859
c882acc0
RM
248602010-08-01 Robert Millan <rmh@gnu.org>
24861
24862 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24863 (grub_find_zpool_from_mount_point): New function prototypes.
24864
24865 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24866 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24867
24868 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24869 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24870 `static' attribute.
24871
24872 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24873 finding zpool from mount point into ...
24874 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24875
24876 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24877 requested path is part of a ZFS pool, use
24878 grub_find_zpool_from_mount_point() to detect its filesystem name,
24879 and generate a path with `/fsname@path' syntax.
24880
8bfe31d8
CW
248812010-08-01 Colin Watson <cjwatson@ubuntu.com>
24882
24883 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24884 (void) rather than () so that this is a proper prototype.
24885
553df63d
VS
248862010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24887
24888 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24889
8687cf07
VS
248902010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24891
24892 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24893 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24894
ea9be8ea
CW
248952010-08-01 Colin Watson <cjwatson@ubuntu.com>
24896
24897 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24898
6eea041a
CW
248992010-08-01 Colin Watson <cjwatson@ubuntu.com>
24900
24901 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24902
2cfb45df
CW
249032010-08-01 Colin Watson <cjwatson@ubuntu.com>
24904
24905 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24906 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24907 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24908 disable gfxpayload.
24909 (Shell-like scripting): Add real content.
24910 (Serial terminal): Suggest `terminal_input serial; terminal_output
24911 serial' rather than putting the two commands on separate lines,
24912 since console input will be inoperative after the first command.
24913 (menuentry): Document --class, --users, and --hotkey options.
24914 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24915 Vladimir Serbinenko).
24916
7decd202
VS
249172010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
249182010-08-01 Colin Watson <cjwatson@ubuntu.com>
24919
24920 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24921
c882acc0
RM
249222010-08-01 Robert Millan <rmh@gnu.org>
24923
24924 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24925 (grub_find_zpool_from_mount_point): New function prototypes.
24926
24927 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24928 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24929
24930 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24931 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24932 `static' attribute.
24933
24934 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24935 finding zpool from mount point into ...
24936 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24937
24938 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24939 requested path is part of a ZFS pool, use
24940 grub_find_zpool_from_mount_point() to detect its filesystem name,
24941 and generate a path with `/fsname@path' syntax.
24942
deb0caa3
RM
249432010-08-01 Robert Millan <rmh@gnu.org>
24944
24945 Prevent accidental use of uninitialized libzfs_handle.
24946
24947 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24948 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24949 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24950
ce04ef47
CW
249512010-08-01 Colin Watson <cjwatson@ubuntu.com>
24952
24953 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24954 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24955
ebf53056
RM
249562010-08-01 Robert Millan <rmh@gnu.org>
24957
24958 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 24959
3710bb6b
RM
249602010-07-31 Robert Millan <rmh@gnu.org>
24961
24962 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24963
8072efeb
RM
249642010-07-31 Robert Millan <rmh@gnu.org>
24965
24966 * kern/emu/misc.c: Add missing license header.
24967
3169f4c7
RM
249682010-07-31 Robert Millan <rmh@gnu.org>
24969
24970 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24971
24972 * include/grub/util/libnvpair.h: Include `<config.h>'.
24973 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24974 declaring libnvpair prototypes ourselves.
24975 * include/grub/util/libzfs.h: Include `<config.h>'.
24976 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24977 declaring libzfs prototypes ourselves.
24978
24979 (libzfs_handle): Moved to ...
24980 * include/grub/util/misc.h (libzfs_handle): ... here.
24981 Include `<grub/util/libzfs.h>'.
24982
c9a00aee
RM
249832010-07-30 Robert Millan <rmh@gnu.org>
24984
24985 * include/grub/emu/misc.h: Add missing license header.
24986
a184f9c8
RM
249872010-07-30 Robert Millan <rmh@gnu.org>
24988
24989 Enable `grub-probe -t device' resolution on ZFS.
24990
24991 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24992 * include/grub/util/libnvpair.h: New file.
24993 * include/grub/util/libzfs.h: New file.
24994
24995 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24996 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24997 `<grub/util/libnvpair.h>'.
24998 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24999
25000 (find_mount_point_from_dir): New static function.
25001 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
25002 function.
25003 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
25004 find_root_device_from_libzfs() before ressorting to find_root_device().
25005
25006 * include/grub/util/misc.h (grub_util_init_libzfs): New function
25007 prototype.
25008 * util/misc.c: Include `<grub/util/libzfs.h>'.
25009 (grub_util_init_libzfs): New function.
25010 [HAVE_LIBZFS] (libzfs_handle): New global variable.
25011 [HAVE_LIBZFS] (fini_libzfs): New static function.
25012 (grub_util_init_libzfs): New function.
25013 * util/grub-probe.c (main): Call grub_util_init_libzfs().
25014
f7790cdd
RM
250152010-07-30 Robert Millan <rmh@gnu.org>
25016
25017 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
25018 (xmalloc, xrealloc, xstrdup, xasprintf): Add
25019 `warn_unused_result' attribute.
25020 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
25021 (grub_xasprintf, grub_xvasprintf): Likewise.
25022 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
25023
0806b63c
RM
250242010-07-29 Robert Millan <rmh@gnu.org>
25025
25026 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
25027 (probe): Handle `PRINT_FS_LABEL'.
25028 (main): Handle `-t fs_label'.
25029
9f841f5c
RM
250302010-07-29 Robert Millan <rmh@gnu.org>
25031
25032 * configure.ac: Remove grub-mkisofs checks.
25033
46371121
VS
250342010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25035
25036 * util/ieee1275/grub-install.in: Don't use empty grub_device.
25037 Reported by: Lennart Sorensen.
25038
250392010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25040
25041 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
25042 prior to terminal_input/terminal_output separation. It's been over 1.5
25043 years and those versions weren't widely deployed.
25044
a9600892
CW
250452010-07-22 Colin Watson <cjwatson@ubuntu.com>
25046
25047 * disk/raid.c (insert_array): Don't count named arrays when looking
25048 for unused array numbers.
697e053c 25049 Reported and tested by: Michael Guntsche.
a9600892 25050
c03507df
CW
250512010-07-20 Colin Watson <cjwatson@ubuntu.com>
25052
25053 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
25054 implementation of this so that grub-emu links again, with a note
25055 that this should support hotplugging in the future.
25056
b26f1c11
CW
250572010-07-20 Colin Watson <cjwatson@ubuntu.com>
25058
25059 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25060
efc9d7f1
CW
250612010-07-20 Colin Watson <cjwatson@ubuntu.com>
25062
25063 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
25064 handle on failure.
25065 (grub_loopback_close): Remove empty function.
25066 (grub_loopback_dev): Remove close method.
25067
dd8ff5c9
CW
250682010-07-20 Colin Watson <cjwatson@ubuntu.com>
25069
25070 Disable EFI cursor when the EFI console becomes inactive.
25071
25072 * term/efi/console.c (grub_efi_console_init): New function.
25073 (grub_efi_console_fini): New function.
25074 (grub_console_term_output): Register init and fini methods.
25075
5e3bec67
VS
250762010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25077
25078 * tests/util/grub-shell-tester.in: Remove bashism and declare as
25079 sh script.
25080
afaec079
VS
250812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25082
25083 * disk/loopback.c (grub_loopback): Replace filename with file.
25084 (delete_loopback): Handle new semantics.
25085 (grub_cmd_loopback): Likewise.
25086 (grub_loopback_iterate): Likewise.
25087 (grub_loopback_close): Likewise.
25088
a6a11f3c
VS
250892010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25090
25091 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
25092 with -p "".
25093 Reported by: Tito Keitel.
25094
64a638b0
VS
250952010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25096
25097 * docs/grub.texi (Naming convention): Document new naming convention.
25098
ab8ba957
VS
250992010-07-20 Vadim Solomin <vadic052@gmail.com>
251002010-07-20 Colin Watson <cjwatson@ubuntu.com>
25101
25102 Generate device.map in something closer to the old ordering.
25103
25104 * util/deviceiter.c (struct device): New declaration.
25105 (compare_file_names): Rename to ...
25106 (compare_devices): ... this. Sort by kernel name in preference to
25107 the stable by-id name, but keep the latter as a fallback comparison.
25108 Update header comment.
25109 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
25110 of `struct device' rather than of plain file names.
25111
a29d6a4b
TF
251122010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
25113
25114 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
25115 on i386.
25116
39d824e8
VS
251172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25118
25119 * commands/acpi.c (setup_common_tables): Use sizeof instead of
25120 hardcoding size.
25121 (setv1table): Likewise.
25122
f058276b
FZ
251232010-07-20 Colin Watson <cjwatson@ubuntu.com>
25124
25125 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
25126 removing the homehost if present.
25127 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
25128 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
25129 removing the homehost if present.
25130 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
25131 if possible.
25132 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
25133
25134 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
25135 parameter. Set its pointer target to 0.
25136 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
25137 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
25138 `data_offset' value from the superblock for 1.x metadata.
25139 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
25140 data on the device.
25141 (insert_array): Record the start sector of data on the device.
25142 (grub_raid_register): Pass start_sector parameters to
25143 grub_raid_list->detect and insert_array.
25144 * include/grub/raid.h (struct grub_raid_array): Add start_sector
25145 member.
25146 (struct grub_raid): Add start_sector parameter to `detect'.
25147
25148 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
25149 __attribute__ ((packed)), leaving a comment.
25150 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
25151 (grub_mdraid_detect_09): ... here and ...
25152 (grub_mdraid_detect_1x): ... here.
25153
251542010-07-20 Peter Henn <peter.henn@web.de>
25155
25156 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
25157 chunk size and disk size, which are already given as sector counts
25158 as distinct from the 0.90 units. Fetch the correct device number
25159 from the role table instead of using the table index.
25160
251612010-07-20 Felix Zielcke <fzielcke@z-51.de>
25162
25163 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
25164 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
25165 (WriteMostly1): New macro.
25166 Set array->name to NULL for metadata format 0.90. Add support for
25167 metadata 1.x. Fix some comments.
25168 * disk/raid.c (): Add support for name based RAID arrays. Fix a
25169 few comments.
25170 * util/getroot.c (grub_util_get_grub_dev): Add support for
25171 /dev/md/name style devices.
25172
4b761da9
CW
251732010-07-20 Colin Watson <cjwatson@ubuntu.com>
25174
25175 * .bzrignore: Ignore 20_linux_xen.
25176
5771289a
CW
251772010-07-17 Colin Watson <cjwatson@ubuntu.com>
25178
25179 * util/import_unicode.py: Remove unnecessary imports.
25180
5dab68df
AN
251812010-07-17 Aleš Nesrsta <starous@volny.cz>
25182
25183 Hotplugging and USB hub support.
25184
25185 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
25186 (grub_ohci): Likewise.
25187 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
25188 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
25189 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
25190 (GRUB_OHCI_CTRL_EDS): Likewise.
25191 (GRUB_OHCI_BULK_EDS): Likewise.
25192 (GRUB_OHCI_TDS): Likewise.
25193 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
25194 (grub_ohci_ed_phys2virt): New function.
25195 (grub_ohci_virt_to_phys): Likewise.
25196 (grub_ohci_td_phys2virt): Likewise.
25197 (grub_ohci_td_virt2phys): Likewise.
25198 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
25199 attachment.
25200 (grub_ohci_find_ed): New function.
25201 (grub_ohci_alloc_td): Likewise.
25202 (grub_ohci_free_td): Likewise.
25203 (grub_ohci_free_tds): Likewise.
25204 (grub_ohci_transfer): Use previously allocated memory.
25205 (grub_ohci_portstatus): Reset status changed bit.
25206 (grub_ohci_detect_dev): Supply status changed.
25207 (grub_ohci_fini_hw): Free memory.
25208 (grub_ohci_restore_hw): Reallocate memory.
25209 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
25210 Reset status change.
25211 (grub_uhci_detect_dev): Supply status_change.
25212 * bus/usb/usb.c (attach_hooks): New var.
25213 (grub_usb_device_attach): New function.
25214 (grub_usb_register_attach_hook_class): Likewise.
25215 (grub_usb_unregister_attach_hook_class): Likewise.
25216 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
25217 (grub_usb_add_hub): Reset connection changed bit.
25218 (attach_root_port): New function.
25219 (grub_usb_root_hub): Likewise.
25220 (poll_nonroot_hub): Likewise.
25221 (grub_usb_poll_devices): Likewise.
25222 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
25223 * disk/usbms.c (grub_usbms_open): Use device hooks.
25224 (grub_usbms_iterate) :Poll devices.
25225 (grub_usbms_finddevs): Split into ...
25226 (grub_usbms_attach): ... this ...
25227 (grub_usbms_attach): ... and this.
25228 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
25229 in detect_dev.
25230 (grub_usb_interface): New fields attached and detach_hook.
25231 (grub_usb_attach_hook_class): New type.
25232 (grub_usb_attach_desc): New struct.
25233 (grub_usb_register_attach_hook_class): New function.
25234 (grub_usb_unregister_attach_hook_class): Likewise.
25235 (grub_usb_poll_devices): Likewise.
25236 (grub_usb_device_attach): Likewise.
25237 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
25238 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
25239
3222efaf
VS
252402010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25241
25242 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
25243 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
25244 delta determination style. Works with most NetBSD partitions too.
25245
139b714a
VS
252462010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25247
25248 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
25249 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
25250
986aad56
VS
252512010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25252
25253 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
25254
99be513c
AB
252552010-07-14 Anton Blanchard <anton@samba.org>
25256
25257 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
25258 ET_DYN files.
25259
18075f62
GS
252602010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25261
25262 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
25263
8d9a5b15
GS
252642010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25265
25266 * kern/partition.c (grub_partition_check_containment): New function to
25267 check that a partition is physically contained in a parent. Since
25268 offsets are relative (and non-negative), this reduces to checking that
25269 the partition ends before its parent.
25270 (grub_partition_map_probe): Discard out-of-range sub-partitions.
25271 (grub_partition_iterate): Likewise.
25272 * include/grub/partition.h (grub_partition_map): Slightly more detailed
25273 comments.
25274 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
25275 partitions that start before their parent, and add debug printfs.
25276
19563c25
CW
252772010-07-13 Colin Watson <cjwatson@ubuntu.com>
25278
25279 * Makefile.in (.SUFFIX): Spell correctly, as ...
25280 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
25281 bare module name without `.mod', e.g. `test') tried to invoke a
25282 Modula-2 compiler.
25283
1a1f1e67
CW
252842010-07-13 Colin Watson <cjwatson@ubuntu.com>
25285
25286 * README: Point to the Info manual.
25287
811b0dca
JS
252882010-07-13 Jiro SEKIBA <jir@unicus.jp>
25289
25290 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
25291 2nd superblock position from partition size.
25292
e4f4eafc
CW
252932010-07-10 Colin Watson <cjwatson@ubuntu.com>
25294
25295 * Makefile.in (MAINTAINER_CLEANFILES): Remove
25296 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
25297 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
25298 outputs.
25299
4274c30f
VS
253002010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25301
25302 Restructure SCSI .id handling.
25303 Reported and tested by: Aleš Nesrsta.
25304
25305 * disk/ata.c (grub_atapi_close): Removed. All users updated.
25306 (grub_atapi_dev): Changed .name to "ata". New field .id.
25307 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
25308 (grub_usbms_dev): New field .id.
25309 * disk/scsi.c (grub_scsi_iterate): Generate name.
25310 (grub_scsi_open): Parse name.
25311 * include/grub/scsi.h (grub_make_scsi_id): New function.
25312 (grub_scsi_dev): Change iterate and open to number instead of naming
25313 busses. All users updated.
25314 (grub_scsi): Remove name. Add .bus.
25315
5bc24388
VS
253162010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25317
25318 * commands/help.c (grub_cmd_help): Fix a typo.
25319
249975ba
VS
253202010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25321
25322 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
25323 Reported and tested by: Colin Watson.
25324
3eaac1a1
VS
253252010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25326
25327 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
25328 in this context.
25329
becce1b1
VS
253302010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
25331
25332 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
25333
f7bf0918
CW
253342010-07-07 Colin Watson <cjwatson@ubuntu.com>
25335
25336 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
25337 indentation.
25338
0b0f9620
CW
253392010-07-06 Colin Watson <cjwatson@ubuntu.com>
25340
25341 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
25342 and disk/raid6_recover.c.
25343 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25344 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25345
1e545469
CW
253462010-07-06 Colin Watson <cjwatson@ubuntu.com>
25347
25348 * term/gfxterm.c (repaint_schedulded): Rename to ...
25349 (repaint_scheduled): ... this. Update all callers.
25350 (repaint_was_schedulded): Rename to ...
25351 (repaint_was_scheduled): ... this. Update all callers.
25352
5357687a
CW
253532010-07-06 Colin Watson <cjwatson@ubuntu.com>
25354
25355 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
25356 which we expect to be handled by upper layers.
25357
29d7e783
BC
253582010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
25359
25360 * bus/usb/usbhub.c: #include time.h header.
25361
37582066
CW
253622010-07-06 Colin Watson <cjwatson@ubuntu.com>
25363
25364 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
25365 entry_name also for entries without stat blocks (e.g. ".."); fixes
25366 corruption of the first entry in a directory.
25367
c8c06953
CW
253682010-07-06 Colin Watson <cjwatson@ubuntu.com>
25369
25370 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
25371 after setting gfxterm as the active terminal. GRUB_BACKGROUND
25372 doesn't work otherwise.
25373
e75056f1
CW
253742010-07-05 Colin Watson <cjwatson@ubuntu.com>
25375
25376 * docs/grub.texi (Features): Update list of supported file systems.
25377 (GNU/Linux): Update for GRUB 2.
25378 (Serial terminal): Remove mention of --disable-serial, which was a
25379 GRUB Legacy configure option. Update instructions to use
25380 `terminal_input' and `terminal_output' rather than `terminal'.
25381 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
25382 configuration' and `Installing GRUB using grub-install'.
25383 (Menu entry editor): Update for GRUB 2.
25384 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
25385 Document new -a, -u, and -v options.
25386 (initrd): New section.
25387 (initrd16): New section.
25388 (linux): New section.
25389 (linux16): New section.
25390 (search): The `var' argument to `--set' is optional.
25391 (GRUB only offers a rescue shell): Go into a little more detail on
25392 drive ordering.
25393
5cf69151
CW
253942010-07-05 Colin Watson <cjwatson@ubuntu.com>
25395
25396 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
25397
e3f90044
CW
253982010-07-05 Colin Watson <cjwatson@ubuntu.com>
25399
25400 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
25401 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
25402
38d8f4f3
CW
254032010-07-05 Colin Watson <cjwatson@ubuntu.com>
25404
25405 * util/i386/pc/grub-setup.c (setup): Rename prefix to
25406 install_prefix, in line with install_dos_part and install_bsd_part.
25407 Add new prefix variable, which is copied to install_prefix after
25408 comparing core.img in memory with the one read from disk in the
25409 no-embedding case, and use that rather than overwriting
25410 install_prefix immediately when installing to a partition.
25411 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
25412 Bicakci.
25413
57ebd41e
GS
254142010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25415
25416 * configure.ac: Avoid == in test command, it's not portable.
25417 * util/grub.d/30_os-prober.in: Likewise.
25418
cb7f64b2
CW
254192010-07-04 Colin Watson <cjwatson@ubuntu.com>
25420
25421 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
25422
6b654bb0
GS
254232010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25424
25425 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
25426 multiple (top-level) partmaps.
25427
72a2026d
VS
254282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25429
25430 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 25431 Reported by: Tino Keitel.
72a2026d 25432
df3eb88f
VS
254332010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25434
25435 Bidi and diacritics support.
25436
25437 * Makefile.in (widthspec.bin): New target.
25438 (widthspec.h): Likewise.
25439 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
25440 * autogen.sh: Generate unidata.c.
25441 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
25442 * commands/ls.c (grub_ls_list_devices): Likewise.
25443 (grub_ls_list_files): Likewise.
25444 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
25445 (grub_mini_cmd_lsmod): Likewise.
25446 * commands/read.c: Likewise.
25447 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
25448 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
25449 * lib/arg.c (grub_arg_show_help): Likewise.
25450 * lib/crypto.c (grub_password_get): Likewise.
25451 * normal/auth.c (grub_username_get): Likewise.
25452 * normal/misc.c (grub_normal_print_device_info): Likewise.
25453 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
25454 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
25455 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
25456 (normal/charset.c_DEPENDENCIES): New variable.
25457 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
25458 (pkglib_MODULES): Remove charset.mod.
25459 (charset_mod_SOURCES): Removed.
25460 (charset_mod_CFLAGS): Likewise.
25461 (charset_mod_LDFLAGS): Likewise.
25462 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
25463 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
25464 and term/tparm.c.
25465 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25466 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25467 (kernel_img_HEADERS): Add terminfo.h.
25468 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
25469 Fill ->font. Reverse ascii bitmaps.
25470 (grub_font_get_xheight): New function.
25471 * font/font.c (grub_font_get_string_width): Moved from here ...
25472 * gfxmenu/font.c (grub_font_get_string_width): ... here.
25473 * font/font.c (grub_font_draw_string): Moved from here ...
25474 * gfxmenu/font.c (grub_font_draw_string): ... here.
25475 * font/font.c (grub_font_dup_glyph): New function.
25476 (grub_font_blit_glyph): Likewise.
25477 (grub_font_blit_glyph_mirror): Likewise.
25478 (blit_comb): Likewise.
25479 (grub_font_construct_dry_run): Likewise.
25480 (grub_font_get_constructed_device_width): Likewise.
25481 (grub_font_construct_glyph): Likewise.
25482 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
25483 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
25484 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
25485 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
25486 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
25487 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
25488 (grub_font_get_xheight): New proto.
25489 (grub_font_get_constructed_device_width): Likewise.
25490 (grub_font_construct_glyph): Likewise.
25491 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
25492 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
25493 * include/grub/font.h (grub_font_draw_string): Moved from here ...
25494 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
25495 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
25496 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
25497 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
25498 (grub_console_getcharwidth): Likewise.
25499 * include/grub/misc.h (grub_xputs): New proto.
25500 (grub_puts): Inlined.
25501 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
25502 (grub_normal_get_line_counter): Removed.
25503 (grub_install_newline_hook): Likewise.
25504 (grub_normal_get_char_counter): New proto.
25505 (grub_normal_reset_more): Likewise.
25506 (grub_xputs_normal): Likewise.
25507 * include/grub/powerpc/ieee1275/console.h: Removed.
25508 * include/grub/sparc64/ieee1275/console.h: Likewise.
25509 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
25510 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
25511 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
25512 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
25513 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
25514 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
25515 (grub_term_input): Pass reference to self. All users updated.
25516 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
25517 Pass reference to self. New fields normal_color, highlight_color and
25518 data. All users updated.
25519 (grub_putchar): Removed.
25520 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
25521 (grub_unicode_estimate_width): New function.
25522 (grub_term_getcharwidth): Add defaults.
25523 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
25524 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
25525 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
25526 (grub_cls): Remove EXPORT_FUNC.
25527 (grub_setcolorstate): Inline.
25528 (grub_newline_hook): Removed.
25529 * include/grub/terminfo.h: Rewritten. All users updated.
25530 * include/grub/unicode.h: New file.
25531 * include/grub/video.h (grub_video_signed_rect): New type.
25532 * kern/emu/console.c (grub_console_highlight_color): Removed.
25533 (grub_console_normal_color): Likewise.
25534 (grub_console_standard_color): Made static.
25535 (grub_ncurses_putchar): Remove mapping.
25536 (grub_ncurses_getcharwidth): Removed.
25537 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25538 (grub_ncurses_setcolor): Removed.
25539 (grub_ncurses_getcolor): Likewise.
25540 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
25541 (grub_console_putchar): ... this.
25542 (grub_console_putchar): Handle argument difference.
25543 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
25544 console_init_early and console_init_lately.
25545 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
25546 * kern/misc.c (grub_puts): Removed.
25547 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
25548 (grub_vsnprintf_real): Remove str = NULL support.
25549 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
25550 * normal/charset.c (grub_utf8_to_ucs4): ... here.
25551 * kern/term.c (grub_putcode): Renamed to ...
25552 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
25553 (grub_putchar): Removed.
25554 (grub_xputs_dumb): New function.
25555 (grub_xputs): New variable.
25556 * lib/charset.c: Move from here ...
25557 * normal/charset.c: ... to here.
25558 (grub_ucs4_to_utf8): New function.
25559 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
25560 (join_types): New variable.
25561 (unpack_join): New function.
25562 (bidi_types): New variable.
25563 (unpack_bidi): New function.
25564 (get_bidi_type): Likewise.
25565 (get_join_type): Likewise.
25566 (is_mirrored): Likewise.
25567 (grub_unicode_get_comb_type): Likewise.
25568 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
25569 (is_type_after): Likewise.
25570 (grub_unicode_aglomerate_comb): Likewise.
25571 (bidi_line_wrap): Likewise.
25572 (grub_bidi_line_logical_to_visual): Likewise.
25573 (grub_bidi_logical_to_visual): Likewise.
25574 (grub_unicode_mirror_code): Likewise.
25575 (grub_unicode_shape_code): Likewise.
25576 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
25577 Don't use grub_putchar.
25578 * normal/main.c (grub_normal_init_page): Use grub_putcode.
25579 (grub_normal_reader_init): Likewise.
25580 (grub_xputs_saved): New variable.
25581 (GRUB_MOD_INIT): Set grub_xputs.
25582 (GRUB_MOD_FINI): Restore grub_xputs.
25583 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
25584 (menu_init): Avoid printing gfxmenu error.
25585 (show_menu): Use grub_normal_get_char_counter.
25586 * normal/menu_entry.c (update_screen): Fix out-of-array.
25587 (complete): Avoid NULL dereferencing.
25588 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
25589 * normal/menu_text.c (print_spaces): Removed.
25590 (grub_print_ucs4): Likewise.
25591 (grub_print_message_indented): Use grub_print_ucs4.
25592 (print_message): Use grub_putcode.
25593 (print_entry): Hanlde diacritics.
25594 * normal/term.c (term_state): New type.
25595 (grub_more_lines): Removed.
25596 (term_states): New variable.
25597 (grub_normal_line_counter): Renamed to ..
25598 (grub_normal_char_counter): ...this. All users updated.
25599 (grub_normal_get_line_counter): Renamed to ...
25600 (grub_normal_get_char_counter): ... this.
25601 (grub_normal_reset_more): New function.
25602 (process_newline): Removed.
25603 (print_more): New function.
25604 (grub_install_newline_hook): Removed.
25605 (map_code): New function.
25606 (grub_puts_terminal): Use grub_print_ucs4.
25607 (putglyph): New function.
25608 (putcode_real): Likewise.
25609 (grub_putcode): Use putcode_real.
25610 (get_maxwidth): New function.
25611 (get_startwidth): Likewise.
25612 (print_ucs4_terminal): Likewise.
25613 (find_term_state): Likewise.
25614 (put_glyphs_terminal): Likewise.
25615 (print_backlog): Likewise.
25616 (print_ucs4_real): Likewise.
25617 (grub_print_ucs4): Likewise.
25618 (grub_xputs_normal): Likewise.
25619 * term/efi/console.c (grub_console_putchar): Output diacritics.
25620 (grub_console_getcharwidth): Removed.
25621 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25622 * term/gfxterm.c (clear_char): Free chars.
25623 (scroll_up): Avoid leaking memory.
25624 (grub_gfxterm_putchar): Support diacritics.
25625 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25626 * term/i386/pc/console.c (grub_console_term_output): Declare as
25627 GRUB_TERM_CODE_TYPE_VGA.
25628 * term/i386/pc/vga.c (grub_vga_term): Declare as
25629 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
25630 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
25631 GRUB_TERM_CODE_TYPE_VGA.
25632 * term/i386/vga_common.c (map_char): Removed.
25633 (grub_console_putchar): Likewise.
25634 (grub_console_getcharwidth): Likewise.
25635 * term/ieee1275/ofconsole.c: Simplify using terminfo.
25636 (colors): Reordered to match terminfo.
25637 (grub_ofconsole_normal_color): Removed.
25638 (grub_ofconsole_writeesc): Likewise.
25639 (grub_ofconsole_highlight_color): Likewise.
25640 (grub_ofconsole_getcharwidth): Likewise.
25641 (grub_ofconsole_setcolorstate): Likewise.
25642 (grub_ofconsole_setcolor): Likewise.
25643 (grub_ofconsole_getcolor): Likewise.
25644 (grub_ofconsole_readkey): Renamed to ...
25645 (readkey): ... this. Remove escape sequence handling. Return -1 on no
25646 key.
25647 (grub_ofconsole_checkkey): Removed.
25648 (grub_ofconsole_getkey): Likewise.
25649 (grub_ofconsole_getxy): Likewise.
25650 (grub_ofconsole_gotoxy): Likewise.
25651 (grub_ofconsole_cls): Likewise.
25652 (grub_ofconsole_refresh): Likewise.
25653 (grub_ofconsole_terminfo_input): New struct.
25654 (grub_ofconsole_terminfo_output): Likewise.
25655 (grub_ofconsole_term_input): Use terminfo.
25656 (grub_ofconsole_term_output): Likewise.
25657 (grub_console_init): Split into ...
25658 (grub_console_init_early): ...this and ...
25659 (grub_console_init_lately): ...this. Use terminfo.
25660 (grub_ofconsole_putchar): Renamed to ...
25661 (put): ... this. Remove mapping.
25662 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25663 * term/serial.c: Simplify using terminfo.
25664 (xpos): Removed.
25665 (ypos): Likewise.
25666 (keep_track): Likewise.
25667 (registered): Likewise.
25668 (input_buf): Likewise.
25669 (npending): Likewise.
25670 (serial_translate_key_sequence): Likewise.
25671 (fill_input_buf): Likewise.
25672 (grub_serial_checkkey): Likewise.
25673 (grub_serial_getkey): Likewise.
25674 (grub_serial_getxy): Likewise.
25675 (grub_serial_gotoxy): Likewise.
25676 (grub_serial_putchar): Likewise.
25677 (grub_serial_cls): Likewise.
25678 (grub_serial_setcolorstate): Likewise.
25679 (grub_serial_setcursor): Likewise.
25680 (serial_hw_init): Use serial_hw_fetch.
25681 (grub_serial_terminfo_input): New variable.
25682 (grub_serial_terminfo_output): Likewise.
25683 (grub_serial_term_input): Use terminfo.
25684 (grub_serial_term_output): Likewise.
25685 * term/terminfo.c (putstr): Use put.
25686 (grub_terminfo_all_free): New function
25687 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25688 (grub_terminfo_output_register): New function.
25689 (grub_terminfo_output_unregister): Likewise.
25690 (grub_terminfo_getxy): Likewise.
25691 (grub_terminfo_readkey): Likewise.
25692 (grub_terminfo_checkkey): Likewise.
25693 (grub_terminfo_getkey): Likewise.
25694 (grub_terminfo_input_init): Likewise.
25695 (print_terminfo): Likewise.
25696 (grub_cmd_terminfo): Handle encoding.
25697 (grub_terminfo_gotoxy): Track position.
25698 (grub_terminfo_cls): Likewise.
25699 (grub_terminfo_putchar): Likewise.
25700 (grub_terminfo_setcolorstate): Handle colors
25701 (grub_terminfo_cursor_on): This ...
25702 (grub_terminfo_cursor_off): ... and this merged into ...
25703 (grub_terminfo_setcursor): ... this.
25704 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25705 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25706 * unicode/BidiMirroring.txt: Likewise.
25707 * unicode/UnicodeData.txt: Likewise.
25708 * unicode/COPYING: Likewise.
25709 * util/grub-editenv.c (grub_putchar): Removed.
25710 (grub_xputs_real): New function.
25711 (grub_xputs): New variable.
25712 * util/grub-fstest.c (grub_putchar): Removed.
25713 (grub_xputs_real): New function.
25714 (grub_xputs): New variable.
25715 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25716 (grub_xputs_real): New function.
25717 (grub_xputs): New variable.
25718 * util/grub-probe.c (grub_putchar): Removed.
25719 (grub_xputs_real): New function.
25720 (grub_xputs): New variable.
25721 * util/grub-script-check.c (grub_putchar): Removed.
25722 (grub_xputs_real): New function.
25723 (grub_xputs): New variable.
25724 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25725 (grub_xputs_real): New function.
25726 (grub_xputs): New variable.
25727 * util/import_unicode.py: New file.
25728 * util/grub-mkfont.c (ft_errmsgs): New array.
25729 (grub_glyph_info): Make bitmap a pointer.
25730 (file_formats): New type WIDTH_SPEC.
25731 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25732 (options): Add width-spec.
25733 (help): Likewise.
25734 (add_char): Renamed to ...
25735 (add_glyph): ... this.
25736 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25737 (glyph_replace): New type.
25738 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25739 (add_char): New function.
25740 (add_subst): Likewise.
25741 (process_cursive): Likewise.
25742 (add_font): Handle GSUB.
25743 (write_font_width_spec): New function.
25744 (main): Sort glyphs.
25745 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25746 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25747 * kern/term.c (grub_cls): Moved from here...
25748 * normal/term.c (grub_cls): ... here.
25749
50f0bcda
CW
257502010-07-02 Colin Watson <cjwatson@ubuntu.com>
25751
25752 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25753 suitable for using within the format argument of printf when
25754 converting grub_size_t.
25755 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25756 "x" to convert grub_size_t arguments.
25757
40372103
VS
257582010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25759
25760 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25761 too long captions.
25762 (list_get_minimal_size): Take selection box into account.
25763
942a10c7
VS
257642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25765
25766 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25767 NULL font.
25768
2bdb2892
CW
257692010-07-02 Colin Watson <cjwatson@ubuntu.com>
25770
25771 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25772 devices when iterating over /dev/disk/by-id; they will be handled
25773 later if appropriate, which they aren't always (e.g. LVM).
25774
e03ed6c1
CW
257752010-07-02 Colin Watson <cjwatson@ubuntu.com>
25776
25777 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25778 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25779 fails.
25780 (grub_halt): Likewise.
25781 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25782 reset-all fails.
25783 (grub_halt): Don't return, even if all of shut-down, power-off, and
25784 poweroff fail.
25785
47695765
CW
257862010-07-02 Colin Watson <cjwatson@ubuntu.com>
25787
25788 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25789 arguments, not three.
25790
507736c8
CW
257912010-07-02 Colin Watson <cjwatson@ubuntu.com>
25792
25793 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25794 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25795 LVM-on-RAID is handled correctly.
25796
e3c8cd37
CW
257972010-07-02 Colin Watson <cjwatson@ubuntu.com>
25798
25799 * docs/grub.texi (Changes from GRUB Legacy): New section.
25800 (Future): Fix typo.
25801
8d4a2fec
CW
258022010-07-02 Colin Watson <cjwatson@ubuntu.com>
25803
25804 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
25805 grub.d/README accidentally ends up executable for one reason or
25806 another. Ignore it.
25807
1c4827be
VS
258082010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25809
25810 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
25811 (gpt_partition_map_iterate): Support non-512B sectors.
25812
d9a0c941
VS
258132010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25814
25815 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25816 Tested by: Seth Goldberg.
25817
48f27e87
VS
258182010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25819
25820 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25821 Properly align mbi.
25822 Reported by: Seth Goldberg.
25823
b0c4f956
VS
258242010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25825
25826 * util/grub-mkrescue.in: Avoid module duplication.
25827
105a2e8c
SF
258282010-07-01 Sean Finney <seanius@seanius.net>
25829
25830 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
25831
5944958c
SF
258322010-07-01 Sean Finney <seanius@seanius.net>
25833
25834 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
25835
258362010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25837
25838 * disk/lvm.c (grub_lvm_checkvalue): New function.
25839 (grub_lvm_check_flag): Likewise.
25840
b79889ba
RM
258412010-07-01 Robert Millan <rmh@gnu.org>
25842
25843 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25844 Support 'p' as partition separator on kernel of FreeBSD (used
25845 with GPT labels).
25846 (grub_util_biosdisk_get_grub_dev): Likewise.
25847
ec1d04f1
VS
258482010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25849
25850 Yeeloong firmware port.
25851
25852 * boot/mips/yeeloong/fwstart.S: New file.
25853 * bus/cs5536.c (gpiodump): New const.
25854 (set_io_space): New function.
25855 (set_iod): Likewise.
25856 (set_p2d): Likewise.
25857 (grub_cs5536_init_geode): Likewise.
25858 * commands/mips/yeeloong/lsspd.c: New file.
25859 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25860 (serial_mod_SOURCES): New variable.
25861 (serial_mod_CFLAGS): Likewise.
25862 (serial_mod_LDFLAGS): Likewise.
25863 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25864 term/terminfo.c and term/tparm.c.
25865 (pkglib_IMAGES): Add fwstart.img.
25866 (fwstart_img_SOURCES): New variable.
25867 (fwstart_img_CFLAGS): Likewise.
25868 (fwstart_img_ASFLAGS): Likewise.
25869 (fwstart_img_LDFLAGS): Likewise.
25870 (fwstart_img_FORMAT): Likewise.
25871 (pkglib_MODULES): Add lsspd.mod.
25872 (lsspd_mod_SOURCES): New variable.
25873 (lsspd_mod_CFLAGS): Likewise.
25874 (lsspd_mod_LDFLAGS): Likewise.
25875 (pkglib_MODULES): Add halt.mod.
25876 (halt_mod_SOURCES): New variable.
25877 (halt_mod_CFLAGS): Likewise.
25878 (halt_mod_LDFLAGS): Likewise.
25879 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25880 (serial_mod_SOURCES): Removed.
25881 (serial_mod_CFLAGS): Likewise.
25882 (serial_mod_LDFLAGS): Likewise.
25883 * disk/ata.c (check_device): New function.
25884 (grub_ata_device_initialize): Use check_device.
25885 (grub_ata_iterate): Recheck devices.
25886 (grub_ata_open): Likewise.
25887 (grub_atapi_iterate): Likewise.
25888 (grub_atapi_open): Likewise.
25889 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
25890 (GRUB_ATA_CH1_PORT1): Likewise.
25891 (GRUB_ATA_CH0_PORT2): Likewise.
25892 (GRUB_ATA_CH1_PORT2): Likewise.
25893 * include/grub/mips/loongson.h: New file.
25894 * include/grub/mips/yeeloong/ec.h: Likewise.
25895 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25896 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25897 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25898 * include/grub/misc.h (grub_halt): Declare as noreturn.
25899 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25900 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25901 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25902 (UART_ENABLE_DTRRTS): Likewise.
25903 (UART_ENABLE_MODEM): Removed.
25904 (UART_ENABLE_OUT2): New const.
25905 * include/grub/term.h (grub_term_register_input_active): New function.
25906 (grub_term_register_output_active): Likewise.
25907 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25908 argument.
25909 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25910 (init_pci): New function.
25911 (grub_machine_init): Execute platform init when firmware. Init serial.
25912 (grub_halt): Implement.
25913 (grub_exit): Likewise.
25914 (grub_reboot): Likewise.
25915 * term/serial.c (serial_hw_init): Update macros.
25916 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25917 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25918 (image_targets): New target mipsel-yeeloong-flash.
25919 (generate_image): Support IMAGE_YEELOONG_FLASH.
25920 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25921 (grub_video_sm712_setup): Init card.
25922 (grub_video_sm712_set_palette): Removed.
25923 * video/sm712_init.c: New file.
25924
ff4a70d2
CW
259252010-06-30 Colin Watson <cjwatson@ubuntu.com>
25926
25927 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25928 PATH when running help2man and then run it on the unadorned
25929 executable names, rather than passing $(builddir)/* paths to
25930 help2man. This avoids the build directory ending up in generated
25931 manual pages.
25932
1246efeb
CW
259332010-06-29 Colin Watson <cjwatson@ubuntu.com>
25934
25935 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25936 to avoid accidents when debugging with 'sh -x'.
25937 * util/grub-mkrescue.in: Likewise.
25938 * util/grub.d/00_header.in: Likewise.
25939 * util/grub.d/10_hurd.in: Likewise.
25940 * util/grub.d/10_kfreebsd.in: Likewise.
25941 * util/grub.d/10_linux.in: Likewise.
25942 * util/grub.d/10_netbsd.in: Likewise.
25943 * util/grub.d/10_windows.in: Likewise.
25944 * util/grub.d/20_linux_xen.in: Likewise.
25945 * util/grub.d/30_os-prober.in: Likewise.
25946 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25947
1ba9b889
CW
259482010-06-29 Colin Watson <cjwatson@ubuntu.com>
25949
25950 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25951 last character in the buffer.
25952 Reported by: Vladimir Serbinenko.
25953
dccaf99d
RM
259542010-06-29 Robert Millan <rmh@gnu.org>
25955
25956 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25957 (Command-line and menu entry commands): Document `badram' command.
25958
d500ed12
RM
259592010-06-28 Robert Millan <rmh@gnu.org>
25960
25961 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25962 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25963 command using ${GRUB_BADRAM} as parameter.
25964
20bc84a6
CW
259652010-06-28 Colin Watson <cjwatson@ubuntu.com>
25966
25967 * docs/grub.texi (Device map): New section.
25968 (Themes): New section (stub).
25969 * Makefile.in (docs/grub.info): The info documentation now builds
25970 without errors. Make sure it stays that way.
25971
4045dee1
VS
259722010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25973
25974 Use normal parser for menu entries.
25975 Reported by: Thomas Frauendorfer
25976
25977 * include/grub/parser.h (grub_parser_execute): Don't export.
25978 * normal/menu.c (grub_menu_execute_entry_real): New function.
25979 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25980
bca58c7b
CW
259812010-06-28 Colin Watson <cjwatson@ubuntu.com>
25982
25983 * docs/grub.texi (Embedded configuration): New section (replacing
25984 old "Preset Menu" stub).
25985 (Images): New section.
25986 (configfile): Note that any menu entries defined in `file' are shown
25987 immediately.
25988
dec53e63
JT
259892010-06-28 Josh Triplett <josh@joshtriplett.org>
25990
25991 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25992
c06e40f7
CW
259932010-06-28 Colin Watson <cjwatson@ubuntu.com>
25994
25995 * util/grub-install.in: Add --debug-image= option.
25996
cb88052b
CW
259972010-06-28 Colin Watson <cjwatson@ubuntu.com>
25998
25999 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
26000 possible on Linux.
26001
26002 * util/deviceiter.c (check_device): Rename to ...
26003 (check_device_readable_unique): ... this. Update all callers.
26004 Maintain and check a list of which devices (by canonicalized name)
26005 have already been seen.
26006 (clear_seen_devices): New function.
26007 (compare_file_names) [__linux__]: New function.
26008 (grub_util_iterate_devices): Clear the list of seen devices on exit
26009 and (just in case) on entry.
26010 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
26011 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
26012 seen-devices list, superseded by general code in check_device.
26013
bbe34652
CW
260142010-06-28 Colin Watson <cjwatson@ubuntu.com>
26015
26016 * commands/cat.c (options): New variable.
26017 (grub_cmd_cat): Parse options. If the --dos option is given, print
26018 DOS-style "\r\n" line endings as simple newlines (Debian bug
26019 #586358).
26020 (GRUB_MOD_INIT): Use extcmd.
26021 (GRUB_MOD_FINI): Likewise.
26022 * docs/grub.texi (cat): Document --dos.
26023
412e09f3
VS
260242010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26025
26026 XEN with Linux grub-mkconfig support.
26027
26028 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
26029 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
26030 GRUB_CMDLINE_XEN_DEFAULT.
26031 * util/grub.d/20_linux_xen.in: New file.
26032
53f3ef38 260332010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
26034
26035 Initialise VGA video on qemu ourselves.
26036
26037 * boot/i386/qemu/boot.S: Don't call 0xc000.
26038 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
26039 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
26040 (kernel_img_HEADERS): Add pci.h.
26041 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
26042 * configure.ac: Force unifont on qemu and yeeloong.
26043 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
26044 (grub_vga_palette_write): Use correct register.
26045 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
26046 Call grub_qemu_init_cirrus.
26047 * kern/i386/qemu/init.c: New file.
26048 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
26049
26050 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
26051
c75be4fb
PR
260522010-06-26 Pavel Roskin <proski@gnu.org>
26053
26054 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
26055 13.
26056
d8034603
CW
260572010-06-26 Colin Watson <cjwatson@ubuntu.com>
26058
26059 * docs/grub.texi (Simple configuration): Explain that
26060 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
26061 set to `true' to disable their respective recovery entries, not
26062 merely set.
26063
3fa06487
CW
260642010-06-26 Colin Watson <cjwatson@ubuntu.com>
26065
26066 Make the `source' command slightly faster.
26067
26068 * normal/main.c (grub_normal_execute): Don't re-read list files when
26069 nested.
26070
e9b29642
CW
260712010-06-23 Colin Watson <cjwatson@ubuntu.com>
26072
26073 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
26074 field position and mask size to red fields from mode_info, not
26075 green.
26076 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
26077 Remove redundant tag->common.framebuffer_type assignment.
26078 Reported by: Seth Goldberg.
26079
e726542f
CW
260802010-06-23 Colin Watson <cjwatson@ubuntu.com>
26081
26082 Sync up other versions of the Linux loader with Robert Millan's
26083 change of 2010-01-09, "Make loader output a bit more user-friendly".
26084
26085 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
26086 grub_dprintf().
26087 (grub_cmd_linux): Likewise.
26088 (grub_cmd_initrd): Likewise.
26089 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
26090 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26091
d6e98a17
CW
260922010-06-21 Colin Watson <cjwatson@ubuntu.com>
26093
26094 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
26095 larger than MEMORY_MAP_SIZE.
26096
14d3f08e
BC
260972010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
26098
26099 Fix parallel build.
26100
26101 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
26102 dependency.
26103 * script/parser.y: #include grub_script.tab.h header.
26104
4f9613a3
VS
261052010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26106
26107 Support >3GiB and <16MiB RAM in i386-qemu.
26108
26109 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
26110 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
26111 (grub_lower_mem): Removed.
26112 (grub_upper_mem): Likewise.
26113 (mem_size): Made static.
26114 (above_4g): New variable.
26115 (grub_machine_mmap_init): Detect small mem_size and above_4g.
26116 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
26117 support.
26118
05e51879
VS
261192010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26120
26121 Cirrus 5446 and Bochs video cards support.
26122
26123 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
26124 video_bochs.mod
26125 (video_cirrus_mod_SOURCES): New variable.
26126 (video_cirrus_mod_CFLAGS): Likewise.
26127 (video_cirrus_mod_LDFLAGS): Likewise.
26128 (video_bochs_mod_SOURCES): Likewise.
26129 (video_bochs_mod_CFLAGS): Likewise.
26130 (video_bochs_mod_LDFLAGS): Likewise.
26131 * include/grub/vga.h: New file.
26132 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
26133 (grub_video_fb_set_page_t): New type.
26134 (grub_video_fb_setup): New prototype.
26135 (grub_video_fb_swap_buffers): Likewise.
26136 (grub_video_fb_get_info_and_fini): Likewise.
26137 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
26138 (CRTC_DATA_PORT): Likewise.
26139 (CRTC_CURSOR): Likewise.
26140 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26141 (CRTC_CURSOR_ADDR_LOW): Likewise.
26142 (CRTC_CURSOR_DISABLE): Likewise.
26143 (update_cursor): Use grub_vga_cr_write.
26144 (grub_vga_text_setcursor): Likewise.
26145 * video/bochs.c: New file.
26146 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
26147 (palette): Likewise.
26148 (palette_size): Likewise.
26149 (framebuffer): New variable.
26150 (grub_video_fb_init): Use 'framebuffer'.
26151 (grub_video_fb_fini): Likewise.
26152 (grub_video_fb_get_info): Likewise.
26153 (grub_video_fb_get_palette): Likewise.
26154 (grub_video_fb_set_palette): Likewise.
26155 (grub_video_fb_set_viewport): Likewise.
26156 (grub_video_fb_get_viewport): Likewise.
26157 (grub_video_fb_map_color): Likewise.
26158 (grub_video_fb_map_rgb): Likewise.
26159 (grub_video_fb_map_rgba): Likewise.
26160 (grub_video_fb_unmap_color): Likewise.
26161 (grub_video_fb_unmap_color_int): Likewise.
26162 (grub_video_fb_fill_rect): Likewise.
26163 (grub_video_fb_blit_bitmap): Likewise.
26164 (grub_video_fb_blit_render_target): Likewise.
26165 (grub_video_fb_scroll): Likewise.
26166 (grub_video_fb_create_render_target): Likewise.
26167 (grub_video_fb_doublebuf_blit_init): Likewise.
26168 (grub_video_fb_set_active_render_target): Handle doublebuffering.
26169 (doublebuf_pageflipping_update_screen): New function.
26170 (doublebuf_pageflipping_init): Likewise.
26171 (grub_video_fb_setup): Likewise.
26172 (grub_video_fb_swap_buffers): Likewise.
26173 (grub_video_fb_get_info_and_fini): Likewise.
26174 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
26175 All users updated.
26176 (doublebuf_pageflipping_commit): Restructured into ...
26177 (doublebuf_pageflipping_set_page): ... this.
26178 (doublebuf_pageflipping_update_screen): Removed.
26179 (doublebuf_pageflipping_init): Likewise.
26180 (double_buffering_init): Likewise.
26181 (grub_video_vbe_setup): Use grub_video_fb_setup.
26182 (grub_video_vbe_swap_buffers): Removed.
26183 (grub_video_vbe_set_active_render_target): Likewise.
26184 (grub_video_vbe_get_active_render_target): Likewise.
26185 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
26186 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
26187 grub_video_fb_set_active_render_target and
26188 grub_video_fb_get_active_render_target.
26189 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
26190 (SEQUENCER_DATA_PORT): Likewise.
26191 (MAP_MASK_REGISTER): Likewise.
26192 (CRTC_ADDR_PORT): Likewise.
26193 (CRTC_DATA_PORT): Likewise.
26194 (START_ADDR_HIGH_REGISTER): Likewise.
26195 (START_ADDR_LOW_REGISTER): Likewise.
26196 (GRAPHICS_ADDR_PORT): Likewise.
26197 (GRAPHICS_DATA_PORT): Likewise.
26198 (READ_MAP_REGISTER): Likewise.
26199 (INPUT_STATUS1_REGISTER): Likewise.
26200 (INPUT_STATUS1_VERTR_BIT): Likewise.
26201 (get_map_mask): Use grub_vga_sr_read.
26202 (set_map_mask): Use grub_vga_sr_write.
26203 (set_read_map): Use grub_vga_gr_write.
26204 (set_start_address): Use grub_vga_cr_write.
26205 * video/sm712.c (framebuffer): Remove leftover fields.
26206
4321c64a
CW
262072010-06-20 Colin Watson <cjwatson@ubuntu.com>
26208
26209 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
26210 setting GRUB_VIDEO_BACKEND. Make it available as a user override
26211 instead. Replace the gfxterm backend check with a check that
26212 ${GRUB_PREFIX}/video.lst is non-empty.
26213 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
26214 again.
26215 (load_video): New generated function. Call it before loading
26216 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
26217 * util/grub.d/10_linux.in (linux_entry): Call load_video.
26218 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
26219 * docs/grub.texi (Simple configuration): Document
26220 GRUB_VIDEO_BACKEND.
26221
262222010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26223
26224 Use video functions in linux and xnu loaders.
26225
26226 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
26227 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
26228 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
26229 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
26230 loader/i386/pc/linux.c.
26231 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
26232 (find_line_len): Removed.
26233 (find_framebuf): Likewise.
26234 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
26235 * loader/i386/efi/xnu.c: Removed.
26236 * loader/i386/pc/xnu.c: Moved from here...
26237 * loader/i386/xnu.c: ...here.
26238
26239 Enable priorities in video drivers.
26240
26241 * include/grub/video.h (grub_video_adapter_prio_t): New type.
26242 (grub_video_adapter): New field prio.
26243 (grub_video_register): Respect prio when inserting.
26244 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
26245 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
26246 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
26247 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
26248 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
26249 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
26250 * video/sm712.c (grub_video_sm712_adapter): Likewise.
26251
26252 Fix SDL driver ID.
26253
26254 * include/grub/video.h (grub_video_driver_id_t): New value
26255 GRUB_VIDEO_DRIVER_SDL.
26256 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
26257
7d24e434
CW
262582010-06-17 Colin Watson <cjwatson@ubuntu.com>
26259
26260 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
26261 argument to printf.
26262 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26263
c88a83f6
CW
262642010-06-17 Colin Watson <cjwatson@ubuntu.com>
26265
26266 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
26267 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26268
094dfb69
CW
262692010-06-17 Colin Watson <cjwatson@ubuntu.com>
26270
26271 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
26272 directly, and recommend grub-install instead.
26273 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26274
2164da6b
CW
262752010-06-17 Colin Watson <cjwatson@ubuntu.com>
26276
26277 Fix i386-pc prefix handling with nested partitions (Debian bug
26278 #585068). Note that the case where the core image is booted using
26279 multiboot and relocated from its original location still requires
26280 more work.
26281
26282 * kern/i386/pc/init.c (make_install_device): If the prefix starts
26283 with "(,", fill the boot drive in between those two characters, but
26284 expect that a full partition specification including partition map
26285 names will follow.
26286 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
26287 specified, write a prefix without the drive name but including a
26288 full partition specification.
26289
044e2e60
CW
262902010-06-16 Colin Watson <cjwatson@ubuntu.com>
26291
26292 * util/grub-mkconfig.in: Ignore non-option arguments, for
26293 compatibility with older versions (before 2010-06-12) which did the
26294 same. In particular, this makes it easier to ship an update-grub
26295 wrapper which is compatible with that used with GRUB Legacy (Debian
26296 bug #586056).
26297
5591324f
GS
262982010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26299
26300 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
26301 for manual page generation.
26302
662e24d5
GS
263032010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26304
26305 * po/POTFILES: Remove leftover commands/handler.c.
26306
8d70754e
CW
263072010-06-14 Colin Watson <cjwatson@ubuntu.com>
26308
26309 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
26310 left this script non-functional.
26311
41160e2e
CW
263122010-06-14 Colin Watson <cjwatson@ubuntu.com>
26313
26314 * docs/man/grub-emu.h2m: New file.
26315
b5309cc1
CW
263162010-06-13 Colin Watson <cjwatson@ubuntu.com>
26317
26318 * docs/grub.texi (Commands): Document reduced command set in rescue
26319 mode.
26320 (cpuid): New section.
26321
fcb2d090
GS
263222010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
26323
26324 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
26325 new partition naming style.
26326 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
26327
96e5c556
BC
263282010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
26329
26330 Add "-o grub.iso" like cmdline options support.
26331
26332 * util/grub-install.in: Improve cmdline option parsing.
26333 * util/grub-mkconfig.in: Likewise.
26334 * util/grub-mkrescue.in: Likewise.
26335 * util/grub-reboot.in: Likewise.
26336 * util/grub-set-default.in: Likewise.
26337 * util/i386/efi/grub-install.in: Likewise.
26338 * util/ieee1275/grub-install.in: Likewise.
26339 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26340
c16be99b
CW
263412010-06-12 Colin Watson <cjwatson@ubuntu.com>
26342
26343 * .bzrignore: Ignore 41_custom.
26344
ce08a9fb
TS
263452010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26346
26347 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
26348
7beac90c
CW
263492010-06-12 Colin Watson <cjwatson@ubuntu.com>
26350
26351 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
26352 prototype declarations.
26353
26354 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
26355 generating fs, partmap, and video lists.
26356 * include/grub/fs.h (grub_fs_register): Omit prototype if
26357 GRUB_LST_GENERATOR is defined.
26358 * include/grub/partition.h (grub_partition_map_register): Likewise.
26359 * include/grub/video.h (grub_video_register): Likewise.
26360
1c8f0f8d
JM
263612010-06-12 Javier Martín <lordhabbit@gmail.com>
26362
26363 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
26364
a6085973
TS
263652010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26366
26367 * util/grub-mkrescue.in: Support --xorriso argument.
26368
25c56d29
VS
263692010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26370
26371 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
26372 Suggested by: Thomas Schmitt.
26373
e03e4b24
VS
263742010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26375
26376 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
26377 Suggested by: Thomas Schmitt.
26378
57711df6
VS
263792010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26380
26381 custom.cfg support.
26382
26383 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
26384 * util/grub.d/41_custom.in: New file.
26385
ee62c427
CW
263862010-06-12 Colin Watson <cjwatson@ubuntu.com>
26387
26388 * util/grub-mkrescue.in (make_image): Remove sh module, which has
26389 been merged back into normal.
26390
283af07a
CW
263912010-06-11 Colin Watson <cjwatson@ubuntu.com>
26392
26393 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
26394 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
26395
56a0d956
CW
263962010-06-11 Colin Watson <cjwatson@ubuntu.com>
26397
26398 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
26399 when generating manual pages.
26400 * docs/man/grub-bin2h.h2m: New file.
26401 * docs/man/grub-editenv.h2m: New file.
26402 * docs/man/grub-fstest.h2m: New file.
26403 * docs/man/grub-install.h2m: New file.
26404 * docs/man/grub-macho2img.h2m: New file.
26405 * docs/man/grub-mkconfig.h2m: New file.
26406 * docs/man/grub-mkdevicemap.h2m: New file.
26407 * docs/man/grub-mkfont.h2m: New file.
26408 * docs/man/grub-mkimage.h2m: New file.
26409 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
26410 * docs/man/grub-mkrelpath.h2m: New file.
26411 * docs/man/grub-mkrescue.h2m: New file.
26412 * docs/man/grub-ofpathname.h2m: New file.
26413 * docs/man/grub-pe2elf.h2m: New file.
26414 * docs/man/grub-probe.h2m: New file.
26415 * docs/man/grub-reboot.h2m: New file.
26416 * docs/man/grub-script-check.h2m: New file.
26417 * docs/man/grub-set-default.h2m: New file.
26418 * docs/man/grub-setup.h2m: New file.
26419
3a37e322
VS
264202010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
26421
26422 Use FOR_* macros instead of *_iterate whenever possible.
26423
26424 * commands/handler.c: Removed.
26425 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
26426 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
26427 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26428 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
26429 (grub_probe_SOURCES): Remove kern/parser.c.
26430 (util/grub-script-check.c_DEPENDENCIES): Removed.
26431 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
26432 and grub_script_check_init.c.
26433 (grub_script_check_init.lst): Removed.
26434 (grub_script_check_init.h): Likewise.
26435 (grub_script_check_init.c): Likewise.
26436 (pkglib_MODULES): Remove handler.mod and sh.mod.
26437 (handler_mod_SOURCES): Removed.
26438 (handler_mod_CFLAGS): Likewise.
26439 (handler_mod_LDFLAGS): Likewise.
26440 (normal_mod_SOURCES): Remove normal/handler.c.
26441 Add script/main.c, script/script.c, script/execute.c,
26442 script/function.c, script/lexer.c, grub_script.tab.c
26443 and grub_script.yy.c.
26444 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26445 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26446 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
26447 (grub_setup_SOURCES): Remove kern/parser.c.
26448 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26449 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
26450 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
26451 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26452 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26453 (grub_setup_SOURCES): Remove kern/parser.c.
26454 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26455 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
26456 * include/grub/command.h (grub_command_iterate): Removed.
26457 (FOR_COMMANDS): New macro.
26458 * include/grub/dl.h (grub_dl): New member next.
26459 (grub_dl_iterate): Removed.
26460 (grub_dl_head): New variable declaration.
26461 (FOR_DL_MODULES): New macro.
26462 * include/grub/fs.h: Include list.h.
26463 (grub_fs): Make next first element.
26464 (grub_fs_list): New variable declaration.
26465 (grub_fs_register): Make inline.
26466 (grub_fs_unregister): Likewise.
26467 (grub_fs_iterate): Removed.
26468 (FOR_FILESYSTEMS): New macro.
26469 * include/grub/handler.h: Removed.
26470 * include/grub/list.h (grub_list_hook_t): Removed.
26471 (grub_list_test_t): Likewise.
26472 (grub_list_pop): Likewise.
26473 (grub_list_iterate): Likewise.
26474 (grub_list_insert): Likewise.
26475 (FOR_LIST_ELEMENTS): New macro.
26476 * include/grub/parser.h (grub_parser_class): Removed.
26477 (grub_parser_register): Likewise.
26478 (grub_parser_unregister): Likewise.
26479 (grub_parser_get_current): Likewise.
26480 (grub_parser_set_current): Likewise.
26481 (grub_register_rescue_parser): Likewise.
26482 (grub_rescue_parse_line): New function.
26483 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
26484 * include/grub/script_sh.h (grub_script_function_list): New variable
26485 declaration.
26486 (FOR_SCRIPT_FUNCTIONS): New macro.
26487 (grub_script_function_iterate): Removed.
26488 (grub_normal_parse_line): New prototype.
26489 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
26490 (FOR_DISABLED_TERM_INPUTS): Likewise.
26491 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26492 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26493 * include/grub/video.h (grub_video_adapter): Move 'next' to first
26494 element.
26495 (grub_video_register): Inline.
26496 (grub_video_unregister): Likewise.
26497 (grub_video_adapter_list): New variable declaration.
26498 (grub_video_iterate): Removed.
26499 (FOR_VIDEO_ADAPTERS): New macro.
26500 * kern/dl.c (grub_dl_list): Removed. All users updated.
26501 (grub_dl_iterate): Removed.
26502 * kern/fs.c (grub_fs_list): Make global.
26503 (grub_fs_register): Removed.
26504 (grub_fs_unregister): Likewise.
26505 (grub_fs_iterate): Likewise.
26506 * kern/handler.c: Removed.
26507 * kern/list.c (grub_list_pop): Removed.
26508 (grub_list_iterate): Likewise.
26509 (grub_list_insert): Likewise.
26510 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
26511 (grub_prio_list_insert): Don't use grub_list_insert.
26512 * kern/main.c (grub_register_rescue_parser): Don't call
26513 grub_register_rescue_parser.
26514 * kern/parser.c (grub_parser_class): Removed.
26515 (grub_parser_execute): Use grub_rescue_parse_line.
26516 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
26517 (grub_rescue_parser): Removed.
26518 (grub_register_rescue_parser): Likewise.
26519 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
26520 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
26521 (grub_auth_check_authentication): Likewise.
26522 * normal/completion.c (iterate_command): Removed.
26523 (grub_normal_do_completion): Use FOR_COMMANDS.
26524 * normal/handler.c: Removed.
26525 * normal/main.c (read_config_file): Remove parser changing.
26526 (grub_normal_execute): Don't call read_handler_list.
26527 (grub_normal_read_line_real): Statically allocate prompt.
26528 (grub_cmdline_run): Use grub_normal_parse_line.
26529 (GRUB_MOD_FINI): Don't call free_handler_list.
26530 * normal/menu_entry.c (run): Likewise.
26531 * script/function.c (grub_script_function_list): Make global.
26532 (grub_script_function_iterate): Removed.
26533 * script/main.c (grub_normal_parse_line): Make global.
26534 (grub_sh_parser): Removed.
26535 (GRUB_MOD_INIT): Likewise.
26536 (GRUB_MOD_FINI): Likewise.
26537 * tests/lib/functional_test.c (grub_functional_test): Use
26538 FOR_LIST_ELEMENTS.
26539 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
26540 (grub_test_run): Use FOR_LIST_ELEMENTS.
26541 * tests/lib/unit_test.c (main): Likewise.
26542 * util/deviceiter.c (grub_util_iterate_devices): Don't use
26543 grub_list_pop.
26544 * util/grub-fstest.c (grub_term_input_class): Removed.
26545 (grub_term_output_class): Likewise.
26546 * util/grub-probe.c: Likewise.
26547 * util/i386/pc/grub-setup.c: Likewise.
26548 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26549 * util/grub-script-check.c (main): Don't call grub_init_all and
26550 grub_fini_all.
26551 * video/video.c (grub_video_adapter_list): Make global.
26552 (grub_video_register): Removed.
26553 (grub_video_unregister): Likewise.
26554 (grub_video_iterate): Likewise.
26555
6289c3a7
VS
265562010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
26557
26558 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
26559 reported by Henrique Ferreiro.
26560
91460247
RM
265612010-06-09 Robert Millan <rmh@gnu.org>
26562
26563 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
26564 ones, when both are available.
26565
0ea7c4f9
GS
265662010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26567
26568 Make --version uniform and avoid hard-coded program name.
26569
26570 * util/grub-mkimage.c (main): Use `program_name' instead of
26571 hard-coded string.
26572 * util/i386/pc/grub-setup.c (main): Likewise.
26573 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
26574 * util/grub-install.in: Save the basename of $0 in $self, and use the
26575 latter in informational messages. Use the same format for --version
26576 as the binary programs.
26577 * util/grub-mkconfig.in: Likewise.
26578 * util/grub-mkrescue.in: Likewise.
26579 * util/grub-reboot.in: Likewise.
26580 * util/grub-set-default.in: Likewise.
26581 * util/i386/efi/grub-install.in: Likewise.
26582 * util/ieee1275/grub-install.in: Likewise.
26583 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26584
e8a6f3b6
GS
265852010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26586
26587 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
26588 embedding area. Use <= instead of == when checking for non-emptiness.
26589
f4d095d7
GS
265902010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26591
26592 * configure.ac: Add `.' to the directories searched for unifont.
26593
50e532ca
CW
265942010-06-08 Colin Watson <cjwatson@ubuntu.com>
26595
26596 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
26597 grub_script.yy.h.
26598
d39f3dec
CW
265992010-06-08 Colin Watson <cjwatson@ubuntu.com>
26600
26601 * docs/grub.texi (History): Expand to cover GRUB 2.
26602 (Serial terminal): Refer to `terminal_input' and `terminal_output'
26603 commands, not `terminal'.
26604 (serial): Likewise.
26605 (terminal_input): New section.
26606 (terminal_output): New section.
26607 (uppermem): New section (stub).
26608 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
26609
6ef0ddb4
CW
266102010-06-08 Colin Watson <cjwatson@ubuntu.com>
26611
26612 * docs/grub.texi (Security): Menu entries are unrestricted by
26613 default, not restricted to superusers as I had previously thought.
26614 Reword to account for this.
26615
e0f4c438
CW
266162010-06-07 Colin Watson <cjwatson@ubuntu.com>
26617
26618 * kern/emu/misc.c (device_mapper_null_log): New function.
26619 (grub_device_mapper_supported): New function.
26620 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
26621 prototype.
26622 * kern/emu/hostdisk.c (find_partition_start): Check whether
26623 device-mapper is supported before trying to use it.
26624 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
26625
da908200
CW
266262010-06-07 Colin Watson <cjwatson@ubuntu.com>
26627
26628 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
26629 (File name syntax): Likewise.
26630 (help): --all is no longer supported in GRUB 2. Be more precise
26631 about pattern matching.
26632
fb55c3ac
CW
266332010-06-07 Colin Watson <cjwatson@ubuntu.com>
26634
26635 * normal/completion.c (grub_normal_do_completion): When completing
26636 arguments to "set" and the current word contains an equals sign,
26637 skip to after the equals sign before starting completion.
26638
258c2573
CW
266392010-06-07 Colin Watson <cjwatson@ubuntu.com>
26640
26641 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
26642
ee75515e
CW
266432010-06-07 Colin Watson <cjwatson@ubuntu.com>
26644
26645 * docs/grub.texi (Network): New section.
26646 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
26647 `(nd)' as in GRUB Legacy.
26648 (pxe_unload): New section.
26649
a6a700aa
CW
266502010-06-07 Colin Watson <cjwatson@ubuntu.com>
26651
26652 * docs/grub.texi (Troubleshooting): `echo' is not usually available
26653 in the rescue shell, so recommend using `set' instead. Thanks,
26654 Jordan Uggla.
26655
4003dd38
CW
266562010-06-07 Colin Watson <cjwatson@ubuntu.com>
26657
26658 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
26659 (password): New section.
26660 (password_pbkdf2): New section.
26661 (search): New section.
26662 (Security): New section.
26663 (Troubleshooting): New section, currently very incomplete.
26664 (Invoking grub-mkpasswd-pbkdf2): New section.
26665 (Internals): New section, currently very incomplete.
26666
e1cbcc40
CW
266672010-06-07 Colin Watson <cjwatson@ubuntu.com>
26668
26669 * util/grub.d/00_header.in: Add some more quoting (of
26670 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
26671 work again.
26672 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26673
db8fa1ad
CW
266742010-06-07 Colin Watson <cjwatson@ubuntu.com>
26675
26676 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26677 to `count', fixing variable shadowing that broke the -c option.
26678
266792010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
26680
26681 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26682 in case they contain spaces.
26683
f28a9212
CW
266842010-06-04 Colin Watson <cjwatson@ubuntu.com>
26685
26686 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26687 "part_" to partmap module names, in line with grub-install.
26688 Reported by: Jindřich Makovička (Debian bug #584426).
26689
9cdfe32f
CW
266902010-06-04 Colin Watson <cjwatson@ubuntu.com>
26691
26692 * util/grub-mkimage.c: Make target-related error messages slightly
26693 more helpful; -O talks about "format". Explicitly point to the use
26694 of -O if no target is specified.
26695 Reported by: Didier Raboud (Debian bug #584415).
26696
795b593a
CW
266972010-06-03 Colin Watson <cjwatson@ubuntu.com>
26698
26699 * INSTALL: Document several build requirements for optional features
26700 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26701
9d9b5833
GS
267022010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26703
26704 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26705 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26706 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26707
0819fec8
CW
267082010-06-02 Colin Watson <cjwatson@ubuntu.com>
26709
26710 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26711 Thanks to Jordan Uggla for spotting this.
26712
49396b4f
VS
267132010-06-02 Aleš Nesrsta <starous@volny.cz>
26714
26715 Finally make USB usable.
26716
26717 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26718 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26719 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26720 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26721 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26722 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26723 (GRUB_OHCI_FSMPS): Likewise.
26724 (GRUB_OHCI_PERIODIC_START): Likewise.
26725 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26726 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26727 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26728 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26729 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26730 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26731 (grub_ohci_transaction): Likewise.
26732 (grub_ohci_transfer): Improve condition detection algorithms.
26733 Handle toggle property. Program the transactions correctly.
26734 Improve error handling. Various important fixups.
26735 (grub_ohci_portstatus): Put register writes in right order.
26736 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26737 (grub_uhci_transfer): Don't show "failed" message on success.
26738 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26739 array.
26740 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26741 determine its size.
26742 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26743 before initialization is completed. Use IN direction for empty
26744 transfers. Use last_trans and compute toggle.
26745 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26746 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26747 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26748 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26749 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26750 (grub_usb_device): Increase toggle to 256.
26751 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26752 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26753 GRUB_USBMS_SUBCLASS_SFF8070.
26754 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26755 (grub_scsi_inquiry): New member page and alloc_length.
26756 (grub_scsi_request_sense): New structure.
26757 (grub_scsi_request_sense_data): Likewise.
26758 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26759 control.
26760 * disk/scsi.c (grub_scsi_request_sense): New function.
26761 (grub_scsi_test_unit_ready): Likewise.
26762 (grub_scsi_inquiry): Fill new fields.
26763 (grub_scsi_read_capacity): Likewise.
26764 (grub_scsi_read10): Add request sense at the end.
26765 (grub_scsi_read12): Likewise.
26766 (grub_scsi_write10): Likewise.
26767 (grub_scsi_write12): Likewise.
26768 (grub_scsi_open): Add Test Unit Ready.
26769 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26770 Support additional subclasses. Con't clear halt yet. Activate the
26771 proper config. Calculate LUNs correctly.
26772 (grub_usbms_transfer): Various important fixups.
26773
267742010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26775
26776 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26777 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26778 (grub_ohci_fini_hw): New function.
26779 (grub_ohci_restore_hw): Likewise.
26780 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26781 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26782 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26783
267842010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26785
26786 Dedicated DMA allocations.
26787
26788 * bus/pci.c (grub_memalign_dma32): New function
26789 (grub_dma_free): Likewise.
26790 (grub_dma_get_virt): Likewise.
26791 (grub_dma_get_phys): Likewise.
26792 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26793 (grub_ohci_pci_iter): Use dma32_alloc.
26794 (grub_ohci_transfer): Likewise.
26795 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26796 (grub_usb_bulk_readwrite): Likewise.
26797 * include/grub/pci.h: Add declarations.
26798
267992010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26800
26801 CS5536 support.
26802
26803 * bus/cs5536.c: New file.
26804 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
26805 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
26806 (cs5536_mod_SOURCES): New variable.
26807 (cs5536_mod_CFLAGS): Likewise.
26808 (cs5536_mod_LDFLAGS): Likewise.
26809 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
26810 machine/pci.h.
26811 (kernel_img_SOURCES): Add bus/cs5536.c.
26812 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26813 usb_keyboard.mod.
26814 (usb_mod_SOURCES): New variable.
26815 (usb_mod_CFLAGS): New variable.
26816 (usb_mod_LDFLAGS): New variable.
26817 (usbtest_mod_SOURCES): New variable.
26818 (usbtest_mod_CFLAGS): New variable.
26819 (usbtest_mod_LDFLAGS): New variable.
26820 (ohci_mod_SOURCES): New variable.
26821 (ohci_mod_CFLAGS): New variable.
26822 (ohci_mod_LDFLAGS): New variable.
26823 (usbms_mod_SOURCES): New variable.
26824 (usbms_mod_CFLAGS): New variable.
26825 (usbms_mod_LDFLAGS): New variable.
26826 (usb_keyboard_mod_SOURCES): New variable.
26827 (usb_keyboard_mod_CFLAGS): New variable.
26828 (usb_keyboard_mod_LDFLAGS): New variable.
26829 * include/grub/smbus.h: New file.
26830 * include/grub/cs5536.h: New file.
26831
0b35b2a9
CW
268322010-06-02 Colin Watson <cjwatson@ubuntu.com>
26833
26834 * util/grub.d/00_header.in: Add safety check to make sure that
26835 ${locale_dir} exists before trying to probe it.
26836
ca0afd5b
CW
268372010-06-02 Colin Watson <cjwatson@ubuntu.com>
26838
26839 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
26840 per the GNU Coding Standards; this is now too obscure to be worth
26841 documenting.
26842 (QNX): Likewise.
26843 (chainloader): Remove cross-reference to `SCO UnixWare'.
26844
1c41aa78
CW
268452010-06-02 Colin Watson <cjwatson@ubuntu.com>
26846
26847 * docs/grub.texi (Chain-loading): New section.
26848 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26849 adjusted for GRUB 2.
26850 (SCO UnixWare): Likewise.
26851 (QNX): Likewise.
26852 (chainloader): Add reference to `Block list syntax'.
26853 (drivemap): New section.
26854 (parttool): New section.
26855
bb8ea0f5
CW
268562010-06-02 Colin Watson <cjwatson@ubuntu.com>
26857
26858 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26859 the grub shell'.
26860 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26861 (Installing GRUB using grub-install): Remove reference to the grub
26862 shell; mention `grub-mkimage' and `grub-setup' instead.
26863 (Invoking grub-install): Likewise.
26864 (Interface): Add reference to `Menu entry editor'.
26865 (serial): Remove `--device' option.
26866
288dd6ed
CW
268672010-06-02 Colin Watson <cjwatson@ubuntu.com>
26868
26869 * docs/grub.texi (Configuration): New section, documenting
26870 configuration file generation using grub-mkconfig. I've left a slot
26871 for documenting the full shell scripting format but have not yet
26872 started on writing that up.
26873 (Invoking grub-mkconfig): New section.
26874
34c9f0e9
CW
268752010-06-02 Colin Watson <cjwatson@ubuntu.com>
26876
26877 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26878 (GNU GRUB manual): Likewise.
26879 (General commands): Update description of `terminfo' for GRUB 2.
26880
9121567e
CW
268812010-06-02 Colin Watson <cjwatson@ubuntu.com>
26882
26883 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26884 (GRUB_MOD_INIT): Fix capitalisation.
26885 * docs/grub.texi (Command-line and menu entry commands): Document
26886 gettext and gptsync commands.
26887
ab631611
CW
268882010-06-02 Colin Watson <cjwatson@ubuntu.com>
26889
26890 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
26891 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26892
bde4a9ac
CW
268932010-06-01 Colin Watson <cjwatson@ubuntu.com>
26894
26895 Add btrfs probing support, currently only in the single-device case.
26896
26897 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26898 function.
26899 (grub_guess_root_device): Call find_root_device_from_mountinfo
26900 before looking in /dev.
26901
b1d17e10
VS
269022010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26903
26904 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26905 GRUB_DISK_SIZE_UNKNOWN.
26906 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26907
dfbfe004
JS
269082010-05-31 Jiro SEKIBA <jir@unicus.jp>
26909
26910 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26911 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26912 corrupted or not synced properly.
26913
c2ffc8e9
VS
269142010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26915
26916 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26917 Reported by: Seth Goldberg.
26918
56293166
VS
269192010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26920
26921 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26922 addition of dest.
26923 Reported by: Seth Goldberg.
26924
7620e7de
VS
269252010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26926
26927 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26928 Reported by: Seth Goldberg.
26929
c837af3f
VS
269302010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26931
26932 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26933 64-bit address as signed on MIPS.
26934
c7c75cf4
CW
269352010-05-28 Colin Watson <cjwatson@ubuntu.com>
26936
26937 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26938 to the empty string.
26939
fa4b8490
BC
269402010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26941
26942 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26943
26944 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26945 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26946 * kern/misc.c (__enable_execute_stack): Disable on
26947 GRUB_MACHINE_EMU.
26948
a33075b9
CW
269492010-05-28 Colin Watson <cjwatson@ubuntu.com>
26950
26951 Make grub-probe work with symbolic links under /dev/mapper as well
26952 as with real block devices. The Linux world seems to be (at best)
26953 in transition here, and GRUB shouldn't get caught in the middle.
26954
26955 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26956 /dev/mapper.
26957
d8708134
CW
269582010-05-27 Colin Watson <cjwatson@ubuntu.com>
26959
26960 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26961 input files (in which case exit zero).
26962
db2102a0
CW
269632010-05-27 Colin Watson <cjwatson@ubuntu.com>
26964
26965 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26966 return NULL for various reasons even if it has a maximum-length
26967 buffer: for example, there might be a symlink loop, or the path
26968 might exceed PATH_MAX. If this happens, return NULL.
26969
5fdba519
RM
269702010-05-27 Robert Millan <rmh@gnu.org>
26971
26972 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26973 partmap module to handle cross-partmap setups.
26974 Reported by Orestes Mas. Gràcies!
26975
d1d368e4
CW
269762010-05-27 Colin Watson <cjwatson@ubuntu.com>
26977
26978 * util/grub-mkrescue.in: Initialise override_dir rather than
26979 assuming that it's unset or empty in the environment.
26980
95ac3c73
GS
269812010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26982
26983 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26984 variable index into p_index to suppress a warning with -Wshadow.
26985
7d8c0213
BC
269862010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26987
26988 * INSTALL: Added flex >= 2.5.35 requirement.
26989
db4d5813
VS
269902010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26991
26992 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26993
f24f4300
VS
269942010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26995
26996 cmostest support.
26997
26998 * commands/i386/cmostest.c: New file.
26999 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
27000 (cmostest_mod_SOURCES): New variable.
27001 (cmostest_mod_CFLAGS): Likewise.
27002 (cmostest_mod_LDFLAGS): Likewise.
27003 * conf/i386-pc.rmk: Likewise.
27004 * docs/grub.texi (Vendor power-on keys): New section.
27005 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
27006 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
27007 and GRUB_BUTTON_CMOS_ADDRESS.
27008 * util/grub.d/00_header.in: Handle powering-on by separate button.
27009
ad603f61
VS
270102010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27011
27012 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
27013 Removed drawing_scrollbar argument. All users updated
27014 Fixes #29792.
27015 Reported by Jo Shields
27016
3ecb080a
VS
270172010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27018
27019 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
27020 buffer since gfxterm handles double repaint.
27021
5f2316c1
VS
270222010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27023
27024 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
27025 * term/gfxterm.c (real_scroll): Likewise.
27026
9a25f885
VS
270272010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27028
27029 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
27030 before calling BIOS.
27031
39fbb79a
VS
270322010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27033
27034 * include/grub/i18n.h: Always enable grub_gettext.
27035
228cfa97
VS
270362010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27037
27038 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
27039 partition naming style.
27040
21717c8f
CW
270412010-05-21 Colin Watson <cjwatson@ubuntu.com>
27042
27043 * util/grub-mkconfig.in: Fix handling of -o so that it works when
27044 not the first option.
27045
c0f48e65
CW
270462010-05-20 Colin Watson <cjwatson@ubuntu.com>
27047
27048 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
27049
96779aec
CW
270502010-05-20 Colin Watson <cjwatson@ubuntu.com>
27051
27052 * util/misc.c: Move inclusion of <limits.h> to ...
27053 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
27054
fa9d256e
GS
270552010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
27056
27057 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
27058 Fix merge error in NetBSD code.
27059 (find_partition_start) [__NetBSD__]: Likewise.
27060
123b7a85
BC
270612010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
27062
27063 Fix grub-mkrescue usage unit testing.
27064
27065 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
27066
74276c0d
CF
270672010-05-18 Christian Franke <franke@computer.org>
27068
27069 * util/grub.d/10_windows.in: Use path names instead of
27070 drive letters to prevent warning from Cygwin 1.7.
27071 Add drivemap command to menuentry if needed.
27072
c4f7b523
ST
270732010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
27074
27075 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
27076 gnumach and gnumach.gz.
27077
95b97950
VS
270782010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27079
27080 * include/grub/i18n.h (gettext): Inline instead of using #define.
27081 (grub_gettext): Likewise.
27082 (_): Likewise.
27083
01b8d2d7
VS
270842010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27085
27086 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
27087 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
27088 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
27089 (main): Add a slash after pkglibdirroot.
27090
654e1d1e
VS
270912010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27092
27093 * util/grub-install.in: Add missing "in" keyword.
27094
26966aeb
VS
270952010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27096
27097 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
27098 Reported by: Seth Goldberg.
27099
75006747
VS
271002010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27101
27102 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
27103
74cbf5bd
CW
271042010-05-18 Colin Watson <cjwatson@ubuntu.com>
27105
27106 * configure.ac: Check for Linux device-mapper support.
27107
27108 * util/hostdisk.c (device_is_mapped): New function.
27109 (find_partition_start): New function, partly broken out from
27110 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
27111 device-mapper support added.
27112 (linux_find_partition): Use find_partition_start.
27113 (convert_system_partition_to_system_disk): Add `st' argument.
27114 Support Linux /dev/mapper/* devices if device-mapper support is
27115 available; only DM-RAID devices are understood at present.
27116 (find_system_device): Add `st' argument. Pass it to
27117 convert_system_partition_to_system_disk.
27118 (grub_util_biosdisk_get_grub_dev): Pass stat result to
27119 find_system_device and convert_system_partition_to_system_disk. Use
27120 find_partition_start.
27121
27122 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
27123 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
27124 * util/deviceiter.c [__linux__]: Define MINOR.
27125 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
27126 * util/mkdevicemap.c (grub_putchar): New function.
27127 (grub_getkey): New function.
27128 (grub_refresh): New function.
27129 (main): Set debug=all if -v -v is used.
27130
355b51e9
CW
271312010-05-18 Colin Watson <cjwatson@ubuntu.com>
27132
27133 Fix build with non-GNU libcs.
27134
27135 * util/misc.c (canonicalize_file_name): Move to ...
27136 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
27137 grub_make_system_path_relative_to_its_root.
27138
7fb5c25f
CW
271392010-05-18 Colin Watson <cjwatson@ubuntu.com>
27140
27141 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
27142 we handle finding grub-mkimage. Default to finding grub-mkimage in
27143 ${bindir} with program_transform_name applied, and provide a
27144 --grub-mkimage option to override this.
27145
1d3293d6
VS
271462010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27147
27148 Remove grub-mkisofs.
27149
27150 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
27151 (grub_mkisofs_SOURCES): Removed.
27152 (grub_mkisofs_CFLAGS): Removed.
27153 * util/mkisofs/defaults.h: Removed.
27154 * util/mkisofs/eltorito.c: Likewise.
27155 * util/mkisofs/exclude.h: Likewise.
27156 * util/mkisofs/hash.c: Likewise.
27157 * util/mkisofs/include/: Likewise.
27158 * util/mkisofs/include/fctldefs.h: Likewise.
27159 * util/mkisofs/include/mconfig.h: Likewise.
27160 * util/mkisofs/include/prototyp.h: Likewise.
27161 * util/mkisofs/include/statdefs.h: Likewise.
27162 * util/mkisofs/iso9660.h: Likewise.
27163 * util/mkisofs/joliet.c: Likewise.
27164 * util/mkisofs/match.c: Likewise.
27165 * util/mkisofs/match.h: Likewise.
27166 * util/mkisofs/mkisofs.c: Likewise.
27167 * util/mkisofs/mkisofs.h: Likewise.
27168 * util/mkisofs/msdos_partition.h: Likewise.
27169 * util/mkisofs/multi.c: Likewise.
27170 * util/mkisofs/name.c: Likewise.
27171 * util/mkisofs/rock.c: Likewise.
27172 * util/mkisofs/tree.c: Likewise.
27173 * util/mkisofs/write.c: Likewise.
27174
5dde9afe
VS
271752010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27176
27177 Unify grub-mkimage accross platforms.
27178
27179 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
27180 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
27181 (grub_mkelfimage_SOURCES): Removed.
27182 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
27183 (util/grub-mkimage.c_DEPENDENCIES): .. this.
27184 (bin_UTILITIES): Add grub-mkimage.
27185 (grub_mkimage_SOURCES): New variable.
27186 (kernel_img_HEADERS): Remove machine/kernel.h.
27187 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
27188 (pkglib_PROGRAMS): Add kernel.img.
27189 (kernel_img_HEADERS): Add machine/kernel.h.
27190 (kernel_img_FORMAT): Removed.
27191 (bin_UTILITIES): Remove grub-mkimage.
27192 (grub_mkimage_SOURCES): Removed.
27193 (grub_mkimage_CFLAGS): Likewise.
27194 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27195 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
27196 (pkglib_PROGRAMS): Add kernel.img.
27197 (bin_UTILITIES): Remove grub-mkimage.
27198 (grub_mkimage_SOURCES): Removed.
27199 (grub_mkimage_CFLAGS): Likewise.
27200 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27201 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
27202 (pkglib_PROGRAMS): Add kernel.img.
27203 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
27204 (pkglib_PROGRAMS): Add kernel.img.
27205 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
27206 (grub_mkimage_SOURCES): Removed.
27207 (grub_mkimage_CFLAGS): Likewise.
27208 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27209 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
27210 (pkglib_PROGRAMS): Add kernel.img.
27211 (bin_UTILITIES): Remove grub-mkimage.
27212 (grub_mkimage_SOURCES): Removed.
27213 (grub_mkimage_CFLAGS): Likewise.
27214 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27215 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
27216 (grub_mkimage_SOURCES): Removed.
27217 (grub_mkimage_CFLAGS): Likewise.
27218 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27219 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
27220 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
27221 (grub_pe32_optional_header): ... this.
27222 (grub_pe64_optional_header): ... and this. All users updated.
27223 (GRUB_PE32_PE32_MAGIC): Split into ..
27224 (GRUB_PE32_PE32_MAGIC): .. this.
27225 (GRUB_PE32_PE64_MAGIC): .. and this.
27226 (GRUB_PE32_SIGNATURE_SIZE): New definition.
27227 * include/grub/elf.h (PT_GNU_STACK): New definition.
27228 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
27229 * include/grub/i386/efi/kernel.h: Likewise.
27230 * include/grub/i386/kernel.h: Likewise.
27231 * include/grub/i386/pc/kernel.h: Likewise.
27232 * include/grub/i386/qemu/boot.h: Likewise.
27233 * include/grub/mips/kernel.h: Likewise.
27234 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27235 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27236 * include/grub/powerpc/kernel.h: Likewise.
27237 * include/grub/sparc64/ieee1275/boot.h: Likewise.
27238 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27239 * include/grub/sparc64/kernel.h: Likewise.
27240 * include/grub/x86_64/efi/kernel.h: Likewise.
27241 * include/grub/x86_64/kernel.h: Likewise.
27242 * include/grub/offsets.h: New file.
27243 * include/grub/kernel.h (grub_module_info): Split into ...
27244 (grub_module_info32): ... this.
27245 (grub_module_info64): ... and this.
27246 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
27247 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
27248 (grub_boot_blocklist): Moved from here ...
27249 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
27250 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
27251 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
27252 * include/grub/types.h (grub_target_to_host16): Removed.
27253 (grub_target_to_host32): Likewise.
27254 (grub_target_to_host64): Likewise.
27255 (grub_host_to_target16): Likewise.
27256 (grub_host_to_target32): Likewise.
27257 (grub_host_to_target64): Likewise.
27258 (grub_host_to_target_addr): Likewise.
27259
27260 Support grub-mkrescue for efi, coreboot and qemu.
27261
27262 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
27263 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
27264 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
27265 * util/grub-mkrawimage.c: Moved from here ...
27266 * util/grub-mkimage.c: ... here. All users updated.
27267 (ALIGN_ADDR): Use image_target.
27268 (TARGET_NO_FIELD): New const.
27269 (image_target_desc): New type.
27270 (image_targets): New array.
27271 (grub_target_to_host64): Use image_target.
27272 (grub_target_to_host32): Likewise.
27273 (grub_target_to_host16): Likewise.
27274 (grub_host_to_target64): Likewise.
27275 (grub_host_to_target32): Likewise.
27276 (grub_host_to_target16): Likewise.
27277 (grub_host_to_target_addr): Likewise.
27278 (generate_image): Handle multiimage.
27279 (main): Require -O parameter. All users updated.
27280 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
27281 util/efi/grub-mkimage.c
27282 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
27283 New option --rom-directory.
27284 Use xorriso.
27285 * util/i386/efi/grub-mkimage.c: Removed.
27286 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
27287 (grub_target_to_host32): Likewise.
27288 (grub_target_to_host64): Likewise.
27289 (grub_host_to_target16): Likewise.
27290 (grub_host_to_target32): Likewise.
27291 (grub_host_to_target64): Likewise.
27292 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
27293 (grub_target_to_host32): Likewise.
27294 (grub_target_to_host64): Likewise.
27295 (grub_host_to_target16): Likewise.
27296 (grub_host_to_target32): Likewise.
27297 (grub_host_to_target64): Likewise.
27298
f4fc97d0
BC
272992010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
27300
27301 Source tree is reorganized for emu build.
27302
27303 * include/grub/util/console.h: Move from here...
27304 * include/grub/emu/console.h: ...to here.
27305 * include/grub/util/getroot.h: Move from here...
27306 * include/grub/emu/getroot.h: ...to here.
27307 * include/grub/util/hostdisk.h: Move from here...
27308 * include/grub/emu/hostdisk.h: ...to here.
27309 * util/console.c: Move from here...
27310 * kern/emu/console.c: ...to here.
27311 * util/getroot.c: Move from here...
27312 * kern/emu/getroot.c: ...to here.
27313 * util/grub-emu.c: Move from here...
27314 * kern/emu/main.c: ...to here.
27315 * util/hostdisk.c: Move from here...
27316 * kern/emu/hostdisk.c: ...to here.
27317 * util/hostfs.c: Move from here...
27318 * kern/emu/hostfs.c: ...to here.
27319 * util/mm.c: Move from here...
27320 * kern/emu/mm.c: ...to here.
27321 * util/pci.c: Move from here...
27322 * bus/emu/pci.c: ...to here.
27323 * util/sdl.c: Move from here...
27324 * video/emu/sdl.c: ...to here.
27325 * util/time.c: Move from here...
27326 * kern/emu/time.c: ...to here.
27327 * util/usb.c: Move from here...
27328 * bus/usb/emu/usb.c: ...to here.
27329
27330 * include/grub/emu/misc.h: New header for grub-emu functions.
27331 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
27332
27333 * conf/any-emu.rmk: Rule updates for above renames.
27334 * conf/common.rmk: Likewise.
27335 * conf/i386-pc.rmk: Likewise.
27336 * conf/i386-qemu.rmk: Likewise.
27337 * conf/mips.rmk: Likewise.
27338 * conf/sparc64-ieee1275.rmk: Likewise.
27339 * conf/x86-efi.rmk: Likewise.
27340
27341 * disk/lvm.h: #include updates for above renames.
27342 * util/grub-mkrelpath.c: Likewise.
27343 * util/grub-probe.c: Likewise.
27344 * util/i386/pc/grub-setup.c: Likewise.
27345 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27346 * kern/emu/console.c: Likewise.
27347 * kern/emu/getroot.c: Likewise.
27348 * kern/emu/hostdisk.c: Likewise.
27349 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
27350
27351 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
27352 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
27353 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
27354 * util/misc.c: Remove grub-emu functions.
27355
cced9145
VS
273562010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
27357
27358 Fix gfxmenu crash.
27359 Reported by: Thorsten Grützmacher.
27360
27361 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
27362 timeout hook.
27363 (circprog_set_property): Register and unregister timeout hook.
27364 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
27365 (label_destroy): Free template. and unregister hook.
27366 (label_set_state): New function.
27367 (label_set_property): Handle templates and hooks.
27368 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
27369 timeout hook.
27370 (progress_bar_set_property): Register and unregister timeout hook.
27371 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
27372 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
27373 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
27374 (update_timeout_visit): Removed.
27375 (update_timeouts): New function.
27376 (redraw_timeouts): Likewise.
27377 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
27378 (grub_gfxmenu_clear_timeout): Likewise.
27379 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
27380 (grub_gfxmenu_timeout_notify): Likewise.
27381 (grub_gfxmenu_timeout_notifications): New external variable.
27382 (grub_gfxmenu_timeout_register): New function.
27383 (grub_gfxmenu_timeout_unregister): Likewise.
27384
c6e5caab
VS
273852010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27386
27387 Transform (broken) vga terminal into (working) vga video driver.
27388
27389 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
27390 video/i386/pc/vga.c.
27391 * include/grub/video.h (grub_video_driver_id):
27392 Add GRUB_VIDEO_DRIVER_VGA.
27393 * term/i386/pc/vga.c: Renamed to ...
27394 * video/i386/pc/vga.c: ...this
27395 (DEBUG_VGA): Removed.
27396 (CHAR_WIDTH): Likewise.
27397 (CHAR_HEIGHT): Likewise.
27398 (TEXT_WIDTH): Likewise.
27399 (TEXT_HEIGHT): Likewise.
27400 (DEFAULT_FG_COLOR): Likewise.
27401 (DEFAULT_BG_COLOR): Likewise.
27402 (colored_char): Likewise.
27403 (xpos): Likewise.
27404 (ypos): Likewise.
27405 (cursor_state): Likewise.
27406 (fg_color): Likewise.
27407 (bg_color): Likewise.
27408 (text_buf): Likewise.
27409 (page): Likewise.
27410 (font): Likewise.
27411 (framebuffer): New variable.
27412 (set_read_map): Disabled.
27413 (setup): New variable.
27414 (is_target): Likewise.
27415 (grub_vga_mod_init): Likewise.
27416 (grub_vga_mod_fini): Likewise.
27417 (check_vga_mem): Likewise.
27418 (write_char): Likewise.
27419 (write_cursor): Likewise.
27420 (scroll_up): Likewise.
27421 (grub_vga_putchar): Likewise.
27422 (grub_vga_getcharwidth): Likewise.
27423 (grub_vga_getwh): Likewise.
27424 (grub_vga_getxy): Likewise.
27425 (grub_vga_gotoxy): Likewise.
27426 (grub_vga_cls): Likewise.
27427 (grub_vga_setcolorstate): Likewise.
27428 (grub_vga_setcursor): Likewise.
27429 (grub_video_vga_init): New function.
27430 (grub_video_vga_setup): Likewise.
27431 (grub_video_vga_fini): Likewise.
27432 (update_target): Likewise.
27433 (grub_video_vga_blit_bitmap): Likewise.
27434 (grub_video_vga_blit_render_target): Likewise.
27435 (grub_video_vga_set_active_render_target): Likewise.
27436 (grub_video_vga_get_active_render_target): Likewise.
27437 (grub_video_vga_swap_buffers): Likewise.
27438 (grub_video_vga_set_palette): Likewise.
27439 (grub_video_vga_get_info_and_fini): Likewise.
27440 (grub_vga_term): Removed.
27441 (grub_video_vga_adapter): New variable.
27442 (GRUB_MOD_INIT): Register a video driver instead of terminal.
27443 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
27444
2bf61a98
VS
274452010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27446
27447 * video/readers/jpeg.c: Indented.
27448
09ddcd11
VS
274492010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27450
27451 Various jpeg cleanups.
27452
27453 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
27454 (grub_jpeg_decode_quan_table): Use sizeof.
27455 (grub_jpeg_decode_du): Use ARRAY_SIZE.
27456
e5507505
PH
274572010-05-05 Peter Hurley <No e-mail available> (tiny change)
27458
27459 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
27460 tables. Ignore non-last ac bit.
27461 (grub_jpeg_decode_quan_table): Likewise.
27462
7e720a9b
VS
274632010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27464
27465 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
27466 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
27467 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27468 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
27469 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
27470 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
27471
a7fc080b
VS
274722010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27473
27474 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
27475 error.
27476
2bf6012d
VS
274772010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27478
27479 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
27480
265d68cd
VS
274812010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27482
27483 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
27484 condition.
27485
274862010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
27487
27488 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
27489 part.
27490
265d68cd 274912010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
27492
27493 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
27494 pointers.
27495
265d68cd 274962010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
27497
27498 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
27499
d1b61374
CF
275002010-05-01 Christian Franke <franke@computer.org>
27501
27502 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
27503 Remove broken Cygwin path conversion.
27504 * util/misc.c: [__CYGWIN__] Add include and define.
27505 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
27506 for Cygwin 1.7.
27507 (make_system_path_relative_to_its_root): Simplify loop, replace early
27508 return by break.
27509 [__CYGWIN__] Add conversion to win32 path.
27510 Include "/" case in trailing slash removal.
27511
3558c6e9
VS
275122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27513
27514 * kern/main.c (grub_load_config): Fix copy-pasted comment.
27515 Reported by: Seth Goldberg
27516
f5f3ff93
VS
275172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27518
27519 * commands/help.c (grub_cmd_help): Fix a typo.
27520 Reported by: Seth Goldberg
27521
d8b5cd40
VS
275222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27523
27524 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
27525 name and add N_.
27526 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
27527 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
27528 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
27529 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
27530 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
27531 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
27532 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27533 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27534 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27535 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27536 * normal/context.c (GRUB_MOD_INIT): Likewise.
27537 * normal/main.c (GRUB_MOD_INIT): Likewise.
27538 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27539 * term/serial.c (GRUB_MOD_INIT): Likewise.
27540 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27541
88c14915
VS
275422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27543
27544 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
27545 extra == 0.
27546
165134bc
VS
275472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27548
27549 * commands/iorw.c: New file.
27550 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
27551 (iorw_mod_SOURCES): New variable.
27552 (iorw_mod_CFLAGS): Likewise.
27553 (iorw_mod_LDFLAGS): Likewise.
27554
c5ac9b32
VS
275552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27556
27557 Hotkey support
27558
27559 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
27560 * normal/main.c (hotkey_aliases): New variable.
27561 (grub_normal_add_menu_entry): Parse "--hotkey".
27562 * normal/menu_text.c (run_menu): Handle hotkeys.
27563
ce60689c
VS
275642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27565
27566 * kern/i386/coreboot/init.c (grub_machine_init): Call
27567 grub_machine_mmap_init on qemu.
27568
0359d006
VS
275692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27570
27571 * boot/i386/qemu/boot.S: Add a missing .code16.
27572
7819a456
VS
275732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27574
27575 Use LBIO on coreboot.
27576
27577 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
27578 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
27579 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
27580 New declaration.
27581 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
27582 grub_machine_mmap_init on coreboot.
27583 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
27584 GRUB_LINUXBIOS_MEMBER_LINK.
27585 (grub_machine_mmap_iterate): Fix declaration.
27586 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
27587
7210dca9
VS
275882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27589
27590 Split coreboot and multiboot ports.
27591
27592 * conf/i386-multiboot.rmk: New file.
27593 * configure.ac: Add multiboot port.
27594 * include/grub/i386/multiboot/boot.h: New file.
27595 * include/grub/i386/multiboot/console.h: Likewise.
27596 * include/grub/i386/multiboot/init.h: Likewise.
27597 * include/grub/i386/multiboot/kernel.h: Likewise.
27598 * include/grub/i386/multiboot/loader.h: Likewise.
27599 * include/grub/i386/multiboot/memory.h: Likewise.
27600 * include/grub/i386/multiboot/serial.h: Likewise.
27601 * include/grub/i386/multiboot/time.h: Likewise.
27602 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
27603 * loader/multiboot.c: Likewise.
27604 * loader/multiboot_mbi2.c: Likewise.
27605 * util/grub-mkrescue.in: Generate multiboot rescue.
27606
6f8aaf68
VS
276072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27608
3080f7a7
VS
27609 * kern/parser.c (grub_parser_execute): Cope with read-only config.
27610
276112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27612
27613 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
27614
27615 * commands/terminal.c (abstract_terminal): New struct.
27616 (handle_command): New function. Based on grub_cmd_terminal_input.
27617 (grub_cmd_terminal_input): Use handle_command.
27618 (grub_cmd_terminal_output): Use handle_command.
27619
a8ebb841
BC
276202010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
27621
27622 Fix comment handling.
27623
27624 * tests/grub_script_comments.in: New testcase.
27625 * conf/tests.rmk: Rules for new testcase.
27626 * script/yylex.l: Updated flex rules.
27627
bb06ba08
ST
276282010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
27629
27630 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
27631 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
27632 if argc is 1.
bb06ba08 27633
cc9d2425
VS
276342010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27635
27636 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
27637 autogen issues.
27638
460d8402
CF
276392010-04-26 Christian Franke <franke@computer.org>
27640
27641 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
27642 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
27643 (grub_get_prefix): Remove function.
27644 * util/grub-emu.c (main): Replace grub_get_prefix () call by
27645 make_system_path_relative_to_its_root ().
27646 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
27647
553c01f9
CF
276482010-04-24 Christian Franke <franke@computer.org>
27649
27650 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
27651 (kernel_img_LDFLAGS): Remove -static-libgcc.
27652
2aec1692
CF
276532010-04-24 Christian Franke <franke@computer.org>
27654
27655 * configure.ac: Do not CHECK_BSS_START_SYMBOL
27656 and CHECK_END_SYMBOL if grub-emu is built.
27657 Unset TARGET_OBJ2ELF if grub-emu is built
27658 without module support.
27659
f67dc308
JS
276602010-04-24 Jiro SEKIBA <jir@unicus.jp>
27661
27662 Nilfs2 support.
27663
27664 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
27665 (grub_fstest_SOURCES): Likewise.
27666 (pkglib_MODULES): Add nilfs2.mod.
27667 (nilfs2_mod_SOURCES): New variable.
27668 (nilfs2_mod_CFLAGS): Likewise.
27669 (nilfs2_mod_LDFLAGS): Likewise.
27670 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27671 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27672 * fs/nilfs2.c: New file.
27673
4ba8d354
VS
276742010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27675
27676 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27677 is not supported.
27678
0d2c20c6
GS
276792010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27680
27681 Add grub-mkconfig support for NetBSD.
27682
27683 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27684 * util/grub-mkconfig.in: export new NetBSD specific variables.
27685 * po/POTFILES-shell: added 10_netbsd.in.
27686 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27687
bc4a2d83
BC
276882010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27689
27690 Fix emu build with grub-emu-pci and grub-emu-modules.
27691
27692 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27693 functions.
27694 * include/grub/libpciaccess.h: New file.
27695 * conf/any-emu.rmk: Update kernel headers for emu build.
27696
f48c87aa
VS
276972010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27698
27699 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27700
18959385
VS
277012010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27702
27703 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27704
0037de3f
VS
277052010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27706
27707 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27708 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27709 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27710 util/ieee1275/ofpath.c.
27711 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27712 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27713 * include/grub/sparc64/ieee1275/boot.h
27714 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27715 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27716 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27717 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27718 const char *.
27719 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27720 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27721 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27722 install.
27723
38e55e90
GS
277242010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27725
27726 * util/grub-mkconfig.in: Corrected two == equality tests.
27727 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27728 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27729 expect a number appended to it.
27730 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27731 expects a number appended to it.
27732
a9e6ff28
VS
277332010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27734
27735 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27736
0b830b8f
VS
277372010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27738
27739 * util/hostdisk.c (make_device_name): Change to new partition naming.
27740
0973daeb
VS
277412010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27742
27743 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27744
460d8402 277452010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
27746
27747 * Makefile.in: Add missing localedir setting.
27748
0b456309
CW
277492010-04-14 Colin Watson <cjwatson@ubuntu.com>
27750
27751 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27752 mistake in r2156. Noticed by Anthony Fok.
27753
27754 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27755 @localedir@.
27756 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27757
08f46d62
BC
277582010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27759
27760 Fix a spurious, uninitialized variable warning.
27761
27762 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27763 Initialize variable, shdr.
27764 (grub_freebsd_load_elfmodule): Likewise.
27765 (grub_freebsd_load_elf_meta): Likewise.
27766
8c4a72d4
BC
277672010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27768
27769 Fix for escaped dollar in double quoted strings.
27770
27771 * script/yylex.l: Updated flex rules.
27772 * conf/tests.rmk: Rule for new testcase.
27773 * tests/grub_script_dollar.in: New testcase.
27774
ce44826e
CPE
277752010-04-13 Carles Pina i Estany <carles@pina.cat>
277762010-04-13 Colin Watson <cjwatson@ubuntu.com>
27777
27778 Enclose all translated strings in grub.cfg in single quotes, and
27779 escape them appropriately (Ubuntu bug #552921).
27780
27781 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27782 * util/grub.d/10_hurd.in: Use it.
27783 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27784 * util/grub.d/10_linux.in (linux_entry): Likewise.
27785
4b0cd8f8
VS
277862010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27787
27788 Fix cygwin compilation.
27789
27790 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27791 * include/grub/misc.h (__register_frame_info)
27792 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27793 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27794 * kern/misc.c (__register_frame_info)
27795 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27796 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27797
01fcf061
VS
277982010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27799
27800 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
27801
5d04b11e
VS
278022010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27803
27804 Unify libgcc processing.
27805
27806 * Makefile.in (kernel_img_LDFLAGS): New variable.
27807 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
27808 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
27809 overwriting.
27810 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
27811 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
27812 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27813 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27814 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27815 overwriting. Remove -lgcc and -static-libgcc
27816 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27817 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27818 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27819 (kernel_img_LDFLAGS): Append instead of overwriting.
27820 Remove -lgcc and -static-libgcc
27821 * conf/sparc64-ieee1275.rmk: Likewise.
27822 * include/grub/powerpc/libgcc.h: Move to ...
27823 * include/grub/libgcc.h: .. this.
27824 * include/grub/libgcc.h: Don't export most of the function on x86.
27825 (__bswapsi2): New export.
27826 (__bswapdi2): Likewise.
27827 * include/grub/mips/libgcc.h: Removed.
27828 * include/grub/sparc64/libgcc.h: Likewise.
27829
b7f3ac29
VS
278302010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27831
27832 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
27833 disk_info_msg (conflicts with gettexting into languages with cases).
27834
2c7031b1
GS
278352010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
27836
27837 Add grub-probe support for NetBSD.
27838
27839 * util/getroot.c (find_root_device): Convert block device to
27840 character device on NetBSD.
27841 * util/probe.c (probe): Require character device on NetBSD.
27842 * util/hostdisk.c: NetBSD specific headers.
27843 (configure_device_driver): new function to tune device driver
27844 parameters (currently only for NetBSD floppy driver).
27845 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27846 via disklabel ioctl).
27847 (open_device): call configure_device_driver on NetBSD.
27848 (convert_system_partition_to_system_disk): NetBSD specific code.
27849 (device_is_wholedisk): Likewise.
27850 (grub_util_biosdisk_get_grub_dev): Likewise.
27851 (make_device_name): Fixed a typo in bsd_part_str.
27852 * configure.ac: check for opendisk() and getrawpartition() on
27853 NetBSD and set LIBUTIL.
27854 * Makefile.in: add LIBUTIL to LIBS.
27855
f516290c
BC
278562010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27857
27858 Documentation fix.
27859
27860 * util/grub-script-check.c: Better help message.
27861
d8dcc0df
BC
278622010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27863
27864 Fix FreeBSD build.
27865
27866 * configure.ac: Flex version check.
27867 * conf/common.rmk: Add -Wno-error to sh.mod.
27868 * script/yylex.l: Remove all #pragma.
27869
6734334a
VS
278702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27871
27872 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27873 prototype.
27874 Reported by: Seth Goldberg.
27875
daea6abd
VS
278762010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27877
27878 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27879 Rename "module" to "module2".
27880 Reported by: Seth Goldberg.
27881
f2fd9d2b
VS
278822010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27883
27884 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27885 EXPORT_FUNC.
27886 Reported by: Seth Goldberg.
27887
be124579
VS
278882010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27889
27890 * lib/posix_wrap/locale.h: Add missing file.
27891 Reported by: Seth Goldberg.
27892
ef5da797
VS
278932010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27894
27895 grub-emu module load support.
27896
27897 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27898 NO_DYNAMIC_MODULES switched to this.
27899 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27900 (CFLAGS): Likewise.
27901 * conf/any-emu.rmk: Generate symlist.
27902 (kernel_img_HEADERS): Add util/datetime.h.
27903 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27904 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27905 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27906 kern/$(target_cpu)/cache.S.
27907 * configure.ac (grub-emu-modules): New option.
27908 * genmk.rb: Handle multiple source lists.
27909 * include/grub/sdl.h: New file.
27910 * include/grub/libusb.h: Likewise.
27911 * util/grub-emu.c (main): Hanle (host) root.
27912 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27913 GRUB_ERR_UNKNOWN_DEVICE.
27914 * util/misc.c: Move mm functions to ...
27915 * util/mm.c: ... here. All users updated.
27916
47822096
VS
279172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27918
27919 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27920 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27921 missing files.
27922 (maintainer-clean): Remove libgcrypt-grub.
27923
5d7e7445
VS
279242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27925
27926 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27927
25f4e252
EC
279282010-04-09 EFI Coder <eficoder@hotmail.com>
27929
27930 * normal/menu_text.c (print_message): Clean up the message and show
27931 the Fn information when on EFI
27932 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27933
027de555
VS
279342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27935
27936 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27937 All users updated.
27938 * normal/crypto.c (read_crypto_list): Likewise.
27939 * normal/dyncmd.c (read_command_list): Likewise.
27940 * normal/term.c (read_terminal_list): Likewise.
27941 * normal/main.c (read_lists): Use explicit prefix.
27942 (read_lists_hook): Use read_lists.
27943 (grub_normal_execute): Likewise.
27944
47779711
VS
279452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27946
27947 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27948 Reported by: Thomas Schmitt.
27949 Add -no-emul-boot to grub-mkisofs parameters.
27950
1118c32e
VS
279512010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27952
27953 * font/font.c: Indented.
27954
7d652447
BC
279552010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27956
27957 Elif support to GRUB script (by Deepak Vankadaru).
27958
27959 * tests/grub_script_if.in: New testcase.
27960 * conf/tests.rmk: Rule for new testcase.
27961 * script/parser.y: Grammar rules for elif.
27962
34bb22df
BC
279632010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27964
27965 While and until loops support to GRUB script.
27966
27967 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27968 (grub_script_create_cmdwhile): New function prototype.
27969 (grub_script_execute_cmdwhile): New function prototype.
27970 * script/execute.c (grub_script_execute_cmdwhile): New function.
27971 * script/parser.y (command): New commands.
27972 (whilecmd): New grammar rule.
27973 (untilcmd): New grammar rule.
27974 * script/script.c (grub_script_create_cmdwhile): New function.
27975 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27976 function.
27977
27978 * tests/grub_script_while1.in: New testcase.
27979 * conf/tests.rmk: Rule for new testcase.
27980
e215d8e0
VS
279812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27982
27983 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27984 as *.jpg.
27985
d7c43ba1
MV
279862010-04-09 Mario Vazquez <mariovazq@gmail.com>
27987
27988 GRUB_BACKGROUND support.
27989
27990 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27991 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27992
d64795c0
VS
279932010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27994
27995 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27996 Idea by: Mario Vazquez
d64795c0
VS
27997
27998 * util/grub.d/00_header.in: Load pf2 and image modules.
27999
f267f83a
VS
280002010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28001
28002 grub-mkconfig multiple terminal support.
28003
28004 * util/grub-mkconfig.in: Handle multiple terminals correctly.
28005 * util/grub.d/00_header.in: Likewise.
28006
b7841ceb
VS
280072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28008
28009 * Makefile.in: Specify files explicitly instead of using $< and $@ since
28010 we use cd $(srcdir).
28011
df60998c
CW
280122010-04-08 Colin Watson <cjwatson@ubuntu.com>
28013
28014 * util/grub.d/10_linux.in: Only use the first word of
28015 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
28016 spaces in GRUB_DISTRIBUTOR.
28017 * util/grub.d/10_kfreebsd.in: Likewise.
28018 * util/grub.d/10_hurd.in: Likewise.
28019
fa09c82e
BC
280202010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
28021
14e18ae3 28022 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
28023
28024 * tests/util/grub-shell.in: Remove -serial stdio option.
28025
daf892b3
BC
280262010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
28027
28028 POSIX header file wrappers.
28029
28030 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
28031 equivalents.
28032 * lib/posix_wrap/ctype.h: Likewise.
28033 * lib/posix_wrap/errno.h: Likewise.
28034 * lib/posix_wrap/langinfo.h: Likewise.
28035 * lib/posix_wrap/limits.h: Likewise.
28036 * lib/posix_wrap/localcharset.h: Likewise.
28037 * lib/posix_wrap/stdint.h: Likewise.
28038 * lib/posix_wrap/stdio.h: Likewise.
28039 * lib/posix_wrap/stdlib.h: Likewise.
28040 * lib/posix_wrap/string.h: Likewise.
28041 * lib/posix_wrap/sys/types.h: Likewise.
28042 * lib/posix_wrap/unistd.h: Likewise.
28043 * lib/posix_wrap/wchar.h: Likewise.
28044 * lib/posix_wrap/wctype.h: Likewise.
28045 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
28046 (grub_script.yy.h): Likewise.
28047 * script/yylex.l: Remove POSIX emulation #defines.
28048 * Makefile.in (POSIX_CFLAGS): New variable.
28049 (GNULIB_UTIL_CFLAGS): Likewise.
28050
28051 Regexp support.
28052
28053 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
28054 (regexp_mod_SOURCES): New variable.
28055 (regexp_mod_CFLAGS): Likewise.
28056 (regexp_mod_LDFLAGS): Likewise.
28057 * commands/regexp.c: New file.
28058 * gnulib/regcomp.c: New file. Imported from gnulib.
28059 * gnulib/regex.c: Likewise.
28060 * gnulib/regex_internal.c: Likewise.
28061 * gnulib/regex_internal.h: Likewise.
28062 * gnulib/regexec.c: Likewise.
28063 * gnulib/regex.h: Likewise.
28064
974ac4f7
VS
280652010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28066
28067 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
28068 unsupported video mode types.
28069
2622c3ff
VS
280702010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28071
28072 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
28073
064cb524
VS
280742010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28075
28076 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
28077 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
28078
a8c3b552
VS
280792010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28080
28081 Remove unused grub_vga_get_font.
28082
28083 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
28084 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
28085
187bbe3d
GS
280862010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28087
28088 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
28089 * include/grub/misc.h: Likewise.
28090
b9396631
GS
280912010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28092
28093 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
28094 for which failure is fatal.
28095
50479feb
GS
280962010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28097
28098 * util/grub-install.in: Use mkdir -p to create grub directory.
28099 * util/i386/efi/grub-install.in: Likewise.
28100 * util/ieee1275/grub-install.in: Likewise.
28101
b1654fdf
GS
281022010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28103
28104 * Makefile.in (LEX): new variable.
28105
bd5a6415
GS
281062010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28107
28108 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
28109 `=' and added double quotes on operands of this equality test.
28110
3db3a82b
VS
281112010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28112
28113 * Makefile.in (uninstall): Remove a leftover debug echo.
28114 Reported by: Grégoire Sutre
28115
38023412
VS
281162010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28117
28118 MIPS multiboot2 support.
28119
28120 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
28121 (multiboot2_mod_SOURCES): New variable.
28122 (multiboot2_mod_CFLAGS): Likewise.
28123 (multiboot2_mod_LDFLAGS): Likewise.
28124 (multiboot2_mod_ASFLAGS): Likewise.
28125 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
28126 definition.
28127 (MULTIBOOT_ENTRY_REGISTER): Likewise.
28128 (MULTIBOOT_MBI_REGISTER): Likewise.
28129 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
28130 (MULTIBOOT_ELF32_MACHINE): Likewise.
28131 (MULTIBOOT_ELF64_MACHINE): Likewise.
28132 * include/grub/mips/multiboot.h: New file.
28133 * include/grub/video.h (grub_video_driver_id): New type
28134 GRUB_VIDEO_DRIVER_SM712.
28135 (grub_video_get_info_and_fini): Export.
28136 (grub_video_get_palette): Likewise.
28137 (grub_video_get_driver_id): Likewise.
28138 * include/multiboot2.h: Resynced with spec.
28139 * loader/i386/multiboot.c: Moved from here ...
28140 * loader/multiboot.c: ... here. All users updated.
28141 (grub_multiboot_boot): Use platform-specific macros.
28142 * loader/i386/multiboot_elfxx.c: Moved from here ...
28143 * loader/multiboot_elfxx.c: ... here. All users updated.
28144 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
28145 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
28146 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
28147
47674667
VS
281482010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
28149
28150 Import gnulib argp module.
28151
28152 * gnulib/argp-ba.c: New file.
28153 * gnulib/argp-eexst.c: Likewise.
28154 * gnulib/argp-fmtstream.c: Likewise.
28155 * gnulib/argp-fmtstream.h: Likewise.
28156 * gnulib/argp-fs-xinl.c: Likewise.
28157 * gnulib/argp-help.c: Likewise.
28158 * gnulib/argp-namefrob.h: Likewise.
28159 * gnulib/argp-parse.c: Likewise.
28160 * gnulib/argp-pin.c: Likewise.
28161 * gnulib/argp-pv.c: Likewise.
28162 * gnulib/argp-pvh.c: Likewise.
28163 * gnulib/argp-version-etc.c: Likewise.
28164 * gnulib/argp-version-etc.h: Likewise.
28165 * gnulib/argp-xinl.c: Likewise.
28166 * gnulib/argp.h: Likewise.
28167
495442ed
VS
281682010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28169
28170 * kern/device.c (grub_device_iterate): Clear errors after failed
28171 opening device.
28172
f9fd65df
VS
281732010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28174
28175 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
28176 returned by firmware.
28177
af09641e
VS
281782010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
28179
28180 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
28181 compilation on coreboot and qemu
28182
016883a5
VS
281832010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28184
28185 * include/multiboot2.h: Resync with spec.
28186
f97e1f7d
VS
281872010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28188
28189 Multiboot2 tag support
28190
28191 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
28192 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
28193 Remove loader/multiboot_loader.c.
28194 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
28195 (grub_multiboot2_real_boot): Likewise.
28196 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
28197 (grub_get_multiboot_mmap_count): New proto.
28198 (grub_fill_multiboot_mmap): Likewise.
28199 (grub_multiboot_set_video_mode): Likewise.
28200 (grub_multiboot_set_console): Likewise.
28201 (grub_multiboot_load): Likewise.
28202 (grub_multiboot_load_elf): Likewise.
28203 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
28204 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
28205 * include/multiboot.h: Resynced with specification.
28206 * include/multiboot2.h: Resynced with specification.
28207 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
28208 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
28209 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
28210 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
28211 users updated.
28212 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
28213 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
28214 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
28215 Removed.
28216 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
28217 Moved from here...
28218 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
28219 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
28220 Moved from here...
28221 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
28222 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
28223 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
28224 All users updated.
28225 * loader/i386/multiboot_mbi2.c: New file.
28226
3506b90b
VS
282272010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28228
28229 Resync with gnulib.
28230
28231 * Makefile.in (GNULIB_CFLAGS): New variable.
28232 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
28233 (grub_script_check_CFLAGS): New variable.
28234 * gnulib/alloca.h: Resync with gnulib.
28235 * gnulib/error.c: Likewise.
28236 * gnulib/error.h: Likewise.
28237 * gnulib/fnmatch.c: Likewise.
28238 * gnulib/fnmatch_loop.c: Likewise.
28239 * gnulib/getdelim.c: Likewise.
28240 * gnulib/getline.c: Likewise.
28241 * gnulib/getopt.c: Likewise.
28242 * gnulib/getopt1.c: Likewise.
28243 * gnulib/getopt_int.h: Likewise.
28244 * gnulib/gettext.h: Likewise.
28245 * gnulib/progname.c: Likewise.
28246 * gnulib/progname.h: Likewise.
28247
394a3120
GS
282482010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
28249
28250 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
28251 which is the case with --disabled-nls.
28252
28253 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
28254 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
28255 * util/misc.c: Likewise.
28256 * util/mkisofs/mkisofs.c: Likewise.
28257 * util/mkisofs/mkisofs.h: Likewise.
28258
969d1c78
VS
282592010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28260
28261 Simplify Apple CC support.
28262
28263 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
28264 Add 0 byte at the end not to have a symbol with empty target.
28265 * mmap/i386/pc/mmap_helper.S: Likewise.
28266 * genmk.rb: Ignore errors 2030 and 2050.
28267 * kern/i386/pc/startup.S: Use LOCAL when possible.
28268
8d2977bb
BC
282692010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
28270
28271 Testcase and the fix for final semicolon on cmdline.
28272
28273 * tests/grub_script_final_semicolon.in: New testcase.
28274 * conf/tests.rmk: Rules for the new testcase.
28275 * script/parser.y: Grammar fix.
28276
a7bd6915
BC
282772010-03-26 BVK Chaitanya <bvk@localhost>
28278
28279 Blank lines testcase for GRUB script.
28280
28281 * tests/grub_script_blanklines.in: New testcase.
28282 * conf/tests.rmk: Rules for the new testcase.
28283
e4ff6628
VS
282842010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28285
28286 Don't use __FILE__.
28287
28288 * genmk.rb: Add -DGRUB_FILE to all C targets.
28289 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
28290 * include/grub/list.h: Likewise.
28291 * include/grub/misc.h: Likewise.
28292 * include/grub/mm.h: Likewise.
28293 * include/grub/test.h: Likewise.
28294 * kern/mm.c: Likewise.
28295 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28296
6a5cf6b6
VS
282972010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28298
28299 Sunpc partitions support.
28300
28301 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
28302 (grub_fstest_SOURCES): Likewise.
28303 (pkglib_MODULES): Add part_sunpc.mod.
28304 (part_sunpc_mod_SOURCES): New variable.
28305 (part_sunpc_mod_CFLAGS): Likewise.
28306 (part_sunpc_mod_LDFLAGS): Likewise.
28307 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
28308 * partmap/sunpc.c: New file.
28309
746d9045
BC
283102010-03-26 BVK Chaitanya <bvk@localhost>
28311
28312 For loop support to GRUB script.
28313
28314 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
28315 (grub_script_create_cmdfor): New function prototype.
28316 (grub_script_execute_cmdfor): New function prototype.
28317 * script/execute.c (grub_script_execute_cmdfor): New function.
28318 * script/parser.y (command): New for command.
28319 (forcmd): New grammar rule.
28320 * script/script.c (grub_script_create_cmdfor): New function.
28321 * util/grub-script-check.c (grub_script_execute_cmdfor): New
28322 function.
28323 * tests/grub_script_for1.in: New testcase.
28324 * conf/tests.rmk: Rules for new testcase.
28325
18486b18
VS
283262010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28327
28328 Nested partitions
28329
28330 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
28331 'partition' is NULL, grub_partition_get_start already does that.
28332 * commands/loadenv.c (check_blocklists): Likewise.
28333 (write_blocklists): Likewise.
28334 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
28335 (grub_fstest_SOURCES): Likewise.
28336 (pkglib_MODULES): Add part_bsd.mod.
28337 (part_bsd_mod_SOURCES): New variable.
28338 (part_bsd_mod_CFLAGS): Likewise.
28339 (part_bsd_mod_LDFLAGS): Likewise.
28340 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
28341 (grub_emu_SOURCES): Likewise.
28342 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28343 * include/grub/bsdlabel.h: New file.
28344 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
28345 'get_name'.
28346 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
28347 (grub_partition_map_list): New variable.
28348 (grub_partition_map_register): Inline.
28349 (grub_partition_map_unregister): Likewise.
28350 (FOR_PARTITION_MAPS): New macro.
28351 (grub_partition_map_iterate): Removed.
28352 (grub_partition_get_start): Handle nested partitions.
28353 * include/grub/msdos_partition.h: Remove bsd-related entries.
28354 (grub_pc_partition): Remove.
28355 * kern/disk.c (grub_disk_close): Free partition data.
28356 (grub_disk_adjust_range): Handle nested partitions.
28357 * kern/partition.c (grub_partition_map_probe): New function.
28358 (grub_partition_probe): Parse name to number, handle subpartitions.
28359 (get_partmap): New function.
28360 (grub_partition_iterate): Handle subpartitions.
28361 (grub_partition_get_name): Likewise.
28362 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
28363 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
28364 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
28365 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
28366 Set 'number'.
28367 (acorn_partition_map_probe): Remove.
28368 (acorn_partition_map_get_name): Likewise.
28369 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
28370 Set 'number'.
28371 Set 'index' to 0 since there can be only one partition entry per sector.
28372 (amiga_partition_map_probe): Remove.
28373 (amiga_partition_map_get_name): Likewise.
28374 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
28375 Set 'number'.
28376 Set 'offset' and 'index' to real positions of partitions.
28377 (apple_partition_map_probe): Remove.
28378 (apple_partition_map_get_name): Likewise.
28379 * partmap/bsdlabel.c: New file.
28380 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
28381 Set 'number'.
28382 Allocate 'data' so it can be correctly freed.
28383 Set 'index' to offset inside sector.
28384 (gpt_partition_map_probe): Remove.
28385 (gpt_partition_map_get_name): Likewise.
28386 * partmap/msdos.c (grub_partition_parse): Remove.
28387 (pc_partition_map_iterate): Don't force raw access.
28388 Set 'number'.
28389 Make 'ext_offset' a local variable.
28390 (pc_partition_map_probe): Remove.
28391 (pc_partition_map_get_name): Remove.
28392 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
28393 Set 'number'.
28394 (sun_partition_map_probe): Remove.
28395 (sun_partition_map_get_name): Likewise.
28396 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
28397 (grub_pcpart_type): Likewise.
28398 * util/hostdisk.c (open_device): Handle new numbering scheme.
28399 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
28400 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
28401 * util/grub-probe.c (probe_partmap): Handle nested paritions.
28402 * util/grub-install.in: Insert all subpartition modules.
28403 * util/ieee1275/grub-install.in: Likewise.
28404
a3940f88
AG
284052010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
28406
28407 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
28408 grammar.
28409
21b99926 284102010-03-24 Colin Watson <cjwatson@ubuntu.com>
28411
28412 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
28413
bed1d352
CW
284142010-03-21 Colin Watson <cjwatson@ubuntu.com>
28415
28416 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
28417 match where 'make install' puts them.
28418 * util/i386/efi/grub-install.in: Likewise.
28419
c9f58427
CW
284202010-03-19 Colin Watson <cjwatson@ubuntu.com>
28421
28422 * .bzrignore: Add gentrigtables, grub-script-check,
28423 grub_script_check_init.c, grub_script_check_init.h, and
28424 trigtables.c.
28425
f84afb27
VS
284262010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
28427
28428 * kern/parser.c: Indented.
28429
ed0e3d30
VS
284302010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28431
28432 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
28433
0ea81d98
VS
284342010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28435
28436 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
28437 alpha_mask_size == 0 case.
28438
0cdc2a09
BC
284392010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
28440
28441 GRUB shell lexer and parser improvements.
28442
28443 * conf/any-emu.rmk: Build rule updates.
28444 * conf/common.rmk: Likewise.
28445 * conf/i386-coreboot.rmk: Likewise.
28446 * conf/i386-efi.rmk: Likewise.
28447 * conf/i386-ieee1275.rmk: Likewise.
28448 * conf/i386-pc.rmk: Likewise.
28449 * conf/powerpc-ieee1275.rmk: Likewise.
28450 * conf/x86_64-efi.rmk: Likewise.
28451
28452 * configure.ac: Configure check for flex.
28453
28454 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
28455 types.
28456 (grub_lexer_param): Struct member updates.
28457 (grub_parser_param): Likewise.
28458 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
28459 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
28460 (grub_script_lexer_init): Prototype update.
28461 (grub_script_lexer_record_start): Likewise.
28462 (grub_script_lexer_record_stop): Likewise.
28463 (grub_script_lexer_yywrap): New function prototype.
28464 (grub_script_lexer_fini): Likewise.
28465 (grub_script_execute_argument_to_string): Removed by...
28466 (grub_script_execute_argument_to_argv): ...better version.
28467
28468 * script/execute.c (ROUND_UPTO): New macro.
28469 (grub_script_execute_cmdline): Out of memory fixes.
28470 (grub_script_execute_menuentry): Likewise.
28471 (grub_script_execute_argument_to_string): Removed. Update all
28472 users by...
28473 (grub_script_execute_argument_to_argv): ...better version.
28474 * script/function.c (grub_script_function_create): Use
28475 grub_script_execute_argument_to_argv instead of
28476 grub_script_execute_argument_to_string.
28477
28478 * script/lexer.c (check_varstate): Removed.
28479 (check_textstate): Removed.
28480 (grub_script_lexer_record_start): Likewise.
28481 (grub_script_lexer_record_stop): Likewise.
28482 (recordchar): Replaced with...
28483 (grub_script_lexer_record): ...new function.
28484 (nextchar): Removed.
28485 (grub_script_lexer_init): Rewritten.
28486 (grub_script_yylex): Rewritten.
28487 (append_newline): New function.
28488 (grub_script_lexer_yywrap): New function.
28489 (grub_script_lexer_fini): New function.
28490 (grub_script_yyerror): Sets error flag.
28491
28492 * script/yylex.l: New file.
28493 (grub_lexer_yyfree): Wrapper for flex yyffre.
28494 (grub_lexer_yyalloc): Likewise.
28495 (grub_lexer_yyrealloc): Likewise.
28496 * script/parser.y: Refactored.
28497
28498 * script/script.c (grub_script_arg_add): Out of memory fixes.
28499 (grub_script_add_arglist): Likewise.
28500 (grub_script_create_cmdline): Likewise.
28501 (grub_script_create_cmdmenu): Likewise.
28502 (grub_script_add_cmd): Likewise.
28503 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
28504 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
28505 unnecessary code.
28506
28507 * tests/grub_script_echo1.in: New testcase.
28508 * tests/grub_script_vars1.in: New testcase.
28509 * tests/grub_script_echo_keywords.in: New testcase.
28510
1d63a066
VS
285112010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28512
28513 Remove some redundancy in build system.
28514
28515 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
28516 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
28517 (TARGET_LDFLAGS): Add -nostdlib.
28518 (TARGET_IMG_LDFLAGS): Likewise.
28519 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
28520 anything since mmap isn't available.
28521 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
28522 Add util/time.c.
28523 (pkglib_MODULES): Remove reboot.mod.
28524 (reboot_mod_SOURCES): Removed.
28525 (reboot_mod_CFLAGS): Likewise.
28526 (reboot_mod_LDFLAGS): Likewise.
28527 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
28528 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
28529 (DEFSYMFILES): Add kernel_syms.lst.
28530 (kernel_img_HEADERS): Add common headers.
28531 (symlist.c): New target.
28532 (kernel_syms.lst): Likewise.
28533 (pkglib_MODULES): Add memdisk.mod.
28534 (memdisk_mod_SOURCES): New variable.
28535 (memdisk_mod_CFLAGS): Likewise.
28536 (memdisk_mod_LDFLAGS): Likewise.
28537 (pkglib_MODULES): Add reboot.mod.
28538 (reboot_mod_SOURCES): New variable.
28539 (reboot_mod_CFLAGS): Likewise.
28540 (reboot_mod_LDFLAGS): Likewise.
28541 (pkglib_MODULES): Add date.mod.
28542 (date_mod_SOURCES): New variable.
28543 (date_mod_CFLAGS): Likewise.
28544 (date_mod_LDFLAGS): Likewise.
28545 (pkglib_MODULES): Add datehook.mod.
28546 (datehook_mod_SOURCES): New variable.
28547 (datehook_mod_CFLAGS): Likewise.
28548 (datehook_mod_LDFLAGS): Likewise.
28549 (pkglib_MODULES): Add lsmmap.mod.
28550 (lsmmap_mod_SOURCES): New variable.
28551 (lsmmap_mod_CFLAGS): Likewise.
28552 (lsmmap_mod_LDFLAGS): Likewise.
28553 (pkglib_MODULES): Add boot.mod.
28554 (boot_mod_SOURCES): New variable.
28555 (boot_mod_CFLAGS): Likewise.
28556 (boot_mod_LDFLAGS): Likewise.
28557 * conf/i386-coreboot.rmk: Removed redundant parts.
28558 * conf/i386-ieee1275.rmk: Likewise.
28559 * conf/i386-pc.rmk: Likewise.
28560 * conf/mips-yeeloong.rmk: Likewise.
28561 * conf/mips.rmk: Likewise.
28562 * conf/powerpc-ieee1275.rmk: Likewise.
28563 * conf/sparc64-ieee1275.rmk: Likewise.
28564 * conf/x86_64-efi.rmk: Likewise.
28565 * conf/i386-coreboot.rmk: Moved qemu parts ..
28566 * conf/i386-qemu.rmk: ... here
28567 * conf/i386-efi.rmk: Moved common parts to...
28568 * conf/x86-efi.rmk: ... here.
28569 * conf/i386.rmk: Added modules common to all x86 variants.
28570 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
28571 * disk/memdisk.c: Remove grub/machine/kernel.h.
28572 * gensymlist.sh.in: Include symbol.h.
28573 * hook/datehook.c: Correct module name.
28574 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
28575 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
28576 * include/grub/i386/efi/serial.h: New file.
28577 * include/grub/x86_64/efi/serial.h: Likewise.
28578 * util/time.c: Likewise.
28579 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
28580
463ac55f
CK
285812010-03-14 Colin King <colin.king@ubuntu.com>
285822010-03-14 Colin Watson <cjwatson@ubuntu.com>
28583
28584 Shrink the pre-partition-table part of boot.img by eight bytes.
28585
28586 * boot/i386/pc/boot.S (ERR): New macro.
28587 (chs_mode): Use ERR.
28588 (geometry_error): Likewise.
28589 (hd_probe_error): Remove. This is only used once, so we wrwite
28590 it inline instead.
28591 (read_error): Instead of printing read_error_string, just set up
28592 %si and fall through to ...
28593 (error_message): ... this new function, also used by ERR.
28594
08e46ede
CW
285952010-03-14 Colin Watson <cjwatson@ubuntu.com>
28596
28597 Speed up consecutive hostdisk operations on the same device.
28598
28599 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
28600 (grub_util_biosdisk_open): Initialise disk->data.
28601 (struct linux_partition_cache): New structure.
28602 (linux_find_partition): Cache partition start positions; these are
28603 expensive to compute on every read and write.
28604 (open_device): Cache open file descriptor in disk->data, so that we
28605 don't have to reopen it and flush the buffer cache for consecutive
28606 operations on the same device.
28607 (grub_util_biosdisk_close): New function.
28608 (grub_util_biosdisk_dev): Set `close' member.
28609
28610 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
28611 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
28612 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28613 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
28614 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
28615
4a6d2d06
VS
286162010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28617
28618 Compile parts of grub-emu as modules.
28619
28620 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
28621 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
28622 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
28623 (all-local): Add $(GRUB_EMU).
28624 (install-local): Install $(GRUB_EMU).
28625 (uninstall): Uninstall $(GRUB_EMU).
28626 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
28627 * kern/dl.c: Likewise.
28628 * commands/sleep.c: Not include machine/time.h.
28629 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
28630 (COMMON_CFLAGS): Likewise.
28631 (sbin_UTILITIES): Remove grub-emu.
28632 (grub_emu_SOURCES): Removed.
28633 (kernel_img_RELOCATABLE): New variable.
28634 (pkglib_PROGRAMS): Add kernel.img.
28635 (kernel_img_SOURCES): New variable
28636 (kernel_img_CFLAGS): Likewise.
28637 (kernel_img_LDFLAGS): Likewise.
28638 (TARGET_NO_STRIP): Likewise.
28639 (TARGET_NO_DYNAMIC_MODULES): Likewise.
28640 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
28641 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
28642 (grub-emu): New target.
28643 (GRUB_EMU): New variable.
28644 * configure.ac: Whitelist -emu as possible x86_64 architecture.
28645 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
28646 * loader/xnu.c: Likewise.
28647 * include/grub/pci.h: Likewise.
28648 * genemuinit.sh: New file.
28649 * genemuinitheader.sh: Likewise.
28650 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
28651 Support TARGET_NO_DYNAMIC_MODULES.
28652 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
28653 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
28654 * disk/loopback.c: Likewise.
28655 * font/font_cmd.c: Likewise.
28656 * partmap/acorn.c: Likewise.
28657 * partmap/amiga.c: Likewise.
28658 * partmap/apple.c: Likewise.
28659 * partmap/gpt.c: Likewise.
28660 * partmap/msdos.c: Likewise.
28661 * partmap/sun.c: Likewise.
28662 * parttool/msdospart.c: Likewise.
28663 * term/gfxterm.c: Likewise.
28664 * video/bitmap.c: Likewise.
28665 * video/readers/jpeg.c: Likewise.
28666 * video/readers/png.c: Likewise.
28667 * video/readers/tga.c: Likewise.
28668 * video/video.c: Likewise.
28669 * util/grub-emu.c (read_command_list): Removed.
28670 (main): Don't call util_init_nls.
28671 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28672 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28673
91fdd2ed
VS
286742010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28675
28676 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28677 date.mod, datehook.mod.
28678 (datetime_mod_SOURCES): New variable.
28679 (datetime_mod_CFLAGS): Likewise.
28680 (datetime_mod_LDFLAGS): Likewise.
28681 (date_mod_SOURCES): Likewise.
28682 (date_mod_CFLAGS): Likewise.
28683 (date_mod_LDFLAGS): Likewise.
28684 (datehook_mod_SOURCES): Likewise.
28685 (datehook_mod_CFLAGS): Likewise.
28686 (datehook_mod_LDFLAGS): Likewise.
28687 * conf/sparc64-ieee1275.rmk: Likewise.
28688 * lib/ieee1275/datetime.c: New file.
28689
873ccae6
VS
286902010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28691
28692 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28693 (ieee1275_fb_mod_SOURCES): New variable.
28694 (ieee1275_fb_mod_CFLAGS): Likewise.
28695 (ieee1275_fb_mod_LDFLAGS): Likewise.
28696 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28697 New proto.
28698 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28699 (HEAP_MAX_ADDR): Likewise.
28700 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28701 type.
28702 Correct stop condition.
28703 (grub_ieee1275_devices_iterate): New function.
28704 * video/ieee1275.c: New file.
28705
601c97c0
VS
287062010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28707
28708 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28709
28710 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28711 as scratch.
28712 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28713 SCRATCH_PAD_DISKBOOT as scratch.
28714 (bootit): Pass Openfirmware pointer in %o4.
28715 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28716 of 0x200000.
28717 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28718 with util/grub-mkrawimage.c.
28719 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28720 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28721 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28722 (grub_aout_load) [GRUB_UTIL]: Likewise.
28723 * include/grub/kernel.h (grub_modules_get_end): New proto.
28724 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28725 (SCRATCH_PAD_BOOT): New definition.
28726 (SCRATCH_PAD_DISKBOOT): Likewise.
28727 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28728 * include/grub/sparc64/ieee1275/ieee1275.h
28729 (grub_ieee1275_original_stack): New variable
28730 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28731 New definition
28732 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28733 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28734 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28735 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28736 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28737 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28738 (grub_platform_image_format_t): New type.
28739 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28740 * kern/main.c (grub_modules_get_end)
28741 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28742 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28743 (codestart): Switch stacks.
28744 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28745 variable.
28746 (grub_heap_init): Use grub_modules_get_end.
28747 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28748 stack.
28749 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28750 (main): Likewise.
28751 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28752
d68b491e
TG
287532010-03-14 Thorsten Glaser <tg@mirbsd.org>
28754
28755 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28756
4e02ed50
MK
287572010-03-08 Matt Kraai <kraai@ftbfs.org>
28758
28759 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28760 bug #559005).
28761
1f15fc1e
VS
287622010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28763
28764 * genmoddep.awk: Output all missing symbols and not only first.
28765
fce5d8ff
VS
287662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28767
28768 * NEWS: Put the date of 1.98 release.
28769
d1e8a02f
VS
287702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28771
28772 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28773 ft2build.h.
28774
696fd607
VS
287752010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28776
28777 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28778 completition in the middle of string.
28779
33e2e6f3
VS
287802010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28781
28782 * util/grub-mkrescue.in: Use mktemp with explicit template.
28783
b1f6d291
VS
287842010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28785
28786 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28787
2ac227c7
VS
287882010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28789
28790 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28791 right pointer.
28792
8f9a632b
VS
287932010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28794
28795 Fix FreeBSD compilation.
28796
28797 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28798 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28799
60b03859
VS
288002010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28801
28802 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
28803
48a5a769
VS
288042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28805
28806 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
28807
3ab4bd77
VS
288082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28809
28810 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28811
d116e0d8
RM
288122010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28813
28814 Support relative image path in theme file.
28815
28816 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28817 (image_set_property): Handle theme_dir and relative path.
28818
c7ef54aa
VS
288192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28820
28821 * configure.ac: Alias amd64 to x86_64.
28822
fcee14ed
VS
288232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28824
28825 * NEWS: mention multiboot on EFI.
28826
d0780363
VS
288272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28828
28829 * kern/main.c (grub_load_modules): Handle errors from init functions of
28830 embeded modules.
28831
41168ea4
VS
288322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28833
28834 * normal/autofs.c (autoload_fs_module): Handle errors.
28835
b54d93ac
VS
288362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28837
28838 Disable linux.mod on qemu-mips since it's not functional and leads
28839 to compilation failure.
28840
28841 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
28842 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
28843 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28844 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28845 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28846 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28847 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28848 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28849 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28850 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28851 Reported by: BVK Chaitanya
28852
fc8345da
JU
288532010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28854
28855 * INSTALL: Add gettext as a dependency and add qemu to a new section
28856 "Prerequisites for make-check".
28857
4760f979
CF
288582010-03-04 Christian Franke <franke@computer.org>
28859
28860 * util/grub-pe2elf.c: Add missing include "progname.h".
28861
f209b5b2
VS
288622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28863
28864 * normal/crypto.c (read_crypto_list): Fix a typo.
28865 Reported by: Seth Goldberg.
28866
b4b7be98
VS
288672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28868
28869 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 28870 Reported by: Seth Goldberg.
b4b7be98 28871
c0ee0385
VS
288722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28873
28874 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28875 ascii.bitmaps.
28876
a8efbf64
VS
288772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28878
28879 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 28880 Reported by: Seth Goldberg.
a8efbf64 28881
08dcd913
VS
288822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28883
28884 * util/i386/efi/grub-install.in: Copy gettext files.
28885
c4d0b332
VS
288862010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28887
28888 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28889
c6f2fe52
VS
288902010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28891
28892 Wait for user entry basing on presence of output rather than on errors.
28893
28894 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28895 (grub_install_newline_hook): Likewise.
28896 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28897 * normal/menu.c (show_menu): Check line_counter to determine presence
28898 of output.
28899 * normal/term.c (grub_normal_line_counter): New variable.
28900 (grub_normal_get_line_counter): New function.
28901 (grub_install_newline_hook): Likewise.
28902
5382b1e4
VS
289032010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28904
28905 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28906
5519963b
VS
289072010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28908
28909 * configure.ac: Update version to 1.98.
28910
72b28631
VS
289112010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28912
28913 * util/grub.d/10_linux.in (linux_entry): Don't default to
28914 gfxpayload=keep if Linux doesn't support video handover.
28915
c140a180
VS
289162010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28917
28918 Don't compile video modules on yeeloong since video subsystem is part
28919 of kernel.
28920
28921 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28922 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28923 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28924 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28925 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28926 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28927 * include/grub/bitmap_scale.h: Likewise.
28928 * include/grub/bufio.h: Likewise.
28929 * include/grub/font.h: Likewise.
28930 * include/grub/gfxterm.h: Likewise.
28931 * include/grub/video.h: Likewise.
28932 * include/grub/vbe.h: Don't include video_fb.h.
28933 * video/i386/pc/vbe.c: Include video_fb.h.
28934 * commands/i386/pc/vbetest.c: Include video.h.
28935
a0ca21c2
CW
289362010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28937
28938 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28939 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28940 default entry if GRUB_SAVEDEFAULT=true. This allows using
28941 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28942 saving a new default on every boot.
28943
4a8a763c
VS
289442010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28945
28946 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28947 * normal/term.c (read_terminal_list): Likewise.
28948 * normal/main.c (grub_normal_init_page): Likewise.
28949 (grub_normal_read_line_real): Likewise.
28950
607ffde2
VS
289512010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28952
28953 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28954 memory leak.
28955 Reported by: Seth Goldberg.
28956
2b8fa975
CW
289572010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28958
28959 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28960 duplicate declaration of `start'.
28961
618307dd
VS
289622010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28963
28964 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28965 filename.
28966 Reported by: Georgy Buranov
28967
7dd05b96 289682010-02-20 Carles Pina i Estany <carles@pina.cat>
28969
28970 * util/grub-mkrawimage.c (usage): Change string formatting to
28971 improve gettext.
28972
d1484a42
MRA
289732010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28974
28975 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28976 backspace keys.
28977
42b1d186
VS
289782010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28979
28980 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28981 Reported by: Michael Suchanek.
28982
289832010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28984
28985 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28986 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28987
d9f31a41
VS
289882010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28989
28990 Remove any reference to non-free fonts.
28991
28992 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28993 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28994 uses non-free components.
28995 * font/font.c (grub_font_get_name): Remove example name.
28996 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28997 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28998 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28999 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
29000
2793c71e
GB
290012010-02-16 Georgy Buranov <gburanov@gmail.com>
29002
29003 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
29004
402e3779
VS
290052010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29006
29007 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
29008 Double divisor.
29009 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
29010 features.
29011 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
29012
0dd1e0dd
VS
290132010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29014
29015 * gensymlist.sh.in: Use TARGET_CC instead of CC.
29016
6fa7cfce
ST
290172010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29018
29019 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
29020 * docs/grub.texi (Command-line and menu entry commands): Document play
29021 command.
29022
37c8483b
ST
290232010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29024
29025 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
29026 parse arguments as inline tempo and notes. Move code for playing notes
29027 to...
29028 (play): ... new function.
29029
14da0fb7
ST
290302010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29031
29032 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
29033 grub_uint16_t instead of short.
29034 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
29035 disk from little endian to cpu endianness.
29036
04459e70
ST
290372010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
29038
29039 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
29040 GRUB_TICKS_PER_SECOND instead of 120.
29041
a0876943
VS
290422010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29043
29044 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
29045 escape sequence after \e.
29046
e29f95dc
VS
290472010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29048
29049 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
29050 non-ASCII characters.
29051
d27859b2
VS
290522010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29053
29054 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
29055 set root in single quotes to prevent \, from being unescaped.
29056
bc028f2f
VS
290572010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29058
29059 Prevent unknown commands from stopping menuentry execution.
29060
29061 * script/execute.c (grub_script_execute_cmdline): Print error after
29062 unknown command.
29063
095f5f82
VS
290642010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29065
29066 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
29067 Reported by: Pavel Pisa.
29068
8c717950
VS
290692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29070
29071 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
29072
904935c3
VS
290732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29074
29075 Merge grub_ieee1275_map_physical into grub_map and rename to
29076 grub_ieee1275_map
29077
29078 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
29079 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
29080 Remove.
29081 * kern/ieee1275/openfw.c (grub_map): Rename to ...
29082 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
29083 necessary.
29084 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
29085
5b59a4e3
VS
290862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29087
29088 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
29089 opening and not after.
29090
69e137e8
VS
290912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29092
29093 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
29094 constants.
29095
2c0fcc36
VS
290962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29097
29098 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
29099 (alloc_phys): Use ALIGN_UP instead of align_addr.
29100
8c6052ce
VS
291012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29102
29103 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
29104
17cec782
VS
291052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29106
29107 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
29108
e0128bbd
VS
291092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29110
29111 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
29112 verbose dprintf.
29113
ca62070b
VS
291142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29115
29116 Fix over-4GiB seek on sparc64.
29117
29118 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
29119 Replace pos_i and pos_lo with pos. All users updated.
29120 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29121 New constant.
29122 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29123 Likewise.
29124 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
29125 and pos_lo.
29126
bdca2607
VS
291272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29128
29129 * util/grub-mkrawimage.c (main): Call set_program_name.
29130
da278c4d
VS
291312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29132
29133 Properly align 64-bit targets.
29134
29135 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
29136 (generate_image): Use ALIGN_ADDR.
29137
b274d734
VS
291382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29139
29140 Properly create cross-endian images.
29141
29142 * include/grub/types.h (grub_host_to_target_addr): New macro
29143 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
29144
82da2062
VS
291452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29146
29147 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
29148
7cae4377
VS
291492010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29150
29151 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
29152
29153 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
29154 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
29155 (grub_linux_boot): Divide by 64K when on VESA.
29156
65a533e7
VS
291572010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29158
29159 Support GRUB_GFXPAYLOAD_LINUX.
29160
29161 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
29162 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
29163
dd01d397
VS
291642010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29165
29166 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
29167 to show messages instead of discarding them.
29168 Process errors after executing command and not before. Keep old method
29169 too as precaution.
29170
660960d6
VS
291712010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
29172
29173 * configure.ac: Check for ft2build.h.
29174
62509f04
VS
291752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29176
29177 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
29178
473df63d
VS
291792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29180
29181 * genkernsyms.sh.in: Use TARGET_CC.
29182
c98d2a13
CW
291832010-02-07 Colin Watson <cjwatson@ubuntu.com>
29184
29185 * NEWS: Update.
29186
6e14234c
VS
291872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29188
29189 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
29190 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
29191 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 29192
b255e9cf
YB
291932010-02-07 Yves Blusseau <blusseau@zetam.org>
29194
6e14234c 29195 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 29196
98e6959d
VS
291972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29198
29199 Fix warnings in grub-emu when compiling with maximum warning options.
29200
29201 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
29202 (grub_arch_modules_addr): Return 0 and not NULL.
29203 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 29204 (xstrdup): Use newstr instead of dup.
f88d801b
VS
29205 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
29206 of disk to dsk to avoid shadowing.
74e4934e
VS
29207 (find_free_slot): Fix prototype.
29208 * util/getroot.c (grub_util_is_dmraid): Make static.
29209 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
29210 Add missing prototype.
29211 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 29212
74e31b5c
VS
292132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29214
29215 * loader/i386/linux.c (grub_linux_setup_video): Handle error
29216 appropriately.
29217
6b2ad14b
VS
292182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29219
29220 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
29221 code out.
29222
8f891adc
VS
292232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29224
29225 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
29226 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
29227 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
29228 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
29229 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
29230 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
29231
74b45184
VS
292322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29233
29234 * include/grub/err.h (grub_err_printf): Don't export.
29235
a4bced77
VS
292362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29237
29238 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
29239
007d0695
VS
292402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29241
29242 * include/grub/i18n.h (grub_gettext_dummy): Removed.
29243 * kern/misc.c (grub_gettext_dummy): Make static.
29244
b6c0d9c2
VS
292452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29246
29247 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
29248 by non-valid ones.
29249 * kern/term.c (grub_putchar): Likewise.
29250
f51a90d0
VS
292512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29252
29253 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
29254 buggy hook call and memory leak.
29255
6846cec5
VS
292562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29257
29258 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
29259
468d69fe
VS
292602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29261
29262 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
29263
51906b8c
VS
292642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29265
29266 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
29267 modevar.
29268 Return grub_errno on allocation error.
29269
09706ce5
VS
292702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29271
29272 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
29273
911df80c
YB
292742010-02-06 Yves Blusseau <blusseau@zetam.org>
29275
29276 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
29277 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
29278
3746a6bc
VS
292792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29280
29281 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
29282 non-pxe disk.
29283 (grub_pxefs_open): Likewise.
29284
09706ce5
VS
292852010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29286
29287 * util/grub.d/10_hurd.in: Add --class information to menuentries.
29288 * util/grub.d/10_kfreebsd.in: Likewise.
29289 * util/grub.d/10_linux.in: Likewise.
29290
7cc192d9
VS
292912010-02-06 Colin D Bennett <colin@gibibit.com>
29292
29293 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
29294 (gfxmenu_mod_SOURCES): New variable.
29295 (gfxmenu_mod_CFLAGS): Likewise.
29296 (gfxmenu_mod_LDFLAGS): Likewise.
29297 * include/grub/term.h (grub_term_set_current_output): Declare
29298 argument as const.
29299 * docs/gfxmenu-theme-example.txt: New file.
29300 * gfxmenu/gfxmenu.c: Likewise.
29301 * gfxmenu/gui_box.c: Likewise.
29302 * gfxmenu/gui_canvas.c: Likewise.
29303 * gfxmenu/gui_circular_progress.c: Likewise.
29304 * gfxmenu/gui_image.c: Likewise.
29305 * gfxmenu/gui_label.c: Likewise.
29306 * gfxmenu/gui_list.c: Likewise.
29307 * gfxmenu/gui_progress_bar.c: Likewise.
29308 * gfxmenu/gui_string_util.c: Likewise.
29309 * gfxmenu/gui_util.c: Likewise.
29310 * gfxmenu/icon_manager.c: Likewise.
29311 * gfxmenu/model.c: Likewise.
29312 * gfxmenu/named_colors.c: Likewise.
29313 * gfxmenu/theme_loader.c: Likewise.
29314 * gfxmenu/view.c: Likewise.
29315 * gfxmenu/widget-box.c: Likewise.
29316 * include/grub/gfxmenu_model.h: Likewise.
29317 * include/grub/gfxmenu_view.h: Likewise.
29318 * include/grub/gfxwidgets.h: Likewise.
29319 * include/grub/gui.h: Likewise.
29320 * include/grub/gui_string_util.h: Likewise.
29321 * include/grub/icon_manager.h: Likewise.
29322
293232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29324
29325 Agglomerate scrolling in gfxterm.
29326
29327 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
29328 (grub_virtual_screen_setup): Initialise 'total_screen'.
29329 (write_char): Split to ...
29330 (paint_char): ... this ...
29331 (write_char): ... and this.
29332 (paint_char): Handle delayed scrolling.
29333 (draw_cursor): Likewise.
29334 (scroll_up): Split to ...
29335 (real_scroll): ... this ...
29336 (scroll_up): ... and this.
29337 (real_scroll): Handle multi-line scroll and draw below-the-bottom
29338 characters.
29339 (grub_gfxterm_refresh): Call real_scroll.
29340
293412010-02-06 Colin D Bennett <colin@gibibit.com>
29342
29343 * include/grub/misc.h (grub_iscntrl): New inline function.
29344 (grub_isalnum): Likewise.
29345 (grub_strtol): Likewise.
29346
293472010-02-06 Colin D Bennett <colin@gibibit.com>
29348
29349 * normal/menu_text.c (get_entry_number): Move from here ...
29350 * normal/menu.c (get_entry_number): ... moved here.
29351 * include/grub/menu.h (grub_menu_get_default_entry_index):
29352 New prototype.
29353 * normal/menu.c (grub_menu_get_default_entry_index): New function.
29354 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
29355 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
29356 (grub_menu_viewer_should_return): Likewise.
29357 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
29358 * normal/menu_text.c (run_menu): Enable menu switching.
29359 * normal/menu_viewer.c (should_return): New variable.
29360 (menu_viewer_changed): Likewise.
29361 (grub_menu_viewer_show_menu): Handle menu viewer changes.
29362 (grub_menu_viewer_should_return): New function.
29363 (menuviewer_write_hook): Likewise.
29364 (grub_menu_viewer_init): Likewise.
29365
293662010-02-06 Colin D Bennet <colin@gibibit.com>
293672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29368
29369 Support for gfxterm in a window.
29370
29371 * include/grub/gfxterm.h: New file.
29372 * include/grub/video.h (struct grub_video_rect): New declaration.
29373 (grub_video_rect_t): Likewise.
29374 * term/gfxterm.c (struct grub_gfxterm_window): New type.
29375 (refcount): New variable.
29376 (render_target): Likewise.
29377 (window): Likewise.
29378 (repaint_callback): Likewise.
29379 (grub_virtual_screen_setup): Use 'render_target'.
29380 (init_window): New function.
29381 (grub_gfxterm_init_window): Likewise.
29382 (grub_gfxterm_init): Check reference counter.
29383 Use init_window.
29384 (destroy_window): New function.
29385 (grub_gfxterm_destroy_window): Likewise.
29386 (grub_gfxterm_fini): Check reference counter.
29387 Use destroy_window.
29388 (redraw_screen_rect): Restore viewport.
29389 Use 'render_target' and 'window'.
29390 Call 'repaint_callback'.
29391 (write_char): Use 'render_target'.
29392 (draw_cursor): Likewise.
29393 (scroll_up): Restore viewport.
29394 Use 'render_target' and 'window'.
29395 Call 'repaint_callback'.
29396 (grub_gfxterm_cls): Likewise.
29397 (grub_gfxterm_refresh): Use 'window'.
29398 (grub_gfxterm_set_repaint_callback): New function.
29399 (grub_gfxterm_background_image_cmd): Use 'window'.
29400 (grub_gfxterm_get_term): New function.
29401 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
29402
294032010-02-06 Colin D Bennett <colin@gibibit.com>
29404
29405 Bitmap scaling support.
29406
29407 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
29408 (bitmap_scale_mod_SOURCES): New variable.
29409 (bitmap_scale_mod_CFLAGS): Likewise.
29410 (bitmap_scale_mod_LDFLAGS): Likewise.
29411 * include/grub/bitmap_scale.h: New file.
29412 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
29413 (background_image_cmd_options): New variable.
29414 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
29415 (cmd): Rename and change type to ...
29416 (background_image_cmd_handle): ... this. All users updated.
29417 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
29418 * video/bitmap_scale.c: New file.
29419
294202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29421
29422 SDL support.
29423
29424 * Makefile.in (LIBSDL): New variable.
29425 (enable_grub_emu_sdl): Likewise.
29426 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
29427 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
29428 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
29429 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
29430 * util/sdl.c: New file.
29431
294322010-02-06 Colin D Bennett <colin@gibibit.com>
294332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29434
29435 Double buffering support.
29436
29437 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
29438 * include/grub/video.h: Update comment.
29439 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
29440 New type.
29441 (grub_video_fb_doublebuf_blit_init): New prototype.
29442 * term/gfxterm.c (scroll_up): Support double buffering.
29443 (grub_gfxterm_refresh): Likewise.
29444 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
29445 (grub_video_fb_doublebuf_blit_init): Likewise.
29446 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
29447 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
29448 'displayed_page', 'render_page' and 'update_screen'.
29449 (grub_video_vbe_fini): Free offscreen buffer.
29450 (doublebuf_pageflipping_commit): New function.
29451 (doublebuf_pageflipping_update_screen): Likewise.
29452 (doublebuf_pageflipping_init): Likewise.
29453 (double_buffering_init): Likewise.
29454 (grub_video_vbe_setup): Enable doublebuffering.
29455 (grub_video_vbe_swap_buffers): Implement.
29456 (grub_video_vbe_set_active_render_target): Handle double buffering.
29457 (grub_video_vbe_get_active_render_target): Likewise.
29458 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
29459 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
29460 (grub_video_vbe_enable_double_buffering): Likewise.
29461 (grub_video_vbe_swap_buffers): Use update_screen.
29462 (grub_video_set_mode): Use double buffering.
29463
294642010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29465
29466 * maintainance/gentrigtables.py: Remove.
29467 * lib/trig.c: Likewise.
29468
29469 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
29470
29471 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
29472 `trigtables.c'.
29473 (trigtables.c): New rule.
29474 (gentrigtables): Likewise.
29475 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
29476
294772010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29478
29479 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
29480 integer constants.
29481
294822010-02-06 Colin D Bennet <colin@gibibit.com>
29483
29484 Trigonometry support.
29485
29486 * include/grub/trig.h: New file.
29487 * lib/trig.c: Likewise.
29488 * maintainance/gentrigtables.py: Likewise.
29489 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
29490 (trig_mod_SOURCES): New variable.
29491 (trig_mod_CFLAGS): Likewise.
29492 (trig_mod_LDFLAGS): Likewise.
29493
5562834e
VS
294942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29495
29496 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
29497 disk devices.
29498
4f8528fc
VS
294992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29500
29501 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
29502 error.
29503
2b4068e9
VS
295042010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29505
29506 * util/hostdisk.c (open_device): Don't use partition device when reading
29507 before the partition.
29508 (grub_util_biosdisk_read): Don't read from partition and before the
29509 partition in single operation.
29510 (grub_util_biosdisk_write): Don't write to partition and before the
29511 partition in single operation.
29512
399f6e4d
TL
295132010-02-03 Torsten Landschoff <torsten@debian.org>
29514
29515 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29516 last sectors.
29517
996649b0
VS
295182010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29519
29520 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
29521 CDROM reads.
29522 (grub_biosdisk_write): Refuse to write to CDROM.
29523
3b205d4d
VS
295242010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29525
29526 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
29527
61e89d9d
VS
295282010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29529
29530 * font/font.c (find_glyph): Check that bmp_idx is available before
29531 using it.
29532 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
29533 with (font == NULL).
29534
bf7fcba2
CS
295352010-01-28 Christian Schmitt <chris@ilovelinux.de>
29536
29537 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
29538
f45d2663
BC
295392010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
29540
29541 * include/grub/script_sh.h (sourcecode): Add const qualifier.
29542 * util/grub-script-check.c (getline): Fix empty lines case.
29543
ec1444e6
RM
295442010-01-28 Robert Millan <rmh.grub@aybabtu.com>
29545
29546 * Makefile.in (check): Exit with fail status when one of the tests
29547 fails.
29548 * tests/example_functional_test.c (example_test): Fix reversed assert.
29549 * tests/example_unit_test.c (example_test): Likewise.
29550
2e1cb9bb
CW
295512010-01-28 Colin Watson <cjwatson@ubuntu.com>
29552
29553 * util/grub.d/10_linux.in: This script does not use any of the
29554 contents of gettext.sh, only the external command `gettext', so stop
29555 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
29556 the same prefix as GRUB.)
29557 * util/grub.d/10_kfreebsd.in: Likewise.
29558
63533ab0
VS
295592010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29560
29561 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
29562 of the line.
29563
989e1f93
VS
295642010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29565
29566 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29567 last sectors.
29568
e709ebe2
VS
295692010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29570
29571 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
29572 having a 4KiB and not 32KiB buffer size.
29573
27dea7ed
RM
295742010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29575
29576 * util/hostfs.c: Include `<errno.h>'.
29577 (grub_hostfs_read): Handle errors from fseeko() and fread().
29578
67667b9c
RM
295792010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29580
29581 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
29582 loop when using read hooks on files whose size isn't sector-aligned.
29583
c294d9d8
RM
295842010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29585
29586 Remove unused parameter.
29587
29588 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
29589 (grub_iso9660_open): Remove initialization of `data->length'.
29590
af75a9f1
RM
295912010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29592
29593 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
29594 memleak conditions.
29595
254e2ce5 295962010-01-27 Carles Pina i Estany <carles@pina.cat>
29597
29598 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
29599 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
29600
b510928c 296012010-01-26 Carles Pina i Estany <carles@pina.cat>
29602
29603 * util/bin2h.c (usage): Fix warning (space after backslash).
29604
aa2f9dd2 296052010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 29606
29607 * font/font.c: Include `grub/fontformat.h.
29608 Remove font file format constants.
29609 (grub_font_load): Use the new macros.
29610 * include/grub/fontformat.h: New file.
29611 * util/grub-mkfont.c: Include `grub/fontformat.c'.
29612 (write_font_pf2): Use the new macros.
29613
94e7e712
RM
296142010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29615
29616 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
29617 does.
29618
3973a59a
RM
296192010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29620
29621 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
29622
29623 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
29624 (_start): Macroify `0x7F'.
29625
29626 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
29627 (make_install_device): Use "(pxe)" as fallback prefix when booting
29628 via PXE.
29629
42e0cba3
GS
296302010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
29631
29632 * configure.ac: Reset LIBS after check for libgcc symbols.
29633
847effd8
CW
296342010-01-25 Colin Watson <cjwatson@ubuntu.com>
29635
29636 * util/hostdisk.c (open_device): Add trailing newline to debug
29637 message.
29638
ea4a7e35
GS
296392010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
29640
29641 * configure.ac: Check for `limits.h'.
29642 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
29643
67951a53
RM
296442010-01-24 Robert Millan <rmh.grub@aybabtu.com>
29645
29646 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
29647 capitalize error strings.
29648
c273d4ce
ST
296492010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
29650
29651 * util/grub.d/10_hurd.in: Add a recovery mode.
29652
69be5b74
VS
296532010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
29654
29655 * configure.ac: Check for libgcc symbols with -nostdlib.
29656
fc9e5810
BC
296572010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
29658
29659 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
29660
4b358c0a
VS
296612010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29662
29663 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
29664 stack since heap may be unavailable at that point.
29665 (grub_ofconsole_gotoxy): Likewise.
29666
454fcd1c
VS
296672010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29668
29669 * configure.ac: Check for _restgpr_14_x.
29670 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
29671 and _savegpr_* prototypes.
29672
566863ca
RM
296732010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29674
29675 Use generic grub_reboot() for i386-efi.
29676
29677 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29678 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29679 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29680
bf86e59a
VS
296812010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29682
29683 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29684 presence of "prefix" variable as it breaks when normal.mod is
29685 embedded.
29686
d645e0f8
VS
296872010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29688
29689 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29690 stack since heap is unavailable at that point.
29691
f9ab2e25
VS
296922010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29693
29694 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29695 (grub_freebsd_bootinfo): Rewritten.
29696 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29697
01fc7054
VS
296982010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29699
29700 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29701
caab4fd6
RM
297022010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29703
29704 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29705 domain now.
29706
67eb1427
FZ
297072010-01-20 Felix Zielcke <fzielcke@z-51.de>
29708
29709 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29710 around for handling "/" to the correct fix. Fix a memory leak. Use
29711 xstrdup instead of strdup.
29712
a9ed4ff3
VS
297132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29714
29715 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29716
297172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
29718
29719 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29720
29721 * font/font.c (struct grub_font): New member 'bmp_idx'.
29722 (font_init): Initialise 'bmp_idx'.
29723 (load_font_index): Fill 'bmp_idx'.
29724 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29725
48209f4f
VS
297262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29727
29728 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29729 unnecessary calls.
29730
9f0a4bb7
VS
297312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29732
29733 Move context handling out of the kernel.
29734
29735 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29736 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29737 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29738 * conf/i386-efi.rmk: Likewise.
29739 * conf/i386-ieee1275.rmk: Likewise.
29740 * conf/i386-pc.rmk: Likewise.
29741 * conf/powerpc-ieee1275.rmk: Likewise.
29742 * conf/sparc64-ieee1275.rmk: Likewise.
29743 * conf/x86_64-efi.rmk: Likewise.
29744 * include/grub/env.h: Include grub/menu.h.
29745 (grub_env_var_type): Removed.
29746 (grub_env_var): Replaced field 'type' with 'global'.
29747 (grub_env_find): New prototype.
29748 (grub_env_context_open): Remove EXPORT_FUNC.
29749 (grub_env_context_close): Likewise.
29750 (grub_env_export): Likewise.
29751 (grub_env_set_data_slot): Removed.
29752 (grub_env_get_data_slot): Likewise.
29753 (grub_env_unset_data_slot): Likewise.
29754 (grub_env_unset_menu): New prototype.
29755 (grub_env_set_menu): Likewise.
29756 (grub_env_get_menu): Likewise.
29757 * include/grub/env_private.h: New file.
29758 * include/grub/normal.h (grub_context_init): New prototype.
29759 (grub_context_fini): Likewise.
29760 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29761 * normal/context.c (grub_cmd_export): ... to here.
29762 * kern/env.c: Include env_private.h.
29763 (HASHSZ): Moved to include/grub/env_private.h.
29764 (grub_env_context): Likewise.
29765 (grub_env_sorted_var): Likewise.
29766 (current_context): Renamed from this ...
29767 (grub_current_context): ...to this. 'static' removed. All users updated.
29768 (grub_env_find): Removed 'static'.
29769 (grub_env_context_open): Moved to normal/context.c.
29770 (grub_env_context_close): Likewise.
29771 (grub_env_export): Likewise.
29772 (mangle_data_slot_name): Removed.
29773 (grub_env_set_data_slot): Likewise.
29774 (grub_env_get_data_slot): Likewise.
29775 (grub_env_unset_data_slot): Likewise.
29776 * kern/main.c (grub_set_root_dev): Don't export root.
29777 It will be done later.
29778 (grub_main): Don't export prefix.
29779 It will be done later.
29780 * normal/context.c: New file.
29781 * normal/main.c (free_menu): Use grub_env_unset_menu.
29782 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29783 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29784 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29785 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29786
8dd35b8c
VS
297872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29788
29789 setpci support.
29790
29791 * commands/setpci.c: New file.
29792 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29793 (setpci_mod_SOURCES): New variable.
29794 (setpci_mod_CFLAGS): Likewise.
29795 (setpci_mod_LDFLAGS): Likewise.
29796
449193d5
VS
297972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29798
29799 Byte-addressable PCI configuration space.
29800
29801 * bus/pci.c (grub_pci_make_address): Use byte address instead of
29802 dword address.
29803 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
29804 GRUB_PCI_REG_CACHELINE.
29805 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
29806 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
29807 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
29808 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
29809 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
29810 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
29811 grub_pci_make_address.
29812 (lock_rom_area): Likewise.
29813 * commands/lspci.c (grub_lspci_iter): Use macroses
29814 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29815 of grub_pci_make_address.
29816 * disk/ata.c (grub_ata_pciinit): Likewise.
29817 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29818 (GRUB_PCI_REG_VENDOR): Likewise.
29819 (GRUB_PCI_REG_DEVICE): Likewise.
29820 (GRUB_PCI_REG_COMMAND): Likewise.
29821 (GRUB_PCI_REG_STATUS): Likewise.
29822 (GRUB_PCI_REG_REVISION): Likewise.
29823 (GRUB_PCI_REG_CLASS): Likewise.
29824 (GRUB_PCI_REG_CACHELINE): Likewise.
29825 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29826 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29827 (GRUB_PCI_REG_BIST): Likewise.
29828 (GRUB_PCI_REG_ADDRESSES): Likewise.
29829 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29830 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29831 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29832 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29833 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29834 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29835 (GRUB_PCI_REG_CIS_POINTER): Likewise.
29836 (GRUB_PCI_REG_SUBVENDOR): Likewise.
29837 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
29838 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
29839 (GRUB_PCI_REG_CAP_POINTER): Likewise.
29840 (GRUB_PCI_REG_IRQ_LINE): Likewise.
29841 (GRUB_PCI_REG_IRQ_PIN): Likewise.
29842 (GRUB_PCI_REG_MIN_GNT): Likewise.
29843 (GRUB_PCI_REG_MAX_LAT): Likewise.
29844 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29845 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29846 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 29847 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
29848 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29849 space.
29850
96d73208
RM
298512010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29852
29853 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29854 can be reliably determined to be supported.
29855
d4484482
RM
298562010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29857
29858 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29859 that VESA is supported.
29860 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29861 supported.
29862
00308ecf
VS
298632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29864
29865 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29866
f66924a4
RM
298672010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29868
29869 * util/misc.c (make_system_path_relative_to_its_root): Work around
29870 special-casing of "/", as previous incarnation of this routine did.
29871
cbca0ada
VS
298722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29873
29874 Fix any-emu compilation.
29875
29876 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29877 * grub_bin2h_SOURCES: New variable.
29878
34a66d99
RM
298792010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29880
29881 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29882
94fabf58
RM
298832010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29884
29885 * util/grub.d/00_header.in: Fix handling of locale_dir.
29886
02cf98ca
VS
298872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29888
29889 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
29890 as possible unifont location (Gentoo).
29891 Reported by: Alexander Brüning
29892
327dbcd7
VS
298932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29894
29895 Don't try to generate lists for kernel.img.
29896
29897 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29898 (pkglib_MODULES): Remove kernel.img.
29899 (kernel_img_EXPORTS): Removed.
29900 (kernel_img_RELOCATABLE): New variable.
29901 * conf/x86_64-efi.rmk: Likewise.
29902 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29903
ca467290
VS
299042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29905
29906 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29907 grub_xasprintf or grub_snprintf.
29908 (grub_vsprintf): Likewise.
29909 (grub_snprintf): New proto.
29910 (grub_vsnprintf): Likewise.
29911 (grub_xasprintf): Likewise.
29912 (grub_xvasprintf): Likewise.
29913 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29914 (grub_sprintf): Removed.
29915 (grub_vsnprintf): New function.
29916 (grub_snprintf): Likewise.
29917 (grub_xvasprintf): Likewise.
29918 (grub_xasprintf): Likewise.
29919 (grub_vsprintf): Renamed to ...
29920 (grub_vsnprintf_real): ...this. New argument max_len.
29921
aca655fd
BC
299222010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29923
29924 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29925 fix grub-script-check warning.
29926
7ee92c32
VS
299272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29928
29929 * include/grub/font.h (grub_font_load): Fix prototype.
29930
f80927ca
VS
299312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29932
29933 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29934
119c50ea
VS
299352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29936
29937 * include/grub/x86_64/at_keyboard.h: New file.
29938
47d5f3c1
VS
299392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29940
29941 * loader/mips/linux.c: Include missing grub/i18n.h.
29942
55ff5266
RM
299432009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29944
29945 * normal/menu.c (notify_execution_failure): Clarify error message.
29946
c893cc87
RM
299472009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29948
29949 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29950 return value (and revert all return statements). Update users.
29951
917dd370
CW
299522010-01-20 Dan Merillat <debian@dan.merillat.org>
29953
29954 * kern/device.c (grub_device_iterate): Allocate new part_ent
29955 structure based on sizeof (*p) rather than sizeof (p->next), to
29956 account for structure padding.
29957
29958 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29959 disk is NULL, which might happen for LVM physical volumes with no
29960 LVM signature.
29961
d4a4ee57
RM
299622009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29963
29964 * loader/mips/linux.c (grub_cmd_initrd)
29965 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29966
299672009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29968
29969 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29970 (grub_video_video_init, grub_video_bitmap_init)
29971 (grub_font_manager_init, grub_term_gfxterm_init)
29972 (grub_at_keyboard_init): New extern declarations.
29973 (grub_machine_init): Initialize gfxterm and at_keyboard.
29974
29975 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29976
29977 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29978 `gfxterm.mod' into core image.
29979
29980 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29981 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29982 (kernel_img_FORMAT): Copy to ...
29983
29984 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29985 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29986 (kernel_img_FORMAT): ... here, and ...
29987
29988 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29989 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29990 (kernel_img_FORMAT): ... here.
29991
29992 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29993 and input (at_keyboard) terminals in kernel.
29994 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29995
29996 (pkglib_MODULES): Remove `pci.mod'.
29997 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29998 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29999 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30000 (at_keyboard_mod_LDFLAGS): Remove variables.
30001
300022010-01-11 Felix Zielcke <fzielcke@z-51.de>
30003
30004 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
30005
300062009-12-10 Robert Millan <rmh.grub@aybabtu.com>
30007
30008 * include/grub/mips/libgcc.h: Only export symbols for functions
30009 that libgcc provides.
30010
300112009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
30012
30013 MIPS support.
30014
30015 * bus/bonito.c: New file.
30016 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
30017 GRUB_PCI_NUM_DEVICES.
30018 * term/i386/pc/serial.c: Move to ...
30019 * term/serial.c: ... here. All users updated.
30020 * util/i386/pc/grub-mkimage.c: Move to ...
30021 * util/grub-mkrawimage.c: ... here. All users updated.
30022 * term/i386/pc/at_keyboard.c: Move to ...
30023 * term/at_keyboard.c: ... here. All users updated.
30024 * conf/mips-qemu-mips.rmk: New file.
30025 * conf/mips-yeeloong.rmk: Likewise.
30026 * conf/mips.rmk: Likewise.
30027 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
30028 mipsel-qemu-mips.
30029 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
30030 to port addresses.
30031 (grub_ata_pciinit): Support CS5536.
30032 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
30033 * font/font_cmd.c (loadfont_command): Open file before passing it to
30034 grub_font_load.
30035 (pseudo_file_read): New function.
30036 (pseudo_file_close): Likewise.
30037 (pseudo_fs): New structure.
30038 (load_font_module): New function.
30039 (GRUB_MOD_INIT(font_manager)): Load embedded font.
30040 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
30041 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
30042 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
30043 * include/grub/i386/at_keyboard.h: Split into ...
30044 * include/grub/at_keyboard.h: ... this ...
30045 * include/grub/i386/at_keyboard.h: ... and this.
30046 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
30047 New prototype.
30048 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
30049 updated.
30050 (grub_elf64_size): Likewise.
30051 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
30052 filename.
30053 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
30054 * include/grub/i386/coreboot/serial.h: Rewritten.
30055 * include/grub/i386/ieee1275/serial.h: Include
30056 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
30057 * include/grub/i386/pc/serial.h: Moved from here ...
30058 * include/grub/serial.h: ... to here. All users updated.
30059 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
30060 (GRUB_PCI_NUM_BUS): Likewise.
30061 (GRUB_PCI_NUM_DEVICES): Likewise.
30062 (grub_pci_device_map_range): Add missing volatile keyword.
30063 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
30064 * include/grub/mips/at_keyboard.h: New file.
30065 * include/grub/mips/cache.h: Likewise.
30066 * include/grub/mips/io.h: Likewise.
30067 * include/grub/mips/kernel.h: Likewise.
30068 * include/grub/mips/libgcc.h: Likewise.
30069 * include/grub/mips/pci.h: Likewise.
30070 * include/grub/mips/qemu-mips/boot.h: Likewise.
30071 * include/grub/mips/qemu-mips/kernel.h: Likewise.
30072 * include/grub/mips/qemu-mips/loader.h: Likewise.
30073 * include/grub/mips/qemu-mips/memory.h: Likewise.
30074 * include/grub/mips/qemu-mips/serial.h: Likewise.
30075 * include/grub/mips/qemu-mips/time.h: Likewise.
30076 * include/grub/mips/relocator.h: Likewise.
30077 * include/grub/mips/time.h: Likewise.
30078 * include/grub/mips/types.h: Likewise.
30079 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
30080 * include/grub/mips/yeeloong/boot.h: Likewise.
30081 * include/grub/mips/yeeloong/kernel.h: Likewise.
30082 * include/grub/mips/yeeloong/loader.h: Likewise.
30083 * include/grub/mips/yeeloong/memory.h: Likewise.
30084 * include/grub/mips/yeeloong/pci.h: Likewise.
30085 * include/grub/mips/yeeloong/serial.h: Likewise.
30086 * include/grub/mips/yeeloong/time.h: Likewise.
30087 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
30088 * kern/elf.c (grub_elf32_size): New parameter. All users
30089 updated.
30090 (grub_elf64_size): Likewise.
30091 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
30092 Load modules before saying "Welcome to GRUB!".
30093 Call grub_refresh after saying "Welcome to GRUB!".
30094 * kern/mips/cache.S: New file.
30095 * kern/mips/cache_flush.S: Likewise.
30096 * kern/mips/dl.c: Likewise.
30097 * kern/mips/init.c: Likewise.
30098 * kern/mips/qemu-mips/init.c: Likewise.
30099 * kern/mips/startup.S: Likewise.
30100 * kern/mips/yeeloong/init.c: Likewise.
30101 * kern/term.c (grub_putcode): Handle NULL terminal.
30102 (grub_getcharwidth): Likewise.
30103 (grub_getkey): Likewise.
30104 (grub_checkkey): Likewise.
30105 (grub_getkeystatus): Likewise.
30106 (grub_getxy): Likewise.
30107 (grub_getwh): Likewise.
30108 (grub_gotoxy): Likewise.
30109 (grub_cls): Likewise.
30110 (grub_setcolorstate): Likewise.
30111 (grub_setcolor): Likewise.
30112 (grub_getcolor): Likewise.
30113 (grub_refresh): Likewise.
30114 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
30115 (write_jump): Add hatch nop.
30116 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
30117 * lib/mips/setjmp.S: New file.
30118 * loader/mips/linux.c: Likewise.
30119 * term/i386/pc/at_keyboard.c: Move from here ...
30120 * term/at_keyboard.c: ... to here.
30121 * term/i386/pc/serial.c: Moved from here ...
30122 * term/serial.c: ... to here. All users updated.
30123 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
30124 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
30125 (serial_translate_key_sequence): Avoid deadlock.
30126 (grub_serial_getkey): Handle backspace.
30127 (grub_serial_putchar): Fix newline handling.
30128 * util/i386/pc/grub-mkimage.c: Move from here ...
30129 * util/grub-mkrawimage.c: ... to here. All users updated.
30130 (generate_image): New parameters 'font_path' and 'format'.
30131 Support embedding font.
30132 Use grub_host_to_target* instead of grub_cpu_to_le*.
30133 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
30134 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
30135 (options): New option "--font".
30136 (usage): Likewise.
30137 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
30138 (main): Handle "--font".
30139 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
30140 (grub_virtual_screen_setup): Set bg_color_display.
30141 (redraw_screen_rect): Use bg_color_display instead of incorrect
30142 bg_color.
30143 (grub_gfxterm_cls): Likewise.
30144 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
30145 Support embedding config file.
30146 (add_segments): Likewise.
30147 (options): New option "--config".
30148 (main): Handle "--config".
30149 * video/sm712.c: New file.
30150
25c2b5b3
RM
301512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30152
30153 Fix parallel builds.
30154
30155 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
30156 font.c depend on ascii.h).
30157
301582010-01-12 Carles Pina i Estany <carles@pina.cat>
30159
30160 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
30161
301622010-01-11 Carles Pina i Estany <carles@pina.cat>
30163
30164 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
30165 By default: disabled.
30166 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
30167 parameter.
30168
301692010-01-10 Carles Pina i Estany <carles@pina.cat>
30170
30171 * font/font.c: Update copyright years.
30172 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
30173
301742010-01-10 Carles Pina i Estany <carles@pina.cat>
30175
30176 * font/font.c: Include `ascii.h'.
30177 (ASCII_BITMAP_SIZE): New macro.
30178 (ascii_font_glyph): Define.
30179 (ascii_glyph_lookup): New function.
30180 (grub_font_get_string_width): Change comment. If glyph not found, use
30181 ascii_glyph_lookup.
30182 (grub_font_get_glyph_with_fallback): If glyph not available returns
30183 ascii_glyph_lookup.
30184 * util/grub-mkfont.c (file_formats): New enum.
30185 (options): Add `ascii-bitmaps' new option.
30186 (usage): Add `asii-bitmaps' new option.
30187 (write_font_ascii_bitmap): New function.
30188 (write_font): Rename to ...
30189 (write_font_p2): ... this. Remove print_glyphs call.
30190 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
30191 used. Call print_glyphs.
30192 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
30193
301942010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30195
30196 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
30197 (grub_bin2h_SOURCES): New variable.
30198 * util/bin2h.c: New file.
30199
915fc1b8
VS
302002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30201
30202 * include/multiboot.h: Resynced with spec.
30203 * include/multiboot2.h: Likewise.
30204 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
30205 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
30206
9444b678
RM
302072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30208
30209 * include/grub/term.h (grub_term_register_input,
30210 grub_term_register_output): Check return of terminal init()
30211 routines, and abort if errors are raised.
30212
30213 * commands/terminal.c: Update copyright year.
30214
cba98e8d
RM
302152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30216
30217 * commands/terminal.c (grub_cmd_terminal_input)
30218 (grub_cmd_terminal_output): Check return of terminal init()
30219 routines, and abort if errors are raised.
30220
6f7db5d6
VS
302212010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30222
30223 * include/grub/i386/bsd.h: Fix include pathes.
30224
262bff8d
VS
302252010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30226
30227 Add missing *BSD copyright headers.
30228
30229 * include/grub/aout.h: Add BSD licence.
30230 * include/grub/i386/bsd.h: Parts under different licences moved to ...
30231 * include/grub/i386/freebsd_linker.h: ... here,
30232 * include/grub/i386/freebsd_reboot.h: ... here,
30233 * include/grub/i386/netbsd_bootinfo.h: ... here,
30234 * include/grub/i386/netbsd_reboot.h: ... here,
30235 * include/grub/i386/openbsd_bootarg.h: ... here,
30236 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
30237 licence to each file.
30238
b2cab848
RM
302392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30240
30241 * acinclude.m4: Remove `nop' assembly instruction; it's not
30242 implemented by all architectures.
30243
2cb6be4b
RM
302442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30245
30246 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
30247 ELILO. This is no longer necessary.
30248
a2eaee15
BC
302492010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
30250
30251 Added new tool, grub-scrit-check to verify grub.cfg syntax.
30252
30253 * util/grub-script-check.c: grub-script-check tool.
30254 * conf/common.rmk: Make rules for grub-script-check.
30255
88d17012
RM
302562010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30257
30258 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
30259 spotting it back in 2008. Shame on me for forgetting he did.
30260
30261 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
30262
8040619d
RM
302632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30264
30265 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
30266 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
30267 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
30268 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
30269 (GRUB_VIDEO_TYPE_EFI): Rename to ...
30270 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
30271
a0c2a0f6
RM
302722010-01-17 Robert Millan <rmh.grub@aybabtu.com>
30273
30274 * include/grub/test.h: Add license header.
30275 * tests/example_functional_test.c: Likewise.
30276 * tests/example_unit_test.c: Likewise.
30277 * tests/lib/functional_test.c: Likewise.
30278 * tests/lib/test.c: Likewise.
30279 * tests/lib/unit_test.c: Likewise.
30280
b0b13907
VS
302812010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
30282
30283 Use flag-based instead of hook-based video mode selection and "auto"
30284 keyword.
30285
30286 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
30287 (grub_video_set_mode): Changed prototype. All users updated.
30288 (grub_video_check_mode_flag): New inline function.
30289 * video/video.c (parse_modespec): New function.
30290 (grub_video_set_mode): Parse flags and keywords.
30291
ea379330 302922010-01-17 Carles Pina i Estany <carles@pina.cat>
30293
30294 * util/misc.c (grub_util_info): Fix the order of the parameters in a
30295 fprintf call.
30296
e15c215e
FZ
302972010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
30298
30299 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
30300
409ae1c9 303012010-01-16 Carles Pina i Estany <carles@pina.cat>
30302
30303 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
30304 string.
30305 * util/grub-emu.c (usage): Likewise.
30306 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
30307 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30308 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30309 * util/i386/pc/grub-setup.c (usage): Likewise.
30310
70a14d3d 303112010-01-16 Carles Pina i Estany <carles@pina.cat>
30312
30313 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
30314 the message.
30315 (grub_util_info): Likewise.
30316 (grub_util_error): Likewise.
30317 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
30318 and/or new lines in `grub_util_warna', `grub_util_info',
30319 `grub_util_error' calls.
30320 * util/getroot.c: Likewise.
30321 * util/grub-editenv.c: Likewise.
30322 * util/grub-emu.c: Likewise.
30323 * util/grub-fstest.c: Likewise.
30324 * util/grub-mkdevicemap.c: Likewise.
30325 * util/grub-mkfont.c: Likewise.
30326 * util/grub-mkpasswd-pbkdf2.c: Likewise.
30327 * util/grub-mkrelpath.c: Likewise.
30328 * util/grub-pe2elf.c: Likewise.
30329 * util/grub-probe.c: Likewise.
30330 * util/hostdisk.c: Likewise.
30331 * util/i386/efi/grub-mkimage.c: Likewise.
30332 * util/i386/pc/grub-mkimage.c: Likewise.
30333 * util/i386/pc/grub-setup.c: Likewise.
30334 * util/ieee1275/ofpath.c: Likewise.
30335 * util/mkisofs/eltorito.c: Likewise.
30336 * util/mkisofs/rock.c: Likewise.
30337 * util/mkisofs/write.c: Likewise.
30338 * util/raid.c: Likewise.
30339 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30340 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30341
a0b766fc
VS
303422010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30343
30344 Enable multiboot on non-pc.
30345
30346 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
30347 multiboot.mod and multiboot2.mod to ...
30348 * conf/i386.rmk (pkglib_MODULES): ... here.
30349 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
30350 Moved to ...
30351 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
30352 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
30353 Moved to ...
30354 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
30355 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
30356 Moved to ...
30357 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
30358 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
30359 Moved to ...
30360 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
30361 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
30362 relocator.mod.
30363 (ata_mod_SOURCES): Removed.
30364 (ata_mod_CFLAGS): Likewise.
30365 (ata_mod_LDFLAGS): Likewise.
30366 (relocator_mod_SOURCES): Removed.
30367 (relocator_mod_CFLAGS): Likewise.
30368 (relocator_mod_ASFLAGS): Likewise.
30369 (relocator_mod_LDFLAGS): Likewise.
30370 Include i386.mk.
30371 * include/grub/x86_64/multiboot.h: New file.
30372 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
30373 Terminate EFI.
30374
884ade56
VS
303752010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30376
30377 Video multiboot support.
30378
30379 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
30380 New prototype.
30381 * include/multiboot.h: Resynced with multiboot specification.
30382 * include/multiboot2.h: Likewise.
30383 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
30384 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
30385 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
30386 (HAS_VGA_TEXT): Likewise.
30387 (accepts_video): New variable.
30388 (grub_multiboot_set_accepts_video): New function.
30389 (grub_multiboot_get_mbi_size): Account for video structures.
30390 (set_video_mode): New function.
30391 (retrieve_video_parameters): Likewise.
30392 (grub_multiboot_make_mbi): Fill video fields.
30393
0d90e8a6
VS
303942010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30395
30396 Video driver ids.
30397
30398 * include/grub/video.h (grub_video_driver_id): New type.
30399 (grub_video_adapter): New member 'id'. All users updated.
30400 (grub_video_get_driver_id): New proto.
30401 * video/video.c (grub_video_get_driver_id): New function.
30402
5c71db1b 304032010-01-14 Carles Pina i Estany <carles@pina.cat>
30404
30405 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
30406 `var=val'.
30407
cca15b52 304082010-01-14 Carles Pina i Estany <carles@pina.cat>
30409
30410 * normal/cmdline.c (print_completion): Gettextizze.
30411
c586fbb2 304122001-01-14 Carles Pina i Estany <carles@pina.cat>
30413
30414 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
30415
ba2f6848 304162010-01-14 Carles Pina i Estany <carles@pina.cat>
30417
30418 * gettext/gettext.c (grub_gettext_translate): Push and pop
30419 grub_errno.
30420 (grub_gettext_delete_list): Change comment style.
30421 * kern/err.c (grub_error): Gettextizze.
30422 (grub_fatal): Gettextizze.
30423
0a46429a
RM
304242010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30425
30426 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
30427 (grub_linux16_real_boot): ... this.
30428 * kern/i386/loader.S: Likewise.
30429 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
30430 (grub_linux16_boot): New function. Switches to text mode and calls
30431 grub_linux16_real_boot().
30432
30433 * loader/i386/bsd.c: Include `<grub/video.h>'.
30434 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
30435 text mode before calling grub_unix_real_boot().
30436
30437 * loader/i386/multiboot.c: Include `<grub/video.h>'.
30438 (grub_multiboot_boot): Switch to text mode before calling
30439 grub_relocator32_boot().
30440
30441 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
30442 (grub_chainloader_boot): Switch to text mode before calling
30443 grub_chainloader_real_boot().
30444
d6f93a66
RM
304452010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
304462010-01-05 Colin Watson <cjwatson@ubuntu.com>
30447
30448 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
30449 non-empty value.
30450
304512010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
304522010-01-05 Colin Watson <cjwatson@ubuntu.com>
30453
30454 * util/grub.d/00_header.in: Define a "savedefault" function for use
30455 in menu entries.
30456 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
30457
304582010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
304592010-01-05 Colin Watson <cjwatson@ubuntu.com>
30460
30461 * util/grub-mkconfig_lib.in (save_default_entry): Only set
30462 saved_entry if boot_once is unset.
30463 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
30464 previous saved entry (i.e. grub-reboot).
30465
304662009-12-08 Colin Watson <cjwatson@ubuntu.com>
30467
30468 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
30469
304702009-12-08 Colin Watson <cjwatson@ubuntu.com>
30471
30472 * util/grub.d/00_header.in: Use `set var=val' rather than plain
30473 `var=val'.
30474 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
30475
304762009-12-08 Colin Watson <cjwatson@ubuntu.com>
30477
30478 * util/grub-reboot.in: Fix --version output.
30479 * util/grub-set-default.in: Likewise.
30480
304812009-12-08 Colin Watson <cjwatson@ubuntu.com>
30482
30483 * util/grub.d/00_header.in: Silently ignore zero-sized environment
30484 blocks.
30485
304862009-12-08 Colin Watson <cjwatson@ubuntu.com>
30487
30488 * util/grub.d/00_header.in: Quote the value assigned to `default',
30489 in case it contains spaces.
30490
304912009-12-08 Colin Watson <cjwatson@ubuntu.com>
30492
30493 * util/grub.d/30_os-prober.in: Fix merge error that moved a
30494 `save_default_entry' call from the macosx case to the linux case.
30495
304962009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
304972009-10-25 Colin Watson <cjwatson@ubuntu.com>
30498
30499 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
30500 in `chosen' environment variable.
30501 * normal/menu_text.c (get_entry_number): Check if the variable
30502 matches the title of a menu entry.
30503 (run_menu): Pass menu to get_entry_number.
30504
30505 * util/grub-reboot.in: New file.
30506 * util/grub-set-default.in: New file.
30507 * conf/common.rmk (grub-reboot): New utility.
30508 (grub-set-default): New utility.
30509
30510 * util/grub-mkconfig_lib.in (save_default_entry): New function.
30511 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
30512 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
30513 move it to `saved_entry' for the next boot. Load environment on
30514 initialisation.
30515 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
30516 * util/grub.d/10_hurd.in: Likewise.
30517 * util/grub.d/10_linux.in (linux_entry): Likewise.
30518 * util/grub.d/10_windows.in: Likewise.
30519 * util/grub.d/30_os-prober.in: Likewise.
30520
30521 * util/grub-install.in: Create environment block.
30522 * util/i386/efi/grub-install.in: Likewise.
30523 * util/ieee1275/grub-install.in: Likewise.
30524 * util/sparc64/ieee1275/grub-install.in: Likewise.
30525
0934d184
BC
305262010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
30527
30528 Unit testing framework for GRUB.
30529
30530 * Makefile.in: Test framework build rules for 'make check'.
30531 * conf/tests.rmk: Build rules for individual tests and framework.
30532
30533 * include/grub/test.h: Header file for whitebox tests.
30534 * tests/lib/functional_test.c: Framework support for whitebox
30535 functional tests.
30536 * tests/lib/test.c: Common whitebox testing code for unit and
30537 functional tests.
30538 * tests/lib/unit_test.c: Framework support for whitebox unit
30539 tests.
30540
30541 * tests/util/grub-shell-tester.in: Support utility for grub-script
30542 tests.
30543 * tests/util/grub-shell.in: Utility to execute grub-script
30544 commands in a Qemu instance.
30545
30546 * tests/example_functional_test.c: Example whitebox functional
30547 test.
30548 * tests/example_grub_script_test.in: Example grub-script test.
30549 * tests/example_scripted_test.in: Example scripted test.
30550 * tests/example_unit_test.c: Example whitebox unit test.
30551
9c4ffeeb
VS
305522010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
30553
30554 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
30555 Add loader/i386/multiboot_mbi.c.
30556 (multiboot2_mod_SOURCES): Likewise.
30557 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
30558 (multiboot2_mod_SOURCES): Likewise.
30559 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
30560 (grub_multiboot_make_mbi): Likewise.
30561 (grub_multiboot_free_mbi): Likewise.
30562 (grub_multiboot_init_mbi): Likewise.
30563 (grub_multiboot_add_module): Likewise.
30564 (grub_multiboot_set_bootdev): Likewise.
30565 * loader/i386/multiboot.c (mbi): Removed.
30566 (mbi_dest): Likewise.
30567 (alloc_mbi): New variable.
30568 (grub_multiboot_payload_size): Removed. All users updated.
30569 (grub_multiboot_pure_size): New variable.
30570 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
30571 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
30572 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
30573 (grub_fill_multiboot_mmap): Likewise.
30574 (grub_multiboot_get_bootdev): Likewise.
30575 (grub_multiboot): Use multiboot_mbi functions.
30576 * loader/i386/multiboot_mbi.c: New file.
30577
17383dfe
VS
305782010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30579
30580 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
30581 it would result in module crash.
30582
c1f28820
VS
305832010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30584
30585 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
30586 (grub_ofconsole_getwh): Split to ...
30587 (grub_ofconsole_getwh): ... this.
30588 (grub_ofconsole_dimensions): ...and this.
30589 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
30590
58655a16
RM
305912010-01-13 Robert Millan <rmh.grub@aybabtu.com>
30592
30593 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
30594
10891398
VS
305952010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30596
30597 * loader/i386/pc/multiboot2.c: Removed stalled file.
30598
0b8a223c
VS
305992010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30600
30601 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
30602 Reported by: Grégoire Sutre
30603
92ab12b0
RM
306042010-01-11 Robert Millan <rmh.grub@aybabtu.com>
30605
30606 * util/misc.c (canonicalize_file_name): New function.
30607 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
30608 instead of realpath().
30609
a788afb6
CW
306102010-01-11 Colin Watson <cjwatson@ubuntu.com>
30611
30612 * util/grub-install.in (usage): Clarify meaning of --root-directory,
30613 and make it clearer that it's optional. Based on confusion
30614 witnessed on IRC.
30615
ffa8e3d2
VS
306162010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30617
30618 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
30619 in premature implicit newline.
30620
e9060a9d
VS
306212010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30622
30623 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
30624 which resulted in garbled command line at the end of screen.
30625
f0d0c0b7
RM
306262010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30627
30628 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
30629 initialization with similar approach as with other Linux loaders.
30630
0e60bae7
RM
306312010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30632
30633 Fix i386-ieee1275 build.
30634
30635 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
30636 and grub_term_height() for video_{width,height} initialization.
30637
306382010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
30639
30640 Fix grub-emu build.
30641
30642 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
30643
cdb3f378
RM
306442010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
306452010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30646
30647 Support for multiple terminals.
30648
30649 * Makefile.in (pkglib_DATA): terminal.lst.
30650 (terminal.lst): New target.
30651 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
30652 (GRUB_MOD_INIT(handler)): Likewise.
30653 (GRUB_MOD_FINI(handler)): Likewise.
30654 * commands/help.c (grub_cmd_help): Handle multiple terminals.
30655 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
30656 * commands/sleep.c (do_print): Use grub_term_restore_pos.
30657 (grub_cmd_sleep): Use grub_term_save_pos.
30658 * commands/terminal.c: New file.
30659 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
30660 commands/terminal.c and lib/charset.c.
30661 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
30662 (pkglib_MODULES): Add terminal.mod.
30663 (terminal_mod_SOURCES): New variable.
30664 (terminal_mod_CFLAGS): Likewise.
30665 (terminal_mod_LDFLAGS): Likewise.
30666 * genhandlerlist.sh: Don't handle terminals.
30667 * genmk.rb: Generate terminal-*.lst.
30668 * genterminallist.sh: New file.
30669 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
30670 (grub_is_valid_utf8): Likewise.
30671 (grub_utf8_to_ucs4_alloc): Likewise.
30672 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30673 (grub_menu_register_viewer): Changed argument.
30674 (grub_menu_try_text): New proto.
30675 (grub_gfxmenu_try_hook): New declaration.
30676 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30677 (grub_menu_init_page): Additional argument term.
30678 (grub_normal_init_page): Likewise.
30679 (grub_cmdline_get): Arguments simplified.
30680 (grub_utf8_to_ucs4_alloc): Removed.
30681 (grub_print_ucs4): Additional argument term.
30682 (grub_getstringwidth): Likewise.
30683 (grub_print_message_indented): Likewise.
30684 (grub_menu_text_register_instances): New proto.
30685 (grub_show_menu): Likewise.
30686 (read_terminal_list): Likewise.
30687 (grub_set_more): Likewise.
30688 * include/grub/parser.h: Include handler.h.
30689 * include/grub/reader.h: Rewritten.
30690 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30691 (GRUB_TERM_WIDTH): Changed to function.
30692 (GRUB_TERM_HEIGHT): Likewise.
30693 (GRUB_TERM_BORDER_WIDTH): Likewise.
30694 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30695 (GRUB_TERM_NUM_ENTRIES): Likewise.
30696 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30697 (GRUB_TERM_CURSOR_X): Likewise.
30698 (grub_term_input_class): Likewise.
30699 (grub_term_output_class): Likewise.
30700 (grub_term_outputs_disabled): New declaration.
30701 (grub_term_inputs_disabled): Likewise.
30702 (grub_term_outputs): Likewise.
30703 (grub_term_inputs): Likewise.
30704 (grub_term_register_input): Rewritten.
30705 (grub_term_register_output): Likewise.
30706 (grub_term_unregister_input): Likewise.
30707 (grub_term_unregister_output): Likewise.
30708 (FOR_ACTIVE_TERM_INPUTS): New macro.
30709 (FOR_DISABLED_TERM_INPUTS): Likewise.
30710 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30711 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30712 * include/grub/terminfo.h: Add oterm argument to all protypes.
30713 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30714 Use grub_rescue_run.
30715 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30716 All users updated.
30717 * kern/reader.c: Removed. All users updated.
30718 * kern/rescue_reader.c (grub_rescue_init): Removed.
30719 (grub_rescue_reader): Likewise.
30720 (grub_register_rescue_reader): Likewise.
30721 (grub_rescue_run): New function based on kern/reader.c.
30722 * kern/term.c: Adapted for multiterm.
30723 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30724 (grub_is_valid_utf8): Likewise.
30725 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30726 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30727 right terminal.
30728 * loader/i386/linux.c (grub_linux_boot): Likewise.
30729 * normal/auth.c (grub_username_get): New function.
30730 (grub_auth_check_authentication): Use grub_username_get.
30731 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30732 * normal/color.c: Adapt for multiterm.
30733 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30734 (grub_normal_init_page): Additional argument term.
30735 (read_lists): Call read_terminal_lists.
30736 (grub_enter_normal_mode): Call grub_cmdline_run.
30737 Handle grub_normal_exit_level.
30738 (grub_cmd_normal): Make reentrant.
30739 (grub_cmd_normal_exit): New function.
30740 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30741 * normal/menu.c: Adapt for multiterm.
30742 * normal/menu_entry.c: Likewise.
30743 * normal/menu_text.c: Likewise.
30744 * normal/menu_viewer.c: Removed. All users updated.
30745 * normal/term.c: New file.
30746 * util/console.c: Change order of includes to workaround a bug in
30747 ncurses headers.
30748 * term/terminfo.c: New argument oterm on all exported functions.
30749 All users updated.
30750 * util/grub-editenv.c (grub_term_input_class): Removed.
30751 (grub_term_output_class): Likewise.
30752
1a064917
RM
307532010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30754
30755 Make loader output a bit more user-friendly.
30756
30757 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30758 is being loaded. Likewise for the Hurd.
30759
30760 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30761 that kernel of FreeBSD ${version} is being loaded.
30762
30763 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30764 grub_dprintf().
30765 (grub_cmd_initrd): Likewise.
30766 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30767 that Linux ${version} is being loaded. Likewise for initrd.
30768
5ce0a83a 307692010-01-09 Carles Pina i Estany <carles@pina.cat>
30770
30771 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30772
809bbfeb 307732010-01-08 Carles Pina i Estany <carles@pina.cat>
30774
30775 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30776 (GRUB_MOD_INIT): Gettextizze.
30777 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30778 (GRUB_MOD_INIT): Gettextizze.
30779 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30780 (grub_cmd_linux): Capitalise Linux.
30781 (GRUB_MOD_INIT): Gettextizze.
30782 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30783 (grub_cmd_linux): Capitalise Linux.
30784 (GRUB_MOD_INIT): Gettextizze.
30785 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30786 (grub_cmd_linux): Capitalise Linux.
30787 (GRUB_MOD_INIT): Gettextizze.
30788 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30789 (GRUB_MOD_INIT): Gettextizze.
30790 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30791 (grub_cmd_linux): Capitalise Linux.
30792 (GRUB_MOD_INIT): Gettextizze.
30793 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30794 (grub_cpu_xnu_init): Gettextizze.
30795 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30796 (GRUB_MOD_INIT): Gettextizze.
30797 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30798 (GRUB_MOD_INIT): Gettextizze.
30799 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30800 (grub_linux_load64): Capitalise Linux.
30801 (GRUB_MOD_INIT): Gettextizze.
30802 * loader/xnu.c: Include `<grub/i18n.h>'.
30803 (GRUB_MOD_INIT): Gettextizze.
30804 * po/POTFILES: Add `loader/efi/appleloader.c',
30805 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
30806 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
30807 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
30808 `loader/i386/xnu.c', `loader/multiboot_loader.c',
30809 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
30810 and `loader/xnu.c'.
30811
b394b2ca
RM
308122010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30813
30814 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30815
308162010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
30817
30818 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30819 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30820 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30821
bc8b32b3
RM
308222010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30823
30824 Reset Multiboot 2 support. New loader implements the draft in
30825 /branches/multiboot2 and shares as much code as possible with the
30826 production Multiboot 1 implementation.
30827
30828 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30829 * loader/multiboot2.c: Likewise.
30830 * loader/i386/multiboot_helper.S: Likewise.
30831 * include/multiboot2.h: Replace with latest version from the draft
30832 in /branches/multiboot2.
30833
30834 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
30835 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
30836 and `loader/multiboot2.c'.
30837 (pkglib_MODULES): Add `multiboot2.mod'.
30838 (multiboot2_mod_SOURCES): New variable.
30839 (multiboot2_mod_LDFLAGS): Likewise.
30840 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
30841
30842 * conf/i386-pc.rmk: Likewise.
30843
30844 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30845 (multiboot_mod_SOURCES): Remove variable.
30846 (multiboot_mod_LDFLAGS): Likewise.
30847 (multiboot_mod_CFLAGS): Likewise.
30848
30849 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30850 `<multiboot2.h>' instead of `<multiboot.h>'.
30851 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30852 (MULTIBOOT_HEADER_MAGIC): New macros.
30853
30854 * loader/multiboot_loader.c (module_version_status): Remove variable.
30855 (find_multi_boot2_header): Remove function.
30856 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30857 logic. Always check for the Multiboot version we're compiling for.
30858 (grub_cmd_module_loader): Likewise.
30859 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30860 command instead of `multiboot'.
30861
5d2c52b8
RM
308622010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30863
30864 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30865 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30866 all users.
30867
53108d92
RM
308682010-01-07 Robert Millan <rmh.grub@aybabtu.com>
308692010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30870
30871 Fix breakage introduced with previous commit.
30872
30873 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30874 commands.
30875 * normal/handler.c (read_handler_list): Revert part of previous commit
30876 affecting this file.
30877 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30878 (grub_normal_execute): ... here.
30879
e2e936b2
RM
308802010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30881
30882 Merge prefix-redefinition-fix branch.
30883
30884 * normal/autofs.c (read_fs_list): Make function capable of being
30885 run multiple times, gracefuly replacing the previous data
30886 structures.
30887 * normal/dyncmd.c (read_command_list): Likewise.
30888 * normal/handler.c (read_handler_list): Likewise.
30889 * normal/main.c (read_lists): New function. Calls all the
30890 list reading functions.
30891 (grub_normal_execute): Use read_lists() instead of calling all
30892 list reading functions explicitly. Register read_lists() as a
30893 variable hook attached to ${prefix}.
30894
607a3701
VS
308952010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30896
30897 Merge crypto branch.
30898
30899 * Makefile.in (pkglib_DATA): Add crypto.lst.
30900 (crypto.lst): New target.
30901 * commands/hashsum.c: New file.
30902 * commands/password.c (check_password): Use grub_crypto_memcmp.
30903 * commands/password_pbkdf2.c: New file.
30904 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30905 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30906 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30907 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30908 -I$(srcdir)/lib/libgcrypt_wrap.
30909 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30910 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30911 password_pbkdf2.mod.
30912 (crypto_mod_SOURCES): New variable.
30913 (crypto_mod_CFLAGS): Likewise.
30914 (crypto_mod_LDFLAGS): Likewise.
30915 (hashsum_mod_SOURCES): New variable.
30916 (hashsum_mod_CFLAGS): Likewise.
30917 (hashsum_mod_LDFLAGS): Likewise.
30918 (pbkdf2_mod_SOURCES): New variable.
30919 (pbkdf2_mod_CFLAGS): Likewise.
30920 (pbkdf2_mod_LDFLAGS): Likewise.
30921 (password_pbkdf2_mod_SOURCES): New variable.
30922 (password_pbkdf2_mod_CFLAGS): Likewise.
30923 (password_pbkdf2_mod_LDFLAGS): Likewise.
30924 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30925 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30926 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30927 Include conf/gcry.rmk.
30928 * include/grub/auth.h: Rewritten.
30929 * include/grub/crypto.h: New file.
30930 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30931 * include/grub/normal.h (read_crypto_list): New prototype.
30932 * lib/crypto.c: New file.
30933 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30934 * lib/pbkdf2.c: Likewise.
30935 * normal/auth.c (grub_auth_strcmp): Removed.
30936 (grub_iswordseparator): Likewise.
30937 (grub_auth_strword): Likewise.
30938 (is_authenticated): Use grub_strword.
30939 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30940 and grub_strword. Pass entered password to authentication callback.
30941 * normal/crypto.c: New file.
30942 * normal/main.c: Call read_crypto_list.
30943 * util/grub-mkpasswd-pbkdf2.c: New file.
30944 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30945
42841caa
VS
309462010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30947
30948 Fix descent and ascent calculation.
30949
30950 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30951 (options): New option "asce".
30952 (usage): Likewise.
30953 (add_char): Ignore invalid glyphs for descent calculation.
30954 Calculate ascent from actual content.
30955 (print_glyphs): Use 'asce'.
30956 (write_font): Likewise. Allow ascent override.
30957 (main): Handle "asce" option.
30958
e7730de7 309592010-01-06 Carles Pina i Estany <carles@pina.cat>
30960
30961 * kern/err.c: Include `<grub/i18n.h>'.
30962 (grub_print_error): Add full stop. Gettextizze.
30963 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30964 (grub_bsd_load_elf): Capitalise ELF.
30965 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30966 (grub_cmd_freebsd_module): Likewise.
30967 (grub_cmd_freebsd_module_elf): Likewise.
30968 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30969
40e3a41f 309702010-01-06 Carles Pina i Estany <carles@pina.cat>
30971
30972 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30973 * commands/search_file.c (HELP_MESSAGE): New macro.
30974 * commands/search_label.c (HELP_MESSAGE): Likewise.
30975 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30976 * po/POTFILES: Add `commands/search_file.c',
30977 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30978 `commands/search.c'.
30979
83507e68
RM
309802010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30981
30982 * config.rpath: Update from Gnulib.
30983
465c787b
YB
309842010-01-05 Yves Blusseau <blusseau@zetam.org>
30985
30986 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30987
6581dd3a
YB
309882010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30989
30990 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30991
3bff18c5
CW
309922010-01-05 Colin Watson <cjwatson@ubuntu.com>
30993
30994 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30995 arguments to fread so that we get a return value in bytes, rather
30996 than something that will normally be rounded down to 0.
30997 Adjust error handling to avoid producing garbage when size_t is not
30998 the same size as long long.
30999
a1368118
CW
310002010-01-05 Colin Watson <cjwatson@ubuntu.com>
31001
31002 * util/mkisofs/write.c (padblock_write): Check return value of
31003 fread.
31004
7c302978
RM
310052010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31006
31007 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
31008 floppy images now.
31009
31010 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
31011
e33ace06
RM
310122010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31013
31014 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
31015 instead of manual alignment.
31016 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
31017 verbose). Avoid attempts to read past end of the device
31018 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
31019 but GRUB_DISK_CACHE_SIZE may exceed that).
31020
4b856776
RM
310212010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31022
31023 * commands/crc.c (grub_cmd_crc): Abort on read errors.
31024 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
31025 it to upper layer.
31026
52c2d97f
VS
310272010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31028
31029 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
31030 New constant.
31031 (grub_efi_piwg_device_path): New structure
31032 (grub_efi_piwg_device_path_t): New type.
31033 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
31034 (devpath_1): Transform to a structure. All users updated.
31035 (devpath_2): Likewise.
31036 (devpath_3): Likewise.
31037 (devpath_4): Likewise.
31038 (devpath_5): Likewise.
31039
98ff6a54
VS
310402010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31041
31042 * loader/efi/appleloader.c: Restored. Update all users.
31043
3a73dcb6
RM
310442010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31045
31046 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
31047
31048 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
31049 (struct boot_blocklist): Move from here ...
31050 * include/grub/i386/pc/boot.h [ASM_FILE]
31051 (struct grub_boot_blocklist): ... to here. Update all users.
31052 (setup): Only initialize `start' member of `first_block'
31053 structure. Add assert() calls to verify the other members.
31054
31055 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
31056 (generate_image): Fix broken blocklist length initialization.
31057 Add assert() call to verify blocklist `segment' field.
31058
ab0eeb0c
RM
310592010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31060
31061 * loader/efi/appleloader.c: Remove. Update all users.
31062
58bc8bd5
RM
310632010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31064
31065 * boot/i386/pc/boot.S: Update copyright year.
31066 * boot/i386/pc/cdboot.S: Likewise.
31067 * boot/i386/pc/diskboot.S: Likewise.
31068 * boot/i386/pc/lnxboot.S: Likewise.
31069 * boot/i386/pc/pxeboot.S: Likewise.
31070 * bus/pci.c: Likewise.
31071 * commands/cmp.c: Likewise.
31072 * commands/help.c: Likewise.
31073 * commands/hexdump.c: Likewise.
31074 * commands/i386/pc/halt.c: Likewise.
31075 * commands/i386/pc/play.c: Likewise.
31076 * commands/i386/pc/vbeinfo.c: Likewise.
31077 * commands/ls.c: Likewise.
31078 * commands/test.c: Likewise.
31079 * disk/dmraid_nvidia.c: Likewise.
31080 * disk/i386/pc/biosdisk.c: Likewise.
31081 * disk/ieee1275/nand.c: Likewise.
31082 * disk/ieee1275/ofdisk.c: Likewise.
31083 * disk/lvm.c: Likewise.
31084 * disk/raid.c: Likewise.
31085 * disk/raid6_recover.c: Likewise.
31086 * disk/scsi.c: Likewise.
31087 * fs/affs.c: Likewise.
31088 * fs/cpio.c: Likewise.
31089 * fs/ext2.c: Likewise.
31090 * fs/hfs.c: Likewise.
31091 * fs/iso9660.c: Likewise.
31092 * fs/ntfs.c: Likewise.
31093 * fs/sfs.c: Likewise.
31094 * fs/udf.c: Likewise.
31095 * fs/ufs.c: Likewise.
31096 * fs/xfs.c: Likewise.
31097 * gencmdlist.sh: Likewise.
31098 * genmk.rb: Likewise.
31099 * include/grub/disk.h: Likewise.
31100 * include/grub/efi/api.h: Likewise.
31101 * include/grub/efi/efi.h: Likewise.
31102 * include/grub/efi/pe32.h: Likewise.
31103 * include/grub/elf.h: Likewise.
31104 * include/grub/fs.h: Likewise.
31105 * include/grub/i386/at_keyboard.h: Likewise.
31106 * include/grub/i386/pc/memory.h: Likewise.
31107 * include/grub/i386/pc/vbe.h: Likewise.
31108 * include/grub/i386/pci.h: Likewise.
31109 * include/grub/i386/tsc.h: Likewise.
31110 * include/grub/ieee1275/ieee1275.h: Likewise.
31111 * include/grub/ntfs.h: Likewise.
31112 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31113 * include/grub/sparc64/libgcc.h: Likewise.
31114 * include/grub/symbol.h: Likewise.
31115 * include/grub/types.h: Likewise.
31116 * include/multiboot2.h: Likewise.
31117 * io/gzio.c: Likewise.
31118 * kern/device.c: Likewise.
31119 * kern/disk.c: Likewise.
31120 * kern/efi/efi.c: Likewise.
31121 * kern/efi/mm.c: Likewise.
31122 * kern/elf.c: Likewise.
31123 * kern/file.c: Likewise.
31124 * kern/i386/dl.c: Likewise.
31125 * kern/i386/pc/init.c: Likewise.
31126 * kern/i386/pc/startup.S: Likewise.
31127 * kern/ieee1275/ieee1275.c: Likewise.
31128 * kern/ieee1275/init.c: Likewise.
31129 * kern/main.c: Likewise.
31130 * kern/mm.c: Likewise.
31131 * kern/powerpc/dl.c: Likewise.
31132 * kern/sparc64/dl.c: Likewise.
31133 * kern/x86_64/dl.c: Likewise.
31134 * lib/hexdump.c: Likewise.
31135 * loader/efi/appleloader.c: Likewise.
31136 * loader/i386/ieee1275/linux.c: Likewise.
31137 * loader/i386/pc/chainloader.c: Likewise.
31138 * loader/i386/pc/linux.c: Likewise.
31139 * loader/i386/pc/multiboot2.c: Likewise.
31140 * loader/ieee1275/multiboot2.c: Likewise.
31141 * loader/multiboot2.c: Likewise.
31142 * loader/multiboot_loader.c: Likewise.
31143 * loader/powerpc/ieee1275/linux.c: Likewise.
31144 * normal/completion.c: Likewise.
31145 * normal/menu_entry.c: Likewise.
31146 * partmap/apple.c: Likewise.
31147 * util/grub.d/10_hurd.in: Likewise.
31148 * util/hostfs.c: Likewise.
31149 * video/readers/png.c: Likewise.
31150
e2d70b5c
CW
311512010-01-03 Colin Watson <cjwatson@ubuntu.com>
31152
31153 * include/grub/misc.h (GNUC_PREREQ): New macro.
31154 (ATTRIBUTE_ERROR): New macro.
31155 * include/grub/list.h (grub_bad_type_cast_real): Use
31156 ATTRIBUTE_ERROR.
31157
a173283f 311582010-01-03 Carles Pina i Estany <carles@pina.cat>
31159
31160 * normal/menu_text.c (print_message): Change messages.
31161
7fa7ff74 311622010-01-03 Carles Pina i Estany <carles@pina.cat>
31163
31164 * normal/menu_entry.c (store_completion): Gettextizze.
31165
136d24f6 311662010-01-03 Carles Pina i Estany <carles@pina.cat>
31167
31168 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
31169
f936862e 311702010-01-03 Carles Pina i Estany <carles@pina.cat>
31171
31172 * po/POTFILES: Sort correctly.
31173
29c44ad1 311742010-01-03 Carles Pina i Estany <carles@pina.cat>
31175
31176 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
31177 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
31178 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
31179 full stop.
31180 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
31181 summary. Gettextizze the strings.
31182 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
31183 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
31184 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
31185 full stop.
31186 (GRUB_MOD_INIT): Remove command name from summary.
31187 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
31188 summary.
31189 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
31190 * term/i386/pc/serial.c (options): Add full stops.
31191 (GRUB_MOD_INIT): Remove command name from the summary.
31192
77a79592 311932010-01-03 Carles Pina i Estany <carles@pina.cat>
31194
31195 * commands/acpi.c: Gettextizze help strings and/or options. Include
31196 `grub/i18n.h' if needed.
31197 * commands/blocklist.c: Likewise.
31198 * commands/boot.c: Likewise.
31199 * commands/cat.c: Likewise.
31200 * commands/cmp.c: Likewise.
31201 * commands/configfile.c: Likewise.
31202 * commands/crc.c: Likewise.
31203 * commands/date.c: Likewise.
31204 * commands/echo.c: Likewise.
31205 * commands/efi/fixvideo.c: Likewise.
31206 * commands/efi/loadbios.c: Likewise.
31207 * commands/gptsync.c: Likewise.
31208 * commands/halt.c: Likewise.
31209 * commands/handler.c: Likewise.
31210 * commands/hdparm.c: Likewise.
31211 * commands/hexdump.c: Likewise.
31212 * commands/i386/cpuid.c: Likewise.
31213 * commands/i386/pc/drivemap.c: Likewise.
31214 * commands/i386/pc/halt.c: Likewise.
31215 * commands/i386/pc/pxecmd.c: Likewise.
31216 * commands/i386/pc/vbeinfo.c: Likewise.
31217 * commands/i386/pc/vbetest.c: Likewise.
31218 * commands/ieee1275/suspend.c: Likewise.
31219 * commands/keystatus.c: Likewise.
31220 * commands/loadenv.c: Likewise.
31221 * commands/ls.c: Likewise.
31222 * commands/lsmmap.c: Likewise.
31223 * commands/lspci.c: Likewise.
31224 * commands/memrw.c: Likewise.
31225 * commands/minicmd.c: Likewise.
31226 * commands/parttool.c: Likewise.
31227 * commands/password.c: Likewise.
31228 * commands/probe.c: Likewise.
31229 * commands/read.c: Likewise.
31230 * commands/reboot.c: Likewise.
31231 * commands/search.c: Likewise.
31232 * commands/sleep.c: Likewise.
31233 * commands/test.c: Likewise.
31234 * commands/true.c: Likewise.
31235 * commands/usbtest.c: Likewise.
31236 * commands/videotest.c: Likewise.
31237 * commands/xnu_uuid.c: Likewise.
31238 * disk/loopback.c: Likewise.
31239 * hello/hello.c: Likewise.
31240 * loader/i386/bsd.c: Likewise.
31241 * term/i386/pc/serial.c: Likewise.
31242 * po/POTFILES: Add new files.
31243
da8d5c53
CW
312442010-01-02 Colin Watson <cjwatson@ubuntu.com>
31245
31246 * term/i386/pc/at_keyboard.c
31247 (keyboard_controller_wait_untill_ready): Rename to ...
31248 (keyboard_controller_wait_until_ready): ... this. Update all users.
31249
33937904 312502010-01-01 Carles Pina i Estany <carles@pina.cat>
31251
31252 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
31253 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
31254 string using string width.
31255 * normal/menu_text.c (grub_print_message_indented): Use
31256 grub_print_spaces and not print_spaces.
31257 (print_timeout): Likewise.
31258 (print_spaces): Move to...
31259 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
31260
3fd3b8d8
RM
312612010-01-01 Robert Millan <rmh.grub@aybabtu.com>
31262
31263 Import from Gnulib.
31264
31265 * gnulib/getdelim.c: New file.
31266 * gnulib/getline.c: Likewise.
31267
33433555
VS
312682009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
31269
31270 * include/grub/list.h (grub_assert_fail): Removed.
31271 (grub_bad_type_cast_real): New function.
31272 (grub_bad_type_cast): New macro.
31273 (GRUB_AS_LIST): Use grub_bad_type_cast.
31274 (GRUB_AS_LIST_P): Likewise.
e44721e8 31275 (GRUB_AS_NAMED_LIST): Likewise.
33433555 31276 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 31277 (GRUB_AS_PRIO_LIST): Likewise.
33433555 31278 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 31279 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 31280
f5a51306
VS
312812009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
31282
31283 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
31284 Fix syntax error.
31285
90d1e879
RM
312862009-12-29 Robert Millan <rmh.grub@aybabtu.com>
31287
31288 * configure.ac: Check for TARGET_CFLAGS initialization before we
31289 initialize it ourselves (sigh).
31290 Move a few modifications to TARGET_CFLAGS to be unconditional
31291 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
31292 eh_frame)
31293
31294 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
31295 * term/i386/pc/at_keyboard.c
31296 (keyboard_controller_wait_untill_ready): Likewise.
31297 (keyboard_controller_led): Rename `led_status' paramter to avoid
31298 name conflict.
31299
465b5a81 313002009-12-28 Carles Pina i Estany <carles@pina.cat>
31301
31302 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
31303 quotes.
31304
c181849b
VS
313052009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31306
31307 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
31308
9c8739a4
VS
313092009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31310
31311 * normal/menu_text.c (grub_print_message_indented): Prevent
31312 past-the-end-of-array dereference.
31313
3e74249c
VS
313142009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31315
31316 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
31317 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
31318
64fd18ed 313192009-12-27 Carles Pina i Estany <carles@pina.cat>
31320
31321 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
31322 * normal/main.c (grub_normal_read_line): Remove a space from the
31323 default prompt.
31324
714af9b9 313252009-12-27 Carles Pina i Estany <carles@pina.cat>
31326
31327 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
31328 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31329 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31330 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31331 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31332 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31333 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31334
82f3e412 313352009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 31336
31337 * video/readers/jpeg.c (cmd): Declare.
31338 (grub_cmd_jpegtest): Use `grub_command_t' type.
31339 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31340 Assign to `cmd'.
31341 (GRUB_MOD_FINI): Use `cmd' to unregister.
31342 * video/readers/png.c (cmd): Declare.
31343 (grub_cmd_pngtest): Use `grub_command_t' type.
31344 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31345 Assign to `cmd'.
31346 (GRUB_MOD_FINI): Use `cmd' to unregister.
31347 * video/readers/tga.c (cmd): Declare.
31348 (grub_cmd_tgatest): Use `grub_command_t' type.
31349 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31350 Assign to `cmd'.
31351 (GRUB_MOD_FINI): Use `cmd' to unregister.
31352
82f3e412 313532009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 31354
31355 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
31356 stops.
31357 * kern/corecmd.c (grub_register_core_commands): Likewise.
31358 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
31359 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31360 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
31361 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31362 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31363 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
31364 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31365 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
31366 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31367 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31368 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31369 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31370 * normal/handler.c (insert_handler): Likewise.
31371 * normal/main.c (GRUB_MOD_INIT): Likewise.
31372 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
31373
fdcdbb66 313742009-12-26 Carles Pina i Estany <carles@pina.cat>
31375
31376 * commands/help.c (grub_cmd_help): Print the command name before the
31377 summary.
31378 (GRUB_MOD_INIT): Remove command name from the summary.
31379 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 31380 string as summary.
fdcdbb66 31381 * lib/arg.c (find_long): Print the command name before the summary.
31382 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
31383 summary.
31384 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
31385 * commands/cat.c (GRUB_MOD_INIT): Likewise.
31386 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
31387 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31388 * commands/crc.c (GRUB_MOD_INIT): Likewise.
31389 * commands/date.c (GRUB_MOD_INIT): Likewise.
31390 * commands/echo.c (GRUB_MOD_INIT): Likewise.
31391 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
31392 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31393 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31394 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
31395 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
31396 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
31397 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
31398 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31399 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
31400 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
31401 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
31402 * commands/ls.c (GRUB_MOD_INIT): Likewise.
31403 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31404 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31405 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31406 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
31407 * commands/password.c (GRUB_MOD_INIT): Likewise.
31408 * commands/probe.c (GRUB_MOD_INIT): Likewise.
31409 * commands/read.c (GRUB_MOD_INIT): Likewise.
31410 * commands/search.c (GRUB_MOD_INIT): Likewise.
31411 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
31412 * commands/test.c (GRUB_MOD_INIT): Likewise.
31413 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
31414 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
31415 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
31416 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
31417 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
31418 * lib/arg.c (GRUB_MOD_INIT): Likewise.
31419 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
31420 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31421 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31422 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31423 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
31424 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
31425 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
31426 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
31427
9c288be2
VS
314282009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31429
31430 Use search command for preliminar UUID search.
31431
31432 * commands/search.c: Split into ...
31433 * commands/search_wrap.c: ...this
31434 * commands/search.c: ...and this.
31435 * commands/search_file.c: New file.
31436 * commands/search_label.c: New file.
31437 * commands/search_uuid.c: New file.
31438 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
31439 Add commands/search_wrap.c, commands/search_file.c,
31440 commands/search_label.c and commands/search_uuid.c.
31441 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
31442 (search_mod_SOURCES): Set to commands/search_wrap.c.
31443 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
31444 search_label.mod.
31445 (search_fs_file_mod_SOURCES): New variable.
31446 (search_fs_file_mod_CFLAGS): Likewise.
31447 (search_fs_file_mod_LDFLAGS): Likewise.
31448 (search_label_mod_SOURCES): Likewise.
31449 (search_label_mod_CFLAGS): Likewise.
31450 (search_label_mod_LDFLAGS): Likewise.
31451 (search_fs_uuid_mod_SOURCES): New variable.
31452 (search_fs_uuid_mod_CFLAGS): Likewise.
31453 (search_fs_uuid_mod_LDFLAGS): Likewise.
31454 (fs_file_mod_SOURCES): Removed.
31455 (fs_file_mod_CFLAGS): Likewise.
31456 (fs_file_mod_LDFLAGS): Likewise.
31457 (fs_uuid_mod_SOURCES): Removed.
31458 (fs_uuid_mod_CFLAGS): Likewise.
31459 (fs_uuid_mod_LDFLAGS): Likewise.
31460 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
31461 Set to util/grub-install.in.
31462 * disk/fs_file.c: Removed.
31463 * disk/fs_uuid.c: Likewise.
31464 * include/grub/search.h: New file.
31465 * util/grub-install.in: Handle sparc64.
31466 Create and use load.cfg.
31467 * util/sparc64/ieee1275/grub-install.in: Removed.
31468
db943399
VS
314692009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31470
31471 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
31472 Ignore return status if CF is cleared.
31473 (grub_biosdisk_get_diskinfo_standard): Likewise.
31474
3fdae612
RM
314752009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31476
31477 * term/i386/pc/at_keyboard.c
31478 (keyboard_controller_wait_untill_ready): New function.
31479 (grub_keyboard_controller_write, grub_keyboard_controller_read)
31480 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
31481 for keyboard polling, rather than duplicate the same loop. This
31482 saves a few bytes in code size.
31483
7ebaa2b4
VS
314842009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31485
31486 Support for (pxe[:server[:gateway]]) syntax and
31487 use environment variable for PXE.
31488
31489 * commands/i386/pc/pxecmd.c (options): Removed.
31490 (print_ip): Removed.
31491 (grub_cmd_pxe): Removed
31492 (grub_cmd_pxe_unload): New function.
31493 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
31494 (grub_pxe_your_ip): Made static.
31495 (grub_pxe_default_server_ip): Likewise.
31496 (grub_pxe_default_gateway_ip): Likewise.
31497 (grub_pxe_blksize): Likewise.
31498 (parse_ip): New function.
31499 (grub_pxe_open): Support server and gateway specification.
31500 (grub_pxe_close): Free disk->data.
31501 (grub_pxefs_open): Use disk->data.
31502 (grub_pxefs_read): Likewise.
31503 (grub_env_write_readonly): New function.
31504 (set_mac_env): Likewise.
31505 (set_env_limn_ro): Likewise.
31506 (parse_dhcp_vendor): Likewise.
31507 (grub_pxe_detect): Set the environment variables.
31508 (set_ip_env): New function.
31509 (write_ip_env): Likewise.
31510 (grub_env_write_pxe_default_server): Likewise.
31511 (grub_env_write_pxe_default_gateway): Likewise.
31512 (grub_env_write_pxe_blocksize): Likewise.
31513 (GRUB_MOD_INIT(pxe)): Set environment variables.
31514 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
31515 (grub_pxe_mac_addr_t): ... this. All users updated.
31516 (grub_pxe_your_ip): Removed.
31517 (grub_pxe_server_ip): Likewise.
31518 (grub_pxe_gateway_ip): Likewise.
31519 (grub_pxe_blksize): Likewise.
31520
ec5f98ab 315212009-12-25 Carles Pina i Estany <carles@pina.cat>
31522
31523 * commands/help.c: Include `<grub/i18n.h>'.
31524 (grub_cmd_help): Gettextizze.
31525 (GRUB_MOD_INIT): Likewise.
31526 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
31527 (GRUB_MOD_INIT): Gettextizze.
31528 * commands/search.c: Include `<grub/i18n.h>'.
31529 (options): Gettextizze.
31530 (GRUB_MOD_INIT): Gettextizze.
31531 * lib/arg.c: Include `<grub/i18n.h>'.
31532 (help_options): Gettextizze.
31533 (find_long): Likewise.
31534 (grub_arg_show_help): Likewise.
31535 * normal/dyncmd.c: Include `<grub/i18n.h>'.
31536 (read_command_list): Gettextizze.
31537 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 31538 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 31539
22815526
RM
315402009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31541
31542 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
31543 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
31544 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
31545 (led_status): New variable.
31546 (keyboard_controller_led): New function.
31547 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
31548 update led status for caps lock, num lock and scroll lock.
31549
0ad46fd7
FZ
315502009-12-25 Felix Zielcke <fzielcke@z-51.de>
31551
31552 * util/hostdisk.c (open_device): Fix a comment.
31553
d0e158c2
RM
315542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31555
31556 * util/grub-install.in (host_os): New variable.
31557 * util/i386/efi/grub-install.in (host_os): Likewise.
31558
401c0ad6
RM
315592009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31560
31561 * util/mkisofs/write.c (padblock_write): Abort when given an
31562 excedingly large embed image, instead of silently truncating it.
31563
d14d3370
RM
315642009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31565
31566 * include/multiboot.h: Indentation fixes.
31567
eeed10b4
RM
315682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31569
31570 * include/multiboot.h (struct multiboot_aout_symbol_table)
31571 (struct multiboot_elf_section_header_table): New structure
31572 declarations (stolen from GRUB Legacy).
31573 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
31574 table information.
31575
31576 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
31577 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
31578 type aliases.
31579
681c70ab
RM
315802009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31581
31582 * include/multiboot.h: Make comments src2texi-friendly.
31583
e4d47d8d
RM
315842009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31585
31586 For consistency with [multiboot]/docs/boot.S.
31587
31588 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
31589 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
31590 (MULTIBOOT_MAGIC2): Rename from this ...
31591 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
31592
a0b70bda
RM
315932009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31594
31595 * include/multiboot.h: Remove `<grub/types.h>'.
31596 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
31597 types. Update all users.
31598
61ba42be 315992009-12-25 Carles Pina i Estany <carles@pina.cat>
31600
31601 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
31602 `couldn't' and `can not' by `cannot'.
31603 * commands/i386/pc/drivemap.c: Likewise.
31604 * disk/ata.c: Likewise.
31605 * disk/ieee1275/nand.c: Likewise.
31606 * fs/affs.c: Likewise.
31607 * fs/fat.c: Likewise.
31608 * fs/hfs.c: Likewise.
31609 * fs/hfsplus.c: Likewise.
31610 * fs/iso9660.c: Likewise.
31611 * fs/jfs.c: Likewise.
31612 * fs/minix.c: Likewise.
31613 * fs/reiserfs.c: Likewise.
31614 * fs/sfs.c: Likewise.
31615 * fs/udf.c: Likewise.
31616 * fs/ufs.c: Likewise.
31617 * fs/xfs.c: Likewise.
31618 * loader/powerpc/ieee1275/linux.c: Likewise.
31619 * loader/sparc64/ieee1275/linux.c: Likewise.
31620 * util/grub-probe.c: Likewise.
31621 * util/misc.c: Likewise.
31622
7fd0baee 316232009-12-24 Carles Pina i Estany <carles@pina.cat>
31624
31625 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
31626 grub_errno calls.
31627 * commands/acpi.c: Likewise.
31628 * commands/blocklist.c: Likewise.
31629 * commands/efi/loadbios.c: Likewise.
31630 * commands/i386/pc/drivemap.c: Likewise.
31631 * commands/loadenv.c: Likewise.
31632 * commands/memrw.c: Likewise.
31633 * commands/password.c: Likewise.
31634 * commands/videotest.c: Likewise.
31635 * disk/ata.c: Likewise.
31636 * disk/ata_pthru.c: Likewise.
31637 * disk/dmraid_nvidia.c: Likewise.
31638 * disk/ieee1275/nand.c: Likewise.
31639 * disk/ieee1275/ofdisk.c: Likewise.
31640 * disk/loopback.c: Likewise.
31641 * disk/lvm.c: Likewise.
31642 * disk/mdraid_linux.c: Likewise.
31643 * disk/raid.c: Likewise.
31644 * disk/raid6_recover.c: Likewise.
31645 * disk/scsi.c: Likewise.
31646 * efiemu/main.c: Likewise.
31647 * efiemu/mm.c: Likewise.
31648 * efiemu/pnvram.c: Likewise.
31649 * efiemu/symbols.c: Likewise.
31650 * font/font.c: Likewise.
31651 * fs/cpio.c: Likewise.
31652 * fs/hfsplus.c: Likewise.
31653 * fs/iso9660.c: Likewise.
31654 * fs/jfs.c: Likewise.
31655 * fs/minix.c: Likewise.
31656 * fs/ntfs.c: Likewise.
31657 * fs/ntfscomp.c: Likewise.
31658 * fs/reiserfs.c: Likewise.
31659 * fs/ufs.c: Likewise.
31660 * fs/xfs.c: Likewise.
31661 * gettext/gettext.c: Likewise.
31662 * include/grub/auth.h: Likewise.
31663 * kern/elf.c: Likewise.
31664 * kern/file.c: Likewise.
31665 * kern/ieee1275/init.c: Likewise.
31666 * kern/ieee1275/mmap.c: Likewise.
31667 * kern/ieee1275/openfw.c: Likewise.
31668 * kern/powerpc/dl.c: Likewise.
31669 * kern/sparc64/dl.c: Likewise.
31670 * lib/arg.c: Likewise.
31671 * loader/i386/bsd.c: Likewise.
31672 * loader/i386/bsdXX.c: Likewise.
31673 * loader/i386/efi/linux.c: Likewise.
31674 * loader/i386/efi/xnu.c: Likewise.
31675 * loader/i386/ieee1275/linux.c: Likewise.
31676 * loader/i386/linux.c: Likewise.
31677 * loader/i386/multiboot.c: Likewise.
31678 * loader/i386/pc/linux.c: Likewise.
31679 * loader/i386/pc/multiboot2.c: Likewise.
31680 * loader/i386/xnu.c: Likewise.
31681 * loader/ieee1275/multiboot2.c: Likewise.
31682 * loader/macho.c: Likewise.
31683 * loader/machoXX.c: Likewise.
31684 * loader/multiboot2.c: Likewise.
31685 * loader/multiboot_loader.c: Likewise.
31686 * loader/powerpc/ieee1275/linux.c: Likewise.
31687 * loader/sparc64/ieee1275/linux.c: Likewise.
31688 * loader/xnu.c: Likewise.
31689 * loader/xnu_resume.c: Likewise.
31690 * mmap/i386/pc/mmap.c: Likewise.
31691 * normal/menu_viewer.c: Likewise.
31692 * partmap/acorn.c: Likewise.
31693 * partmap/amiga.c: Likewise.
31694 * partmap/apple.c: Likewise.
31695 * script/lexer.c: Likewise.
31696 * term/gfxterm.c: Likewise.
31697 * term/i386/pc/serial.c: Likewise.
31698 * term/i386/pc/vga.c: Likewise.
31699 * term/ieee1275/ofconsole.c: Likewise.
31700 * term/terminfo.c: Likewise.
31701 * video/bitmap.c: Likewise.
31702 * video/efi_gop.c: Likewise.
31703 * video/efi_uga.c: Likewise.
31704 * video/fb/video_fb.c: Likewise.
31705 * video/i386/pc/vbe.c: Likewise.
31706 * video/readers/tga.c: Likewise.
31707 * video/video.c: Likewise.
31708
0ad46fd7 317092009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
31710
31711 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31712 * commands/lspci.c: Likewise.
31713 * commands/probe.c: Likewise.
31714 * commands/xnu_uuid.c: Likewise.
31715 * conf/i386-coreboot.rmk: Likewise.
31716 * conf/i386-efi.rmk: Likewise.
31717 * conf/i386-ieee1275.rmk: Likewise.
31718 * conf/i386-pc.rmk: Likewise.
31719 * conf/powerpc-ieee1275.rmk: Likewise.
31720 * conf/sparc64-ieee1275.rmk: Likewise.
31721 * conf/x86_64-efi.rmk: Likewise.
31722 * fs/i386/pc/pxe.c: Likewise.
31723 * gettext/gettext.c: Likewise.
31724 * include/grub/efi/graphics_output.h: Likewise.
31725 * include/grub/i386/pc/memory.h: Likewise.
31726 * kern/env.c: Likewise.
31727 * kern/i386/qemu/startup.S: Likewise.
31728 * lib/i386/pc/biosnum.c: Likewise.
31729 * lib/i386/relocator.c: Likewise.
31730 * lib/i386/relocator_asm.S: Likewise.
31731 * lib/relocator.c: Likewise.
31732 * loader/i386/bsd.c: Likewise.
31733 * loader/i386/multiboot.c: Likewise.
31734 * loader/i386/pc/chainloader.c: Likewise.
31735 * loader/i386/xnu.c: Likewise.
31736 * loader/xnu.c: Likewise.
31737 * normal/main.c: Likewise.
31738 * normal/menu_text.c: Likewise.
31739 * util/getroot.c: Likewise.
31740 * util/grub-mkconfig_lib.in: Likewise.
31741 * util/grub.d/00_header.in: Likewise.
31742 * util/i386/pc/grub-mkimage.c: Likewise.
31743 * util/mkisofs/eltorito.c: Likewise.
31744 * util/mkisofs/exclude.h: Likewise.
31745 * util/mkisofs/hash.c: Likewise.
31746 * util/mkisofs/iso9660.h: Likewise.
31747 * util/mkisofs/joliet.c: Likewise.
31748 * util/mkisofs/mkisofs.c: Likewise.
31749 * util/mkisofs/mkisofs.h: Likewise.
31750 * util/mkisofs/multi.c: Likewise.
31751 * util/mkisofs/name.c: Likewise.
31752 * util/mkisofs/rock.c: Likewise.
31753 * util/mkisofs/tree.c: Likewise.
31754 * util/mkisofs/write.c: Likewise.
31755 * video/efi_gop.c: Likewise.
31756
009ec743
VS
317572009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31758
31759 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31760 size counting.
31761
0ad46fd7 317622009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
31763
31764 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31765 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31766
d3d30ea0
VS
317672009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31768
31769 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31770 (GRUB_MOD_INIT(memrw)): Update help line.
31771
a34f5c70
VS
317722009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31773
31774 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31775 Use grub_extcmd_t. All users updated.
31776 (options): New variable.
31777 (grub_cmd_read): Restructure for readability. Support "-v" option.
31778 (grub_cmd_write): Restructure for readability.
31779
0ad46fd7 317802009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
31781
31782 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31783
0ad46fd7 317842009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
31785
31786 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31787 with the actual contents of the correspondending make variable.
31788 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31789 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31790 specifying `*.lst' and `efiemu??.o'
31791
0ad46fd7 317922009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
31793
31794 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31795 after function name.
31796 Noticed by Rene Engelhard <rene@debian.org>.
31797
dc77a799
VS
317982009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31799
31800 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
31801 (options): New variable.
31802 (iospace): Likewise.
31803 (grub_lspci_iter): List IO spaces if "-i" was given.
31804 (grub_cmd_lspci): Parse options.
31805 (GRUB_MOD_INIT(lspci)): Use extcmd.
31806 (GRUB_MOD_FINI(lspci)): Likewise.
31807
0ad46fd7 318082009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
31809
31810 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
31811 `function' keyword.
31812 Patch by Tony Mancill <tmancill@debian.org>.
31813
b5d5993b
VS
318142009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31815
31816 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31817 (grub_uhci_portstatus): Likewise.
31818 (grub_uhci_portstatus): Add necessary delay.
11d18281 31819 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 31820
941903f2 318212009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 31822
941903f2 31823 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31824 (GRUB_MOD_INIT): Likewise.
31825 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 31826 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31827 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 31828 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31829 (enable_rom_area): Likewise.
31830 (GRUB_MOD_INIT): Likewise.
31831 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31832 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
31833 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31834 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
31835 * commands/hexdump.c (options): Likewise.
31836 * commands/i386/cpuid.c (options): Likewise.
31837 (GRUB_MOD_INIT): Likewise.
31838 * commands/i386/pc/drivemap.c (options): Likewise.
31839 (GRUB_MOD_INIT): Likewise.
31840 * commands/i386/pc/halt (options): Likewise.
31841 (GRUB_MOD_INIT): Likewise.
31842 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31843 * commands/i386/pc/pxecmd.c (options): Likewise.
31844 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31845 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31846 * commands/keystatus.c (options): Likewise.
31847 (GRUB_MOD_INIT): Likewise.
31848 * commands/loadenv.c (options): Likewise.
31849 * commands/ls.c (options): Likewise.
31850 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31851 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31852 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31853 * commands/parttool.c (helpmsg): Likewise.
31854 * commands/probe.c (options): Likewise.
31855 * commands/read.c (GRUB_MOD_INIT): Likewise.
31856 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31857 * commands/search.c (options): Likewise.
31858 * commands/sleep.c (options): Likewise.
31859 * commands/test.c (GRUB_MOD_INIT): Likewise.
31860 * commands/true.c (GRUB_MOD_INIT): Likewise.
31861 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31862 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31863 * lib/arg.c (help_options): Likewise.
e9bbb4e7 31864 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31865 `$(XGETTEXT)'.
98a50553 31866 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 31867
0ad46fd7 318682009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 31869
ef3c2c3a 31870 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
31871 instead of specifying them explicit.
31872
7922f68b
RM
318732009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31874
31875 * NEWS: Add grub-probe support for GNU/Hurd.
31876
537ce47f
RM
318772009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31878
31879 * NEWS: gettext was added after 1.97.
31880
9b214e3a
RM
318812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31882
31883 * util/mkisofs/msdos_partition.h: New file (based on
31884 include/grub/msdos_partition.h).
31885 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31886 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31887 (ld_options, main): Recognize --protective-msdos-label.
31888 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31889 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
31890 (padblock_write): If `use_protective_msdos_label' is set, patch a
31891 protective DOS-style label in the output image.
31892
31893 * util/grub-mkrescue.in: Use --protective-msdos-label.
31894
e9309813
RM
318952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31896
31897 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31898 boot.
31899
0ae56929
RM
319002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31901
31902 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31903 variables.
31904 (ld_options, main): Recognize `--embedded-boot'.
31905 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31906 declarations.
31907 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31908 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31909 (padblock_write): Likewise. Rewrite to support embedded boot image.
31910
31911 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31912 for BIOS-based disk boot instead of only ElTorito.
31913
b15937b1
RM
319142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31915
31916 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31917 build (not needed for bootstrap).
31918
52cc3ce0
RM
319192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31920
31921 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31922 from i386-pc build (not needed for bootstrap).
31923 Rewrite a pair of strings.
31924
36f5ff04
RM
319252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31926
31927 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31928
973c6c85 319292009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
31930
31931 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31932
05d21547
AB
319332009-12-21 Andreas Born <futur.andy@googlemail.com>
31934
31935 * kern/env.c (grub_env_context_open): Mark exported variable for
31936 reexport.
31937
0175d51f
AB
319382009-12-21 Andreas Born <futur.andy@googlemail.com>
31939
31940 * kern/env.c (grub_env_export): Create nonexistent variables before
31941 exporting.
31942
7f39d92f 319432009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 31944
7f39d92f 31945 * include/grub/auth.h: Include `<grub/i18n.h>'.
31946 (GRUB_GET_PASSWORD): Gettextizze string.
31947 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31948 menu_text.c.
31949 (grub_utf8_to_ucs4_alloc): Fix indentation.
31950 (grub_print_ucs4): Likewise.
31951 (grub_getstringwidth): Likewise.
31952 (print_message_indented): New declaration.
31953 * normal/auth.c: Include `<grub/i18n.h>'.
31954 (grub_auth_check_authentication): Gettexttize string.
31955 * normal/cmdline.c: Include `<grub/i18n.h>'.
31956 (grub_cmdline_get): Gettextizze.
31957 * normal/color.c: Include `<grub/i18n.h>'.
31958 (grub_parse_color_name_pair): Gettexttize strings.
31959 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31960 string (use `print_message_indented').
31961 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31962 `include/grub/normal.h'.
31963 (print_message_indented): Renamed to ...
31964 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31965 used in normal/main.c).
31966 (print_message): Use `grub_print_message_indented' instead of
31967 `print_message_indented'.
31968 (print_timeout): Likewise.
31969 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31970 (grub_normal_print_device_info): Gettexttize strings.
31971 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31972
3041d898
VS
319732009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31974
31975 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31976 of arguments. Return number of tokens and not arguments. All users
31977 updated.
31978
de15bf8e
VS
319792009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31980
31981 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31982 non-MSDOS paritions.
31983
e0a6ca52
VS
319842009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31985
31986 * include/grub/types.h (UNUSED): Removed since it conflicts with
31987 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31988 Reported by Grégoire Sutre.
31989
b99518d1 319902009-12-19 Carles Pina i Estany <carles@pina.cat>
31991
31992 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31993 (grub_print_ucs4_alloc): Likewise.
31994 (grub_getstringwidth): Likewise.
31995 * normal/main.c (grub_normal_init_page): Gettextize version string.
31996 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31997 (getstringwidth): Renamed to ...
31998 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31999 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
32000 (grub_print_ucs4): Remove `static' qualifer (now used in
32001 normal/main.c).
32002 * po/POTFILES: Add normal/main.c.
32003
bfd5e52b 320042009-12-19 Carles Pina i Estany <carles@pina.cat>
32005
32006 * normal/menu_text.c (STANDARD_MARGIN): New macro.
32007 (print_message_indented): Add `margin_left' and `margin_right'
32008 parameters.
32009 (print_message): Update `print_message_indented' calls. Adds '\n' to the
32010 strings.
32011 (print_timeout): Use `print_message_indented' to print the message.
32012 Deletes `second_stage' parameter.
32013 (run_menu): Update `print_timeout' calls.
32014
5a1ad2b9
VS
320152009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32016
32017 Fix console palette on OpenFirmware.
32018
32019 * term/ieee1275/ofconsole.c (MAX): Removed.
32020 (colors): Redone based on VGA palette.
32021 (grub_ofconsole_setcolor): Discard brightness bit since only 8
32022 colors are supported.
32023 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
32024
b045f00a
VS
320252009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32026
32027 Fix potential EfiEmu double prepare.
32028
32029 * efiemu/main.c (prepared): New variable
32030 (grub_efiemu_unload): Set prepare to '0'.
32031 (grub_efiemu_prepare): Return if already prepared. Set prepared.
32032
32033 set_virtual_address_map support.
32034
32035 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
32036 prototype.
32037 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
32038 prototype.
32039 (grub_efiemu_crc32): Likewise.
32040 (grub_efiemu_crc64): Likewise.
32041 (grub_efiemu_set_virtual_address_map): Likewise.
32042 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
32043 New definition.
32044 (grub_autoefi_set_virtual_address_map): Likewise.
32045 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
32046 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
32047 Restructure flow to accomodate it.
32048 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
32049 (grub_efiemu_crc): Recompute CRC32.
32050 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
32051 (efiemu_ptv_relocated): ... this. Made global. All users updated.
32052 * efiemu/symbols.c (relocated_handle): New variable.
32053 (grub_efiemu_free_syms): Free relocated_handle.
32054 (grub_efiemu_alloc_syms): Allocate relocated_handle.
32055 (grub_efiemu_write_sym_markers): New function.
32056 (grub_efiemu_set_virtual_address_map): Likewise.
32057
32058 Newer XNU parameters.
32059
32060 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
32061 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
32062 (grub_xnu_fill_devicetree): New prototype.
32063 (grub_xnu_heap_real_start): New variable.
32064 * loader/xnu.c (get_name_ptr): New function.
32065 (grub_xnu_load_driver): Fill namelen and name.
32066
32067 64-bit xnu support.
32068
32069 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
32070 and 'loader/macho64.c'.
32071 * conf/i386-pc.rmk: Likewise.
32072 * conf/x86_64-efi.rmk: Likewise.
32073 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
32074 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
32075 * include/grub/macho.h (grub_macho_segment64): New structure.
32076 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
32077 (grub_macho_size32): ... to this.
32078 (grub_macho32_get_entry_point): Renamed from ...
32079 (grub_macho_get_entry_point32): ... to this.
32080 (grub_macho_contains_macho64): New prototype.
32081 (grub_macho_size64): Likewise.
32082 (grub_macho_get_entry_point64): Likewise.
32083 (grub_macho32_load): Renamed from ...
32084 (grub_macho_load32): ... to this.
32085 (grub_macho32_filesize): Renamed from ...
32086 (grub_macho_filesize32): ... to this.
32087 (grub_macho32_readfile): Renamed from ...
32088 (grub_macho_readfile32): ... to this.
32089 (grub_macho_filesize64): New prototype.
32090 (grub_macho_readfile64): Likewise.
32091 (grub_macho_parse32): Likewise.
32092 (grub_macho_parse64): Likewise.
32093 * loader/macho.c: Split into ...
32094 * loader/machoXX.c: ... and this. Replace 32 with XX.
32095 * loader/macho32.c: New file.
32096 * loader/macho64.c: Likewise.
32097 * loader/xnu.c (grub_xnu_is_64bit): New variable.
32098 (grub_cmd_xnu_kernel): Make 32-bit only.
32099 (grub_cmd_xnu_kernel64): New function.
32100 (grub_xnu_load_driver): Support Mach-O 64.
32101 (grub_cmd_xnu_mkext): Likewise.
32102 * util/grub.d/30_os-prober.in (osx_entry): New function.
32103 Generate entries for 64-bit boot too.
32104
32105 Eliminate ad-hoc tree format in XNU and EfiEmu.
32106
32107 * efiemu/main.c (grub_efiemu_prepare): Update comment.
32108 * efiemu/pnvram.c: Rewritten to use environment variables.
32109 All users updated.
32110
32111 Inline utf16_to_utf8.
32112
32113 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
32114 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
32115 All users updated.
32116 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
32117
32118 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
32119 * commands/usbtest.c (grub_usb_get_string): ... move here.
32120 (usb_print_str): Fix error handling.
32121 * include/grub/usb.h (grub_usb_get_string): Remove.
32122
32123 UTF-8 to UTF-16 transformation.
32124
32125 * conf/common.rmk (pkglib_MODULES): Add charset.mod
32126 (charset_mod_SOURCES): New variable.
32127 (charset_mod_CFLAGS): Likewise.
32128 (charset_mod_LDFLAGS): Likewise.
32129 * include/grub/utf.h: New file.
32130 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
32131
32132 Support for device properties.
32133
32134 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
32135 (grub_xnu_devprop_device_header): Likewise.
32136 (grub_xnu_devprop_device_descriptor): Likewise.
32137 (grub_xnu_devprop_add_device): New prototype.
32138 (grub_xnu_devprop_remove_device): Likewise.
32139 (grub_xnu_devprop_remove_property): Likewise.
32140 (grub_xnu_devprop_add_property_utf8): Likewise.
32141 (grub_xnu_devprop_add_property_utf16): Likewise.
32142 (grub_cpu_xnu_init): Likewise.
32143 (grub_cpu_xnu_fini): Likewise.
32144 (grub_cpu_xnu_unload): Likewise.
32145 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
32146 (property_descriptor): Likewise.
32147 (devices): New variable.
32148 (grub_xnu_devprop_remove_property): New function.
32149 (grub_xnu_devprop_add_device): Likewise.
32150 (grub_xnu_devprop_remove_device): Likewise.
32151 (grub_xnu_devprop_add_property): Likewise.
32152 (grub_xnu_devprop_add_property_utf8): Likewise.
32153 (grub_xnu_devprop_add_property_utf16): Likewise.
32154 (hextoval): Likewise.
32155 (grub_cpu_xnu_fill_devprop): Likewise.
32156 (grub_cmd_devprop_load): Likewise.
32157 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
32158 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
32159 (cmd_devprop_load): New variable.
32160 (grub_cpu_xnu_init): New function.
32161 (grub_cpu_xnu_fini): Likewise.
32162 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
32163 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
32164 (grub_cmd_xnu_devtree): Likewise.
32165 (hextoval): New function.
32166 (unescape): Likewise.
32167 (grub_xnu_fill_devicetree): Likewise.
32168
32169 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
32170 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
32171
0945f181
VS
321722009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32173
32174 Workaround for broken ATI VBE.
32175
32176 * video/i386/pc/vbe.c (last_set_mode): New variable.
32177 (grub_vbe_set_video_mode): Set 'last_set_mode'.
32178 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
32179 (grub_video_vbe_setup): Don't check for reserved flag.
32180
0ad46fd7 321812009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
32182
32183 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
32184 the `find' command.
32185
c179ebe4
VS
321862009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
32187
32188 UUID support for HFS.
32189
32190 * fs/hfs.c (grub_hfs_uuid): New function.
32191 (grub_hfs_fs): New value .uuid.
32192 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
32193
0ad46fd7 321942009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
32195
32196 Fix a segfault with parsing unknown long options.
32197
32198 * util/grub-mkrelpath.c (options): Zero terminate it.
32199
c4a3e41a
CPE
322002009-12-13 Carles Pina i Estany <carles@pina.cat>
32201
32202 * include/grub/misc.h (grub_puts): New declaration.
32203 (grub_puts_): Likewise.
a22008a6 32204 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
32205 (grub_puts_): Likewise.
32206
2e8a7602
RM
322072009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32208
32209 * util/grub-probe.c (probe): Improve error message.
32210
b50b77b9
RM
322112009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32212
32213 * loader/i386/multiboot_elfxx.c
32214 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
32215 initialization.
32216
322172009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32218
32219 Relocator framework
32220
32221 * loader/i386/xnu_helper.S: Removed. All users updated.
32222 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
32223 (relocator_mod_SOURCES): New variable.
32224 (relocator_mod_CFLAGS): Likewise.
32225 (relocator_mod_LDFLAGS): Likewise.
32226 (relocator_mod_ASFLAGS): Likewise.
32227 * conf/x86_64.rmk: Likewise.
32228 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
32229 (grub_multiboot_payload_entry_offset): Likewise.
32230 (grub_multiboot_forward_relocator): Likewise.
32231 (grub_multiboot_forward_relocator_end): Likewise.
32232 (grub_multiboot_backward_relocator): Likewise.
32233 (grub_multiboot_backward_relocator_end): Likewise.
32234 (grub_multiboot_payload_eip): New variable.
32235 (grub_multiboot_payload_orig): Likewise.
32236 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
32237 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
32238 * include/grub/i386/memory.h
32239 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
32240 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
32241 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
32242 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
32243 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
32244 * include/grub/i386/relocator.h: New file.
32245 * include/grub/x86_64/relocator.h: Likewise.
32246 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
32247 (XNU_RELOCATOR): New macro.
32248 (grub_xnu_launcher_start): Remove.
32249 (grub_xnu_launcher_end): Likewise.
32250 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
32251 (grub_xnu_heap_real_start): Remove.
32252 (grub_xnu_heap_start): Change to void *. All users updated.
32253 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
32254 * lib/i386/relocator.c: New file.
32255 * lib/i386/relocator_asm.S: Likewise.
32256 * lib/i386/relocator_backward.S: Likewise.
32257 * lib/mips/relocator.c: Likewise.
32258 * lib/mips/relocator_asm.S: Likewise.
32259 * lib/relocator.c: Likewise.
32260 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
32261 (entry): Removed.
32262 (playground): Likewise.
32263 (grub_multiboot_payload_orig): New variable.
32264 (grub_multiboot_payload_dest): Likewise.
32265 (grub_multiboot_payload_size): Likewise.
32266 (grub_multiboot_payload_eip): Likewise.
32267 (grub_multiboot_payload_esp): Likewise.
32268 (grub_multiboot_boot): Use grub_relocator32_boot.
32269 (grub_multiboot_unload): Free relocators.
32270 (grub_multiboot): Setup stack. Use relocators.
32271 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
32272 (grub_multiboot_load_elfXX): Use relocators.
32273 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
32274 (grub_multiboot_payload_size): Likewise.
32275 (grub_multiboot_payload_dest): Likewise.
32276 (grub_multiboot_payload_entry_offset): Likewise.
32277 (grub_multiboot_forward_relocator): Likewise.
32278 (grub_multiboot_backward_relocator): Likewise.
32279 (grub_multiboot_real_boot): Likewise.
32280 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
32281 (grub_xnu_entry_point): Likewise.
32282 (grub_xnu_arg1): Likewise.
32283 (grub_xnu_stack): Likewise.
32284 (grub_xnu_launch): Removed.
32285 (grub_xnu_boot_resume): New function.
32286 (grub_xnu_boot): Use relocators.
32287 * loader/i386/xnu_helper.S: Removed.
32288 * loader/xnu.c (grub_xnu_heap_start): New variable.
32289 (grub_xnu_heap_size): Likewise.
32290 (grub_xnu_heap_malloc): Use relocators.
32291 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
32292
29eb90c6
VS
322932009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32294
32295 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
32296 anything.
32297
31027430
CPE
322982009-12-13 Carles Pina i Estany <carles@pina.cat>
32299
32300 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
32301 GRUB_ERR_NONE before calling grub_env_set.
32302
dc0c71d9
RM
323032009-12-12 Robert Millan <rmh@aybabtu.com>
32304
32305 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
32306 * genmk.rb (video): New variable.
32307 (CLEANFILES, VIDEOFILES): Add #{video}.
32308 (#{video}): New target rule.
32309 * genvideolist.sh: New file.
32310 * Makefile.in (pkglib_DATA): Add video.lst.
32311 (video.lst): New target rule.
32312 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
32313 `video.lst'.
32314 * util/grub.d/30_os-prober.in: Replace `vbe' with
32315 ${GRUB_VIDEO_BACKEND}.
32316
2a4bfcf0
RM
323172009-12-11 Robert Millan <rmh.grub@aybabtu.com>
32318
32319 * THANKS: Add David Miller.
32320
2a3aa4d5
RM
323212009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
32322
32323 libpciaccess support.
32324
32325 * Makefile.in (LIBPCIACCESS): New variable.
32326 (enable_grub_emu_pci): Likewise.
32327 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
32328 util/pci.c and commands/lspci.c.
32329 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
32330 * configure.ac (grub-emu-pci): New option.
32331 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
32332 (grub_pci_device_unmap_range): Likewise.
32333 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
32334 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
32335 (grub_pci_address_t) [!GRUB_UTIL]: New type.
32336 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
32337 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
32338 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
32339 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
32340 * include/grub/pciutils.h: New file.
32341 * util/pci.c: Likewise.
32342
0ad46fd7 323432009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
32344
32345 * util/misc.c: Don't include <errno.h> twice.
32346
0ad46fd7 323472009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
32348
32349 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
32350 name in an error message.
32351 (grub_biosdisk_rw): Likewise.
32352
2e59983c
VS
323532009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32354
32355 Eliminate NTFS 4Gib barrier.
32356
32357 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
32358 (read_run_data): Likewise.
32359 (grub_ntfs_read_run_list): Likewise.
32360 (grub_ntfs_read_block): Likewise.
32361 (grub_ntfs_iterate_dir): Likewise.
32362 (read_mft): Likewise.
32363 (read_data): Likewise.
32364 Use COM_LOG_LEN.
32365 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
32366 to avoid 64-bit division
32367 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
32368 (grub_ntfs_rlst): Use grub_disk_addr_t.
32369
71ee178a
VS
323702009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32371
32372 Eliminate grub-fstest 4Gib barrier.
32373
32374 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
32375 (read_file): Fix error reporting.
32376
2520d4b8
VS
323772009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32378
32379 Eliminate hexdump 4Gib barrier.
32380
32381 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
32382 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
32383
e1f27065
VS
323842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32385
32386 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
32387 Fixes amarsh bug.
32388
1a0f7f45
RM
323892009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
32390
32391 Remove miscellaneous files in distclean target.
32392
32393 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
32394
c631d9fb
CW
323952009-12-09 Colin Watson <cjwatson@ubuntu.com>
32396
32397 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
32398 if they're already set. This resolves the conflict between my
32399 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
32400 fixing the --grub-probe option again.
32401 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
32402 change on 2009-10-06, so that we now once again source
32403 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32404
7c7b6106
RM
324052009-12-08 Robert Millan <rmh.grub@aybabtu.com>
32406
32407 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
32408 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
32409 `util/devicemap.c'.
32410
e3069ec1
CPE
324112009-12-08 Carles Pina i Estany <carles@pina.cat>
32412
32413 * include/grub/misc.h (grub_printf_): New declaration.
32414 * kern/misc.c (grub_printf_): New definition.
32415 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
32416 instead of `grub_printf' and `_'.
32417 * normal/menu_entry.c (store_completion): Likewise.
32418 (run): Likewise.
32419 (grub_menu_entry_run): Likewise.
32420 * normal/menu_text.c (grub_wait_after_message): Likewise.
32421 (notify_booting): Likewise.
32422 (notify_fallback): Likewise.
32423 (notify_execution_failure): Likewise.
32424
d6ceebf1
CW
324252009-12-07 Colin Watson <cjwatson@ubuntu.com>
32426
32427 * configure.ac: Check for vasprintf.
32428 * util/misc.c (asprintf): Move allocation from here ...
32429 (vasprintf): ... to here. New function.
32430 (xasprintf): New function.
32431 * include/grub/util/misc.h (vasprintf, xasprintf): Add
32432 prototypes.
32433 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
32434 * util/grub-mkfont.c (write_font): Likewise.
32435 * util/grub-probe.c (probe): Likewise.
32436 * util/hostdisk.c (make_device_name): Likewise.
32437
de6daa8b
DM
324382009-12-06 David S. Miller <davem@sunset.davemloft.net>
32439
32440 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
32441 anything even prefixed with 'cdrom' as a cdrom.
32442
0ad46fd7 324432009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
32444
32445 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
32446 mount points.
32447
98d3dc02
CPE
324482009-12-05 Carles Pina i Estany <carles@pina.cat>
32449
32450 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
32451 grub_gettext_msg_list.
32452 (grub_gettext_gettranslation_from_position): Return const char *
32453 and not char *.
a2c1332b 32454 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
32455 returns from the list if existing there.
32456 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
32457 (grub_gettext_delete_list): Delete the list.
32458 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
32459 lang environment variable is changed.
32460 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
32461
b283f108
VS
324622009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32463
32464 Rename kernel.mod to kernel.img.
32465
32466 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
32467 (kernel_mod_EXPORTS): Rename to ...
32468 (kernel_img_EXPORTS): ... this.
32469 (kernel_mod_SOURCES): Rename to ...
32470 (kernel_img_SOURCES): ... this.
32471 (kernel_mod_HEADERS): Rename to ...
32472 (kernel_img_HEADERS): ... this. All users updated.
32473 (kernel_mod_CFLAGS): Rename to ...
32474 (kernel_img_CFLAGS): ... this.
32475 (kernel_mod_ASFLAGS): Rename to ...
32476 (kernel_img_ASFLAGS): ... this.
32477 (kernel_mod_LDFLAGS): Rename to ...
32478 (kernel_img_LDFLAGS): ... this.
32479 * conf/x86_64-efi.rmk: Likewise.
32480 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
32481 (read_kernel_image): ... this. All users updated.
32482 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
32483
69055f8a
CPE
324842009-12-05 Carles Pina i Estany <carles@pina.cat>
32485
32486 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
32487 (print_spaces): New function.
32488 (grub_print_ucs4): New function.
32489 (getstringwidth): New function.
32490 (print_message_indented): New function.
32491 (print_message): Gettexttize strings using print_message_indented.
32492 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
32493 width.
32494 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 32495 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
32496 Gettextize.
32497 * normal/menu_entry.c (store_completion): Cleanup the gettextized
32498 string.
32499 (run): Likewise.
32500 (grub_menu_entry_run): Likewise.
32501 * PO/POTFILES: Add normal/menu_entry.c.
32502
f616f51c
VS
325032009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32504
32505 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
32506
57bbe3be
CPE
325072009-12-05 Carles Pina i Estany <carles@pina.cat>
32508
32509 * util/grub-install.in: Install gettext .mo files.
32510 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
32511
013d67a1
CPE
325122009-12-05 Carles Pina i Estany <carles@pina.cat>
32513
32514 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
32515 grub_dprintf.
32516
fb954db0
RM
325172009-12-05 Robert Millan <rmh.grub@aybabtu.com>
32518
32519 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
32520 non-firmware-dependant one in realmode.S takes precedence.
32521
6b8474f8
RM
325222009-12-04 Robert Millan <rmh.grub@aybabtu.com>
32523
32524 * commands/halt.c: Replace misc arch-specific headers with
32525 `<grub/misc.h>'.
32526 * commands/reboot.c: Likewise.
32527 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
32528 `<grub/misc.h>'.
32529 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
32530 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
32531 (kernel_img_SOURCES): ... to here.
32532
32533 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
32534 * include/grub/i386/pc/init.h: Likewise.
32535 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32536 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32537
32538 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
32539
32540 * include/grub/i386/halt.h: Remove.
32541 * include/grub/i386/reboot.h: Likewise.
32542
32543 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
32544
4b2e6ca2
DM
325452009-12-03 David S. Miller <davem@sunset.davemloft.net>
32546
32547 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
32548 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
32549 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
32550 "progname.h"
32551 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32552 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32553 (usage): Add missing comma in printf.
32554
5239348f
RM
325552009-12-02 Robert Millan <rmh.grub@aybabtu.com>
32556
32557 Use the same reboot approach on i386 coreboot and qemu as we do on
32558 BIOS.
32559
32560 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
32561 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
32562 * kern/i386/reboot.c: Remove.
32563 * include/grub/i386/reboot.h (grub_reboot): Export function.
32564 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
32565 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
32566 0xf000:0xfff0 instead of 0xffff:0x0000.
32567 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
32568 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
32569
ef34cbd4
RM
325702009-11-30 Robert Millan <rmh.grub@aybabtu.com>
32571
32572 Fix $srcdir != $objdir build.
32573
32574 * Makefile.in (po/%.po): Rewrite as ...
32575 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
32576
dc9837ea
ST
325772009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
32578
32579 Fix GNU/Hurd grub-install crash.
32580 * util/grub-probe.c (probe): Try to access `path' only when it is not
32581 NULL.
32582
2f857f98
VS
325832009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32584
32585 Correct module naming.
32586
32587 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32588 (GRUB_MOD_INIT(efi_uga)): ... to this
32589 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32590 (GRUB_MOD_FINI(efi_uga)): ... to this
32591 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32592 (GRUB_MOD_INIT(efi_gop)): ... to this
32593 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32594 (GRUB_MOD_FINI(efi_gop)): ... to this
32595
c5448046
RM
325962009-11-28 Robert Millan <rmh.grub@aybabtu.com>
32597
32598 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
32599 translatable.
32600 (usage): Translate `arg' strings using gettext().
32601 Thanks to Jordi Mallach for the suggestion.
32602
c85184ad
VS
326032009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32604
32605 GOP support. Based on patch from Bean
32606 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32607
32608 * video/efi_gop.c: New file.
32609 * include/grub/efi/graphics_output.h: Likewise.
32610 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
32611 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32612 variables.
32613 * conf/x86_64-efi.rmk: Likewise.
32614
8a4c48d8
VS
326152009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32616
32617 Rename efi_fb to efi_uga.
32618
32619 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32620 'efi_uga.mod'.
32621 (efi_fb_mod_SOURCES): Rename this ...
32622 (efi_uga_mod_SOURCES): ... to this.
32623 (efi_fb_mod_CFLAGS): Rename this ...
32624 (efi_uga_mod_CFLAGS): ... to this.
32625 (efi_fb_mod_LDFLAGS): Rename this ...
32626 (efi_uga_mod_LDFLAGS): ... to this.
32627 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32628 'efi_uga.mod'.
32629 (efi_fb_mod_SOURCES): Rename this ...
32630 (efi_uga_mod_SOURCES): ... to this.
32631 (efi_fb_mod_CFLAGS): Rename this ...
32632 (efi_uga_mod_CFLAGS): ... to this.
32633 (efi_fb_mod_LDFLAGS): Rename this ...
32634 (efi_uga_mod_LDFLAGS): ... to this.
32635 * video/efi_fb.c: Move this ...
32636 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
32637
fb6c1a7b
RM
326382009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32639
32640 * po/README: New file. Explain our PO file workflow.
32641
3bc7896c
RM
326422009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32643
32644 * po/ChangeLog: Remove. Move relevant entries back to ...
32645 * ChangeLog: ... here.
32646 * po/ca.po: Remove (now handled by TLP).
32647 * po/id.po: Likewise.
32648 * po/zh_CN.po: Likewise.
32649 * Makefile.in (LINGUAS): Initialize in a way that supports
32650 empty set.
32651
9ed4841d
RM
326522009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32653
32654 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
32655 reliing on po/LINGUAS.
32656 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
32657 (po/%.po): ... this.
32658
0ad46fd7 326592009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
32660
32661 * util/i386/efi/grub-mkimage.c: Include "progname.h".
32662 (main): Use `program_name' instead of nonexistent `progname'.
32663
e30dd392
FZ
326642009-11-26 Felix Zielcke <fzielcke@z-51.de>
32665
32666 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32667 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
32668
7656de4f
RM
326692009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32670
32671 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32672 commit.
32673 * conf/i386-efi.rmk: Likewise.
32674 * conf/i386-ieee1275.rmk: Likewise.
32675 * conf/powerpc-ieee1275.rmk: Likewise.
32676 * conf/sparc64-ieee1275.rmk: Likewise.
32677 * conf/x86_64-efi.rmk: Likewise.
32678
db77c4d4
FZ
326792009-11-26 Felix Zielcke <fzielcke@z-51.de>
32680
32681 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32682
a755bb04
FZ
326832009-11-26 Felix Zielcke <fzielcke@z-51.de>
32684
32685 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32686
8a4c07fd
RM
326872009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32688
32689 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32690 (grub_mkdevicemap_SOURCES): New variable.
32691 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32692 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32693 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32694 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32695 (grub_mkdevicemap_SOURCES): Remove.
32696 * conf/i386-efi.rmk: Likewise.
32697 * conf/i386-ieee1275.rmk: Likewise.
32698 * conf/i386-pc.rmk: Likewise.
32699 * conf/powerpc-ieee1275.rmk: Likewise.
32700 * conf/sparc64-ieee1275.rmk: Likewise.
32701 * conf/x86_64-efi.rmk: Likewise.
32702 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32703 (usage): Fix strings to use `program_name'.
32704 (main): Initialize gettext.
32705 * util/grub-editenv.c: Likewise.
32706 * util/grub-emu.c: Likewise.
32707 * util/grub-fstest.c: Likewise.
32708 * util/grub-mkdevicemap.c: Likewise.
32709 * util/grub-mkfont.c: Likewise.
32710 * util/grub-mkrelpath.c: Likewise.
32711 * util/grub-pe2elf.c: Likewise.
32712 * util/grub-probe.c: Likewise.
32713 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32714 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32715 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32716
32717 * util/misc.c: Include `"progname.h"'.
32718 (progname): Remove variable.
32719 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32720
6f61ed55
FZ
327212009-11-25 Felix Zielcke <fzielcke@z-51.de>
32722
32723 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32724 printf and print a newline after the menuentry header line.
32725 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32726
f022876b
FZ
327272009-11-25 Felix Zielcke <fzielcke@z-51.de>
32728
32729 autoconf >= 2.60 support $(localedir).
32730
32731 * INSTALL: Note that autoconf 2.60 is required.
32732 * configure.ac (AC_PREREQ): Bump to 2.60.
32733 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32734 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32735
6717926e
YB
327362009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32737
32738 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32739 aclocal is run.
32740
08806a54
RM
327412009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32742
32743 * normal/main.c (grub_normal_read_line): Fix off-by-one
32744 buffer overflow.
32745
13b33fba
RM
327462009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32747
32748 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32749 "parser.grub" in grub_command_execute() call.
32750
4a8572e9
CPE
327512009-11-24 Carles Pina i Estany <carles@pina.cat>
32752
32753 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32754 * conf/i386-efi.rmk: Likewise.
32755 * conf/i386-ieee1275.rmk: Likewise.
32756 * conf/i386-pc.rmk: Likewise.
32757 * conf/powerpc-ieee1275.rmk: Likewise.
32758 * conf/sparc64-ieee1275.rmk: Likewise.
32759 * conf/x86_64-efi.rmk: Likewise.
32760 * gettext/gettex.c: Include <grub/i18n.h>.
32761 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32762 here ...
32763 * include/grub/i18n.h: ... to here
32764 * include/grub/i18n.h: ... to here.
32765 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 32766 (grub_gettext_dummy): Move above user.
4a8572e9 32767
bee48093
FZ
327682009-11-24 Felix Zielcke <fzielcke@z-51.de>
32769
32770 * util/Makefile.in (install-local): Convert a `for' into a normal
32771 shell expansion.
32772
a031e91c
RM
327732009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32774
32775 * autogen.sh: Add automake call.
32776 * config.guess: Remove.
32777 * config.sub: Likewise.
32778 * install-sh: Likewise.
32779
26bec39d
FZ
327802009-11-24 Felix Zielcke <fzielcke@z-51.de>
32781
32782 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32783
8e2532fd
FZ
327842009-11-24 Felix Zielcke <fzielcke@z-51.de>
32785
32786 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32787 function to a normal shell `for'.
32788
fefa1b7d
FZ
327892009-11-24 Felix Zielcke <fzielcke@z-51.de>
32790
32791 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32792
4501250b
FZ
327932009-11-24 Felix Zielcke <fzielcke@z-51.de>
32794
32795 * util/grub-mkrelpath.c: New file.
32796 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32797 (grub_mkrelpath_SOURCES): New variable.
32798 * include/grub/util/misc.h: New function prototype.
32799 * util/misc.c (make_system_path_relative_to_its_root): New function.
32800
32801 * util/grub-mkconfig_lib.in (bindir): New variable.
32802 (grub_mkrelpath): Likewise.
32803 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
32804
32805 * util/probe.c (probe): Make the file path relative to its root.
32806 Change a info message to use the GRUB path. Enable again the
32807 check if we can read the file with GRUB facilities.
32808
32809 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
32810 to its root.
32811
11d9778b
FZ
328122009-11-24 Felix Zielcke <fzielcke@z-51.de>
32813
32814 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32815 platform.
32816
4465287d
FZ
328172009-11-24 Felix Zielcke <fzielcke@z-51.de>
32818
32819 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32820 strncmp().
32821
62b47f22
FZ
328222009-11-24 Felix Zielcke <fzielcke@z-51.de>
32823
32824 * util/getroot.c (grub_util_is_dmraid): New function.
32825 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32826 devices as normal ones, not as LVM.
32827
1eafb9b9 328282009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
32829
32830 * conf/common.rmk: Add grub-gettext_lib target and updates
32831 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
32832 LDFLAGS.
32833 * gettext/gettext.c: New file. (Reads mo files).
32834 * include/grub/file.h (grub_file_pread): New prototype.
32835 * include/grub/i18n.h (_): New prototype.
32836 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
32837 prototypes.
32838 * kern/misc.c (grub_gettext_dummy): New function.
32839 * normal/menu_text.c: Include <grub/i18n.h>.
32840 * normal/menu_text.c (print_timeout): Gettexttize string.
32841 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
32842 * po/POTFILES: Add `normal/menu_text.c'.
32843 * po/ca.po: Add new translations.
c3ea6bd4
CPE
32844 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32845 gettext module and defines locale_dir and lang in grub.cfg.
32846 * NEWS: Add gettext support.
32847
0fdb2568
RM
328482009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32849
32850 * util/hostdisk.c: Include `<grub/i18n.h>'.
32851 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32852 (make_device_name): Rewrite using asprintf.
32853 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32854 (find_system_device): If a device is not found, generate one just
32855 by reusing the OS path name.
32856 (read_device_map): Make it permissible for device.map not to exist.
32857
f515aa62
RM
328582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32859
32860 * script/sh/execute.c: Move from here ...
32861 * script/execute.c: ... to here. Update all users.
32862 * script/sh/function.c: Move from here ...
32863 * script/function.c: ... to here. Update all users.
32864 * script/sh/lexer.c: Move from here ...
32865 * script/lexer.c: ... to here. Update all users.
32866 * script/sh/main.c: Move from here ...
32867 * script/main.c: ... to here. Update all users.
32868 * script/sh/parser.y: Move from here ...
32869 * script/parser.y: ... to here. Update all users.
32870 * script/sh/script.c: Move from here ...
32871 * script/script.c: ... to here. Update all users.
32872
f84b481b
RM
328732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32874
32875 * configure.ac: Detect all `emu' platforms. Define
32876 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32877 --enable-grub-emu logic. Disable include/grub/machine
32878 symlink on `emu' platforms.
32879
32880 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32881 * gensymlist.sh.in: Likewise.
32882
32883 * include/grub/i386/coreboot/machine.h: Remove file.
32884 * include/grub/i386/efi/machine.h: Likewise.
32885 * include/grub/i386/ieee1275/machine.h: Likewise.
32886 * include/grub/i386/pc/machine.h: Likewise.
32887 * include/grub/i386/qemu/machine.h: Likewise.
32888 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32889 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32890 * include/grub/x86_64/efi/machine.h: Likewise.
32891
32892 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32893 * commands/halt.c: Likewise.
32894 * commands/reboot.c: Likewise.
32895 * include/grub/autoefi.h: Likewise.
32896 * include/grub/i386/at_keyboard.h: Likewise.
32897 * include/grub/i386/kernel.h: Likewise.
32898 * include/grub/i386/loader.h: Likewise.
32899 * include/grub/i386/pc/memory.h: Likewise.
32900 * kern/dl.c: Likewise.
32901 * kern/i386/coreboot/init.c: Likewise.
32902 * loader/i386/bsd.c: Likewise.
32903 * loader/i386/linux.c: Likewise.
32904 * loader/multiboot_loader.c: Likewise.
32905 * term/i386/pc/serial.c: Likewise.
32906 * term/usb_keyboard.c: Likewise.
32907
32908 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32909 `<grub/machine/machine.h>'
32910 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32911 * util/misc.c: Remove `<grub/machine/machine.h>' and
32912 `<grub/machine/time.h>'.
32913
32914 * Makefile.in (enable_grub_emu): Remove variable.
32915 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32916
32917 * conf/any-emu.rmk: New file.
32918 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32919 (grub_emu_init.c): Move from here ...
32920 * conf/any-emu.rmk: ... to here.
32921
32922 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32923 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32924 * conf/any-emu.rmk: ... to here.
32925
4efeab03
RM
329262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32927
32928 * include/grub/parser.h (grub_parser_register): Document need
32929 of `name' parameter.
32930 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32931 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32932 "sh" to "grub".
32933
ea1dd8bf
RM
329342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32935
32936 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32937 `$(XGETTEXT)'.
32938 * include/grub/i18n.h (N_): New macro.
32939 * util/mkisofs/mkisofs.h: Likewise.
32940 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32941 around N_().
32942 (usage): Use gettext() to translate help strings when printing them.
32943
0c140626
RM
329442009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32945
32946 Based on patch from Bean
32947 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32948
32949 * video/efi_fb.c: New file.
32950 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32951 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32952 variables.
32953 * conf/x86_64-efi.rmk: Likewise.
32954
87d58298
RM
329552009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32956
32957 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32958 * util/i386/pc/grub-setup.c: Likewise.
32959
994cc3a3
ST
329602009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32961
32962 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32963 <hurd/fs.h>
32964 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32965 file_get_storage_info to implement grub_guess_root_device.
32966
26a61d6a
FZ
329672009-11-21 Felix Zielcke <fzielcke@z-51.de>
32968
32969 * Makefile.in (target): Use make's builtin $(shell) function
32970 instead of calling directly $(SHELL) to create the locale directories,
32971 inside the $(foreach) function.
32972
74ff1dd5
FZ
329732009-11-21 Felix Zielcke <fzielcke@z-51.de>
32974
32975 * util/grub-mkrescue.in: Print an error and usage if output option
32976 has not been given.
32977
0b787d0e
FZ
329782009-11-21 Felix Zielcke <fzielcke@z-51.de>
32979
32980 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32981 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32982 root and /boot are on different devices.
32983
1164b270
RM
329842009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32985
32986 Fix build for srcdir != objdir.
32987
32988 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32989 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32990 $(srcdir).
32991 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32992 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32993 reference for input.
32994
13774a2f
RM
329952009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32996
32997 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32998 or hardlinking it). Remove -J option, Joliet is not compatible with
32999 multiple source directories.
33000
efda854e
RM
330012009-11-21 Carles Pina i Estany <carles@pina.cat>
330022009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33003
33004 * util/grub-mkrescue.in: Recognize `--override-directory' option.
33005 (process_input_dir): New function. Process an arbitrary input
33006 directory.
33007 Misc adjustments to support both "override mode" and system-wide mode.
33008
6c09890c
FZ
330092009-11-20 Felix Zielcke <fzielcke@z-51.de>
33010
33011 * configure.ac (UNIFONT_BDF): Rename to ...
33012 (FONT_SOURCE): ... this. Update all users.
33013
a797824f
FZ
330142009-11-20 Felix Zielcke <fzielcke@z-51.de>
33015
33016 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
33017 to the list of unifont files to look for.
33018
cd4f42b0
RM
330192009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33020
33021 Patch from Joe Auricchio <jauricchio@gmail.com>
33022 * commands/minicmd.c (grub_mini_cmd_clear): New function.
33023 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
33024 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
33025
393c783d
FZ
330262009-11-19 Felix Zielcke <fzielcke@z-51.de>
33027
33028 * Makefile.in (install-local): Add a missing backslash.
33029
b2f1e327
FZ
330302009-11-19 Felix Zielcke <fzielcke@z-51.de>
33031
33032 * include/grub/x86_64/io.h: New file.
33033
f577f7a0
RM
330342009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33035
33036 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
33037 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
33038 Include `"progname.h"'.
33039 (main): Initialize gettext.
33040 * util/i386/pc/grub-setup.c: Gettexttize.
33041 * util/i386/pc/grub-mkimage.c: Likewise.
33042
33043 * Makefile.in (po/*.po): Redefine as ...
33044 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
33045
3bc7896c
RM
33046 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
33047
c37943b6
RM
330482009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33049
33050 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
33051 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
33052 (program_name): Remove.
33053 (main): Initialize gettext support.
6323f705
RM
33054 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
33055 Include `<libintl.h>'.
33056 (_): New macro.
c37943b6
RM
33057
33058 * util/mkisofs/eltorito.c: Gettexttize.
33059 * util/mkisofs/joliet.c: Likewise.
33060 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
33061 * util/mkisofs/multi.c: Likewise.
33062 * util/mkisofs/rock.c: Likewise.
33063 * util/mkisofs/tree.c: Likewise.
33064 * util/mkisofs/write.c: Likewise.
33065
3bc7896c
RM
33066 * po/POTFILES: Update with new files.
33067
5ce77c6e
RM
330682009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33069
33070 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
33071 * util/mkisofs/iso9660.h: Likewise.
33072 * util/mkisofs/joliet.c: Likewise.
33073 * util/mkisofs/mkisofs.c: Likewise.
33074 * util/mkisofs/mkisofs.h: Likewise.
33075 * util/mkisofs/rock.c: Likewise.
33076 * util/mkisofs/tree.c: Likewise.
33077 * util/mkisofs/write.c: Likewise.
33078
33079 * util/mkisofs/eltorito.c (rcsid): Remove.
33080 * util/mkisofs/hash.c: Likewise.
33081 * util/mkisofs/joliet.c: Likewise.
33082 * util/mkisofs/name.c: Likewise.
33083 * util/mkisofs/rock.c: Likewise.
33084 * util/mkisofs/tree.c: Likewise.
33085 * util/mkisofs/write.c: Likewise.
33086
1dabbc77
RM
330872009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33088
33089 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
33090 instead of static allocation.
33091 * util/mkisofs/match.h: Likewise.
33092
633877cb
RM
330932009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33094
3bc7896c
RM
33095 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
33096 and `util/grub.d/10_linux.in'.
633877cb
RM
33097 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
33098 translatable Shell files.
33099
af1c0c85
RM
331002009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33101
33102 * Makefile.in ($(srcdir)/aclocal.m4): New target.
33103
769ae37b
RM
331042009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33105
33106 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 33107 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
33108 * util/grub.d/10_kfreebsd.in (bindir): New variable.
33109 Add gettext initialization.
33110 (kfreebsd_entry): Make menuentry output translatable.
33111
331122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33113
33114 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
33115 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
33116 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
33117 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
33118 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 33119 * po/LINGUAS: New file.
769ae37b
RM
33120
331212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33122
33123 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
33124 other things).
33125 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
33126 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
33127 bindtextdomain() calls for gettext initialization.
33128
331292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33130
33131 * gnulib/progname.c: New file (imported from Gnulib).
33132 * gnulib/progname.h: Likewise.
33133 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33134 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
33135 (usage): Replace `progname' with `program_name'.
33136 (main): Use set_program_name() for program name initialization.
33137
331382009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33139
33140 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
33141 from here ...
33142 * Makefile.in (CPPFLAGS): ... to here.
33143
331442009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33145
33146 * aclocal.m4: Move from here ...
33147 * acinclude.m4: ... to here.
33148 * autogen.sh: Add call to `aclocal'.
33149 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
33150
331512009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33152
33153 * Makefile.in (CLEANFILES): Add `po/*.mo'.
33154 (LINGUAS): New variable.
33155 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
33156 (install-local): Install MO files.
33157 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
33158 * include/grub/i18n.h: New file.
3bc7896c
RM
33159 * po/POTFILES: New file.
33160 * po/ca.po: New file.
769ae37b
RM
33161 * util/grub.d/10_linux.in (bindir): New variable.
33162 Add gettext initialization.
33163 (linux_entry): Make menuentry output translatable.
33164 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
33165 (usage): Make --help output translatable.
33166 (main): Initialize gettext.
33167
02c0a6ad
RM
331682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33169
33170 * import_gcry.py: New file (written by Vladimir with minor
33171 adjustments).
33172 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
33173 ciphers.
33174 * INSTALL: Document that Python is required for bootstrap.
33175
331762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33177
33178 Import ciphers from libgcrypt 1.4.4.
33179
33180 * lib/libgcrypt/cipher/ChangeLog
33181 * lib/libgcrypt/cipher/ac.c
33182 * lib/libgcrypt/cipher/arcfour.c
33183 * lib/libgcrypt/cipher/bithelp.h
33184 * lib/libgcrypt/cipher/blowfish.c
33185 * lib/libgcrypt/cipher/camellia-glue.c
33186 * lib/libgcrypt/cipher/camellia.c
33187 * lib/libgcrypt/cipher/camellia.h
33188 * lib/libgcrypt/cipher/cast5.c
33189 * lib/libgcrypt/cipher/cipher.c
33190 * lib/libgcrypt/cipher/crc.c
33191 * lib/libgcrypt/cipher/des.c
33192 * lib/libgcrypt/cipher/dsa.c
33193 * lib/libgcrypt/cipher/ecc.c
33194 * lib/libgcrypt/cipher/elgamal.c
33195 * lib/libgcrypt/cipher/hash-common.c
33196 * lib/libgcrypt/cipher/hash-common.h
33197 * lib/libgcrypt/cipher/hmac-tests.c
33198 * lib/libgcrypt/cipher/md.c
33199 * lib/libgcrypt/cipher/md4.c
33200 * lib/libgcrypt/cipher/md5.c
33201 * lib/libgcrypt/cipher/primegen.c
33202 * lib/libgcrypt/cipher/pubkey.c
33203 * lib/libgcrypt/cipher/rfc2268.c
33204 * lib/libgcrypt/cipher/rijndael-tables.h
33205 * lib/libgcrypt/cipher/rijndael.c
33206 * lib/libgcrypt/cipher/rmd.h
33207 * lib/libgcrypt/cipher/rmd160.c
33208 * lib/libgcrypt/cipher/rsa.c
33209 * lib/libgcrypt/cipher/seed.c
33210 * lib/libgcrypt/cipher/serpent.c
33211 * lib/libgcrypt/cipher/sha1.c
33212 * lib/libgcrypt/cipher/sha256.c
33213 * lib/libgcrypt/cipher/sha512.c
33214 * lib/libgcrypt/cipher/tiger.c
33215 * lib/libgcrypt/cipher/twofish.c
33216 * lib/libgcrypt/cipher/whirlpool.c
33217
af2f93ac
RM
332182009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33219
33220 Fix build for systems without error().
33221
33222 * gnulib/error.c: New file (imported from Gnulib).
33223 * gnulib/error.h: Likewise.
33224 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
33225 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
33226 (this variable is now used by error()).
33227
73fb3dd5
FZ
332282009-11-16 Felix Zielcke <fzielcke@z-51.de>
33229
814f5e96
FZ
33230 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
33231 instead of relying that char is signed.
73fb3dd5 33232
a691ca33
VS
332332009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
33234
33235 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
33236 blocksize different from specified.
33237 (grub_pxefs_read): Likewise.
33238
2af8f0f4
FZ
332392009-11-16 Felix Zielcke <fzielcke@z-51.de>
33240
33241 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
33242
33243 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
33244 (grub_ata_readwrite): Likewise. Update 2 format strings.
33245 (grub_atapi_read): Likewise.
33246
33247 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
33248 * conf/i386.rmk (pkglib_MODULES): ... to here ...
33249 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
33250 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
33251 (ata_mod_LDFLAGS): Move from here ...
33252 * conf/i386.rmk: ... to here ...
33253 * conf/x86_64-efi.rmk: ... and here.
33254 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
33255 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
33256
83bdecaf
RM
332572009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33258
33259 Relicense multiboot.h, with RMS' blessing.
33260
33261 * include/multiboot.h: Change to X11 license.
33262
fd6fd3d7
RM
332632009-11-15 Robert Millan <rmh.grub@aybabtu.com>
33264
33265 Support --version in grub-mkisofs.
33266
33267 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
33268 (OPTION_VERSION): New macro.
33269 (ld_options): Recognize --version.
33270 (usage): Move `program_name' from here ...
33271 (program_name): ... to here. Add `static' qualifier.
33272 (main): Recognize `OPTION_VERSION'.
33273
16a88c49
FZ
332742009-11-15 Felix Zielcke <fzielcke@z-51.de>
33275
33276 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
33277 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
33278
a4158476
RM
332792009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33280
33281 Fix help2man generation for mkisofs.
33282
33283 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
33284 (usage): Send output to stdout (rather than stderr).
33285
fc2208b0
RM
332862009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33287
33288 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
33289 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33290 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
33291 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33292 (bin_SCRIPTS): Add `grub-mkfloppy'.
33293 (grub_mkfloppy_SOURCES): New variable.
33294
33295 * util/grub-mkrescue.in: New file.
33296 * util/i386/pc/grub-mkfloppy.in: New file.
33297
33298 * util/i386/coreboot/grub-mkrescue.in: Remove.
33299 * util/i386/pc/grub-mkrescue.in: Remove.
33300
8d0edf4a
RM
333012009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33302
33303 * include/grub/multiboot.h (struct grub_multiboot_header): Move
33304 from here ...
33305 * include/multiboot.h (struct multiboot_header): ... to here. Update
33306 all users.
33307 * include/grub/multiboot.h (struct grub_multiboot_info): Move
33308 from here ...
33309 * include/multiboot.h (struct multiboot_info): ... to here. Update
33310 all users.
33311 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
33312 from here ...
33313 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
33314 Update all users.
33315 * include/grub/multiboot.h (struct grub_mod_list): Move
33316 from here ...
33317 * include/multiboot.h (struct multiboot_mod_list): ... to here.
33318 Update all users.
33319
a73f5969
RM
333202009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33321
33322 * include/multiboot2.h (multiboot_word): Rename from this ...
33323 (multiboot2_word): ... to this. Update all users.
33324 (multiboot_header): Rename from this ...
33325 (multiboot2_header): ... to this. Update all users.
33326 (multiboot_tag_header): Rename from this ...
33327 (multiboot2_tag_header): ... to this. Update all users.
33328 (multiboot_tag_start): Rename from this ...
33329 (multiboot2_tag_start): ... to this. Update all users.
33330 (multiboot_tag_name): Rename from this ...
33331 (multiboot2_tag_name): ... to this. Update all users.
33332 (multiboot_tag_module): Rename from this ...
33333 (multiboot2_tag_module): ... to this. Update all users.
33334 (multiboot_tag_memory): Rename from this ...
33335 (multiboot2_tag_memory): ... to this. Update all users.
33336 (multiboot_tag_unused): Rename from this ...
33337 (multiboot2_tag_unused): ... to this. Update all users.
33338 (multiboot_tag_end): Rename from this ...
33339 (multiboot2_tag_end): ... to this. Update all users.
33340
1c8927f0
RM
333412009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33342
33343 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
33344 this platform we should support Multiboot1 first.
33345
33346 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
33347 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
33348 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
33349
6e1e0d89
RM
333502009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33351
33352 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
33353 of write calls (converting them to fwrite() if they aren't already).
33354 (get_torito_desc): Likewise.
33355 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
33356
7f2b34d8
RM
333572009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33358
33359 * util/i386/pc/grub-install.in: Move from here ...
33360 * util/grub-install.in: ... to here. Update all users.
33361
c0ef3311
CW
333622009-11-11 Colin Watson <cjwatson@ubuntu.com>
33363
33364 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
33365
e1f240ff
RM
333662009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33367
33368 Support for El Torito without floppy emulation.
33369
33370 * util/mkisofs/eltorito.c: Include `<errno.h>'.
33371 (init_boot_catalog): Improve error handling.
33372 (get_torito_desc): Don't use floppy emulation unless requested by
33373 user. Patch boot information table when requested via
33374 `-boot-info-table'.
33375 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
33376 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
33377 (use_boot_info_table): New variables.
33378 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
33379 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
33380 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
33381 `--eltorito-emul-floppy'.
33382 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
33383 and `OPTION_ELTORITO_EMUL_FLOPPY'.
33384 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
33385 (use_boot_info_table, get_731): New prototypes.
33386 * util/mkisofs/write.c (get_731): New function.
33387
af7d4de5
FZ
333882009-11-11 Felix Zielcke <fzielcke@z-51.de>
33389
33390 Fix the generation of the man page.
33391
33392 * util/pc/i386/grub-install.in: Source
33393 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33394
2c55dbc0
RM
333952009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33396
33397 Large file support for grub-mkisofs.
33398
33399 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
33400 * util/mkisofs/mkisofs.c (next_extent, last_extent)
33401 (session_start): Upgrade type to `uint64_t'. Update all users.
33402 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
33403 (struct directory_entry): Upgrade type of `starting_block' and
33404 `size' to `uint64_t'. Update all users.
33405 (struct deferred): Remove unused structure.
33406 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
33407 Update all users.
33408 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
33409 file is larger than `UINT32_MAX'.
33410 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
33411 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
33412 return value.
33413 (struct deferred_write): Upgrade type of `extent' and `size' to
33414 `uint64_t'. Update all users.
33415 (last_extent_written): Upgrade type to `uint64_t'. Update all
33416 users.
33417 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
33418 Update all users. Upgrade type of `remain' to `int64_t' and
33419 `use' to `size_t'. Use error() to handle fread() errors.
33420 (write_files): Rely on write_one_file() rather than calling
33421 xfwrite() directly.
33422
6a9cead5
FZ
334232009-11-09 Felix Zielcke <fzielcke@z-51.de>
33424
33425 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
33426
4825d790
RM
334272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33428
33429 * util/mkisofs/fnmatch.c: Remove.
33430 * util/mkisofs/getopt1.c: Likewise.
33431 * util/mkisofs/getopt.c: Likewise.
33432 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
33433 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
33434 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
33435 `gnulib/getopt1.c' and `gnulib/getopt.c'.
33436 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
33437
33438 * configure.ac: Detect `mingw32msvc' host_os.
33439 Check for lstat(), getuid() and getgid().
33440
33441 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
33442 instances of `u_char' with `uint8_t'.
33443
33444 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
33445 [!HAVE_GETUID] (getuid): New function (stub).
33446 [!HAVE_GETGID] (getgid): Likewise.
33447 [!HAVE_LSTAT] (lstat): Likewise.
33448 [!S_IROTH] (S_IROTH): New macro (dummy).
33449 [!S_IRGRP] (S_IRGRP): Likewise.
33450
84b860d8
RM
334512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33452
33453 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
33454 conditional expression).
33455
66e9b712
RM
334562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33457
33458 Import from Gnulib.
33459
33460 * gnulib/fnmatch.c: New file.
33461 * gnulib/fnmatch.h: Likewise.
33462 * gnulib/fnmatch_loop.c: Likewise.
33463 * gnulib/getopt.c: Likewise.
33464 * gnulib/getopt.h: Likewise.
33465 * gnulib/getopt1.c: Likewise.
33466 * gnulib/getopt_int.h: Likewise.
33467 * gnulib/gettext.h: Likewise.
33468
34f4a5b0
RM
334692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33470
33471 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
33472 * normal/handler.c (read_handler_list): Likewise.
33473
ac451143
RM
334742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33475
33476 Misc cleanup.
33477
33478 * kern/command.c (grub_register_command_prio): Use
33479 grub_zalloc() instead of explicitly zeroing data.
33480 * kern/list.c: Include `<grub/mm.h>'.
33481 (grub_named_list_find): Replace `0' with `NULL'.
33482 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
33483 (fs_module_list): Change type to `grub_named_list_t'. Update all
33484 users.
33485 * normal/dyncmd.c (read_command_list): Add space between function
33486 call and parenthesis.
33487 * normal/handler.c (read_handler_list): Likewise.
33488
4089b167
RM
334892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33490
33491 * normal/auth.c (punishment_delay): Moved from here ...
33492 (grub_auth_strcmp): ... to here (inside function).
33493
325f5037
RM
334942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33495
33496 * include/grub/list.h (struct grub_named_list): Remove `const'
33497 qualifier from `name'.
33498 (struct grub_prio_list): Likewise.
33499
7aea29a3
RM
335002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33501
33502 * normal/auth.c: Include `<grub/time.h>'.
33503 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
33504
3fd6f044
RM
335052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33506
33507 * normal/auth.c (punishment_delay): New variable.
33508 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
33509 (grub_auth_check_authentication): Punish failed login attempts with
33510 an incremental (2^N) delay.
33511
a4cd68e4
RM
335122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33513
33514 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
33515 path with $(srcdir).
33516
7ad12f43
VS
335172009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33518
33519 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
33520
c1129f03
RM
335212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33522
33523 * util/i386/coreboot/grub-mkrescue.in: New file.
33524 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
33525 variables.
33526
33527 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
33528 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
33529 * configure.ac: Add header and function checks to satisfy grub-mkisofs
33530 requirements.
33531 * util/mkisofs/defaults.h: New file.
33532 * util/mkisofs/eltorito.c: Likewise.
33533 * util/mkisofs/exclude.h: Likewise.
33534 * util/mkisofs/fnmatch.c: Likewise.
33535 * util/mkisofs/getopt.c: Likewise.
33536 * util/mkisofs/getopt1.c: Likewise.
33537 * util/mkisofs/hash.c: Likewise.
33538 * util/mkisofs/include/fctldefs.h: Likewise.
33539 * util/mkisofs/include/mconfig.h: Likewise.
33540 * util/mkisofs/include/prototyp.h: Likewise.
33541 * util/mkisofs/include/statdefs.h: Likewise.
33542 * util/mkisofs/iso9660.h: Likewise.
33543 * util/mkisofs/joliet.c: Likewise.
33544 * util/mkisofs/match.c: Likewise.
33545 * util/mkisofs/match.h: Likewise.
33546 * util/mkisofs/mkisofs.c: Likewise.
33547 * util/mkisofs/mkisofs.h: Likewise.
33548 * util/mkisofs/multi.c: Likewise.
33549 * util/mkisofs/name.c: Likewise.
33550 * util/mkisofs/rock.c: Likewise.
33551 * util/mkisofs/tree.c: Likewise.
33552 * util/mkisofs/write.c: Likewise.
33553
ec8bb77d
VS
335542009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33555
33556 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
33557 being insecure.
33558
3716b12c
RM
335592009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33560
33561 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
33562 `grub-mkimage' (and use $0 when possible).
33563
b97b7b91
RM
335642009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33565
33566 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
33567 error message for excessively large memory map.
33568
04114812
RM
335692009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33570
33571 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
33572 executable bit.
33573
e4eb2373
RM
335742009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33575
33576 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
33577 message for coreboot users.
33578
c926e1d5 335792009-11-07 Robert Millan <rmh.grub@aybabtu.com>
33580
33581 Fix build with GNU gold.
33582
33583 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
33584 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
33585 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
33586 link addresses.
33587 * aclocal.m4: Likewise.
33588
86e5b1db 335892009-11-04 Felix Zielcke <fzielcke@z-51.de>
33590
33591 * configure.ac (AC_PREREQ): Bump to 2.59d.
33592 * INSTALL: Make it more clear when Autoconf and Ruby are
33593 needed and when to run `./autogen.sh'.
33594
246cd78f 335952009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
33596
33597 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
33598 OSes.
33599
4f9dfb37 336002009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33601
33602 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
33603
b82bd5e1 336042009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33605
33606 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
33607 giving it to GNU Mach.
33608
ff1a9bca 336092009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33610
33611 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
33612 GNU partition number to get internal GRUB partition number.
33613
61697d9c 336142009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33615
33616 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
33617 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
33618
a50569e1 336192009-11-01 Robert Millan <rmh.grub@aybabtu.com>
33620
33621 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
33622 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
33623 case.
33624
5b153867 336252009-11-01 Felix Zielcke <fzielcke@z-51.de>
33626
33627 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
33628
d9e2cd70 336292009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33630
33631 Fix build problem.
33632
33633 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
33634 `-isystem=$(srcdir)/include'.
33635
805111a4 336362009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33637
33638 * util/i386/pc/grub-install.in: Remove hint that device.map should be
33639 checked (grub-install doesn't currently rely on it).
33640
fa6e945f 336412009-10-29 Robert Millan <rmh.grub@aybabtu.com>
33642
33643 Revert SVN r2660.
33644
33645 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
33646 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33647 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
33648 * conf/i386-ieee1275.rmk: Likewise.
33649 * conf/i386-pc.rmk: Likewise.
33650 * conf/powerpc-ieee1275.rmk: Likewise.
33651 * conf/sparc64-ieee1275.rmk: Likewise.
33652 * conf/x86_64-efi.rmk: Likewise.
33653
cee15086 336542009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33655
33656 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
33657
95b9239e 336582009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33659
33660 * include/grub/misc.h: Stop checking for APPLE_CC.
33661
2ed19dfd 336622009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33663
33664 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
33665 doesn't cause an infinite call loop.
33666
fdcdde19 336672009-10-28 Felix Zielcke <fzielcke@z-51.de>
33668
33669 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
33670 strings.
33671
cefabfe1 336722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33673
33674 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33675 variable.
33676 * Makefile.in: Likewise.
33677
ed96ab6d 336782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33679
33680 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33681
0579b753 336822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33683
33684 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33685
478df409 336862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33687
33688 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33689
083d1679 336902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33691
33692 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33693 from here ...
33694 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33695
5947ae32 336962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33697
33698 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33699 in $(MAKEINFO) invocation. This makes it clear in output that
33700 errors are being ignored.
33701
94180ff6 337022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33703
33704 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33705 from here ...
33706 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33707 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33708 * conf/i386-ieee1275.rmk: Likewise.
33709 * conf/i386-pc.rmk: Likewise.
33710 * conf/powerpc-ieee1275.rmk: Likewise.
33711 * conf/sparc64-ieee1275.rmk: Likewise.
33712 * conf/x86_64-efi.rmk: Likewise.
33713
9031b03a 337142009-10-26 Colin Watson <cjwatson@ubuntu.com>
33715
33716 * util/grub-editenv.c (main): If only a command is given, use
33717 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33718 (usage): FILENAME is now optional and has a default.
33719
e4f6809b 337202009-10-26 Colin Watson <cjwatson@ubuntu.com>
33721
33722 Improve grub-mkconfig performance when there are several menu
33723 entries on a single filesystem.
33724
33725 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33726 prepare_grub_to_access_device.
33727 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33728 * util/grub.d/30_os-prober.in: Likewise.
33729
67937d4d 337302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33731
33732 * util/grub.d/10_freebsd.in: Remove.
33733 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33734 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33735
ee3756cc 337362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33737
5c35048e 33738 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 33739
4dea1c6f 337402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33741
33742 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33743 grub_util_error() call.
33744
042484d7 337452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33746
33747 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33748 `reserved_first_sector' member.
33749 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33750 `reserved_first_sector' to 1.
33751 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33752 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33753 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33754 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33755 filesystems which begin at first sector.
33756 (options): New option --skip-fs-probe.
33757 (main): Handle --skip-fs-probe and pass it to setup().
33758
d64448a7 337592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33760
33761 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33762 (memset): Fix function prototype.
33763
508d42ec 337642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
337652009-10-25 Vasily Averin <vvs@parallels.com>
33766
33767 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33768 `dirent.direntlen == 0'.
33769
b240e30c 337702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33771
33772 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33773 `cpio'.
33774 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33775
346e7fbe 337762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33777
33778 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33779 `__trampoline_setup' and `__ucmpdi2'.
33780 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33781 that libgcc provides.
33782
cdb308b0 337832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33784
33785 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33786 * include/grub/sparc64/libgcc.h (memset): Likewise.
33787 * include/grub/misc.h (memset, memcmp): New function prototypes.
33788
fb26abc2 337892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33790
33791 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33792 `cpio'.
33793 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33794
f6693890 337952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33796
33797 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33798 * docs/grub.cfg: Compensate for recent change in multiboot
33799 loader (since 2009-08-14 it won't pass filename to payload).
33800 * util/grub.d/10_hurd.in: Likewise.
33801
0933cdc0 338022009-10-21 Felix Zielcke <fzielcke@z-51.de>
33803
33804 * config.guess: Update to latest version from config git
33805 repository.
33806 * config.sub: Likewise.
33807
3b2fe8c2 338082009-10-20 Robert Millan <rmh.grub@aybabtu.com>
33809
33810 Fix build on sparc64.
33811
33812 * configure.ac: Perform checks for libgcc symbols before
33813 adding `-nostdlib' to LDFLAGS.
33814
46695a62 338152009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33816
33817 Let user specify OpenBSD root device.
33818
33819 * loader/i386/bsd.c (openbsd_root): New variable.
33820 (openbsd_opts): New option 'root'.
33821 (OPENBSD_ROOT_ARG): New macro.
33822 (grub_openbsd_boot): Use 'openbsd_root'.
33823 (grub_cmd_openbsd): Fill 'openbsd_root'.
33824
d2b6b7fc 338252009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33826
33827 * NEWS: Misc adjustments.
33828
421bd7ac 338292009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33830
33831 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
33832
f1d29d87 338332009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33834
33835 * configure.ac: Bump version to 1.97.
33836
6f3cd880 338372009-10-16 Colin Watson <cjwatson@ubuntu.com>
33838
33839 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
33840 -mno-3dnow on x86 architectures. Some toolchains enable these
33841 features by default, but they rely on registers that aren't enabled
33842 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
33843
035f7122 338442009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33845
33846 Make entry text a bit more readable.
33847
33848 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33849
44998e58 338502009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33851
33852 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33853
cd2851b3 338542009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33855
33856 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33857 operations.
33858
c6f3b249 338592009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33860
33861 * configure.ac: Add missing dollar.
33862
6b5886ba 338632009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33864
33865 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33866
33867 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33868 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33869 exports.
33870 * include/grub/sparc64/libgcc.h: Likewise. Use
33871 preprocessor conditionals.
33872
e9d66f6d 338732009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33874
33875 * conf/common.rmk (grub-dumpbios): Remove rule.
33876 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33877 * util/grub-dumpbios.in: Remove file.
33878
9155bc17 338792009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33880
33881 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33882 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33883
33884 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33885 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33886 users.
33887
33888 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33889 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
33890 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
33891 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33892 users.
33893
bf7f7a18 338942009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33895
33896 * term/tparm.c: Switch to GPLv3.
33897
86564c26 338982009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33899
33900 * include/grub/i386/cpuid.h: Add header protection.
33901
5c936493 339022009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33903
33904 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33905
33906 * include/grub/i386/cpuid.h: New file.
33907 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33908 (has_longmode): Rename to ...
33909 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33910 `static' attribute.
33911 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33912 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33913 on a CPU that doesn't implement AMD64 instruction set.
33914
186e7cf2 339152009-10-06 Colin Watson <cjwatson@ubuntu.com>
33916
33917 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33918 that version.texi is rebuilt on version number changes.
33919
83b65c4a 339202009-10-06 Colin Watson <cjwatson@ubuntu.com>
33921
33922 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33923 Fixes bug #27602.
33924
d244281c 339252009-10-06 Colin Watson <cjwatson@ubuntu.com>
33926
33927 * util/i386/pc/grub-install.in: Source
33928 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33929 that the --grub-probe option will work.
33930 * util/sparc64/ieee1275/grub-install.in: Likewise.
33931
da25306d 339322009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33933
33934 * configure.ac: Bump version to 1.97~beta4.
33935
e8ee83c0 339362009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33937
33938 Resync grub-mkdevicemap in x86_64-efi.
33939
33940 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33941 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33942 `util/devicemap.c'.
33943
50dcabcf 339442009-10-01 Colin Watson <cjwatson@ubuntu.com>
33945
33946 * util/grub-editenv.c (create_envblk_file): Write new block with a
33947 .new suffix and then rename it into place, to ensure atomic
33948 creation.
33949
0e51c3a7 339502009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33951
33952 Do not automatically install headers.
33953
33954 * Makefile.in (include_DATA): Remove. Update all users.
33955
31299a95 339562009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33957
33958 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33959 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33960
33961 * util/osdetect.lua: Remove.
33962 * script/lua/lauxlib.c: Likewise.
33963 * script/lua/ldebug.c: Likewise.
33964 * script/lua/grub_main.c: Likewise.
33965 * script/lua/lauxlib.h: Likewise.
33966 * script/lua/ldebug.h: Likewise.
33967 * script/lua/ltablib.c: Likewise.
33968 * script/lua/liolib.c: Likewise.
33969 * script/lua/lstrlib.c: Likewise.
33970 * script/lua/lualib.h: Likewise.
33971 * script/lua/ldo.c: Likewise.
33972 * script/lua/ldump.c: Likewise.
33973 * script/lua/ldo.h: Likewise.
33974 * script/lua/loslib.c: Likewise.
33975 * script/lua/lundump.c: Likewise.
33976 * script/lua/grub_lib.c: Likewise.
33977 * script/lua/ldblib.c: Likewise.
33978 * script/lua/lundump.h: Likewise.
33979 * script/lua/lmem.c: Likewise.
33980 * script/lua/grub_lib.h: Likewise.
33981 * script/lua/lmathlib.c: Likewise.
33982 * script/lua/lstate.c: Likewise.
33983 * script/lua/ltm.c: Likewise.
33984 * script/lua/lvm.c: Likewise.
33985 * script/lua/lmem.h: Likewise.
33986 * script/lua/lstate.h: Likewise.
33987 * script/lua/ltm.h: Likewise.
33988 * script/lua/ltable.c: Likewise.
33989 * script/lua/lvm.h: Likewise.
33990 * script/lua/llex.c: Likewise.
33991 * script/lua/lgc.c: Likewise.
33992 * script/lua/grub_lua.h: Likewise.
33993 * script/lua/loadlib.c: Likewise.
33994 * script/lua/lfunc.c: Likewise.
33995 * script/lua/lopcodes.c: Likewise.
33996 * script/lua/lparser.c: Likewise.
33997 * script/lua/ltable.h: Likewise.
33998 * script/lua/llex.h: Likewise.
33999 * script/lua/lgc.h: Likewise.
34000 * script/lua/lfunc.h: Likewise.
34001 * script/lua/lbaselib.c: Likewise.
34002 * script/lua/lopcodes.h: Likewise.
34003 * script/lua/lparser.h: Likewise.
34004 * script/lua/lzio.c: Likewise.
34005 * script/lua/linit.c: Likewise.
34006 * script/lua/lobject.c: Likewise.
34007 * script/lua/llimits.h: Likewise.
34008 * script/lua/lstring.c: Likewise.
34009 * script/lua/lzio.h: Likewise.
34010 * script/lua/lapi.c: Likewise.
34011 * script/lua/lcode.c: Likewise.
34012 * script/lua/lua.h: Likewise.
34013 * script/lua/lobject.h: Likewise.
34014 * script/lua/lstring.h: Likewise.
34015 * script/lua/lapi.h: Likewise.
34016 * script/lua/lcode.h: Likewise.
34017 * script/lua/luaconf.h: Likewise.
34018
cb8a2c38 340192009-09-26 Colin Watson <cjwatson@ubuntu.com>
34020
34021 * docs/grub.texi (Command-line and menu entry commands): Document
34022 date and echo commands.
34023
6b9b6276 340242009-09-24 Pavel Roskin <proski@gnu.org>
34025
34026 * include/grub/kernel.h (struct grub_module_header): Remove
34027 `grub_module_header_types'. Make `type' unsigned. Make `size'
34028 32-bit on all platforms.
34029 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
34030 8-bit field. Use grub_host_to_target32() for `size'.
34031 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
34032 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
34033 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
34034
4e5a02a7 340352009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34036
34037 Fix "lost keypress" bug in at_keyboard.
34038
34039 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
34040 Checks for readyness of input buffer (without flushing it).
34041 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
34042 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
34043
c6dcedf6 340442009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34045
34046 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
34047 size check within GRUB_MACHINE_PCBIOS section.
34048
74c958b1 340492009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34050
34051 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
34052 return value.
34053 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
34054 KEYBOARD_ISREADY check.
34055 (grub_at_keyboard_checkkey): Rename to ...
34056 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
34057 Remove gratuitous cast.
34058
ff420223 340592009-09-23 Colin Watson <cjwatson@ubuntu.com>
34060
34061 * configure.ac: Call AC_PROG_MKDIR_P.
34062 * Makefile.in (docs/stamp-vti): Create docs directory. Create
34063 version.texi in $(builddir) rather than $(srcdir).
34064 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
34065 to makeinfo's @include search path.
34066
d96875df 340672009-09-23 Felix Zielcke <fzielcke@z-51.de>
34068
34069 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
34070
9b3f8365 340712009-09-23 Felix Zielcke <fzielcke@z-51.de>
34072
34073 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
34074 for `*.dpkg-new'.
34075
c44c90db 340762009-09-21 Colin Watson <cjwatson@ubuntu.com>
34077
34078 Build info documentation. Some code borrowed from Automake.
34079
34080 * configure.ac: Check for makeinfo.
34081 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
34082 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
34083 docs/version.texi.
34084 (MOSTLYCLEANFILES): Add vti.tmp.
34085 (docs/version.texi, docs/stamp-vti): Update automatically.
34086 (docs/grub.info): Build info documentation. Use --force and ignore
34087 errors for now.
34088 (all-local): Add $(INFOS).
34089 (install-local): Install info files.
34090 (uninstall): Uninstall info files.
34091 * docs/version.texi: Remove from revision control. This file is
34092 automatically generated on build now.
34093 * gendistlist.sh: Add `*.info'.
34094
e0b37bb5 340952009-09-21 Felix Zielcke <fzielcke@z-51.de>
34096
34097 * kern/term.c: Fix indentation.
34098
5a78865b 340992009-09-21 Felix Zielcke <fzielcke@z-51.de>
34100
34101 * util/hostdisk.c: Fix a comment.
34102
dace7e8a 341032009-09-20 Robert Millan <rmh.grub@aybabtu.com>
34104
34105 Fix regression introduced in r2539.
34106
34107 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
34108 to 0xA1.
34109
a83d079b 341102009-09-19 Colin Watson <cjwatson@ubuntu.com>
34111
34112 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 34113 os-prober. Under normal operation, it does not print anything to
34114 stderr; if it does, we need to debug it, and throwing away stderr
34115 makes that excessively difficult.
a83d079b 34116
be94a509 341172009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
34118
34119 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
34120
63f745e8 341212009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34122
34123 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
34124 AC_LANG_PROGRAM from autoconf.
34125 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
34126 prototypes (fixes warning).
34127
34128 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
34129 `--disable-werror' was used.
34130
bbb2a70f 341312009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34132
34133 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
34134 uninitialized `lastaddr'.
34135
77c24f1d 341362009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
34137
0f0b8c87 34138 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 34139
07197f23 341402009-09-14 Colin Watson <cjwatson@ubuntu.com>
34141
34142 * commands/test.c (get_fileinfo): Return immediately if
34143 grub_fs_probe fails.
34144
dabf1798 341452009-09-14 José Martínez <xosemp@gmail.com>
34146
34147 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
34148
d52109a7 341492009-09-14 Colin Watson <cjwatson@ubuntu.com>
34150
34151 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
34152 output.
34153
56532179 341542009-09-13 Robert Millan <rmh.grub@aybabtu.com>
34155
34156 * configure.ac: Remove --enable-grub-pe2elf. Only build
34157 grub-pe2elf when needed by the build system itself.
34158 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
34159
8ef070f5 341602009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34161
34162 * configure.ac: Bump version to 1.97~beta3.
34163 * docs/version.texi: Likewise.
34164
61229557 341652009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34166
34167 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
34168 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
34169 from here ...
34170 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
34171 (grub_linux_setup_video): ... to here (with some adjustments).
34172
5c9f8d84 341732009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34174
34175 Fix memory corruption issue (spotted by Colin Watson).
34176
34177 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
34178 causing returned size to be stored in an incorrect memory location.
34179 Fix use of uninitialized value when storing the returned size.
34180
e8f5d6e9 341812009-09-12 Yves Blusseau <blusseau@zetam.org>
34182
34183 Change clean rules to properly remove files
34184
34185 * genmk.rb: add new clean rules
34186 * Makefile.in (clean): add the new targets
34187 (mostlyclean): likewise
34188
cda2a409 341892009-09-11 Colin Watson <cjwatson@ubuntu.com>
34190
34191 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
34192 to grub_uint64_t.
34193 * fs/ntfs.c (init_file): Understand 64-bit sizes for
34194 non-resident files.
34195
86695375 341962009-09-11 Colin Watson <cjwatson@ubuntu.com>
34197
34198 * configure.ac: Don't look for help2man when cross-compiling. Fixes
34199 part of bug #27349.
34200
8aa1541a 342012009-09-10 Felix Zielcke <fzielcke@z-51.de>
34202
34203 * util/grub-mkconfig.in: Make the created config mode 400 and
34204 print a warning if it fails.
34205
48d9bb0a 342062009-09-10 Robert Millan <rmh.grub@aybabtu.com>
34207
34208 * util/grub.d/40_custom.in: Ask user to type custom entries below
34209 comment, rather than below 'exec tail' line.
34210
3b0521be 342112009-09-10 Colin Watson <cjwatson@ubuntu.com>
34212
34213 * util/grub.d/40_custom.in: Make sure that the explanatory text is
34214 visible in grub.cfg.
34215
50051d55 342162009-09-10 Colin Watson <cjwatson@ubuntu.com>
34217
34218 * util/grub.d/40_custom.in: Make it a little clearer how to use this
34219 file.
34220
c0d34387 342212009-09-10 Felix Zielcke <fzielcke@z-51.de>
34222
34223 * docs/grub.cfg: Add an example menu entry for memtest86+.
34224
80a608f3 342252009-09-09 Felix Zielcke <fzielcke@z-51.de>
34226
a2094832 34227 * config.guess: Update to latest version from config git.
80a608f3 34228 * config.sub: Likewise.
34229
99423078 342302009-09-08 Colin Watson <cjwatson@ubuntu.com>
34231
34232 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
34233 unknown-command case. Fixes bug #27320.
34234
44454e4c 342352009-09-08 Felix Zielcke <fzielcke@z-51.de>
34236
34237 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
34238 `help' if the command exists.
34239
e30d87ad 342402009-09-06 Robert Millan <rmh.grub@aybabtu.com>
34241
34242 * INSTALL: Require GCC 4.1.3 or later.
34243
9a86f1ec 342442009-09-06 Yves Blusseau <blusseau@zetam.org>
34245
34246 * Makefile.in (RMKFILES): add i386-qemu.rmk
34247 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
34248 $(srcdir)/stamp-h.in
34249
7f26d466 342502009-09-05 Robert Millan <rmh.grub@aybabtu.com>
34251
34252 * util/grub-probe.c (probe): Comment out buggy codepath, which
34253 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
34254 should be re-enabled after 1.97.
34255
3a613259 342562009-09-05 Felix Zielcke <fzielcke@z-51.de>
34257
34258 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
34259 find searches for.
34260
197f76c7 342612009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
34262
34263 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
34264 unnecessary calls to grub_error.
34265
70ba68ce 342662009-09-04 Colin Watson <cjwatson@ubuntu.com>
34267
34268 * NEWS: Mention `keystatus' and Unicode fonts.
34269
4ff0d7a4 342702009-09-04 Robert Millan <rmh.grub@aybabtu.com>
34271
34272 * configure.ac: Bump version to 1.97~beta2.
34273 * docs/version.texi: Likewise.
34274
77c55a87 342752009-09-03 Colin Watson <cjwatson@ubuntu.com>
34276
34277 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
34278 containing unwind information in some cases where it previously did
34279 not. Use -fno-dwarf2-cfi-asm if available to restore the old
34280 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
34281 discussion.
34282
f79572cd 342832009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
34284
34285 Embedding loadenv module into grub-emu
34286
34287 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
34288 commands/loadenv.c
34289 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
34290 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
34291 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
34292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
34293 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
34294 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
34295
93a81088 342962009-09-03 Magnus Granberg <zorry@ume.nu>
34297
34298 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
34299 include -fPIE in the default specs.
34300 * configure.ac: Check if pie_possible is yes and add -fno-PIE
34301 to TARGET_CFLAGS.
34302
160034b2 343032009-09-03 Felix Zielcke <fzielcke@z-51.de>
34304
34305 * INSTALL: Note that GNU Bison 2.3 or later is required.
34306
087c07c4 343072009-09-03 Colin Watson <cjwatson@ubuntu.com>
34308
34309 * kern/i386/pc/startup.S: Fix typo.
34310
cbf978c0 343112009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
34312
34313 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
34314 according to GCS.
34315
343162009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 34317
34318 * docs/grub.texi (Naming convention): Describe one-based partition
34319 numbering.
34320 (Device syntax): Likewise.
34321 (File name syntax): Likewise.
34322 (Block list syntax): Likewise.
34323 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
34324 menu.lst.
34325 (File name syntax): Likewise.
34326 (Command-line and menu entry commands): Document acpi, blocklist,
34327 crc, export, insmod, keystatus, ls, set, and unset commands.
34328
f3e8cdfd 343292009-09-02 Colin Watson <cjwatson@ubuntu.com>
34330
34331 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
34332 to avoid implying that only one of --shift, --ctrl, or --alt may be
34333 used.
34334
c0bc232b 343352009-09-02 Colin Watson <cjwatson@ubuntu.com>
34336
34337 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
34338 rather than comparing against S_IFREG, which will almost never work.
34339
aa0f752d 343402009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
34341
34342 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
34343 (write_blocklists): Likewise.
34344
ecb3166a 343452009-09-01 Colin Watson <cjwatson@ubuntu.com>
34346
34347 * script/lua/grub_lua.h (fputs): Supply a format string as the first
34348 argument to grub_printf.
34349
c403a125 343502009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 34351
34352 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 34353 non GNU test.
31aba781 34354
b5e7312c 343552009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34356
34357 * kern/file.c (grub_file_read): Spelling fix
34358
fe00f472 343592009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34360
34361 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
34362 loading of headers in some cases.
34363
cc55302e 343642009-08-30 Robert Millan <rmh.grub@aybabtu.com>
34365
34366 * configure.ac: Bump version to 1.97~beta1.
34367 * docs/version.texi: Likewise.
34368
5c90cdd2 343692009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 34370
34371 * include/grub/i386/xnu.h: Add license header.
34372 include grub/err.h explicitly.
34373
c90edae4 343742009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34375
34376 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
34377 to `ufs' in the vfs.root.mountfrom kernel parameter.
34378
d8888b5c 343792009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34380
34381 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
34382
34383 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
34384 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
34385
34386 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
34387 `ARRAY_SIZE' macro.
34388
6f07b921 343892009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34390
34391 * kern/file.c (grub_file_read): Check offset.
34392 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
34393 * fs/jfs.c (grub_jfs_read_file): Likewise.
34394 * fs/ntfs.c (grub_ntfs_read): Likewise.
34395 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
34396 * fs/minix.c (grub_minix_read_file): Correct offset check.
34397 * fs/ufs.c (grub_ufs_read_file): Likewise.
34398
b4f34077 343992009-08-28 Colin Watson <cjwatson@ubuntu.com>
34400
34401 * term/i386/pc/console.c (bios_data_area): Cast
34402 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
34403
e7c69859 344042009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34405
34406 1-bit optimised blitters.
34407
34408 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
34409 prototype.
34410 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34411 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34412 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34413 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34414 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34415 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34416 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
34417 function.
34418 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34419 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34420 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34421 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34422 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34423 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34424 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
34425 when possible.
34426 * video/video.c (grub_video_get_blit_format): Return
34427 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
34428
a57da43f 344292009-08-28 Colin Watson <cjwatson@ubuntu.com>
34430
34431 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
34432 the first argument to grub_printf.
34433
4cbe67e5 344342009-08-28 Colin Watson <cjwatson@ubuntu.com>
344352009-08-28 Robert Millan <rmh.grub@aybabtu.com>
34436
34437 Add `getkeystatus' terminal method. Add a new `keystatus' command
34438 to query it.
34439
34440 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
34441 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
34442 modifier key bitmasks.
34443 (struct grub_term_input): Add `getkeystatus' member.
34444 (grub_getkeystatus): Add prototype.
34445 * kern/term.c (grub_getkeystatus): New function.
34446
34447 * include/grub/i386/pc/memory.h
34448 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
34449 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
34450 Data Area layout.
34451 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
34452 (grub_console_term_input): Set `getkeystatus' member.
34453 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
34454 constants.
34455 (grub_usb_keyboard_getreport): Likewise.
34456 (grub_usb_keyboard_checkkey): Likewise.
34457 (grub_usb_keyboard_getkeystatus): New function.
34458 (grub_usb_keyboard_term): Set `getkeystatus' member.
34459
34460 * commands/keystatus.c: New file.
34461 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
34462 (keystatus_mod_SOURCES): New variable.
34463 (keystatus_mod_CFLAGS): Likewise.
34464 (keystatus_mod_LDFLAGS): Likewise.
34465 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
34466 commands/keystatus.c.
34467 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34468 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34469 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34471 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34472 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 34473
6e2a9085 344742009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34475
34476 Split befs.mod and afs.mod into *_be.mod and *.mod
34477
34478 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
34479 (grub_fstest_SOURCES): Likewise.
34480 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
34481 (afs_be_mod_SOURCES): New variable.
34482 (afs_be_mod_CFLAGS): Likewise.
34483 (afs_be_mod_LDFLAGS): Likewise.
34484 (befs_be_mod_SOURCES): Likewise.
34485 (befs_be_mod_CFLAGS): Likewise.
34486 (befs_be_mod_LDFLAGS): Likewise.
34487 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
34488 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34489 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34490 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34491 (grub_emu_SOURCES): Likewise.
34492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34493 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34494 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34495 * fs/afs_be.c: New file.
34496 * fs/befs_be.c: New file.
34497 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
34498 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
34499 (U16): Replaced with ...
34500 (grub_afs_to_cpu16): ...this. All users updated.
34501 (U32): Replaced with ...
34502 (grub_afs_to_cpu32): ...this. All users updated.
34503 (U64): Replaced with ...
34504 (grub_afs_to_cpu64): ...this. All users updated.
34505 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
34506 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 34507 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 34508 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34509 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34510 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34511 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34512 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34513 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34514 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34515 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34516
32a71655 345172009-08-26 Bean <bean123ch@gmail.com>
34518
34519 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
34520 64-bit number.
34521 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
34522 (grub_xfs_inode_block): Change return type to grub_uint64_t.
34523 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
34524
552bf6c5 345252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34526
34527 NetBSD memory map support.
34528
34529 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
34530 (grub_netbsd_btinfo_mmap_header): New structure.
34531 (grub_netbsd_btinfo_mmap_entry): Likewise.
34532 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
34533
1ae2078c 345342009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34535
34536 Enable bsd.mod on coreboot.
34537
34538 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
34539 (bsd_mod_SOURCES): New variable.
34540 (bsd_mod_CFLAGS): Likewise.
34541 (bsd_mod_LDFLAGS): Likewise.
34542 (bsd_mod_ASFLAGS): Likewise.
34543 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
34544 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
34545
beefc598 345462009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34547
34548 Cleanup NetBSD root support.
34549
34550 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
34551 grub_bsd_get_device.
34552 Fix typo.
34553
3b76e68b 345542009-08-25 Felix Zielcke <fzielcke@z-51.de>
34555
34556 * util/grub.d/00_header.in: Move check for the video backend of
34557 gfxterm from here ...
34558 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
34559 a suitable video backend.
34560
aea664ea 345612009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34562
34563 Fix breakage in grub-setup.
34564
34565 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
34566 "msdos_partition_map".
34567
ff747d50 345682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34569
34570 Fix breakage in normal/auth.c.
34571
34572 * normal/auth.c (grub_iswordseparator): New function.
34573
e7e1f93f 345742009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34575
34576 Authentication support.
34577
34578 * commands/password.c: New file.
34579 * conf/common.rmk (pkglib_MODULES): Add password.mod.
34580 (password_mod_SOURCES): New variable.
34581 (password_mod_CFLAGS): Likewise.
34582 (password_mod_LDFLAGS): Likewise.
34583 (normal_mod_SOURCES): Add normal/auth.c.
34584 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
34585 normal/auth.c.
34586 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34587 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34588 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34589 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34590 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34591 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34592 * include/grub/auth.h: New file.
34593 * include/grub/err.h (grub_err_t): New enum value
34594 GRUB_ERR_ACCESS_DENIED.
34595 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
34596 'users'.
34597 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
34598 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
34599 users updated.
34600 * normal/auth.c: New file.
34601 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
34602 (grub_cmdline_run): Don't allow to go to command line without
34603 authentication.
34604 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
34605 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
34606 menuentry without superuser rights.
34607 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
34608 user isn't a superuser.
34609
70f1161d 346102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34611
34612 Save space by inlining misc.c functions.
34613
34614 * kern/misc.c (grub_iswordseparator): Made static.
34615 * kern/misc.c (grub_strcat): Moved from here ...
34616 * include/grub/misc.h (grub_strcat): ... here. Inlined.
34617 * kern/misc.c (grub_strncat): Moved from here ...
34618 * include/grub/misc.h (grub_strncat): ... here. Inlined.
34619 * kern/misc.c (grub_strcasecmp): Moved from here ...
34620 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
34621 * kern/misc.c (grub_strncasecmp): Moved from here ...
34622 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
34623 * kern/misc.c (grub_isalpha): Moved from here ...
34624 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
34625 * kern/misc.c (grub_isdigit): Moved from here ...
34626 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
34627 * kern/misc.c (grub_isgraph): Moved from here ...
34628 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
34629 * kern/misc.c (grub_tolower): Moved from here ...
34630 * include/grub/misc.h (grub_tolower): ... here. Inlined.
34631
48e40bff 346322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34633
34634 * script/sh/function.c (grub_script_function_find): Cut error message
34635 not to flood terminal.
34636 * script/sh/lexer.c (grub_script_yylex): Remove command line length
34637 limit.
34638 * script/sh/script.c (grub_script_arg_add): Duplicate string.
34639
c385bfc3 346402009-08-24 Colin Watson <cjwatson@ubuntu.com>
34641
34642 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
34643 `report' grub_uint8_t *.
34644 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
34645 Use a 50-millisecond timeout rather than just repeating
34646 grub_usb_keyboard_getreport 50 times.
34647 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
34648
2d21e3e8 346492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34650
34651 Rename *_partition_map to part_*
34652
34653 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
34654 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
34655 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
34656 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
34657 All users updated.
34658 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
34659 All users updated.
34660 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
34661 * util/grub-probe.c (probe_partmap): Don't transform partition name
34662 to get module name.
34663
dd103c4e 346642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34665
34666 Fix OpenBSD and NetBSD support.
34667
34668 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
34669 memory address conflict.
34670 (OPENBSD_MMAP_ACPI): New definition.
34671 (OPENBSD_MMAP_NVS): Likewise.
34672 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34673 and OPENBSD_MMAP_NVS.
34674 Add memory map terminator
34675 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 34676 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 34677
16c84d74 346782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34679
34680 Let user specify NetBSD root device.
34681
34682 * loader/i386/bsd.c (netbsd_root): New variable.
34683 (netbsd_opts): New option 'root'.
34684 (NETBSD_ROOT_ARG): New macro.
34685 (grub_netbsd_boot): Use 'netbsd_root'.
34686 (grub_bsd_unload): Free 'netbsd_root'.
34687 (grub_cmd_netbsd): Fill 'netbsd_root'.
34688
adb29902 346892009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34690
34691 Support for 64-bit NetBSD.
34692
34693 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34694 point when booting non-FreeBSD.
34695
f5ae9f74 346962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34697
34698 Support --no-smp and --no-acpi for NetBSD.
34699
34700 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34701 (NETBSD_AB_NOACPI): Likewise.
34702 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34703 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34704
de74f136 347052009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34706
34707 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34708 errors.
34709 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34710 errors. Call grub_error when needed.
34711
e9a925da 347122009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34713
34714 * commands/search.c (search_fs): Try searching without autoload first.
34715 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34716 filesystem module explicitly for faster booting.
34717
5174302b 347182009-08-23 Colin Watson <cjwatson@ubuntu.com>
34719
34720 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34721
c8c80635 347222009-08-23 Colin Watson <cjwatson@ubuntu.com>
34723
34724 * util/grub.d/30_os-prober.in: Disable os-prober if
34725 `GRUB_DISABLE_OS_PROBER' was set to true.
34726
71acf5e5 347272009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34728
34729 * partmap/pc.c: Rename to ...
34730 * partmap/msdos.c: ... this. Update all users.
34731 (grub_pc_partition_map): Rename to ...
34732 (grub_msdos_partition_map): ... this. Update all users.
34733
34734 * parttool/pcpart.c: Rename to ...
34735 * parttool/msdospart.c: ... this. Update all users.
34736
34737 * include/grub/pc_partition.h: Rename to ...
34738 * include/grub/msdos_partition.h: ... this. Update all users.
34739 (grub_pc_partition_bsd_entry): Rename to ...
34740 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34741 (grub_pc_partition_disk_label): Rename to ...
34742 (grub_msdos_partition_disk_label): ... this. Update all users.
34743 (grub_pc_partition_entry): Rename to ...
34744 (grub_msdos_partition_entry): ... this. Update all users.
34745 (grub_pc_partition_mbr): Rename to ...
34746 (grub_msdos_partition_mbr): ... this. Update all users.
34747 (grub_pc_partition): Rename to ...
34748 (grub_msdos_partition): ... this. Update all users.
34749 (grub_pc_partition_is_empty): Rename to ...
34750 (grub_msdos_partition_is_empty): ... this. Update all users.
34751 (grub_pc_partition_is_extended): Rename to ...
34752 (grub_msdos_partition_is_extended): ... this. Update all users.
34753 (grub_pc_partition_is_bsd): Rename to ...
34754 (grub_msdos_partition_is_bsd): ... this. Update all users.
34755
34756 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34757 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34758 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34759 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34760 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34761 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34762 (gpt_mod_LDFLAGS): Rename to ...
34763 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34764 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34765 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34766 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34767 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34768 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34769 (part_gpt_mod_LDFLAGS): ... this.
34770 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34771 `pcpart.mod' to `msdospart.mod'.
34772 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34773 to ...
34774 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34775 (msdospart_mod_LDFLAGS): ... this.
34776
c11fded5 347772009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34778
34779 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34780 (openbsd_opts): Likewise.
34781 (netbsd_opts): Likewise.
34782 (freebsd_flags): Added 0 terminator.
34783 (openbsd_flags): Likewise.
34784 (netbsd_flags): Likewise.
34785 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34786 (grub_cmd_freebsd): Transformed into extended command.
34787 (grub_cmd_openbsd): Likewise.
34788 (grub_cmd_netbsd): Likewise.
34789 (cmd_freebsd): Changed type to grub_extcmd_t.
34790 (cmd_openbsd): Likewise.
34791 (cmd_netbsd): Likewise.
34792 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34793 grub_cmd_openbsd as extended commands.
34794 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34795 cmd_netbsd and cmd_openbsd
34796
11d1c769 347972009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34798
34799 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34800
7a9094e5 348012009-08-21 Pavel Roskin <proski@gnu.org>
34802
5496c37e 34803 * Makefile.in (install-local): When checking if a file is in the
34804 build directory, use "test -e" to detect symlinks.
34805
7a9094e5 34806 * Makefile.in (install-local): Remove all files in
34807 $(DESTDIR)$(pkglibdir) before installing new files there.
34808
e53cea11 348092009-08-18 Felix Zielcke <fzielcke@z-51.de>
34810
34811 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
34812 grub-mkelfimage.
34813
9aced544 348142009-08-18 Felix Zielcke <fzielcke@z-51.de>
34815
34816 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34817 explicitly specified by the user.
34818
b7da6bab 348192009-08-18 Pavel Roskin <proski@gnu.org>
34820
34821 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34822 grub_uint8_t pointer for data.
34823 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34824 Likewise.
34825 * video/fb/fbutil.c: Remove unnecessary casts.
34826
19f1b335 348272009-08-17 Michal Suchanek <hramrach@centrum.cz>
34828
34829 VBE cleanup.
34830
34831 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
34832 (grub_vbe_set_video_mode): Save active mode info
34833 only after setting the mode.
34834 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
34835 second argument.
34836
2f467aa9 348372009-08-17 Michal Suchanek <hramrach@centrum.cz>
34838
34839 Rename variables for clarity.
34840
34841 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
34842 (active_vbe_mode_info): ... this. All users updated.
34843 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34844 All users updated.
34845 (initial_mode): Rename to ...
34846 (initial_vbe_mode): ... this. All users updated.
34847 (mode_in_use): Rename to ..
34848 (vbe_mode_in_use): ... this. All users updated.
34849 (mode_list): Rename to ..
34850 (vbe_mode_list): ... this. All users updated.
34851 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34852 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34853 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34854 'mode_list_size' to 'vbe_mode_list_size'.
34855 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34856 'best_mode_info' to 'best_vbe_mode_info' and
34857 'best_mode' to 'best_vbe_mode'
34858
6025fcd7 348592009-08-17 Michal Suchanek <hramrach@centrum.cz>
34860
34861 Remove duplicate grub_video_fb_get_video_ptr.
34862
34863 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34864 (grub_video_fb_get_video_ptr): ... this.
34865 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34866 * video/fb/fbutil.c: Add comment about addressing.
34867 (get_data_ptr): Rename to ...
34868 (grub_video_fb_get_video_ptr): ... this. All users updated.
34869 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34870
cc8c6faf 348712009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34872
34873 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34874 grub_dprintf() that was just added.
34875
08aa61f0 348762009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34877
34878 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34879 (DEFAULT_VIDEO_MODE): Remove macros.
34880 (grub_linux_boot): Remove assumption that Linux has FB support,
34881 and use "text" as default video mode.
34882
7cef4f75 348832009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34884
34885 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34886 grub_dprintf.
34887 * fs/fat.c (grub_fat_read_data): Likewise.
34888
e1f39873 348892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34890
34891 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34892 payload.
34893 (grub_module): Likewise.
34894
c166d79e 348952009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34896
34897 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34898 mbi->cmdline but free playground.
34899
c60cee8e 349002009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34901
34902 Handle group offset on UFS1.
34903
34904 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34905 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34906
c0d8b5d4 349072009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34908
34909 Split ufs.mod into ufs1.mod and ufs2.mod.
34910
34911 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34912 (grub_fstest_SOURCES): Likewise.
34913 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34914 (ufs_mod_SOURCES): Remove.
34915 (ufs_mod_CFLAGS): Likewise.
34916 (ufs_mod_LDFLAGS): Likewise.
34917 (ufs1_mod_SOURCES): New variable.
34918 (ufs1_mod_CFLAGS): Likewise.
34919 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 34920 (ufs2_mod_SOURCES): New variable.
34921 (ufs2_mod_CFLAGS): Likewise.
34922 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 34923 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34924 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34925 Likewise.
34926 (grub_emu_SOURCES): Likewise.
34927 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34928 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34929 (grub_setup_SOURCES): Likewise.
34930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34931 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34932 (grub_setup_SOURCES): Likewise.
34933 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34934 Likewise.
34935 * fs/ufs2.c: New file.
34936 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34937
d3539132 349382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34939
34940 Framebuffer split.
34941
34942 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34943 subsystem at the end.
34944 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34945 (video_fb_mod_SOURCES): New variable.
34946 (video_fb_mod_CFLAGS): Likewise.
34947 (video_fb_mod_LDFLAGS): Likewise.
34948 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34949 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34950 * video/i386/pc/vbeblit.c: Moved from here ...
34951 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34952 * video/i386/pc/vbefill.c: Moved from here ...
34953 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34954 * video/i386/pc/vbeutil.c: Moved from here ...
34955 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34956 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34957 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34958 * include/grub/i386/pc/vbefill.h: Moved from here ...
34959 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34960 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34961 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34962 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34963 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34964 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34965 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34966 (grub_video_adapter): Added 'get_info_and_fini'.
34967 (grub_video_get_info_and_fini): New prototype.
34968 (grub_video_set_mode): make modestring const char *.
34969 * loader/i386/linux.c (grub_linux_setup_video): Use
34970 grub_video_get_info_and_fini.
34971 (grub_linux_boot): Move modesetting just before booting.
34972 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34973 grub_video_get_info_and_fini.
34974 * video/i386/pc/vbe.c: Moved framebuffer part ...
34975 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34976 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34977 grub_video_fbstd_colors and grub_video_fb_set_palette.
34978 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34979 grub_video_fb_init.
34980 (grub_video_vbe_fini): Use grub_video_fb_fini.
34981 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34982 render_target and use grub_video_fb_set_active_render_target and
34983 grub_video_fb_set_palette.
34984 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34985 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34986 (grub_video_vbe_adapter): Use framebuffer.
34987 * video/video.c (grub_video_get_info_and_fini): New function.
34988 (grub_video_set_mode): Make modestring const char *.
34989 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34990 values are already initialised.
34991
d404ee56 349922009-08-14 Pavel Roskin <proski@gnu.org>
34993
34994 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34995 ABS and APPLE_CC.
34996 * boot/i386/pc/diskboot.S: Likewise.
34997 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34998 sectors allow compilation on MacOSX.
34999 * conf/i386-pc.rmk: Enable unconditional compilation of
35000 lnxboot.img.
35001
9a10df16 350022009-08-13 Colin Watson <cjwatson@ubuntu.com>
35003
35004 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
35005 * util/grub.d/00_header.in: Enter interruptible sleep if
35006 GRUB_HIDDEN_TIMEOUT is set.
35007
be3c9ca7 350082009-08-13 Yves Blusseau <blusseau@zetam.org>
35009
35010 * include/grub/symbol.h: Add the LOCAL macro.
35011 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
35012 starting with "L_".
35013
1f9e557e 350142009-08-13 Pavel Roskin <proski@gnu.org>
35015
9ca62843 35016 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
35017 any modern compilers we support.
35018
1f9e557e 35019 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
35020 Use local labels starting with "L_" so that Apple assembler
35021 knows they are local.
35022
81623db6 350232009-08-10 Robert Millan <rmh.grub@aybabtu.com>
35024
35025 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
35026 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
35027 (bsd_kernel_types): ... this enum.
35028
35029 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
35030 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
35031 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
35032
35033 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
35034 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
35035 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
35036 messages.
35037
f5d35e7a 350382009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35039
35040 * util/grub-dumpdevtree: Moved from here ...
35041 * util/i386/efi/grub-dumpdevtree: ... to here.
35042 (hexify): New function. Converts a string to its hex version.
35043 Generate hex versions of "efi" and "device-properties" by calling
35044 hexify() on the ASCII strings rather than by hardcoding numbers.
35045
d1e1d527 350462009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35047
35048 * fs/jfs.c: Update copyright year.
35049
1ebbe064 350502009-08-08 Felix Zielcke <fzielcke@z-51.de>
35051
35052 * util/grub.d/00_header.in: Fix a comment.
35053 * util/grub.d/10_linux.in: Likewise.
35054 * util/grub.d/10_windows.in: Likewise.
35055 * util/grub.d/10_hurd.in: Likewise.
35056
a78c8d24 350572009-08-08 Felix Zielcke <fzielcke@z-51.de>
35058
35059 * util/grub-mkconfig.in: Allow the user to specify the used font
35060 with GRUB_FONT.
35061
29a6b9e8 350622009-08-08 Pavel Roskin <proski@gnu.org>
35063
b5f16cc4 35064 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
35065 available, xfs.mod needs it now.
35066
2f5cb827 35067 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
35068 the "g" modifier in sed when the intention is to strip something
35069 once. This fixes comparison of kernels with multiple dashes.
35070
29a6b9e8 35071 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
35072 on it. Add missing space before closing bracket. Fix
35073 misleading formatting.
35074
892a3d98 350752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35076
35077 * docs/grub.texi: Major overhaul. Remove all sections that are
35078 specific to GRUB Legacy, or mostly composed of Legacy-specific
35079 information.
35080
ed94253f 350812009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35082
35083 * docs/version.texi: New file. Provides version information for
35084 grub.texi.
35085
126d6628 350862009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35087
35088 * docs/grub.texi: Update CVS information to SVN.
35089 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
35090
998b5aa9 350912009-08-07 Felix Zielcke <fzielcke@z-51.de>
35092
35093 * util/grub-mkconfig.in: Remove a wrong `fi'.
35094
818e094a 350952009-08-07 Felix Zielcke <fzielcke@z-51.de>
35096
35097 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
35098 (grub_jfs_uuid): New function.
35099 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
35100
b969c52f 351012009-08-07 Felix Zielcke <fzielcke@z-51.de>
35102
35103 * util/grub-mkconfig_lib.in (font_path): Move the functionality
35104 of it to ...
35105 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
35106 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
35107
7a4894cc 351082009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35109
35110 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
35111 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
35112 Update all users.
35113
35114 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
35115 not just "vmlinu[zx]".
35116 Moved from here ...
35117 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
35118 all users.
35119
35120 * util/grub.d/10_linux.in (find_latest): Moved from here ...
35121 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
35122 all users.
35123
4e2171f8 351242009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35125
35126 * util/grub.d/10_freebsd.in: Use an absolute device path for
35127 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
35128
6dcfcb32 351292009-08-06 Felix Zielcke <fzielcke@z-51.de>
35130
35131 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
35132 handling of multiple abstraction modules.
35133
f56a8756 351342009-08-04 Robert Millan <rmh.grub@aybabtu.com>
35135
35136 Fix a bug resulting in black screen when loading Linux using a
35137 packed video mode.
35138
35139 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
35140 function.
35141
35142 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
35143 (grub_vbe_bios_getset_dac_palette_width): New function.
35144 (grub_vbe_bios_get_dac_palette_width)
35145 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
35146 grub_vbe_bios_getset_dac_palette_width()).
35147
35148 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
35149 check for return status.
35150 (grub_vbe_get_video_mode_info): When getting information for a packed
35151 mode (<= 8 bpp), obtain DAC palette width using
35152 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
35153 {red,green,blue}_mark_size.
35154
222671b2 351552009-08-04 Felix Zielcke <fzielcke@z-51.de>
35156
ecb1a6d9 35157 * commands/search.c (options): Fix help output to match actual code.
222671b2 35158
f84114f5 351592009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
35160
35161 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
35162 of homegrown code.
35163
bd288a20 351642009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 35165
35166 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
35167 on XFS or ReiserFS.
35168
8aab5e25 351692009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35170
35171 Support Apple partition map with sector size different from 512 bytes.
35172
35173 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
35174 (apple_partition_map_iterate): Respect 'aheader.blocksize'
35175 and 'apart.partmap_size'.
35176
6ad6258a 351772009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
351782009-08-01 Robert Millan <rmh.grub@aybabtu.com>
35179
35180 Fix cpuid command.
35181
35182 * commands/i386/cpuid.c (options): New variable.
35183 (grub_cmd_cpuid): Return real error.
35184 (GRUB_MOD_INIT(cpuid)): Declare options.
35185
67459bc6 351862009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
35187
35188 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
35189 valid.
35190
fbc6ab54 351912009-07-31 Bean <bean123ch@gmail.com>
35192
35193 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
35194 log2_inode.
35195 (grub_fshelp_node): Move inode field to the end.
35196 (grub_xfs_data): Remove inode field.
35197 (grub_xfs_inode_block): Calculate inode size using sblock.
35198 (grub_xfs_inode_offset): Likewise.
35199 (grub_xfs_read_inode): Calculate inode size using sblock.
35200 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
35201 (grub_xfs_iterate_dir): Calculate inode size using sblock.
35202 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
35203 to match inode size.
35204 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
35205 not accessible when data is null.
35206 (grub_xfs_open): Likewise.
35207
f45d6cfc 352082009-07-31 Bean <bean123ch@gmail.com>
35209
35210 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
35211 Don't change pv->disk if it's already set.
35212
35213 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
35214 (grub_raid_register): ... here.
35215 (grub_raid_rescan): Removed.
35216
35217 * include/grub/raid.h (grub_raid_rescan): Removed.
35218
35219 * util/grub-fstest.c: Remove include file <grub/raid.h>.
35220 (fstest): Replace grub_raid_rescan with module fini function followed
35221 by init function.
35222
35223 * util/grub-probe.c: Add include file <grub/raid.h>.
35224 (probe_raid_level): New function.
35225 (probe): Detect abstraction by walking the disk device, support two
35226 level of abstraction (LVM on RAID) when detecting partition map.
35227
24443b5a 352282009-07-31 Pavel Roskin <proski@gnu.org>
35229
35230 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
35231 to grub_zalloc(), it was erroneous.
35232 Reported by Bean <bean123ch@gmail.com>
35233
a275d9e7 352342009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
35235
35236 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 35237 embedding zone, not only the first one.
a275d9e7 35238
56c5a47f 352392009-07-29 Joe Auricchio <jauricchio@gmail.com>
35240
35241 * term/gfxterm.c (clear_char): New function.
35242 (grub_virtual_screen_setup): Use clear_char.
35243 (scroll_up): Likewise.
35244 (grub_virtual_screen_cls): Likewise.
35245
67bb323a 352462009-07-29 Felix Zielcke <fzielcke@z-51.de>
35247
35248 * util/deviceiter.c (get_acceleraid_disk_name): New static
35249 function.
35250 (grub_util_iterate_devices): Handle Accelraid devices.
35251 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
35252
388a7c75 352532009-07-28 Robert Millan <rmh.grub@aybabtu.com>
35254
35255 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
35256 separator for the suggested gfxpayload string (';' collides with the
35257 parser and needs escaping).
35258
3bb7abcf 352592009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
35260
35261 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
35262 Clear direction flag before jumping to OS.
35263 (grub_multiboot2_real_boot): Likewise.
35264
2ddd36d7 352652009-07-28 Felix Zielcke <fzielcke@z-51.de>
35266
35267 * util/i386/pc/grub-install: Fix parsing of --disk-module
35268 option.
35269
c521b62b 352702009-07-28 Felix Zielcke <fzielcke@z-51.de>
35271
35272 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
35273 when embedding.
35274
880e0a0c 352752009-07-26 Felix Zielcke <fzielcke@z-51.de>
35276
35277 * util/grub-mkconfig.in (package_version): New variable.
35278 Use it do display the version.
35279
2366e356 352802009-07-25 Felix Zielcke <fzielcke@z-51.de>
35281
35282 * kern/file.c (grub_file_open): Revert to previous check with
35283 grub_errno.
35284
7ad8c80e 352852009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35286
35287 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
35288 from help line. It's out of sync with code.
35289
72b9658b 352902009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35291
35292 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
35293 entries on failed boot.
35294
77435277 352952009-07-25 Felix Zielcke <fzielcke@z-51.de>
35296
35297 * kern/file.c (grub_file_open): Fix an error check.
35298
fcaa8b21 352992009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
35300
35d16c74 35301 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
35302 partition map couldn't be identified.
fcaa8b21 35303
48904cd1 353042009-07-23 Pavel Roskin <proski@gnu.org>
35305
ef3c317f 35306 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
35307 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
35308 case of little endian words becomes just an optimization.
35309 Respect const modifier.
ad8ea1f4 35310 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 35311
48904cd1 35312 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
35313 to avoid loss of upper bits if align is unsigned and shorter
35314 than addr.
35315
260c9a89 353162009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35317
35318 UUID support for UFS
35319
35320 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
35321 (grub_ufs_uuid): New function.
35322 (grub_ufs_fs): add .uuid
35323
f76ce889 353242009-07-21 Pavel Roskin <proski@gnu.org>
35325
35326 * kern/dl.c (grub_dl_check_header): Make static.
35327
6a6cbcaf 353282009-07-21 Felix Zielcke <fzielcke@z-51.de>
35329
35330 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
35331 add drivemap for Vista. It breaks Windows 7.
35332
cffcddb2 353332009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35334
35335 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
35336 128 bytes
35337
1ef44b80 353382009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35339
35340 Add BFS support
35341
35342 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
35343 (grub_fstest_SOURCES): Likewise.
35344 (pkglib_MODULES): Add befs.mod.
35345 (befs_mod_SOURCES): New variable.
35346 (befs_mod_CFLAGS): Likewise.
35347 (befs_mod_LDFLAGS): Likewise.
35348 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35349 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35350 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35351 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35352 (grub_setup_SOURCES): Likewise.
35353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35354 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35355 (grub_setup_SOURCES): Likewise.
35356 * fs/befs.c: New file.
35357 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
35358 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
35359 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
35360 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
35361 (B_KEY_INDEX_ALIGN): New declaration.
35362 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
35363 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
35364 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
35365 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
35366 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
35367 (grub_afs_mount) [MODE_BFS]: Likewise.
35368 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
35369 (grub_afs_fs): Use GRUB_AFS_FSNAME
35370 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
35371 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
35372 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
35373 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
35374
4f253044 353752009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
35376
35377 * util/getroot.c (find_root_device): Add support for MacOSX.
35378 * util/hostdisk.c: Likewise.
35379
57a55913 353802009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35381
35382 * font/font.c (find_glyph): Check whether a font is present to avoid
35383 segmentation fault.
75421ca9 35384
353852009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 35386
35387 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
35388
e98cd0c2 353892009-07-20 Pavel Roskin <proski@gnu.org>
35390
35391 * configure.ac: Trim excessively wordy excuses.
35392
1d2d169a 353932009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35394
35395 Add symlink, mtime and label support to AtheFS.
35396
35397 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
35398 (grub_afs_iterate_dir): Handle symlinks.
35399 (grub_afs_open): Use grub_afs_read_symlink.
35400 (grub_afs_dir): Likewise.
35401 Pass mtime.
35402 (grub_afs_label): New function.
35403 (grub_afs_fs): Add grub_afs_label.
35404 (grub_afs_read_symlink): New function.
35405
186f3189 354062009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35407
35408 Fix AtheFS support.
35409
35410 * fs/afs.c: Fix comments style.
35411 (grub_afs_blockrun): Declare as packed.
35412 (grub_afs_datastream): Likewise.
35413 (grub_afs_bnode): Likewise.
35414 (grub_afs_btree): Likewise.
35415 (grub_afs_sblock): Likewise.
35416 Declare `name' as char.
35417 (grub_afs_inode): Declare as packed.
35418 Change void *vnode to grub_uint32_t unused.
35419 (grub_afs_iterate_dir): Check that key_size is positive.
35420 (grub_afs_mount): Don't read superblock twice.
75421ca9 35421 (grub_afs_dir): Don't free node in case of error,
186f3189 35422 grub_fshelp_find_file already handles this.
35423 (grub_afs_open): Likewise.
35424
5680109e 354252009-07-19 Pavel Roskin <proski@gnu.org>
35426
35427 * Makefile.in: Remove LIBLZO and enable_lzo.
35428 * conf/i386-pc.rmk: Remove lzo support.
35429 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
35430 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
35431 support.
35432 * kern/i386/pc/lzo1x.S: Remove.
35433 * kern/i386/pc/startup.S: Remove lzo support.
35434 * util/i386/pc/grub-mkimage.c: Likewise.
35435
ac70fa32 354362009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
35437
35438 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
35439 * fs/xfs.c (grub_xfs_dir): Likewise.
35440 * fs/afs.c (grub_afs_dir): Likewise.
35441 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
35442 (grub_iso9660_open): Likewise.
35443 * fs/jfs.c (grub_jfs_open): Likewise.
35444 * fs/ext2.c (grub_ext2_dir): Likewise.
35445 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
35446 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 35447
eab58da2 354482009-07-16 Pavel Roskin <proski@gnu.org>
35449
d2838156 35450 * configure.ac: Never add "-c" to CFLAGS.
35451
55c70904 35452 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
35453
43e6200c 35454 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
35455 grub_cv_cc_efiemu should be used.
35456
ce7a733d 35457 * configure.ac: Typo fixes.
35458
eab58da2 35459 * kern/mm.c (grub_zalloc): New function.
35460 (grub_debug_zalloc): Likewise.
35461 * include/grub/mm.h: Declare grub_zalloc() and
35462 grub_debug_zalloc().
35463 * util/misc.c (grub_zalloc): New function.
35464 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
35465 instead of grub_malloc(), remove unneeded initializations.
35466 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
35467 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
35468 * commands/parttool.c (grub_cmd_parttool): Likewise.
35469 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
35470 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
35471 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
35472 * disk/usbms.c (grub_usbms_finddevs): Likewise.
35473 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
35474 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
35475 (grub_cmd_efiemu_pnvram): Likewise.
35476 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
35477 * fs/iso9660.c (grub_iso9660_mount): Likewise.
35478 (grub_iso9660_iterate_dir): Likewise.
35479 * fs/jfs.c (grub_jfs_opendir): Likewise.
35480 * fs/ntfs.c (list_file): Likewise.
35481 (grub_ntfs_mount): Likewise.
35482 * kern/disk.c (grub_disk_open): Likewise.
35483 * kern/dl.c (grub_dl_load_core): Likewise.
35484 * kern/elf.c (grub_elf_file): Likewise.
35485 * kern/env.c (grub_env_context_open): Likewise.
35486 (grub_env_set): Likewise.
35487 (grub_env_set_data_slot): Likewise.
35488 * kern/file.c (grub_file_open): Likewise.
35489 * kern/fs.c (grub_fs_blocklist_open): Likewise.
35490 * loader/i386/multiboot.c (grub_module): Likewise.
35491 * loader/xnu.c (grub_xnu_create_key): Likewise.
35492 (grub_xnu_create_value): Likewise.
35493 * normal/main.c (grub_normal_add_menu_entry): Likewise.
35494 (read_config_file): Likewise.
35495 * normal/menu_entry.c (make_screen): Likewise.
35496 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35497 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
35498 * script/sh/script.c (grub_script_parse): Likewise.
35499 * video/bitmap.c (grub_video_bitmap_create): Likewise.
35500 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
35501 * video/readers/png.c (grub_png_output_byte): Likewise.
35502 (grub_video_reader_png): Likewise.
35503
830afef7 355042009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 35505
35506 Enable all targets that can be built by default
35507
830afef7 35508 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 35509 grub-mkfont and grub-fstest if they can be built
35510
ee293aee 355112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35512
35513 Fix hang and segmentation fault in grub-emu-usb
35514
35515 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
35516 * util/usb.c (grub_libusb_devices): likewise
35517 (grub_libusb_init): rename to ...
35518 (GRUB_MOD_INIT (libusb)):...this
35519 (grub_libusb_fini): rename to ..
35520 (GRUB_MOD_FINI (libusb)):...this
35521 * disk/usbms.c (grub_usbms_transfer): fix retry logic
35522 * include/grub/disk.h (grub_raid_init): removed, it's useless
35523 (grub_raid_fini): likewise
35524 (grub_lvm_init): likewise
35525 (grub_lvm_fini): likewise
35526 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
35527 by grub_init_all
35528
94414221 355292009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35530
35531 Fix libusb
35532
35533 * Makefile.in (LIBUSB): new macro
35534 * genmk.rb (Utility/print_tail): new method
35535 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
35536 (top level): call util.print_tail at the end.
35537
59ade63d 355382009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35539
35540 Make FreeBSD accept zpool.cache
35541
35542 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
35543 type is /boot/zfs/zpool.cache
35544
a58da8c7 355452009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35546
35547 Fix 64-bit efiemu
35548
35549 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
35550 correct wrong typedef
35551 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
35552
20591577 355532009-07-15 Pavel Roskin <proski@gnu.org>
35554
560ca572 35555 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
35556 * kern/disk.c (struct grub_disk_cache): Likewise.
35557
e8e8e4fd 35558 * commands/probe.c (options): Typo fix.
35559
fde24e10 35560 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
35561 Increase to 0x5a to accommodate FAT32. Adjust other offsets
35562 accordingly.
35563 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
35564
379c54c1 35565 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
35566 the end of "Error" to make the message more readable.
35567
7bd8f5bf 35568 * boot/i386/pc/boot.S (kernel_segment): Remove.
35569 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
35570 for destination.
35571
40b132c5 35572 * boot/i386/pc/boot.S (boot_version): Remove.
35573 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
35574 Remove.
35575
20591577 35576 * include/grub/i386/pc/boot.h: Sort all offsets.
35577 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
35578 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
35579 * boot/i386/pc/boot.S: Assert location of every offset listed in
35580 include/grub/i386/pc/boot.h.
35581
2df32b2c 355822009-07-13 Pavel Roskin <proski@gnu.org>
35583
44b5d879 35584 * include/grub/i386/coreboot/machine.h: Rename
35585 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
35586 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
35587 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
35588
17dc3751 35589 * kern/dl.c: Force native word size to suppress warnings when
35590 compiling grub-emu.
35591
2df32b2c 35592 * kern/device.c (grub_device_iterate): Change struct part_ent to
35593 hold the name, not a pointer to it. Use one grub_malloc() per
35594 partition, not two. Free partition_name if grub_malloc() fails.
35595 Set ents to NULL only before grub_partition_iterate() is called.
35596
75c59f59 355972009-07-11 Bean <bean123ch@gmail.com>
35598
35599 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
35600 childname.
35601
0ae1bf88 356022009-07-10 Bean <bean123ch@gmail.com>
356032009-07-10 Robert Millan <rmh.grub@aybabtu.com>
35604
35605 * kern/ieee1275/openfw.c (grub_children_iterate)
35606 (grub_devalias_iterate): Fix size evaluation for property or path
35607 strings, which was broken since r2132.
35608
8279cade 356092009-07-07 Pavel Roskin <proski@gnu.org>
35610
7d8a52d3 35611 * commands/search.c (search_file): Merge into ...
35612 (search_fs): ... this. Accept search type as argument.
35613 (grub_cmd_search): Pass search type to search_fs().
35614
25f9a05a 35615 * include/grub/util/console.h: New file.
35616 * util/console.c: Use it instead of grub/machine/console.h.
35617 * util/grub-emu.c: Likewise.
35618
8279cade 35619 * lib/arg.c (find_long_option): Remove.
35620 (find_long): Add `len' argument, make `s' const char *.
35621 (grub_arg_parse): Parse long options in place, not in a
35622 temporary buffer.
35623
4a11b60f 356242009-07-06 Pavel Roskin <proski@gnu.org>
35625
99f68041 35626 * commands/search.c (search_fs): Fix potential NULL pointer
35627 dereference.
35628
4a11b60f 35629 * commands/search.c (search_fs): Replace QUID macro with quid_fn
35630 function pointer.
35631
e110f4de 356322009-07-06 Daniel Mierswa <impulze@impulze.org>
35633
35634 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
35635 comparison.
35636
46eeb6a2 356372009-07-05 Pavel Roskin <proski@gnu.org>
35638
bab74958 35639 * include/grub/i386/linux.h (struct linux_kernel_params):
35640 Restore padding3, it's still needed.
35641
46eeb6a2 35642 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
35643 FreeBSD.
35644 * util/osdetect.lua: Likewise.
35645
b4a1dc79 356462009-07-05 Bean <bean123ch@gmail.com>
35647
35648 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
35649
35650 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
35651 (grub_lua_getenv): Likewise.
35652 (grub_lua_setenv): Likewise.
35653 (save_errno): New function.
35654 (push_result): Likewise.
35655 (grub_lua_enum_device): Likewise.
35656 (grub_lua_enum_file): Likewise.
35657 (grub_lua_file_open): Likewise.
35658 (grub_lua_file_close): Likewise.
35659 (grub_lua_file_seek): Likewise.
35660 (grub_lua_file_read): Likewise.
35661 (grub_lua_file_getline): Likewise.
35662 (grub_lua_file_getsize): Likewise.
35663 (grub_lua_file_getpos): Likewise.
35664 (grub_lua_file_eof): Likewise.
35665 (grub_lua_file_exist): Likewise.
35666 (grub_lua_add_menu): Likewise.
35667
35668 * script/lua/grub_lua.h (isupper): New inline function.
35669 (islower): Likewise.
35670 (ispunct): Likewise.
35671 (isxdigit): Likewise.
35672 (strcspn): Change to normal function.
35673 (strpbkr): New function declaration.
35674 (memchr): Likewise.
35675
35676 * script/lua/grub_main.c (scan_str): New function.
35677 (strcspn): Likewise.
35678 (strpbrk): Likewise.
35679 (memchr): Likewise.
35680
35681 * script/lua/linit.c (lualibs): Enable the string library.
35682
35683 * util/osdetect.lua: New file.
35684
2da92295 356852009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35686
35687 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35688 `capabilities' member.
35689
b2582ec9 356902009-07-02 Pavel Roskin <proski@gnu.org>
35691
35692 * genparttoollist.sh: Add missing newline at the end.
35693
32622956 356942009-07-01 Pavel Roskin <proski@gnu.org>
35695
87a7339e 35696 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35697
d23af54e 35698 * util/hostdisk.c (open_device): Remove `const' from
35699 `sysctl_size', as sysctlbyname() can change it (in this case it
35700 doesn't actually happen).
35701
c94b18a9 35702 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35703 using signed long int constants.
35704
c6cd3ef0 35705 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35706 constant to avoid a warning on FreeBSD.
35707
0df63420 35708 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35709 where it's needed.
35710
999577f1 35711 * Makefile.in: Install include/grub/machine symlink.
35712
6f41557f 35713 * Makefile.in: When installing symlinks, use "cp -fR", which
35714 works on FreeBSD and MacOSX.
35715 From Yves Blusseau <cl7m42e02@sneakemail.com>
35716
c8d22988 35717 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35718 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35719
1b96e952 35720 * util/misc.c: Move grub_reboot() and grub_halt() ...
35721 * util/grub-emu.c: ... here. Make main_env static.
35722 * include/grub/util/misc.h: Remove main_env.
35723
2ef0084d 35724 * kern/mm.c: Use correct format to print size_t.
35725
32622956 35726 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35727 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35728 * kern/powerpc/dl.c: Likewise.
35729 * kern/sparc64/dl.c: Likewise.
35730 * kern/x86_64/dl.c: Likewise.
35731
3f7f0cd0 357322009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35733
35734 Fix grub-emu build on sparc64-ieee1275.
35735
75421ca9 35736 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 35737 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35738
211d06b5 357392009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35740
35741 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35742 (grub_reboot, grub_halt): New functions.
35743
35744 * util/i386/pc/misc.c: Delete. Update all users.
35745 * util/sparc64/ieee1275/misc.c: Likewise.
35746 * util/powerpc/ieee1275/misc.c: Likewise.
35747
aaf53e3c 357482009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35749
35750 * conf/i386.rmk (setjmp_mod_SOURCES)
35751 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35752 * conf/common.rmk (setjmp_mod_SOURCES)
35753 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35754 to use $(target_cpu).
35755 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35756 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35757 * conf/powerpc-ieee1275.rmk: Likewise.
35758 * conf/sparc64-ieee1275.rmk: Likewise.
35759
35760 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35761 $(target_cpu) for kern/$(target_cpu)/dl.c.
35762 * conf/i386-efi.rmk: Likewise.
35763 * conf/i386-ieee1275.rmk: Likewise.
35764 * conf/x86_64-efi.rmk: Likewise.
35765 * conf/i386-coreboot.rmk: Likewise.
35766 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35767 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35768 kern/$(target_cpu)/cache.S.
35769 * conf/sparc64-ieee1275.rmk: Likewise.
35770
a337130b 357712009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35772
35773 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35774 type to `grub_uint8_t', and adjust `padding9' accordingly.
35775
c6fe4d53 357762009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35777
b09db61d 35778 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35779
c6fe4d53 35780 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35781 assembly in final jump, using register constraints.
35782
b09db61d 35783 (grub_linux_boot): For text mode, initialize `have_vga' using
35784 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35785
35786 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35787 right before the final jump.
35788
35789 Set `video_mode' to 0x3.
35790
35791 Document initialization of `video_page', `video_mode' and
35792 `video_ega_bx'.
35793
28333ad0 357942009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35795
35796 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35797 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 35798 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 35799
02164e1b 358002009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35801
35802 Fix build on Debian / sparc.
35803
35804 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
35805
18b6c557 358062009-06-28 Pavel Roskin <proski@gnu.org>
35807
85f2aab6 35808 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
35809 fix a warning.
35810
18b6c557 35811 * util/grub.d/10_linux.in: Match SUSE style initrd names.
35812
ad760f81 358132009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35814
35815 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35816 `err'.
35817
87a4623b 358182009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35819
35820 Revert r2338.
35821
35822 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35823 file can't be opened. grub_file_open() is already supposed to set
75421ca9 35824 grub_errno / grub_errmsg appropriately.
87a4623b 35825 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35826
8231fb77 358272009-06-27 Pavel Roskin <proski@gnu.org>
358282009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35829
35830 * include/grub/dl.h: Include grub/elf.h.
35831 (struct grub_dl): Add symtab field.
35832 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
35833 GRUB_MODULES_MACHINE_READONLY.
35834 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
35835 of the header for read-only modules.
35836 (grub_dl_unload): Free mod->symtab for read-only modules.
35837 * kern/i386/dl.c: Use mod->symtab.
35838 * kern/powerpc/dl.c: Likewise.
35839 * kern/sparc64/dl.c: Likewise.
35840 * kern/x86_64/dl.c: Likewise.
35841
35842 * conf/i386-qemu.rmk: New file.
35843 * kern/i386/qemu/startup.S: Likewise.
35844 * kern/i386/qemu/mmap.c: Likewise.
35845 * boot/i386/qemu/boot.S: Likewise.
35846 * include/grub/i386/qemu/time.h: Likewise.
35847 * include/grub/i386/qemu/serial.h: Likewise.
35848 * include/grub/i386/qemu/kernel.h: Likewise.
35849 * include/grub/i386/qemu/console.h: Likewise.
35850 * include/grub/i386/qemu/boot.h: Likewise.
35851 * include/grub/i386/qemu/init.h: Likewise.
35852 * include/grub/i386/qemu/machine.h: Likewise.
35853 * include/grub/i386/qemu/loader.h: Likewise.
35854 * include/grub/i386/qemu/memory.h: Likewise.
35855
35856 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35857 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35858 [qemu] (pkglib_IMAGES): Add `boot.img'.
35859 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35860 [qemu] (boot_img_FORMAT): New variables.
35861 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35862 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35863 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35864 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35865 [qemu] (kernel_img_FORMAT): New variables.
35866
35867 * configure.ac: Recognise `i386-qemu'.
35868
35869 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35870 (for no compression).
35871 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35872 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35873 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35874 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35875 ifdefs).
35876
97fe384e 358772009-06-27 Pavel Roskin <proski@gnu.org>
35878
35879 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35880 read.
35881 * efiemu/prepare32.c: Likewise.
35882 * efiemu/prepare64.c: Likewise.
35883
c402ab17 358842009-06-26 Pavel Roskin <proski@gnu.org>
35885
35886 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35887 * include/grub/elf.h: Define symbols without "32" or "64" based
35888 on GRUB_TARGET_WORDSIZE.
35889 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
35890 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
35891 ELF definitions.
35892 * efiemu/loadcore64.c: Likewise.
35893 * loader/i386/bsd32.c: Likewise.
35894 * loader/i386/bsd64.c: Likewise.
35895 * kern/dl.c: Remove own ELF definitions.
35896 * util/i386/efi/grub-mkimage.c: Likewise.
35897
9bbdfd4d 358982009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35899
35900 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35901 segment 0x0 unconditionally, because the reference generated by
35902 GAS is an absolute address.
35903
a42ce6e9 359042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35905
35906 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35907 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35908
c952cf92 359092009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35910
35911 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35912 indexes. Check for -f explicitly.
cc3752ad 35913 (search_file): Improve error message.
35914 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 35915
132a0a59 359162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35917
35918 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35919 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35920
387a140c 359212009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35922
35923 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35924 * conf/i386-ieee1275.rmk: Likewise.
35925 * conf/i386-coreboot.rmk: Likewise.
35926
35927 * kern/i386/pc/startup.S (grub_stop): Remove function.
35928 * kern/i386/ieee1275/startup.S: Likewise.
35929 * kern/i386/coreboot/startup.S: Likewise.
35930 * kern/i386/misc.S (grub_stop): New function.
35931
41da9665 359322009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35933
35934 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35935 * kern/i386/realmode.S (real_to_prot): ... to here.
35936
bf337234 359372009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35938
35939 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35940 with `kernel.img'.
35941 (kernel_elf_SOURCES): Rename to ...
35942 (kernel_img_SOURCES): ... this.
35943 (kernel_elf_HEADERS): Rename to ...
35944 (kernel_img_HEADERS): ... this. Update all users.
35945 (kernel_elf_ASFLAGS): Rename to ...
35946 (kernel_img_ASFLAGS): ... this.
35947 (kernel_elf_CFLAGS): Rename to ...
35948 (kernel_img_CFLAGS): ... this.
35949 (kernel_elf_LDFLAGS): Rename to ...
35950 (kernel_img_LDFLAGS): ... this.
35951 * conf/i386-coreboot.rmk: Likewise.
35952 * conf/powerpc-ieee1275.rmk: Likewise.
35953
35954 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35955 with "kernel.img".
35956
f52196ff 359572009-06-21 Pavel Roskin <proski@gnu.org>
35958
c3cee413 35959 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35960 to match nested functions.
35961 * loader/sparc64/ieee1275/linux.c: Likewise.
35962
f52196ff 35963 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35964
58750afc 359652009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35966
35967 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35968 all i386 platforms.
35969
15355c7d 359702009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35971
35972 Fix asm file handling on ELF, and remove workarounds.
35973
35974 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 35975 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35976 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35977 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35978
3f3ec72b 359792009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35980
35981 Load BSD ELF modules
35982
35983 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35984 and loader/i386/bsd64.c
35985 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35986 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35987 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35988 (grub_freebsd_load_elfmodule32): New declaration
35989 (grub_freebsd_load_elfmoduleobj64): Likewise
35990 (grub_freebsd_load_elf_meta32): Likewise
35991 (grub_freebsd_load_elf_meta64): Likewise
35992 (grub_freebsd_add_meta): Likewise
35993 (grub_freebsd_add_meta_module): Likewise
35994 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35995 (grub_freebsd_add_meta_module): Likewise and move module-specific
35996 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35997 (grub_cmd_freebsd): Add elf-kernel specific parts
35998 based on grub_freebsd_add_meta_module
35999 (grub_cmd_freebsd_module): Add type parsing moved from
36000 grub_freebsd_add_meta_module
36001 (grub_cmd_freebsd_module_elf): New function
36002 (cmd_freebsd_module_elf): New variable
36003 (GRUB_MOD_INIT): Register freebsd_module_elf
36004 * loader/i386/bsd32.c: New file
36005 * loader/i386/bsd64.c: Likewise
36006 * loader/i386/bsdXX.c: Likewise
36007 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
36008 (grub_elf64_load): Likewise
36009 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
36010 All users updated
36011 (grub_elf64_load_hook_t): Likewise
36012
0db15301 360132009-06-21 Colin Watson <cjwatson@ubuntu.com>
36014
36015 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
36016 variable.
36017 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
36018 don't write a menu entry for recovery mode.
36019
546796c1 360202009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36021
36022 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
36023 after it's no longer needed.
36024
cd7310d5 360252009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36026
36027 * include/grub/i386/loader.h (grub_linux_prot_size)
36028 (grub_linux_tmp_addr, grub_linux_real_addr)
36029 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
36030 GRUB_MACHINE_PCBIOS.
36031 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
36032 common grub_util_info() call to ...
36033 (generate_image): ... here.
36034 Fix use of uninitialized memory, comparison of signed with
36035 unsigned integers and memory leak.
36036 Remove bogus module address message.
36037
ab32d3b5 360382009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
36039
36040 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
36041 grub_raid_register
36042 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
36043
024ef597 360442009-06-19 Pavel Roskin <proski@gnu.org>
36045
36046 * configure.ac: Remove stray AC_MSG_CHECKING.
36047
3ac72b51 360482009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
36049
36050 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 36051
e14cd814 360522009-06-18 Pavel Roskin <proski@gnu.org>
36053
36054 * conf/common.rmk: Add fs_file.mod.
36055 * disk/fs_file.c: New file.
36056 * include/grub/disk.h (enum grub_disk_dev_id): Add
36057 GRUB_DISK_DEVICE_FILE_ID.
36058
26586d98 360592009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36060
36061 Fix build with Apple's toolchain. Part 2
36062
36063 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
36064 a fake start
36065
26de2bcd 360662009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36067
36068 Fix build with Apple's toolchain. Part 1
36069
36070 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
36071 for long calls
36072 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 36073 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 36074 Apple's toolchain
36075
09b3490b 360762009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36077
36078 Fix warnings
36079
36080 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
36081 (decomp_block): initialize ch
36082 use grub_memcpy instead of memcpy
36083
c22a006a 360842009-06-17 Pavel Roskin <proski@gnu.org>
36085
d3638678 36086 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
36087 version, use declarations needed to use vga_text as the startup
36088 console.
36089
c22a006a 36090 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
36091 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
36092 the kernel.
36093 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
36094 and grub_at_keyboard_fini(), it's done on module load and
36095 unload.
36096
05b129e0 360972009-06-17 Felix Zielcke <fzielcke@z-51.de>
36098
36099 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
36100 file can't be found.
36101 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36102
cf24ed9e 361032009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36104
36105 Fix newline handling
36106
36107 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 36108 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 36109 (grub_script_yylex): don't segfault on unterminated script
36110 newline terminates command and variable
36111
74aa8e4b 361122009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36113
36114 avoid double grub_adjust_range call. Bug reported by David Simner
36115
36116 * kern/disk.c (grub_disk_write): change to raw disk access before
36117 calling disk_read
36118
1bd265f3 361192009-06-17 Colin Watson <cjwatson@ubuntu.com>
36120
36121 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
36122 spaces, for the benefit of help2man.
36123 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36124
a2d08c06 361252009-06-16 Pavel Roskin <proski@gnu.org>
36126
36127 * kern/i386/halt.c: Include grub/machine/init.h.
36128 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
36129
b97bcb19 361302009-06-16 Felix Zielcke <fzielcke@z-51.de>
36131
36132 * util/grub.d/30_os-prober.in: Use ${root} in the generated
36133 drivemap menuentry.
36134
0644f96c 361352009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
36136
36137 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
36138 `echo' command.
36139
3ef17a2e 361402009-06-16 Pavel Roskin <proski@gnu.org>
36141
36142 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
36143 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
36144 save %dx, we only need %dl and we never change it.
36145 * boot/i386/pc/cdboot.S: Don't set the root drive.
36146 * boot/i386/pc/pxeboot.S: Likewise.
36147 * include/grub/i386/pc/boot.h: Remove
36148 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
36149 GRUB_BOOT_MACHINE_DRIVE_CHECK.
36150 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
36151 * kern/i386/pc/init.c (make_install_device): Remove references
36152 to grub_root_drive.
36153 * kern/i386/pc/startup.S: Likewise.
36154 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
36155
693fe637 361562009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36157
36158 xnu_uuid command
36159
36160 * commands/xnu_uuid.c: new file
36161 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
36162 (xnu_uuid_mod_SOURCES): new variable
36163 (xnu_uuid_mod_CFLAGS): likewise
36164 (xnu_uuid_mod_LDFLAGS): likewise
36165 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36166 * conf/i386-ieee1275.rmk: likewise
36167 * conf/i386-pc.rmk: likewise
36168 * conf/powerpc-ieee1275.rmk: likewise
36169 * conf/sparc64-ieee1275.rmk: likewise
36170 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
36171
c9da87d0 361722009-06-16 Pavel Roskin <proski@gnu.org>
36173
36174 * configure.ac: Avoid '==' in test command, it's not portable.
36175
9c6f4596 361762009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36177
36178 Probe command
36179
36180 * commands/probe.c: new file
36181 * conf/common.rmk (pkglib_MODULES): add probe.mod
36182 (probe_mod_SOURCES): new variable
36183 (probe_mod_CFLAGS): likewise
36184 (probe_mod_LDFLAGS): likewise
36185 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36186 * conf/i386-ieee1275.rmk: likewise
36187 * conf/i386-pc.rmk: likewise
36188 * conf/powerpc-ieee1275.rmk: likewise
36189 * conf/sparc64-ieee1275.rmk: likewise
36190
70b7f9fd 361912009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
36192
36193 Fix handling of string like \"hello\" and "a
36194 b"
36195
36196 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
36197 (grub_script_yylex): fix parsing of quoting, escaping and newline
36198
71c79a6b 361992009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
36200
dd74360c 36201 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 36202 handling
dd74360c 36203
0644f96c 362042009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 36205
36206 * util/grub-mkconfig.in: Fix parsing of --output option.
36207
e40893c3 362082009-06-12 Pavel Roskin <proski@gnu.org>
36209
36210 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
36211 genmk.rb don't need to be generated or installed.
36212
3a1acfe2 362132009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
36214
36215 * commands/i386/pc/drivemap_int13h.S: add more comments
36216
3a4575d4 362172009-06-11 Pavel Roskin <proski@gnu.org>
36218
0658e928 36219 * Makefile.in (uninstall): Uninstall manuals.
36220
ca0388f0 36221 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
36222 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
36223 and update-grub_lib in two places.
36224 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
36225
e3b27c39 36226 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
36227 a compiler warning.
36228
3a4575d4 36229 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
36230 `entry_lo' to fix variable shadowing.
36231
af1f4f55 362322009-06-11 Christian Franke <franke@computer.org>
36233
36234 * kern/misc.c (__enable_execute_stack): Add missing return type
36235 to prevent gcc warning.
36236
5225e649 362372009-06-11 Felix Zielcke <fzielcke@z-51.de>
36238
36239 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
36240
7d83bd47 362412009-06-11 Pavel Roskin <proski@gnu.org>
36242
c1cb63ba 36243 * Makefile.in: Don't rely on any scripts being executable.
36244 Always use $(SHELL) to run shell scripts.
36245
7d83bd47 36246 * configure.ac: Always define ___main if using -nostdlib. This
36247 fixes tests on Cygwin.
36248
948f48e7 362492009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
36250
36251 UDF fix
36252
7d83bd47 36253 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 36254 is in bytes and not in blocks
7d83bd47 36255
8ada9bc1 362562009-06-11 Pavel Roskin <proski@gnu.org>
36257
36258 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
36259 warning.
36260
25ad2323 362612009-06-11 Felix Zielcke <fzielcke@z-51.de>
36262
36263 * util/grub.d/30_os-prober.in: Fix a comment. Source
36264 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
36265 to set the root device. Place drivemap command in the generated
36266 chain entry.
36267
e65acb0c 362682009-06-11 Pavel Roskin <proski@gnu.org>
36269
36270 * configure.ac: Remove host_m32. Issues with 64-bit utilities
36271 have long been resolved.
36272
f285fe2d 362732009-06-11 Colin Watson <cjwatson@ubuntu.com>
36274
bd47b0b5 36275 * util/grub.d/10_linux.in: Capitalise "Linux".
36276
f285fe2d 36277 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
36278
a0c62e4e 362792009-06-11 Pavel Roskin <proski@gnu.org>
36280
b6783cb2 36281 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
36282 fix a gcc warning and ensure that the function won't ever exit.
36283
dde032e8 36284 * kern/i386/ieee1275/init.c: Add missing prototype for
36285 grub_stop_floppy().
36286
22cd079d 36287 * loader/ieee1275/multiboot2.c [__i386__]: Include
36288 grub/cpu/multiboot.h.
36289
a0c62e4e 36290 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
36291 casts to short - they are not portable and cause warnings. Fix
36292 use of uninitialized values in input_buf. Use ARRAY_SIZE.
36293
63963d17 362942009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
36295
36296 Drivemap fixes
36297
36298 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
36299 new function
36300 (grub_get_root_biosnumber_saved): new variable
36301 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
36302 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 36303 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 36304 %dx after the call if necessary
36305 * conf/common.rmk (pkglib_MODULES): remove boot.mod
36306 (boot_mod_SOURCES): remove
36307 (boot_mod_CFLAGS): remove
36308 (boot_mod_LDFLAGS): remove
36309 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
36310 (boot_mod_SOURCES): new variable
36311 (boot_mod_CFLAGS): likewise
36312 (boot_mod_LDFLAGS): likewise
36313 * conf/i386-efi.rmk: likewise
36314 * conf/i386-ieee1275.rmk: likewise
36315 * conf/i386-pc.rmk: likewise
36316 * conf/powerpc-ieee1275.rmk: likewise
36317 * conf/sparc64-ieee1275.rmk: likewise
36318 * conf/x86_64-efi.rmk: likewise
36319 * include/grub/i386/pc/biosnum.h: new file
36320 * lib/i386/pc/biosnum.c: likewise
36321 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
36322 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
36323 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 36324
33abf7ae 363252009-06-10 Pavel Roskin <proski@gnu.org>
36326
5ac35b35 36327 * io/gzio.c (test_header): Don't reuse one buffer for all data.
36328 Use separate variables. Read only the file size at the end, but
36329 not the checksum that we don't use.
36330
5c5215d5 36331 * kern/file.c (grub_file_read): Use void pointer for the buffer.
36332 Adjust all callers.
36333
27d5fef7 36334 * kern/ieee1275/openfw.c: Remove libc includes.
36335 * kern/ieee1275/cmain.c: Likewise.
36336 * include/grub/ieee1275/ieee1275.h: Likewise.
36337
33abf7ae 36338 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
36339 compiler warnings.
36340
19d50c2b 363412009-06-10 Felix Zielcke <fzielcke@z-51.de>
36342
36343 * Makefile.in: Remove all trailing whitespace.
36344 * conf/i386-pc.rmk: Likewise.
36345 * conf/powerpc-ieee1275.rmk: Likewise.
36346 * conf/sparc64-ieee1275.rmk: Likewise.
36347 * docs/grub.texi: Likewise.
36348 * docs/texinfo.tex: Likewise.
36349 * disk/fs_uuid.c: Likewise.
36350 * disk/lvm.c: Likewise.
36351 * disk/scsi.c: Likewise.
36352 * disk/ata.c: Likewise.
36353 * disk/ieee1275/ofdisk.c: Likewise.
36354 * disk/i386/pc/biosdisk.c: Likewise.
36355 * disk/host.c: Likewise.
36356 * disk/raid.c: Likewise.
36357 * disk/efi/efidisk.c: Likewise.
36358 * disk/usbms.c: Likewise.
36359 * disk/memdisk.c: Likewise.
36360 * disk/loopback.c: Likewise.
36361 * kern/powerpc/dl.c: Likewise.
36362 * kern/device.c: Likewise.
36363 * kern/dl.c: Likewise.
36364 * kern/sparc64/dl.c: Likewise.
36365 * kern/ieee1275/ieee1275.c: Likewise.
36366 * kern/term.c: Likewise.
36367 * kern/fs.c: Likewise.
36368 * kern/i386/dl.c: Likewise.
36369 * kern/i386/pc/startup.S: Likewise.
36370 * kern/i386/pc/init.c: Likewise.
36371 * kern/i386/pc/mmap.c: Likewise.
36372 * kern/i386/pc/lzo1x.S: Likewise.
36373 * kern/i386/ieee1275/init.c: Likewise.
36374 * kern/i386/realmode.S: Likewise.
36375 * kern/i386/tsc.c: Likewise.
36376 * kern/partition.c: Likewise.
36377 * kern/corecmd.c: Likewise.
36378 * kern/file.c: Likewise.
36379 * kern/efi/efi.c: Likewise.
36380 * kern/efi/init.c: Likewise.
36381 * kern/efi/mm.c: Likewise.
36382 * kern/main.c: Likewise.
36383 * kern/err.c: Likewise.
36384 * kern/env.c: Likewise.
36385 * kern/disk.c: Likewise.
36386 * kern/generic/millisleep.c: Likewise.
36387 * kern/generic/rtc_get_time_ms.c: Likewise.
36388 * kern/misc.c: Likewise.
36389 * kern/parser.c: Likewise.
36390 * genmk.rb: Likewise.
36391 * configure.ac: Likewise.
36392 * boot/i386/pc/diskboot.S: Likewise.
36393 * boot/i386/pc/pxeboot.S: Likewise.
36394 * boot/i386/pc/boot.S: Likewise.
36395 * boot/i386/pc/lnxboot.S: Likewise.
36396 * boot/i386/pc/cdboot.S: Likewise.
36397 * parttool/pcpart.c: Likewise.
36398 * video/readers/tga.c: Likewise.
36399 * video/video.c: Likewise.
36400 * video/bitmap.c: Likewise.
36401 * lib/envblk.c: Likewise.
36402 * lib/i386/setjmp.S: Likewise.
36403 * fs/xfs.c: Likewise.
36404 * fs/afs.c: Likewise.
36405 * fs/fat.c: Likewise.
36406 * fs/ntfs.c: Likewise.
36407 * fs/udf.c: Likewise.
36408 * fs/affs.c: Likewise.
36409 * fs/iso9660.c: Likewise.
36410 * fs/hfs.c: Likewise.
36411 * fs/fshelp.c: Likewise.
36412 * fs/ext2.c: Likewise.
36413 * fs/jfs.c: Likewise.
36414 * fs/reiserfs.c: Likewise.
36415 * fs/hfsplus.c: Likewise.
36416 * fs/minix.c: Likewise.
36417 * fs/cpio.c: Likewise.
36418 * fs/sfs.c: Likewise.
36419 * fs/ufs.c: Likewise.
36420 * efiemu/prepare.c: Likewise.
36421 * efiemu/loadcore_common.c: Likewise.
36422 * efiemu/runtime/efiemu.sh: Likewise.
36423 * efiemu/runtime/efiemu.S: Likewise.
36424 * efiemu/runtime/efiemu.c: Likewise.
36425 * efiemu/pnvram.c: Likewise.
36426 * efiemu/main.c: Likewise.
36427 * efiemu/i386/pc/cfgtables.c: Likewise.
36428 * efiemu/i386/loadcore64.c: Likewise.
36429 * efiemu/i386/loadcore32.c: Likewise.
36430 * efiemu/loadcore.c: Likewise.
36431 * efiemu/symbols.c: Likewise.
36432 * efiemu/mm.c: Likewise.
36433 * include/grub/autoefi.h: Likewise.
36434 * include/grub/datetime.h: Likewise.
36435 * include/grub/term.h: Likewise.
36436 * include/grub/hfs.h: Likewise.
36437 * include/grub/lvm.h: Likewise.
36438 * include/grub/i386/tsc.h: Likewise.
36439 * include/grub/i386/linux.h: Likewise.
36440 * include/grub/i386/xnu.h: Likewise.
36441 * include/grub/i386/efiemu.h: Likewise.
36442 * include/grub/i386/pc/biosdisk.h: Likewise.
36443 * include/grub/i386/pc/memory.h: Likewise.
36444 * include/grub/i386/pc/vbe.h: Likewise.
36445 * include/grub/parttool.h: Likewise.
36446 * include/grub/video.h: Likewise.
36447 * include/grub/memory.h: Likewise.
36448 * include/grub/fs.h: Likewise.
36449 * include/grub/partition.h: Likewise.
36450 * include/grub/xnu.h: Likewise.
36451 * include/grub/efi/api.h: Likewise.
36452 * include/grub/efi/pe32.h: Likewise.
36453 * include/grub/efi/memory.h: Likewise.
36454 * include/grub/multiboot.h: Likewise.
36455 * include/grub/usbdesc.h: Likewise.
36456 * include/grub/multiboot2.h: Likewise.
36457 * include/grub/acpi.h: Likewise.
36458 * include/grub/efiemu/efiemu.h: Likewise.
36459 * include/grub/disk.h: Likewise.
36460 * include/grub/ieee1275/ieee1275.h: Likewise.
36461 * include/grub/net.h: Likewise.
36462 * include/grub/machoload.h: Likewise.
36463 * include/grub/macho.h: Likewise.
36464 * include/multiboot.h: Likewise.
36465 * genmoddep.awk: Likewise.
36466 * normal/main.c: Likewise.
36467 * normal/menu_entry.c: Likewise.
36468 * normal/menu_viewer.c: Likewise.
36469 * normal/completion.c: Likewise.
36470 * normal/cmdline.c: Likewise.
36471 * normal/misc.c: Likewise.
36472 * normal/datetime.c: Likewise.
36473 * bus/usb/usbtrans.c: Likewise.
36474 * bus/usb/ohci.c: Likewise.
36475 * bus/usb/uhci.c: Likewise.
36476 * bus/usb/usb.c: Likewise.
36477 * mmap/efi/mmap.c: Likewise.
36478 * mmap/i386/pc/mmap_helper.S: Likewise.
36479 * mmap/i386/pc/mmap.c: Likewise.
36480 * mmap/i386/mmap.c: Likewise.
36481 * mmap/i386/uppermem.c: Likewise.
36482 * mmap/mmap.c: Likewise.
36483 * commands/acpi.c: Likewise.
36484 * commands/echo.c: Likewise.
36485 * commands/blocklist.c: Likewise.
36486 * commands/loadenv.c: Likewise.
36487 * commands/usbtest.c: Likewise.
36488 * commands/boot.c: Likewise.
36489 * commands/parttool.c: Likewise.
36490 * commands/search.c: Likewise.
36491 * commands/cat.c: Likewise.
36492 * commands/i386/pc/play.c: Likewise.
36493 * commands/i386/pc/drivemap.c: Likewise.
36494 * commands/i386/pc/vbeinfo.c: Likewise.
36495 * commands/i386/pc/acpi.c: Likewise.
36496 * commands/i386/pc/vbetest.c: Likewise.
36497 * commands/ls.c: Likewise.
36498 * commands/cmp.c: Likewise.
36499 * commands/test.c: Likewise.
36500 * commands/efi/acpi.c: Likewise.
36501 * commands/gptsync.c: Likewise.
36502 * commands/help.c: Likewise.
36503 * partmap/amiga.c: Likewise.
36504 * partmap/apple.c: Likewise.
36505 * partmap/acorn.c: Likewise.
36506 * partmap/pc.c: Likewise.
36507 * partmap/sun.c: Likewise.
36508 * partmap/gpt.c: Likewise.
36509 * script/sh/lexer.c: Likewise.
36510 * script/sh/function.c: Likewise.
36511 * font/font.c: Likewise.
36512 * font/font_cmd.c: Likewise.
36513 * loader/powerpc/ieee1275/linux.c: Likewise.
36514 * loader/efi/chainloader.c: Likewise.
36515 * loader/multiboot_loader.c: Likewise.
36516 * loader/macho.c: Likewise.
36517 * loader/i386/multiboot.c: Likewise.
36518 * loader/i386/linux.c: Likewise.
36519 * loader/i386/pc/linux.c: Likewise.
36520 * loader/i386/pc/multiboot2.c: Likewise.
36521 * loader/i386/pc/chainloader.c: Likewise.
36522 * loader/i386/pc/xnu.c: Likewise.
36523 * loader/i386/bsd_trampoline.S: Likewise.
36524 * loader/i386/efi/linux.c: Likewise.
36525 * loader/i386/multiboot_elfxx.c: Likewise.
36526 * loader/i386/bsd_helper.S: Likewise.
36527 * loader/i386/bsd.c: Likewise.
36528 * loader/i386/linux_trampoline.S: Likewise.
36529 * loader/i386/xnu_helper.S: Likewise.
36530 * loader/i386/xnu.c: Likewise.
36531 * loader/i386/bsd_pagetable.c: Likewise.
36532 * loader/i386/multiboot_helper.S: Likewise.
36533 * loader/xnu.c: Likewise.
36534 * loader/xnu_resume.c: Likewise.
36535 * io/gzio.c: Likewise.
36536 * term/efi/console.c: Likewise.
36537 * term/terminfo.c: Likewise.
36538 * term/ieee1275/ofconsole.c: Likewise.
36539 * term/i386/pc/serial.c: Likewise.
36540 * term/i386/pc/vesafb.c: Likewise.
36541 * term/i386/pc/vga.c: Likewise.
36542 * term/usb_keyboard.c: Likewise.
36543 * term/gfxterm.c: Likewise.
36544 * aclocal.m4: Likewise.
36545 * util/lvm.c: Likewise.
36546 * util/grub.d/30_os-prober.in: Likewise.
36547 * util/grub.d/10_hurd.in: Likewise.
36548 * util/console.c: Likewise.
36549 * util/grub-macho2img.c: Likewise.
36550 * util/grub-probe.c: Likewise.
36551 * util/hostfs.c: Likewise.
36552 * util/i386/pc/grub-mkimage.c: Likewise.
36553 * util/i386/pc/grub-setup.c: Likewise.
36554 * util/i386/efi/grub-mkimage.c: Likewise.
36555 * util/grub-mkconfig.in: Likewise.
36556 * util/raid.c: Likewise.
36557 * util/resolve.c: Likewise.
36558 * util/grub-mkdevicemap.c: Likewise.
36559 * util/grub-emu.c: Likewise.
36560 * util/getroot.c: Likewise.
36561 * util/hostdisk.c: Likewise.
36562 * util/usb.c: Likewise.
36563 * util/grub-editenv.c: Likewise.
36564 * util/misc.c: Likewise.
36565
d2d49665 365662009-06-10 Felix Zielcke <fzielcke@z-51.de>
36567
36568 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
36569 `genparttoollist.sh'.
36570 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
36571 Add `*.sh' to the list find searches for and change `mdate.sh'
36572 to `mdate-sh'.
36573
fe052e37 365742009-06-10 Pavel Roskin <proski@gnu.org>
36575
2763ac18 36576 * include/grub/multiboot2.h: Provide compatibility defines for
36577 multiboot2.h.
36578 * include/multiboot2.h: Include stdint.h only if needed, using
36579 angle brackets.
36580 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
36581 grub/multiboot2.h.
36582 * loader/ieee1275/multiboot2.c: Likewise.
36583 * loader/multiboot2.c: Likewise.
36584 * loader/multiboot_loader.c: Likewise.
36585
437e6adc 36586 * configure.ac: Use -nostdlib when probing for the target. It
36587 should not be required to have libc for the target.
36588
06a6836c 36589 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
36590 they fail without libc headers for the target.
36591 * include/grub/powerpc/libgcc.h: Use weak attribute for all
36592 exports.
36593 * include/grub/sparc64/libgcc.h: Likewise. Don't use
36594 preprocessor conditionals.
36595
fe052e37 36596 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
36597 build system doesn't need to be aware of the tar.c internals.
36598
afd22553 365992009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 36600
afd22553 36601 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 36602
6b787c4f 366032009-06-09 Robert Millan <rmh.grub@aybabtu.com>
36604
36605 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
36606 disk limit to 26 for IDE, Virtio, Xen and SCSI.
36607
366082009-06-09 Felix Zielcke <fzielcke@z-51.de>
36609
36610 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 36611 aren't available if ata.mod gets used.
6b787c4f 36612
473d1e45 366132009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 36614
473d1e45 36615 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 36616 initialising controller.
473d1e45 36617 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 36618
255a27d4 366192009-06-08 Felix Zielcke <fzielcke@z-51.de>
36620
36621 * util/i386/pc/grub-install.in: Add a parameter --disk-module
36622 to choose between ata and biosdisk module on i386-pc.
36623
473d1e45 366242009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 36625
d55842d8 36626 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
36627 Subclass and Programming Interface fields in terms of the 3 byte
36628 Class Code register.
36629 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36630
fa5db0b1 36631 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
36632 interface is OHCI. Add grub_dprintf for symmetry with
36633 bus/usb/uhci.c.
36634 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
36635 interface is UHCI. Add interf variable for programming
36636 interface. Print interface with class/subclass.
36637
c0947beb 36638 * bus/usb/ohci.c: Set interf with correct field.
36639
69da8877 36640 * bus/usb/uhci.c: Remove unneeded doubled lines.
36641 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
36642 Remove whitespace inside comment.
36643
9e172e30 366442009-06-08 Robert Millan <rmh.grub@aybabtu.com>
36645
36646 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
36647 as fallback an equivalent option without depth.
36648
de65ee2b 366492009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36650
36651 Not fail if unable to retrieve C/H/S on LBA disks
36652
473d1e45 36653 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 36654 if unable to retrieve C/H/S on LBA disks
36655
b57ea2c9 366562009-06-08 Pavel Roskin <proski@gnu.org>
36657
36658 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
36659 about aliasing.
36660
af361263 366612009-06-08 Felix Zielcke <fzielcke@z-51.de>
36662
36663 * Makefile.in (uninstall): Remove all $lib_DATA files.
36664
4c9ec6b3 366652009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36666
36667 Bugfix: install on partitionless device
36668
36669 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
36670 is a whole disk
36671
e76fc924 366722009-06-08 Felix Zielcke <fzielcke@z-51.de>
36673
36674 * Makefile.in (uninstall): Remove all $include_DATA files.
36675
ba5a0d05 366762009-06-08 Felix Zielcke <fzielcke@z-51.de>
36677
36678 * commands/true.c: New file. Implement the true and false commands.
36679 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36680 (true_mod_SOURCES): New variable.
36681 (true_mod_CFLAGS): Likewise.
36682 (true_mod_LDFLAGS): Likewise.
36683
c8048e32 366842009-06-05 Colin D Bennett <colin@gibibit.com>
36685
36686 Optimized font character lookup using binary search instead of linear
36687 search. Fonts now are required to have the character index ordered by
36688 code point.
36689
36690 * font/font.c (load_font_index): Verify that fonts have ordered
36691 character indices.
36692 (find_glyph): Use binary search instead of linear search to find a
36693 character in a font.
36694
408305be 366952009-06-05 Michael Scherer <misc@mandriva.org>
36696
36697 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36698 uses case sensitive btree.
36699 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36700 only for case insensitive filesystems.
36701
8ee1e0d9 367022009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36703
36704 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36705 * conf/common.rmk (search_mod_CFLAGS): likewise
36706
a9966eb1 367072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36708
473d1e45 36709 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 36710 compensate a compiler bug
36711
9e7100fb 367122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36713
473d1e45 36714 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 36715 instead of '\b'
473d1e45 36716
ede21d71 367172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36718
36719 Definitions for creating asm symbols with Apple's CC
36720
36721 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36722 [APPLE_CC] (VARIABLE): likewise
36723
9dbf7653 367242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36725
36726 Disable lnxboot.img when compiled
36727 with Apple's CC
36728
36729 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36730 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36731 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36732 [! APPLE_CC] (CODE_LENG): skip
36733 [! APPLE_CC] (setup_sects): likewise
36734 [! APPLE_CC]: skip filling
473d1e45 36735
e93cdc3d 367362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36737
36738 Address in trampolines based on 32-bit registers when compiled
36739 with Apple's CC
36740
473d1e45 36741 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 36742 for addresses
36743 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36744
6c688477 367452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36746
36747 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36748
36749 * kern/misc.c [APPLE_CC] (memcpy): new function
36750 [APPLE_CC] (memmove): likewise
36751 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 36752 (memcpy): define alias conditionally on !APPLE_CC
6c688477 36753 (memset): likewise
36754 (abort): likewise
36755 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36756 APPLE_CC are defined
36757 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36758 (grub_assert_fail): make prototype conditional
36759
e37ffc5c 367602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36761
36762 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36763
473d1e45 36764 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36765 grub-macho2img
e37ffc5c 36766 (CLEANFILES): add grub-macho2img
36767 (grub_macho2img_SOURCES): new variable
36768 * kern/i386/pc/startup.S (bss_start): new variable
36769 (bss_end): likewise
36770 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36771 * util/grub-macho2img.c: new file
36772
cf00df31 367732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36774
36775 Use objconv when compiling with Apple's CC
36776
36777 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36778 (efiemu64.o): likewise
36779 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36780 when compiling with Apple's CC
36781 (efiemu64_s.o): likewise
36782 * configure.ac: check for objconv when compiling with Apple's CC
36783 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 36784
d119a20c 367852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36786
36787 Define segment as well as section when compiling with
36788 Apple's CC
36789
36790 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36791 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36792 (efiemu_convert_pointer): likewise
36793 (efiemu_set_virtual_address_map): likewise
36794 (efiemu_convert_pointer): likewise
36795 (efiemu_getcrc32): likewise
36796 (init_crc32_table): likewise
36797 (reflect): likewise
36798 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36799 (GRUB_MOD_DEP): likewise
473d1e45 36800
c8600122 368012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36802
36803 Allow a compilation without -mcmodel=large
36804
36805 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
36806 when compiled without -mcmodel=large
473d1e45 36807 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 36808 without -mcmodel=large
473d1e45 36809 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 36810 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 36811
e8df1d4e 368122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36813
36814 Remove nested functions in efiemu core
36815
36816 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 36817
cc6c3ac1 368182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36819
36820 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36821
36822 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36823 temporary storage
473d1e45 36824 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36825 using Apple's CC
cc6c3ac1 36826 (grub_cpu_is_tsc_supported): likewise
36827 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 36828
3e325901 368292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36830
36831 Absolute addressing through constant with Apple's cc
36832
36833 * kern/i386/pc/startup.S: Define necessary constants
36834 and address through it when using ABS with Apple's CC
36835 * boot/i386/pc/diskboot.S: likewise
36836 * boot/i386/pc/boot.S: likewise
36837 * boot/i386/pc/lnxboot.S: likewise
36838 * boot/i386/pc/cdboot.S: likewise
36839 * mmap/i386/pc/mmap_helper.S: likewise
36840 * commands/i386/pc/drivemap_int13h.S: likewise
36841
2b167a72 368422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36843
36844 Check if compiler is apple cc
36845
36846 * Makefile.in (ASFLAGS): new variable
36847 (TARGET_ASFLAGS): likewise
36848 (TARGET_MODULE_FORMAT): likewise
36849 (TARGET_APPLE_CC): likewise
36850 (OBJCONV): likewise
36851 (TARGET_IMG_CFLAGS): likewise
36852 (TARGET_CPPFLAGS): add includedir
36853 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36854 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36855 Check for linker script only if compiler isn't Apple's CC
36856 (TARGET_MODULE_FORMAT): set
36857 (TARGET_APPLE_CC): likewise
36858 (TARGET_ASFLAGS): likewise
36859 (ASFLAGS): likewise
36860 Check for objcopy only if compiler isn't Apple's CC
36861 Check for BSS symbol only if compiler isn't Apple's CC
36862 * genmk.rb: adapt nm options if we use Apple's utils
36863 * aclocal.m4 (grub_apple_cc): new test
36864 (grub_apple_target_cc): likewise
473d1e45 36865
fb14123e 368662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36867
36868 Simplify sed expressions and improve awk
36869
36870 * Makefile.in (install-local): simplify sed expression
36871 * gencmdlist.sh: likewise
36872 * genmoddep.awk: avoid adding module as a dependency of itself
36873
5b889789 368742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36875
36876 Add missing start symbols
36877
36878 * boot/i386/pc/boot.S: add start
fb14123e 36879 * boot/i386/pc/pxeboot.S: likewise
473d1e45 36880
fd2bf2e3 368812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36882
36883 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 36884
36885 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 36886 (relocate_addresses): consider both r_addend and value at offset
36887 (make_mods_section): zerofill modinfo and header
36888 (convert_elf): write prefix here
473d1e45 36889
5389763d 368902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36891
36892 Use .asciz instead of .string
36893
36894 * i386/pc/diskboot.S: use .asciz instead of .string
36895 * i386/pc/boot.S: likewise
36896 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36897 (GRUB_MOD_NAME): likewise
473d1e45 36898
3eb5ed4e 368992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36900
36901 gfxpayload support
36902
36903 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36904 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36905 (grub_video_setup): remove
36906 (grub_video_set_mode): new prototype
36907 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36908 (vid_mode): remove
36909 (linux_vesafb_res): compile only on PCBIOS
36910 (grub_linux_boot): support gfxpayload
36911 * loader/i386/pc/xnu.c (video_hook): new function
36912 (grub_xnu_set_video): support gfxpayload
36913 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36914 (DEFAULT_VIDEO_HEIGHT): likewise
36915 (DEFAULT_VIDEO_FLAGS): likewise
36916 (DEFAULT_VIDEO_MODE): new definition
36917 (video_hook): new function
36918 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 36919 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 36920 loading xnu
36921 * video/video.c (grub_video_setup): removed
473d1e45 36922 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 36923 grub_video_setup
36924
4b0e1143 369252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36926
36927 Avoid calling biosdisk in drivemap
36928
36929 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36930 (revparse_biosdisk): likewise
36931 (list_mappings): derive name from id directly
36932 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 36933
fda6cb98 369342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36935
36936 Script fixes
36937
36938 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36939 (grub_lexer_param): add tokenonhold
36940 (grub_script_create_cmdline): remove cmdline. All callers updated
36941 (grub_script_function_create): make functionname
36942 grub_script_arg. All callers updated
36943 (grub_script_execute_argument_to_string): new prototype
36944 * kern/parser.c (state_transitions): reorder
36945 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 36946 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 36947 make global
36948 (grub_script_execute_cmdline): use new format
36949 * script/sh/function.c (grub_script_function_create): make functionname
36950 grub_script_arg. All callers updated
473d1e45 36951 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 36952 (grub_script_yylex): remove
36953 (grub_script_yylex2): renamed to ...
36954 (grub_script_yylex): ...renamed
36955 parse the expressions like a${b}c
36956 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36957 (GRUB_PARSER_TOKEN_VAR): remove
36958 (GRUB_PARSER_TOKEN_NAME): likewise
36959 ("if"): declare as typeless
36960 ("while"): likewise
36961 ("function"): likewise
36962 ("else"): likewise
36963 ("then"): likewise
36964 ("fi"): likewise
36965 (text): remove
36966 (argument): likewise
36967 (script): accept empty scripts and make exit on error
36968 (arguments): use GRUB_PARSER_TOKEN_ARG
36969 (function): likewise
36970 (command): move error handling to script
36971 (menuentry): move grub_script_lexer_ref before
473d1e45 36972 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 36973 argument. All callers updated
36974
f4448a07 369752009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36976
36977 Prevent GRUB from probing floppies during boot.
36978
36979 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36980 * commands/search.c (options): Add --no-floppy.
36981 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36982 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36983 --no-floppy when searching for UUIDs.
36984
2bf5885a 369852009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36986
36987 Simplify the code duplication in commands/search.c.
36988
36989 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36990 (search_fs): ... this. Update all users.
36991
f6fd460a 369922009-06-03 Felix Zielcke <fzielcke@z-51.de>
36993
36994 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36995
cbb3c83e 369962009-05-28 Pavel Roskin <proski@gnu.org>
36997
57788cfd 36998 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36999 Remove the original symlink explicitly.
37000
cbb3c83e 37001 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
37002 just one slash. That's how grub_fshelp_find_file() does it.
37003
cd0d5e30 370042009-05-26 Pavel Roskin <proski@gnu.org>
37005
f0f8bbe2 37006 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
37007 to `str'.
37008
cd0d5e30 37009 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
37010 possibly unused.
37011
8c2cab51 370122009-05-25 Christian Franke <franke@computer.org>
37013
37014 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
37015 register.
37016 (grub_atapi_identify): Add wait after drive select.
37017 (grub_ata_identify): Do more strict status register check before
37018 calling grub_atapi_identify (). Suppress error message if status
37019 register is 0x00 after command failure. Add status register
37020 check after PIO read to avoid bogus identify due to stuck DRQ.
37021 Thanks to Pavel Roskin for testing.
37022 (grub_device_initialize): Remove unsafe status register check.
37023 Thanks to 'phcoder' for problem report and patch.
37024 Prevent sign extension in debug message.
37025
230c0ad6 370262009-05-23 Colin D Bennett <colin@gibibit.com>
37027
37028 Cleaned up `include/grub/normal.h'. Grouped prototypes by
37029 definition file, and functions defined in `normal/menu.c' have had
37030 their prototypes moved to `include/grub/menu.h' for consistency.
37031
37032 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
37033 from normal.h.
37034 (grub_menu_get_entry): Likewise.
37035 (grub_menu_get_timeout): Likewise.
37036 (grub_menu_set_timeout): Likewise.
37037 (grub_menu_execute_entry): Likewise.
37038 (grub_menu_execute_with_fallback): Likewise.
37039 (grub_menu_entry_run): Likewise.
37040
37041 * include/grub/normal.h: Re-ordered and grouped function
37042 prototypes by file that the function is defined in.
37043 (grub_menu_execute_callback): Removed; moved to menu.h.
37044 (grub_menu_get_entry): Likewise.
37045 (grub_menu_get_timeout): Likewise.
37046 (grub_menu_set_timeout): Likewise.
37047 (grub_menu_execute_entry): Likewise.
37048 (grub_menu_execute_with_fallback): Likewise.
37049 (grub_menu_entry_run): Likewise.
37050 (grub_menu_addentry): Renamed from this ...
37051 (grub_normal_add_menu_entry): ... to this.
37052
37053 * normal/main.c (grub_menu_addentry): Renamed from this ...
37054 (grub_normal_add_menu_entry): ... to this.
37055
37056 * script/sh/execute.c (grub_script_execute_menuentry): Update
37057 reference to renamed grub_menu_addentry function.
37058
861f03a5 370592009-05-23 Felix Zielcke <fzielcke@z-51.de>
37060
37061 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
37062
96b1619a 370632009-05-22 Pavel Roskin <proski@gnu.org>
37064
bf6a5fb2 37065 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
37066 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
37067 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
37068 compiling for the i386 targets, but not for the utilities.
37069
96b1619a 37070 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
37071 to grub_uint8_t.
37072 (grub_root_drive): Likewise.
37073 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
37074 remove alignment.
37075 (grub_root_drive): Change size to byte.
37076 (grub_start_addr): Remove.
37077 (grub_end_addr): Likewise.
37078 (grub_apm_bios_info): Likewise.
37079
b729776b 370802009-05-21 Felix Zielcke <fzielcke@z-51.de>
37081
37082 * normal/i386: Remove.
37083 * normal/powerpc: Likewise.
37084 * normal/sparc64: Likewise.
37085 * normal/x86_64: Likewise.
37086
0a15ce80 370872009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
37088
37089 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 37090 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 37091 * loader/i386/xnu_helper.S: Likewise
d6da58e6 37092
33db9015 370932009-05-18 Colin D Bennett <colin@gibibit.com>
37094
d6da58e6 37095 Display error messages when parsing a Lua statement fails.
37096 Previously, executing a syntactically invalid statement like
37097 ")foo" or "bar;" would silently fail.
33db9015 37098
37099 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 37100 (grub_lua_parse_line): Improved reporting of Lua parser and
37101 execution errors.
33db9015 37102
46422c89 371032009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37104
37105 Remove -Werror which causes build to fail on some systems
37106
37107 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
37108 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
37109 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 37110
22f53a96 371112009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37112
37113 trampoline for linux on 64-bit platform
37114
18f547ad 37115 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
37116 loader/i386/efi/linux_trampoline.S
37117 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 37118 declaration
d6da58e6 37119 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
37120 here
22f53a96 37121 * loader/i386/linux_trampoline.S: moved here
d6da58e6 37122 * loader/i386/efi/linux.c (allocate_pages): reserve space for
37123 trampoline
22f53a96 37124 (jumpvector): removed
37125 (grub_linux_trampoline_start): new declaration
37126 (grub_linux_trampoline_end): likewise
37127 (grub_linux_boot): use trampoline when on 64-bit platform
37128 * loader/i386/linux.c: likewise
37129
cb5a0f40 371302009-05-16 Pavel Roskin <proski@gnu.org>
37131
37132 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
37133 const to avoid a warning.
37134 (grub_lua_setenv): Likewise.
37135 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
37136 lmsg to fix a warning.
37137
334f2c28 371382009-05-16 Felix Zielcke <fzielcke@z-51.de>
37139
37140 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 37141 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37142 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
37143 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37144 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37145 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37146 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37147 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 37148
59e5d3ec 371492009-05-16 Felix Zielcke <fzielcke@z-51.de>
37150
37151 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
37152
9d87a1ba 371532009-05-16 Bean <bean123ch@gmail.com>
37154
37155 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
37156 (lua_mod_SOURCES): New variable.
37157 (lua_mod_CFLAGS): Likewise.
37158 (lua_mod_LDFLAGS): Likewise.
37159
37160 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
37161 (setjmp_mod_SOURCES): New variable.
37162 (setjmp_mod_CFLAGS): Likewise.
37163 (setjmp_LDFLAGS): Likewise.
37164
37165 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
37166 (setjmp_mod_SOURCES): New variable.
37167 (setjmp_mod_CFLAGS): Likewise.
37168 (setjmp_LDFLAGS): Likewise.
37169
37170 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37171 (setjmp_mod_SOURCES): New variable.
37172 (setjmp_mod_CFLAGS): Likewise.
37173 (setjmp_LDFLAGS): Likewise.
37174
37175 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37176 (setjmp_mod_SOURCES): New variable.
37177 (setjmp_mod_CFLAGS): Likewise.
37178 (setjmp_LDFLAGS): Likewise.
37179
37180 * normal/i386/setjmp.S: Moved from here ...
37181 * lib/i386/setjmp.S: ... Moved here
37182 * normal/x86_64/setjmp.S: Moved from here ...
37183 * lib/x86_64/setjmp.S: ... Moved here
37184 * normal/powerpc/setjmp.S: Moved from here ...
37185 * lib/powerpc/setjmp.S: ... Moved here
37186 * normal/sparc64/setjmp.S: Moved from here ...
37187 * lib/sparc64/setjmp.S: ... Moved here
37188
37189 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
37190 returns_twice in mingw.
37191
37192 * script/lua/grub_lib.c: New file.
37193 * script/lua/grub_lib.h: Likewise.
37194 * script/lua/grub_lua.h: Likewise.
37195 * script/lua/grub_main.c: Likewise.
37196 * script/lua/lapi.c: Likewise.
37197 * script/lua/lapi.h: Likewise.
37198 * script/lua/lauxlib.c: Likewise.
37199 * script/lua/lauxlib.h: Likewise.
37200 * script/lua/lbaselib.c: Likewise.
37201 * script/lua/lcode.c: Likewise.
37202 * script/lua/lcode.h: Likewise.
37203 * script/lua/ldblib.c: Likewise.
37204 * script/lua/ldebug.c: Likewise.
37205 * script/lua/ldebug.h: Likewise.
37206 * script/lua/ldo.c: Likewise.
37207 * script/lua/ldo.h: Likewise.
37208 * script/lua/ldump.c: Likewise.
37209 * script/lua/lfunc.c: Likewise.
37210 * script/lua/lfunc.h: Likewise.
37211 * script/lua/lgc.c: Likewise.
37212 * script/lua/lgc.h: Likewise.
37213 * script/lua/linit.c: Likewise.
37214 * script/lua/liolib.c: Likewise.
37215 * script/lua/llex.c: Likewise.
37216 * script/lua/llex.h: Likewise.
37217 * script/lua/llimits.h: Likewise.
37218 * script/lua/lmathlib.c: Likewise.
37219 * script/lua/lmem.c: Likewise.
37220 * script/lua/lmem.h: Likewise.
37221 * script/lua/loadlib.c: Likewise.
37222 * script/lua/lobject.c: Likewise.
37223 * script/lua/lobject.h: Likewise.
37224 * script/lua/lopcodes.c: Likewise.
37225 * script/lua/lopcodes.h: Likewise.
37226 * script/lua/loslib.c: Likewise.
37227 * script/lua/lparser.c: Likewise.
37228 * script/lua/lparser.h: Likewise.
37229 * script/lua/lstate.c: Likewise.
37230 * script/lua/lstate.h: Likewise.
37231 * script/lua/lstring.c: Likewise.
37232 * script/lua/lstring.h: Likewise.
37233 * script/lua/lstrlib.c: Likewise.
37234 * script/lua/ltable.c: Likewise.
37235 * script/lua/ltable.h: Likewise.
37236 * script/lua/ltablib.c: Likewise.
37237 * script/lua/ltm.c: Likewise.
37238 * script/lua/ltm.h: Likewise.
37239 * script/lua/lua.h: Likewise.
37240 * script/lua/luaconf.h: Likewise.
37241 * script/lua/lualib.h: Likewise.
37242 * script/lua/lundump.c: Likewise.
37243 * script/lua/lundump.h: Likewise.
37244 * script/lua/lvm.c: Likewise.
37245 * script/lua/lvm.h: Likewise.
37246 * script/lua/lzio.c: Likewise.
37247 * script/lua/lzio.h: Likewise.
37248
5e898c9d 372492009-05-16 Bean <bean123ch@gmail.com>
37250
37251 * include/grub/kernel.h (grub_module_header_types): Add type
37252 OBJ_TYPE_CONFIG.
37253
37254 * kern/main.c (grub_load_config): New function.
37255 (grub_main): Call grub_load_config to read boot config.
37256
37257 * grub-mkimage (generate_image): New parameter config_path.
37258 (options): New option --config.
37259 (main): Parse --config option, and pass it to generate_image.
37260
cf353a47 372612009-05-14 Christian Franke <franke@computer.org>
37262
37263 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
37264 This fixes build on Cygwin.
37265
3834887f 372662009-05-14 Pavel Roskin <proski@gnu.org>
37267
37268 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
37269 jump. This saves two bytes, so the typical case of 2 swapped
37270 drives would fit 32 bytes.
37271
8090fc01 372722009-05-13 Pavel Roskin <proski@gnu.org>
37273
ac963883 37274 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
37275 grub_uint32_t to avoid a warning.
37276
8090fc01 37277 * loader/i386/linux.c (allocate_pages): When assigning
37278 real_mode_mem, cast through grub_size_t to fix a warning. The
37279 code already makes sure that the value would fit a pointer.
37280 (grub_linux_setup_video): Cast render_target->data to
37281 grub_size_t to fix a warning.
37282
18f547ad 372832009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 37284
37285 * commands/i386/pc/drivemap.c: New file - implement drivemap
37286 command.
37287 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
37288 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
37289
6f6a8b28 372902009-05-13 Pavel Roskin <proski@gnu.org>
37291
37292 * util/i386/pc/grub-setup.c (setup): Remove unused variable
37293 embedding_area_exists.
37294
15fbf4c4 372952009-05-13 Robert Millan <rmh.grub@aybabtu.com>
37296
37297 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
37298 it easier to understand / work with.
59978c8a 37299 Improve warning messages for cases where there's no embedding area,
37300 or when it is too small (or core.img too large).
15fbf4c4 37301
238e871f 373022009-05-13 Pavel Roskin <proski@gnu.org>
37303
0ab3a9a4 37304 * loader/i386/pc/multiboot2.c: Add necessary includes for
37305 grub_multiboot2_real_boot().
37306
a2c8c5f8 37307 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
37308 PX record is always little-endian. We only need the lower 2
37309 bytes of the mode.
37310
faec96af 37311 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
37312 facilitate code reuse.
37313 (grub_cpio_mount): Use "struct head", not a char buffer. This
37314 fixes a warning reported by gcc 4.4.
37315
238e871f 37316 * kernel/disk.c (grub_disk_read): Use void pointer for the
37317 buffer.
37318 (grub_disk_write): Use const void pointer for the buffer.
37319 Adjust all callers. Remove unnecessary casts.
37320
901d2f0c 373212009-05-10 Robert Millan <rmh.grub@aybabtu.com>
37322
37323 * util/i386/pc/grub-install.in: Update copyright year.
37324
18f547ad 373252009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 37326
37327 gptsync
37328
37329 * commands/gptsync.c: new file
37330 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
37331 (gptsync_mod_SOURCES): new variable
37332 (gptsync_mod_CFLAGS): likewise
37333 (gptsync_mod_LDFLAGS): likewise
18f547ad 37334 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 37335 new definition
37336 (GRUB_PC_PARTITION_TYPE_HFS): likewise
37337 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
37338 * conf/i386-ieee1275.rmk: likewise
37339 * conf/i386-pc.rmk: likewise
37340 * conf/powerpc-ieee1275.rmk: likewise
37341
b4ba690a 373422009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37343
37344 Fixed grub-emu
37345
37346 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
37347 (grub_dl_ref): likewise
37348
317e1a44 373492009-05-08 Robert Millan <rmh.grub@aybabtu.com>
37350
37351 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
37352 split in two functions (one for msdos and one for gpt).
37353
041b8094 373542009-05-08 Pavel Roskin <proski@gnu.org>
37355
752473c2 37356 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
37357 not modified.
37358
041b8094 37359 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
37360 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
37361 Initialize them with -1. Add sanity check for bad1. Eliminate
37362 nerr variable.
37363
172800ce 373642009-05-08 David S. Miller <davem@davemloft.net>
37365
37366 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
37367
29aa5e81 373682009-05-06 Robert Millan <rmh.grub@aybabtu.com>
37369
37370 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 37371 existence.
29aa5e81 37372
96613b62 373732009-05-05 Felix Zielcke <fzielcke@z-51.de>
37374
37375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 37376 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 37377
eef73c8a 373782009-05-05 David S. Miller <davem@davemloft.net>
37379
37380 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
37381
119494b5 373822009-05-05 Pavel Roskin <proski@gnu.org>
37383
37384 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
37385 of grub_dl_ref() and grub_dl_unref().
37386 * commands/parttool.c: Remove preprocessor conditionals around
37387 grub_dl_ref() and grub_dl_unref().
37388 * fs/affs.c: Likewise.
37389 * fs/afs.c: Likewise.
37390 * fs/cpio.c: Likewise.
37391 * fs/ext2.c: Likewise.
37392 * fs/fat.c: Likewise.
37393 * fs/hfs.c: Likewise.
37394 * fs/hfsplus.c: Likewise.
37395 * fs/iso9660.c: Likewise.
37396 * fs/jfs.c: Likewise.
37397 * fs/minix.c: Likewise.
37398 * fs/ntfs.c: Likewise.
37399 * fs/reiserfs.c: Likewise.
37400 * fs/sfs.c: Likewise.
37401 * fs/udf.c: Likewise.
37402 * fs/ufs.c: Likewise.
37403 * fs/xfs.c: Likewise.
37404 * include/grub/dl.h: Likewise.
37405 * loader/xnu.c: Likewise.
37406
de5fd76e 374072009-05-04 Pavel Roskin <proski@gnu.org>
37408
37409 * commands/acpi.c: Remove unused variable my_mod.
37410 * partmap/amiga.c: Likewise.
37411 * partmap/apple.c: Likewise.
37412 * partmap/gpt.c: Likewise.
37413 * partmap/pc.c: Likewise.
37414 * partmap/sun.c: Likewise.
37415 * term/gfxterm.c: Likewise.
37416 * term/i386/pc/vesafb.c: Likewise.
37417 * term/i386/pc/vga.c: Likewise.
37418
983598ad 374192009-05-04 David S. Miller <davem@davemloft.net>
37420
37421 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
37422 pointer args to grub_ieee1275_get_property().
37423
8aadec43 37424 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
37425
9554b15e 37426 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
37427 devices, and do not traverse down under controller nodes.
37428
67e23c90 37429 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
37430 (grub_ofdisk_open): Use it to un-escape "," characters.
37431 * kern/disk.c (find_part_sep): New.
37432 (grub_disk_open): Use it to find the first non-escaped ','
37433 character in the disk name.
37434 * util/ieee1275/devicemap.c (escape_of_path): New.
37435 (grub_util_emit_devicemap_entry): Use it.
37436 * util/sparc64/ieee1275/grub-install.in: Update script to
37437 strip partition specifiers properly by not triggering on
37438 '\' escaped ',' characters.
37439
74bfdd2f 374402009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37441
37442 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
37443 to 0x300.
37444 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
37445 resolutions.
37446 (linux_vesafb_modes): Add a lot of additional modes to the list (based
37447 on documentation from Wikipedia).
37448
4241d2b1 374492009-05-04 Pavel Roskin <proski@gnu.org>
37450
37451 * disk/ata.c: Spelling fixes.
37452 * disk/raid.c: Likewise.
37453 * disk/usbms.c: Likewise.
37454 * disk/dmraid_nvidia.c: Likewise.
37455 * kern/ieee1275/openfw.c: Likewise.
37456 * kern/ieee1275/init.c: Likewise.
37457 * kern/ieee1275/cmain.c: Likewise.
37458 * boot/i386/pc/cdboot.S: Likewise.
37459 * video/readers/png.c: Likewise.
37460 * video/i386/pc/vbe.c: Likewise.
37461 * fs/udf.c: Likewise.
37462 * fs/hfs.c: Likewise.
37463 * fs/reiserfs.c: Likewise.
37464 * efiemu/runtime/efiemu.c: Likewise.
37465 * efiemu/main.c: Likewise.
37466 * efiemu/mm.c: Likewise.
37467 * include/grub/elf.h: Likewise.
37468 * include/grub/xnu.h: Likewise.
37469 * include/grub/usbdesc.h: Likewise.
37470 * include/grub/usb.h: Likewise.
37471 * include/grub/script_sh.h: Likewise.
37472 * include/grub/lib/LzmaEnc.h: Likewise.
37473 * include/grub/efiemu/efiemu.h: Likewise.
37474 * include/grub/command.h: Likewise.
37475 * normal/menu.c: Likewise.
37476 * normal/main.c: Likewise.
37477 * normal/datetime.c: Likewise.
37478 * bus/usb/uhci.c: Likewise.
37479 * mmap/i386/uppermem.c: Likewise.
37480 * mmap/mmap.c: Likewise.
37481 * commands/acpi.c: Likewise.
37482 * commands/test.c: Likewise.
37483 * partmap/apple.c: Likewise.
37484 * font/font.c: Likewise.
37485 * loader/sparc64/ieee1275/linux.c: Likewise.
37486 * loader/macho.c: Likewise.
37487 * loader/i386/bsd_trampoline.S: Likewise.
37488 * loader/i386/bsd.c: Likewise.
37489 * loader/xnu.c: Likewise.
37490 * term/i386/pc/vesafb.c: Likewise.
37491 * term/usb_keyboard.c: Likewise.
37492 * util/resolve.c: Likewise.
37493 * util/getroot.c: Likewise.
37494
0cfc0083 374952009-05-04 Felix Zielcke <fzielcke@z-51.de>
37496
37497 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
37498
7c1d00cd 374992009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37500
37501 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
37502 build error.
37503
b01f0548 375042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37505
37506 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
37507 parameter only available on BIOS.
37508
ecc3eb22 375092009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37510
37511 Removed wrong semicolon in declaration
37512
37513 * grub/misc.h (grub_dprintf): remove semicolon
37514
112972a9 375152009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37516
37517 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
37518 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
37519 is done by grub_cmd_linux() now).
37520 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
37521 restore video to text mode.
37522 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
37523 indicates lack of "vga=" parameter. "vga=0" is mapped to
37524 `GRUB_LINUX_VID_MODE_NORMAL'.
37525
afd5c115 375262009-05-04 Felix Zielcke <fzielcke@z-51.de>
37527
37528 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
37529 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
37530 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 37531 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 37532 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
37533 `grub_script.tab.c'.
37534
37535 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37536 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37538 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37539 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37540
faa517ce 37541 * Makefile.in: Remove duplicated 2008 in Copyright line.
37542
ae0c0bdc 375432009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37544
473d1e45 37545 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 37546 unconditionally.
37547 * include/grub/util/misc.h (grub_util_warn): New declaration.
37548
37549 * util/i386/pc/grub-install.in: Understand --force and pass it down
37550 to grub-setup.
37551
37552 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
37553 down to setup().
37554 (setup): Improve error messages and add warnings when requested to
37555 install in odd layouts. Refuse to install using blocklists unless
37556 --force was set.
37557
18f547ad 375582009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 37559
37560 * disk/raid.c (grub_raid_scan_device): Improve debug message.
37561
6d260daa 375622009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37563
37564 Updated copyright year
37565
37566 * fs/hfsplus.c: updated copyright year
18f547ad 37567
69f853f8 375682009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37569
37570 HFS+ UUID
37571
18f547ad 37572 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 37573 in the space previously used by unused3
37574 (grub_hfsplus_uuid): new function
37575 (grub_hfsplus_fs): added uuid field
37576
4c402e73 375772009-05-03 Pavel Roskin <proski@gnu.org>
37578
37579 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
37580 suppress warnings. It's no longer needed.
37581 * disk/host.c: Likewise.
37582 * disk/ata_pthru.c: Likewise.
37583 * disk/loopback.c: Likewise.
37584 * hook/datehook.c: Likewise.
37585 * parttool/pcpart.c: Likewise.
37586 * fs/i386/pc/pxe.c: Likewise.
37587 * fs/ntfscomp.c: Likewise.
37588 * efiemu/main.c: Likewise.
37589 * mmap/mmap.c: Likewise.
37590 * commands/crc.c: Likewise.
37591 * commands/hexdump.c: Likewise.
37592 * commands/hdparm.c: Likewise.
37593 * commands/acpi.c: Likewise.
37594 * commands/echo.c: Likewise.
37595 * commands/minicmd.c: Likewise.
37596 * commands/blocklist.c: Likewise.
37597 * commands/memrw.c: Likewise.
37598 * commands/loadenv.c: Likewise.
37599 * commands/usbtest.c: Likewise.
37600 * commands/lsmmap.c: Likewise.
37601 * commands/boot.c: Likewise.
37602 * commands/parttool.c: Likewise.
37603 * commands/configfile.c: Likewise.
37604 * commands/search.c: Likewise.
37605 * commands/ieee1275/suspend.c: Likewise.
37606 * commands/cat.c: Likewise.
37607 * commands/i386/pc/pxecmd.c: Likewise.
37608 * commands/i386/pc/play.c: Likewise.
37609 * commands/i386/pc/halt.c: Likewise.
37610 * commands/i386/pc/vbeinfo.c: Likewise.
37611 * commands/i386/pc/vbetest.c: Likewise.
37612 * commands/lspci.c: Likewise.
37613 * commands/date.c: Likewise.
37614 * commands/handler.c: Likewise.
37615 * commands/ls.c: Likewise.
37616 * commands/test.c: Likewise.
37617 * commands/cmp.c: Likewise.
37618 * commands/efi/loadbios.c: Likewise.
37619 * commands/efi/fixvideo.c: Likewise.
37620 * commands/halt.c: Likewise.
37621 * commands/help.c: Likewise.
37622 * commands/reboot.c: Likewise.
37623 * hello/hello.c: Likewise.
37624 * script/sh/main.c: Likewise.
37625 * loader/xnu.c: Likewise.
37626 * term/terminfo.c: Likewise.
37627 * term/i386/pc/serial.c: Likewise.
37628 * term/usb_keyboard.c: Likewise.
37629
515b5079 376302009-05-03 David S. Miller <davem@davemloft.net>
37631
37632 * normal/menu.c: Include grub/parser.h
37633
dfc31a22 376342009-05-03 Pavel Roskin <proski@gnu.org>
37635
2fee74f1 37636 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
37637 not char*.
37638 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
37639 Suggested by Javier Martín <lordhabbit@gmail.com>
37640
dfc31a22 37641 * util/i386/pc/grub-mkrescue.in: Allow for the case when
37642 efiemu??.o doesn't exist.
37643 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
37644 copying.
37645
18f547ad 376462009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 37647
37648 FreeBSD 64-bit support
37649
18f547ad 37650 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 37651 and loader/i386/bsd_trampoline.S
37652 (bsd_mod_ASFLAGS): new variable
37653 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
37654 (FREEBSD_MODTYPE_KERNEL64): likewise
37655 (grub_bsd64_trampoline_start): likewise
37656 (grub_bsd64_trampoline_end): likewise
37657 (grub_bsd64_trampoline_selfjump): likewise
37658 (grub_bsd64_trampoline_gdt): likewise
37659 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
37660 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
37661 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
37662 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 37663 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 37664 of "attrib" member
37665 * loader/i386/bsd_pagetable.c: new file
37666 * loader/i386/bsd_trampoline.S: likewise
37667 * loader/i386/bsd.c (ALIGN_QWORD): new macro
37668 (ALIGN_VAR): likewise
37669 (entry_hi): new variable
37670 (kern_end_mdofs): likewise
37671 (is_64bit): likewise
37672 (grub_freebsd_add_meta): use ALIGN_VAR
37673 (grub_e820_mmap): new declaration
37674 (grub_freebsd_add_mmap): new function
37675 (grub_freebsd_add_meta_module): support 64 bit kernels
37676 (grub_freebsd_list_modules): use ALIGN_VAR
37677 (gdt_descriptor): new declaration
37678 (grub_freebsd_boot): support 64 bit kernels
37679 (grub_bsd_elf64_hook): new function
37680 (grub_bsd_load_elf): support elf64
37681
038c5720 376822009-05-03 Bean <bean123ch@gmail.com>
37683
37684 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37685 after we get the result of if statement.
37686
fc45fb58 376872009-05-03 Bean <bean123ch@gmail.com>
37688
37689 * Makefile.in (enable_efiemu): New variable.
37690
37691 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37692 set.
37693 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37694 path.
37695 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37696 path, add -mno-red-zone option.
37697 (efiemu64_s.o): Likewise.
37698 (efiemu64.o): Use macro $^ for source file.
37699
37700 * configure.ac (--enable-efiemu): New option.
37701
bbee0f2b 377022009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37703
37704 xnu support
37705
37706 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37707 (pkglib_MODULES): add xnu.mod
37708 (xnu_mod_SOURCES): new variable
37709 (xnu_mod_CFLAGS): likewise
37710 (xnu_mod_LDFLAGS): likewise
37711 (xnu_mod_ASFLAGS): likewise
37712 * conf/i386-pc.rmk: likewise
37713 * conf/x86_64-efi.rmk: likewise
7dd4a573 37714 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 37715 new declaration
37716 * include/grub/i386/macho.h: new file
37717 * include/grub/i386/xnu.h: likewise
37718 * include/grub/macho.h: likewise
37719 * include/grub/machoload.h: likewise
37720 * include/grub/x86_64/macho.h: likewise
37721 * include/grub/x86_64/xnu.h: likewise
37722 * include/grub/xnu.h: likewise
37723 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37724 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37725 * loader/i386/efi/xnu.c: new file
37726 * loader/i386/pc/xnu.c: likewise
37727 * loader/i386/xnu.c: likewise
37728 * loader/i386/xnu_helper.S: likewise
37729 * loader/macho.c: likewise
37730 * loader/xnu.c: likewise
37731 * loader/xnu_resume.c: likewise
37732 * util/grub-dumpdevtree: likewise
37733 * include/grub/i386/pit.h: include grub/err.h
37734 (grub_pit_wait): export
37735 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 37736
5caf964d 377372009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37738
37739 Efiemu
7dd4a573 37740
5caf964d 37741 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 37742 _linux_efi, linux_efi.
37743 new files in grub-emu
5caf964d 37744 new targets efiemu32.o and efiemu64.o
37745 * loader/linux_normal_efiemu.c: likewise
37746 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 37747 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 37748 files to copy
37749 * include/grub/autoefi.h: new file
7dd4a573 37750 * include/grub/i386/efiemu.h: likewise
5caf964d 37751 * include/grub/i386/pc/efiemu.h: likewise
37752 * include/grub/efi/api.h: add LL suffix when necessary
37753 new definitions relating to tables
37754 * include/grub/efiemu/efiemu.h: new file
37755 * include/grub/efiemu/runtime.h: likewise
37756 * efiemu/prepare.c: likewise
37757 * efiemu/loadcore_common.c: likewise
37758 * efiemu/loadcore64.c: likewise
37759 * efiemu/runtime/efiemu.sh: likewise
37760 * efiemu/runtime/efiemu.S: likewise
37761 * efiemu/runtime/efiemu.c: likewise
37762 * efiemu/runtime/config.h: likewise
37763 * efiemu/prepare32.c: likewise
37764 * efiemu/main.c: likewise
37765 * efiemu/modules/pnvram.c: likewise
37766 * efiemu/modules/i386: likewise
37767 * efiemu/modules/i386/pc: likewise
37768 * efiemu/modules/acpi.c: likewise
37769 * efiemu/i386/pc/cfgtables.c: likewise
37770 * efiemu/i386/loadcore64.c: likewise
37771 * efiemu/i386/loadcore32.c: likewise
37772 * efiemu/prepare64.c: likewise
37773 * efiemu/loadcore.c: likewise
37774 * efiemu/symbols.c: likewise
37775 * efiemu/mm.c: likewise
37776 * efiemu/loadcore32.c: likewise
7dd4a573 37777
377782009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 37779
37780 ACPI spoofing
37781
37782 * commands/acpi.c: new file
37783 * commands/i386/pc/acpi.c: likewise
37784 * commands/efi/acpi.c: likewise
37785 * include/grub/acpi.h: likewise
37786 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37787 (acpi_mod_SOURCES): new variable
37788 (acpi_mod_CFLAGS): likewise
37789 (acpi_mod_LDFLAGS): likewise
37790 * conf/i386-efi.rmk: likewise
37791 * conf/x86_64-efi.rmk: likewise
37792
7dd4a573 377932009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 37794
37795 Missing part from mmap patch
37796
37797 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37798 (grub_mmap_unregister)
37799 (grub_mmap_free_and_unregister): use grub_mmap_register
37800
7dd4a573 378012009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 37802
37803 Mmap services
37804
37805 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
37806 * loader/i386/linux.c (find_mmap_size): likewise
37807 (allocate_pages): likewise
37808 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
37809 (grub_fill_multiboot_mmap): likewise
37810 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
37811 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
37812 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37813 (OPENBSD_MMAP_RESERVED): likewise
37814 * include/grub/i386/pc/memory.h: include grub/memory.h
37815 (grub_lower_mem): removed
37816 (grub_upper_mem): likewise
37817 (GRUB_MACHINE_MEMORY_ACPI): new definition
37818 (GRUB_MACHINE_MEMORY_NVS): likewise
37819 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37820 (GRUB_MACHINE_MEMORY_HOLE): likewise
37821 (grub_machine_mmap_register): likewise
37822 (grub_machine_mmap_unregister): likewise
37823 (grub_machine_get_upper): likewise
37824 (grub_machine_get_lower): likewise
37825 (grub_machine_get_post64): likewise
37826 * include/grub/i386/efi/memory.h: new file
37827 * include/grub/x86_64/efi/memory.h: likewise
37828 * include/grub/efi/memory.h: likewise
37829 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
37830 (mmap_mod_SOURCES): new variable
37831 (mmap_mod_LDFLAGS): likewise
37832 (mmap_mod_ASFLAGS): likewise
37833 * conf/i386-coreboot.rmk: likewise
37834 * conf/i386-ieee1275.rmk: likewise
37835 * conf/i386-efi.rmk: likewise
37836 * conf/x86_64-efi.rmk: likewise
37837 * include/grub/types.h (UINT_TO_PTR): new macro
37838 (PTR_TO_UINT32): likewise
37839 (PTR_TO_UINT64): likewise
37840 * include/grub/memory.h: new file
37841 * mmap/i386/pc/mmap.c: likewise
37842 * mmap/i386/pc/mmap_helper.S: likewise
37843 * mmap/i386/uppermem.c: likewise
37844 * mmap/mmap.c: likewise
37845 * mmap/efi/mmap.c: likewise
7dd4a573 37846 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 37847 grub_upper_mem
37848 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37849 (grub_upper_mem): likewise
37850 (grub_machine_init): don't use grub_upper_mem,
37851 make grub_lower_mem local
37852 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37853 grub_mmap_iterate and grub_mmap_get_upper
37854 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37855
d558e6b5 378562009-05-02 Bean <bean123ch@gmail.com>
37857
37858 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37859 script/sh/parser.y.
37860 (pkglib_MODULES): Add normal.mod and sh.mod.
37861 (normal_SOURCES): New variable.
37862 (normal_mod_CFLAGS): Likewise.
37863 (normal_mod_LDFLAGS): Likewise.
37864 (sh_mod_SOURCES): Likewise.
37865 (sh_mod_CFLAGS): Likewise.
37866 (sh_mod_LDFLAGS): Likewise.
37867
37868 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37869 script/sh/lexer.c_DEPENDENCIES.
37870 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37871 kern/rescue_reader.c and kern/rescue_parser.c.
37872 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37873 (grub_emu_SOURCES): Change source files.
37874 (pkglib_MODULES): Remove normal.mod.
37875 (normal_SOURCES): Removed.
37876 (normal_mod_CFLAGS): Likewise.
37877 (normal_mod_LDFLAGS): Likewise.
37878 * conf/i386-coreboot.rmk: Likewise.
37879 * conf/i386-efi.rmk: Likewise.
37880 * conf/i386-ieee1276.rmk: Likewise.
37881 * conf/powerpc-ieee1275.rmk: Likewise.
37882 * conf/sparc64-ieee1275.rmk: Likewise.
37883 * conf/x86_64-efi.rmk: Likewise.
37884
37885 * include/grub/command.h (grub_command_execute): New inline function.
37886
37887 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37888
37889 * include/grub/normal.h: Remove <grub/setjmp.h>.
37890 (grub_fs_module_list): Moved to normal/autofs.c.
37891 (grub_exit_env): Removed.
37892 (grub_command_execute): Likewise.
37893 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37894 parameter script.
37895 (read_command_list): New function declaration.
37896 (read_fs_list): Likewise.
37897
37898 * include/parser.h: Include <grub/reader.h>.
37899 (grub_parser_split_cmdline): Change type of getline parameter.
37900 (grub_parser): New structure.
37901 (grub_parser_class): New variable.
37902 (grub_parser_execute): New function declaration.
37903 (grub_register_rescue_parser): Likewise.
37904 (grub_parser_register): New inline function.
37905 (grub_parser_unregister): Likewise.
37906 (grub_parser_get_current): Likewise.
37907 (grub_parser_set_current): Likewise.
37908
37909 * include/grub/reader.h: New file.
37910 * kern/reader.c: Likewise.
37911 * kern/rescue_parser.c: Likewise.
37912 * kern/rescue_reader.c: Likewise.
37913 * normal/autofs.c: Likewise.
37914 * normal/dyncmd.c: Likewise.
37915
37916 * include/grub/rescue.h: Removed.
37917 * normal/command.h: Likewise.
37918
37919 * include/grub/script.h: Moved to ...
37920 * include/grub/script_sh.h: ... Moved here.
37921 * normal/execute.c: Moved to ...
37922 * script/sh/execute.c: ... Moved here.
37923 * normal/function.c: Moved to ...
37924 * script/sh/function.c: ... Moved here.
37925 * normal/lexer.c: Moved to ...
37926 * script/sh/lexer.c: ... Moved here.
37927 * normal/parser.y: Moved to ...
37928 * script/sh/parser.y: ... Moved here.
37929 * normal/script.c: Moved to ...
37930 * script/sh/script.c: ... Moved here.
37931
37932 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37933 <grub/reader.h>.
37934 (grub_exit_env): Removed.
37935 (fs_module_list): Moved to normal/autofs.c.
37936 (grub_file_getline): Don't handle comment here.
37937 (free_menu): Skip removed field entry->commands.
37938 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37939 script parameter.
37940 (read_config_file): Removed nested parameter, change getline function.
37941 (grub_enter_normal_mode): Removed.
37942 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37943 (read_command_list): Likewise.
37944 (autoload_fs_module): Moved to normal/autofs.c.
37945 (read_fs_list): Likewise.
37946 (reader_nested): New variable.
37947 (grub_normal_execute): Run parser.sh to switch to sh parser.
37948 (grub_cmd_rescue): Removed.
37949 (cmd_normal): Removed.
37950 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37951 rescue command.
37952 (grub_cmdline_run): New function.
37953 (grub_normal_reader_init): Likewise.
37954 (grub_normal_read_line): Likewise.
37955 (grub_env_write_pager): Likewise.
37956 (cmdline): New variable.
37957 (grub_normal_reader): Likewise.
37958 (GRUB_MOD_INIT): Register normal reader and set as current, register
37959 pager hook, register normal command with grub_register_command_prio,
37960 so that it won't show up in command.lst.
37961 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37962 grub_fs_autoload_hook.
37963
37964 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37965 (grub_menu_execute_entry): Replace grub_script_execute with
37966 grub_parser_execute, change parameter to grub_command_execute.
37967
37968 * normal/menu_text.c: Remove <grub/script.h>.
37969
37970 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37971 and <grub/parser.h>.
37972 (run): Change editor_getline to use new parser interface. Change
37973 parameter to grub_command_execute.
37974
37975 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37976 <grub/reader.h> and <grub/parser.h>.
37977 (grub_load_normal_mode): Execute normal command.
37978 (grub_main): Call grub_register_core_commands,
37979 grub_register_rescue_parser and grub_register_rescue_reader, use
37980 grub_reader_loop to enter input loop.
37981
7dd4a573 37982 * kern/parser.c (grub_parser_split_cmdline): Change type of
37983 getline parameter.
d558e6b5 37984 (grub_parser_class): New variable.
37985 (grub_parser_execute): New function.
37986
37987 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37988 * loader/multiboot2.c: Likewise.
37989 * loader/sparc64/ieee1275/linux.c: Likewise.
37990
37991 * util/grub-emu.c (read_command_list): New dummy function.
37992
18db813d 379932009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37994
37995 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37996 count to 16 for CCISS and IDA.
37997
6c67de15 379982009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37999
38000 * normal/menu_text.c (grub_wait_after_message): Print a newline
38001 after waiting for user input.
38002
38003 * loader/i386/linux.c: Include `<grub/normal.h>'.
38004 (grub_cmd_linux): Improve the error message about `ask' mode, by
38005 waiting for user input so it's not missed (we can do this, since
38006 user requested interaction).
38007
d9dc87b0 380082009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38009
38010 Added missing lst to grub-mkrescue
38011
38012 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
38013 and ${input_dir}/parttool.lst
38014
ac8a2baa 380152009-04-30 David S. Miller <davem@davemloft.net>
38016
ad22a610 38017 * util/hostdisk.c (device_is_wholedisk): New function.
38018 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
38019 zero only if device_is_wholedisk() returns true.
38020
6966215d 38021 * util/hostdisk.c (convert_system_partition_to_system_disk):
38022 Handle virtual disk devices named /dev/vdiskX as found on sparc
38023 and powerpc.
38024
ac8a2baa 38025 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
38026 lettered partition specifier is found, convert to numbered.
38027
979b4fb4 380282009-04-29 David S. Miller <davem@davemloft.net>
38029
e2bf39b2 38030 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
38031 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38032
3c64e104 38033 * normal/command.c: Add missing newline at end of file.
38034
979b4fb4 38035 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
38036 warnings.
38037 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
38038 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
38039 grub_ofdisk_read): Likewise, and deal similarly with the fact that
38040 ihandles have a 32-bit type but need to be stored in a "void *".
38041
136d9f82 380422009-04-28 Pavel Roskin <proski@gnu.org>
38043
9459c306 38044 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
38045 not disk. Adjust all dependencies.
2e08a26a 38046 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 38047 grub_disk_close().
38048
136d9f82 38049 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
38050 parent's partition, don't copy it by reference, as it gets freed
38051 on close.
38052
7dd4a573 380532009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 38054
38055 Preboot hooks support
38056
38057 * commands/boot.c (struct grub_preboot_t): new declaration
38058 (preboots_head): new variable
38059 (preboots_tail): likewise
38060 (grub_loader_register_preboot_hook): new function
38061 (grub_loader_unregister_preboot_hook): likewise
38062 (grub_loader_set): launch preboot hooks
38063 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
38064 (grub_loader_register_preboot_hook): new declaration
38065 (grub_loader_unregister_preboot_hook): likewise
38066
5af922b5 380672009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
38068
38069 Warning fix
38070
7dd4a573 38071 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 38072 calling grub_dprintf
38073
a5562c30 380742009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
38075
38076 Bug and warning fixes
38077
7dd4a573 38078 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 38079 declaration
38080 * commands/test.c (test_parse): fixed bug with file tests and corrected
38081 declaration of find_file
38082
4006f85c 380832009-04-26 Pavel Roskin <proski@gnu.org>
38084
38085 * Makefile.in: Don't install empty manual pages if help2man is
38086 missing. Use help2man option for output, not shell redirection.
38087
5c77c3de 380882009-04-26 David S. Miller <davem@davemloft.net>
38089
38090 * util/grub-mkdevicemap.c (make_device_map): Add missing
38091 NESTED_FUNC_ATTR to process_device().
38092
033b10a8 380932009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38094
38095 Test command
38096
38097 * commands/test.c: rewritten to use bash-like test
38098
e4343593 380992009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38100
38101 Parttool autoloading and improvements
38102
7dd4a573 38103 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 38104 (parttool.lst): new target
38105 * genmk.rb: generate parttool-*
38106 (CLEANFILES): add #{parttool}
38107 (PARTTOOLFILES): new variable
38108 * genparttoollist.sh: new file
7dd4a573 38109 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 38110 (grub_pcpart_type): likewise
38111 * commands/parttool.c (helpmsg): new variable
38112 (grub_cmd_parttool): output help if not enough arguments are supplied
38113 autoload modules
38114 (GRUB_MOD_INIT(parttool)): use helpmsg
38115
0d312500 381162009-04-24 David S. Miller <davem@davemloft.net>
38117
7dd4a573 38118 Avoiding opening same device multiple times in device iterator.
0d312500 38119
38120 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 38121 and use it to build a list of partitions in iterate_disk() and
0d312500 38122 iterate_partition().
38123
ac20caff 38124 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
38125 on disk->data.
38126
0dcf7495 38127 * disk/ieee1275/nand.c (grub_nand_iterate): Return
38128 grub_devalias_iterate() result instead of unconditional 0.
38129 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
38130 Also, capture hook return value, either directly or via
38131 grub_children_iterate(), and propagate to caller.
38132 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
38133 grub_children_iterate): Return value is now 'int' instead of
38134 'grub_err_t'.
38135 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
38136 like a proper iterator, stopping when hooks return non-zero.
38137 (grub_devalias_iterate): Likewise.
38138
c8c08833 381392009-04-23 David S. Miller <davem@davemloft.net>
38140
38141 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
38142
f01005a8 381432009-04-22 David S. Miller <davem@davemloft.net>
38144
38145 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
38146 is larger than address_cells, use that value for address_cells too.
38147
4e8269da 38148 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
38149 IEEE1275_MAX_PATH_LEN): Define.
38150 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
38151 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
38152 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
38153 'devtype'. Explicitly NULL terminate devalias expansion.
38154
a1447506 38155 * util/sparc64/ieee1275/misc.c: New file.
38156 * util/sparc64/ieee1275/grub-setup.c: New file.
38157 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
38158 * util/sparc64/ieee1275/grub-mkimage.c: New file.
38159 * util/sparc64/ieee1275/grub-install.in: New file.
38160 * util/ieee1275/ofpath.c: New file.
38161 * util/ieee1275/devicemap.c: New file.
38162 * util/devicemap.c: New file.
38163 * util/deviceiter.c: New file.
38164 * kern/sparc64/ieee1275/init.c: New file.
38165 * include/grub/util/ofpath.h: New file.
38166 * include/grub/util/deviceiter.h: New file.
38167 * util/grub-mkdevicemap.c: Include deviceiter.h.
38168 Implement using grub_util_emit_devicemap_entry and
38169 grub_util_iterate_devices.
38170 * conf/i386-corebook.rmk: Build util/deviceiter.c and
38171 util/devicemap.c into grub-mkdevicemap
38172 * conf/i386-efi.rmk: Likewise.
38173 * conf/i386-ieee1275.rmk: Likewise.
38174 * conf/i386-pc.rmk: Likewise.
38175 * conf/powerpc-ieee1275.rmk: Likewise.
38176 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
38177 images and installation utilities. Build kernel as image
38178 instead of as elf binary. Use common rules as much as possible.
38179
7dd4a573 381802009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 38181
38182 Correct GPT definition
38183
7dd4a573 38184 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 38185 of "attrib" member
38186
c6c5219f 381872009-04-19 Felix Zielcke <fzielcke@z-51.de>
38188
38189 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
38190
0552ff9f 381912009-04-19 David S. Miller <davem@davemloft.net>
38192
38193 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
38194 (grub_rescue_cmd_linux): Rename to...
38195 (grub_cmd_linux): and fix prototype.
38196 (grub_rescue_cmd_initrd): Rename to...
38197 (grub_cmd_initrd): and fix prototype.
38198 (cmd_linux, cmd_initrd): New.
38199 (GRUB_MOD_INIT(linux)): Use grub_register_command().
38200 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
38201
d1a282fc 382022009-04-17 Pavel Roskin <proski@gnu.org>
38203
07c5039f 38204 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
38205 format.
38206 (grub_ohci_transfer): Likewise.
38207
b012002d 38208 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
38209
1bc09c35 38210 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
38211 return without a value. Fix inconsistent indentation.
38212
e0ff9126 38213 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
38214 match struct grub_fs.
38215
d1a282fc 38216 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
38217 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
38218 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38219 * commands/lspci.c (grub_lspci_iter): Likewise.
38220
a96df3f2 382212009-04-16 Bean <bean123ch@gmail.com>
38222
38223 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
38224 value.
38225
41bb0fe9 382262009-04-15 Pavel Roskin <proski@gnu.org>
38227
38228 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
38229 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
38230 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
38231 definitions.
38232
596c6970 382332009-04-15 Felix Zielcke <fzielcke@z-51.de>
38234
38235 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 38236 that no multiple data or metadata areas are supported and `Unknown
596c6970 38237 metadata header'.
38238
7dd4a573 382392009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 38240
38241 Move loader out of the kernel
38242
38243 * kern/loader.c: moved to ...
38244 * commands/boot.c: ... moved here
38245 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
38246 * commands/boot.c (grub_cmd_boot): moved here. All users updated
38247 * include/grub/kernel.h (grub_machine_fini): export
38248 * include/grub/loader.h (grub_loader_is_loaded): update declaration
38249 (grub_loader_set): likewise
38250 (grub_loader_unset): likewise
38251 (grub_loader_boot): likewise
38252 * conf/common.rmk: new module boot.mod
38253 (pkglib_MODULES): add boot.mod
38254 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
38255 (grub_emu_SOURCES): likewise
38256 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
38257 (grub_emu_SOURCES): likewise
38258 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
38259 (grub_emu_SOURCES): likewise
38260 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
38261 (grub_emu_SOURCES): likewise
38262 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
38263 (grub_emu_SOURCES): likewise
7dd4a573 38264 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
38265 (grub_emu_SOURCES): likewise
0d5d5653 38266 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 38267 (grub_emu_SOURCES): likewise
0d5d5653 38268
7dd4a573 382692009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 38270
38271 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 38272
5999d619 38273 * kern/misc.c (grub_itoa): Removed function
38274 (grub_ltoa): likewise
38275 (grub_vsprintf): use grub_lltoa
38276
7dd4a573 382772009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 38278
38279 Restore grub-emu
38280
38281 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
38282 * conf/i386-coreboot.rmk: likewise
38283 * conf/i386-ieee1275.rmk: likewise
38284 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38285
20318222 382862009-04-15 Felix Zielcke <fzielcke@z-51.de>
38287
38288 * INSTALL: Add that `./autogen.sh' needs to be run before
38289 `./configure.'.
38290
d05f0df3 382912009-04-14 Bean <bean123ch@gmail.com>
38292
38293 * Makefile.in (pkglib_DATA): Add handler.lst.
38294 (handler.lst): New rule.
38295
38296 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
38297 * conf/i386-coreboot.rmk: Likewise.
38298 * conf/i386-ieee1275.rmk: Likewise.
38299 * conf/i386-efi.rmk: Likewise.
38300 * conf/x86_64-efi.rmk: Likewise.
38301 * conf/powerpc-ieee1275.rmk: Likewise.
38302 * conf/sparc64-ieee1275.rmk: Likewise.
38303
38304 * genhandlerlist.sh: New file.
38305
38306 * genmk.rb: Add rules to generate handler.lst.
38307
38308 * include/grub/normal.h (grub_file_getline): New function definition.
38309 (read_handler_list): Likewise.
38310 (free_handler_list): Likewise.
38311
38312 * include/grub/term.h (grub_term_register_input): Add name parameter
38313 for auto generation of handler.lst.
38314 (grub_term_register_output): Likewise.
38315
38316 * normal/handler.c: New file.
38317
38318 * normal/main.c (get_line): Renamed to grub_file_getline.
38319 (read_config_file): Use the newly renamed grub_file_getline.
38320 (read_command_list): Likewise.
38321 (read_fs_list): Likewise.
38322 (grub_normal_execute): Call read_handler_list to parse handler.lst.
38323 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
38324
38325 * term/efi/console.c (grub_console_init): Add name parameter for auto
38326 generation of handler.lst.
38327 * term/gfxterm.c: Likewise.
38328 * term/i386/pc/at_keyboard.c: Likewise.
38329 * term/i386/pc/console.c: Likewise.
38330 * term/i386/pc/serial.c: Likewise.
38331 * term/i386/pc/vesafb.c: Likewise.
38332 * term/i386/pc/vga.c: Likewise.
38333 * term/i386/pc/vga_text.c: Likewise.
38334 * term/ieee1275/ofconsole.c: Likewise.
38335 * term/usb_keyboard.c: Likewise.
38336
33c846be 383372009-04-14 Bean <bean123ch@gmail.com>
38338
38339 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
38340 properly with null character.
38341
4484e01e 383422009-04-14 Felix Zielcke <fzielcke@z-51.de>
38343
38344 * configure: Remove.
38345 * config.h.in: Likewise.
f93d668e 38346 * stamp-h.in: Likewise.
4484e01e 38347 * DISTLIST: Likewise.
38348 * conf/common.mk: Likewise.
38349 * conf/i386-coreboot.mk: Likewise.
38350 * conf/i386-efi.mk: Likewise.
38351 * conf/i386-ieee1275.mk: Likewise.
38352 * conf/i386.mk: Likewise.
38353 * conf/i386-pc.mk: Likewise.
38354 * conf/powerpc-ieee1275.mk: Likewise.
38355 * conf/sparc64-ieee1275.mk: Likewise.
38356 * conf/x86_64-efi.mk: Likewise.
38357
38358 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
38359 develop on GRUB.
38360
7dd4a573 383612009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 38362 David S. Miller <davem@davemloft.net>
38363
38364 * util/hostdisk.c (make_device_name): Fix buffer length
38365 calculations.
38366
e25b5a8c 383672009-04-14 Felix Zielcke <fzielcke@z-51.de>
38368
38369 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
38370 <sys/param.h> and <sys/sysctl.h>.
38371 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
38372 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
38373 opening the device and reset them afterwards.
38374
1f1f580c 383752009-04-13 Pavel Roskin <proski@gnu.org>
38376
38377 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
38378 Reported by John Stanley <jpsinthemix@verizon.net>
38379
7ebc2d6b 383802009-04-13 Robert Millan <rmh@aybabtu.com>
38381
38382 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 38383 that name for menuentries when appropriate.
7ebc2d6b 38384
d8ba3667 383852009-04-13 Felix Zielcke <fzielcke@z-51.de>
38386
38387 * util/grub.d/10_freebsd.in: Add a missing `fi'.
38388
cba416eb 383892009-04-13 Robert Millan <rmh@aybabtu.com>
38390
38391 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
38392 to Linux, simply abort telling the user it's no longer supported.
38393
a547a745 383942009-04-13 Felix Zielcke <fzielcke@z-51.de>
38395
38396 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 38397 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 38398 `freebsd_loadenv' only when devices.hints exist.
38399
232a769c 384002009-04-13 Pavel Roskin <proski@gnu.org>
38401
38402 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
38403
c3012039 384042009-04-13 Felix Zielcke <fzielcke@z-51.de>
38405
38406 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
38407 partition number.
38408 (grub_drive): Likewise.
38409
234022fe 384102009-04-13 David S. Miller <davem@davemloft.net>
38411
38412 * kern/sparc64/ieee1275/ieee1275.c: New file.
38413 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
38414 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
38415 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
38416 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
38417 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
38418 grub_ieee1275_alloc_physmem): Declare new exported functions.
38419
d8e1836c 38420 * include/grub/sparc64/ieee1275/loader.h: New file.
38421 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38422 * include/grub/sparc64/kernel.h: Likewise.
38423 * loader/sparc64/ieee1275/linux.c: Likewise.
38424
96bd81ec 38425 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
38426 (grub_fstest_SOURCES): Likewise.
38427
6a4737e5 38428 * util/hostdisk.c (make_device_name): Do not make any assumptions
38429 about the length of drive names.
38430
1d7a72fd 38431 * kern/dl.c (grub_dl_load_file): Close file immediately when
38432 we are done using it.
38433
56bc2471 384342009-04-12 David S. Miller <davem@davemloft.net>
38435
38436 * kern/misc.c (grub_ltoa): Fix cast when handling negative
38437 values. Noticed by Pavel Roskin.
38438
df38d0bb 38439 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
38440 target compiler.
7dd4a573 38441
e382e93a 38442 * genmk.rb: Add more flexible image type specification, also
38443 pass --strip-unneeded to objcopy.
38444 * conf/i386-pc.rmk: Use *_FORMAT.
38445 * conf/i386-pc.mk: Rebuilt.
38446
f5dbbca9 38447 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
38448 (OFDISK_HASH_SZ): Define.
38449 (ofdisk_hash): New hash table.
38450 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
38451 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
38452 instead of device phandle which is not unique.
38453
91c88b12 38454 * kern/sparc64/ieee1275/init.c: Delete, replace with...
38455 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
38456 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
38457 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
38458 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
38459 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
38460 GRUB_KERNEL_MACHINE_DATA_END): Define.
38461 (grub_kernel_image_size, grub_total_module_size): Declare.
38462
5b5d4aa5 384632009-04-12 Pavel Roskin <proski@gnu.org>
38464
7dd4a573 38465 * configure.ac: Change the logic when we check for target tools.
38466 Do it when the target is specified and it's different from the
38467 specified value of the host.
5b5d4aa5 38468
c91e1793 384692009-04-11 Felix Zielcke <fzielcke@z-51.de>
38470
38471 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
38472 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
38473 GNU/kFreeBSD. Check if a device is a character device. Use
38474 DIOCGMEDIASIZE to get the size.
38475 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
38476 support for GNU/kFreeBSD.
38477 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
38478 is a character device instead of a block device. Add support for
38479 FreeBSD device names.
38480
38481 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
38482 is a character device instead of a block device.
38483
38484 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
38485 is a character device instead of a block device.
38486
b1ac8644 384872009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
38488
38489 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
38490 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
38491 FreeBSD. Check if a device is a character device. Use
38492 DIOCGMEDIASIZE to get the size.
38493 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
38494 support for FreeBSD.
38495 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
38496 is a character device instead of a block device. Add support for
38497 FreeBSD device names.
38498
38499 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
38500 a character device instead of a block device.
38501 (grub_util_check_char_device): New function.
38502
38503 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
38504 a character device instead of a block device.
38505
38506 * include/grub/util/getroot.h (grub_util_check_char_device): New
38507 prototype.
38508
a3f7515a 385092009-04-11 David S. Miller <davem@davemloft.net>
38510
38511 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
38512 static libgcc.
38513 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
38514 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
38515 function, if present.
38516 (__bswapdi2): Likewise.
38517
0d44993d 38518 * include/grub/sparc64/ieee1275/boot.h: New file.
38519 * boot/sparc64/ieee1275/boot.S: Likewise.
38520 * boot/sparc64/ieee1275/diskboot.S: Likewise.
38521
ed3d2bc2 38522 * kern/misc.c (grub_ltoa): New function.
38523 (grub_vsprintf): Use it to format 'long' integers.
38524
d3bfb59c 385252009-04-10 David S. Miller <davem@davemloft.net>
38526
38527 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
38528 slots are of type grub_ieee1275_cell_t.
38529 (grub_nand_read): Likewise.
38530 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
38531 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
38532 macros are used to compare values in arg/ret block of the call.
38533 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38534 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
38535 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
38536 grub_ieee1275_instance_to_path, grub_ieee1275_write,
38537 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
38538 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
38539 grub_ieee1275_close, grub_ieee1275_set_property,
38540 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
38541 grub_ieee1275_cell_t.
38542 * kern/ieee1275/openfw.c (grub_map): Likewise.
38543 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
38544 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
38545
450e2238 38546 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
38547 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
38548 (grub_devalias_iterate): Likewise.
38549
7dd4a573 385502009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 38551
38552 UFS improvements
38553
38554 * fs/ufs.c (INODE_NBLOCKS): new definition
38555 (struct grub_ufs_dirent): added fields for non-BSD dirents
38556 (grub_ufs_get_file_block): fixed double indirect handling
38557 (grub_ufs_lookup_symlink): use more robust way to determine whether
38558 symlink is inline
38559 (grub_ufs_find_file): support for non-BSD dirents
38560 (grub_ufs_dir): support for non-BSD dirents
38561
e7e6862a 385622009-04-10 Bean <bean123ch@gnail.com>
38563
38564 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
38565 attribute, otherwise the size would be wrong for i386 platform.
38566
38567 * include/grub/pci.h (grub_pci_read_word): New inline function.
38568 (grub_pci_read_byte): Likewise.
38569 (grub_pci_write): Likewise.
38570 (grub_pci_write_word): Likewise.
38571 (grub_pci_write_byte): Likewise.
38572
38573 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
38574
38575 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
38576 (find_framebuf): Scan pci to locate the frame buffer address.
38577
38578 * commands/efi/fixvideo.c: New file.
38579
38580 * commands/efi/loadbios.c: Likewise.
38581
38582 * commands/memrw.c: Likewise.
38583
38584 * util/grub-dumpbios.in: Likewise.
38585
38586 * conf/common.rmk (grub-dumpbios): New utility.
38587 (pkglib_MODULES): New module memrw.mod.
38588 (memrw_mod_SOURCE): New macro.
38589 (memrw_mod_CFLAGS): Likewise.
38590 (memrw_mod_LDFLAGS): Likewise.
38591
7dd4a573 38592 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38593 fixvideo.mod.
38594 (loadbios_mod_SOURCE): New macro.
38595 (loadbios_mod_CFLAGS): Likewise.
38596 (loadbios_mod_LDFLAGS): Likewise.
38597 (fixvideo_mod_SOURCE): Likewise.
38598 (fixvideo_mod_CFLAGS): Likewise.
38599 (fixvideo_mod_LDFLAGS): Likewise.
38600
7dd4a573 38601 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38602 fixvideo.mod.
38603 (loadbios_mod_SOURCE): New macro.
38604 (loadbios_mod_CFLAGS): Likewise.
38605 (loadbios_mod_LDFLAGS): Likewise.
38606 (fixvideo_mod_SOURCE): Likewise.
38607 (fixvideo_mod_CFLAGS): Likewise.
38608 (fixvideo_mod_LDFLAGS): Likewise.
38609
af63ada2 386102009-04-08 Felix Zielcke <fzielcke@z-51.de>
38611
38612 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
38613
c2cdde70 386142009-04-07 David S. Miller <davem@davemloft.net>
38615
38616 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
38617 support for R_SPARC_OLO10 relocations. Fix compile warning for
38618 R_SPARC_WDISP30 case.
ea3f72cf 38619 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 38620
761319cf 386212009-04-06 Pavel Roskin <proski@gnu.org>
38622
1007d1f5 38623 * include/grub/misc.h (ARRAY_SIZE): New macro.
38624 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
38625 New macro.
38626 * loader/i386/linux.c (allocate_pages): Use free_pages().
38627 (grub_linux_unload): Don't use free_pages().
38628 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
38629 wrong index. Treat all other modes as text modes.
38630 (grub_cmd_linux): Initialize vid_mode unconditionally to
38631 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
38632
761319cf 38633 * commands/help.c (print_command_help): Use cmd->prio, not
38634 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
38635
ea761d40 386362009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 38637
ea761d40 38638 Parttool
38639
38640 * parttool/pcpart.c: new file
38641 * commands/parttool.c: likewise
38642 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
38643 (parttool_mod_SOURCES): new variable
38644 (parttool_mod_CFLAGS): likewise
38645 (parttool_mod_LDFLAGS): likewise
38646 (pcpart_mod_SOURCES): likewise
38647 (pcpart_mod_CFLAGS): likewise
38648 (pcpart_mod_LDFLAGS): likewise
7dd4a573 38649 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 38650 and parttool/pcpart.c
38651 * conf/i386-efi.rmk: likewise
38652 * conf/i386-ieee1275.rmk: likewise
38653 * conf/i386-pc.rmk: likewise
38654 * conf/powerpc-ieee1275.rmk: likewise
38655 * conf/sparc64-ieee1275.rmk: likewise
38656 * conf/x86_64-ieee1275.rmk: likewise
38657
05aaebfb 386582009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38659
38660 Support for mtime and further expandability of dir command
38661
38662 * include/grub/lib/datetime.h: moved to ...
7dd4a573 38663 * include/grub/datetime.h: ... moved here and added
05aaebfb 38664 declaration of grub_unixtime2datetime. All users updated
7dd4a573 38665 * include/grub/fs.h: new syntax for dir and mtime functions in
38666 struct grub_fs
05aaebfb 38667 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
38668 and GRUB_FSHELP_FLAGS_MASK
38669 * commands/ls.c (grub_ls_list_files): Write mtime in long format
38670 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
38671 (grub_ext2_mtime): new function
38672 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38673 (grub_hfsplus_mtime): new function
38674 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38675 (GRUB_UFS_ATTR_FILE): likewise
38676 (GRUB_UFS_ATTR_LNK): likewise
38677 (struct grub_ufs_sblock): new fields mtime
38678 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38679 all users updated
38680 (grub_ufs_dir): mtime support
38681 (grub_ufs_mtime): new function
38682 * fs/affs.c (grub_affs_dir): use new dir syntax
38683 * fs/afs.c (grub_afs_dir): likewise
38684 * fs/cpio.c (grub_cpio_dir): likewise
38685 * fs/fat.c (grub_fat_find_dir): likewise
38686 * fs/hfs.c (grub_hfs_dir): likewise
38687 * fs/iso9660.c (grub_iso9660_dir): likewise
38688 * fs/jfs.c (grub_jfs_dir): likewise
38689 * fs/minix.c (grub_minix_dir): likewise
38690 * fs/ntfs.c (grub_ntfs_dir): likewise
38691 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38692 * fs/sfs.c (grub_sfs_dir): likewise
38693 * fs/xfs.c (grub_xfs_dir): likewise
38694 * util/hostfs.c (grub_hostfs_dir): likewise
38695 * lib/datetime.c: moved to ...
38696 * normal/datetime.c: ... moved here
38697 (grub_unixtime2datetime): new function
38698 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 38699 * normal/completion.c (iterate_dir): use new dir syntax
38700 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 38701 last modification time of a volume
7dd4a573 38702 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 38703 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 38704 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 38705 (normal_mod_SOURCES): likewise
38706 (datetime_mod_SOURCES): Removed lib/datetime.c
38707 * conf/i386-efi.rmk: likewise
7dd4a573 38708 * conf/i386-ieee1275.rmk: likewise
05aaebfb 38709 * conf/i386-pc.rmk: likewise
38710 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38711 * conf/sparc64-ieee1275.rmk: likewise
38712 * conf/x86_64-efi.rmk: likewise
05aaebfb 38713
8a7e1a14 387142009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38715
38716 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 38717
38718 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 38719 on grub_fat_find_dir
38720 (grub_fat_find_dir): use grub_fat_iterate_dir
38721 (grub_fat_label): likewise
38722
04186a9c 387232009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38724
7dd4a573 38725 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 38726 and command.h
38727 remove extraneous kernel_elf_HEADERS
38728
da4c0bb6 387292009-04-04 Bean <bean123ch@gnail.com>
38730
38731 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38732
38733 * util/misc.c: Likewise.
38734
54ad9555 387352009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38736
38737 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38738 instead of grub_printf.
38739
7a6bf9f2 387402009-04-03 Robert Millan <rmh@aybabtu.com>
38741
38742 * loader/i386/linux.c (grub_linux_setup_video): Fill
38743 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38744 values from `mode info' structure instead of hardcoded
38745 values.
38746
3fcc2083 387472009-04-01 Pavel Roskin <proski@gnu.org>
38748
38749 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38750 unused now.
38751 * genmk.rb: Likewise.
38752 * configure.ac: Likewise.
38753
5ec9740b 387542009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38755
38756 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38757 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38758
5270cec8 387592009-04-01 David S. Miller <davem@davemloft.net>
38760
38761 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 38762 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 38763 (grub_setjmp): Mark with 'returns_twice' attribute.
38764 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38765 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38766 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38767
9c3dd854 387682009-04-01 Robert Millan <rmh@aybabtu.com>
38769
38770 Reapply fix from 2008-07-28 which was accidentally reverted; also
38771 perform the same fix to a similar check in same function.
38772
38773 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38774 with the same number are found, just use issue a warning with
38775 grub_dprintf(), as this error has been reported to be non-fatal.
38776
0d818b7e 387772009-03-31 Pavel Roskin <proski@gnu.org>
38778
38779 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38780 for cross-compilation.
38781
95646d92 387822009-03-30 Robert Millan <rmh@aybabtu.com>
38783
38784 Fix i386-ieee1275 build.
38785
38786 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38787 Remove declaration.
38788
6a003ed1 387892009-03-30 Pavel Roskin <proski@gnu.org>
38790
38791 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38792 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38793 zero-terminated, rely only on the strlen value. Fix comparison
38794 of strings differing in length.
38795
92f33540 387962009-03-30 Robert Millan <rmh@aybabtu.com>
38797
38798 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38799 checking for abi version. Improve error messages on BIOS to notify
38800 user about `linux16' command.
38801
a8c48fd5 388022009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
38803
f968172e 38804 Leak fixes
a8c48fd5 38805
f968172e 38806 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
38807 in case of collision
38808 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 38809
9c323f09 388102009-03-29 Robert Millan <rmh@aybabtu.com>
38811
38812 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38813 set `vid_mode' accordingly.
38814 (grub_linux_boot): Process `vid_mode' and set video mode.
38815
ae68f423 388162009-03-29 Robert Millan <rmh@aybabtu.com>
38817
38818 * util/grub.d/10_linux.in (linux_entry): New function.
38819 Factorize generation of Linux boot entries.
38820
5709cfc4 388212009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38822
38823 Make the format of Environment Block plain text. The boot loader
38824 part is not tested well yet.
7dd4a573 38825
5709cfc4 38826 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38827 (buffer): Removed.
38828 (envblk): Likewise.
38829 (usage): Remove "info" and "clear". Add "unset". Update the
38830 description of "set", as this does not delete variables any
38831 longer.
38832 (create_envblk_file): Complete rewrite.
38833 (open_envblk_file): Likewise.
38834 (cmd_info): Removed.
38835 (cmd_list): Likewise.
38836 (cmd_set): Likewise.
38837 (cmd_clear): Likewise.
38838 (list_variables): New function.
38839 (write_envblk): Likewise.
38840 (set_variables): Likewise.
38841 (unset_variables): Likewise.
38842 (main): Complete rewrite.
38843
38844 * commands/loadenv.c (buffer): Removed.
38845 (envblk): Likewise.
38846 (open_envblk_file): New function.
38847 (read_envblk_file): Complete rewrite.
38848 (grub_cmd_load_env): Likewise.
38849 (grub_cmd_list_env): Likewise.
38850 (struct blocklist): New struct.
38851 (free_blocklists): New function.
38852 (check_blocklists): Likewise.
38853 (write_blocklists): Likewise.
38854 (grub_cmd_save_env): Complete rewrite.
38855
38856 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38857 a plain text signature.
38858 (GRUB_ENVBLK_MAXLEN): Removed.
38859 (struct grub_envblk): Complete rewrite.
38860 (grub_envblk_find): Removed.
38861 (grub_envblk_insert): Likewise.
38862 (grub_envblk_open): New prototype.
38863 (grub_envblk_set): Likewise.
38864 (grub_envblk_delete): Put const to VALUE.
38865 (grub_envblk_iterate): Put const to NAME and VALUE.
38866 (grub_envblk_close): New prototype.
38867 (grub_envblk_buffer): New inline function.
38868 (grub_envblk_size): Likewise.
38869
38870 * lib/envblk.c: Include grub/mm.h.
38871 (grub_env_find): Removed.
38872 (grub_envblk_open): New function.
38873 (grub_envblk_close): Likewise.
38874 (escaped_value_len): Likewise.
38875 (find_next_line): Likewise.
38876 (grub_envblk_insert): Removed.
38877 (grub_envblk_set): New function.
38878 (grub_envblk_delete): Complete rewrite.
38879 (grub_envblk_iterate): Likewise.
38880
a9368fd3 388812009-03-28 Robert Millan <rmh@aybabtu.com>
38882
38883 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38884 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38885 variables. Use 16-bit loader.
38886 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38887 loader.
38888 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38889 (grub_linux16_boot): ... this. Update all users.
38890 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
38891 (grub_linux_boot): ... this. Update all users.
38892
38893 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38894 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38895 commands to `linux16' and `initrd16'.
38896 (GRUB_MOD_FINI(linux)): Rename to ...
38897 (GRUB_MOD_FINI(linux16)): ... this.
38898
e4dd5a7e 388992009-03-24 Pavel Roskin <proski@gnu.org>
38900
38901 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38902 not just for compilation.
38903
c04d6e05 389042009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38905
38906 Move multiboot helper out of kernel
38907
38908 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38909 `loader/i386/multiboot_helper.S'.
38910 * conf/i386-coreboot.rmk: Likewise
38911 * conf/i386-ieee1275.rmk: Likewise
38912
38913 * kern/i386/loader.S: Move multiboot helpers from here...
38914 * loader/i386/multiboot_helper.S: ...moved here
38915 * include/grub/i386/loader.h: Move declarations of multiboot
38916 helpers from here...
38917 * include/grub/i386/multiboot.h: ...moved here
38918 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38919
42a5b3fc 389202009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38921
38922 * kern/env.c (grub_env_context_open): Added an argument to specify
38923 whether a new context inherits exported variables from current
38924 one. This is useful when making a sandbox to interpret a config
38925 file.
38926 All callers updated.
38927
38928 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38929
b28bbc4e 389302009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38931
38932 * kern/env.c (grub_env_context_close): Fix memory leaks.
38933
f04f02e4 389342009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38935
38936 * normal/main.c (grub_normal_execute): Added an argument
38937 BATCH to specify if an interactive interface should be provided
38938 after reading a config file.
38939 All callers updated.
38940 (read_command_list): Prevent being executed twice.
38941 (read_fs_list): Likewise.
38942
42a5b3fc 38943 * include/grub/normal.h (grub_normal_execute): Updated the
38944 prototype.
f04f02e4 38945
41473ac2 389462009-03-22 Pavel Roskin <proski@gno.org>
38947
fbc00b0c 38948 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38949 _start.
38950 * kern/i386/pc/startup.S: Likewise.
38951 * kern/i386/efi/startup.S: Likewise.
38952 * kern/i386/ieee1275/startup.S: Likewise.
38953 * kern/i386/coreboot/startup.S: Likewise.
38954 * kern/x86_64/efi/startup.S: Likewise.
38955
41473ac2 38956 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38957 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38958 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38959
2274cc8f 389602009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38961
38962 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38963
38964 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38965 limit detection.
38966 Use vaddr of correct segment for entry_point.
38967
b1b797cb 389682009-03-21 Bean <bean123ch@gmail.com>
38969
38970 * commands/blocklist.c: Add include file <grub/command.h>, remove
38971 <grub/normal.h> and <grub/arg.h>.
38972 (grub_cmd_blocklist): Use the new command interface.
38973 (GRUB_MOD_INIT): Likewise.
38974 (GRUB_MOD_FINI): Likewise.
38975 * commands/boot.c: Likewise.
38976 * commands/cat.c: Likewise.
38977 * commands/cmp.c: Likewise.
38978 * commands/configfile.c: Likewise.
38979 * commands/crc.c: Likewise.
38980 * commands/echo.c: Likewise.
38981 * commands/halt.c: Likewise.
38982 * commands/handler.c: Likewise.
38983 * commands/hdparm.c: Likewise.
38984 * commands/help.c: Likewise.
38985 * commands/hexdump.c: Likewise.
38986 * commands/loadenv.c: Likewise.
38987 * commands/ls.c: Likewise.
38988 * commands/lsmmap.c: Likewise.
38989 * commands/lspci.c: Likewise.
38990 * commands/loadenv.c: Likewise.
38991 * commands/read.c: Likewise.
38992 * commands/reboot.c: Likewise.
38993 * commands/search.c: Likewise.
38994 * commands/sleep.c: Likewise.
38995 * commands/test.c: Likewise.
38996 * commands/usbtest.c: Likewise.
38997 * commands/videotest.c: Likewise.
38998 * commands/i386/cpuid.c: Likewise.
38999 * commands/i386/pc/halt.c: Likewise.
39000 * commands/i386/pc/play.c: Likewise.
39001 * commands/i386/pc/pxecmd.c: Likewise.
39002 * commands/i386/pc/vbeinfo.c: Likewise.
39003 * commands/i386/pc/vbetest.c: Likewise.
39004 * commands/ieee1275/suspend.c: Likewise.
39005 * disk/loopback.c: Likewise.
39006 * font/font_cmd.c: Likewise.
39007 * hello/hello.c: Likewise.
39008 * loader/efi/appleloader.c: Likewise.
39009 * loader/efi/chainloader.c: Likewise.
39010 * loader/i386/bsd.c: Likewise.
39011 * loader/i386/efi/linux.c: Likewise.
39012 * loader/i386/ieee1275/linux.c: Likewise.
39013 * loader/i386/linux.c: Likewise.
39014 * loader/i386/pc/chainloader.c: Likewise.
39015 * loader/i386/pc/linux.c: Likewise.
39016 * loader/powerpc/ieee1275/linux.c: Likewise.
39017 * loader/multiboot_loader.c: Likewise.
39018 * term/gfxterm.c: Likewise.
39019 * term/i386/pc/serial.c: Likewise.
39020 * term/terminfo.c: Likewise.
39021
39022 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
39023 * term/i386/pc/vga.c: Likewise.
39024 * video/readers/jpeg.c: Likewise.
39025 * video/readers/png.c: Likewise.
39026 * video/readers/tga.c: Likewise.
39027
39028 * util/grub-fstest (cmd_loopback): Removed.
39029 (cmd_blocklist): Likewise.
39030 (cmd_ls): Likewise.
39031 (grub_register_command): Likewise.
39032 (grub_unregister_command): Likewise.
39033 (execute_command): Use grub_command_find to locate command and execute
39034 it.
39035
39036 * include/grub/efi/chainloader.h: Removed.
39037 * loader/efi/chainloader_normal.c: Likewise.
39038 * loader/i386/bsd_normal.c: Likewise.
39039 * loader/i386/pc/chainloader_normal.c: Likewise.
39040 * loader/i386/pc/multiboot_normal.c: Likewise.
39041 * loader/linux_normal.c: Likewise.
39042 * loader/multiboot_loader_normal.c: Likewise.
39043 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39044
39045 * gencmdlist.sh: Scan new registration command grub_register_extcmd
39046 and grub_register_command_p1.
39047
39048 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
39049 kern/command.c, lib/arg.c and commands/extcmd.c.
39050 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
39051 (minicmd_mod_SOURCES): New variable.
39052 (minicmd_mod_CFLAGS): Likewise.
39053 (minicmd_mod_LDFLAGS): Likewise.
39054 (extcmd_mod_SOURCES): Likewise.
39055 (extcmd_mod_CFLAGS): Likewise.
39056 (extcmd_mod_LDFLAGS): Likewise.
39057 (boot_mod_SOURCES): Removed.
39058 (boot_mod_CFLAGS): Likewise.
39059 (boot_mod_LDFLAGS): Likewise.
39060
39061 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
39062 kern/corecmd.c.
39063 (kernel_img_HEADERS): Add command.h.
39064 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
39065 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
39066 and lib/arg.c.
39067 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
39068 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
39069 remove the corresponding normal mode command.
39070 (normal_mod_SOURCES): Remove normal/arg.c.
39071 * conf/i386-coreboot.rmk: Likewise.
39072 * conf/i386-efi.rmk: Likewise.
39073 * conf/i386-ieee1275.rmk: Likewise.
39074 * conf/powerpc-ieee1275.rmk: Likewise.
39075 * conf/x86_64-efi.rmk: Likewise.
39076
39077 * include/grub/arg.h: Move from here ...
39078 * include/grub/lib/arg.h: ... to here.
39079
39080 * normal/arg.c: Move from here ...
39081 * lib/arg.c: ... to here.
39082
39083 * commands/extcmd.c: New file.
39084 * commands/minicmd.c: Likewise.
39085 * include/grub/command.h: Likewise.
39086 * include/grub/extcmd.h: Likewise.
39087 * kern/command.c: Likewise.
39088 * kern/corecmd.c: Likewise.
39089
39090 * kern/list.c (grub_list_iterate): Return int instead of void.
39091 (grub_list_insert): New function.
39092 (grub_prio_list_insert): Likewise.
39093
39094 * kern/rescue.c (grub_rescue_command): Removed.
39095 (grub_rescue_command_list): Likewise.
39096 (grub_rescue_register_command): Likewise.
39097 (grub_rescue_unregister_command): Likewise.
39098 (grub_rescue_cmd_boot): Move to minicmd.c
39099 (grub_rescue_cmd_help): Likewise.
39100 (grub_rescue_cmd_info): Likewise.
39101 (grub_rescue_cmd_boot): Likewise.
39102 (grub_rescue_cmd_testload): Likewise.
39103 (grub_rescue_cmd_dump): Likewise.
39104 (grub_rescue_cmd_rmmod): Likewise.
39105 (grub_rescue_cmd_lsmod): Likewise.
39106 (grub_rescue_cmd_exit): Likewise.
39107 (grub_rescue_print_devices): Moved to corecmd.c.
39108 (grub_rescue_print_files): Likewise.
39109 (grub_rescue_cmd_ls): Likewise.
39110 (grub_rescue_cmd_insmod): Likewise.
39111 (grub_rescue_cmd_set): Likewise.
39112 (grub_rescue_cmd_unset): Likewise.
7d074e3c 39113 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 39114 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 39115 commands, remove grub_rescue_register_command calls.
b1b797cb 39116
7d074e3c 39117 * normal/command.c (grub_register_command): Removed.
b1b797cb 39118 (grub_unregister_command): Likewise.
39119 (grub_command_find): Likewise.
39120 (grub_iterate_commands): Likewise.
39121 (rescue_command): Likewise.
39122 (export_command): Moved to corecmd.c.
39123 (set_command): Removed.
39124 (unset_command): Likewise.
39125 (insmod_command): Likewise.
39126 (rmmod_command): Likewise.
39127 (lsmod_command): Likewise.
39128 (grub_command_init): Likewise.
39129
39130 * normal/completion.c (iterate_command): Use cmd->prio to check for
39131 active command.
39132 (complete_arguments): Use grub_extcmd_t structure to find options.
39133 (grub_normal_do_completion): Change function grub_iterate_commands to
39134 grub_command_iterate.
39135
39136 * normal/execute.c (grub_script_execute_cmd): No need to parse
39137 argument here.
39138
39139 * normal/main.c (grub_dyncmd_dispatcher): New function.
39140 (read_command_list): Register unload commands as dyncmd.
39141 (grub_cmd_normal): Use new command interface, register rescue,
39142 unregister normal at entry, register normal, unregister rescue at exit.
39143
39144 * include/grub/list.h (grub_list_test_t): New type.
39145 (grub_list_iterate): Return int instead of void.
39146 (grub_list_insert): New function.
39147 (GRUB_AS_NAMED_LIST_P): New macro.
39148 (GRUB_AS_PRIO_LIST): Likewise.
39149 (GRUB_AS_PRIO_LIST_P): Likewise.
39150 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
39151 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
39152 (grub_prio_list): New structure.
39153 (grub_prio_list_insert): New function.
39154 (grub_prio_list_remove): New inline function.
39155
39156 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
39157 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
39158 (GRUB_COMMAND_FLAG_MENU): Likewise.
39159 (GRUB_COMMAND_FLAG_BOTH): Likewise.
39160 (GRUB_COMMAND_FLAG_TITLE): Likewise.
39161 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
39162 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
39163 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
39164 (grub_command): Likewise.
39165 (grub_register_command): Likewise.
39166 (grub_command_find): Likewise.
39167 (grub_iterate_commands): Likewise.
39168 (grub_command_init): Likewise.
39169 (grub_arg_parse): Likewise.
39170 (grub_arg_show_help): Likewise.
39171
39172 * include/grub/rescue.h (grub_rescue_register_command): Removed.
39173 (grub_rescue_unregister_command): Likewise.
39174
39175 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
39176 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
39177 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
39178
39179 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
39180 grub_rescue_cmd_initrd.
39181 * include/grub/i386/loader.h: Likewise.
39182 * include/grub/x86_64/loader.h: Likewise.
39183
39184 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
39185
1f4147aa 391862009-03-21 Bean <bean123ch@gmail.com>
39187
39188 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
39189 instead of stat in mingw environment.
39190
39191 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
39192
39193 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
39194
39195 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
39196 AC_CONFIG_LINKS.
39197
2156d5ba 391982009-03-21 Bean <bean123ch@gmail.com>
39199
39200 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
39201 out of range error.
39202
177b82ca 392032009-03-18 Michel Dänzer <michel@daenzer.net>
39204
39205 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
39206 checking inode flags for EXT4_EXTENTS_FLAG.
39207
14aad807 392082009-03-18 Robert Millan <rmh@aybabtu.com>
39209
39210 * loader/i386/linux.c: Include `<grub/video.h>' and
39211 `<grub/i386/pc/vbe.h>'..
39212 (grub_linux_setup_video): New function. Loosely based on the EFI one.
39213 (grub_linux32_boot): Attempt to configure video settings with
39214 grub_linux_setup_video().
39215 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
39216 to avoid grub_console_fini() which would step out of graphical mode
39217 unconditionally.
39218
8cf83a27 392192009-03-14 Robert Millan <rmh@aybabtu.com>
39220
39221 Fix build on powerpc.
39222 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
39223
40164e75 392242009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
39225
39226 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
39227 background image command.
39228
c58bc32a 392292009-03-12 Colin D Bennett <colin@gibibit.com>
39230
39231 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
39232 (grub_gfxterm_putchar): Extract pairs of identical calls to
39233 draw_cursor out of conditional blocks.
39234
5415144a 392352009-03-11 Pavel Roskin <proski@gnu.org>
39236
39237 * fs/hfs.c (grub_hfs_strncasecmp): New function.
39238 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
39239
6394042e 392402009-03-11 Robert Millan <rmh@aybabtu.com>
39241
39242 * loader/i386/multiboot_elfxx.c
39243 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
39244
b7b50e5f 392452009-03-11 Felix Zielcke <fzielcke@z-51.de>
39246
39247 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
39248 `kern/handler.c'.
39249
1ca7fc96 392502009-03-11 Robert Millan <rmh@aybabtu.com>
39251
39252 * loader/i386/multiboot.c (code_size): New variable.
39253 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 39254 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 39255 4-byte alignment to MBI and others by increasing
7d074e3c 39256 `boot_loader_name_length' appropriately.
1ca7fc96 39257
39258 * loader/i386/multiboot_elfxx.c
39259 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
39260
a83ea1d2 392612009-03-09 Felix Zielcke <fzielcke@z-51.de>
39262
39263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
39264 `fs/ext2.c'.
39265
aa9f3bff 392662009-03-08 Robert Millan <rmh@aybabtu.com>
39267
39268 Make loader/i386/linux.c usable on i386-pc again.
39269
39270 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
39271 memory to heap.
39272 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
39273 `#error' stanza.
39274
d8b3b60e 392752009-03-07 Bean <bean123ch@gmail.com>
39276
39277 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
39278 allocation.
39279
b362c9e9 392802009-03-06 Robert Millan <rmh@aybabtu.com>
39281
39282 Fix display issue on terminals with screen size other than 80x25
39283 (e.g. gfxterm with resolution higher than 640x480).
39284
39285 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 39286 position relative to the center of the terminal instead of relying
b362c9e9 39287 on a hardcoded offset.
39288
9304eef1 392892009-03-04 Robert Millan <rmh@aybabtu.com>
39290
39291 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
39292 installed.
39293
39294 * Makefile.in (host_kernel): New variable.
39295 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
39296 scripts instead of just the windows one.
39297 * configure.ac: Initialize and AC_SUBST `host_kernel'.
39298
eabc95fb 392992009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 39300
39301 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
39302 `kern/handler.c'.
39303 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39304 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39305 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39306 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39307 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39308 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39309
ceb1223c 393102009-03-04 Felix Zielcke <fzielcke@z-51.de>
39311
39312 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
39313 or if there's no space for the disk label and print the partition number on a
39314 invalid magic.
39315
4910684a 393162009-03-04 Felix Zielcke <fzielcke@z-51.de>
39317
39318 * util/misc.c: Include <time.h>.
39319 (grub_millisleep): New function.
39320
7e9ca17a 393212009-03-04 Bean <bean123ch@gmail.com>
39322
39323 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
39324 another option -mno-red-zone.
39325
39326 * commands/handler.c: Change module description.
39327
39328 * kern/handler.c: Add missing space at the end of description line.
39329
39330 * kern/list.c: Likewise.
39331
f501677c 393322009-03-03 Robert Millan <rmh@aybabtu.com>
39333
39334 Move more components to the relocation area, and fix mbi pointer
39335 handling to use the destination rather than the origin (thanks to
39336 Vladimir Serbinenko for spotting).
39337
39338 * loader/i386/multiboot.c (mbi_dest): New variable.
39339 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
39340 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
39341 relocation area.
39342
9902d047 393432009-03-01 Bean <bean123ch@gmail.com>
39344
50fb7002 39345 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 39346 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
39347 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
39348 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
39349
39350 * loader/i386/efi/linux.c (acpi_guid): New variable.
39351 (acpi_guid): Likewise.
39352 (EBDA_SEG_ADDR): New constant.
39353 (LOW_MEM_ADDR): Likewise.
39354 (FAKE_EBDA_SEG): Likewise.
39355 (fake_bios_data): New function.
39356 (grub_linux_boot): Call fake_bios_data.
39357
71b9f361 393582009-03-01 Bean <bean123ch@gmail.com>
39359
39360 * commands/terminal.c: Removed.
39361
39362 * commands/handler.c: New file.
39363
39364 * include/grub/list.h: Likewise.
39365
39366 * include/grub/handler.h: Likewise.
39367
39368 * kern/list.c: Likewise.
39369
39370 * kern/handler.c: Likewise.
39371
39372 * kern/term.h: Include header file <grub/handler.h>.
39373 (grub_term_input): Move next field to the beginning.
39374 (grub_term_output): Likewise.
39375 (grub_term_input_class): New variable.
39376 (grub_term_output_class): Likewise.
39377 (grub_term_register_input): Changed to inline function.
39378 (grub_term_register_output): Likewise.
39379 (grub_term_unregister_input): Likewise.
39380 (grub_term_unregister_output): Likewise.
39381 (grub_term_set_current_input): Likewise.
39382 (grub_term_set_current_output): Likewise.
39383 (grub_term_get_current_input): Likewise.
39384 (grub_term_get_current_output): Likewise.
39385 (grub_term_iterate_input): Removed.
39386 (grub_term_iterate_output): Likewise.
39387
39388 * kern/term.c (grub_term_list_input): Removed.
39389 (grub_term_list_output): Likewise.
39390 (grub_term_input_class): New variable.
39391 (grub_term_output_class): Likewise.
50fb7002 39392 (grub_cur_term_input): Change variable as macro.
71b9f361 39393 (grub_cur_term_output): Likewise.
39394 (grub_term_register_input): Removed.
39395 (grub_term_register_output): Likewise.
39396 (grub_term_unregister_input): Likewise.
39397 (grub_term_unregister_output): Likewise.
39398 (grub_term_set_current_input): Likewise.
39399 (grub_term_set_current_output): Likewise.
39400 (grub_term_iterate_input): Likewise.
39401 (grub_term_iterate_output): Likewise.
39402 (grub_term_get_current_input): Likewise.
39403 (grub_term_get_current_output): Likewise.
39404
39405 * util/grub-editenv.c: Include header file <grub/handler.h>.
39406 (grub_term_get_current_input): Removed.
39407 (grub_term_get_current_output): Likewise.
39408 (grub_term_input_class): New variable.
50fb7002 39409 (grub_term_output_class): Likewise.
71b9f361 39410
39411 * util/grub-fstest.c (grub_term_get_current_input): Removed.
39412 (grub_term_get_current_output): Likewise.
39413 (grub_term_input_class): New variable.
50fb7002 39414 (grub_term_output_class): Likewise.
71b9f361 39415
39416 * util/grub-probe.c (grub_term_get_current_input): Removed.
39417 (grub_term_get_current_output): Likewise.
39418 (grub_term_input_class): New variable.
50fb7002 39419 (grub_term_output_class): Likewise.
71b9f361 39420
39421 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
39422 (grub_term_get_current_output): Likewise.
39423 (grub_term_input_class): New variable.
50fb7002 39424 (grub_term_output_class): Likewise.
71b9f361 39425
39426 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
39427 (terminal_mod_SOURCES): Likewise.
39428 (terminal_mod_CFLAGS): Likewise.
39429 (terminal_mod_LDFLAGS): Likewise.
39430
39431 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
39432 handler.c.
39433 (kernel_img_SOURCES): Add list.c and handler.c.
39434 (kernel_img_HEADERS): Add list.h and handler.h.
39435
39436 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39437 handler.c.
39438 (kernel_mod_SOURCES): Add list.c and handler.c.
39439 (kernel_mod_HEADERS): Add list.h and handler.h.
39440
39441 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
39442 handler.c.
39443 (kernel_elf_SOURCES): Add list.c and handler.c.
39444 (kernel_elf_HEADERS): Add list.h and handler.h.
39445
39446 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39447 handler.c.
39448 (kernel_elf_SOURCES): Add list.c and handler.c.
39449 (kernel_elf_HEADERS): Add list.h and handler.h.
39450
39451 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39452 handler.c.
39453 (kernel_mod_SOURCES): Add list.c and handler.c.
39454 (kernel_mod_HEADERS): Add list.h and handler.h.
39455
39456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39457 handler.c.
39458 (kernel_elf_SOURCES): Add list.c and handler.c.
39459 (kernel_elf_HEADERS): Add list.h and handler.h.
39460
8a31787f 394612009-02-27 Robert Millan <rmh@aybabtu.com>
39462
39463 Factorize elf32 / elf64 code in Multiboot loader. This will
39464 prevent it from getting out of sync again.
39465
39466 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
39467 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
39468 grub_multiboot_load_elf64): Move from here ...
39469 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
39470 grub_multiboot_load_elf): ... to here (new file).
39471
51cd3dfc 394722009-02-27 Robert Millan <rmh@aybabtu.com>
39473
39474 * util/grub.d/10_linux.in: Rename "single-user mode" to
39475 "recovery mode".
39476
6e8c9c3a 394772009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
39478
39479 Don't leak in SCSI code.
39480 * disk/scsi.c (grub_scsi_close): free `scsi'.
39481
4b6bf4f9 394822009-02-27 Robert Millan <rmh@aybabtu.com>
39483
39484 * loader/i386/pc/multiboot.c: Move from here ...
39485 * loader/i386/multiboot.c: ... to here. Update all users.
39486
b9413424 394872009-02-27 Robert Millan <rmh@aybabtu.com>
39488
39489 Patch from Alexandre Bique <bique.alexandre@gmail.com>
39490 * util/i386/pc/grub-setup.c (setup): Fix directory path.
39491
50fb7002 394922009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 39493
39494 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
39495 b-tree.
39496
8cc50345 394972009-02-27 Robert Millan <rmh@aybabtu.com>
39498
39499 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
39500 `0x' qualifier as 0 when base is specified as parameter).
39501
6e09b8b7 395022009-02-24 Bean <bean123ch@gmail.com>
39503
39504 * configure.ac: Check for -mcmodel=large in x86_64 target.
39505
39506 * include/grub/efi/api.h (efi_call_10): New macro.
39507 (efi_wrap_10): New function.
39508
39509 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
39510 (GRUB_PE32_REL_BASED_HIGH): Likewise.
39511 (GRUB_PE32_REL_BASED_LOW): Likewise.
39512 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
39513 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
39514 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
39515 (GRUB_PE32_REL_BASED_SECTION): Likewise.
39516 (GRUB_PE32_REL_BASED_REL): Likewise.
39517 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
39518 (GRUB_PE32_REL_BASED_DIR64): Likewise.
39519 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
39520
39521 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
39522 issue.
39523
39524 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
39525 (efi_wrap_10): New function.
39526
39527 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
39528
39529 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
39530 MB/MBP model (NV chipset).
39531 (devdata_devs): Add devpath_5 to the list.
39532
39533 * load/i386/efi/linux.c (video_base): Remove variable.
39534 (RGB_MASK): New macro.
39535 (RGB_MAGIC): Likewise.
39536 (LINE_MIN): Likewise.
39537 (LINE_MAX): Likewise.
39538 (FBTEST_STEP): Likewise.
39539 (FBTEST_COUNT): Likewise.
39540 (fb_list): New variable.
39541 (grub_find_video_card): Remove function.
39542 (find_framebuf): New function.
39543 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
39544 line length.
39545
39546 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
39547 problem for x86_64.
39548
74b21bee 395492009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
39550
39551 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
39552
39553 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
39554 coding tool name.
39555
a455f472 395562009-02-22 Robert Millan <rmh@aybabtu.com>
39557
39558 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
39559 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
39560 in our relocation, instead of using it directly from heap. Also
39561 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
39562
6374daf3 395632009-02-21 Robert Millan <rmh@aybabtu.com>
39564
39565 Implement USB keyboard support (based on patch by Marco Gerards)
39566
39567 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
39568 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
39569 (usb_keyboard_mod_LDFLAGS): New variables.
39570
39571 * term/usb_keyboard.c: New file.
39572
8fa4ea70 395732009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
39574
39575 Corrected wrong declaration
39576
39577 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
39578
353976ac 395792009-02-14 Christian Franke <franke@computer.org>
39580
39581 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
39582 (grub_lspci_iter): Print class code and programming interface byte.
39583
6aa1169b 395842009-02-14 Christian Franke <franke@computer.org>
39585
39586 * gendistlist.sh: Ignore `.svn' directories.
39587
265372ca 395882009-02-14 Felix Zielcke <fzielcke@z-51.de>
39589
39590 * fs/fat.c: Add 2009 to Copyright line.
39591
9ff516f3 395922009-02-14 Christian Franke <franke@computer.org>
39593
39594 * commands/hdparm.c: New file. Provides `hdparm' command
39595 which sends ATA commands via grub_disk_ata_pass_through ().
39596
39597 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
39598
39599 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
39600 and <grub/cpu/io.h> to include/grub/ata.h.
39601 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
39602 (GRUB_CDROM_SECTOR_SIZE): Remove.
39603 (GRUB_ATA_*): Move to include/grub/ata.h.
39604 (GRUB_ATAPI_*): Likewise.
39605 (enum grub_ata_commands): Likewise.
39606 (enum grub_ata_timeout_milliseconds): Likewise.
39607 (struct grub_ata_device): Likewise.
39608 (grub_ata_regset): Likewise.
39609 (grub_ata_regget): Likewise.
39610 (grub_ata_regset2): Likewise.
39611 (grub_ata_regget2): Likewise.
39612 (grub_ata_check_ready): Likewise.
39613 (grub_ata_wait_not_busy): Remove static, exported in
39614 include/grub/ata.h.
39615 (grub_ata_wait_drq): Likewise.
39616 (grub_ata_pio_read): Likewise.
39617
39618 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
39619 function for hdparm.mod.
39620
39621 * include/grub/ata.h: New file, contains declarations from
39622 disk/ata.c.
39623 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
39624
39625 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
39626 (grub_disk_ata_pass_through): New exported variable.
39627
39628 * kern/disk.c (grub_disk_ata_pass_through): New variable.
39629
772e23da 396302009-02-13 Colin D Bennett <colin@gibibit.com>
39631
39632 Support multiple fallback entries, and provide an API to support
39633 executing default+fallback menu entries. Renamed the `terminal' menu
39634 viewer to `text'.
39635
39636 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
39637 variable declaration.
39638 (grub_menu_execute_callback): New structure declaration.
39639 (grub_menu_execute_callback_t): New typedef.
39640 (grub_menu_execute_with_fallback): New function declaration.
39641 (grub_menu_get_entry): Likewise.
39642 (grub_menu_get_timeout): Likewise.
39643 (grub_menu_set_timeout): Likewise.
39644
39645 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
39646
39647 * normal/menu.c (grub_wait_after_message): Moved to
39648 `normal/menu_text.c'.
39649 (draw_border): Likewise.
39650 (print_message): Likewise.
39651 (print_entry): Likewise.
39652 (print_entries): Likewise.
39653 (grub_menu_init_page): Likewise.
39654 (get_entry_number): Likewise.
39655 (print_timeout): Likewise.
39656 (run_menu): Likewise.
39657 (grub_menu_execute_entry): Likewise.
39658 (show_text_menu): Likewise.
39659 (get_and_remove_first_entry_number): New function.
39660 (grub_menu_execute_with_fallback): Likewise.
39661 (get_entry): Renamed to ...
39662 (grub_menu_get_entry): .. this and made it global.
39663 (get_timeout): Renamed to ...
39664 (grub_menu_get_timeout): ... this and made it global.
39665 (set_timeout): Renamed to ...
39666 (grub_menu_set_timeout): ... this and made it global.
39667 (grub_normal_terminal_menu_viewer): Renamed to ...
39668 (grub_normal_text_menu_viewer): ... this.
39669
39670 * normal/menu_text.c: New file. Extracted text-menu-specific code
39671 from normal/menu.c.
39672
39673 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39674 (normal_mod_SOURCES): Likewise.
39675
39676 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39677 (normal_mod_SOURCES): Likewise.
39678
39679 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39680 (normal_mod_SOURCES): Likewise.
39681
39682 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39683 (normal_mod_SOURCES): Likewise.
39684
39685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39686 (normal_mod_SOURCES): Likewise.
39687
39688 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39689 (normal_mod_SOURCES): Likewise.
39690
39691 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39692 (normal_mod_SOURCES): Likewise.
39693
16ac430e 396942009-02-11 Robert Millan <rmh@aybabtu.com>
39695
39696 * util/grub.d/00_header.in: Update old reference to `font' command.
39697
06ff20fc 396982009-02-10 Felix Zielcke <fzielcke@z-51.de>
39699
39700 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39701
39702 Based on patch from Javier Martín.
39703
96da9407 397042009-02-09 Felix Zielcke <fzielcke@z-51.de>
39705
39706 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 39707 to avoid false positives with FAT.
96da9407 39708 (grub_fstest_SOURCES): Likewise.
39709 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39710 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39712 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39713 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39714 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39715
6dca6fe4 397162009-02-09 Felix Zielcke <fzielcke@z-51.de>
39717
06ff20fc 39718 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 39719 bpb.version_specific.fat12_or_fat16.fstype and
39720 bpb.version_specific.fat32.fstype.
39721
2550c62f 397222009-02-08 Robert Millan <rmh@aybabtu.com>
39723
be110b30 39724 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 39725
56978920 397262009-02-08 Robert Millan <rmh@aybabtu.com>
39727
39728 * Makefile.in (host_os, host_cpu): New variables.
39729 (target_os): Remove. Update all users.
39730
d64399b5 397312009-02-08 Marco Gerards <marco@gnu.org>
39732
39733 * Makefile.in (enable_grub_emu_usb): New variable.
39734 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39735 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39736 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39737 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39738 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39739 `usbtest.mod' and `usbms.mod'.
39740 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39741 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39742 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39743 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39744 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39745 variables.
39746
39747 * disk/usbms.c: New file.
39748
39749 * include/grub/usb.h: Likewise.
39750
39751 * include/grub/usbtrans.h: Likewise.
39752
39753 * include/grub/usbdesc.h: Likewise.
39754
39755 * bus/usb/usbtrans.c: Likewise.
39756
39757 * bus/usb/ohci.c: Likewise.
39758
39759 * bus/usb/uhci.c: Likewise.
39760
39761 * bus/usb/usbhub.c: Likewise.
39762
39763 * bus/usb/usb.c: Likewise.
39764
39765 * commands/usbtest.c: Likewise.
39766
39767 * util/usb.c: Likewise.
50fb7002 39768
d64399b5 39769 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39770
39771 * configure.ac: Test for libusb presence.
50fb7002 39772
d64399b5 39773 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39774
2b40d6bb 397752009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39776
39777 * kern/mm.c: Add more comments.
39778
73a4ce81 397792009-02-08 Robert Millan <rmh@aybabtu.com>
39780
39781 Patch from Javier Martín.
39782 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39783 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39784
f821ce59 397852009-02-08 Robert Millan <rmh@aybabtu.com>
39786
39787 * fs/cpio.c: Split tar functionality to ...
39788 * fs/tar.c: ... here (new file). Update all users.
39789
aebfc4b0 397902009-02-07 Robert Millan <rmh@aybabtu.com>
39791
39792 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39793 backward-incompatible features.
39794
39795 Based on patch from Javier Martín, with some adjustments.
39796
50fb7002 397972009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 39798
39799 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39800
0bb5115e 398012009-02-07 Robert Millan <rmh@aybabtu.com>
39802
39803 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
39804 position of `disk/lvm.c' to ensure grub_init_all() always picks it
39805 after the RAID stuff.
39806
38a0f8e7 398072009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
39808
50fb7002 39809 Fixes problem when running vbetest command as reported by
38a0f8e7 39810 Vladimir Serbinenko <phcoder@gmail.com>.
39811
39812 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39813
3143cc1c 398142009-02-04 Felix Zielcke <fzielcke@z-51.de>
39815
39816 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39817 /dev/md/NpN style mdraid devices.
39818
9cba6fce 398192009-02-03 Felix Zielcke <fzielcke@z-51.de>
39820
39821 * util/unifont2pff.rb: Remove.
39822
e507a2c1 398232009-02-03 Felix Zielcke <fzielcke@z-51.de>
39824
39825 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39826 `#'.
39827
d2c2b4cd 398282009-02-03 Felix Zielcke <fzielcke@z-51.de>
39829
39830 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
39831 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39832 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39833 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39834 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39835 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39836 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39837
b4315fb0 398382009-02-02 Christian Franke <franke@computer.org>
39839
39840 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
39841
de3aa260 398422009-02-01 Felix Zielcke <fzielcke@z-51.de>
39843
7c3ff286 39844 * INSTALL: Note that we now require at least autoconf 2.59 and
39845 that LZO is optional.
de3aa260 39846
825a182b 398472009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39848
39849 Base on patch on bug #24154 created by Tomas Tintera
39850 <trosos@seznam.cz>.
39851
39852 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39853
a69ef770 398542009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39855
7c3ff286 39856 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 39857 <bero@arklinux.org>.
39858
39859 * normal/parser.y (script_init): Add missing semicolon.
39860
6fa42fa6 398612009-01-31 Colin D Bennett <colin@gibibit.com>
39862
7c3ff286 39863 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 39864 (free_menu_entry_classes): Added.
39865 (grub_normal_menu_addentry): Added class property handling.
39866 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39867 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39868
39869 * normal/menu_viewer.c: New file.
39870
39871 * normal/menu.c (run_menu_entry): Renamed to ...
39872 (grub_menu_execute_entry): ... this and made it as global.
39873 (grub_menu_run): Renamed to ...
39874 (show_text_menu): ... this and made it local.
39875 (show_text_menu): Adapt to new function names.
39876 (grub_normal_terminal_menu_viewer): New global variable.
39877
39878 * include/grub/menu.h: New file.
39879
39880 * include/grub/menu_viewer.h: New file.
39881
39882 * include/grub/normal.h: Added include to grub/menu.h.
39883 (grub_menu_entry): Moved to include/grub/menu.h.
39884 (grub_menu_entry_t): Likewise.
39885 (grub_menu): Likewise.
39886 (grub_menu_t): Likewise.
39887 (grub_normal_terminal_menu_viewer): Added.
39888 (grub_menu_execute_entry): Likewise.
39889 (grub_menu_run): Removed.
39890
39891 * DISTLIST: Added include/grub/menu.h.
39892 Added include/grub/menu_viewer.h.
39893 Added normal/menu_viewer.c.
39894
398952009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39896
39897 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39898 arglist for menutitle arguments.
39899
39900 * normal/main.c (grub_normal_menu_addentry): Likewise.
39901
39902 * normal/parser.y (menuentry): Likewise.
39903
39904 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39905
39906 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39907 (grub_script_create_cmdmenu): Likewise.
39908
39909 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39910
39911 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39912 changes.
39913
39914 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39915
39916 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39917
39918 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39919
39920 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39921
39922 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39923
39924 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39925
56192c23 399262009-01-30 Christian Franke <franke@computer.org>
39927
39928 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39929 in option help text.
39930
d72521b3 399312009-01-27 Pavel Roskin <proski@gnu.org>
39932
39933 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39934
994b5e84 399352009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39936
39937 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39938
39939 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39940
39941 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39942 unregister function.
39943
6a7eab2c 399442009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39945
39946 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39947
39948 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39949
39950 * util/grub-mkfont.c (usage): Fix typo.
39951
39952 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39953
1806b56e 399542009-01-26 Daniel Mierswa <impulze@impulze.org>
39955
3fb18f09 39956 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39957
336e1fb9 39958 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39959
1806b56e 39960 * kern/misc.c (grub_strcasecmp): New function.
39961 (grub_strcasecmp): Use grub_size_t instead of int for length.
39962 Fix return value.
39963 * include/grub/misc.h: Update function prototypes.
39964
580b2a0f 399652009-01-26 Robert Millan <rmh@aybabtu.com>
39966
39967 * configure.ac: Fix cross-compilation check.
ef257b36 39968
d31c24f1 399692009-01-22 Christian Franke <franke@computer.org>
39970
39971 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39972 (precision) digit string. Allow `.format2' without `format1' (width).
39973 Limit input chars for `%s' output to `format2' if specified. This is
39974 compatible with standard printf ().
39975
3138b44c 399762009-01-22 Christian Franke <franke@computer.org>
39977
39978 * disk/ata.c (grub_ata_wait_status): Replace by ...
39979 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39980 other status bits may be invalid while BSY is asserted.
39981 (grub_ata_check_ready): New function.
39982 (grub_ata_cmd): Removed.
39983 (grub_ata_wait_drq): New function.
39984 (grub_ata_strncpy): Remove inline.
39985 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39986 and error check now done by grub_ata_wait_drq ().
39987 (grub_ata_pio_write): Likewise.
39988 (grub_atapi_identify): Set DEV before check for !BSY. Use
39989 grub_ata_wait_drq () to wait for data.
39990 (grub_ata_device_initialize): Add status register check to
39991 detect missing SATA slave devices. Add debug messages.
39992 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39993 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39994 transfer loop by grub_ata_pio_write ().
39995 (grub_ata_identify): Set DEV before check for !BSY. Use
39996 grub_ata_wait_drq () to wait for data.
ef257b36 39997 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39998 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39999 read/write in one loop. Fix invalid command on write. Fix incomplete
40000 command on (size % batch) == 0. Add missing error check after write of
40001 last block. Add debug messages.
40002 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
40003
59a64ef6 400042009-01-19 Christian Franke <franke@computer.org>
40005
40006 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
40007 (GRUB_ATAPI_IREASON_*): Likewise.
40008 (grub_ata_pio_write): Fix timeout error return.
40009 (grub_atapi_identify): Add grub_ata_wait () after cmd.
40010 (grub_atapi_wait_drq): New function.
40011 (grub_atapi_packet): New parameter `size'.
40012 Use grub_atapi_wait_drq () and direct write instead of
40013 grub_ata_pio_write ().
40014 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
40015 reads the number of bytes requested by the device for each DRQ
40016 assertion.
40017 (grub_atapi_write): Remove old implementation, return not
40018 implemented instead.
40019
1cfe20b3 400202009-01-19 Christian Franke <franke@computer.org>
40021
40022 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
40023 of 512 to calculate data size.
40024 (grub_scsi_read12): Likewise.
40025 (grub_scsi_write10): Likewise.
40026 (grub_scsi_write12): Likewise.
40027 (grub_scsi_read): Adjust size according to blocksize.
40028 Add checks for invalid blocksize and unaligned transfer.
40029
bee5fe5d 400302009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
40031
40032 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
40033
ef257b36 40034 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 40035 width glyphs.
40036
3e643f8c 400372009-01-19 Robert Millan <rmh@aybabtu.com>
40038
40039 * config.guess: Update to latest version from config git.
40040 * config.sub: Likewise.
40041
4fa80998 400422009-01-17 Felix Zielcke <fzielcke@z-51.de>
40043
40044 * Makefile.in: Change font compilation to use new grub-mkfont instead
40045 of java version.
40046
40047 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
40048 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
40049 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40050 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40051 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
40052 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
40053 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
40054 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
40055 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40056
7086085b 400572009-01-16 Christian Franke <franke@computer.org>
40058
40059 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
40060 (enum grub_ata_timeout_milliseconds): New enum.
40061 (grub_ata_wait_status): Add parameter milliseconds.
40062 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
40063 recovery from timed-out commands.
40064 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
40065 return grub_errno instead of REG_ERROR.
40066 (grub_ata_pio_write): Add parameter milliseconds.
40067 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
40068 Pass milliseconds to grub_ata_wait_status () and
40069 grub_ata_pio_read ().
40070 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
40071 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
40072 grub_ata_wait_status (). Fix IDENTIFY timeout check.
40073 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
40074 It is not suitable for device detection, because DEV bit is ignored,
40075 the command may run too long, and not all devices set the signature
40076 properly.
40077 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
40078 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
40079 Fix device selection, DEV bit must be set first to address the registers
40080 of the correct device.
40081 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
40082 grub_ata_pio_read/write ().
40083 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
40084 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
40085
4a412913 400862009-01-13 Carles Pina i Estany <carles@pina.cat>
40087
40088 * util/grub-editenv.c (main): Use fseeko(), not fseek().
40089
7795c55e 400902009-01-13 Bean <bean123ch@gmail.com>
d913988c 40091
40092 * util/grub-mkfont.c (write_font): forget to remove some debug code.
40093
7795c55e 400942009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 40095
40096 * Makefile.in: (enable_grub_mkfont): New variable.
40097 (freetype_cflags): Likewise.
40098 (freetype_libs): Likewise.
40099
40100 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
40101 (grub_mkfont_SOURCES): New variable.
40102 (grub_mkfont_CFLAGS): Likewise.
40103 (grub_mkfont_LDFLAGS): Likewise.
40104
40105 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
40106 library if `--enable-grub-mkfont' is requested.
40107 (enable_grub_mkfont): New variable.
40108 (freetype_cflags): Likewise.
40109 (freetype_libs): Likewise.
40110
40111 * util/grub-mkfont.c: New file.
40112
093af1fe 401132009-01-12 Christian Franke <franke@computer.org>
40114
40115 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
40116 mode check. Fix setting of compat_use[].
40117
f36cc108 401182009-01-10 Robert Millan <rmh@aybabtu.com>
40119
40120 Update a few copyright years which we forgot to do in 2008 (only for
40121 files whose changes made in 2008 were copyright-significant)
40122
40123 * Makefile.in: Add 2008 to Copyright line.
40124 * disk/ieee1275/ofdisk.c: Likewise.
40125 * disk/efi/efidisk.c: Likewise.
40126 * kern/dl.c: Likewise.
40127 * kern/sparc64/ieee1275/init.c: Likewise.
40128 * kern/mm.c: Likewise.
40129 * kern/efi/mm.c: Likewise.
40130 * boot/i386/pc/boot.S: Likewise.
40131 * genfslist.sh: Likewise.
40132 * fs/iso9660.c: Likewise.
40133 * fs/hfs.c: Likewise.
40134 * fs/jfs.c: Likewise.
40135 * fs/minix.c: Likewise.
40136 * fs/ufs.c: Likewise.
40137 * gensymlist.sh.in: Likewise.
40138 * genkernsyms.sh.in: Likewise.
40139 * include/grub/misc.h: Likewise.
40140 * include/grub/types.h: Likewise.
40141 * include/grub/symbol.h: Likewise.
40142 * include/grub/elf.h: Likewise.
40143 * include/grub/kernel.h: Likewise.
40144 * include/grub/disk.h: Likewise.
40145 * include/grub/dl.h: Likewise.
40146 * include/grub/i386/linux.h: Likewise.
40147 * include/grub/i386/pc/biosdisk.h: Likewise.
40148 * include/grub/efi/api.h: Likewise.
40149 * include/grub/efi/pe32.h: Likewise.
40150 * include/grub/util/misc.h: Likewise.
40151 * normal/execute.c: Likewise.
40152 * normal/arg.c: Likewise.
40153 * normal/completion.c: Likewise.
40154 * normal/lexer.c: Likewise.
40155 * normal/parser.y: Likewise.
40156 * normal/misc.c: Likewise.
40157 * commands/i386/pc/vbeinfo.c: Likewise.
40158 * commands/hexdump.c: Likewise.
40159 * commands/terminal.c: Likewise.
40160 * commands/ls.c: Likewise.
40161 * commands/help.c: Likewise.
40162 * partmap/pc.c: Likewise.
40163 * loader/efi/chainloader.c: Likewise.
40164 * loader/multiboot_loader.c: Likewise.
40165 * loader/i386/pc/multiboot2.c: Likewise.
40166 * term/efi/console.c: Likewise.
40167 * term/i386/pc/serial.c: Likewise.
40168 * util/lvm.c: Likewise.
40169 * util/console.c: Likewise.
40170 * util/i386/efi/grub-mkimage.c: Likewise.
40171 * util/raid.c: Likewise.
40172
7f02114b 401732009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
40174
40175 * commands/videotest.c: Removed include to grub/machine/memory.h.
40176
40177 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
40178 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
40179 (video_mod_SOURCES): Removed.
40180 (video_mod_CFLAGS): Likewise.
40181 (video_mod_LDFLAGS): Likewise.
40182 (gfxterm_mod_SOURCES): Likewise.
40183 (gfxterm_mod_CFLAGS): Likewise.
40184 (gfxterm_mod_LDFLAGS): Likewise.
40185 (videotest_mod_SOURCES): Likewise.
40186 (videotest_mod_CFLAGS): Likewise.
40187 (videotest_mod_LDFLAGS): Likewise.
40188 (bitmap_mod_SOURCES): Likewise.
40189 (bitmap_mod_CFLAGS): Likewise.
40190 (bitmap_mod_LDFLAGS): Likewise.
40191 (tga_mod_SOURCES): Likewise.
40192 (tga_mod_CFLAGS): Likewise.
40193 (tga_mod_LDFLAGS): Likewise.
40194 (jpeg_mod_SOURCES): Likewise.
40195 (jpeg_mod_CFLAGS): Likewise.
40196 (jpeg_mod_LDFLAGS): Likewise.
40197 (png_mod_SOURCES): Likewise.
40198 (png_mod_CFLAGS): Likewise.
40199 (png_mod_LDFLAGS): Likewise.
40200
40201 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
40202 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
40203 (video_mod_SOURCES): Added.
40204 (video_mod_CFLAGS): Likewise.
40205 (video_mod_LDFLAGS): Likewise.
40206 (videotest_mod_SOURCES): Likewise.
40207 (videotest_mod_CFLAGS): Likewise.
40208 (videotest_mod_LDFLAGS): Likewise.
40209 (bitmap_mod_SOURCES): Likewise.
40210 (bitmap_mod_CFLAGS): Likewise.
40211 (bitmap_mod_LDFLAGS): Likewise.
40212 (tga_mod_SOURCES): Likewise.
40213 (tga_mod_CFLAGS): Likewise.
40214 (tga_mod_LDFLAGS): Likewise.
40215 (jpeg_mod_SOURCES): Likewise.
40216 (jpeg_mod_CFLAGS): Likewise.
40217 (jpeg_mod_LDFLAGS): Likewise.
40218 (png_mod_SOURCES): Likewise.
40219 (png_mod_CFLAGS): Likewise.
40220 (png_mod_LDFLAGS): Likewise.
40221 (gfxterm_mod_SOURCES): Likewise.
40222 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 40223 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 40224
40225 * term/gfxterm.c: Removed include to grub/machine/memory.h,
40226 grub/machine/console.h.
40227
644fff97 402282009-01-04 Jerone Young <jerone@gmail.com>
40229
40230 Make on screen instructions clearer
40231
40232 Based on patch created by Jidanni <jidanni@jidanni.org>
40233
40234 * normal/menu.c: print clearer instructions on the screen
40235
1e901a75 402362009-01-02 Colin D Bennett <colin@gibibit.com>
40237
40238 New font engine.
34c44600 40239
1e901a75 40240 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
40241 build system and fixed gfxterm.c to work with different sized fonts.
40242
40243 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 40244
1e901a75 40245 * configure: Re-generated.
34c44600 40246
1e901a75 40247 * DISTLIST: Removed font/manager.c.
40248 Added font/font.c.
40249 Added font/font_cmd.c.
34c44600 40250
1e901a75 40251 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
40252 compilation.
34c44600 40253
1e901a75 40254 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 40255
40256 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 40257
40258 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 40259
1e901a75 40260 * normal/menu.c: Likewise.
34c44600 40261
1e901a75 40262 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
40263 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 40264
1e901a75 40265 * include/grub/font.h: Replaced with new file.
34c44600 40266
1e901a75 40267 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
40268 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
40269 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
40270 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
40271 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 40272 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 40273 fg_red, fg_green, fg_blue, fg_alpha.
40274 (grub_video_adapter): Removed blit_glyph.
34c44600 40275 (grub_video_blit_glyph): Removed.
40276
1e901a75 40277 * font/manager.c: Removed file.
34c44600 40278
40279 * font/font.c: New file.
40280
1e901a75 40281 * font/font_cmd.c: Likewise.
34c44600 40282
1e901a75 40283 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 40284
1e901a75 40285 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
40286 (grub_video_vbe_map_rgba): Likewise.
40287 (grub_video_vbe_unmap_color_int): Likewise.
40288 (grub_video_vbe_blit_glyph): Removed.
40289 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 40290
1e901a75 40291 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
40292 (get_pixel): Likewise.
34c44600 40293 (set_pixel): Likewise.
40294
1e901a75 40295 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 40296
1e901a75 40297 * term/gfxterm.c: Adapted to new font engine.
34c44600 40298
1e901a75 40299 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 40300
1e901a75 40301 * term/i386/pc/vga.c: Likewise.
34c44600 40302
1e901a75 40303 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 40304
1e901a75 40305 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 40306
1e901a75 40307 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40308
1e901a75 40309 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40310
1e901a75 40311 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 40312
1e901a75 40313 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 40314
1e901a75 40315 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 40316
1e901a75 40317 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 40318
1e901a75 40319 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40320
40321 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 40322
1e901a75 40323 * util/grub-mkconfig_lib.in: Changed font extension.
40324
278922e8 403252008-12-28 Felix Zielcke <fzielcke@z-51.de>
40326
40327 * util/getroot.c (grub_util_get_grub_dev): Add support for
40328 /dev/md/dNNpNN style partitionable mdraid devices.
40329
3ced05cf 403302008-12-12 Alex Smith <alex@alex-smith.me.uk>
40331
40332 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
40333 at a time limit of the PXE TFTP API correctly.
40334 (grub_pxefs_close): Likewise.
40335
7fd0ee30 403362008-11-29 Robert Millan <rmh@aybabtu.com>
40337
34c44600 40338 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 40339 grub_ata_device_initialize() calls.
40340
34c44600 403412008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 40342
40343 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
40344 iteration failed.
40345 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
40346
89313780 403472008-11-28 Robert Millan <rmh@aybabtu.com>
40348
40349 Fix build on powerpc-ieee1275. Based on patch created by
40350 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
40351 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40352 `kern/ieee1275/mmap.c'.
40353 * include/grub/powerpc/ieee1275/memory.h: New file.
40354
15257703 40355 Provide grub-install on coreboot.
40356 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
40357 (grub_install_SOURCES): New variable.
40358 * util/i386/pc/grub-install.in: Add a few condition checks to make it
40359 usable on coreboot.
40360
9fc5388a 403612008-11-25 Felix Zielcke <fzielcke@z-51.de>
40362
40363 * util/grub-fstest.c (grub_term_get_current_input): Change return type
40364 to `grub_term_input_t'.
40365 (grub_term_get_current_output): Change return type to
40366 `grub_term_output_t'.
40367
bc3a2f31 403682008-11-22 Robert Millan <rmh@aybabtu.com>
40369
34c44600 40370 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 40371 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
40372 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
40373 grub_vga_text_cls().
40374
80fc88f2 40375 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 40376 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 40377
cbf36fd3 40378 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
40379 to 0x200000 (avoids trouble with some OFW implementations, and matches
40380 with the one in Yaboot).
40381 Reported by Manoel Abranches
40382
73e8e268 403832008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 40384
40385 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
40386 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
40387
73e8e268 40388 * util/grub-mkconfig_lib.in (grub_warn): New function.
40389 (convert_system_path_to_grub_path): Use grub_warn() when issuing
40390 warnings, to obtain consistent formatting.
40391 * util/grub.d/00_header.in: Likewise.
40392 * util/update-grub_lib.in: Likewise.
40393
e94045a1 40394 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 40395 Move comment text to `#error' stanza.
e94045a1 40396
79d29fd7 40397 Harmonize ieee1275's grub_available_iterate() with the generic
40398 grub_machine_mmap_iterate() interface (fixes a recently-introduced
40399 build problem on i386-ieee1275):
40400 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
40401 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
40402 parameter `type'. Update all users of this function.
40403 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40404 `kern/ieee1275/mmap.c'.
40405 * kern/ieee1275/init.c
40406 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
40407 with ...
40408 (grub_machine_mmap_iterate): ... this.
40409 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
40410 return type to `grub_err_t'. Update all implementations of this
40411 function prototype.
40412 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
40413 Likewise.
40414
60d6b16e 40415 Add `lsmmap' command (lists firmware-provided memory map):
40416 * commands/lsmmap.c: New file.
40417 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
40418 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
40419 variables.
40420 * conf/powerpc-ieee1275.rmk: Likewise.
40421 * conf/i386-coreboot.rmk: Likewise.
40422 * conf/i386-ieee1275.rmk: Likewise.
40423
ebaaf49b 404242008-11-19 Robert Millan <rmh@aybabtu.com>
40425
40426 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 40427 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
40428 constraints to initrd allocation (based on code from
40429 loader/i386/pc/linux.c). Without them, initrd was allocated too high
40430 for Linux to find it.
ebaaf49b 40431
dfab719f 404322008-11-14 Robert Millan <rmh@aybabtu.com>
40433
40434 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
40435 order to cope with duplicate slashes.
40436
10fc3eb9 404372008-11-14 Robert Millan <rmh@aybabtu.com>
40438
40439 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
40440 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
40441 don't want to mess with lower memory, because it is used in the Linux
40442 loader.
40443
40444 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 40445 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 40446 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
40447 is in our heap (probably as a result of it being corrupted during
2f2a3442 40448 decompression). Add #error instance with comment to explain why this
40449 loader isn't currently usable on PC/BIOS.
10fc3eb9 40450
e2e07847 404512008-11-14 Robert Millan <rmh@aybabtu.com>
40452
40453 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 40454 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 40455
fe8e8d69 404562008-11-12 Robert Millan <rmh@aybabtu.com>
40457
40458 Make loader/i386/linux.c buildable on i386-pc (although disabled).
40459
40460 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
40461 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
40462 from here ...
40463 * include/grub/i386/pc/memory.h: ... to here.
40464
976b07d0 404652008-11-12 Robert Millan <rmh@aybabtu.com>
40466
40467 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
40468 split).
40469
40470 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
40471 (grub_console_cur_color, grub_console_real_putchar)
40472 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40473 (grub_console_setcolorstate, grub_console_setcolor)
40474 (grub_console_getcolor): Move from here ...
40475 * include/grub/i386/vga_common.h: ... to here (new file).
40476
40477 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
40478 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
40479 `<grub/i386/io.h>'.
40480 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
40481 `<grub/i386/vga_common.h>'.
40482
76679cd3 404832008-11-12 Robert Millan <rmh@aybabtu.com>
40484
40485 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
40486 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
40487 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
40488 variables.
40489 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40490 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
40491
40492 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
40493 grub_console_init() with call to grub_vga_text_init().
40494 (grub_machine_fini): Replace call to
40495 grub_console_fini() with call to grub_vga_text_fini() and
40496 grub_at_keyboard_fini().
40497
40498 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
40499 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40500 (grub_console_setcolorstate, grub_console_setcolor)
40501 (grub_console_getcolor): New function prototypes.
40502
40503 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
40504 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
40505 (grub_vga_text_setcursor): Static-ize.
40506 (grub_vga_text_term): New structure.
40507 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
40508
40509 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
40510 (grub_console_cur_color, grub_console_standard_color)
40511 (grub_console_normal_color, grub_console_highlight_color)
40512 (map_char, grub_console_putchar, grub_console_getcharwidth)
40513 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
40514 (grub_console_getcolor): Move from here ...
40515 * term/i386/vga_common.c: ... to here (same function names).
40516
95b841d3 405172008-11-12 Robert Millan <rmh@aybabtu.com>
40518
40519 Use newly-added Multiboot support in coreboot.
40520
40521 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40522 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
40523
40524 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
40525 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
40526 (codestart): Store the MBI in `startup_multiboot_info' when we're
40527 being loaded using Multiboot.
40528
40529 * kern/i386/coreboot/init.c (grub_machine_init): Move
40530 grub_at_keyboard_init() call to beginning of function (useful for
40531 debugging). Call grub_machine_mmap_init() before attempting to use
40532 grub_machine_mmap_iterate().
40533 (grub_lower_mem, grub_upper_mem): Move from here ...
40534 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
40535 here (new file).
40536
40537 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
40538 function prototype.
40539
761ca975 405402008-11-12 Robert Millan <rmh@aybabtu.com>
40541
40542 Fix a regression introduced by the at_keyboard.mod split. Because
40543 some terminals are default on some platforms and non-default on
40544 others, the first terminal being registered determines which is
40545 going to be default.
40546
40547 * kern/term.c (grub_term_register_input): If this is the first
40548 terminal being registered, set it as the current one.
40549 (grub_term_register_output): Likewise.
40550
40551 * term/efi/console.c (grub_console_init): Do not call
40552 grub_term_set_current_output() or grub_term_set_current_input().
40553 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
40554 * term/i386/pc/console.c (grub_console_init): Likewise.
40555 (grub_console_fini): Do not call grub_term_set_current_input()
40556 (but leave grub_term_set_current_output() to restore text mode).
40557
6c529df7 405582008-11-10 Robert Millan <rmh@aybabtu.com>
40559
40560 * util/grub.d/00_header.in: Add backward compatibility check for
40561 versions of terminal.mod that don't understand `terminal_input' or
40562 `terminal_output'.
40563
132e4113 405642008-11-09 Robert Millan <rmh@aybabtu.com>
40565
40566 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
40567 `terminal_input' / `terminal_output', not `terminal'.
40568
ac293d50 405692008-11-08 Robert Millan <rmh@aybabtu.com>
40570
40571 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 40572 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 40573
0025933a 405742008-11-08 Robert Millan <rmh@aybabtu.com>
40575
40576 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 40577 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 40578 members. Update all users.
40579 * util/console.c (grub_ncurses_term): Split in ...
40580 (grub_ncurses_term_input): ... this, and ...
40581 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 40582 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 40583
37c86336 405842008-11-08 Robert Millan <rmh@aybabtu.com>
40585
40586 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
40587 (PKGDATA): Add $(pkgdata_SRCDIR).
40588 (pkglib_BUILDDIR): New variable.
40589 (pkgdata_SRCDIR): New variable.
40590 (build_env.mk): New target.
40591 (include_DATA): New variable.
40592 (install-local): Install $(include_DATA) files in $(includedir).
40593
b6c15a2d 405942008-11-07 Pavel Roskin <proski@gnu.org>
40595
d99d46f1 40596 * gendistlist.sh: Use C locale for sorting to ensure consistent
40597 output on all systems.
40598
b6c15a2d 40599 * util/grub.d/00_header.in: Remove incorrect space before
40600 "serial".
40601
c32ee8c9 406022008-11-07 Robert Millan <rmh@aybabtu.com>
40603
40604 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
40605 per specification.
40606 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
40607 * loader/multiboot_loader.c (find_multi_boot2_header): New function
40608 (based on find_multi_boot1_header).
40609 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
40610 using find_multi_boot2_header(), and abort if neither Multiboot or
40611 Multiboot headers were found.
40612
651c29b7 406132008-11-07 Robert Millan <rmh@aybabtu.com>
40614
40615 Modularize at_keyboard.mod:
40616
40617 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
40618 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
40619 (at_keyboard_mod_LDFLAGS): New variables.
40620
40621 Actual terminal split:
40622
40623 * include/grub/term.h (struct grub_term): Split in ...
40624 (struct grub_term_input): ... this, and ...
40625 (struct grub_term_output): ... this. Update all users.
40626 (grub_term_set_current): Split in ...
40627 (grub_term_set_current_input): ... this, and ...
40628 (grub_term_set_current_output): ... this.
40629 (grub_term_get_current): Split in ...
40630 (grub_term_get_current_input): ... this, and ...
40631 (grub_term_get_current_output): ... this.
40632 (grub_term_register): Split in ...
40633 (grub_term_register_input): ... this, and ...
40634 (grub_term_register_output): ... this.
40635 (grub_term_unregister): Split in ...
40636 (grub_term_unregister_input): ... this, and ...
40637 (grub_term_unregister_output): ... this.
40638 (grub_term_iterate): Split in ...
40639 (grub_term_iterate_input): ... this, and ...
40640 (grub_term_iterate_output): ... this.
40641
40642 * kern/term.c (grub_term_list): Split in ...
40643 (grub_term_list_input): ... this, and ...
40644 (grub_term_list_output): ... this. Update all users.
40645 (grub_cur_term): Split in ...
40646 (grub_cur_term_input): ... this, and ...
40647 (grub_cur_term_output): ... this. Update all users.
40648 (grub_term_set_current): Split in ...
40649 (grub_term_set_current_input): ... this, and ...
40650 (grub_term_set_current_output): ... this.
40651 (grub_term_get_current): Split in ...
40652 (grub_term_get_current_input): ... this, and ...
40653 (grub_term_get_current_output): ... this.
40654 (grub_term_register): Split in ...
40655 (grub_term_register_input): ... this, and ...
40656 (grub_term_register_output): ... this.
40657 (grub_term_unregister): Split in ...
40658 (grub_term_unregister_input): ... this, and ...
40659 (grub_term_unregister_output): ... this.
40660 (grub_term_iterate): Split in ...
40661 (grub_term_iterate_input): ... this, and ...
40662 (grub_term_iterate_output): ... this.
40663
40664 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
40665 a check for input and one for output (and only attempt to get keys
40666 from user when input works).
40667
40668 * util/grub-probe.c (grub_term_get_current): Split in ...
40669 (grub_term_get_current_input): ... this, and ...
40670 (grub_term_get_current_output): ... this.
40671 * util/grub-fstest.c: Likewise.
40672 * util/i386/pc/grub-setup.c: Likewise.
40673 * util/grub-editenv.c: Likewise.
40674
40675 Portability adjustments:
40676
40677 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40678 `term/i386/pc/at_keyboard.c'.
40679 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40680 grub_keyboard_controller_init() (now handled by terminal .init).
40681 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40682 grub_at_keyboard_init().
40683 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40684 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40685 at_keyboard.mod via input terminal interface).
40686 * include/grub/i386/coreboot/console.h: Convert into a stub for
40687 `<grub/i386/pc/console.h>'.
40688
40689 Migrate full terminals to new API:
40690
40691 * term/efi/console.c (grub_console_term): Split into ...
40692 (grub_console_term_input): ... this, and ...
40693 (grub_console_term_output): ... this. Update all users.
40694 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40695 (grub_ofconsole_init): Split into ...
40696 (grub_ofconsole_init_input): ... this, and ...
40697 (grub_ofconsole_init_output): ... this.
40698 (grub_ofconsole_term): Split into ...
40699 (grub_ofconsole_term_input): ... this, and ...
40700 (grub_ofconsole_term_output): ... this. Update all users.
40701 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40702 (grub_serial_term_input): ... this, and ...
40703 (grub_serial_term_output): ... this. Update all users.
40704 * term/i386/pc/console.c (grub_console_term): Split into ...
40705 (grub_console_term_input): ... this, and ...
40706 (grub_console_term_output): ... this. Update all users.
40707 (grub_console_term_input): Only enable it on PC/BIOS platform.
40708 (grub_console_init): Remove grub_keyboard_controller_init() call.
40709
40710 Migrate input terminals to new API:
40711
40712 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40713 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40714 i386-specific anyway).
40715 (grub_console_checkkey): Rename to ...
40716 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40717 users.
40718 (grub_keyboard_controller_orig): New variable.
40719 (grub_console_getkey): Rename to ...
40720 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40721 users.
40722 (grub_keyboard_controller_init): Static-ize. Save original
40723 controller value so that it can be restored ...
40724 (grub_keyboard_controller_fini): ... here (new function).
40725 (grub_at_keyboard_term): New structure.
40726 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40727 functions.
40728
40729 Migrate output terminals to new API:
40730
40731 * term/i386/pc/vga.c (grub_vga_term): Change type to
40732 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40733 members. Update all users.
40734 * term/gfxterm.c (grub_video_term): Change type to
40735 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40736 members. Update all users.
40737 * include/grub/i386/pc/console.h (grub_console_checkkey)
40738 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40739 etc).
40740
40741 Migrate `terminal' command and userland tools to new API:
40742
40743 * commands/terminal.c (grub_cmd_terminal): Split into ...
40744 (grub_cmd_terminal_input): ... this, and ...
40745 (grub_cmd_terminal_output): ... this.
40746 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40747 `terminal_input' and `terminal_output'.
40748 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40749 `terminal_input' / `terminal_output' API.
40750 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40751 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40752 provided ${GRUB_TERMINAL}, convert it).
40753
96e5d876 407542008-11-04 Robert Millan <rmh@aybabtu.com>
40755
40756 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40757 for FreeBSD.
40758 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40759
556f3775 407602008-11-03 Bean <bean123ch@gmail.com>
40761
40762 * kern/elf.c (grub_elf32_load): Revert to previous code.
40763 (grub_elf64_load): Likewise.
40764
40765 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40766
926b9823 407672008-11-01 Robert Millan <rmh@aybabtu.com>
40768
40769 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40770 (TARGET_CPPFLAGS): Likewise.
40771 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40772
1432e958 407732008-11-01 Carles Pina i Estany <carles@pina.cat>
40774
40775 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40776
dba3f844 407772008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 40778
40779 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40780 addition of objects until the code is not going to be able to fail.
40781
dba3f844 407822008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 40783
40784 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40785 (add a missing NULL check, and correct them by moving the pointer
40786 operations after the actual check).
40787
7ab28c21 407882008-10-29 Robert Millan <rmh@aybabtu.com>
40789
40790 * util/i386/pc/grub-install.in: Handle empty string as output from
40791 make_system_path_relative_to_its_root().
40792
1b7748eb 407932008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40794
40795 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40796 circular metadata worst case scenario. If the metadata is circular
40797 then copy the wrap in place.
40798 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40799 project lib/format_text/layout.h
40800 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
40801
c9618ab2 408022008-10-03 Felix Zielcke <fzielcke@z-51.de>
40803
7a36edca 40804 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 40805
bf981c62 408062008-10-03 Felix Zielcke <fzielcke@z-51.de>
40807
40808 * util/update-grub_lib.in: Mention filename in warning message.
40809
6d994591 408102008-09-29 Felix Zielcke <fzielcke@z-51.de>
40811
40812 * NEWS: Update for rename of update-grub to grub-mkconfig.
40813
18ade780 408142008-09-29 Felix Zielcke <fzielcke@z-51.de>
40815
40816 * util/update-grub_lib.in: Copy to ...
40817 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 40818 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 40819 * util/update-grub.in: Rename to ...
40820 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40821 option. Add `--output' option to allow users to specify the generated
40822 configuration file. Default to stdout.
40823 (update_grub_dir): Rename to ...
40824 (grub_mkconfig_dir): ... this.
40825 (grub_cfg): Default to an empty string.
40826 * conf/common.rmk (update-grub): Rename to ...
40827 (grub-mkconfig): ... this.
40828 (update-grub_lib): Copy to ...
40829 (grub-mkconfig_lib): ... this.
40830 (update-grub_SCRIPTS): Copy to ...
40831 (grub-mkconfig_SCRIPTS): ... this. Update all users.
40832 (update-grub_DATA): Rename to ...
40833 (grub-mkconfig_DATA): ... this.
40834
556ce6ac 408352008-09-28 Robert Millan <rmh@aybabtu.com>
40836
40837 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
40838 to `modified'. Add the real `created' field.
40839 (grub_iso9660_uuid): Use `modified' rather than `created' for
40840 constructing the UUID.
40841
408422008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 40843
40844 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40845 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40846
92274e85 408472008-09-28 Bean <bean123ch@gmail.com>
40848
40849 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40850 Thanks to Christian Franke for finding this bug.
40851
add6f17a 408522008-09-25 Robert Millan <rmh@aybabtu.com>
40853
40854 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40855 instances of grub_util_get_disk_name() (see previous commit).
40856
d2a367b8 408572008-09-25 Robert Millan <rmh@aybabtu.com>
40858
40859 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40860 `util/i386/get_disk_name.c'.
40861 * conf/i386-efi.rmk: Likewise.
40862 * conf/x86_64-efi.rmk: Likewise.
40863 * conf/i386-coreboot.rmk: Likewise.
40864 * conf/i386-ieee1275.rmk: Likewise.
40865 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40866 `util/ieee1275/get_disk_name.c'.
40867 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40868 * util/ieee1275/get_disk_name.c: Remove file.
40869 * util/i386/get_disk_name.c: Remove file.
40870 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40871 "hd%d" for device.map entries, rather than using
40872 grub_util_get_disk_name().
40873
81a06771 408742008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 40875
40876 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40877 warning.
40878 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40879
5a004279 408802008-09-24 Carles Pina i Estany <carles@pina.cat>
40881
40882 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40883 Changed to 0x5100.
40884 (GRUB_TERM_PPAGE): Changed to 0x4900.
40885
397093d3 408862008-09-24 Robert Millan <rmh@aybabtu.com>
40887
40888 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40889 macros (they were i386-pc specific).
40890 * include/grub/sparc64/ieee1275/console.h: Likewise.
40891 * include/grub/efi/console.h: Likewise.
40892
a91b6c7c 408932008-09-22 Bean <bean123ch@gmail.com>
40894
40895 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40896 resident and in attribute list.
40897
40898 * include/grub/ntfs.h (BMP_LEN): Removed.
40899
c40fd116 409002008-09-22 Bean <bean123ch@gmail.com>
40901
81a06771 40902 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 40903 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40904
40905 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40906 error occurs, as grub_disk_open will call grub_disk_close, which will
40907 call p->close (scsi).
40908
81a06771 409092008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 40910
40911 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40912 (AC_PREREQ): Bumped to 2.59.
40913 (AC_TRY_COMPILE): Replace obsolete macro with ...
40914 (AC_COMPILE_IFELSE): ... this.
40915 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40916 (AC_LINK_IFELSE): ... this.
40917
5dc43410 409182008-09-21 Felix Zielcke <fzielcke@z-51.de>
40919
40920 * autogen.sh: Add a call to `gendistlist.sh'.
40921
9035dce4 409222008-09-19 Christian Franke <franke@computer.org>
40923
40924 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40925 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40926 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40927 Export __enable_execute_stack() to modules.
40928 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40929 New function.
40930
7fd75377 409312008-09-09 Felix Zielcke <fzielcke@z-51.de>
40932
040030b3 40933 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40934 Sort the list.
40935
409362008-09-09 Felix Zielcke <fzielcke@z-51.de>
40937
40938 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 40939 #include <grub/util/hostdisk.h>.
40940
89d5ffcf 409412008-09-08 Robert Millan <rmh@aybabtu.com>
40942
40943 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40944 segments when their filesz is zero (grub_file_read() interprets
81a06771 40945 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 40946 Use `lowest_segment' rather than 0 for calculating the current
40947 segment load address.
40948
40da438f 409492008-09-08 Robert Millan <rmh@aybabtu.com>
40950
40951 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40952 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40953 clobbered useful information.
40954
ddbf5556 409552008-09-08 Robert Millan <rmh@aybabtu.com>
40956
40957 * include/grub/util/biosdisk.h: Move to ...
40958 * include/grub/util/hostdisk.h: ... here. Update all users.
40959 * util/biosdisk.c: Move to ...
40960 * util/hostdisk.c: ... here. Update all users.
40961
783d0f48 409622008-09-07 Robert Millan <rmh@aybabtu.com>
40963
40964 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40965 variables.
40966 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40967 and length can be stored directly in the `mbi->mmap_addr' and
40968 `mbi->mmap_length' struct fields.
40969
548e2ea5 409702008-09-07 Robert Millan <rmh@aybabtu.com>
40971
40972 * conf/i386.rmk: New file. Provides declaration for building
40973 `cpuid.mod'.
40974 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40975 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40976 variables.
40977 Include `conf/i386.mk'.
40978 * conf/i386-efi.rmk: Likewise.
40979 * conf/x86_64-efi.rmk: Likewise.
40980 * conf/i386-coreboot.rmk: Likewise.
40981 * conf/i386-ieee1275.rmk: Likewise.
40982
0ea85a37 409832008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40984
40985 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40986 Adds optimization support for BGR based modes.
40987
40988 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40989 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40990 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40991 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40992 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40993 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40994 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40995 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40996 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40997 (grub_video_i386_vbeblit_index_index): Likewise.
40998 (grub_video_i386_vbeblit_replace_directN): Added.
40999 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41000 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41001 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41002 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41003 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41004 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 41005 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 41006 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41007 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41008 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41009 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41010 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41011 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
41012
41013 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
41014 (grub_video_i386_vbefill_R8G8B8): Likewise.
41015 (grub_video_i386_vbefill_index): Likewise.
41016 (grub_video_i386_vbefill_direct32): Added.
41017 (grub_video_i386_vbefill_direct24): Likewise.
41018 (grub_video_i386_vbefill_direct16): Likewise.
41019 (grub_video_i386_vbefill_direct8): Likewise.
41020
81a06771 41021 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 41022 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
41023 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
41024 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
41025 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
41026 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 41027
0ea85a37 41028 * video/video.c (grub_video_get_blit_format): Updated to use new
41029 blit formats. Added handling for 16 bit color modes.
81a06771 41030
41031 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 41032 fillers.
41033 (common_blitter): Updated to use new blitters.
41034
41035 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
41036 Removed.
41037 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41038 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41039 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41040 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41041 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41042 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41043 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41044 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41045 (grub_video_i386_vbeblit_index_index): Likewise.
41046 (grub_video_i386_vbeblit_replace_directN): Added.
41047 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41048 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41049 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41050 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41051 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41052 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
41053 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
41054 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41055 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41056 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41057 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41058 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41059 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 41060
0ea85a37 41061 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
41062 (grub_video_i386_vbefill_R8G8B8): Likewise.
41063 (grub_video_i386_vbefill_index): Likewise.
41064 (grub_video_i386_vbefill_direct32): Added.
41065 (grub_video_i386_vbefill_direct24): Likewise.
41066 (grub_video_i386_vbefill_direct16): Likewise.
41067 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 41068
0ea85a37 41069 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
41070 types.
81a06771 41071
0ea85a37 41072 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
41073 types.
81a06771 41074
0ea85a37 41075 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
41076 blitter types.
81a06771 41077
0ea85a37 41078 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
41079 types.
41080
e8a83df6 410812008-09-06 Felix Zielcke <fzielcke@z-51.de>
41082
41083 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
41084 RAID level 1.
41085
6bcd8ee5 410862008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 41087
6bcd8ee5 41088 * fs/iso9660.c (grub_iso9660_date): New structure.
41089 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
41090 (grub_iso9660_uuid): New function.
c375ae58 41091
59261157 410922008-09-05 Bean <bean123ch@gmail.com>
41093
41094 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
41095
41096 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
41097 insensitive bit for names in Win32 and Win32 & DOS namespace.
41098
41099 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
41100
41101 * include/grub/types.h (LONG_MAX): Likewise.
41102
58b6645a 411032008-09-04 Felix Zielcke <fzielcke@z-51.de>
41104
4ee55921 41105 * util/getroot.c: Include <config.h>.
41106 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
41107 add support for /dev/md/N devices and handle LVM double dash escaping.
41108
411092008-09-04 Felix Zielcke <fzielcke@z-51.de>
41110
41111 * config.guess: Update to latest version from config git.
41112 * config.sub: Likewise.
58b6645a 41113
9124f65d 411142008-09-03 Robert Millan <rmh@aybabtu.com>
41115
41116 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
41117 `disk->total_sectors'.
41118
81a06771 411192008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 41120
41121 * include/grub/normal.h: Fixed incorrect comment for
41122 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
41123
81a06771 411242008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 41125
41126 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
41127 values with defines.
41128
41129 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
41130 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
41131 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
41132 (GRUB_VBE_MODEATTR_COLOR): Likewise.
41133 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
41134 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
41135 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
41136 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
41137 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
41138 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
41139 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
41140 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
41141 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
41142 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
41143 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
41144 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
41145 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
41146 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
41147 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
41148
93d5cbf8 411492008-08-31 Robert Millan <rmh@aybabtu.com>
41150
41151 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
41152 declaration.
41153 (grub_multiboot): Fix a few warnings.
41154
21751d50 411552008-08-31 Robert Millan <rmh@aybabtu.com>
41156
41157 * loader/i386/pc/multiboot.c: Update comment not to say that
41158 boot_device support is unimplemented.
41159
e27a75c5 411602008-08-31 Robert Millan <rmh@aybabtu.com>
41161
41162 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
41163 or memory map support are unimplemented.
41164
81a06771 411652008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 41166
41167 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
41168
81a06771 411692008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 41170
41171 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
41172 total video memory in 'vbeinfo' output; show color format details for
41173 each video mode.
41174
7c5d8d95 411752008-08-30 Pavel Roskin <proski@gnu.org>
41176
41177 * util/genmoddep.c: Remove for real this time.
41178 * DISTLIST: Remove util/genmoddep.c.
41179
4cebd25a 411802008-08-30 Robert Millan <rmh@aybabtu.com>
41181
41182 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
41183 as required by Multiboot spec (it was already 4-byte aligned, but
41184 only by chance).
41185
b497a269 411862008-08-29 Pavel Roskin <proski@gnu.org>
41187
e3925185 41188 * kern/powerpc/ieee1275/crt0.S: Rename to ...
41189 * kern/powerpc/ieee1275/startup.S: ... this.
41190 * conf/powerpc-ieee1275.rmk: Adjust for the above.
41191 * DISTLIST: Likewise.
41192
b497a269 41193 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
41194 grub/cpu/kernel.h. Add start label for consistency with other
41195 platforms. Add grub_prefix immediately after start. Add jump
41196 to the code after grub_prefix.
41197 * include/grub/powerpc/kernel.h: Provide valid values for
41198 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
41199
6e5a42fe 412002008-08-29 Bean <bean123ch@gmail.com>
41201
41202 * configure.ac: Change host_os to cygwin for mingw.
41203 (asprintf): New check for function.
41204
41205 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
41206 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
41207
41208 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 41209 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 41210 sync, sleep and grub_util_get_disk_size for mingw.
41211
41212 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
41213 to get size in mingw.
41214 (open_device): Use flag O_BINARY if it's defined.
41215 (find_root_device): Add dummy code for mingw.
41216
41217 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
41218 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
41219 (get_scsi_disk_name): Return 0 for mingw.
41220
41221 * util/hostfs.c: #include <grub/util/misc.h>.
41222 (grub_hostfs_open): Use "rb" flag to open file, use
41223 grub_util_get_disk_size to get disk size for mingw.
41224
41225 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
41226 (asprintf): New function if HAVE_ASPRINTF is not set.
41227 (sync): New function for mingw.
41228 (sleep): Likewise.
41229 (grub_util_get_disk_size): Likewise.
41230
ab3f2673 412312008-08-28 Pavel Roskin <proski@gnu.org>
41232
41233 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41234 kern/time.c.
41235
1c282483 412362008-08-28 Robert Millan <rmh@aybabtu.com>
41237
41238 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
41239
678e849c 412402008-08-28 Robert Millan <rmh@aybabtu.com>
41241
41242 Change find_grub_drive() syntax so it doesn't prevent it from
41243 detecting NULL names as errors.
41244
41245 * util/biosdisk.c (find_grub_drive): Move free slot search code
41246 from here ...
41247 (find_free_slot): ... to here.
41248 (read_device_map): Use find_free_slot() to search for free slots.
41249
965c75ca 412502008-08-27 Marco Gerards <marco@gnu.org>
41251
41252 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
41253 (scsi_mod_SOURCES): New variable.
41254 (scsi_mod_CFLAGS): Likewise
41255 (scsi_mod_LDFLAGS): Likewise.
41256
41257 * disk/scsi.c: New file.
41258
41259 * include/grub/scsi.h: Likewise.
41260
41261 * include/grub/scsicmd.h: Likewise.
41262
41263 * disk/ata.c: Include <grub/scsi.h>.
41264 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
41265 instead.
41266 (grub_ata_iterate): Skip ATAPI devices.
41267 (grub_ata_open): Only handle ATAPI devices.
41268 (struct grub_atapi_read): Removed.
41269 (grub_atapi_readsector): Likewise.
41270 (grub_ata_read): No longer handle ATAPI devices.
41271 (grub_ata_write): Likewise.
41272 (grub_atapi_iterate): New function.
41273 (grub_atapi_read): Likewise.
41274 (grub_atapi_write): Likewise.
41275 (grub_atapi_open): Likewise.
41276 (grub_atapi_close): Likewise.
41277 (grub_atapi_dev): New variable.
41278 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
41279 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
41280
41281 * include/grub/disk.h (enum grub_disk_dev_id): Add
41282 `GRUB_DISK_DEVICE_SCSI_ID'.
41283
c07ae501 412842008-08-26 Robert Millan <rmh@aybabtu.com>
41285
41286 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
41287 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
41288 descriptive.
41289
5ed20adc 412902008-08-23 Bean <bean123ch@gmail.com>
41291
41292 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
41293 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41294 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
41295 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
41296 dm_nv.mod.
41297 (raid5rec_mod_SOURCES): New macro.
41298 (raid5rec_mod_CFLAGS): Likewise.
41299 (raid5rec_mod_LDFLAGS): Likewise.
41300 (raid6rec_mod_SOURCES): Likewise.
41301 (raid6rec_mod_CFLAGS): Likewise.
41302 (raid6rec_mod_LDFLAGS): Likewise.
41303 (mdraid_mod_SOURCES): Likewise.
41304 (mdraid_mod_CFLAGS): Likewise.
41305 (mdraid_mod_LDFLAGS): Likewise.
41306 (dm_nv_mod_SOURCES): Likewise.
41307 (dm_nv_mod_CFLAGS): Likewise.
41308 (dm_nv_mod_LDFLAGS): Likewise.
41309
41310 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
41311 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41312 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41313
41314 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
41315 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41316
41317 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41318
41319 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41320
41321 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41322
41323 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41324
41325 * disk/raid5_recover.c: New file.
41326
41327 * disk/raid6_recover.c: Likewise.
41328
41329 * disk/mdraid_linux.c: Likewise.
41330
41331 * disk/dmraid_nvidia.c: Likewise.
41332
41333 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
41334 ULONG_MAX.
41335
41336 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
41337 calculate the size of raid device.
41338 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
41339 different layout of raid5.
41340 (grub_raid_scan_device): Remove code specific to mdraid.
41341 (grub_raid_list): New variable.
41342 (free_array): New function.
41343 (grub_raid_register): Likewise.
41344 (grub_raid_unregister): Likewise.
41345 (grub_raid_rescan): Likewise.
41346 (GRUB_MOD_INIT): Don't iterate device here.
41347 (GRUB_MOD_FINI): Use free_array to release resource.
41348
41349 * include/grub/raid.h: Remove macro and structure specific to mdraid.
41350 (grub_raid5_recover_func_t): New function variable type.
41351 (grub_raid6_recover_func_t): Likewise.
41352 (grub_raid5_recover_func): New variable.
41353 (grub_raid6_recover_func): Likewise.
41354 (grub_raid_register): New function.
41355 (grub_raid_unregister): Likewise.
41356 (grub_raid_rescan): Likewise.
41357 (grub_raid_block_xor): Likewise.
41358
41359 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
41360 (CMD_CRC): New macro.
41361 (part): Removed.
41362 (read_file): Handle device as well as file.
41363 (cmd_crc): New function.
41364 (fstest): Handle multiple disks.
41365 (options): Remove part, raw and long, add root and diskcount.
41366 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 41367 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 41368 add handling for the new options, support multiple disks.
41369
41370 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
41371
29c18915 413722008-08-23 Bean <bean123ch@gmail.com>
41373
41374 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
41375
41376 * genfslist.sh: Ignore kernel.mod.
41377
41378 * genpartmaplist.sh: Likewise.
41379
8415f261 413802008-08-23 Robert Millan <rmh@aybabtu.com>
41381
41382 * util/getroot.c (find_root_device): Skip anything that starts with
41383 a dot, not just directories. This avoids things like /dev/.tmp.md0.
41384
d5a7dc5b 413852008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 41386
d5a7dc5b 41387 * util/update-grub.in (GRUB_GFXMODE): Export variable.
41388 * util/grub.d/00_header.in: Allow the administrator to change default
41389 gfxmode via ${GRUB_GFXMODE}.
41390
380cfbb4 413912008-08-21 Felix Zielcke <fzielcke@z-51.de>
41392
41393 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
41394
c9baafe7 413952008-08-21 Robert Millan <rmh@aybabtu.com>
41396
41397 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
41398 loader.
41399 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
41400 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
41401
e290bef2 414022008-08-20 Carles Pina i Estany <carles@pina.cat>
41403
41404 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
41405 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
41406
f9dbfc96 414072008-08-19 Robert Millan <rmh@aybabtu.com>
41408
41409 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
41410 (struct grub_virtual_screen): Remove `cursor_color'.
41411 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
41412 initialization.
41413 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
41414
dd6bd6ab 414152008-08-18 Robert Millan <rmh@aybabtu.com>
41416
41417 Unify (identical) linux_normal.c files.
41418 * loader/i386/efi/linux_normal.c: Move from here ...
41419 * loader/linux_normal.c: ... to here. Update all users.
41420 * loader/i386/pc/linux_normal.c: Delete. Update all users.
41421 * loader/i386/ieee1275/linux_normal.c: Likewise.
41422
7f42f83e 414232008-08-18 Robert Millan <rmh@aybabtu.com>
41424
41425 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
41426 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
41427 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
41428 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
41429 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
41430 New macros.
41431 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
41432 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
41433 (GRUB_LINUX_CL_END_OFFSET): ... to here.
41434 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
41435 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
41436 (GRUB_EFI_CL_END_OFFSET): Rename to ...
41437 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
41438 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
41439 Initialize `params->video_cursor_x' and `params->video_cursor_y'
41440 portably using grub_getxy().
41441 Replace `-EFI' with `-bzImage' in boot message.
41442
38487ddb 414432008-08-17 Robert Millan <rmh@aybabtu.com>
41444
41445 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
41446
deceb3ec 414472008-08-17 Robert Millan <rmh@aybabtu.com>
41448
41449 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
41450
41451 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
41452 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
41453 (grub_machine_mmap_iterate): New function declaration.
41454 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
41455 structure.
41456 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
41457 macros.
41458
41459 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
41460 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
41461 Move e820 parsing from here ...
41462 * kern/i386/pc/mmap.c: New file.
41463 (grub_machine_mmap_iterate): ... to here.
41464
41465 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
41466 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
41467 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
41468 (grub_available_iterate): Redeclare to return `void', and redeclare
41469 its hook to use grub_uint64_t as addr and size parameters, and rename
41470 to ...
41471 (grub_machine_mmap_iterate): ... this. Update all users.
41472
41473 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
41474 to make it more readable. Rename to ...
41475 (grub_machine_mmap_iterate): ... this.
41476
41477 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
41478 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
41479 (grub_multiboot): Allocate an extra region after the payload, and fill
41480 it with a Multiboot memory map. Adjust a.out loader to calculate size
41481 with the extra space.
41482 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
41483 with the extra space.
41484
f8aa0f43 414852008-08-17 Carles Pina i Estany <carles@pina.cat>
41486
9807deb9 41487 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 41488
605f5bb6 414892008-08-17 Felix Zielcke <fzielcke@z-51.de>
41490
41491 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
41492 mdate-sh to the list `find' searches for.
41493 * DISTLIST: Regenerated.
41494
210db6c6 414952008-08-16 Felix Zielcke <fzielcke@z-51.de>
41496
41497 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
41498 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 41499 genmoddep.awk, gensymlist.sh.in.
41500 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 41501 * DISTLIST: Regenerated.
48cdbfd4 41502 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 41503
1082b929 415042008-08-16 Robert Millan <rmh@aybabtu.com>
41505
41506 * disk/raid.c (grub_raid_init): Handle/report errors set by
41507 grub_device_iterate().
41508 * disk/lvm.c (grub_lvm_init): Likewise.
41509
42ce5170 415102008-08-15 Bean <bean123ch@gmail.com>
41511
41512 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41513 and datehook.mod.
41514 (datetime_mod_SOURCES): New macro.
41515 (datetime_mod_CFLAGS): Likewise.
41516 (datetime_mod_LDFLAGS): Likewise.
41517 (date_mod_SOURCES): Likewise.
41518 (date_mod_CFLAGS): Likewise.
41519 (date_mod_LDFLAGS): Likewise.
41520 (datehook_mod_SOURCES): Likewise.
41521 (datehook_mod_CFLAGS): Likewise.
41522 (datehook_mod_LDFLAGS): Likewise.
41523
41524 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41525 and datehook.mod.
41526 (datetime_mod_SOURCES): New macro.
41527 (datetime_mod_CFLAGS): Likewise.
41528 (datetime_mod_LDFLAGS): Likewise.
41529 (date_mod_SOURCES): Likewise.
41530 (date_mod_CFLAGS): Likewise.
41531 (date_mod_LDFLAGS): Likewise.
41532 (datehook_mod_SOURCES): Likewise.
41533 (datehook_mod_CFLAGS): Likewise.
41534 (datehook_mod_LDFLAGS): Likewise.
41535
41536 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41537 and datehook.mod.
41538 (datetime_mod_SOURCES): New macro.
41539 (datetime_mod_CFLAGS): Likewise.
41540 (datetime_mod_LDFLAGS): Likewise.
41541 (date_mod_SOURCES): Likewise.
41542 (date_mod_CFLAGS): Likewise.
41543 (date_mod_LDFLAGS): Likewise.
41544 (datehook_mod_SOURCES): Likewise.
41545 (datehook_mod_CFLAGS): Likewise.
41546 (datehook_mod_LDFLAGS): Likewise.
41547
41548 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41549 and datehook.mod.
41550 (datetime_mod_SOURCES): New macro.
41551 (datetime_mod_CFLAGS): Likewise.
41552 (datetime_mod_LDFLAGS): Likewise.
41553 (date_mod_SOURCES): Likewise.
41554 (date_mod_CFLAGS): Likewise.
41555 (date_mod_LDFLAGS): Likewise.
41556 (datehook_mod_SOURCES): Likewise.
41557 (datehook_mod_CFLAGS): Likewise.
41558 (datehook_mod_LDFLAGS): Likewise.
41559
41560 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41561 and datehook.mod.
41562 (datetime_mod_SOURCES): New macro.
41563 (datetime_mod_CFLAGS): Likewise.
41564 (datetime_mod_LDFLAGS): Likewise.
41565 (date_mod_SOURCES): Likewise.
41566 (date_mod_CFLAGS): Likewise.
41567 (date_mod_LDFLAGS): Likewise.
41568 (datehook_mod_SOURCES): Likewise.
41569 (datehook_mod_CFLAGS): Likewise.
41570 (datehook_mod_LDFLAGS): Likewise.
41571
41572 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
41573
41574 * commands/date.c: New file.
41575
41576 * hook/datehook.c: Likewise.
41577
41578 * include/grub/lib/datetime.h: Likewise.
41579
41580 * include/grub/i386/cmos.h: Likewise.
41581
41582 * lib/datetime.c: Likewise.
41583
41584 * lib/i386/datetime.c: Likewise.
41585
41586 * lib/efi/datetime.c: Likewise.
41587
0e9242da 415882008-08-14 Robert Millan <rmh@aybabtu.com>
41589
41590 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
41591 (grub_mkelfimage_SOURCES): New variable.
41592 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
41593
41594 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
41595 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
41596 * conf/powerpc-ieee1275.rmk: Likewise.
41597 * conf/i386-ieee1275.rmk: Likewise.
41598
41599 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
41600 * kern/i386/coreboot/init.c: Likewise.
41601
41602 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
41603 with `<grub/cpu/kernel.h>'.
41604 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
41605 to ...
41606 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
41607 * kern/i386/coreboot/startup.S: Likewise.
41608
41609 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
41610 (GRUB_MOD_GAP): Remove.
41611 * include/grub/powerpc/kernel.h: New file.
41612 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
41613 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41614 * include/grub/i386/kernel.h: New file.
41615 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
41616 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
41617 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41618
41619 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
41620 `grub-mkelfimage'.
41621 Use --directory when invoking grub_mkimage.
41622
41623 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
41624 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
41625 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
41626 and GRUB_KERNEL_CPU_PREFIX.
41627
b86408f8 416282008-08-14 Felix Zielcke <fzielcke@z-51.de>
41629
d5e619ca 41630 * include/grub/err.h (grub_err_printf): New function prototype.
41631 * util/misc.c (grub_err_printf): New function.
41632 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
41633 grub_printf.
41634 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 41635
7161f0e0 416362008-08-13 Robert Millan <rmh@aybabtu.com>
41637
41638 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
41639
a1967522 416402008-08-13 Robert Millan <rmh@aybabtu.com>
41641
41642 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
41643 boot entry.
41644
371458b5 416452008-08-12 Robert Millan <rmh@aybabtu.com>
41646
41647 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
41648 of the relocation code from here ...
41649 (grub_multiboot): ... to here.
41650 (forward_relocator, backward_relocator): Move from here ...
41651 * kern/i386/loader.S (grub_multiboot_forward_relocator)
41652 (grub_multiboot_backward_relocator): ... to here.
41653 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
41654 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
41655 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
41656 (grub_multiboot_forward_relocator_end)
41657 (grub_multiboot_backward_relocator)
41658 (grub_multiboot_backward_relocator_end): New variables.
41659
05f9452b 416602008-08-12 Bean <bean123ch@gmail.com>
41661
41662 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
41663
20024ab0 416642008-08-11 Robert Millan <rmh@aybabtu.com>
41665
41666 * kern/i386/linuxbios/startup.S: Move from here ...
41667 * kern/i386/coreboot/startup.S: ... to here.
41668
41669 * kern/i386/linuxbios/init.c: Move from here ...
41670 * kern/i386/coreboot/init.c: ... to here.
41671
41672 * kern/i386/linuxbios/table.c: Move from here ...
41673 * kern/i386/coreboot/mmap.c: ... to here.
41674
41675 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41676
e352e9cd 416772008-08-11 Robert Millan <rmh@aybabtu.com>
41678
41679 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41680 errors. Leave it to the upper layer to handle them.
41681
2d05bc6a 416822008-08-09 Christian Franke <franke@computer.org>
41683
41684 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41685 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41686 Install `grub.d/10_windows' only on Cygwin.
41687 * configure.ac: Add subst of `target_os'.
41688 Check `target_os' also before setting TARGET_OBJ2ELF.
41689 Add `--enable-grub-pe2elf'.
41690
042bd419 416912008-08-08 Robert Millan <rmh@aybabtu.com>
41692
41693 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41694 (grub_last_time): Change type to grub_uint64_t.
41695 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41696 (grub_disk_close): Likewise.
41697
41698 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41699 (run_menu): Migrate code from to using grub_get_time_ms().
41700
41701 * util/misc.c (grub_get_time_ms): New function.
41702
7f280db5 417032008-08-08 Marco Gerards <marco@gnu.org>
41704
41705 * disk/ata.c (grub_ata_regget): Change return type to
41706 `grub_uint8_t'.
41707 (grub_ata_regget2): Likewise.
41708 (grub_ata_wait_status): New function.
41709 (grub_ata_wait_busy): Removed function, updated all users to use
41710 `grub_ata_wait_status'.
41711 (grub_ata_wait_drq): Likewise.
41712 (grub_ata_cmd): New function.
41713 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41714 error handling.
41715 (grub_ata_pio_write): Add error handling.
41716 (grub_atapi_identify): Likewise.
41717 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41718 handling.
41719 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41720 handling. Actually use the detected registers. Reorder the
41721 detection logic such that it is easier to read.
41722 (grub_ata_pciinit): Do not assign the same ID to each controller.
41723 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41724 handling.
41725 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41726
41727 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41728
1fbc5e66 417292008-08-08 Marco Gerards <marco@gnu.org>
41730
41731 * NEWS: Update.
41732
819ce6c0 417332008-08-07 Bean <bean123ch@gmail.com>
41734
41735 * include/grub/x86_64/pci.h: New file.
41736
5c41d44d 417372008-08-07 Christian Franke <franke@computer.org>
41738
41739 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41740 (TIMER2_GATE): Likewise.
41741 (grub_pit_wait): Add enable/disable of the timer2 gate
41742 bit of port 0x61. This fixes a possible infinite loop.
41743
5ebc275d 417442008-08-07 Bean <bean123ch@gmail.com>
41745
41746 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41747 kern/i386/tsc.c and kern/i386/pit.c.
41748
41749 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41750 x86_64 platform.
41751
41752 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41753 <grub/i386/tsc.h>.
41754
41755 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41756
e383b3d0 417572008-08-07 Bean <bean123ch@gmail.com>
41758
41759 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41760
41761 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41762
41763 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41764 multiple inclusion. Add #include <grub/types.h>.
41765
1cbb58ac 417662008-08-06 Christian Franke <franke@computer.org>
41767
41768 * conf/common.rmk: Build and install `10_windows'.
41769 * util/grub.d/10_windows.in: New script.
41770
337f5a1e 417712008-08-06 Pavel Roskin <proski@gnu.org>
41772
41773 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41774
057bc4ac 417752008-08-06 Robert Millan <rmh@aybabtu.com>
41776
41777 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41778 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41779
2b99f123 417802008-08-06 Bean <bean123ch@gmail.com>
41781
41782 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41783 (grub_pxefs_fs_int): Remove dummy definition.
41784 (grub_pxefs_open): Use data->block_size to store the current block
41785 size setting.
41786 (grub_pxefs_read): Use block size stored in data->block_size. As the
41787 value of grub_pxe_blksize can be changed after the file is opened.
41788
9f0234cb 417892008-08-06 Bean <bean123ch@gmail.com>
41790
41791 * fs/i386/pc/pxe.c (curr_file): new variable.
41792 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41793 require the dummy internal file system anymore.
41794 (grub_pxefs_read): Removed.
41795 (grub_pxefs_close): Likewise.
41796 (grub_pxefs_fs_int): Likewise.
41797 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41798 connection when we switch file.
41799 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41800
a55d42e0 418012008-08-06 Robert Millan <rmh@aybabtu.com>
41802
41803 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
41804 `halt.mod'.
41805 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
41806 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
41807
41808 * kern/i386/halt.c: New file.
41809 * kern/i386/reboot.c: Likewise.
41810 * include/grub/i386/reboot.h: Likewise.
41811 * include/grub/i386/halt.h: Likewise.
41812
41813 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41814 Include `<grub/cpu/halt.h>'.
41815 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41816 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41817
41818 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41819 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41820 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41821 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41822 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41823 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41824 from here ...
41825 * include/grub/i386/at_keyboard.h: ... to here.
41826
24371d26 418272008-08-05 Robert Millan <rmh@aybabtu.com>
41828
41829 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
41830 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
41831 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
41832 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41833 `kern/generic/millisleep.c'.
41834
41835 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
41836 instead of grub_get_rtc().
41837 (grub_tsc_init): Initialize `tsc_boot_time'.
41838
41839 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
41840 (grub_machine_init): Use grub_tsc_init() rather than
41841 installing an RTC-based handler via grub_install_get_time_ms().
41842
41843 * kern/i386/pit.c: New file.
41844 * include/grub/i386/pit.h: Likewise.
41845
9e7007b3 418462008-08-05 Bean <bean123ch@gmail.com>
41847
41848 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41849
41850 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41851 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41852 (pxe_mod_SOURCES): New macro.
41853 (pxe_mod_CFLAGS): Likewise.
41854 (pxe_mod_LDFLAGS): Likewise.
41855 (pxecmd_mod_SOURCES): Likewise.
41856 (pxecmd_mod_CFLAGS): Likewise.
41857 (pxecmd_mod_LDFLAGS): Likewise.
41858
41859 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41860 (grub_pxe_call): Likewise.
41861
41862 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41863
41864 * commands/i386/pc/pxecmd.c: New file.
41865
9f0234cb 41866 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 41867
41868 * include/grub/i386/pc/pxe.h: Likewise.
41869
6977d49f 418702008-08-05 Bean <bean123ch@gmail.com>
41871
41872 * util/console.c (grub_console_cur_color): New variable.
41873 (grub_console_standard_color): Likewise.
41874 (grub_console_normal_color): Likewise.
41875 (grub_console_highlight_color): Likewise.
41876 (color_map): Likewise.
41877 (use_color): Likewise.
41878 (NUM_COLORS): New macro.
41879 (grub_ncurses_setcolorstate): Handle color properly.
41880 (grub_ncurses_setcolor): Don't change color here, just remember the
41881 settings, color will be set in grub_ncurses_setcolorstate.
41882 (grub_ncurses_getcolor): New function.
41883 (grub_ncurses_init): Initialize color pairs.
41884 (grub_ncurses_term): New member grub_ncurses_getcolor.
41885
9c2ff3ee 418862008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 41887
9c2ff3ee 41888 High resolution timer support. Implemented for x86 CPUs using TSC.
41889 Extracted generic grub_millisleep() so it's linked in only as needed.
41890 This requires a Pentium compatible CPU; if the RDTSC instruction is
41891 not supported, then it falls back on the generic grub_get_time_ms()
41892 implementation that uses the machine's RTC.
41893
41894 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41895 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41896 `kern/generic/millisleep.c'.
41897
41898 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41899 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41900
41901 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41902 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41903
41904 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41905
41906 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41907 `kern/generic/millisleep.c'.
41908
41909 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41910
41911 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41912
41913 * kern/generic/rtc_get_time_ms.c: New file.
41914
41915 * kern/generic/millisleep.c: New file.
337f5a1e 41916
9c2ff3ee 41917 * kern/misc.c: Don't include
41918 <kern/time.h> anymore.
41919 (grub_millisleep_generic): Removed.
41920
41921 * commands/sleep.c (grub_interruptible_millisleep): Uses
41922 grub_get_time_ms() instead of grub_get_rtc().
41923
41924 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41925 function.
41926 (grub_cpu_is_cpuid_supported): New inline function.
41927 (grub_cpu_is_tsc_supported): New inline function.
41928 (grub_tsc_init): New function prototype.
41929 (grub_tsc_get_time_ms): New function prototype.
41930
41931 * kern/i386/tsc.c (grub_get_time_ms): New file.
41932
41933 * include/grub/time.h: Include <grub/types.h.
41934 (grub_millisleep_generic): Removed.
41935 (grub_get_time_ms): New prototype.
41936 (grub_install_get_time_ms): New prototype.
41937 (grub_rtc_get_time_ms): New prototype.
41938
41939 * kern/time.c (grub_get_time_ms): New function.
41940 (grub_install_get_time_ms): New function.
41941
41942 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41943 <grub/time.h> anymore.
41944 (grub_millisleep): Removed.
41945 (grub_machine_init): Call grub_tsc_init.
41946
41947 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41948 get_time_ms() implementation.
41949
41950 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41951 (ieee1275_get_time_ms): New function.
41952 (grub_machine_init): Install get_time_ms() implementation.
41953
41954 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41955 (grub_machine_init): Call grub_tsc_init().
41956 (grub_millisleep): Removed.
bf06a93f 41957
9c2ff3ee 41958 * kern/ieee1275/init.c (grub_millisleep): Removed.
41959 (grub_machine_init): Install ieee1275_get_time_ms()
41960 implementation.
41961 (ieee1275_get_time_ms): New function.
41962 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41963 real work.
41964
9ec92aaf 419652008-08-05 Marco Gerards <marco@gnu.org>
41966
41967 * disk/ata.c: Include <grub/pci.h>.
41968 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41969 (grub_ata_initialize): Rewritten.
41970 (grub_ata_device_initialize): New function.
41971
8d23f507 419722008-08-04 Pavel Roskin <proski@gnu.org>
41973
41974 * kern/main.c: Include grub/mm.h.
41975
5e15ee3d 419762008-08-04 Robert Millan <rmh@aybabtu.com>
41977
41978 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41979 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41980 corruption problem).
41981
a9053f8f 419822008-08-04 Robert Millan <rmh@aybabtu.com>
41983
41984 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41985 warnings introduced in my last commit.
41986
dd19c7d7 419872008-08-03 Robert Millan <rmh@aybabtu.com>
41988
41989 Make PCI available on all i386 architectures.
41990
41991 * include/grub/i386/pc/pci.h: Move from here ...
41992 * include/grub/i386/pci.h: ... to here.
41993
41994 * include/grub/i386/pc/pci.h: Remove.
41995 * include/grub/i386/efi/pci.h: Remove.
41996 * include/grub/x86_64/efi/pci.h: Remove.
41997
41998 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41999 `<grub/cpu/pci.h>'.
42000
42001 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
42002 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
42003 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
42004
42005 * conf/i386-ieee1275.rmk: Likewise.
42006
e14a6184 420072008-08-03 Robert Millan <rmh@aybabtu.com>
42008
42009 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
42010 (grub_console_setcursor): Make it possible to set cursor off.
42011
52768e37 420122008-08-03 Robert Millan <rmh@aybabtu.com>
42013
42014 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
42015 of modules instead of assuming which platform provides what.
42016 * util/update-grub.in: Likewise.
42017
2d52f57f 420182008-08-03 Robert Millan <rmh@aybabtu.com>
42019
42020 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
42021 instead of `grub_install_dos_part' to determine whether a drive needs
42022 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 42023 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 42024
2a5cd121 420252008-08-02 Robert Millan <rmh@aybabtu.com>
42026
42027 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
42028
93808428 420292008-08-02 Robert Millan <rmh@aybabtu.com>
42030
42031 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
42032 of informational grub_dprintf() calls.
42033
3bd0a12a 420342008-08-02 Robert Millan <rmh@aybabtu.com>
42035
42036 * disk/memdisk.c (memdisk_size): Don't initialize.
42037 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
42038
42039 * include/grub/i386/pc/kernel.h
42040 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
42041 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
42042 (grub_memdisk_image_size, grub_arch_memdisk_addr)
42043 (grub_arch_memdisk_size): Remove.
42044
42045 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
42046 field (was only used to transfer a constant). Add `type' field to
42047 support multiple module types.
42048 (grub_module_iterate): New function.
42049
42050 * kern/device.c (grub_device_open): Do not hide error messages
42051 when grub_disk_open() fails. Use grub_print_error() instead.
42052
42053 * kern/i386/pc/init.c (grub_arch_modules_addr)
42054 (grub_arch_memdisk_size): Remove functions.
42055 (grub_arch_modules_addr): Return the module address in high memory
42056 (now that it isn't copied anymore).
42057
42058 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
42059 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
42060 decompression routine (grub_total_module_size already includes that
42061 now). Don't copy modules back to low memory.
42062
42063 * kern/main.c: Include `<grub/mm.h>'.
42064 (grub_load_modules): Split out (and use) ...
42065 (grub_module_iterate): ... this function, which iterates through
42066 module objects and runs a hook.
42067 Comment out grub_mm_init_region() call, as it would cause non-ELF
42068 modules to be overwritten.
42069
42070 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
42071 the memdisk image in its own region, make it part of the module list.
42072 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
42073 (main): Parse --memdisk|-m option, and pass user-provided path as
42074 parameter to generate_image().
42075 (add_segments): Pass `memdisk_path' down to load_modules().
42076 (load_modules): Embed memdisk image in module section when requested.
42077 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
42078 `header.type' instead of `header.offset'.
42079
42080 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
42081 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
42082 (memdisk_mod_LDFLAGS): New variables.
42083 * conf/i386-coreboot.rmk: Likewise.
42084 * conf/i386-ieee1275.rmk: Likewise.
42085
a927cc73 420862008-08-02 Robert Millan <rmh@aybabtu.com>
42087
42088 * loader/i386/pc/multiboot.c (playground, forward_relocator)
42089 (backward_relocator): New variables. Used to allocate and relocate
42090 the payload, respectively.
42091 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 42092 address, install the appropriate relocator code in each bound of
a927cc73 42093 the payload, and set the entry point such that
42094 grub_multiboot_real_boot() will jump to one of them.
42095
42096 * kern/i386/loader.S (grub_multiboot_payload_size)
42097 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42098 (grub_multiboot_payload_entry_offset): New variables.
42099 (grub_multiboot_real_boot): Set cpu context to what the relocator
42100 expects, and jump to the relocator instead of the payload.
42101
42102 * include/grub/i386/loader.h (grub_multiboot_payload_size)
42103 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42104 (grub_multiboot_payload_entry_offset): Export.
42105
b15d8a0c 421062008-08-01 Bean <bean123ch@gmail.com>
42107
42108 * normal/menu_entry.c (editor_getline): Don't return the original
42109 string as result, as it will be released by lexer once it has done
42110 using it.
42111
cdfb3d22 421122008-08-01 Robert Millan <rmh@aybabtu.com>
42113
42114 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
42115 within menuentries, not before them.
42116 util/grub.d/10_hurd.in: Likewise.
42117
9175e93d 421182008-08-01 Bean <bean123ch@gmail.com>
42119
42120 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
42121 (bufio_mod_SOURCES): New macro.
42122 (bufio_mod_CFLAGS): Likewise.
42123 (bufio_mod_LDFLAGS): Likewise.
42124
42125 * include/grub/bufio.h: New file.
42126
42127 * io/bufio.c: Likewise.
42128
42129 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
42130 (grub_video_reader_png): Use grub_buffile_open to open file.
42131
42132 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
42133 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
42134
42135 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
42136 (grub_video_reader_tga): Use grub_buffile_open to open file.
42137
42138 * font/manager.c: Include <grub/bufio.h>.
42139 (add_font): Use grub_buffile_open to open file.
42140
3d8383e7 421412008-07-31 Robert Millan <rmh@aybabtu.com>
42142
42143 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
42144 ELF segments, use a macro for arbitrarily accessing any of them instead
42145 of preparing a pointer that allows access to one at a time.
42146 (grub_multiboot_load_elf64): Likewise.
42147
16e641b6 421482008-07-31 Bean <bean123ch@gmail.com>
42149
42150 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
42151 GRUB_KERNEL_MACHINE_DATA_END.
42152
59198b72 421532008-07-30 Robert Millan <rmh@aybabtu.com>
42154
42155 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
42156 Increase from 0x50 to 0x60.
42157 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
42158 use UUIDs to identify the root drive for them. If that's not
42159 possible, abort.
42160 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
42161 check, for cross-disk installs.
42162
ae88bca3 421632008-07-30 Robert Millan <rmh@aybabtu.com>
42164
42165 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
42166 is non-empty, use it to set the `prefix' environment variable instead
42167 of the usual approach.
42168 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
42169 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
42170 environment variable instead of dummy make_install_device().
42171
42172 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
42173 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 42174 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 42175
42176 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
42177 New variable reference.
42178 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
42179 New macro. Defines offset of `grub_prefix' within startup.S (relative
42180 to `start').
42181 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
42182 section within startup.S (relative to `start').
42183 * include/grub/i386/coreboot/kernel.h: Likewise.
42184
42185 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
42186 Overwrite grub_prefix with its contents, at the beginning of the
42187 first segment.
42188 (main): Understand -p|--prefix.
42189
14f41dd1 421902008-07-30 Robert Millan <rmh@aybabtu.com>
42191
42192 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
42193
4ca049a3 421942008-07-30 Robert Millan <rmh@aybabtu.com>
42195
42196 * term/i386/pc/vga_text.c (grub_console_cls): Use
42197 grub_console_gotoxy() to go back to beginning of the screen.
42198 Found by Patrick Georgi <patrick.georgi@coresystems.de>
42199
2921d337 422002008-07-29 Christian Franke <franke@computer.org>
42201
42202 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42203 Add conversion of emulated mount points on Cygwin.
42204
b609876d 422052008-07-29 Christian Franke <franke@computer.org>
42206
42207 * util/update-grub.in: Add a check for admin
42208 group on Cygwin.
42209 Remove old `grub.cfg.new' before creation.
42210 Add `-f' to `mv' to handle the different filesystem
42211 semantics of Windows.
42212
e93e4679 422132008-07-29 Bean <bean123ch@gmail.com>
42214
42215 * normal/main.c (get_line): Fix buffer overflow bug.
42216
41694fd0 422172008-07-28 Robert Millan <rmh@aybabtu.com>
42218
42219 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
42220 (struct grub_apple_header): New struct. Describes the layout of
42221 the partmap header.
42222 (apple_partition_map_iterate): Check the header magic as well as the
42223 partition magic (which was already being checked).
42224
cfd0b4e6 422252008-07-28 Pavel Roskin <proski@gnu.org>
42226
42227 * genmk.rb: Add a warning to the beginning of the output that
42228 it's a generated file and should not be edited.
42229
93cce016 422302008-07-28 Robert Millan <rmh@aybabtu.com>
42231
42232 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
42233 with the same number are found, just use issue a warning with
42234 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 42235
cd1df915 422362008-07-27 Robert Millan <rmh@aybabtu.com>
42237
42238 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
42239 information.
42240
b70a8427 422412008-07-27 Bean <bean123ch@gmail.com>
42242
42243 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
42244 (grub_fat_find_dir): Ignore case when comparing filename.
42245
8f5e379f 422462008-07-27 Bean <bean123ch@gmail.com>
42247
42248 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
42249 smallino, as it's more descriptive, and i8count can be confused with
42250 the other field count.
42251 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
42252 inode type.
42253
a85cd5a0 422542008-07-27 Bean <bean123ch@gmail.com>
42255
42256 * commands/crc.c: New file.
42257
42258 * lib/crc.c: Likewise.
42259
42260 * include/grub/lib/crc.h: Likewise.
42261
42262 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
42263
42264 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
42265 (hexdump): Move this function to ...
42266
42267 * lib/hexdump.c: ... here.
42268
42269 * include/grub/hexdump.h: Renamed to ...
42270
42271 * include/grub/lib/hexdump.h: ... this.
42272
42273 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
42274
42275 * util/grub-editenv.c: Likewise.
42276
42277 * include/envblk.h: Renamed to ...
42278
42279 * include/lib/envblk.h: ... this.
42280
42281 * util/envblk.c: Renamed to ...
42282
42283 * lib/envblk.c: ... this.
42284
42285 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
42286 lib/hexdump.c.
42287 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
42288 (pkglib_MODULES): Add crc.mod.
42289 (hexdump_mod_SOURCES): Add lib/hexdump.c.
42290 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
42291 (crc_mod_SOURCES): New macro.
42292 (crc_mod_CFLAGS): Likewise.
42293 (crc_mod_LDFLAGS): Likewise.
42294
42295 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
42296
42297 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42298
42299 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42300
42301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42302
42303 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42304
c298def0 423052008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 42306
42307 * commands/help.c: Include <grub/term.h>.
42308 (TERM_WIDTH): Removed. Updated all users.
42309
cc349fb3 423102008-07-27 Pavel Roskin <proski@gnu.org>
42311
42312 * util/getroot.c (find_root_device): Rephrase a comment to avoid
42313 spurious warnings about a comment within a comment.
42314
9051607e 423152008-07-25 Robert Millan <rmh@aybabtu.com>
42316
42317 * util/getroot.c (find_root_device): Skip devices that match
42318 /dev/dm-[0-9]. This lets the real device be found for any type of
42319 abstraction (LVM, EVMS, RAID..).
42320 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
42321 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
42322 device is found first, find_root_device() will now skip it.
42323
01453bfc 423242008-07-24 Pavel Roskin <proski@gnu.org>
42325
42326 * include/grub/types.h: Use __builtin_bswap32() and
42327 __builtin_bswap64() with gcc 4.3 and newer.
42328
6af9849f 423292008-07-24 Christian Franke <franke@computer.org>
42330
3a0fa256 42331 * util/i386/pc/grub-install.in: If `--debug' is specified,
42332 pass `--verbose' to grub-setup.
42333 Abort script if make_system_path_relative_to_its_root() fails.
42334
7810e747 423352008-07-24 Bean <bean123ch@gmail.com>
42336
42337 * configure.ac: Fixed a bug caused by the previous cygwin patch,
42338 variable `target_platform' should be `platform'.
42339
42290e17 423402008-07-24 Bean <bean123ch@gmail.com>
42341
51cc5193 42342 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 42343 (grub_png_init_fixed_block): New function.
42344 (grub_png_decode_image_data): Handle fixed huffman code compression.
42345
2a8a80e4 423462008-07-24 Bean <bean123ch@gmail.com>
42347
42348 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
42349 (grub_pe2elf_SOURCES): New macro.
42350 (CLEANFILES): Add grub-pe2elf.
42351
42352 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
42353 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
42354 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
42355 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
42356 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
42357 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
42358 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
42359 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
42360 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
42361 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
42362 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
42363 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
42364 (GRUB_PE32_DT_FUNCTION): Likewise.
42365 (GRUB_PE32_REL_I386_DIR32): Likewise.
42366 (GRUB_PE32_REL_I386_REL32): Likewise.
42367 (grub_pe32_symbol): New structure.
42368 (grub_pe32_reloc): Likewise.
42369
42370 * util/grub-pe2elf.c: New file.
42371
42372 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
42373 start symbol in non pc platform.
42374
42375 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
42376
42377 The following patches are from Christian Franke.
42378
42379 * include/grub/dl.h: Remove .previous, gas supports this only
42380 for ELF format.
42381
42382 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
42383 Remove .type, gas supports this only for ELF format.
42384
42385 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
42386 nullbytes in symbol table. This fixes an infinite loop if table is
42387 zero filled.
42388
42389 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
42390 TARGET_IMG_LDFLAGS and EXEEXT.
42391
42392 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
42393 TARGET_IMG_LDFLAGS_AC.
42394 (grub_CHECK_STACK_ARG_PROBE): New function.
42395
42396 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
42397
42398 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
42399
42400 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
42401 to set TARGET_IMG_LD* accordingly.
42402 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
42403 Add call to grub_CHECK_STACK_ARG_PROBE.
42404 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
42405
42406 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
42407
42408 * genmk.rb: Add EXEEXT to CLEANFILES.
42409
12ccdb75 424102008-07-23 Robert Millan <rmh@aybabtu.com>
42411
42412 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
42413 define the codes for arrows and lines used for the menu).
42414 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
42415 as well.
42416
42417 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
42418 fonts, because the latter are too slow.
42419
18eeaf04 424202008-07-21 Bean <bean123ch@gmail.com>
42421
42422 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
42423 a20. Run keyboard test last, as it will cause macbook to halt.
42424
b095e2ad 424252008-07-18 Pavel Roskin <proski@gnu.org>
42426
42427 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
42428 load foreign architecture modules correctly anyway. Keep
42429 support for loading host architecture modules, whether we
42430 compile them or not.
42431
737feb35 424322008-07-17 Pavel Roskin <proski@gnu.org>
42433
3f4ce737 42434 * configure.ac: Use -m32 or -m64 regardless of whether we had to
42435 change target_cpu. The compiler default can mismatch target_cpu
42436 in any case.
42437
4ad2d049 42438 * disk/efi/efidisk.c: Fix format warnings on x86_64.
42439 * kern/efi/efi.c: Likewise.
42440
f6130a12 42441 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
42442 target compiler is functional.
42443 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
42444 are set up.
42445
58393a2d 42446 * configure.ac: Default to efi platform for x86_64-apple. Allow
42447 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
42448 adjustments from the rest, only do them if target is not
42449 explicitly given. Merge other adjustments with the final sanity
42450 check. Remove an extraneous check for supported CPU. Be
42451 specific which CPU and which platform is not supported.
42452
737feb35 42453 * configure.ac: Default to pc platform for x86_64.
42454
546f966a 424552008-07-17 Robert Millan <rmh@aybabtu.com>
42456
42457 Partial LinuxBIOS -> Coreboot rename.
42458
42459 * conf/i386-linuxbios.rmk: Renamed to ...
42460 * conf/i386-coreboot.rmk: ... this.
42461 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
42462 * configure.ac: Accept "coreboot" as input platform (but maintain
42463 compatibility with "linuxbios").
42464 * include/grub/i386/linuxbios: Renamed to ...
42465 * include/grub/i386/coreboot: ... this.
42466
20011694 424672008-07-17 Bean <bean123ch@gmail.com>
42468
42469 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 42470 (appleldr_mod_SOURCE): New variable.
20011694 42471 (appleldr_mod_CFLAGS): Likewise.
42472 (appleldr_mod_LDFLAGS): Likewise.
42473 (pci_mod_SOURCES): Likewise.
42474 (pci_mod_CFLAGS): Likewise.
42475 (pci_mod_LDFLAGS): Likewise.
42476 (lspci_mod_SOURCES): Likewise.
42477 (lspci_mod_CFLAGS): Likewise.
42478 (lspci_mod_LDFLAGS): Likewise.
42479
42480 * conf/x86_64-efi.rmk: New file.
42481
42482 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
42483 macro.
42484 (grub_efidisk_write): Likewise.
42485
42486 * include/efi/api.h (efi_call_0): New macro.
42487 (efi_call_1): Likewise.
42488 (efi_call_2): Likewise.
42489 (efi_call_3): Likewise.
42490 (efi_call_4): Likewise.
42491 (efi_call_5): Likewise.
42492 (efi_call_6): Likewise.
42493
42494 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
42495 grub_rescue_cmd_chainloader.
42496
42497 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
42498 (grub_pe32_optional_header): Change some fields based on i386 or
42499 x86_64 platform.
42500 (GRUB_PE32_PE32_MAGIC): Likewise.
42501
42502 * include/grub/efi/uga_draw.h: New file.
42503
42504 * include/grub/elf.h (STN_ABS): New constant.
42505 (R_X86_64_NONE): Relocation constant for x86_64.
42506 (R_X86_64_64): Likewise.
42507 (R_X86_64_PC32): Likewise.
42508 (R_X86_64_GOT32): Likewise.
42509 (R_X86_64_PLT32): Likewise.
42510 (R_X86_64_COPY): Likewise.
42511 (R_X86_64_GLOB_DAT): Likewise.
42512 (R_X86_64_JUMP_SLOT): Likewise.
42513 (R_X86_64_RELATIVE): Likewise.
42514 (R_X86_64_GOTPCREL): Likewise.
42515 (R_X86_64_32): Likewise.
42516 (R_X86_64_32S): Likewise.
42517 (R_X86_64_16): Likewise.
42518 (R_X86_64_PC16): Likewise.
42519 (R_X86_64_8): Likewise.
42520 (R_X86_64_PC8): Likewise.
42521
42522 * include/grub/i386/efi/pci.h: New file.
42523
42524 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
42525 Change it value based on platform.
42526 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
42527 (GRUB_E820_RAM): Likewise.
42528 (GRUB_E820_RESERVED): Likewise.
42529 (GRUB_E820_ACPI): Likewise.
42530 (GRUB_E820_NVS): Likewise.
42531 (GRUB_E820_EXEC_CODE): Likewise.
42532 (GRUB_E820_MAX_ENTRY): Likewise.
42533 (grub_e820_mmap): New structure.
42534 (linux_kernel_header): Change the efi field according to different
42535 kernel version, also field from linux_kernel_header.
42536
42537 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
42538
42539 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
42540 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
42541 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
42542 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
42543 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
42544 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
42545 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
42546 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
42547 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
42548 (GRUB_PCI_ADDR_IO_MASK): Likewise.
42549
42550 * include/grub/x86_64/efi/kernel.h: New file.
42551
42552 * include/grub/x86_64/efi/loader.h: Likewise.
42553
42554 * include/grub/x86_64/efi/machine.h: Likewise.
42555
42556 * include/grub/x86_64/efi/pci.h: Likewise.
42557
42558 * include/grub/x86_64/efi/time.h: Likewise.
42559
42560 * include/grub/x86_64/linux.h: Likewise.
42561
42562 * include/grub/x86_64/setjmp.h: Likewise.
42563
42564 * include/grub/x86_64/time.h: Likewise.
42565
42566 * include/grub/x86_64/types.h: Likewise.
42567
42568 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
42569 GRUB_TARGET_SIZEOF_VOID_P.
42570
42571 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
42572 (grub_efi_locate_handle): Likewise.
42573 (grub_efi_open_protocol): Likewise.
42574 (grub_efi_set_text_mode): Likewise.
42575 (grub_efi_stall): Likewise.
42576 (grub_exit): Likewise.
42577 (grub_reboot): Likewise.
42578 (grub_halt): Likewise.
42579 (grub_efi_exit_boot_services): Likewise.
42580 (grub_get_rtc): Likewise.
42581
42582 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
42583 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
42584 (grub_efi_allocate_pages): Wrap efi calls.
42585 (grub_efi_free_pages): Wrap efi calls.
42586 (grub_efi_get_memory_map): Wrap efi calls.
42587
42588 * kern/x86_64/dl.c: New file.
42589
42590 * kern/x86_64/efi/callwrap.S: Likewise.
42591
42592 * kern/x86_64/efi/startup.S: Likewise.
42593
42594 * loader/efi/appleloader.c: Likewise.
42595
42596 * loader/efi/chainloader.c (cmdline): New variable.
42597 (grub_chainloader_unload): Wrap efi calls.
42598 (grub_chainloader_boot): Likewise.
42599 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
42600 command line.
42601
42602 * loader/efi/chainloader_normal.c (chainloader_command):
42603 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
42604 command line.
42605
42606 * loader/i386/efi/linux.c (allocate_pages): Change allocation
42607 method.
42608 (grub_e820_add_region): New function.
42609 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
42610 booting.
42611 (grub_find_video_card): New function.
42612 (grub_linux_setup_video): New function.
42613 (grub_rescue_cmd_linux): Probe for video information.
42614
42615 * normal/x86_64/setjmp.S: New file.
42616
42617 * term/efi/console.c (map_char): New function.
42618 (grub_console_putchar): Map unicode char.
42619 (grub_console_checkkey): Wrap efi calls.
42620 (grub_console_getkey): Likewise.
42621 (grub_console_getwh): Likewise.
42622 (grub_console_gotoxy): Likewise.
42623 (grub_console_cls): Likewise.
42624 (grub_console_setcolorstate): Likewise.
42625 (grub_console_setcursor): Likewise.
42626
42627 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
42628
59652a20 426292008-07-16 Pavel Roskin <proski@gnu.org>
42630
ef294055 42631 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
42632 format strings.
42633
59652a20 42634 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
42635 pointer, not an integer. This fixes a warning and prevents
42636 precision loss on 64-bit systems.
42637 (relocate_addresses): Remove unneeded cast.
42638
afc3b5d7 426392008-07-15 Pavel Roskin <proski@gnu.org>
42640
506b2b3e 42641 * kern/i386/ieee1275/init.c: Include grub/cache.h.
42642
62ead89c 42643 * term/ieee1275/ofconsole.c: Disable code unused on i386.
42644
c4cd51d7 42645 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
42646 Fix comparison between signed and unsigned.
42647
0d3d8f28 42648 * include/grub/i386/ieee1275/console.h: Declare
42649 grub_console_init() and grub_console_fini().
42650
8804b286 42651 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
42652 It's empty and unused.
42653
ee01cf35 42654 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
42655 beginning to avoid warnings with some compilers.
42656
afc3b5d7 42657 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
42658 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
42659
e4e8eaa5 426602008-07-14 Pavel Roskin <proski@gnu.org>
42661
407aceb4 42662 * kern/env.c (grub_register_variable_hook): Don't copy empty
42663 string, it leaks memory. Pass "" to grub_env_set(), it should
42664 handle constant strings.
42665
e4e8eaa5 42666 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
42667 * commands/cmp.c (grub_cmd_cmp): Likewise.
42668 * kern/dl.c (grub_dl_flush_cache): Likewise.
42669 (grub_dl_load_core): Likewise.
42670 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
42671 (grub_elf64_load_phdrs): Likewise.
42672
d4e2dad3 426732008-07-13 Pavel Roskin <proski@gnu.org>
42674
42675 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42676 between signed and unsigned.
42677 (LzmaEnc_Finish): Fix warning about an unused parameter.
42678
aa24b516 426792008-07-13 Bean <bean123ch@gmail.com>
42680
42681 * Makefile.in (enable_lzo): New rule.
42682
42683 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42684
42685 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42686
42687 * boot/i386/pc/lnxboot.S: #include <config.h>.
42688
42689 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 42690 its value according to the compression algorithm used, lzo or lzma.
aa24b516 42691
42692 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42693 compression algorithm according to configure macro.
42694
42695 * kern/i386/pc/startup.S (codestart): Likewise.
42696
42697 * kern/i386/pc/lzma_decode.S: New file.
42698
42699 * include/grub/lib/LzFind.h: Likewise.
42700
42701 * include/grub/lib/LzHash.h: Likewise.
42702
42703 * include/grub/lib/LzmaDec.h: Likewise.
42704
42705 * include/grub/lib/LzmaEnc.h: Likewise.
42706
42707 * include/grub/lib/LzmaTypes.h: Likewise.
42708
42709 * lib/LzFind.c: Likewise.
42710
42711 * lib/LzmaDec.c: Likewise.
42712
42713 * lib/LzmaEnc.c: Likewise.
42714
4ae821ac 427152008-07-13 Bean <bean123ch@gmail.com>
42716
42717 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42718 (grub_ext4_extent_header): New structure.
42719 (grub_ext4_extent): Likewise.
42720 (grub_ext4_extent_idx): Likewise.
42721 (grub_ext4_find_leaf): New function.
42722 (grub_ext2_read_block): Handle extents.
42723
9a745147 427242008-07-12 Robert Millan <rmh@aybabtu.com>
42725
42726 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42727
d49a4cf6 427282008-07-11 Robert Millan <rmh@aybabtu.com>
42729
42730 * util/grub.d/40_custom.in: New file. Example on how to add custom
42731 entries to /etc/grub.d.
42732 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42733 40_custom (implicitly, by merging all the grub.d rules).
42734
947414b4 427352008-07-11 Pavel Roskin <proski@gnu.org>
42736
0059cf6f 42737 * commands/read.c (grub_getline): Fix invalid memory access.
42738 Don't add newline to the variable value.
42739
947414b4 42740 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42741 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42742 (serial_hw_get_port): Check validity of the port number.
42743 (grub_cmd_serial): Check return value of serial_hw_get_port().
42744
62a02d00 427452008-07-07 Pavel Roskin <proski@gnu.org>
42746
42747 * boot/i386/pc/diskboot.S (notification_string): Replace
42748 "Loading kernel" with just "loading". This is shorter, less
42749 confusing and saves a few bytes for possible future changes.
42750
3e5581b0 427512008-07-05 Pavel Roskin <proski@gnu.org>
42752
ea387a48 42753 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42754 size for ATAPI devices, they are undefined. Output sector
42755 number in decimal form.
42756
3e5581b0 42757 * disk/ata.c: Use named constants for status bits.
42758
fdecb8fd 427592008-07-04 Pavel Roskin <proski@gnu.org>
42760
bcd35b90 42761 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42762 grub_addr_t before casting it to the void pointer to fix a
42763 warning. Non-addressable regions are discarded earlier.
42764 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42765 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42766 (check_signature): Don't shadow table_header.
42767 (grub_linuxbios_table_iterate): Cast numeric constants to
42768 grub_linuxbios_table_header_t.
42769 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42770 grub_stop().
42771
af58ab3d 42772 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42773 prevent warnings.
42774
1759aa57 42775 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42776 pointer, which can cause warnings. Support 64-bit addresses.
42777
fdecb8fd 42778 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42779 of sizeof(long). This fixes PowerPC image generation on x86_64.
42780
8516d2a8 427812008-07-04 Robert Millan <rmh@aybabtu.com>
42782
42783 This fixes a performance issue when pc & gpt partmap iterators
42784 didn't abort iteration even after our hook found what it was
fe987087 42785 looking for (often causing expensive probes of non-existent drives).
8516d2a8 42786
42787 Some callers relied on previous buggy behaviour, since they would
34c44600 42788 raise an error when their own hooks caused early abortion of its
8516d2a8 42789 iteration.
42790
42791 * kern/device.c (grub_device_open): Improve error message.
42792 * disk/lvm.c (grub_lvm_open): Likewise.
42793 * disk/raid.c (grub_raid_open): Likewise.
42794
42795 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42796 when hook requests it, independently of grub_errno.
42797 (pc_partition_map_probe): Do not fail when find_func() caused
42798 early abortion of pc_partition_map_iterate().
42799
42800 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
42801 when hook requests it, independently of grub_errno.
42802 (gpt_partition_map_probe): Do not fail when find_func() caused
42803 early abortion of gpt_partition_map_iterate().
42804
42805 * kern/partition.c (grub_partition_iterate): Abort parent iteration
42806 when hook requests it, independently of grub_errno. Do not fail when
42807 part_map_iterate_hook() caused early abortion of p->iterate().
42808
42809 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
42810 when grub_partition_iterate() returned with non-zero.
42811
277d0de9 428122008-07-03 Pavel Roskin <proski@gnu.org>
42813
42814 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42815 like we do in grub_ata_pio_read().
42816 (grub_ata_readwrite): Always write individual sectors. Fix the
42817 sector count for the remainder.
42818 (grub_ata_write): Enable writing to ATA devices. Correctly
42819 report error for ATAPI devices.
42820
d4c9b428 428212008-07-02 Pavel Roskin <proski@gnu.org>
42822
e43fc690 42823 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42824 warning.
42825
f707af42 42826 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42827 for every read sector, we already increment it for the whole
42828 batch. This fixes reading more than 256 sectors at once.
42829
11e16b15 42830 * util/grub-editenv.c (cmd_info): Cast argument to long
42831 explicitly. ptrdiff_t reduces to int on i386.
42832
cbabfdd4 42833 * util/grub-editenv.c (main): Be specific which parameter is
42834 missing.
42835
b8fbce0a 42836 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
42837 (memdisk): Make memdisk_orig_addr a pointer.
42838
c9c8e606 42839 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
42840 for file offsets, use grub_off_t instead. Fix printf format
42841 warnings.
42842
ca62e598 42843 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42844 there. Real unexpected warnings should not drown in the noise
42845 about known problems.
42846
ce8d1766 42847 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42848 grub_disk_addr_t for memory addresses.
42849
00c7a56a 42850 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42851 explicitly to fix a warning.
42852
08d3ef09 42853 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42854
cb71ba20 42855 * Makefile.in (MODULE_LDFLAGS): New variable.
42856 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42857 the linker accepts --build-id=none.
42858 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42859 MODULE_LDFLAGS.
42860 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42861
d4c9b428 42862 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42863 those in Linux XFS code. Provide a way to access 64-bit parent
42864 inode.
42865 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42866 the end of struct grub_xfs_dir_header.
42867
d4156eee 428682008-07-02 Bean <bean123ch@gmail.com>
42869
42870 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42871 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42872 and GRUB_IEEE1275_FLAG_NO_ANSI.
42873
42874 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42875 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42876 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42877
42878 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42879 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42880
42881 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42882 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42883
42884 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42885 esc sequence on non ANSI terminal.
42886 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42887
42888 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42889 beginning of file.
42890
2270f77b 428912008-07-02 Bean <bean123ch@gmail.com>
42892
42893 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42894 (grub_editenv_SOURCES): New variable.
42895 (pkglib_MODULES): Add loadenv.mod.
42896 (loadenv_mod_SOURCES): New variable.
42897 (loadenv_mod_CFLAGS): Likewise.
42898 (loadenv_mod_LDFLAGS): Likewise.
42899
42900 * include/grub/envblk.h: New file.
42901
42902 * util/envblk.c: New file.
42903
42904 * util/grub-editenv.c: New file.
42905
42906 * commands/loadenv.c: New file.
42907
0e9e51ec 429082008-07-01 Pavel Roskin <proski@gnu.org>
42909
d89b7634 42910 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42911 not unsigned char. This fixes warnings and is consistent with
42912 other tags.
42913
bf1835b1 42914 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42915
8222a04b 42916 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42917
6a42d99d 42918 * term/tparm.c (analyze): Always set *popcount.
42919
10b159d1 42920 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42921 cast to fix a warning.
42922
b8789f6c 42923 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42924 cast to suppress a warning.
42925
29d7e38a 42926 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42927 grub_fshelp_read_file() expects.
42928
f341f669 42929 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42930 write uuid as a 32-bit value in CPU byte order, so declare and
42931 use it as such.
42932
0e9e51ec 42933 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42934 long if the format specifier expects it.
42935 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42936 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42937 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42938 long to fix a warning.
42939 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42940 grub_dprintf() arguments to fix warnings.
42941
3aefa857 429422008-06-30 Pavel Roskin <proski@gnu.org>
42943
56c7668b 42944 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42945 install_bsd_part immediately before core.img is embedded or
42946 modified on disk. This fixes core.img verification if core.img
42947 cannot be embedded.
42948
3aefa857 42949 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42950 core_path to calculate the blocklist.
42951 Patch from Javier Martín <lordhabbit@gmail.com>
42952
5444088d 429532008-06-29 Robert Millan <rmh@aybabtu.com>
42954
42955 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42956 block to disk block.
42957 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42958 Patch from Niels Böhm <bitbucket@arcor.de>
42959
674835c8 429602008-06-29 Robert Millan <rmh@aybabtu.com>
42961
42962 * util/update-grub_lib.in (font_path): Search for fonts in
42963 /boot/grub first, which is more likely to be readable (we aren't
42964 deciding where fonts live, just looking for them).
42965
f527dbc8 429662008-06-26 Pavel Roskin <proski@gnu.org>
42967
6c2d8df6 42968 * util/biosdisk.c (read_device_map): Don't leave dead map
42969 entries for devices failing stat() check.
42970
f527dbc8 42971 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42972 core_path_dev for the core.img path on the target device.
42973
aebe3d13 429742008-06-26 Robert Millan <rmh@aybabtu.com>
42975
42976 * disk/fs_uuid.c: New file.
42977 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42978 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42979 (fs_uuid_mod_LDFLAGS): New variables.
42980 * include/grub/disk.h (grub_disk_dev_id): Add
42981 `GRUB_DISK_DEVICE_UUID_ID'.
42982 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42983 implement iterate().
42984
37aaf354 429852008-06-26 Robert Millan <rmh@aybabtu.com>
42986
42987 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42988 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42989 Linux image includes no initrd.
42990
25ff262a 429912008-06-21 Javier Martín <lordhabbit@gmail.com>
42992
42993 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42994 call to resolve the core image location that effectively appended the
42995 name twice.
42996
76a2bd44 429972008-06-21 Robert Millan <rmh@aybabtu.com>
42998
42999 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
43000 call from here ...
43001
43002 * util/grub.d/10_hurd.in: ... to here ...
43003 * util/grub.d/10_linux.in: ... and here.
43004
650e1c79 430052008-06-19 Robert Millan <rmh@aybabtu.com>
43006
fe987087 43007 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 43008 after it has been set by grub_machine_set_prefix().
43009
6ce63911 430102008-06-19 Robert Millan <rmh@aybabtu.com>
43011
43012 * commands/search.c (search_label, search_fs_uuid, search_file): Print
43013 search result when not saving to variable, not the other way around.
43014 When saving to variable, abort iteration as soon as a match is found.
43015
73940cec 430162008-06-19 Robert Millan <rmh@aybabtu.com>
43017
43018 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
43019 check for partition that provides /boot/grub. Its logic is flawed,
43020 as it prevents prepare_grub_to_access_device() from being called
43021 multiple times.
43022
3c62a39d 430232008-06-19 Robert Millan <rmh@aybabtu.com>
43024
43025 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
43026 "insmod" command directly when abstraction modules are needed,
fe987087 43027 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 43028 since it had already been processed).
43029
47395a42 430302008-06-19 Pavel Roskin <proski@gnu.org>
43031
43032 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
43033 changed. This is needed in case GRUB_LIBDIR changes.
43034 * conf/i386-ieee1275.rmk: Likewise.
43035 * conf/i386-linuxbios.rmk: Likewise.
43036 * conf/i386-pc.rmk: Likewise.
43037 * conf/powerpc-ieee1275.rmk: Likewise.
43038
a145ac2d 430392008-06-18 Pavel Roskin <proski@gnu.org>
43040
43041 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
43042 kernel_elf_symlist.c to symlist.c for consistency with other
43043 architectures. Update all users.
43044 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43045
7847c51e 430462008-06-18 Robert Millan <rmh@aybabtu.com>
43047
43048 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
43049 it in prefix.
43050
43051 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
43052 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
43053 a RAID device, run setup() for all members independently on whether
43054 LVM abstraction is being used.
43055 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
43056 If grub-mkimage has set `*install_dos_part == -2', don't override this
43057 value.
43058 Perform *install_dos_part adjustments independently on whether
43059 we're embedding or not.
43060 Clarify error message when image is too big for embedding.
43061 Remove duplicate *install_dos_part stanza.
43062
b23e5644 430632008-06-17 Robert Millan <rmh@aybabtu.com>
43064
43065 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
43066 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
43067 variables.
43068 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
43069 values in grub_ofconsole_normal_color and
43070 grub_ofconsole_highlight_color (they're not directly related to
43071 background and foreground).
43072 (grub_ofconsole_setcolorstate): Extract background and foreground
43073 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
43074
0aac2f79 430752008-06-17 Robert Millan <rmh@aybabtu.com>
43076
43077 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
43078 /boot/grub for the check in last commit, not /boot (they could be
43079 different partitions).
43080
3cca7ef3 430812008-06-16 Robert Millan <rmh@aybabtu.com>
43082
43083 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
43084 asked to setup access for the same partition that provides /boot,
43085 don't bother using UUIDs since our root already has the value we
43086 want.
43087
347396d8 430882008-06-16 Robert Millan <rmh@aybabtu.com>
43089
43090 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
43091 I2O devices.
43092 Patch from Sven Mueller <sven@debian.org>.
43093
991477f8 430942008-06-16 Robert Millan <rmh@aybabtu.com>
43095
43096 * util/update-grub.in: Check for $EUID instead of $UID.
43097 Reported by Vincent Zweije.
43098
d31a32a1 430992008-06-16 Bean <bean123ch@gmail.com>
43100
fe987087 43101 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 43102 (grub_ext2_read_block): Likewise.
43103 (grub_ext2_read_inode): Likewise.
43104 (grub_ext2_mount): Likewise.
43105 (grub_ext2_close): Likewise.
43106 (grub_ext3_get_journal): Removed.
43107
fe987087 43108 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 43109 (grub_reiserfs_read_symlink): Likewise.
43110 (grub_reiserfs_mount): Likewise.
43111 (grub_reiserfs_open): Likewise.
43112 (grub_reiserfs_read): Likewise.
43113 (grub_reiserfs_close): Likewise.
43114 (grub_reiserfs_get_journal): Removed.
43115
43116 * fs/fshelp.c (grub_fshelp_read): Removed.
43117 (grub_fshelp_map_block): Likewise.
43118
43119 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
43120 (grub_fshelp_journal): Likewise.
43121 (grub_fshelp_read): Likewise.
43122 (grub_fshelp_map_block): Likewise.
43123
3540a760 431242008-06-16 Pavel Roskin <proski@gnu.org>
43125
43126 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
43127 floating point anymore.
43128 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
43129
95614c84 431302008-06-15 Pavel Roskin <proski@gnu.org>
43131
43132 * commands/ls.c (grub_ls_list_files): Use integer calculations
43133 for human readable format, avoid floating point use.
43134 * kern/misc.c (grub_ftoa): Remove.
43135 (grub_vsprintf): Remove floating point support.
43136
50465dd6 431372008-06-15 Robert Millan <rmh@aybabtu.com>
43138
fe6b695a 43139 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 43140 devices.
43141 Reported by Max Vozeler.
43142
a9207284 431432008-06-15 Robert Millan <rmh@aybabtu.com>
43144
43145 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
43146 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
43147 skipped later.
43148 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
43149 the beginning of the prefix.
43150
43151 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
43152 It is assumed that if we have a memdisk, grub-mkimage has set
43153 grub_prefix to include the "(memdisk)" drive in it.
43154
a7cbd45a 431552008-06-15 Robert Millan <rmh@aybabtu.com>
43156
43157 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
43158 Initialize keyboard controller after registering the terminal, so that
43159 grub_printf() can be called from grub_keyboard_controller_init().
43160
21cf716a 431612008-06-15 Robert Millan <rmh@aybabtu.com>
43162
43163 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
43164 extent-btree which is written as big endian on disk.
43165 Reported by Alain Greppin <al@chilibi.org>.
43166
23a64d8e 431672008-06-14 Robert Millan <rmh@aybabtu.com>
43168
43169 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
43170 * util/i386/pc/grub-install.in (modules): Likewise.
43171
d687651c 431722008-06-13 Pavel Roskin <proski@gnu.org>
43173
43174 * commands/ls.c (grub_ls_list_files): Fix format warnings.
43175
dfe9ddd4 431762008-06-13 Bean <bean123ch@gmail.com>
43177
43178 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
43179
43180 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
43181
43182 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
43183 to indicate sparse block.
43184
16ae7781 431852008-06-12 Pavel Roskin <proski@gnu.org>
43186
e6d1a308 43187 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
43188 number, grub_fshelp_read() does it for us.
43189
16ae7781 43190 * fs/fshelp.c (grub_fshelp_read): New function. Implement
43191 linear disk read with journal translation.
43192 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
43193 * include/grub/fshelp.h: Declare grub_fshelp_read().
43194
40fd3a2b 431952008-06-09 Pavel Roskin <proski@gnu.org>
43196
43197 * fs/minix.c (grub_minix_mount): Handle error reading
43198 superblock.
43199
f5679726 432002008-06-08 Robert Millan <rmh@aybabtu.com>
43201
43202 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
43203 don't append the RAID prefix afterwards.
43204 Reported by Clint Adams.
43205
ce525529 432062008-06-08 Robert Millan <rmh@aybabtu.com>
43207
43208 Based on description from Pavel:
43209 * kern/disk.c (grub_disk_check_range): Rename to ...
43210 (grub_disk_adjust_range): ... this. Add a comment explaining the
43211 tasks performed by this function.
43212
ad4936a0 432132008-06-08 Robert Millan <rmh@aybabtu.com>
43214
43215 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
43216 `num_serial' (for consistency with other variables).
43217 (struct grub_ntfs_data): Add `uuid' member.
43218 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
43219 (grub_ntfs_uuid): New function.
43220 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
43221
dc20b0f9 432222008-06-07 Pavel Roskin <proski@gnu.org>
43223
43224 * util/biosdisk.c (open_device): Revert last change to the
43225 function, it broke installation. The sector needs to be
43226 different dependent on which device is opened.
43227
c5e3cfba 432282008-06-06 Robert Millan <rmh@aybabtu.com>
43229
43230 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
43231 rest of GRUB, and breakage doesn't happen if its value were modified.
43232
43233 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43234 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
43235 a constant (same value).
43236 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
43237 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
43238
26a1f8c4 432392008-06-06 Robert Millan <rmh@aybabtu.com>
43240
43241 * util/biosdisk.c (open_device): Do not modify sector offset when
43242 accessing a partition. kern/disk.c already handles this for us.
43243
25d6b327 432442008-06-06 Robert Millan <rmh@aybabtu.com>
43245
43246 * util/grub-emu.c (grub_machine_init): Move code in this function from
43247 here ...
43248 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
43249 segfault in case grub_printf() is called).
43250
43251 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
43252 grub_probe. Update all users not to explicitly add it again.
43253 (grub_device): New variable; contains corresponding device for grubdir.
43254 (fs_module, partmap_module, devabstraction_module): Pass
43255 `--device ${grub_device}' to grub_probe to avoid traversing /dev
43256 every time.
43257
9ece62fb 432582008-06-05 Robert Millan <rmh@aybabtu.com>
43259
43260 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
43261 is found, print it (same layout as with labels).
43262
1ad36d37 432632008-06-04 Robert Millan <rmh@aybabtu.com>
43264
43265 * util/biosdisk.c (get_drive): Rename to ...
43266 (find_grub_drive): ... this. Update all users.
43267
43268 (get_os_disk): Rename to ...
43269 (convert_system_partition_to_system_disk): ... this. Update all users.
43270
43271 (find_drive): Rename to ...
43272 (find_system_device): ... this. Update all users.
43273
e6a30859 432742008-06-04 Robert Millan <rmh@aybabtu.com>
43275
43276 * util/biosdisk.c (get_os_disk): Handle IDA devices.
43277 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43278 (make_device_map): Likewise.
43279
00c108a4 432802008-06-01 Robert Millan <rmh@aybabtu.com>
43281
43282 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
43283 before dereferencing it.
43284
43285 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
43286 union with fat12/fat16-specific ones. Add some new fields, including
43287 `num_serial' for both versions.
43288 (struct grub_fat_data): Add `uuid' member.
43289 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
43290 names. Initialize `data->uuid' using `num_serial'.
43291 (grub_fat_uuid): New function.
43292 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
43293
43294 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
43295 (grub_reiserfs_uuid): New function.
43296 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
43297 member.
43298
43299 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
43300 (grub_xfs_uuid): New function.
43301 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
43302
1385c5bb 433032008-06-01 Robert Millan <rmh@aybabtu.com>
43304
43305 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
43306 code that is backward compatible with pre-uuid search command.
43307
c682dfd7 433082008-05-31 Robert Millan <rmh@aybabtu.com>
43309
43310 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
43311 floppies after everything else, to ensure floppy drive isn't accessed
43312 unnecessarily (patch from Bean).
43313
b7db5d47 433142008-05-31 Robert Millan <rmh@aybabtu.com>
43315
43316 * commands/search.c (search_label, search_fs_uuid, search_file): Do
43317 not print device names when we were asked to set a variable.
43318
6e037aa9 433192008-05-31 Robert Millan <rmh@aybabtu.com>
43320
43321 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
43322 using "cursor-on" and "cursor-off" commands (understood at least by
43323 the Open Firmware flavour on OLPC).
43324
41305bc8 433252008-05-31 Michael Gorven <michael@gorven.za.net>
43326
43327 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
43328 on and off sequences.
43329
69ba137e 433302008-05-31 Robert Millan <rmh@aybabtu.com>
43331
43332 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
43333 * util/update-grub.in: Likewise.
43334
520ae21b 433352008-05-30 Pavel Roskin <proski@gnu.org>
43336
43337 * util/biosdisk.c (linux_find_partition): Simplify logic and
43338 make the code more universal. Keep special processing for
43339 devfs, but use a simple rule for all other devices. If the
43340 device ends with a number, append 'p' and the partition number.
43341 Otherwise, append only the partition number.
43342
5786569b 433432008-05-30 Robert Millan <rmh@aybabtu.com>
43344
43345 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
43346 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
43347 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
43348 the `root' parameter to Linux.
43349
51500452 433502008-05-30 Robert Millan <rmh@aybabtu.com>
43351
43352 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
43353 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
43354 --fs_uuid with --fs-uuid.
43355 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
43356 all filesystems support them).
43357
811d3878 433582008-05-30 Robert Millan <rmh@aybabtu.com>
43359
43360 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 43361 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 43362
cab63c95 433632008-05-30 Robert Millan <rmh@aybabtu.com>
43364
43365 * util/grub.d/00_header.in: Remove obsolete comment referencing
43366 convert_system_path_to_grub_path().
43367 * util/update-grub.in: Likewise.
43368 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
43369 (convert_system_path_to_grub_path): Add a warning message explaining
43370 that this function is deprecated. Rely on is_path_readable_by_grub()
43371 for the readability checks.
43372 (font_path): Use is_path_readable_by_grub() for the readability
43373 check rather than convert_system_path_to_grub_path().
43374
972e2f7a 433752008-05-30 Robert Millan <rmh@aybabtu.com>
43376
43377 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
43378 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
43379 converting it first.
43380 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
43381 grub.cfg for access to font file, and afterwards call it again to set
43382 the root device.
43383
62191274 433842008-05-30 Robert Millan <rmh@aybabtu.com>
43385
43386 * commands/search.c (options): Add --fs_uuid option.
43387 (search_fs_uuid): New function.
43388 (grub_cmd_search): Fix --set argument passing.
43389 Use search_fs_uuid() when requested via --fs_uuid.
43390 (grub_search_init): Update help message.
43391 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
43392 and redeclare it as an array of 16-bit words.
43393 (grub_ext2_uuid): New function.
43394 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
43395 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
43396 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
43397 (GRUB_DEVICE_BOOT_UUID): New variables.
43398 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
43399 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
43400 whenever possible.
43401 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
43402 just assume `root' variable has the right value.
43403 * util/grub.d/10_linux.in: Likewise.
43404 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
43405 via PRINT_FS_UUID.
43406 (main): Recognise `-t fs_uuid' argument.
43407
01b73ec8 434082008-05-30 Robert Millan <rmh@aybabtu.com>
43409
43410 * util/biosdisk.c (map): Redefine structure to hold information
43411 about GRUB drive name.
fe6b695a 43412 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 43413 drive names.
43414 (call_hook): Remove.
43415 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
43416 member. Assume drive has partitions.
43417 (grub_util_biosdisk_open): Access device names via `.device' struct
43418 member.
43419 (open_device): Likewise.
43420 (find_drive): Likewise.
43421 (read_device_map): Adjust map[] usage to match the new struct
43422 definition. Don't check for duplicates (still possible, but not cheap
43423 anymore).
43424 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
43425 (make_device_name): Remove assumption of BIOS-like drive names.
43426
22f16596 434272008-05-30 Pavel Roskin <proski@gnu.org>
43428
43429 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
43430 compiling execute.c doesn't need grub_script.tab.h anymore.
43431 (normal/command.c_DEPENDENCIES): Likewise.
43432 (normal/function.c_DEPENDENCIES): Likewise.
43433 * conf/i386-ieee1275.rmk: Likewise.
43434 * conf/i386-linuxbios.rmk: Likewise.
43435 * conf/i386-pc.rmk: Likewise.
43436 * conf/powerpc-ieee1275.rmk: Likewise.
43437 * conf/sparc64-ieee1275.rmk: Likewise.
43438
528ad8f2 434392008-05-29 Pavel Roskin <proski@gnu.org>
43440
d1dff95d 43441 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
43442 when scanning metadata for volume group name.
43443
528ad8f2 43444 * include/grub/script.h: Don't include grub_script.tab.h. It's
43445 a generated file, which may only be included from the files with
43446 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
43447 use union YYSTYPE, as the later allows forward declaration.
43448 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
43449
47248e08 434502008-05-29 Robert Millan <rmh@aybabtu.com>
43451
43452 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
43453 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
43454 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
43455 (grub_console_checkkey): Add grub_dprintf() call to report unknown
43456 scan codes.
43457
ee632529 434582008-05-29 Robert Millan <rmh@aybabtu.com>
43459
43460 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
43461 control key combinations.
43462
eee96e08 434632008-05-29 Robert Millan <rmh@aybabtu.com>
43464
43465 * util/powerpc/ieee1275/grub-install.in: Move from here ...
43466 * util/ieee1275/grub-install.in: ... to here.
43467 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
43468 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
43469 (grub_install_SOURCES): Likewise.
43470
da9a6a94 434712008-05-29 Robert Millan <rmh@aybabtu.com>
43472
43473 * fs/affs.c: Update copyright year.
43474 * fs/ext2.c: Likewise.
43475 * fs/fshelp.c: Likewise.
43476 * fs/hfsplus.c: Likewise.
43477 * fs/ntfs.c: Likewise.
43478 * fs/xfs.c: Likewise.
43479 * include/grub/fshelp.h: Likewise.
43480 * util/grub-mkdevicemap.c: Likewise.
43481
12e65f3a 434822008-05-28 Robert Millan <rmh@aybabtu.com>
43483
43484 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
43485 might need to be fatfs to support some firmware implementations
43486 (e.g. OFW or EFI).
43487
23023641 434882008-05-28 Robert Millan <rmh@aybabtu.com>
43489
43490 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
43491 devices.
43492 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43493 (make_device_map): Likewise.
43494
887d2619 434952008-05-20 Bean <bean123ch@gmail.com>
43496
43497 * fs/fshelp.c (grub_fshelp_map_block): New function.
43498 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
43499 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
43500
43501 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
43502 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
43503 (grub_fshelp_journal): New structure.
43504 (grub_fshelp_map_block): New function prototype.
43505 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
43506 (grub_fshelp_map_block): Likewise.
43507
43508 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
43509 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
43510 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
43511 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
43512 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
43513 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
43514 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
43515 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
43516 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
43517 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
43518 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
43519 (grub_ext2_sblock): New members for journal support.
43520 (grub_ext3_journal_header): New structure.
43521 (grub_ext3_journal_revoke_header): Likewise.
43522 (grub_ext3_journal_block_tag): Likewise.
43523 (grub_ext3_journal_sblock): Likewise.
43524 (grub_fshelp_node): New members logfile and journal.
43525 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
43526 grub_fshelp_map_block to get real block number.
43527 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
43528 number.
43529 (grub_ext2_read_inode): Likewise.
43530 (grub_ext3_get_journal): New function.
43531 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
43532 (grub_ext2_close): Release memory used by journal.
43533
43534 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
43535 (REISERFS_MAGIC_DESC_BLOCK): New macro.
43536 (grub_reiserfs_transaction_header): Renamed to
43537 grub_reiserfs_description_block, replace field data with real_blocks.
43538 (grub_reiserfs_commit_block): New structure.
43539 (grub_reiserfs_data): New member journal.
43540 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
43541 number.
43542 (grub_reiserfs_read_symlink): Likewise.
43543 (grub_reiserfs_iterate_dir): Likewise.
43544 (grub_reiserfs_open): Likewise.
43545 (grub_reiserfs_read): Likewise.
43546 (grub_reiserfs_get_journal): New function.
43547 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
43548 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
43549 using grub_reiserfs_get_journal.
43550 (grub_reiserfs_close): Release memory used by journal.
43551
43552 * fs/affs.c (grub_affs_read_block): Change block type to
43553 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
43554
43555 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
43556
43557 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
43558
43559 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
43560
43561 * fs/udf.c (grub_udf_read_block): Change block type to
43562 grub_disk_addr_t. Use type cast to avoid warning.
43563
43564 * fs/xfs.c (grub_xfs_read_block): Likewise.
43565
b7c6bed5 435662008-05-16 Christian Franke <franke@computer.org>
43567
43568 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
43569 to ensure that break with ESC will always work.
43570 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
43571 Remove ESC from keyboard queue.
43572
eedf167f 435732008-05-16 Christian Franke <franke@computer.org>
43574
43575 * util/biosdisk.c: [__CYGWIN__] Add includes.
43576 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
43577 (get_os_disk): Move variable declarations to OS specific
43578 parts to avoid warning.
43579 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
43580 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
43581 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
43582 Cygwin.
43583 * util/getroot.c: [__CYGWIN__] Add includes.
43584 (strip_extra_slashes): Fix "/" case.
43585 [__CYGWIN__] (get_win32_path): New function.
43586 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
43587 [__CYGWIN__] (find_root_device): Disable.
43588 [__CYGWIN__] (get_bootsec_serial): New function.
43589 [__CYGWIN__] (find_cygwin_root_device): Likewise.
43590 [__linux__] (grub_guess_root_device): Add early returns to simplify
43591 structure.
43592 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
43593 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
43594 check for Linux only.
43595
a079699e 435962008-05-15 Bean <bean123ch@gmail.com>
43597
43598 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
43599 keyboard hang problem in apple's intel mac.
43600
1cf4059a 436012008-05-09 Robert Millan <rmh@aybabtu.com>
43602
43603 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
43604 devices.
43605 * util/grub-mkdevicemap.c (get_virtio_disk_name)
43606 (make_device_map): Likewise.
43607 Reported by Aurelien Jarno <aurel32@debian.org>
43608
ed759390 436092008-05-07 Ian Campbell <ijc@hellion.org.uk>
43610
43611 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
43612 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
43613 (make_device_map): Output entries for xvd type disks.
43614
b56c4eaa 436152008-05-07 Robert Millan <rmh@aybabtu.com>
43616
43617 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
43618 devices.
43619 * util/grub-mkdevicemap.c (get_cciss_disk_name)
43620 (make_device_map): Likewise.
43621 Reported by Roland Dreier <rdreier@cisco.com>
43622
7f8866ed 436232008-05-07 Robert Millan <rmh@aybabtu.com>
43624
43625 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
43626 grub_strstr() call. Correct a few mistakes in failure path handling.
43627
b0346e0f 436282008-05-06 Robert Millan <rmh@aybabtu.com>
43629
43630 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43631 Do not print a trailing slash (therefore, the root directory is an
43632 empty string).
43633 (convert_system_path_to_grub_path): Do not remove trailing slash
43634 from make_system_path_relative_to_its_root() output.
43635
43636 * util/i386/pc/grub-install.in: Add trailing slash to output from
43637 make_system_path_relative_to_its_root().
43638
6cf12cbd 436392008-05-06 Robert Millan <rmh@aybabtu.com>
43640
43641 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
43642 ensures that output lines aren't intermangled with those sent to
43643 stderr (via grub_util_info()).
43644 * util/grub-probe.c (grub_refresh): Likewise.
43645 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
43646
0fbb3117 436472008-05-05 Christian Franke <franke@computer.org>
43648
43649 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
43650 Add Cygwin device names.
43651 (get_ide_disk_name) [__CYGWIN__]: Likewise.
43652 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
43653 (check_device): Return error instead of success on empty name.
43654 (make_device_map): Move label inside linux specific code to
43655 prevent compiler warning.
43656
8124cdb7 436572008-04-30 Robert Millan <rmh@aybabtu.com>
43658
43659 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
43660 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
43661 first boot option.
43662 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
43663
094c01d0 436642008-04-29 Robert Millan <rmh@aybabtu.com>
43665
43666 * docs/grub.cfg: New file (example GRUB configuration).
43667
f4b1fc02 436682008-04-26 Robert Millan <rmh@aybabtu.com>
43669
329ce2a5 43670 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
43671 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43672 and `disk/ieee1275/nand.c'.
f4b1fc02 43673
25f16ec1 436742008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 43675
25f16ec1 43676 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43677 i386-linuxbios.
43678
43679 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43680 change the buffer size to 4096 for cdrom device.
43681
43682 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43683 and nand.mod.
43684 (_linux_mod_SOURCES): New variable.
43685 (_linux_mod_CFLAGS): Likewise.
43686 (_linux_mod_LDFLAGS): Likewise.
43687 (linux_mod_SOURCES): Likewise.
43688 (linux_mod_CFLAGS): Likewise.
43689 (linux_mod_LDFLAGS): Likewise.
43690 (nand_mod_SOURCES): Likewise.
43691 (nand_mod_CFLAGS): Likewise.
43692 (nand_mod_LDFLAGS): Likewise.
43693
43694 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43695 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43696 type property. (nand device in olpc don't have this property)
43697
43698 * include/grub/disk.h (grub_disk_dev_id): New macro
43699 GRUB_DISK_DEVICE_NAND_ID.
43700
43701 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43702 function prototype.
43703 (grub_rescue_cmd_initrd): Likewise.
43704
43705 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43706 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43707 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 43708
25f16ec1 43709 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43710 GRUB_MACHINE_IEEE1275 is defined.
43711
43712 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43713 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43714
43715 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43716 on nested function heap_init.
43717 (grub_upper_mem): New variable for i386-ieee1275.
43718 (grub_get_extended_memory): New function for i386-ieee1275.
43719 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43720
43721 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43722 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43723 property.
f19dbdb7 43724
25f16ec1 43725 * loader/i386/ieee1275/linux.c: New file.
43726
43727 * loader/i386/ieee1275/linux_normal.c: New file.
43728
43729 * disk/ieee1275/nand.c: New file.
43730
e89d61e9 437312008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43732
43733 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43734 value.
43735 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43736
602566f6 437372008-04-18 Robert Millan <rmh@aybabtu.com>
43738
43739 Restructures early code path on ieee1275 to unify grub_main() as
43740 the first C function that is executed in every platform.
43741
43742 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43743 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43744 cmain().
43745 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43746 * kern/ieee1275/cmain.c (cmain): Rename to ...
43747 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43748 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43749 at the beginning.
43750
57490c2b 437512008-04-18 Robert Millan <rmh@aybabtu.com>
43752
43753 * util/update-grub.in: Fix syntax error when setting
43754 `GRUB_PRELOAD_MODULES'.
43755 Reported by Stephane Chazelas <stephane@artesyncp.com>
43756
1977517d 437572008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43758
43759 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43760 section into account, newer toolchains generate unique build ids
43761 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 43762 we want build ids to be preserved
1977517d 43763 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43764 far from other sections don't cause the raw binary images grow
43765 size
43766
bfb1f1a2 437672008-04-15 Robert Millan <rmh@aybabtu.com>
43768
43769 * disk/lvm.c: Update copyright year.
43770 * kern/misc.c: Likewise.
43771
01979850 437722008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43773
43774 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 43775 there is no memory left for physical volume name.
01979850 43776
0a1150e2 437772008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43778
43779 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43780 volume name mapping to support bigger than 9 character names properly.
43781
82ead3fe 437822008-04-13 Robert Millan <rmh@aybabtu.com>
43783
43784 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43785 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43786
e54a72f5 437872008-04-13 Christian Franke <franke@computer.org>
43788
43789 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43790 to create a floppy emulation boot CD when non emulation mode
43791 does not work.
43792 Enable Joliet CD filesystem extension.
43793
9fe86034 437942008-04-13 Robert Millan <rmh@aybabtu.com>
43795
43796 * kern/misc.c (grub_strncat): Fix off-by-one error.
43797 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43798
43799 * kern/env.c (grub_env_context_close): Clear current context, not
43800 previous one.
43801 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
43802
43803 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
43804
7ceeee39 438052008-04-13 Robert Millan <rmh@aybabtu.com>
43806
43807 Improve robustness when handling LVM.
43808
43809 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 43810 (and leave `*p' unmodified).
7ceeee39 43811 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
43812 through it.
43813 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43814 iterating through it.
43815 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43816 through it.
fe6b695a 43817 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 43818 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43819 Don't assume `vg->pvs != NULL' when iterating through it.
43820
58cd3d85 438212008-04-13 Robert Millan <rmh@aybabtu.com>
43822
43823 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43824 * genmk.rb (partmap): New variable.
43825 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43826 (#{partmap}): New target rule.
43827 * genpartmaplist.sh: New file.
43828 * Makefile.in (pkglib_DATA): Add partmap.lst.
43829 (partmap.lst): New target rule.
43830 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
43831 modules (including all partition maps), instead of preloading them.
43832
78b51059 438332007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
43834
43835 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
43836 `linux-boot-prober' (if installed) to detect other operating
43837 systems which are installed on the computer and add them to
43838 the boot menu.
43839 * conf/common.rmk: Build and install 30_os-prober.
43840
a91627b4 438412008-04-12 Robert Millan <rmh@aybabtu.com>
43842
43843 * kern/powerpc/ieee1275/init.c: Move from here ...
43844 * kern/ieee1275/init.c: ... to here. Update all users.
43845
43846 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43847 * kern/ieee1275/cmain.c: ... to here. Update all users.
43848
43849 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43850 * kern/ieee1275/openfw.c: ... to here. Update all users.
43851
43852 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43853 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43854
322562ea 438552008-04-10 Pavel Roskin <proski@gnu.org>
43856
43857 * configure.ac: Always use "_cv_" in cache variables for
43858 compatibility with Autoconf 2.62.
43859
a02a73c5 438602008-04-07 Robert Millan <rmh@aybabtu.com>
43861
43862 Revert grub/machine/init.h addition by Pavel (since it breaks on
43863 i386-ieee1275 and others):
43864 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43865 * util/powerpc/ieee1275/misc.c: Likewise.
43866
25c024b1 438672008-04-07 Robert Millan <rmh@aybabtu.com>
43868
43869 * util/grub-probe.c (probe): Improve error message.
43870
3cbd2f98 438712008-04-07 Robert Millan <rmh@aybabtu.com>
43872
43873 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43874 (this prevents the presence of a bogus entry from ruining the whole
43875 thing).
43876
87a297bf 438772008-04-06 Pavel Roskin <proski@gnu.org>
43878
36747a62 43879 * util/biosdisk.c: Include grub/util/biosdisk.h.
43880 * util/grub-fstest.c (execute_command): Make static.
43881 * util/grub-mkdevicemap.c (check_device): Likewise.
43882 * util/i386/pc/misc.c: Include grub/machine/init.h.
43883 * util/powerpc/ieee1275/misc.c: Likewise.
43884 * util/lvm.c: Include grub/util/lvm.h.
43885 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43886 grub/cache.h.
43887 * util/raid.c: Include grub/util/raid.h.
43888 (grub_util_getdiskname): Make static.
43889
87a297bf 43890 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
43891 grub_hostfs_fini(), as they are called from grub_init_all() and
43892 grub_fini_all() respectively. This fixes an infinite loop in
43893 grub-fstest due to double registration of hostfs.
43894 Reported by Christian Franke <Christian.Franke@t-online.de>
43895
f6ce7629 438962008-04-05 Pavel Roskin <proski@gnu.org>
43897
43898 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43899 all 8 functions. Otherwise, probe function 0 only.
43900
070e49e4 439012008-04-04 Pavel Roskin <proski@gnu.org>
43902
8b088a4c 43903 * commands/lspci.c (grub_lspci_iter): Print the bus number
43904 correctly.
43905
4f657021 43906 * commands/lspci.c (grub_pci_classes): Fix typos.
43907 (grub_lspci_iter): Don't print func twice. Print vendor ID
43908 before device ID, as it's normally done.
43909
070e49e4 43910 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43911 Fix signedness warnings.
43912 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43913 Likewise.
43914 * util/ieee1275/get_disk_name.c: Include config.h so that
43915 _GNU_SOURCE is defined and getline() is declared. Mark an
43916 unused argument as such. Fix a signedness warning.
43917
ba7328dc 439182008-04-02 Pavel Roskin <proski@gnu.org>
43919
26887f22 43920 * genkernsyms.sh.in: Use more robust assignments for CC and
43921 srcdir. Quote srcdir.
43922 * gensymlist.sh.in: Likewise. Assert at the compile time that
43923 the symbol table is not empty.
43924
ba7328dc 43925 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43926 * fs/cpio.c (grub_cpio_read): Likewise.
43927
0f582c6b 439282008-04-01 Pavel Roskin <proski@gnu.org>
43929
4b6e1995 43930 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43931 * disk/host.c (grub_host_open): Likewise.
43932 * disk/loopback.c (grub_loopback_open): Likewise.
43933 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43934 disk->id as in disk/host.c, not a multi-character constant.
43935
828a2768 43936 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43937 later is obsolete, potentially dangerous and sets a bad example.
43938 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43939 * util/misc.c (grub_util_get_image_size): Likewise.
43940
2bb4fb47 43941 * disk/loopback.c (options): Improve help for "--partitions".
43942
0f582c6b 43943 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43944 options to align them with the short options, e.g. "echo -e".
43945
a33224e0 439462008-03-31 Bean <bean123ch@gmail.com>
43947
43948 * video/reader/png.c (grub_png_data): New member is_16bit and
43949 image_data.
43950 (grub_png_decode_image_header): Detect 16 bit png image.
43951 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43952 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43953 (grub_video_reader_png): Release memory occupied by image_data.
43954
43955 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43956 4096 bytes.
43957 (grub_nfs_mount): Skip the test for sector per cluster.
43958
43959 * include/grub/ntfs.h (MAX_SPC): Removed.
43960
86cb4f54 439612008-03-31 Bean <bean123ch@gmail.com>
43962
43963 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43964 (grub_probe_SOURCES): Add fs/afs.c.
43965 (grub_fstest_SOURCES): Likewise.
43966 (afs_mod_SOURCES): New variable.
43967 (afs_mod_CFLAGS): Likewise.
43968 (afs_mod_LDFLAGS): Likewise.
43969
43970 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43971 (grub_emu_SOURCES): Likewise.
43972
43973 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43974
43975 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43976
43977 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43978
43979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43980
43981 * fs/afs.c: New file.
43982
17c74c21 439832008-03-30 Pavel Roskin <proski@gnu.org>
43984
4cb68e89 43985 * disk/host.c: Include grub/misc.h to fix a warning.
43986 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43987 warnings about implicit declarations.
43988
8790bb04 43989 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43990 variable.
43991 * include/grub/i386/loader.h: Change declaration of
43992 grub_linux_boot() to match what grub_loader_set() expects.
43993 * util/getroot.c (grub_guess_root_device): Return const char* to
43994 fix a warning.
43995 * util/grub-probe.c (probe): Fix a warning about uninitialized
43996 abstraction_name variable.
43997 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43998 second argument as unused to fix a warning.
43999
9a3f3296 44000 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
44001 missing grub_error() call.
44002
0ecef90d 44003 * util/update-grub_lib.in: Define datarootdir, since Autoconf
44004 2.60 and newer uses it to define datadir.
44005
0bf6d401 44006 * commands/sleep.c: Fix warning about implicit declaration.
44007 * disk/memdisk.c: Likewise.
44008 * loader/aout.c: Likewise.
44009 * loader/i386/bsd_normal.c: Likewise.
44010 * util/grub-probe.c: Likewise.
44011
7cdacf97 44012 * commands/i386/cpuid.c (has_longmode): Make static.
44013 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
44014 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
44015
17c74c21 44016 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
44017 GDT. This is more robust, as %ds can change.
44018 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
44019 calling real_to_prot().
44020 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
44021
80a3e68b 440222008-03-28 Pavel Roskin <proski@gnu.org>
44023
44024 * kern/i386/pc/startup.S: Assert that uncompressed functions
44025 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
44026 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
44027 code, as they push parts of the code (error handlers) beyond
44028 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
44029 code as correctness and size.
44030
77bcd272 440312008-03-28 Pavel Roskin <proski@gnu.org>
44032
44033 * kern/i386/pc/startup.S
44034 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
44035 data block address to the real mode, keep offset minimal. This
44036 works around a bug in AWARD BIOS on old Athlon systems, which
44037 makes CD detection hang.
44038
c5dfd43b 440392008-03-26 Pavel Roskin <proski@gnu.org>
44040
44041 * normal/color.c (grub_parse_color_name_pair): Make `name' a
44042 const.
44043 * include/grub/normal.h: Add grub_parse_color_name_pair()
44044 declaration.
44045
bf962df2 440462008-03-24 Bean <bean123ch@gmail.com>
44047
44048 * disk/i386/pc/biosdisk.c (cd_start): Removed.
44049 (cd_count): Removed.
44050 (cd_drive): New variable.
44051 (grub_biosdisk_get_drive): Don't check for (cdN) device.
44052 (grub_biosdisk_call_hook): Likewise.
44053 (grub_biosdisk_iterate): Change cdrom detection method.
44054 (grub_biosdisk_open): Replace cd_start with cd_drive.
44055 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
44056 detect cdrom device.
44057
44058 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
44059 Removed.
44060 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
44061 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
44062 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
44063 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
44064 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
44065 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
44066 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
44067 (grub_biosdisk_cdrp): New structure.
44068 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
44069
44070 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
44071
44072 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
44073 device.
44074
44075 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
44076 New function.
44077
68e7fc7a 440782008-03-20 Robert Millan <rmh@aybabtu.com>
44079
44080 Remove 2 TiB limit in ata.mod.
44081 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
44082 (grub_ata_dumpinfo): Print sector count with 0x%llx.
44083 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
44084 grub_uint64_t instead of grub_uint32_t.
44085
38ad2cf5 440862008-03-05 Bean <bean123ch@gmail.com>
44087
44088 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
44089 (grub_multiboot): Set boot device.
44090
44091 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
44092
2b89344e 440932008-03-02 Bean <bean123ch@gmail.com>
44094
44095 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
44096 symlink_buffer.
44097
87a95d1f 440982008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
44099
44100 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
44101 texinfo.tex.
44102
44103 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
44104 modified.
44105
44106 * docs/fdl.texi: New file.
f19dbdb7 44107
87a95d1f 44108 * docs/mdate-sh: New file. Copied from gnulib.
44109 * docs/texinfo.tex: Likewise.
44110
44111 * config.guess: Updated from gnulib.
44112 * install-sh: Likewise.
44113
7dc15d8e 441142008-02-28 Robert Millan <rmh@aybabtu.com>
44115
44116 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
44117 (aout_mod_SOURCES): New variable.
44118 (aout_mod_CFLAGS): Likewise.
44119 (aout_mod_LDFLAGS): Likewise.
44120
44121 * conf/i386-ieee1275.rmk: Likewise.
44122
b00ab696 441232008-02-28 Robert Millan <rmh@aybabtu.com>
44124
44125 * util/update-grub.in: Reorganise terminal validity check. Accept
44126 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
44127 Based on suggestion by Franklin PIAT.
44128
79ca2d78 441292008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
44130
44131 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
44132 function.
44133 * util/getroot.c (grub_util_check_block_device): New function that
44134 returns the given argument if it is a block device and returns NULL else.
44135 * util/grub-probe.c (argument_is_device): New variable.
44136 (probe): Promote device_name from a variable to an argument. Receive
44137 device_name from grub_util_check_block_device() if path is NULL and from
44138 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 44139 (options): Introduce new parameter '-d, --device'.
79ca2d78 44140 (main): Add description of the new parameter to the help screen.
44141 Rename path variable to argument. Set argument_is_device if the '-d'
44142 option is given. Pass argument to probe() depending on
44143 argument_is_device.
44144
0d16e571 441452008-02-24 Bean <bean123ch@gmail.com>
44146
44147 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
44148 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
44149 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
44150 (GRUB_ISO9660_VOLDESC_PART): Likewise.
44151 (GRUB_ISO9660_VOLDESC_END): Likewise.
44152 (grub_iso9660_primary_voldesc): New member escape.
44153 (grub_iso9660_data): New member joliet.
44154 (grub_iso9660_convert_string): New function.
44155 (grub_iso9660_mount): Detect joliet extension.
44156 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
44157 (grub_iso9660_iso9660_label): Likewise.
44158
44159 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
44160 (grub_setup_SOURCES): Add fs/udf.c.
44161 (grub_fstest_SOURCES): Likewise.
44162 (udf_mod_SOURCES): New variable.
44163 (udf_mod_CFLAGS): Likewise.
44164 (udf_mod_LDFLAGS): Likewise.
44165
44166 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
44167 (grub_emu_SOURCES): Likewise.
44168
44169 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44170
44171 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44172
44173 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44174
44175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44176
44177 * fs/udf.c: New file.
44178
8a594a17 441792008-02-24 Robert Millan <rmh@aybabtu.com>
44180
44181 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
44182 (normal/lexer.c_DEPENDENCIES): New variables.
44183 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44184 (normal/lexer.c_DEPENDENCIES): Likewise.
44185 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
44186 (normal/lexer.c_DEPENDENCIES): Likewise.
44187 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
44188 (normal/lexer.c_DEPENDENCIES): Likewise.
44189 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44190 (normal/lexer.c_DEPENDENCIES): Likewise.
44191 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44192 (normal/lexer.c_DEPENDENCIES): Likewise.
44193
2dc33c03 441942008-02-23 Robert Millan <rmh@aybabtu.com>
44195
44196 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
44197 since they were intended to be in hex. This didn't break previously
44198 because of a bug in gpt_partition_map_iterate() (see below).
44199
44200 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
44201 when checking the validity of GPT header.
44202 Remove `partno', since it always provides the same information as `i'.
44203
f6f4cfb0 442042008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
44205
44206 * include/grub/efi/time.h: Fix a wrong comment.
44207
79ff665f 442082008-02-19 Pavel Roskin <proski@gnu.org>
44209
44210 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
44211 message.
44212
d38e24c2 442132008-02-19 Bean <bean123ch@gmail.com>
44214
44215 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
44216 (aout_mod_SOURCES): New variable.
44217 (aout_mod_CFLAGS): Likewise.
44218 (aout_mod_LDFLAGS): Likewise.
44219 (_bsd_mod_SOURCES): New variable.
44220 (_bsd_mod_CFLAGS): Likewise.
44221 (_bsd_mod_LDFLAGS): Likewise.
44222 (bsd_mod_SOURCES): New variable.
44223 (bsd_mod_CFLAGS): Likewise.
44224 (bsd_mod_LDFLAGS): Likewise.
44225
44226 * include/grub/aout.h: New file.
44227
44228 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
44229
44230 * include/grub/i386/bsd.h: New file.
44231
44232 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
44233 to make it public.
44234
44235 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
44236 function is called, so that it's possible to change it inside the hook.
44237 (grub_elf64_load): Likewise.
44238 (grub_elf_file): Don't close the file if elf header is not found.
44239 (grub_elf_close): Close the file if grub_elf_file fails (The new
44240 grub_elf_file won't close it).
44241 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
44242 (grub_elf64_size): Likewise.
44243
44244 * kern/i386/loader.S (grub_unix_real_boot): New function.
44245
44246 * loader/aout.c: New file.
44247
44248 * loader/i386/bsd.c: New file.
44249
44250 * loader/i386/bsd_normal.c: New file.
44251
44252 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
44253
44254 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 44255 can test other formats.
d38e24c2 44256
b93bdb0f 442572008-02-19 Robert Millan <rmh@aybabtu.com>
44258
44259 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
44260 (grub_gpt_partition_type_empty): Redefine with macro from
44261 `<grub/gpt_partition.h>'.
44262 (gpt_partition_map_iterate): Adjust partition type comparison.
44263
44264 Export `entry' as partmap-specific `part.data' struct.
44265 (grub_gpt_header, grub_gpt_partentry): Move from here ...
44266
44267 * include/grub/gpt_partition.h (grub_gpt_header)
44268 (grub_gpt_partentry): ... to here (new file).
44269
44270 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
44271
44272 (grub_gpt_partition_type_bios_boot): New const variable, defined
44273 with macro from `<grub/gpt_partition.h>'.
44274
44275 (setup): Replace `first_start' with `embed_region', which keeps
44276 track of the embed region (and is partmap-agnostic).
44277
44278 Replace find_first_partition_start() with find_usable_region(),
44279 which finds a usable region for embedding using partmap-specific
44280 knowledge (supports PC/MSDOS and GPT).
44281
44282 Fix all assumptions that the embed region start at sector 1, using
44283 `embed_region.start' from now on. Similarly, use `embed_region.end'
44284 rather than `first_start' to calculate available size.
44285
44286 In grub_util_info() message, replace "into after the MBR" with an
44287 indication of the specific sector our embed region starts at.
44288
66cb40f6 442892008-02-19 Robert Millan <rmh@aybabtu.com>
44290
44291 * DISTLIST: Replace `commands/ieee1275/halt.c' and
44292 `commands/ieee1275/reboot.c' with `commands/halt.c' and
44293 `commands/reboot.c'.
44294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44295 (halt_mod_SOURCES): Likewise.
44296 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44297 (halt_mod_SOURCES): Likewise.
44298
b7202015 442992008-02-17 Christian Franke <franke@computer.org>
44300
44301 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
44302
32b0fc49 443032008-02-17 Robert Millan <rmh@aybabtu.com>
44304
44305 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44306 set `first_start' to 0 for non-PC/MSDOS partition maps.
44307
aca63502 443082008-02-16 Robert Millan <rmh@aybabtu.com>
44309
44310 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44311 do not assume partition map is PC/MSDOS before performing checks that
44312 are specific to that layout.
44313
0de8be86 443142008-02-13 Robert Millan <rmh@aybabtu.com>
44315
44316 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
44317 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
44318 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
44319
c3db8364 443202008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
44321
44322 * configure.ac: Only a cosmetic change on the handling of
44323 -fno-stack-protector.
44324
f714229e 443252008-02-12 Alexandre Boeglin <alex@boeglin.org>
44326
c3db8364 44327 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
44328 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
44329 reboot.c.
f714229e 44330 (grub_install_SOURCES): Add halt.mod and reboot.mod.
44331 (halt_mod_SOURCES): New variable.
44332 (halt_mod_CFLAGS): Likewise.
44333 (halt_mod_LDFLAGS): Likewise.
44334 (reboot_mod_SOURCES): Likewise.
44335 (reboot_mod_CFLAGS): Likewise.
44336 (reboot_mod_LDFLAGS): Likewise.
44337
c3db8364 44338 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
44339 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
44340 reboot.c.
f714229e 44341 (halt_mod_SOURCES): Likewise.
44342 (reboot_mod_SOURCES): Likewise.
44343
c3db8364 44344 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
44345 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 44346 (reboot_mod_SOURCES): Likewise.
44347
44348 * commands/i386/pc/reboot.c: merge this file ...
44349
44350 * commands/ieee1275/reboot.c: ... and this file ...
44351
44352 * commands/reboot.c: ... to this file.
c3db8364 44353 Add some precompiler directive to include the correct header for
44354 each machine.
f714229e 44355
44356 * commands/ieee1275/halt.c: move this file ...
44357
44358 * commands/halt.c: ... to here.
c3db8364 44359 Add some precompiler directive to include the correct header for
44360 each machine.
f714229e 44361
44362 * include/grub/efi/efi.h (grub_reboot): New function declaration.
44363 (grub_halt): Likewise.
44364
44365 * kern/efi/efi.c (grub_reboot): New function.
44366 (grub_halt): Likewise.
44367
c74493e0 443682008-02-12 Robert Millan <rmh@aybabtu.com>
44369
44370 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
44371 /dev (like it is done for /dev/mapper). This doesn't provide support
44372 for EVMS, but at least it is now easy to identify the problem when it
44373 arises.
44374
d0db4b04 443752008-02-11 Robert Millan <rmh@aybabtu.com>
44376
44377 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
44378 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
44379 comparing it with -1, not 0.
44380
bf748642 443812008-02-10 Robert Millan <rmh@aybabtu.com>
44382
44383 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
44384 `disk/lvm.c'.
44385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44386 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
44387
44388 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
44389 `disk/lvm.c' to the end of the list.
44390 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44391 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44392
b5db202a 443932008-02-10 Robert Millan <rmh@aybabtu.com>
44394
44395 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
44396 grub_print_error() instead. This will let user know why we're entering
44397 rescue mode.
44398 Based on suggestions from Sam Morris.
44399
83abee31 444002008-02-10 Alexandre Boeglin <alex@boeglin.org>
44401
44402 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
44403 on remaining N args, instead of "--" arg N times.
44404
78d5a08b 444052008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
44406
44407 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
44408 (fill_with_default_glyph): Changed to use unknown_glyph for fill
44409 pattern for unknown glyphs.
44410
68807e5f 444112008-02-09 Robert Millan <rmh@aybabtu.com>
44412
44413 * configure.ac: Probe for `help2man'.
44414 * Makefile.in (builddir): New variable.
44415 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
44416 or otherwise add a few flags/options to it.
44417 (install-local): For every executable utility or script that is
44418 installed, invoke $(HELP2MAN) to install a manpage based on --help
44419 output.
44420
44421 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
44422 that it doesn't prevent --help from working in build tree.
44423
44424 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
44425 with `bug-grub@gnu.org'.
44426 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
44427 * util/update-grub.in (usage): New function.
44428 Implement proper argument check, with support for --help and --version
44429 (as well as existing -y).
44430
444312008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 44432
44433 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
44434 avoid overwriting previous output.
44435 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
44436
c1962162 444372008-02-09 Robert Millan <rmh@aybabtu.com>
44438
44439 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
44440 drawing the menu.
44441
3dac2e3f 444422008-02-09 Robert Millan <rmh@aybabtu.com>
44443
44444 * commands/sleep.c: New file.
44445 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
44446 (sleep_mod_SOURCES): New variable.
44447 (sleep_mod_CFLAGS): Likewise.
44448 (sleep_mod_LDFLAGS): Likewise.
44449
7a634e08 444502008-02-09 Robert Millan <rmh@aybabtu.com>
44451
44452 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
44453 situations in which we can deduce the RAID size and the superblock
44454 doesn't match it.
44455
b92f0c18 444562008-02-09 Robert Millan <rmh@aybabtu.com>
44457
44458 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
44459 and return a grub_diskmemberlist_t composed of LVM physical volumes.
44460 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
44461
44462 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
44463 and return a grub_diskmemberlist_t composed of physical array members.
44464 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
44465
44466 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
44467 prototype.
44468 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
44469 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
44470 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
44471
44472 * util/grub-probe.c (probe): Move partmap probing code from here ...
44473 (probe_partmap): ... to here.
44474 (probe): Use probe_partmap() once for the disk we're probing, and
44475 additionally, when such disk contains a memberlist() struct member,
44476 once for each disk that is contained in the structure returned by
44477 memberlist().
44478
91a4bf68 444792008-02-09 Robert Millan <rmh@aybabtu.com>
44480
44481 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
44482 environment variable to 'all' in order to obtain debug output from
44483 non-util/ code.
44484 * util/i386/pc/grub-setup.c (main): Likewise.
44485
a96f9caa 444862008-02-08 Robert Millan <rmh@aybabtu.com>
44487
44488 * disk/raid.c (grub_raid_scan_device): Check for
44489 `array->device[sb.this_disk.number]' rather than for
44490 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 44491 guaranteed to be accessible.
a96f9caa 44492
b37a9222 444932008-02-08 Robert Millan <rmh@aybabtu.com>
44494
44495 * disk/raid.c: Update copyright.
44496 * fs/cpio.c: Likewise.
44497 * include/grub/raid.h: Likewise.
44498 * loader/i386/pc/multiboot.c: Likewise.
44499 * util/hostfs.c: Likewise.
44500
5626aee1 445012008-02-08 Robert Millan <rmh@aybabtu.com>
44502
44503 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
44504 to a grub_disk_t array.
44505 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
44506 `device[x]'.
44507 (grub_raid_scan_device): Replace `device[x].name' accesses with
44508 `device[x]->name'. Simplify initialization of `array->device[x]'.
44509
554f0187 445102008-02-08 Robert Millan <rmh@aybabtu.com>
44511
44512 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
44513 grub_dprintf() calls.
44514 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
44515 error message.
44516
1ec8425d 445172008-02-07 Christian Franke <franke@computer.org>
44518
44519 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
44520 instead of fseek and ftell to support large files.
44521 (grub_hostfs_read): Likewise.
44522
f2156fda 445232008-02-07 Robert Millan <rmh@aybabtu.com>
44524
44525 Patch from Jeroen Dekkers.
44526 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 44527 failure, since successfully reading all array members might not be
f2156fda 44528 required.
44529
9216e0e7 445302008-02-06 Robert Millan <rmh@aybabtu.com>
44531
44532 * util/grub-probe.c (probe): Simplify partmap probing (with the
44533 assumption that the first word up to the underscore equals to
44534 the module name).
44535
b0dfd29a 445362008-02-06 Christian Franke <franke@computer.org>
44537
44538 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
44539 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
44540 last block of a cpio or tar stream.
44541 Check for "TRAILER!!!" instead of any empty data
44542 block to detect last block of a cpio stream.
44543 (grub_cpio_dir): Fix constness of variable np.
44544 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
44545 cpio or tar trailer is detected. This fixes a crash
44546 on open of a non existing file.
44547
c32865bf 445482008-02-05 Bean <bean123ch@gmail.com>
44549
44550 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
44551 address of entry.
44552 (grub_multiboot_load_elf64): Likewise.
44553 (grub_multiboot): Initialize mbi structure.
44554
44555 * util/grub-fstest.c: Don't include unused header file script.h.
44556
fe6b695a 44557 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 44558 of file.
44559 (grub_fstest_SOURCES): Likewise.
44560
409480b7 445612008-02-05 Robert Millan <rmh@aybabtu.com>
44562
44563 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
44564 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
44565 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
44566 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
44567
44568 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
44569 (translation_table): Replace hardcoded values with macros
44570 provided by `<grub/term.h>'.
44571
44572 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
44573 (keyboard_map): Correct/add a few values, with macros provided
44574 by `<grub/term.h>'.
44575 (keyboard_map_shift): Zero values that don't differ from their
44576 `keyboard_map' equivalents.
44577 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
44578 Discard the second scan code that is always sent by Caps lock.
44579 Only use `keyboard_map_shift' when it provides a non-zero value,
44580 otherwise fallback to `keyboard_map'.
44581
99fadbaa 445822008-02-04 Bean <bean123ch@gmail.com>
44583
44584 * Makefile.in (enable_grub_fstest): New variable.
44585
44586 * conf/common.rmk (grub_fstest_init.lst): New rule.
44587 (grub_fstest_init.h): Likewise.
44588 (grub_fstest_init.c): Likewise.
44589 (util/grub-fstest.c_DEPENDENCIES): New variable.
44590 (grub_fstest_SOURCES): Likewise.
44591
44592 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
44593
44594 * util/grub-fstest.c: New file.
44595
bf567c50 445962008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44597
44598 Make grub-setup handle a separate root device.
f19dbdb7 44599
bf567c50 44600 * util/i386/pc/grub-setup.c (setup): Always open the root device,
44601 so that the root device can be compared with the destination
44602 device.
44603 When embedding the core image, if the root and destination devices
44604 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
44605 0xFF.
44606 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 44607
9be6b98b 446082008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44609
44610 Add support for having a grub directory in a different drive. This
44611 is still only the data handling part.
f19dbdb7 44612
9be6b98b 44613 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
44614 (codestart): Save %dh in GRUB_ROOT_DRIVE.
44615 (grub_root_drive): New variable.
44616
44617 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
44618 instead of GRUB_BOOT_DRIVE to construct a device name. Set
44619 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
44620 as it was.
44621
44622 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
44623
44624 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
44625 macro.
44626 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
44627
44628 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
44629 is bogus, because PXE booting does not specify any drive
44630 correctly.
44631
44632 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
44633 am not sure if this is really correct.
44634
44635 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
44636 is always identical to the boot drive when booting from a CD.
44637
44638 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
44639 longer.
44640 (root_drive): New variable.
44641 (real_start): Unconditionally set %dh to ROOT_DRIVE.
44642 (setup_sectors): Push %dx right after popping it, because %dh will
44643 be modified later.
44644 (copy_buffer): Restore %dx.
44645
e0ca0677 446462008-02-03 Robert Millan <rmh@aybabtu.com>
44647
44648 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
44649 use `cdboot.img' for cdrom images.
44650
3b3f6629 446512008-02-03 Robert Millan <rmh@aybabtu.com>
44652
44653 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
44654 only setup gfxterm when `font' command has succeeded.
44655
d42b3672 446562008-02-03 Robert Millan <rmh@aybabtu.com>
44657
44658 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
44659 (grub_rescue_cmd_multiboot_loader)
44660 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
44661
fa370ea6 446622008-02-03 Pavel Roskin <proski@gnu.org>
44663
e0c5dacb 44664 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 44665 %edx and %esi from stack only after grub_gate_a20() is called.
44666 grub_gate_a20() clobbers %edx.
44667
f2a76e1d 446682008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44669
44670 * configure.ac (AC_INIT): Bumped to 1.96.
44671
44672 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44673 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44674 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44675 video/readers/png.c.
44676
90fd32d1 446772008-02-03 Bean <bean123ch@gmail.com>
9be665dd 44678
44679 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44680 (cdboot_img_SOURCES): New variable.
44681 (cdboot_img_ASFLAGS): New variable.
44682 (cdboot_img_LDFLAGS): New variable.
44683
44684 * boot/i386/pc/cdboot.S: New file.
44685
44686 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44687 (cd_count): Likewise.
44688 (grub_biosdisk_get_drive): Add support for cd device.
44689 (grub_biosdisk_call_hook): Likewise.
44690 (grub_biosdisk_iterate): Likewise.
44691 (grub_biosdisk_open): Likewise.
44692 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44693 (grub_biosdisk_rw): Support reading from cd device.
44694 (GRUB_MOD_INIT): Iterate cd devices.
44695
44696 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44697 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44698 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44699
44700 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44701
4020aa53 447022008-02-02 Robert Millan <rmh@aybabtu.com>
44703
44704 * commands/read.c: New file.
44705 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44706 (read_mod_SOURCES): New variable.
44707 (read_mod_CFLAGS): Likewise.
44708 (read_mod_LDFLAGS): Likewise.
44709
e03a1132 447102008-02-02 Robert Millan <rmh@aybabtu.com>
44711
44712 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44713 determining whether menu has to be displayed.
44714
58c69220 447152008-02-02 Marco Gerards <marco@gnu.org>
44716
44717 * bus/pci.c: New file.
44718
44719 * include/grub/pci.h: Likewise.
44720
44721 * include/grub/i386/pc/pci.h: Likewise.
44722
44723 * commands/lspci.c: Likewise.
44724
44725 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44726 `lspci.mod'.
44727 (pci_mod_SOURCES): New variable.
44728 (pci_mod_CFLAGS): Likewise.
44729 (pci_mod_LDFLAGS): Likewise.
44730 (lspci_mod_SOURCES): Likewise.
44731 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 44732 (lspci_mod_LDFLAGS): Likewise.
58c69220 44733
c004e1b4 447342008-02-02 Bean <bean123ch@gmail.com>
44735
44736 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44737 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44738
44739 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44740 (grub_xfs_btree_node): New structure.
44741 (grub_xfs_btree_root): New structure.
44742 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44743 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44744 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44745 (GRUB_XFS_EXTENT_SIZE): Likewise.
44746 (grub_xfs_read_block): Support btree format type.
44747 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44748 Use directory block as basic unit.
44749
44750 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44751
44752 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44753 __attribute__ ((__regparm__ (1))).
44754
f95562bf 447552008-02-01 Robert Millan <rmh@aybabtu.com>
44756
44757 Correct a mistake in previous commit.
44758
44759 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44760 top.
44761 (normal/command.c_DEPENDENCIES): New variable.
44762
7d31f41f 447632008-02-01 Robert Millan <rmh@aybabtu.com>
44764
44765 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44766 top.
44767 (normal/command.c_DEPENDENCIES): New variable.
44768 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44769 * conf/i386-ieee1275.rmk: Likewise.
44770 * conf/i386-linuxbios.rmk: Likewise.
44771 * conf/i386-pc.rmk: Likewise.
44772 * conf/sparc64-ieee1275.rmk: Likewise.
44773 * conf/powerpc-ieee1275.rmk: Likewise.
44774 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44775
44776 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44777
60b6be74 447782008-02-01 Robert Millan <rmh@aybabtu.com>
44779
44780 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44781 call at beginning of function.
44782
078522ab 447832008-01-31 Pavel Roskin <proski@gnu.org>
44784
44785 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 44786 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44787 (grub_mkrescue_SOURCES): Likewise.
078522ab 44788 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44789
ccaa8a5f 447902008-01-30 Robert Millan <rmh@aybabtu.com>
44791
44792 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44793 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44794 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44795 (grub_probe_SOURCES): ... to here.
44796
44797 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44798 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44799 * conf/i386-ieee1275.rmk: Likewise.
44800 * conf/i386-linuxbios.rmk: Likewise.
44801 * conf/powerpc-ieee1275.rmk: Likewise.
44802
ae5a9cd7 448032008-01-30 Tristan Gingold <gingold@free.fr>
44804
44805 * kern/rescue.c: Silently accept empty lines.
44806
70bc2ef2 448072008-01-29 Bean <bean123ch@gmail.com>
44808
44809 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
44810 (real_code_2): Code cleanup and change comment style.
44811 (move_memory): Avoid using 32-bit address mode.
44812
6a4d50ea 448132008-01-29 Bean <bean123ch@gmail.com>
44814
44815 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44816 (png_mod_SOURCES): New variable.
44817 (png_mod_CFLAGS): Likewise.
44818 (png_mod_LDFLAGS): Likewise.
44819
44820 * video/readers/png.c: New file.
44821
11cc30ac 448222008-01-28 Robert Millan <rmh@aybabtu.com>
44823
44824 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44825 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44826 `ifndef GRUB_MOD_GAP' hack.
44827 * util/elf/grub-mkimage.c (add_segments): Likewise.
44828
3abc589f 448292008-01-27 Robert Millan <rmh@aybabtu.com>
44830
44831 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
44832 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 44833 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 44834
e1907778 448352008-01-27 Robert Millan <rmh@aybabtu.com>
44836
44837 Get grub-emu to build again (including parallel builds).
44838
44839 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
44840 Split into ...
44841 (util/grub-emu.c_DEPENDENCIES): ... this, ...
44842 (normal/execute.c_DEPENDENCIES): ... this, ...
44843 (grub-emu_DEPENDENCIES): ... and this.
44844
44845 * conf/i386-efi.rmk: Likewise.
44846 * conf/i386-linuxbios.rmk: Likewise.
44847 * conf/i386-ieee1275.rmk: Likewise.
44848 * conf/powerpc-ieee1275.rmk: Likewise.
44849 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44850
2216b101 448512008-01-27 Robert Millan <rmh@aybabtu.com>
44852
44853 * NEWS: Add a few items.
44854
f75172d9 448552008-01-27 Robert Millan <rmh@aybabtu.com>
44856
44857 Fix parallel builds with grub-emu. Based on earlier commit for
44858 grub-probe and grub-setup.
44859
44860 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44861 (util/grub-emu.c_DEPENDENCIES): ... this.
44862 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44863 (util/grub-emu.c_DEPENDENCIES): ... this.
44864 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44865 (util/grub-emu.c_DEPENDENCIES): ... this.
44866 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44867 (util/grub-emu.c_DEPENDENCIES): ... this.
44868 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44869 (util/grub-emu.c_DEPENDENCIES): ... this.
44870
3f51de77 448712008-01-27 Pavel Roskin <proski@gnu.org>
44872
44873 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44874 to create a gap between _end and the modules added to the image
44875 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44876 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44877 * util/elf/grub-mkimage.c (add_segments): Likewise.
44878
2033f53e 448792008-01-26 Pavel Roskin <proski@gnu.org>
44880
44881 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44882 just return an error.
44883
22da1f6f 448842008-01-26 Bean <bean123ch@gmail.com>
44885
44886 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44887 (grub_reiserfs_get_item): Save offset of the next item.
44888 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44889
2a9525e6 448902008-01-25 Robert Millan <rmh@aybabtu.com>
44891
44892 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44893 make all filesystem sources appear together (possibly fixing omissions
44894 while at it).
44895 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44896 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44897 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44899
44900 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44901 add `kern/file.c'.
44902 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44903 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44904 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44905 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44906
44907 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44908 (probe): Add a sanity check to make sure of our ability to read
44909 requested files when probing for filesystem type.
44910
44911 * genmk.rb: Update copyright year (2007).
44912
44913 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44914 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44915 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44916 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44917 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44918 : Remove function prototypes.
44919
b95f71b5 449202008-01-25 Robert Millan <rmh@aybabtu.com>
44921
44922 Revert my previous commits (based on wrong assumption of how grub_errno
44923 works).
44924
fe6b695a 44925 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 44926 * kern/file.c (grub_file_open): Likewise.
44927
d08bbb49 449282008-01-24 Pavel Roskin <proski@gnu.org>
44929
44930 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44931 that hang if GRUB tries to setup colors.
44932 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44933 colors for firmwares that don't support it.
44934 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44935 Recognize Open Hack'Ware, set flags to work around its
44936 limitations.
44937
605e36ed 449382008-01-24 Robert Millan <rmh@aybabtu.com>
44939
44940 * kern/file.c (grub_file_open): Do not account previous failures of
44941 unrelated functions when grub_errno is checked for.
44942 Reported by Oleg Strikov.
44943
bac332a1 449442008-01-24 Bean <bean123ch@gmail.com>
44945
44946 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44947 (grub_ufs_sblock): New member volume name.
44948 (grub_ufs_find_file): Fix string copy bug.
44949 (grub_ufs_label): Implement this function properly.
44950
44951 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44952 (grub_hfs_iterate_records): Use the correct file number for extents
44953 and catalog file. Fix problem in next index calculation.
44954 (grub_hfs_find_node): Replace recursive function call with loop.
44955 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44956
15c80c09 449572008-01-23 Robert Millan <rmh@aybabtu.com>
44958
44959 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44960 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44961 (grub_multiboot2_real_boot): New function prototype.
44962
44963 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44964 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44965
44966 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44967 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44968
305338fd 449692008-01-23 Robert Millan <rmh@aybabtu.com>
44970
44971 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44972 #ifdef'ed out grub_printf().
44973
3ea52685 449742008-01-23 Robert Millan <rmh@aybabtu.com>
44975
44976 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44977 grub_dprintf calls, since they make "debug=all" mode unusable.
44978 (grub_console_checkkey): Likewise.
44979
5882ae4b 449802008-01-23 Robert Millan <rmh@aybabtu.com>
44981
44982 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44983 `term/i386/pc/at_keyboard.c'.
44984 (pkglib_MODULES): Add `serial.mod'.
44985 (serial_mod_SOURCES): New variable.
44986 (serial_mod_CFLAGS): Likewise.
44987 (serial_mod_LDFLAGS): Likewise.
44988
44989 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44990 `<grub/powerpc/ieee1275/console.h>'.
44991 (grub_keyboard_controller_init): New function prototype.
44992 (grub_console_checkkey): Likewise.
44993 (grub_console_getkey): Likewise.
44994
44995 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44996 keyboard on i386.
44997
44998 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44999 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
45000
06ab5303 450012008-01-23 Robert Millan <rmh@aybabtu.com>
45002
45003 * kern/i386/pc/init.c (make_install_device): When memdisk image is
45004 present, "(memdisk)/boot/grub" becomes the default prefix.
45005
45006 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
45007 a memdisk tarball with all the modules. Add --overlay=DIR option that
45008 allows users to overlay additional files into the image.
45009
dbb475a4 450102008-01-23 Robert Millan <rmh@aybabtu.com>
45011
45012 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
45013 and `machine/memory.h'.
45014 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
45015 (_multiboot_mod_SOURCES): New variable.
45016 (_multiboot_mod_CFLAGS): Likewise.
45017 (_multiboot_mod_LDFLAGS): Likewise.
45018 (multiboot_mod_SOURCES): Likewise.
45019 (multiboot_mod_CFLAGS): Likewise.
45020 (multiboot_mod_LDFLAGS): Likewise.
45021
45022 * include/grub/i386/ieee1275/loader.h: New file.
45023
45024 * include/grub/i386/ieee1275/machine.h: Likewise.
45025
45026 * include/grub/i386/ieee1275/memory.h: Likewise.
45027
45028 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
45029 variable declaration.
45030 (grub_os_area_size): Likewise.
45031
45032 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
45033 (grub_lower_mem, grub_upper_mem): New variables.
45034 (grub_stop_floppy): New function (just to make
45035 grub_multiboot2_real_boot() happy).
45036
45037 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
45038 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
45039 (grub_stop): New function.
45040 Include `"../realmode.S"' and `"../loader.S"'.
45041
45042 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
45043 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
45044
45045 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
45046 rely on grub_multiboot2_real_boot() for final boot.
45047
25638629 450482008-01-22 Robert Millan <rmh@aybabtu.com>
45049
45050 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
45051 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
45052 device that doesn't look like an SD card.
45053 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45054 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
45055 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
45056 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
45057 found.
45058
9dad816d 450592008-01-22 Robert Millan <rmh@aybabtu.com>
45060
45061 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
45062 avoid claiming over our own code.
45063
34842f2d 450642008-01-22 Bean <bean123ch@gmail.com>
45065
45066 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
45067 (jpeg_mod_SOURCES): New variable.
45068 (jpeg_mod_CFLAGS): Likewise.
45069 (jpeg_mod_LDFLAGS): Likewise.
45070
45071 * video/readers/jpeg.c : New file.
45072
44023a28 450732008-01-22 Bean <bean123ch@gmail.com>
45074
45075 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
45076 there are no more items.
45077
bc2d8ac6 450782008-01-21 Robert Millan <rmh@aybabtu.com>
45079
45080 * kern/mm.c (grub_mm_init_region): Improve debug message.
45081
261bd4bc 450822008-01-21 Robert Millan <rmh@aybabtu.com>
45083
45084 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
45085 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
45086 address.
45087 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
45088 a C macro.
45089 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
45090 Indicates start of upper memory.
45091 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
45092 (generate_image): Abort when image size is big enough to corrupt
45093 upper memory.
45094
45095 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
45096 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
45097 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45098 instead of hardcoding 0xA0000.
45099 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
45100 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45101 instead of hardcoding 0xA0000.
45102
f970b55e 451032008-01-21 Robert Millan <rmh@aybabtu.com>
45104
45105 * disk/memdisk.c (memdisk_size): New variable.
45106 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
45107 `memdisk_size'.
45108 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
45109 image to dynamic memory.
45110 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
45111 `memdisk_size'. Free memdisk block.
45112
1a8b0526 451132008-01-21 Robert Millan <rmh@aybabtu.com>
45114
45115 Fix detection of very small filesystems (like tar).
45116
45117 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
45118 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
45119 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
45120 a problem with this disk).
45121
6e9b4aab 451222008-01-21 Robert Millan <rmh@aybabtu.com>
45123
45124 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
45125 on grub_biosdisk_rw_standard() error.
45126
0d8837b2 451272008-01-21 Robert Millan <rmh@aybabtu.com>
45128
45129 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
45130 recent changes.
45131 * kern/elf.c: Likewise.
45132 * kern/ieee1275/ieee1275.c: Likewise.
45133 * kern/powerpc/ieee1275/openfw.c: Likewise.
45134 * term/ieee1275/ofconsole.c: Likewise.
45135
ffd36e34 451362008-01-21 Robert Millan <rmh@aybabtu.com>
45137
45138 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
45139
3f0093d0 45140 * include/grub/kernel.h (grub_arch_memdisk_addr)
45141 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 45142
3f0093d0 45143 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
45144 (grub_arch_memdisk_size): ... to here.
ffd36e34 45145
6c391b21 451462008-01-21 Robert Millan <rmh@aybabtu.com>
45147
45148 Mostly based on bugfix from Bean.
45149
45150 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
45151 attribute with hook() parameter.
45152 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
45153 declaration.
45154 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
45155 attribute with hook() parameter.
45156 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
45157 declaration.
45158
55a581dc 451592008-01-21 Robert Millan <rmh@aybabtu.com>
45160
45161 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
45162 (pkglib_MODULES): Add `memdisk.mod'.
45163 (memdisk_mod_SOURCES): New variable.
45164 (memdisk_mod_CFLAGS): Likewise.
45165 (memdisk_mod_LDFLAGS): Likewise.
45166
45167 * disk/memdisk.c: New file.
45168
45169 * include/grub/disk.h (grub_disk_dev_id): Add
45170 `GRUB_DISK_DEVICE_MEMDISK_ID'.
45171
45172 * include/grub/i386/pc/kernel.h
45173 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
45174 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
45175 (grub_kernel_image_size): New variable declaration.
45176 (grub_total_module_size): Likewise.
45177 (grub_memdisk_image_size): Likewise.
45178
45179 * include/grub/i386/pc/memory.h
45180 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
45181
45182 * include/grub/kernel.h: Include `<grub/symbol.h>'.
45183 (grub_arch_memdisk_addr): New variable declaration.
45184 (grub_arch_memdisk_size): Likewise.
45185
45186 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
45187 (grub_arch_memdisk_size): Likewise.
45188
45189 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
45190 (codestart): Replace hardcoded `0x100000' with
45191 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
45192
45193 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
45194 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
45195 not NULL, append the contents of the file it refers to, at the end of
45196 the compressed kernel image. Initialize `grub_memdisk_image_size'
45197 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
45198 (options): Add "memdisk"|'m' option.
45199 (main): Parse --memdisk|-m option, and pass user-provided path as
45200 parameter to generate_image().
45201
3d7f54c9 452022008-01-20 Robert Millan <rmh@aybabtu.com>
45203
45204 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
45205 grub_dprintf() calls from here ...
45206 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
45207
0bf74728 452082008-01-20 Robert Millan <rmh@aybabtu.com>
45209
45210 Fix detection of "real mode" when /options/real-mode? doesn't exist.
45211
45212 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
45213 declaration.
45214 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
45215 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
45216 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 45217 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 45218 property).
45219 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
45220 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
45221
33bf70a7 452222008-01-19 Robert Millan <rmh@aybabtu.com>
45223
fe6b695a 45224 Get rid of confusing function (superseded by
33bf70a7 45225 `grub_ieee1275_get_integer_property')
45226 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
45227 prototype.
45228 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
45229 function.
45230 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
45231 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 45232 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 45233
e2da7d26 452342008-01-19 Robert Millan <rmh@aybabtu.com>
45235
45236 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
45237 command after "shut-down", since implementations differ on which
45238 the command for halt is.
45239
59f1fd8d 452402008-01-19 Robert Millan <rmh@aybabtu.com>
45241
45242 * include/grub/i386/linuxbios/console.h: Add header protection.
45243 (grub_keyboard_controller_init): New function prototype.
45244 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
45245 (KEYBOARD_COMMAND_READ): Likewise.
45246 (KEYBOARD_COMMAND_WRITE): Likewise.
45247 (KEYBOARD_SCANCODE_SET1): Likewise.
45248 (grub_keyboard_controller_write): New function.
45249 (grub_keyboard_controller_read): Likewise.
45250 (grub_keyboard_controller_init): Likewise.
45251
45252 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
45253 (grub_console_init): On coreboot/LinuxBIOS, call
45254 grub_keyboard_controller_init().
45255
5f5a7c15 452562008-01-19 Robert Millan <rmh@aybabtu.com>
45257
45258 PowerPC changes provided by Pavel Roskin.
45259
45260 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
45261 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
45262 don't rely on cmain() doing it.
45263 * kern/i386/ieee1275/startup.S (_start): Store %eax in
45264 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
45265
1210e168 452662008-01-16 Robert Millan <rmh@aybabtu.com>
45267
45268 * include/grub/i386/linuxbios/memory.h
45269 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
45270 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
45271 receive `table_header' as argument. Instead, probe for it in the
45272 known memory ranges where it can be present.
45273 (grub_available_iterate): Do not pass a fixed `table_header' address
45274 to grub_linuxbios_table_iterate().
45275
3d04eab8 452762008-01-15 Robert Millan <rmh@aybabtu.com>
45277
45278 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
45279 * conf/i386-ieee1275.rmk: New file.
45280 * include/grub/i386/ieee1275/console.h: Likewise.
45281 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
45282 * include/grub/i386/ieee1275/kernel.h: Likewise.
45283 * include/grub/i386/ieee1275/time.h: Likewise.
45284 * kern/i386/ieee1275/init.c: Likewise.
45285 * kern/i386/ieee1275/startup.S: Likewise.
45286
d1bc1b73 452872008-01-15 Robert Millan <rmh@aybabtu.com>
45288
45289 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
45290 when pointers are 32-bit (but still do set it to one when they are
45291 64-bit).
45292
66a65807 452932008-01-15 Robert Millan <rmh@aybabtu.com>
45294
45295 * include/grub/ieee1275/ieee1275.h
45296 (grub_ieee1275_get_integer_property): New function prototype.
45297
45298 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
45299 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 45300 grub_ieee1275_get_property() to handle endianness.
66a65807 45301
45302 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
45303 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 45304 where appropriate.
66a65807 45305 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
45306 (grub_map): Likewise.
45307 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
45308
a83ccafd 453092008-01-15 Bean <bean123ch@gmail.com>
45310
45311 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
45312 (grub_script_execute_cmdline): Reset grub_errno.
45313
45314 * normal/main.c (read_config_file): Reset grub_errno.
45315
45316 * normal/parse.y (script_init): New.
45317 (script): Move function and menuentry here.
45318 (delimiter): New.
45319 (command): Add delimiter at the end of command.
45320 (commands): Adjust to match the new command.
45321 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 45322 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 45323 (if): Use the new commands.
45324
45325 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
45326
df6ecfc6 453272008-01-15 Robert Millan <rmh@aybabtu.com>
45328
45329 * normal/menu.c (run_menu): Move timeout message from here ...
45330 (print_timeout): ... to here.
45331 (run_menu): Use print_timeout() once during initial draw to print
45332 the whole message, and again in every clock tick to update only
45333 the number of seconds.
45334
87ae25eb 453352008-01-15 Robert Millan <rmh@aybabtu.com>
45336
45337 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
45338 actual size of `available' from grub_ieee1275_get_property(), and
45339 restrict parsing to that bound.
45340
47bf09a4 453412008-01-15 Christian Franke <franke@computer.org>
45342
45343 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
45344 (argp_program_version): Remove variable.
45345 (argp_program_bug_address): Likewise.
45346 (options): Convert from struct argp_option to struct option.
45347 (struct arguments): Remove.
45348 (parse_opt): Remove.
45349 (usage): New function.
45350 (main): Replace struct args members by simple variables.
45351 Replace argp_parse() by getopt_long().
45352 Add switch to evaluate options.
45353 Add missing "(...)" around root_dev in prefix string.
45354
c86f1469 453552008-01-14 Robert Millan <rmh@aybabtu.com>
45356
45357 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
45358 for grub_ieee1275_exit(), in order to improve portability.
45359
e622c559 453602008-01-14 Robert Millan <rmh@aybabtu.com>
45361
45362 * util/grub.d/10_linux.in (prefix): Define.
45363 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
45364
44cb1ec8 453652008-01-13 Pavel Roskin <proski@gnu.org>
45366
45367 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
45368 grub_errno if no errors have been detected.
45369
1eb8c802 453702008-01-12 Robert Millan <rmh@aybabtu.com>
45371
45372 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
45373 (grub_util_get_dev_abstraction): New function prototype.
45374
45375 * util/getroot.c: Include `<grub/util/getroot.h>'
45376 (grub_util_get_grub_dev): Move detection of abstraction type to ...
45377 (grub_util_get_dev_abstraction): ... here (new function).
45378
45379 * util/grub-probe.c: Convert PRINT_* to an enum. Add
45380 `PRINT_ABSTRACTION'.
45381 (probe): Probe for abstraction type when requested.
45382 (main): Understand `--target=abstraction'.
45383
45384 * util/i386/efi/grub-install.in: Add abstraction module to core
45385 image when it is found to be necessary.
45386 * util/i386/pc/grub-install.in: Likewise.
45387 * util/powerpc/ieee1275/grub-install.in: Likewise.
45388
45389 * util/update-grub_lib.in (font_path): Return system path without
45390 converting to GRUB path.
45391 * util/update-grub.in: Convert system path returned by font_path()
45392 to a GRUB path. Use `grub-probe -t abstraction' to determine what
45393 abstraction module is needed for loading fonts (if any). Export
45394 that as `GRUB_PRELOAD_MODULES'.
45395 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
45396 insmod commands).
45397
52bd3de9 453982008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
45399
45400 Remove some unused code from reiserfs.
f19dbdb7 45401
52bd3de9 45402 * fs/reiserfs.c (struct grub_reiserfs_key)
45403 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
45404 (struct grub_reiserfs_node_body): Removed.
45405 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45406 Likewise.
45407 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45408 Likewise.
45409 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45410 Likewise.
45411 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45412 Likewise.
45413 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45414 Likewise.
45415 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
45416 Likewise.
45417 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45418 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45419 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45420
2f80039d 454212008-01-10 Robert Millan <rmh@aybabtu.com>
45422
45423 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
45424 Determines if a file is garbage left by packaging systems, etc.
45425 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
45426 for processing /etc/grub.d scripts.
45427 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
45428 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
45429 as a condition for processing Linux images.
45430
87888032 454312008-01-10 Pavel Roskin <proski@gnu.org>
45432
45433 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
45434 to compile reiserfs.c on PowerPC.
45435
7e54fced 454362008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 45437
45438 * kern/device.c (grub_device_iterate): Do not abort device iteration
45439 when one of the devices cannot be opened.
45440 * kern/disk.c (grub_disk_open): Do not account previous failures of
45441 unrelated functions when grub_errno is checked for.
45442
5aa541e6 454432008-01-08 Robert Millan <rmh@aybabtu.com>
45444
45445 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
45446 `! grub_linux_is_bzimage', change order of address comparison to make
45447 it more intuitive, and improve "too big zImage" error message.
45448
7076340d 454492008-01-08 Robert Millan <rmh@aybabtu.com>
45450
45451 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
45452 `$(update-grub_DATA)'.
45453 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
45454 targets.
45455
9ca70333 454562008-01-07 Robert Millan <rmh@aybabtu.com>
45457
45458 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
45459 which instruction is modified by grub-setup during installation
45460 (since it wasn't obvious by only looking at this file).
45461
38ccf575 454622008-01-07 Robert Millan <rmh@aybabtu.com>
45463
45464 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
45465 listing actual TODO items.
45466
f5db4291 454672008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45468
868967cf 45469 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
45470 correctly.
45471 (grub_reiserfs_get_key_offset): Likewise.
45472 (grub_reiserfs_set_key_offset): Likewise.
45473 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 45474 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 45475
45476 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
45477 better to remove the bitfield version completely.
f19dbdb7 45478
868967cf 454792008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45480
f5db4291 45481 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
45482 allocated from the heap, due to the fshelp implementation.
45483 (grub_reiserfs_dir): Free NODE, due to the same reason.
45484
492e6d9d 454852008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45486
45487 Mostly from Vincent Pelletier:
f19dbdb7 45488
492e6d9d 45489 * fs/reiserfs.c: New file.
f19dbdb7 45490
492e6d9d 45491 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
45492 (reiserfs_mod_SOURCES): New variable.
45493 (reiserfs_mod_CFLAGS): Likewise.
45494 (reiserfs_mod_LDFLAGS): Likewise.
45495
45496 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
45497 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
45498 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
45499 normal/color.c.
45500
9ce3e7c1 455012008-01-06 Robert Millan <rmh@aybabtu.com>
45502
45503 * normal/color.c: Remove `<grub/env.h>'.
45504
f3b58148 455052008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
45506
45507 * include/grub/normal.h: Include <grub/env.h>.
45508
7ac3bcfa 455092008-01-05 Robert Millan <rmh@aybabtu.com>
45510
45511 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
45512 usage example with `(hd0,1)'.
fb358190 45513 Reported by Samuel Thibault.
7ac3bcfa 45514
c8ee99d7 455152008-01-05 Robert Millan <rmh@aybabtu.com>
45516
45517 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
45518 (grub_linux_boot_zimage): Rename to ...
45519 (grub_linux_boot): ... this.
45520 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
45521 (grub_linux_boot_zimage): Conditionalize zImage copy.
45522
45523 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
45524 (grub_linux_boot_bzimage): Remove prototype.
45525 (grub_linux_boot_zimage): Rename to ...
45526 (grub_linux_boot): ... this.
45527
45528 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
45529 (grub_linux_boot): Remove function.
45530
0ece25b1 455312008-01-05 Robert Millan <rmh@aybabtu.com>
45532
45533 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
45534 (grub_env_write_color_highlight): Likewise.
45535 (grub_wait_after_message): Likewise.
45536
45537 * normal/color.c: New file.
45538
45539 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45540 (normal_mod_DEPENDENCIES): Likewise.
45541
45542 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45543 (normal_mod_DEPENDENCIES): Likewise.
45544
45545 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45546 (normal_mod_DEPENDENCIES): Likewise.
45547
45548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45549 (normal_mod_DEPENDENCIES): Likewise.
45550
45551 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
45552 for waiting after a message is printed.
45553 * normal/main.c (read_config_file): Likewise.
45554 (grub_normal_init): Register grub_env_write_color_normal() and
45555 grub_env_write_color_highlight() hooks. Mark `color_normal' and
45556 `color_highlight' variables as global.
45557
45558 * normal/menu.c (grub_wait_after_message): New function.
45559 (grub_color_menu_normal): New variable. Replaces ...
45560 (GRUB_COLOR_MENU_NORMAL): ... this macro.
45561 (grub_color_menu_highlight): New variable. Replaces ...
45562 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
45563 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
45564 `GRUB_TERM_COLOR_STANDARD'.
45565 (print_message): Use `grub_setcolorstate' to reload colors. Rename
45566 `normal_code' and `highlight_code' to `old_color_normal' and
45567 `old_color_highlight', respectively.
45568 (grub_menu_init_page): Update colors when drawing the menu, based on
45569 `menu_color_normal' and `menu_color_highlight' variables.
45570 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
45571 a message is printed.
45572
182dd4e5 455732008-01-05 Robert Millan <rmh@aybabtu.com>
45574
45575 * kern/env.c (grub_env_context_open): Propagate hooks for global
45576 variables to new context.
45577
45578 * kern/main.c (grub_set_root_dev): Export `root' variable.
45579
ddf8f6ad 455802008-01-05 Robert Millan <rmh@aybabtu.com>
45581
45582 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 45583 discs unconditionally, since udev and others have options to provide
ddf8f6ad 45584 them.
45585
d8b43d9b 455862008-01-05 Robert Millan <rmh@aybabtu.com>
45587
45588 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
45589
2bff2de3 455902008-01-04 Christian Franke <franke@computer.org>
45591
45592 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
45593 of eisa_mmap.
45594
97eab917 455952008-01-03 Pavel Roskin <proski@gnu.org>
45596
45597 * kern/i386/linuxbios/init.c: Put "void" to all function
45598 declarations with no arguments.
45599 * kern/powerpc/ieee1275/init.c: Likewise.
45600 * term/i386/pc/at_keyboard.c: Likewise.
45601 * term/i386/pc/vga_text.c: Likewise.
45602 * util/grub-mkdevicemap.c: Likewise.
45603
b9416d00 456042008-01-02 Robert Millan <rmh@aybabtu.com>
45605
45606 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
45607 message when loaded image is out of bounds.
45608 (grub_multiboot_load_elf64): Likewise.
45609
92695df9 456102008-01-02 Pavel Roskin <proski@gnu.org>
45611
45612 * util/grub.d/10_linux.in: Try version without ".old" when
45613 looking for initrd. It's better to use initrd from the newer
45614 kernel of the same version than no initrd at all.
45615
d98d9cad 456162008-01-01 Robert Millan <rmh@aybabtu.com>
45617
45618 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
45619
dbfdce36 456202008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
45621
f19dbdb7 45622 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 45623 grub_video_get_active_render_target.
45624 (grub_video_adapter): Added unmap_color and get_active_render_target.
45625
f19dbdb7 45626 * video/video.c: Added grub_video_unmap_color and
dbfdce36 45627 grub_video_get_active_render_target.
45628 (grub_video_get_info): Changed method to accept NULL pointer as an
45629 argument to allow detection of active video adapter.
45630
45631 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
45632 grub_video_vbe_unmap_color_int.
45633 Added grub_video_vbe_unmap_color and
45634 grub_video_vbe_get_active_render_target.
45635 (grub_video_vbe_adapter): Added unmap_color and
45636 get_active_render_target.
45637
f19dbdb7 45638 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 45639 with grub_video_vbe_unmap_color_int.
45640
45641 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
45642 (DEFAULT_NORMAL_COLOR): Likewise.
45643 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
45644 (DEFAULT_FG_COLOR): Removed.
45645 (DEFAULT_BG_COLOR): Likewise.
45646 (DEFAULT_CURSOR_COLOR): Changed value.
45647 (grub_virtual_screen): Added standard_color_setting,
45648 normal_color_setting, highlight_color_setting and term_color.
45649 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
45650 (bitmap_width): Added.
45651 (bitmap_height): Likewise.
45652 (bitmap): Likewise.
45653 (set_term_color): Likewise.
45654 (grub_virtual_screen_setup): Changed to use new terminal coloring
45655 settings.
45656 (grub_gfxterm_init): Added init for bitmap.
45657 (grub_gfxterm_fini): Added destroy for bitmap.
45658 (redraw_screen_rect): Updated to use background bitmap and new
45659 terminal coloring.
45660 (scroll_up): Added optimization for case when there is no bitmap.
45661 (grub_gfxterm_cls): Fixed to use correct background color.
45662 (grub_virtual_screen_setcolorstate): Changed to use new terminal
45663 coloring.
45664 (grub_virtual_screen_setcolor): Likewise.
45665 (grub_virtual_screen_getcolor): Added.
45666 (grub_gfxterm_background_image_cmd): Likewise.
45667 (grub_video_term): Added setcolor and getcolor.
45668 (MOD_INIT): Added registration of background_image command.
45669 (MOD_TERM): Added unregistration for background_image command.
45670
c3c20931 456712007-12-30 Pavel Roskin <proski@gnu.org>
45672
45673 * loader/multiboot_loader.c: Fix multiboot command
45674 unregistration. Fix all typos in the word "multiboot".
45675
df266716 456762007-12-29 Pavel Roskin <proski@gnu.org>
94239199 45677
45678 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45679 support for initrd names used in Fedora.
45680
fc6e896c 456812007-12-26 Bean <bean123ch@gmail.com>
45682
45683 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45684 (cpio_mod_SOURCES): New variable.
45685 (cpio_mod_CFLAGS): Likewise.
45686 (cpio_mod_LDFLAGS): Likewise.
45687
45688 * fs/cpio.c: New file.
45689
45690 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45691
45692 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45693
45694 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45695
45696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45697
533110ad 456982007-12-25 Robert Millan <rmh@aybabtu.com>
45699
45700 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45701 (grub_getcolor): New function.
45702
45703 * kern/term.c (grub_getcolor): New function.
45704 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45705 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45706 (print_entry): Set normal and highlight colors to
45707 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45708 respectively, before printing and restore them to old
45709 values afterwards.
45710 (grub_menu_init_page): Likewise. Fill an additional colored space
45711 that would otherwise be left blank.
45712
45713 * term/efi/console.c (grub_console_getcolor): New function.
45714 (struct grub_console_term.getcolor): New variable.
45715 * term/i386/pc/console.c (grub_console_getcolor): New function.
45716 (struct grub_console_term.getcolor): New variable.
45717 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45718 (struct grub_console_term.getcolor): New variable.
45719
45720 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45721 (struct grub_console_term.setcolor): Remove variable.
45722 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45723 (struct grub_console_term.setcolor): Remove variable.
45724 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45725 (struct grub_console_term.setcolor): Remove variable.
45726 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45727 (struct grub_console_term.setcolor): Remove variable.
45728
4931827f 457292007-12-25 Robert Millan <rmh@aybabtu.com>
45730
45731 * configure.ac: Search for possible unifont.hex locations, and
45732 define UNIFONT_HEX if found.
45733
45734 * Makefile.in (UNIFONT_HEX): Define variable.
45735 (DATA): Rename to ...
45736 (PKGLIB): ... this. Update all users.
45737 (PKGDATA): New variable.
45738 (pkgdata_IMAGES): Rename to ...
45739 (pkglib_IMAGES): ... this. Update all users.
45740 (pkgdata_MODULES): Rename to ...
45741 (pkglib_MODULES): ... this. Update all users.
45742 (pkgdata_PROGRAMS): Rename to ...
45743 (pkglib_PROGRAMS): ... this. Update all users.
45744 (pkgdata_DATA): Rename to ...
45745 (pkglib_DATA): ... this. Update all users.
45746 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45747 (unicode.pff, ascii.pff): New rules.
45748 (all-local): Add `$(PKGDATA)' dependency.
45749 (install-local): Process `$(PKGDATA)'.
45750
45751 * util/update-grub_lib.in (font_path): Search for *.pff files in
45752 a few more locations, including `${pkgdata}'.
45753
57e57e31 457542007-12-23 Robert Millan <rmh@aybabtu.com>
45755
45756 Patch from Bean <bean123ch@gmail.com>:
45757 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45758 `size'.
45759
4bc72aa9 457602007-12-21 Bean <bean123ch@gmail.com>
45761
45762 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45763 (ntfscomp_mod_SOURCES): New variable.
45764 (ntfscomp_mod_CFLAGS): Likewise.
45765 (ntfscomp_mod_LDFLAGS): Likewise.
45766
45767 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45768 (grub_probe_SOURCES): Likewise.
45769 (grub_emu_SOURCES): Likewise.
45770
45771 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45772 (grub_emu_SOURCES): Likewise.
45773
45774 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45775 (grub_emu_SOURCES): Likewise.
45776
45777 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45778 (grub_emu_SOURCES): Likewise.
45779
45780 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45781 (read_run_list): Renamed to grub_ntfs_read_run_list.
45782 (decomp_nextvcn): Moved to ntfscomp.c.
45783 (decomp_getch): Likewise.
45784 (decomp_get16): Likewise.
45785 (decomp_block): Likewise.
45786 (read_block): Likewise.
45787 (read_data): Partially moved to ntfscomp.c.
45788 (fixup): Change unsigned to grub_uint16_t.
45789 (read_mft): Change unsigned long to grub_uint32_t.
45790 (read_attr): Likewise.
45791 (read_data): Likewise.
45792 (read_run_data): Likewise.
45793 (read_run_list): Likewise.
45794 (read_mft): Likewise.
45795
45796 * fs/ntfscomp.c: New file.
45797
45798 * include/grub/ntfs.h: New file.
45799
af680a87 458002007-12-16 Robert Millan <rmh@aybabtu.com>
45801
45802 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
45803 IDE disk check, since Linux is known to support 20 IDE disks.
45804 Reported by Colin Watson.
45805
84be7599 458062007-12-15 Bean <bean123ch@gmail.com>
45807
45808 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
45809 (lnxboot_img_SOURCES): New variable.
45810 (lnxboot_img_ASFLAGS): Likewise.
45811 (lnxboot_img_LDFLAGS): Likewise.
45812
45813 * boot/i386/pc/lnxboot.S: New file.
45814
6af9db01 458152007-11-24 Pavel Roskin <proski@gnu.org>
45816
45817 * configure.ac: Test if '--build-id=none' is supported by the
45818 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45819 objcopy to generate incorrect binary files (binutils
45820 2.17.50.0.18-1 as shipped by Fedora 8).
45821 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45822 linking, so that build ID doesn't break the test.
45823
7361cfe6 458242007-11-24 Pavel Roskin <proski@gnu.org>
45825
45826 * include/grub/i386/time.h: use "void" in the argument list
45827 of grub_cpu_idle().
45828 * include/grub/powerpc/time.h: Likewise.
45829 * include/grub/sparc64/time.h: Likewise.
45830
1593e10c 458312007-11-18 Christian Franke <franke@computer.org>
45832
45833 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
45834 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
45835 This fixes the problem that function keys did not work in grub-emu.
45836
3b8db1a8 458372007-11-18 Christian Franke <franke@computer.org>
45838
45839 * disk/host.c (grub_host_open): Remove attribute unused from
45840 name parameter. Add check for "host". This fixes the problem
45841 that grub-emu does not find partitions.
45842
2e29408d 458432007-11-18 Christian Franke <franke@computer.org>
45844
45845 * util/hostfs.c (is_dir): New function.
45846 (grub_hostfs_dir): Handle missing dirent.d_type case.
45847 (grub_hostfs_read): Add missing fseek().
45848 (grub_hostfs_label): Clear label pointer. This fixes a crash
45849 of grub-emu on "ls (host)".
45850
398cd047 458512007-11-18 Christian Franke <franke@computer.org>
45852
45853 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45854 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45855 to 64 bit boundary by default.
45856
c405c391 458572007-11-18 Bean <bean123ch@gmail.com>
45858
45859 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45860 (hexdump_mod_SOURCES): New variable.
45861 (hexdump_mod_CFLAGS): Likewise.
45862 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 45863
c405c391 45864 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45865
45866 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45867
45868 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45869
45870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45871
45872 * include/grub/hexdump.h: New file.
45873
45874 * commands/hexdump.c: New file.
45875
5cced7fd 458762007-11-10 Robert Millan <rmh@aybabtu.com>
45877
45878 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45879 in grub_outb() calls.
45880 (beep_on): Likewise.
45881
8b714eb0 458822007-11-10 Christian Franke <franke@computer.org>
45883
45884 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45885 (grub_menu_run): Likewise.
45886
ce0f1839 458872007-11-10 Robert Millan <rmh@aybabtu.com>
45888
45889 * include/grub/i386/efi/machine.h: New file.
45890 * include/grub/i386/linuxbios/machine.h: Likewise.
45891 * include/grub/i386/pc/machine.h: Likewise.
45892 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45893 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45894
45895 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45896 (serial_hw_io_addr): New variable.
45897 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45898 instead of `(unsigned short *) 0x400'.
45899
270c237d 459002007-11-10 Bean <bean123ch@gmail.com>
45901
45902 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45903
a87783bf 459042007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45905
45906 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45907 (vga_mod_SOURCES): Added.
45908 (vga_mod_CFLAGS): Likewise.
45909 (vga_mod_LDFLAGS): Likewise.
45910
45911 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45912 grub_outb() calls.
45913 (set_map_mask): Likewise.
45914 (set_read_map): Likewise.
45915 (set_read_address): Likewise.
45916 (vga_font): Removed variable.
45917 (get_vga_glyph): Removed function.
45918 (invalidate_char): Likewise.
45919 (write_char): Changed to use grub_font_get_glyph() for font
45920 information.
45921 (grub_vga_putchar): Likewise.
45922 (grub_vga_getcharwidth): Likewise.
45923
6433b448 459242007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45925
45926 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45927 flags.
45928 (pxeboot_img_LDFLAGS): Likewise.
45929 (diskboot_img_LDFLAGS): Likewise.
45930 (kernel_img_LDFLAGS): Likewise.
45931
49178511 459322007-11-06 Robert Millan <rmh@aybabtu.com>
45933
45934 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45935 in grub_outb() calls.
45936 (serial_hw_init): Likewise.
45937
53b052de 459382007-11-05 Robert Millan <rmh@aybabtu.com>
45939
45940 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45941 spaces. Skip non-regular files.
45942
5ab33bba 459432007-11-05 Robert Millan <rmh@aybabtu.com>
45944
45945 * kern/disk.c (grub_disk_firmware_fini)
45946 (grub_disk_firmware_is_tainted): New variables.
45947
45948 * include/grub/disk.h (grub_disk_firmware_fini)
45949 (grub_disk_firmware_is_tainted): Likewise.
45950
45951 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45952 (grub_disk_biosdisk_fini): ... to here.
45953 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45954 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45955 is set. Register grub_disk_biosdisk_fini() in
45956 `grub_disk_firmware_fini'.
45957
45958 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45959 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45960 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45961 to finish existing firmware disk interface.
45962
45963 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45964 (ata_mod_SOURCES): New variable.
45965 (ata_mod_CFLAGS): Likewise.
45966 (ata_mod_LDFLAGS): Likewise.
45967
0149ab7c 459682007-11-05 Robert Millan <rmh@aybabtu.com>
45969
45970 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45971 (grub_ata_wait): Reimplement using grub_millisleep().
45972
45973 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45974 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45975
be7ac41e 459762007-11-03 Marco Gerards <marco@gnu.org>
45977
45978 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45979 (CRTC_ADDR_PORT): New macro.
45980 (CRTC_DATA_PORT): Likewise.
45981 (CRTC_CURSOR): Likewise.
45982 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45983 (CRTC_CURSOR_ADDR_LOW): Likewise.
45984 (update_cursor): New function.
45985 (grub_console_real_putchar): Call `update_cursor'.
45986 (grub_console_gotoxy): Likewise.
45987 (grub_console_cls): Set the default color when clearing the
45988 screen.
45989 (grub_console_setcursor): Implemented.
45990
bb06ab2e 459912007-11-03 Marco Gerards <marco@gnu.org>
45992
45993 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45994 become activate.
45995 (grub_ata_pio_write): Likewise.
45996
45997 (grub_atapi_identify): Wait after issuing an ATA command.
45998 (grub_atapi_packet): Likewise.
45999 (grub_ata_identify): Likewise.
46000 (grub_ata_readwrite): Likewise.
46001
cf8f780b 460022007-11-03 Marco Gerards <marco@gnu.org>
46003
46004 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
46005 (grub_ata_pio_write): Likewise.
46006 (grub_ata_readwrite): Use `grub_error', instead of
46007 returning `grub_errno'.
46008
ed649e54 460092007-11-03 Marco Gerards <marco@gnu.org>
46010
46011 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
46012 grub_ata_pio_write once for every single sector, instead of for
46013 multiple sectors.
46014
ca25d8f0 460152007-10-31 Robert Millan <rmh@aybabtu.com>
46016
46017 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
46018
46019 * conf/i386-linuxbios.rmk: New file.
46020
46021 * kern/i386/pc/hardware.c: Likewise.
46022 * term/i386/pc/at_keyboard.c: Likewise.
46023 * term/i386/pc/vga_text.c: Likewise.
46024
46025 * include/grub/i386/linuxbios/boot.h: Likewise.
46026 * include/grub/i386/linuxbios/console.h: Likewise.
46027 * include/grub/i386/linuxbios/init.h: Likewise.
46028 * include/grub/i386/linuxbios/kernel.h: Likewise.
46029 * include/grub/i386/linuxbios/loader.h: Likewise.
46030 * include/grub/i386/linuxbios/memory.h: Likewise.
46031 * include/grub/i386/linuxbios/serial.h: Likewise.
46032 * include/grub/i386/linuxbios/time.h: Likewise.
46033
46034 * kern/i386/linuxbios/init.c: Likewise.
46035 * kern/i386/linuxbios/startup.S: Likewise.
46036 * kern/i386/linuxbios/table.c: Likewise.
46037
e911ecc1 460382007-10-31 Marco Gerards <marco@gnu.org>
46039
46040 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
46041 (ata_mod_SOURCES): New variable.
46042 (ata_mod_CFLAGS): Likewise.
46043 (ata_mod_LDFLAGS): Likewise.
46044
46045 * disk/ata.c: New file.
46046
46047 * include/grub/disk.h (grub_disk_dev_id): Add
46048 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 46049
7f66d0e0 460502007-10-31 Robert Millan <rmh@aybabtu.com>
46051
46052 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
46053 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
46054
46055 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
46056 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
46057
46058 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
46059 `<grub/types.h>'.
46060
46061 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
46062
5cd7dd46 460632007-10-27 Robert Millan <rmh@aybabtu.com>
46064
3236ca65 46065 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 46066
2ebfc90f 460672007-10-22 Robert Millan <rmh@aybabtu.com>
46068
46069 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
46070 `"../realmode.S"'.
46071 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
46072
73fcb0f3 460732007-10-22 Robert Millan <rmh@aybabtu.com>
46074
46075 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
46076 (pkgdata_MODULES): Add `biosdisk.mod'.
46077 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
46078 variables.
46079
46080 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
46081 (grub_biosdisk_init): Replace with ...
46082 (GRUB_MOD_INIT(biosdisk)): ... this.
46083 (grub_biosdisk_fini): Replace with ...
46084 (GRUB_MOD_FINI(biosdisk)): ... this.
46085
46086 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
46087 (grub_machine_init): Remove call to grub_biosdisk_init().
46088 (grub_machine_fini): Remove call to grub_machine_fini().
46089
46090 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
46091
3381d274 460922007-10-22 Robert Millan <rmh@aybabtu.com>
46093
46094 * include/grub/time.h: New file.
46095 * include/grub/i386/time.h: Likewise.
46096 * include/grub/powerpc/time.h: Likewise.
46097 * include/grub/sparc64/time.h: Likewise.
46098
46099 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
46100 instances to ...
46101 (KERNEL_MACHINE_TIME_HEADER): ... this.
46102 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46103 instances to ...
46104 (KERNEL_MACHINE_TIME_HEADER): ... this.
46105 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46106 instances to ...
46107 (KERNEL_MACHINE_TIME_HEADER): ... this.
46108
46109 * kern/i386/efi/init.c: Include `<grub/time.h>'.
46110 (grub_millisleep): New function.
46111 * kern/i386/pc/init.c: Include `<grub/time.h>'.
46112 (grub_millisleep): New function.
46113 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
46114 Remove `grub/machine/time.h' include.
46115 (grub_millisleep): New function.
46116 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
46117 Remove `grub/machine/time.h' include.
46118 (grub_millisleep): New function.
46119
46120 * include/grub/misc.h (grub_div_roundup): New function.
46121
46122 * kern/misc.c: Include `<grub/time.h>'.
46123 (grub_millisleep_generic): New function.
46124
46125 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
46126 Add `time.h'.
46127 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
46128 Add `time.h'.
46129 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
46130 `machine/time.h'. Add `time.h'.
46131 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46132
a39a0312 461332007-10-21 Robert Millan <rmh@aybabtu.com>
46134
46135 * include/grub/misc.h (grub_max): New function.
46136
2aad70e2 461372007-10-21 Robert Millan <rmh@aybabtu.com>
46138
46139 * util/misc.c (grub_util_info): Call fflush() before returning.
46140
54b71c4b 461412007-10-20 Robert Millan <rmh@aybabtu.com>
46142
46143 * genmk.rb (Image): Copy `extra_flags' from here ...
46144 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
46145
46146 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
46147 to `argc' and `args' arguments.
46148
a979f513 461492007-10-17 Robert Millan <rmh@aybabtu.com>
46150
46151 * kern/i386/loader.S: New file.
46152
46153 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
46154 * kern/i386/loader.S (grub_linux_prot_size)... to here.
46155 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
46156 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
46157 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
46158 * kern/i386/loader.S (grub_linux_real_addr)... to here.
46159 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
46160 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
46161 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
46162 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
46163 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
46164 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
46165 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
46166 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
46167
46168 * kern/i386/realmode.S: New file.
46169
46170 * kern/i386/pc/startup.S (protstack): Moved from here ...
46171 * kern/i386/realmode.S (protstack)... to here.
46172 * kern/i386/pc/startup.S (gdt): Moved from here ...
46173 * kern/i386/realmode.S (gdt)... to here.
46174 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
46175 * kern/i386/realmode.S (prot_to_real)... to here.
46176
46177 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
46178 `kern/i386/realmode.S'.
46179
825fc8fd 461802007-10-17 Robert Millan <rmh@aybabtu.com>
46181
46182 * include/grub/i386/loader.h: New file.
46183
46184 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
46185 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46186 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46187 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46188 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
46189 * include/grub/i386/loader.h (grub_linux_prot_size)
46190 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46191 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46192 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46193 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
46194
46195 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
46196
e179b2f4 461972007-10-15 Robert Millan <rmh@aybabtu.com>
46198
46199 * normal/misc.c (grub_normal_print_device_info): Do not probe for
46200 filesystem when dev->disk is unset.
46201 Do probe for filesystem even when dev->disk->has_partitions is set.
46202 In case a filesystem is found, always report it.
46203 In case it isn't, if dev->disk->has_partitions is set, report that
46204 a partition table was found instead of reporting that no filesystem
46205 could be identified.
46206
5db82af6 462072007-10-12 Robert Millan <rmh@aybabtu.com>
46208
46209 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
46210 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
46211
68f6ac74 46212 * include/grub/types.h (grub_host_to_target16): New macro.
46213 (grub_host_to_target32): Likewise.
46214 (grub_host_to_target64): Likewise.
46215 (grub_target_to_host16): Likewise.
46216 (grub_target_to_host32): Likewise.
46217 (grub_target_to_host64): Likewise.
5db82af6 46218
46219 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46220 Renamed from to ...
46221 (GRUB_MOD_ALIGN): ...this. Update all users.
46222
68f6ac74 46223 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
46224 grub_host_to_target32.
46225 Replace grub_be_to_cpu32 with grub_target_to_host32.
46226 (load_modules): Likewise.
46227 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
46228 Replace grub_be_to_cpu32 with grub_target_to_host32.
46229 Replace grub_cpu_to_be16 with grub_host_to_target16.
46230 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 46231
3cf497cc 462322007-10-12 Robert Millan <rmh@aybabtu.com>
46233
46234 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
46235 * util/elf/grub-mkimage.c: ... here.
46236
46237 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
46238 `util/powerpc/ieee1275/grub-mkimage.c'.
46239
c8cc3692 462402007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 46241
c8cc3692 46242 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
46243 and make it easier to figure out.
46244 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
46245 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
46246 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
46247 leave us with less than HEAP_MIN_SIZE total heap.
46248 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 46249
5c58b791 462502007-10-03 Robert Millan <rmh@aybabtu.com>
46251
46252 * include/grub/i386/io.h: New file.
46253 * commands/i386/pc/play.c (inb): Removed.
46254 (outb): Removed.
46255 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46256 with grub_outb().
afcd2ef8 46257 * term/i386/pc/serial.c (inb): Removed.
46258 (outb): Removed.
46259 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46260 with grub_outb().
46261 * term/i386/pc/vga.c (inb): Removed.
46262 (outb): Removed.
46263 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46264 with grub_outb().
5c58b791 46265
1a477ed6 462662007-10-02 Robert Millan <rmh@aybabtu.com>
46267
46268 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
46269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46270 Reported by Marcin Kurek.
46271
6b5d80fa 462722007-09-07 Robert Millan <rmh@aybabtu.com>
46273
46274 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
46275 SmartFirmware version updates (as released by Sven Luther), and avoid
46276 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
46277 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
46278 known broken.
46279
5618afbf 462802007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46281
46282 From Hitoshi Ozeki:
46283 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
46284 when merging two regions.
46285
6139dcd9 462862007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46287
508e39ee 46288 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
46289 * normal/completion.c (grub_normal_do_completion): Likewise.
46290 Reported by Hitoshi Ozeki.
46291
462922007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46293
6139dcd9 46294 Do not use devices at boot in chainloading.
f19dbdb7 46295
6139dcd9 46296 * loader/i386/pc/chainloader.c (boot_drive): New variable.
46297 (boot_part_addr): Likewise.
46298 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
46299 with BOOT_DRIVE and BOOT_PART_ADDR.
46300 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
46301 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
46302
38da6516 463032007-08-29 Robert Millan <rmh@aybabtu.com>
46304
46305 Patch from Simon Peter <dn.tlp@gmx.net>:
46306 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
46307 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
46308 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
46309 util/i386/pc/grub-setup.c_DEPENDENCIES.
46310 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
46311 util/grub-probe.c_DEPENDENCIES.
46312 * conf/powerpc-ieee1275.rmk: Likewise.
46313
29d0928c 463142007-08-28 Robert Millan <rmh@aybabtu.com>
46315
46316 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
46317 to tell grub-mkdevicemap how to name devices.
46318 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
46319 feature).
46320
46321 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
46322 util/i386/get_disk_name.c.
46323 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
46324 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
46325 util/ieee1275/get_disk_name.c.
46326
46327 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
46328
46329 * DISTLIST: Add util/i386/get_disk_name.c and
46330 util/ieee1275/get_disk_name.c.
46331
46332 * util/grub-mkdevicemap.c: Replace device naming logic with
46333 grub_util_get_disk_name() calls.
46334
5a0d3cca 463352007-08-20 Robert Millan <rmh@aybabtu.com>
46336
46337 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
46338 (so that it works for both plural and singular quantities).
46339
8b72db2f 463402007-08-05 Robert Millan <rmh@aybabtu.com>
46341
46342 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
46343 so that [xz] isn't taken into account when determining order.
46344
352466bf 463452007-08-02 Marco Gerards <marco@gnu.org>
46346
46347 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
46348 `include/multiboot2.h', `include/grub/elfload.h',
46349 `include/multiboot.h', `include/grub/multiboot.h',
46350 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
46351 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
46352 `kern/elf.c', `loader/multiboot_loader.c',
46353 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
46354 `loader/i386/pc/multiboot2.c',
46355 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
46356 `util/i386/pc/grub-mkrescue.in'. Remove
46357 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
46358 `include/grub/i386/pc/util/biosdisk.h' and
46359 `include/grub/powerpc/ieee1275/multiboot.h'.
46360
8f096014 463612007-08-02 Bean <bean123ch@gmail.com>
46362
46363 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
46364 (ntfs_mod_SOURCES): New variable.
46365 (ntfs_mod_CFLAGS): Likewise.
46366 (ntfs_mod_LDFLAGS): Likewise.
46367
46368 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
46369 (grub_probe_SOURCES): Likewise.
46370 (grub_emu_SOURCES): Likewise.
46371
46372 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46373 (grub_emu_SOURCES): Likewise.
46374
46375 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46376 (grub_emu_SOURCES): Likewise.
f19dbdb7 46377
8f096014 46378 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
46379
46380 * fs/ntfs.c: New file.
46381
9959f7db 463822007-08-02 Bean <bean123ch@gmail.com>
46383
46384 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
46385
46386 * file.h (grub_file): Likewise.
46387
46388 * fshelp.h (grub_fshelp_read_file): Likewise.
46389
46390 * util/i386/pc/grub-setup.c (setup): Likewise.
46391 (save_first_sector): Likewise.
46392 (save_blocklists): Likewise.
f19dbdb7 46393
9959f7db 46394 * fs/affs.c (grub_affs_read_file): Likewise.
46395
46396 * fs/ext2.c (grub_ext2_read_file): Likewise.
46397
46398 * fs/fat.c (grub_fat_read_data): Likewise.
46399
46400 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
46401
46402 * fs/hfs.c (grub_hfs_read_file): Likewise.
46403
46404 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46405
46406 * fs/jfs.c (grub_jfs_read_file): Likewise.
46407
46408 * fs/minix.c (grub_minix_read_file): Likewise.
46409
46410 * fs/sfs.c (grub_sfs_read_file): Likewise.
46411
46412 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 46413
9959f7db 46414 * fs/xfs.c (grub_xfs_read_file): Likewise.
46415
46416 * command/blocklist.c (read_blocklist): Likewise.
46417 (print_blocklist): Likewise.
46418
0a203f83 464192007-08-02 Marco Gerards <marco@gnu.org>
46420
46421 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
46422 `util/hostfs.c'.
46423
46424 * disk/host.c: New file.
46425
46426 * util/hostfs.c: Likewise.
46427
46428 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
46429 return `GRUB_ERR_BAD_FS'.
46430 * fs/sfs.c (grub_sfs_mount): Likewise.
46431 * fs/xfs.c (grub_xfs_mount): Likewise.
46432
46433 * include/grub/disk.h (enum grub_disk_dev_id): Add
46434 `GRUB_DISK_DEVICE_HOST_ID'.
46435
46436 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
46437
e5dfe777 464382007-07-24 Jerone Young <jerone@gmail.com>
46439
f19dbdb7 46440 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 46441 modules for compilation.
46442 * conf/powerpc-ieee1275.rmk: Likewise.
46443
46444 * include/multiboot.h: Move multiboot definitions to one file. Rename
46445 many definitions to not get grub specific.
46446 * include/multiboot2.h: Create header with multiboot 2 definitions.
46447 * include/grub/multiboot.h: Header for grub specific function
46448 prototypes and definitions.
46449 * include/grub/multiboot2.h: Likewise.
46450 * include/grub/multiboot_loader.h: Likewise.
46451 * include/grub/i386/pc/multiboot.h: Removed.
46452 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
46453
46454 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
46455 and 2 to allow for one multiboot and module commands.
46456 * loader/multiboot2.c: Add multiboot2 functionality.
46457 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
46458 and definition names.
46459 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
46460 2 functions.
46461 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
46462 ieee1275 specific multiboot2 code.
46463
46464 * kern/i386/pc/startup.S: Change headers and definition names for
46465 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
46466
daf0f0ba 464672007-07-22 Robert Millan <rmh@aybabtu.com>
46468
46469 * geninitheader.sh: Process file specified in first parameter rather
46470 than hardcoding grub_modules_init.lst.
fe6b695a 46471 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 46472 than hardcoding grub_modules_init.h.
46473
46474 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
46475 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
46476 grub_probe_init.[ch] and grub_setup_init.[ch].
46477
46478 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
46479 grub_modules_init.h with grub_emu_init.h.
46480 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
46481 grub_probe_init.[ch] files.
46482 * conf/i386-efi.rmk: Likewise.
46483 * conf/i386-pc.rmk: Likewise.
46484 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
46485 grub_setup_init.[ch] files.
46486
46487 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
46488 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
46489 to initialize modules rather than a list of hardcoded functions.
46490 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
46491 grub_init_all() to initialize modules rather than a list of hardcoded
46492 functions.
46493
54cdc1cc 464942007-07-22 Robert Millan <rmh@aybabtu.com>
46495
46496 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
46497 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
46498
ad0686cc 464992007-07-22 Robert Millan <rmh@aybabtu.com>
46500
46501 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46502 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
46503 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
46504 flag when running on SmartFirmware.
46505 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
46506 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
46507 was set.
46508
46509 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46510 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
46511 rather than decreasing it.
46512
46513 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
46514 there's not enough space to do it, fail in the same way as when it
46515 can't be done because there are no partitions.
46516
46517 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
46518 when nvsetenv failed.
46519
969c02ec 465202007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46521
46522 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
46523 because this rule is automatically generated.
46524 (grub-mkrescue): Removed for the same reason as above.
46525
5a79f472 465262007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46527
46528 Migrate to GNU General Public License Version 3.
f19dbdb7 46529
5a79f472 46530 * COPYING: Replaced with the plain text version of GPLv3.
46531
46532 * config.guess: Updated from gnulib.
46533 * config.sub: Likewise.
46534
46535 * geninit.sh: Output a GPLv3 copyright notice.
46536 * geninitheader.sh: Likewise.
46537 * genmodsrc.sh: Likewise.
46538 * gensymlist.sh.in: Likewise.
46539
46540 * boot/i386/pc/boot.S: Upgraded to GPLv3.
46541 * boot/i386/pc/diskboot.S: Likewise.
46542 * boot/i386/pc/pxeboot.S: Likewise.
46543 * commands/blocklist.c: Likewise.
46544 * commands/boot.c: Likewise.
46545 * commands/cat.c: Likewise.
46546 * commands/cmp.c: Likewise.
46547 * commands/configfile.c: Likewise.
46548 * commands/echo.c: Likewise.
46549 * commands/help.c: Likewise.
46550 * commands/ls.c: Likewise.
46551 * commands/search.c: Likewise.
46552 * commands/terminal.c: Likewise.
46553 * commands/test.c: Likewise.
46554 * commands/videotest.c: Likewise.
46555 * commands/i386/cpuid.c: Likewise.
46556 * commands/i386/pc/halt.c: Likewise.
46557 * commands/i386/pc/play.c: Likewise.
46558 * commands/i386/pc/reboot.c: Likewise.
46559 * commands/i386/pc/vbeinfo.c: Likewise.
46560 * commands/i386/pc/vbetest.c: Likewise.
46561 * commands/ieee1275/halt.c: Likewise.
46562 * commands/ieee1275/reboot.c: Likewise.
46563 * commands/ieee1275/suspend.c: Likewise.
46564 * disk/loopback.c: Likewise.
46565 * disk/lvm.c: Likewise.
46566 * disk/raid.c: Likewise.
46567 * disk/efi/efidisk.c: Likewise.
46568 * disk/i386/pc/biosdisk.c: Likewise.
46569 * disk/ieee1275/ofdisk.c: Likewise.
46570 * font/manager.c: Likewise.
46571 * fs/affs.c: Likewise.
46572 * fs/ext2.c: Likewise.
46573 * fs/fat.c: Likewise.
46574 * fs/fshelp.c: Likewise.
46575 * fs/hfs.c: Likewise.
46576 * fs/hfsplus.c: Likewise.
46577 * fs/iso9660.c: Likewise.
46578 * fs/jfs.c: Likewise.
46579 * fs/minix.c: Likewise.
46580 * fs/sfs.c: Likewise.
46581 * fs/ufs.c: Likewise.
46582 * fs/xfs.c: Likewise.
46583 * hello/hello.c: Likewise.
46584 * include/grub/acorn_filecore.h: Likewise.
46585 * include/grub/arg.h: Likewise.
46586 * include/grub/bitmap.h: Likewise.
46587 * include/grub/boot.h: Likewise.
46588 * include/grub/cache.h: Likewise.
46589 * include/grub/device.h: Likewise.
46590 * include/grub/disk.h: Likewise.
46591 * include/grub/dl.h: Likewise.
46592 * include/grub/elfload.h: Likewise.
46593 * include/grub/env.h: Likewise.
46594 * include/grub/err.h: Likewise.
46595 * include/grub/file.h: Likewise.
46596 * include/grub/font.h: Likewise.
46597 * include/grub/fs.h: Likewise.
46598 * include/grub/fshelp.h: Likewise.
46599 * include/grub/gzio.h: Likewise.
46600 * include/grub/hfs.h: Likewise.
46601 * include/grub/kernel.h: Likewise.
46602 * include/grub/loader.h: Likewise.
46603 * include/grub/lvm.h: Likewise.
46604 * include/grub/misc.h: Likewise.
46605 * include/grub/mm.h: Likewise.
46606 * include/grub/net.h: Likewise.
46607 * include/grub/normal.h: Likewise.
46608 * include/grub/parser.h: Likewise.
46609 * include/grub/partition.h: Likewise.
46610 * include/grub/pc_partition.h: Likewise.
46611 * include/grub/raid.h: Likewise.
46612 * include/grub/rescue.h: Likewise.
46613 * include/grub/script.h: Likewise.
46614 * include/grub/setjmp.h: Likewise.
46615 * include/grub/symbol.h: Likewise.
46616 * include/grub/term.h: Likewise.
46617 * include/grub/terminfo.h: Likewise.
46618 * include/grub/tparm.h: Likewise.
46619 * include/grub/types.h: Likewise.
46620 * include/grub/video.h: Likewise.
46621 * include/grub/efi/api.h: Likewise.
46622 * include/grub/efi/chainloader.h: Likewise.
46623 * include/grub/efi/console.h: Likewise.
46624 * include/grub/efi/console_control.h: Likewise.
46625 * include/grub/efi/disk.h: Likewise.
46626 * include/grub/efi/efi.h: Likewise.
46627 * include/grub/efi/pe32.h: Likewise.
46628 * include/grub/efi/time.h: Likewise.
46629 * include/grub/i386/linux.h: Likewise.
46630 * include/grub/i386/setjmp.h: Likewise.
46631 * include/grub/i386/types.h: Likewise.
46632 * include/grub/i386/efi/kernel.h: Likewise.
46633 * include/grub/i386/efi/loader.h: Likewise.
46634 * include/grub/i386/efi/time.h: Likewise.
46635 * include/grub/i386/pc/biosdisk.h: Likewise.
46636 * include/grub/i386/pc/boot.h: Likewise.
46637 * include/grub/i386/pc/chainloader.h: Likewise.
46638 * include/grub/i386/pc/console.h: Likewise.
46639 * include/grub/i386/pc/init.h: Likewise.
46640 * include/grub/i386/pc/kernel.h: Likewise.
46641 * include/grub/i386/pc/loader.h: Likewise.
46642 * include/grub/i386/pc/memory.h: Likewise.
46643 * include/grub/i386/pc/multiboot.h: Likewise.
46644 * include/grub/i386/pc/serial.h: Likewise.
46645 * include/grub/i386/pc/time.h: Likewise.
46646 * include/grub/i386/pc/vbe.h: Likewise.
46647 * include/grub/i386/pc/vbeblit.h: Likewise.
46648 * include/grub/i386/pc/vbefill.h: Likewise.
46649 * include/grub/i386/pc/vbeutil.h: Likewise.
46650 * include/grub/i386/pc/vga.h: Likewise.
46651 * include/grub/ieee1275/ieee1275.h: Likewise.
46652 * include/grub/ieee1275/ofdisk.h: Likewise.
46653 * include/grub/powerpc/libgcc.h: Likewise.
46654 * include/grub/powerpc/setjmp.h: Likewise.
46655 * include/grub/powerpc/types.h: Likewise.
46656 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
46657 * include/grub/powerpc/ieee1275/console.h: Likewise.
46658 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
46659 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
46660 * include/grub/powerpc/ieee1275/loader.h: Likewise.
46661 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
46662 * include/grub/powerpc/ieee1275/time.h: Likewise.
46663 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
46664 * include/grub/sparc64/libgcc.h: Likewise.
46665 * include/grub/sparc64/setjmp.h: Likewise.
46666 * include/grub/sparc64/types.h: Likewise.
46667 * include/grub/sparc64/ieee1275/console.h: Likewise.
46668 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46669 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46670 * include/grub/sparc64/ieee1275/time.h: Likewise.
46671 * include/grub/util/biosdisk.h: Likewise.
46672 * include/grub/util/getroot.h: Likewise.
46673 * include/grub/util/lvm.h: Likewise.
46674 * include/grub/util/misc.h: Likewise.
46675 * include/grub/util/raid.h: Likewise.
46676 * include/grub/util/resolve.h: Likewise.
46677 * io/gzio.c: Likewise.
46678 * kern/device.c: Likewise.
46679 * kern/disk.c: Likewise.
46680 * kern/dl.c: Likewise.
46681 * kern/elf.c: Likewise.
46682 * kern/env.c: Likewise.
46683 * kern/err.c: Likewise.
46684 * kern/file.c: Likewise.
46685 * kern/fs.c: Likewise.
46686 * kern/loader.c: Likewise.
46687 * kern/main.c: Likewise.
46688 * kern/misc.c: Likewise.
46689 * kern/mm.c: Likewise.
46690 * kern/parser.c: Likewise.
46691 * kern/partition.c: Likewise.
46692 * kern/rescue.c: Likewise.
46693 * kern/term.c: Likewise.
46694 * kern/efi/efi.c: Likewise.
46695 * kern/efi/init.c: Likewise.
46696 * kern/efi/mm.c: Likewise.
46697 * kern/i386/dl.c: Likewise.
46698 * kern/i386/efi/init.c: Likewise.
46699 * kern/i386/efi/startup.S: Likewise.
46700 * kern/i386/pc/init.c: Likewise.
46701 * kern/i386/pc/lzo1x.S: Likewise.
46702 * kern/i386/pc/startup.S: Likewise.
46703 * kern/ieee1275/ieee1275.c: Likewise.
46704 * kern/powerpc/cache.S: Likewise.
46705 * kern/powerpc/dl.c: Likewise.
46706 * kern/powerpc/ieee1275/cmain.c: Likewise.
46707 * kern/powerpc/ieee1275/crt0.S: Likewise.
46708 * kern/powerpc/ieee1275/init.c: Likewise.
46709 * kern/powerpc/ieee1275/openfw.c: Likewise.
46710 * kern/sparc64/cache.S: Likewise.
46711 * kern/sparc64/dl.c: Likewise.
46712 * kern/sparc64/ieee1275/init.c: Likewise.
46713 * kern/sparc64/ieee1275/openfw.c: Likewise.
46714 * loader/efi/chainloader.c: Likewise.
46715 * loader/efi/chainloader_normal.c: Likewise.
46716 * loader/i386/efi/linux.c: Likewise.
46717 * loader/i386/efi/linux_normal.c: Likewise.
46718 * loader/i386/pc/chainloader.c: Likewise.
46719 * loader/i386/pc/chainloader_normal.c: Likewise.
46720 * loader/i386/pc/linux.c: Likewise.
46721 * loader/i386/pc/linux_normal.c: Likewise.
46722 * loader/i386/pc/multiboot.c: Likewise.
46723 * loader/i386/pc/multiboot_normal.c: Likewise.
46724 * loader/powerpc/ieee1275/linux.c: Likewise.
46725 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46726 * normal/arg.c: Likewise.
46727 * normal/cmdline.c: Likewise.
46728 * normal/command.c: Likewise.
46729 * normal/completion.c: Likewise.
46730 * normal/execute.c: Likewise.
46731 * normal/function.c: Likewise.
46732 * normal/lexer.c: Likewise.
46733 * normal/main.c: Likewise.
46734 * normal/menu.c: Likewise.
46735 * normal/menu_entry.c: Likewise.
46736 * normal/misc.c: Likewise.
46737 * normal/parser.y: Likewise.
46738 * normal/script.c: Likewise.
46739 * normal/i386/setjmp.S: Likewise.
46740 * normal/powerpc/setjmp.S: Likewise.
46741 * normal/sparc64/setjmp.S: Likewise.
46742 * partmap/acorn.c: Likewise.
46743 * partmap/amiga.c: Likewise.
46744 * partmap/apple.c: Likewise.
46745 * partmap/gpt.c: Likewise.
46746 * partmap/pc.c: Likewise.
46747 * partmap/sun.c: Likewise.
46748 * term/gfxterm.c: Likewise.
46749 * term/terminfo.c: Likewise.
46750 * term/efi/console.c: Likewise.
46751 * term/i386/pc/console.c: Likewise.
46752 * term/i386/pc/serial.c: Likewise.
46753 * term/i386/pc/vesafb.c: Likewise.
46754 * term/i386/pc/vga.c: Likewise.
46755 * term/ieee1275/ofconsole.c: Likewise.
46756 * util/biosdisk.c: Likewise.
46757 * util/console.c: Likewise.
46758 * util/genmoddep.c: Likewise.
46759 * util/getroot.c: Likewise.
46760 * util/grub-emu.c: Likewise.
46761 * util/grub-mkdevicemap.c: Likewise.
46762 * util/grub-probe.c: Likewise.
46763 * util/lvm.c: Likewise.
46764 * util/misc.c: Likewise.
46765 * util/raid.c: Likewise.
46766 * util/resolve.c: Likewise.
46767 * util/update-grub.in: Likewise.
46768 * util/update-grub_lib.in: Likewise.
46769 * util/grub.d/00_header.in: Likewise.
46770 * util/grub.d/10_hurd.in: Likewise.
46771 * util/grub.d/10_linux.in: Likewise.
46772 * util/i386/efi/grub-install.in: Likewise.
46773 * util/i386/efi/grub-mkimage.c: Likewise.
46774 * util/i386/pc/grub-install.in: Likewise.
46775 * util/i386/pc/grub-mkimage.c: Likewise.
46776 * util/i386/pc/grub-mkrescue.in: Likewise.
46777 * util/i386/pc/grub-setup.c: Likewise.
46778 * util/i386/pc/misc.c: Likewise.
46779 * util/powerpc/ieee1275/grub-install.in: Likewise.
46780 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46781 * util/powerpc/ieee1275/misc.c: Likewise.
46782 * video/bitmap.c: Likewise.
46783 * video/video.c: Likewise.
46784 * video/i386/pc/vbe.c: Likewise.
46785 * video/i386/pc/vbeblit.c: Likewise.
46786 * video/i386/pc/vbefill.c: Likewise.
46787 * video/i386/pc/vbeutil.c: Likewise.
46788 * video/readers/tga.c: Likewise.
46789
3572d015 467902007-07-02 Robert Millan <rmh@aybabtu.com>
46791
46792 * conf/i386-efi.rmk: Replace obsolete reference to
46793 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46794 with util/getroot.c.
46795 * conf/powerpc-ieee1275.rmk: Likewise.
46796 * conf/sparc64-ieee1275.rmk: Likewise.
46797
46798 * util/grub-emu.c (main): Fix unchecked pointer handling.
46799
2c2a681b 468002007-07-02 Robert Millan <rmh@aybabtu.com>
46801
46802 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
46803 invocation to fail, in order to support partition-less media.
46804
46805 * util/i386/pc/grub-install.in: Likewise.
46806
46807 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
46808 which fs or partmap modules are needed (akin to its sister scripts).
46809
46810 Also use grub-probe to get rid of unportable /proc/mounts check.
46811
46812 Print the same informational message that the other scripts do, before
fe6b695a 46813 exiting.
2c2a681b 46814
6193defe 468152007-06-23 Robert Millan <rmh@aybabtu.com>
46816
fe6b695a 46817 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 46818 a font file can be found and, if so, echo the GRUB path to it.
46819
46820 * util/update-grub.in: Handle multiple terminals depending on user
46821 input, platform availability and font file presence. Propagate
46822 variables of our findings to /etc/grub.d/ children.
46823
46824 * util/grub.d/00_header.in: Handle multiple terminals, based on
46825 environment setup by update-grub.
46826
eface1dc 468272007-06-23 Robert Millan <rmh@aybabtu.com>
46828
ba50d28f 46829 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 46830
bf697e28 468312007-06-21 Robert Millan <rmh@aybabtu.com>
46832
46833 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
46834 indicate end of data section in kernel image.
46835 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
46836 GRUB_KERNEL_MACHINE_DATA_END.
46837
46838 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
46839 space for it.
46840 * kern/i386/efi/startup.S: Likewise.
46841
46842 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
46843 during image generation. Implement --prefix option to override this
46844 patch.
46845 * util/i386/efi/grub-mkimage.c: Likewise.
46846
46847 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46848 code to make path relative to its root into a separate function.
46849
46850 * util/i386/pc/grub-install.in: Use newly provided
46851 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46852 pass the result to grub-install --prefix.
46853
baa574b4 468542007-06-13 Robert Millan <rmh@aybabtu.com>
46855
46856 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46857 DEFAULT_DEVICE_MAP.
46858 * util/grub-emu.c: Use above definitions from misc.h instead of
46859 defining them.
46860 * util/grub-mkdevicemap.c: Likewise.
46861 * util/i386/pc/grub-setup.c: Likewise.
46862 * util/grub-probe.c: Likewise.
46863 (probe): Abort with grub_util_error() when either
46864 grub_guess_root_device or grub_util_get_grub_dev fails.
46865
0215dcbf 468662007-06-12 Robert Millan <rmh@aybabtu.com>
46867
46868 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46869 "pager" assignment.
46870 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46871 "pcdata".
46872 * util/grub-probe.c (probe): Likewise for "drive_name".
46873
8af2ab7b 468742007-06-11 Robert Millan <rmh@aybabtu.com>
46875
46876 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46877 not just the cdrom one.
46878
59d31694 468792007-06-11 Robert Millan <rmh@aybabtu.com>
46880
46881 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46882 Add --pkglibdir=DIR option to override pkglibdir.
46883 Mention --image-type=TYPE in help output.
46884 Fix --grub-mkimage (it was a no-op).
fe6b695a 46885 Abort gracefully when no parameter is given.
59d31694 46886
7ee367e4 468872007-06-11 Robert Millan <rmh@aybabtu.com>
46888
46889 * util/i386/pc/grub-mkrescue.in: New file.
46890 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
46891 * Makefile.in: Handle bin_SCRIPTS.
46892
29b0ed46 468932007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46894
46895 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46896 list of video modes.
46897
c0f90770 468982007-06-06 Robert Millan <rmh@aybabtu.com>
46899
46900 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46901 file doesn't exist, or if it is in a filesystem grub can't read.
46902
46903 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46904 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46905 header comment to fit in 80 columns when the variables are resolved.
46906
46907 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46908 could be identified by update-grub. Remove redundant check for
fe6b695a 46909 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 46910 handles that).
46911
fb36dc26 469122007-06-04 Robert Millan <rmh@aybabtu.com>
46913
46914 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46915
46916 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46917
46918 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46919
0c68c93e 469202007-06-04 Robert Millan <rmh@aybabtu.com>
46921
46922 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46923
46924 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46925 grub_apple_partition_map_fini.
46926
46927 * util/biosdisk.c
46928 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46929 to access >2 TiB disks).
46930
46931 Print disk->total_sectors with %llu instead of %lu, since this
46932 variable is always 64-bit (prevents wrong disk size from being displayed
46933 on either >2 TiB disk or big-endian CPU).
46934
46935 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46936 into a generic case that supports all (sane) partition maps.
46937
46938 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46939 breaks big-endian.
46940
46941 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46942 and grub_apple_partition_map_fini() after that.
46943
0f23eb74 469442007-06-01 Robert Millan <rmh@aybabtu.com>
46945
46946 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46947
46948 * util/grub.d/00_header.in: Only enable gfxterm when
46949 convert_system_path_to_grub_path() succeeds.
46950
42c71976 469512007-05-20 Robert Millan <rmh@aybabtu.com>
46952
46953 * util/update-grub_lib.in: New file.
46954 * DISTLIST: Add update-grub_lib.in.
46955 * conf/common.rmk: Generate update-grub_lib and install it in
46956 $(lib_DATA).
46957 * Makefile.in: Add install routine for $(lib_DATA).
46958
46959 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46960 function provided by update-grub_lib to support arbitrary paths of
46961 unifont.pff.
46962 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46963 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46964
5beb2291 469652007-05-19 Robert Millan <rmh@aybabtu.com>
46966
46967 * commands/i386/cpuid.c: New module.
46968 * DISTLIST: Add it.
46969 * conf/i386-efi.rmk: Enable cpuid.mod.
46970 * conf/i386-pc.rmk: Likewise.
46971
7262eca1 469722007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46973
46974 * kern/disk.c (grub_disk_read): Check return value of
46975 grub_realloc().
46976
260ba823 469772007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46978
46979 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46980 arrays.
46981 * disk/raid.c (grub_raid_open): Likewise.
46982
1ecb6cf2 469832007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46984
46985 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46986 stack instead of on the heap.
46987
46988 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46989 before doing a read on it.
46990
46991 * configure.ac: Only use -fno-stack-protector for the target
46992 environment.
f19dbdb7 46993
21c8cbb1 469942007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46995
46996 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46997 __attribute_ ((unused)) to mode_type argument.
46998
46999 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 47000
21c8cbb1 47001 * kern/misc.c (memcmp): Fix prototype.
47002
47003 * include/grub/partition.h [GRUB_UTIL]
47004 (grub_gpt_partition_map_init): Add prototype.
47005 (grub_gpt_partition_map_fini): Likewise.
47006
47007 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
47008 at the right place.
47009
47010 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
47011 (grub_fat_read_data): Likewise.
47012 (grub_fat_find_dir): Likewise.
47013
47014 * font/manager.c (find_glyph): Make table a const.
47015 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 47016
849d55d3 470172007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
47018
47019 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
47020 code, first search for device in /dev/mapper, then in /dev.
47021 (grub_util_get_grub_dev): New function.
47022 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
47023 prototype.
47024 * util/grub-probe.c (probe): Remove check for RAID, call
47025 grub_util_get_grub_dev() instead of
47026 grub_util_biosdisk_get_grub_dev().
47027 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
47028 grub_util_biosdisk_get_grub_dev().
47029 * util/i386/pc/grub-setup.c (main): Likewise.
47030
8fff7c2f 470312007-05-16 Robert Millan <rmh@aybabtu.com>
47032
47033 * DISTLIST: Update for the latest changes.
47034 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
47035 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
47036 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
47037 grub/util/biosdisk.h.
47038 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
47039 grub/util/biosdisk.h.
47040
48e12b52 470412007-05-16 Robert Millan <rmh@aybabtu.com>
47042
47043 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
47044
46b9d128 470452007-05-16 Robert Millan <rmh@aybabtu.com>
47046
47047 * util/i386/efi/grub-install.in: New.
47048 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
47049 newly added grub-install.
47050 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
47051 include.
47052 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
47053 grub/util/biosdisk.h.
47054 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
47055 grub/util/biosdisk.h.
47056
2d1a40a9 470572007-05-16 Robert Millan <rmh@aybabtu.com>
47058
47059 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
47060 * include/grub/util/biosdisk.h: ... here.
47061 * util/i386/pc/biosdisk.c: Moved to ...
47062 * util/biosdisk.c: ... here.
47063 * util/i386/pc/getroot.c: Moved to ...
47064 * util/getroot.c: ... here.
47065 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
47066 * util/grub-mkdevicemap.c: ... here.
47067 * util/i386/pc/grub-probe.c: Moved to ...
47068 * util/grub-probe.c: ... here.
47069
9e26e3bc 470702007-05-15 Robert Millan <rmh@aybabtu.com>
47071
47072 * util/update-grub.in: Remove duplicated line in grub.cfg header
47073 message.
47074
57f96397 470752007-05-13 Robert Millan <rmh@aybabtu.com>
47076
47077 * util/update-grub.in: Fix a few assumptions about the devices holding
47078 /, /boot and /boot/grub being the same.
47079 * util/grub.d/00_header.in: Likewise.
47080 * util/grub.d/10_hurd.in: Likewise.
47081 * util/grub.d/10_linux.in: Likewise.
47082
47083 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
47084 patterns. Use that to define the `.old' suffix as older than `'.
47085
47086 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
47087
47088 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
47089 the grub.cfg header message.
47090
2e610d62 470912007-05-11 Robert Millan <rmh@aybabtu.com>
47092
47093 * util/update-grub.in: Create device.map if it doesn't already exist,
47094 before attempting to run grub-probe.
47095 Check for grub-probe and grub-mkdevicemap with the same code
47096 grub-install is using.
47097 Remove test mode.
47098
3f6a10ef 470992007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
47100
47101 * Makefile.in: Add the datarootdir autoconf variable.
47102
02e7b75e 471032007-05-09 Robert Millan <rmh@aybabtu.com>
47104
47105 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 47106 fail gracefully if dev->disk->partition == NULL.
02e7b75e 47107
75f396cc 471082007-05-07 Robert Millan <rmh@aybabtu.com>
47109
47110 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
47111 determine partition map module.
47112 * util/i386/pc/grub-install.in: Use this feature to decide which
47113 partition module to load, instead of hardcoding pc and gpt.
47114
da65cb36 471152007-05-07 Robert Millan <rmh@aybabtu.com>
47116
47117 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
47118 source directory differs from build directory.
47119
b57d6a91 471202007-05-05 Robert Millan <rmh@aybabtu.com>
47121
47122 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
47123 initialisation.
47124
509d00f1 471252007-05-05 Robert Millan <rmh@aybabtu.com>
47126
47127 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
47128
c48f23ef 471292007-05-05 Robert Millan <rmh@aybabtu.com>
47130
47131 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
47132 command-line arguments via ${GRUB_CMDLINE_LINUX}.
47133
20b97658 471342007-05-05 Robert Millan <rmh@aybabtu.com>
47135
47136 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
47137 (grub_probe_SOURCES): Likewise.
47138 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
47139 GPT and initialize dos_part and bsd_part accordingly.
47140 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
47141 install_bsd_part.
47142 (main): Activate gpt module for use during partition identification,
47143 and deactivate it afterwards.
47144 * util/i386/pc/grub-install.in: Add gpt module to core.img.
47145 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
47146 partition identification, and deactivate it afterwards.
47147
99123174 471482007-05-05 Robert Millan <rmh@aybabtu.com>
47149
47150 * term/i386/pc/console.c (grub_console_fini): Call
47151 grub_term_set_current() before grub_term_unregister().
47152
ebd97f6e 471532007-05-04 Robert Millan <rmh@aybabtu.com>
47154
47155 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
47156 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
47157 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
47158 and update-grub_DATA.
47159 * conf/common.rmk: Build and install update-grub components.
47160 * conf/common.mk: Regenerate.
47161 * util/update-grub.in: New. Core of update-grub.
47162 * util/grub.d/00_header.in: New. Generates grub.cfg header.
47163 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
47164 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
47165 * util/grub.d/README: New. Document grub.d directory layout.
47166
b06a264d 471672007-05-01 Robert Millan <rmh@aybabtu.com>
47168
47169 * util/grub-emu.c: Move initialization functions
47170 grub_util_biosdisk_init() and grub_init_all() before
47171 grub_util_biosdisk_get_grub_dev(), which relies on them.
47172
41f0050e 471732007-04-19 Robert Millan <rmh@aybabtu.com>
47174
47175 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
47176 it is used later.
47177
04582bb3 471782007-04-18 Jerone Young <jerone@gmail.com>
47179
f19dbdb7 47180 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 47181 stanza.
47182
08db4632 471832007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 47184
08db4632 47185 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
47186 continue on and look for device node with real device name.
47187
801b76be 471882007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 47189
fe6b695a 47190 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 47191 ability.
47192 * Makefile.in: Add autoconf package transformation code.
47193 * util/i386/pc/grub-install.in: Likewise.
47194 * util/powerpc/ieee1275/grub-install.in: Likewise.
47195
6795c4e1 471962007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47197
47198 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
47199 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
47200 (EXT2_REVISION): Likewise.
47201 (EXT2_INODE_SIZE): Likewise.
47202 (struct grub_ext2_block_group): Added a missing member
47203 "used_dirs".
47204 (grub_ext2_read_inode): Divide by the inode size in a superblock
47205 instead of 128 to obtain INODES_PER_BLOCK.
47206 Use the macro EXT2_INODE_SIZE instead of directly using
47207 SBLOCK->INODE_SIZE.
47208
d70af616 472092007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47210
47211 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
47212 superblock instead of the structure size to compute an
47213 offset. This fixes the problem that GRUB could not read a
47214 filesystem when inode size is different from 128-byte.
47215
3b801603 472162007-03-05 Marco Gerards <marco@gnu.org>
47217
47218 * normal/main.c (read_config_file): When "menu" is not set, create
47219 an initial context.
47220
4785bfe4 472212007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47222
47223 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
47224 (HEAP_LIMIT): New macro.
47225 (grub_claim_heap): Claim memory up to `heaplimit'.
47226
a0cbb023 472272007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47228
47229 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
47230 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
47231 (_start): Likewise.
47232 (grub_arch_modules_addr): Return address after `_end'.
47233 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
47234 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
47235 (add_segments): Calculate `_end' from phdr size and location.
47236 (ALIGN_UP): Moved to ...
47237 * include/grub/misc.h: here.
47238 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47239 New macro.
47240 (GRUB_IEEE1275_MODULE_BASE): Removed.
47241
fd7d8eba 472422007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47243
47244 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
47245 loop boundary.
47246
9b09e6fc 472472007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47248
47249 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
47250 All users updated.
47251 (grub_elf64_load_hook_t): Likewise.
47252 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
47253 debug output.
47254
3ce27299 472552007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47256
47257 * kern/mm.c: Update copyright.
47258 (grub_mm_debug): Correct syntax error.
47259 (grub_mm_dump_free): New function.
47260 (grub_debug_free): Call `grub_free'.
47261 * include/grub/mm.h: Update copyright.
47262 (grub_mm_dump_free): Add declaration.
47263
077d5fee 472642007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47265
47266 * include/grub/ieee1275/ieee1275.h: Update copyright.
47267 * kern/powerpc/ieee1275/init.c: Likewise.
47268 * kern/powerpc/ieee1275/openfw.c: Likewise.
47269
47270 * loader/powerpc/ieee1275/linux.c: Likewise.
47271 * include/grub/elfload.h: Likewise.
47272 * kern/elf.c: Likewise.
47273 (grub_elf32_load): Pass `base' and `size' parameters. Update all
47274 callers.
47275 (grub_elf64_load): Likewise.
47276 (grub_elf32_load_segment): Move to a nested function.
47277 (grub_elf64_load_segment): Likewise.
47278
dc946850 472792007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47280
47281 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
47282 prototype.
47283 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
47284 (grub_heap_len): Likewise.
47285 (HEAP_SIZE): New macro.
47286 (grub_claim_heap): New function.
47287 (grub_machine_init): Don't claim heap directly. Call
47288 `grub_claim_heap'.
47289 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
47290 (grub_available_iterate): New function.
47291
baa2a121 472922007-02-03 Thomas Schwinge <tschwinge@gnu.org>
47293
47294 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
47295 * configure.ac: Use it for testing the HOST and TARGET compilers.
47296
4fe9862e 472972006-12-13 Thomas Schwinge <tschwinge@gnu.org>
47298
47299 * Makefile.in (enable_grub_emu): New variable.
47300 * configure.ac (--enable-grub-emu): New option.
47301 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
47302 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
47303 * conf/i386-pc.rmk: Likewise.
47304 * conf/powerpc-ieee1275.rmk: Likewise.
47305 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
47306
a8aa5762 473072006-12-12 Marco Gerards <marco@gnu.org>
47308
47309 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
47310
47311 * kern/env.c (grub_env_unset): Don't free the member `value' when
47312 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
47313 pointer.
47314
47315 * normal/main.c (current_menu): Removed.
47316 (free_menu): Unset the `menu' environment variable.
47317 (grub_normal_menu_addentry): Make use of the environment variable
47318 `menu', instead of using the global `current_menu'. Allocate
47319 memory for the sourcecode of this entry.
47320 (read_config_file): New argument `nested', changed all callers.
47321 Only in the case of a new context, initialize a new menu. Set the
47322 `menu' environment variable.
47323 (grub_normal_execute): Don't set and unset the environment
47324 variable `menu' here anymore. Only free the menu when leaving the
47325 context.
47326
47327 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
47328 leak.
47329
957b3a3e 473302006-12-11 Marco Gerards <marco@gnu.org>
47331
47332 * normal/menu_entry.c (run): Fix off by one bug so the last line
47333 is executed. Move the loader check to outside the loop.
47334
ef875714 473352006-12-08 Hollis Blanchard <hollis@penguinppc.org>
47336
47337 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
47338
4e739985 473392006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
47340
47341 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
47342 the number of sectors. Reported by Andrey Shuvikov
47343 <mr_hyro@yahoo.com>.
f19dbdb7 47344
790707f2 473452006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
47346
47347 * kern/disk.c (grub_disk_read): When there is a read error, always
47348 try to read only the necessary data.
f19dbdb7 47349
790707f2 47350 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
47351 disk/raid.c.
47352 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
47353 prototype.
47354 [GRUB_UTIL] (grub_raid_fini): Likewise.
47355 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 47356 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 47357 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
47358 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
47359 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
47360 and grub_raid_fini().
f19dbdb7 47361
03e58196 473622006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47363
47364 * include/grub/types.h (__unused): Rename to UNUSED.
47365 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
47366 (grub_elf64_size): Likewise.
f19dbdb7 47367
ae4f23bf 473682006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47369
47370 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
47371 grub_error_push and grub_error_pop in the error-handling path.
47372 (grub_elf32_load_segment): Only call grub_file_read with non-zero
47373 length.
47374
2166cc83 473752006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47376
47377 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
47378 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47380 (kernel_elf_SOURCES): Likewise.
47381 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
47382 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
47383 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47384 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47385 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
47386 (elf_mod_SOURCES): New variable.
47387 (elf_mod_CFLAGS): Likewise.
47388 (elf_mod_LDFLAGS): Likewise.
47389 * include/grub/types.h (__unused): New macro.
47390 * include/grub/elfload.h: New file.
47391 * kern/elf.c: Likewise.
47392 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
47393 (ELF32_LOADMASK): New macro.
47394 (ELF64_LOADMASK): Likewise.
47395 (vmlinux): Removed.
47396 (grub_linux_load32): New function.
47397 (grub_linux_load64): Likewise.
47398 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
47399 Use grub_elf_t instead of grub_file_t.
47400
a09d5aa5 474012006-11-02 Hollis Blanchard <hollis@penguinppc.org>
47402
47403 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
47404 `catch_result' to struct set_color_args.
47405
d976fc51 474062006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47407
47408 * normal/menu.c: Include grub/script.h.
47409 * normal/menu_entry.c: Likewise.
47410 * include/grub/normal.h: Do not include grub/script.h.
47411
67507549 474122006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47413
47414 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
47415
69203a99 474162006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47417
47418 * kern/disk.c (grub_disk_open): Print debug messages when opening a
47419 disk.
47420 (grub_disk_close): Print debug messages when closing a disk.
47421 (grub_disk_read): Print debug messages when disk read fails.
47422 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
47423 filesystem type.
47424 * kern/partition.c: Include misc.h.
47425 (grub_partition_iterate): Print debug messages when detecting
47426 partition type.
47427
e2b8278c 474282006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47429
47430 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
47431 is negative.
47432 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
47433
97b2f2ff 474342006-10-26 Hollis Blanchard <hollis@penguinppc.org>
47435
47436 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47437 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
47438
6555d655 474392006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
47440
47441 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
47442 instead of sizeof(lv). Patch by Michael Guntsche.
47443
4d42b77f 474442006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
47445
47446 * disk/lvm.c: Rename VGS to VG_LIST.
47447 (grub_lvm_iterate): Change VGS->LV to VG-LV.
47448 (grub_lvm_open): Likewise.
47449 Thanks to Michael Guntsche for finding this bug.
47450
5d74d927 474512006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47452
47453 * configure.ac (AC_INIT): Bumped to 1.95.
47454
a1bb27e4 474552006-10-14 Robert Millan <rmh@aybabtu.com>
47456
47457 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
47458 with "/dev/.static/dev/md".
47459
e0994b8b 474602006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47461
47462 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
47463 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
47464 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
47465 DRIVE_NAME are always freed.
47466
47467 * util/i386/pc/biosdisk.c (make_device_name): Add one into
47468 DOS_PART, as a DOS partition is counted from one instead of zero
47469 now. Reported by Robert Millan.
47470
ddd5cee9 474712006-10-14 Robert Millan <rmh@aybabtu.com>
47472
47473 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
47474 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
47475 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
47476 string returned by grub_guess_root_device.
47477 * util/i386/pc/grub-setup.c: Likewise.
47478 * util/i386/pc/grub-probefs.c: Likewise.
47479
47480 * util/i386/pc/grub-probefs.c: Rename to ...
47481 * util/i386/pc/grub-probe.c: ... this.
47482 * DISTLIST: Remove grub-probefs, add grub-probe.
47483 * conf/i386-efi.rmk: Likewise.
47484 * conf/i386-pc.rmk: Likewise.
47485 * util/i386/pc/grub-install.in: Likewise.
47486
47487 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
47488 choose which information we want to print.
47489
2b002173 474902006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47491
47492 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
47493 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
47494 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
47495 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
47496 video/readers/tga.c and video/i386/pc/vbeutil.c.
47497
474982006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
47499
47500 Added support for RAID and LVM.
f19dbdb7 47501
2b002173 47502 * disk/lvm.c: New file.
47503 * disk/raid.c: Likewise.
47504 * include/grub/lvm.h: Likewise.
f19dbdb7 47505 * include/grub/raid.h: Likewise.
2b002173 47506 * include/grub/util/lvm.h: Likewise.
47507 * include/grub/util/raid.h: Likewise.
47508 * util/lvm.c: Likewise.
47509 * util/raid.c: Likewise.
47510
47511 * include/grub/disk.h (grub_disk_dev_id): Add
47512 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
47513 (grub_disk_get_size): New prototype.
47514 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
47515 returns a partition.
47516 (grub_disk_get_size): New function.
f19dbdb7 47517
2b002173 47518 * kern/i386/pc/init.c (make_install_device): Copy the prefix
47519 verbatim if grub_install_dos_part is -2.
47520
47521 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
47522 and LVM devices.
47523
47524 * util/i386/pc/grub-setup.c (setup): New argument
47525 MUST_EMBED. Force embedding of GRUB when the argument is
47526 true. Close FILE before returning.
47527 (main): Add support for RAID and LVM.
f19dbdb7 47528
2b002173 47529 * conf/common.rmk: Add RAID and LVM modules.
47530 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
47531 util/lvm.c.
47532 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
47533
47534 * kern/misc.c (grub_strstr): New function.
47535 * include/grub/misc.h (grub_strstr): New prototype.
47536
050548d0 475372006-10-10 Tristan Gingold <tristan.gingold@bull.net>
47538
47539 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
47540
da849d2d 475412006-10-05 Tristan Gingold <tristan.gingold@bull.net>
47542
47543 * kern/misc.c (grub_strtoull): Guess the base only if not
47544 specified.
47545
97b2f2ff 475462006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 47547
47548 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
47549 PowerMac support.
47550
97b2f2ff 475512006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 47552
47553 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
47554
47555 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
47556 Remove `flags' argument. All callers changed.
47557 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
47558 (IEEE1275_IHANDLE_INVALID): New variable.
47559 (IEEE1275_CELL_INVALID): New variable.
47560 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
47561 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
47562 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
47563 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
47564 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
47565 codes from Open Firmware. All callers updated.
47566 (grub_ieee1275_next_property): Directly return Open Firmware return
47567 code.
47568 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
47569 Standardize error checking from `grub_ieee1275_get_property'.
47570 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
47571 `devalias' to `aliases'. Correct comments. Consolidate error paths.
47572
97b2f2ff 475732006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 47574
47575 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
47576 `instance_to_package_args' to `instance_to_path_args'.
47577
47578 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
47579 `grub_ieee1275_chosen'.
47580
47581 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
47582 `grub_ieee1275_interpret'.
47583
97b2f2ff 475842006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 47585
47586 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
47587
97b2f2ff 475882006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 47589
47590 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
47591 (__cmpdi): Likewise.
47592
47593 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
47594 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
47595 `grub_ssize_t'.
47596
02bb8acc 47597 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 47598
47599 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
47600 to type `grub_ssize_t'.
47601 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
47602
7f9a8531 476032006-09-22 Marco Gerards <marco@gnu.org>
47604
47605 * normal/script.c (grub_script_create_cmdmenu): Skip leading
47606 newlines.
47607
b5ef1102 476082006-09-22 Marco Gerards <marco@gnu.org>
47609
47610 * commands/echo.c: New file.
47611
47612 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
47613
47614 * conf/common.rmk (echo_mod_SOURCES): New variable.
47615 (echo_mod_CFLAGS): Likewise.
47616 (echo_mod_LDFLAGS): Likewise.
47617
2cff3677 476182006-09-22 Marco Gerards <marco@gnu.org>
47619
47620 * normal/main.c (get_line): Malloc memory instead of using
47621 preallocated memory. Removed the arguments `cmdline' and
47622 `max_len'. Updated all callers.
47623
6ba4688b 476242006-09-22 Marco Gerards <marco@gnu.org>
47625
47626 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
47627 (normal_mod_DEPENDENCIES): Likewise.
47628
47629 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
47630 (normal_mod_DEPENDENCIES): Likewise.
47631
47632 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
47633
e02ac02c 476342006-09-22 Johan Rydberg <jrydberg@gnu.org>
47635
47636 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
47637 programs.
47638 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
47639 (normal_mod_DEPENDENCIES): Likewise.
47640 * conf/i386-pc.mk: Regenerate.
47641 * conf/i386-efi.mk: Likewise
47642 * conf/common.mk: Likewise.
47643 * conf/powerpc-ieee1275.mk: Likewise.
47644 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47645
8d252e44 476462006-09-22 Robert Millan <rmh@aybabtu.com>
47647
47648 Sync with i386 version.
47649 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
47650 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
47651
209bf7ac 476522006-09-21 Robert Millan <rmh@aybabtu.com>
47653
47654 Import from GRUB Legacy (lib/device.c):
47655 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
47656 (init_device_map) [__linux__]: Add support for I2O devices.
47657
6b146090 476582006-09-14 Marco Gerards <marco@gnu.org>
47659
47660 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
47661 `-melf_i386'.
47662
e38600a8 476632006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 47664
47665 * util/i386/pc/grub-install.in: Skip menu.lst when removing
47666 /boot/grub/*.lst.
78fa1790 47667
2952da5d 47668 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 47669
2952da5d 47670 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
47671 before adding it to device.map.
47672
01b82a64 476732006-08-15 Johan Rydberg <jrydberg@gnu.org>
47674
fe6b695a 47675 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 47676 compiles a file; using the -MD option.
47677 * conf/common.mk: Regenerate.
47678 * conf/i386-pc.mk: Likewise.
47679 * conf/i386-efi.mk: Likewise.
47680 * conf/powerpc-ieee1275.mk: Likewise.
47681 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47682
1064790d 476832006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47684
47685 Move the prototypes of grub_setjmp and grub_longjmp to
47686 cpu/setjmp.h, so that each architecture may specify different
47687 attributes.
f19dbdb7 47688
1064790d 47689 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47690 (grub_longjmp): Likewise.
47691 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47692 (grub_longjmp): Likewise.
47693 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47694 (grub_longjmp): Likewise.
47695
47696 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47697 [!GRUB_UTIL] (grub_longjmp): Removed.
47698
29dda3ed 476992006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47700
47701 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47702 "color!" method does not return any value.
47703
ad2a06ed 477042006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47705
47706 * include/grub/bitmap.h: New file.
47707
47708 * include/grub/i386/pc/vbeutil.h: Likewise.
47709
47710 * video/bitmap.c: Likewise.
47711
47712 * video/readers/tga.c: Likewise.
47713
47714 * video/i386/pc/vbeutil.c: Likewise.
47715
47716 * commands/videotest.c: Code cleanup and updated to reflect to new
47717 video API.
47718
47719 * term/gfxterm.c: Likewise.
47720
47721 * video/video.c: Likewise.
47722
47723 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47724 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47725 (bitmap_mod_SOURCES): New entry.
47726 (bitmap_mod_CFLAGS): Likewise.
47727 (bitmap_mod_LDFLAGS): Likewise.
47728 (tga_mod_SOURCES): Likewise.
47729 (tga_mod_CFLAGS): Likewise.
47730 (tga_mod_LDFLAGS): Likewise.
47731
47732 * include/grub/video.h (grub_video_blit_operators): New enum type.
47733 (grub_video_render_target): Changed as forward declaration and moved
47734 actual definition to be video driver specific.
47735 (grub_video_adapter.blit_bitmap): Added blitting operator.
47736 (grub_video_adapter.blit_render_target): Likewise.
47737 (grub_video_blit_bitmap): Likewise.
47738 (grub_video_blit_render_target): Likewise.
47739
47740 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47741 driver specific render target definition.
47742 (grub_video_vbe_map_rgba): Added driver internal helper.
47743 (grub_video_vbe_unmap_color): Updated to use
47744 grub_video_i386_vbeblit_info.
47745 (grub_video_vbe_get_video_ptr): Likewise.
47746
47747 * include/grub/i386/pc/vbeblit.h
47748 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47749 grub_video_i386_vbeblit_info.
47750 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47751 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47752 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47753 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47754 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47755 (grub_video_i386_vbeblit_index_index): Likewise.
47756 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47757 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47758 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47759 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47760 operator.
47761 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47762 operator.
47763
47764 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47765 include/grub/i386/pc/vbeblit.h.
47766
47767 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47768 Updated to use grub_video_i386_vbeblit_info.
47769 (grub_video_i386_vbefill_R8G8B8): Likewise.
47770 (grub_video_i386_vbefill_index): Likewise.
47771 (grub_video_i386_vbefill): Added generic filler.
47772
47773 * video/i386/pc/vbefill.c: Updated to reflect changes on
47774 include/grub/i386/pc/vbefill.h.
47775
47776 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47777 grub_video_i386_vbeblit_info.
47778 (grub_video_vbe_unmap_color): Likewise.
47779 (grub_video_vbe_blit_glyph): Likewise.
47780 (grub_video_vbe_scroll): Likewise.
47781 (grub_video_vbe_draw_pixel): Removed function.
47782 (grub_video_vbe_get_pixel): Likewise.
47783 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47784 updated code to use it.
47785 (common_blitter): Added common blitter for render target and bitmap.
47786 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47787 (grub_video_vbe_blit_render_target): Likewise.
47788
bc8c036d 477892006-07-30 Johan Rydberg <jrydberg@gnu.org>
47790
47791 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47792 is in text mode if there is no console control protocol instance
47793 available.
47794
684a8eff 477952006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47796
47797 * include/grub/video.h: Code cleanup.
47798
47799 * include/grub/i386/pc/vbe.h: Likewise.
47800
47801 * video/i386/pc/vbe.c: Likewise.
47802
47803 * video/i386/pc/vbeblit.c: Likewise.
47804
47805 * video/i386/pc/vbefill.c: Likewise.
47806
47807 * video/video.c: Likewise. Also added more comments.
47808
5915059b 478092006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47810
47811 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
47812 (struct grub_biosdisk_dap): Likewise.
47813
47814 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47815 linkage settings for all functions.
47816
90ce5d56 478172006-07-12 Marco Gerards <marco@gnu.org>
47818
47819 * configure.ac (--enable-mm-debug): Fix typo.
47820
47821 * genkernsyms.sh.in: Use proper quoting for `CC'.
47822
43e7f879 478232006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47824
47825 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47826 (normal_mod_ASFLAGS): Remove "-m32".
47827
4889bdec 478282006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47829
47830 * util/misc.c: Include config.h.
47831 [!HAVE_MEMALIGN]: Do not include malloc.h.
47832 (grub_memalign): Use posix_memalign, if present. Then, use
47833 memalign, if present. Otherwise, emit an error.
47834
47835 * util/grub-emu.c: Do not include malloc.h.
47836
47837 * include/grub/util/misc.h: Include unistd.h. This is required for
47838 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
47839 D. Eades III <hde@foobar-qux.org>.
47840
47841 * configure.ac (AC_GNU_SOURCE): Added.
47842 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
47843 type.
47844
fd39d4da 478452006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47846
47847 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47848 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47849
b786f3b5 478502006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47851
47852 * include/grub/types.h (grub_host_addr_t): Rename to
47853 grub_target_addr_t.
47854 (grub_host_off_t): Rename to grub_target_off_t.
47855 (grub_host_size_t): Rename to grub_target_size_t.
47856 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47857 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47858
47859 * include/grub/kernel.h (struct grub_module_header): Change type
47860 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47861 (grub_module_info): Likewise.
f19dbdb7 47862
051988bb 478632006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47864
47865 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47866 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47867 Velazquez <jesus.velazquez@gmail.com>.
47868
deae281b 478692006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47870
47871 Count partitions from 1 instead of 0 in the string representation
47872 of partitions. Still use 0-based internally.
f19dbdb7 47873
deae281b 47874 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47875 (sun_partition_map_iterate): Use grub_partition_t instead of
47876 struct grub_partition *. Cast DESC->START_CYLINDER to
47877 grub_uint64_t after converting the endian.
47878 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47879 (sun_partition_map_get_name): Add 1 to P->INDEX.
47880
47881 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47882 PCDATA->DOS_PART.
47883 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47884
47885 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47886 zero instead of one.
47887 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47888 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47889
47890 * partmap/apple.c (apple_partition_map_iterate): Change the type
47891 of POS to unsigned.
47892 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47893 (apple_partition_map_get_name): Add 1 into P->INDEX.
47894
47895 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47896 of POS to unsigned.
47897 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47898 calculate the offset of a partition.
47899 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47900 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47901
47902 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47903 SECTOR to grub_disk_addr_t.
47904 (acorn_partition_map_iterate): Likewise.
47905 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47906 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47907 top.
47908 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47909
47910 * kern/i386/pc/init.c (make_install_device): Add 1 into
47911 GRUB_INSTALL_DOS_PART.
47912
47913 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47914 conditional.
47915
524a1e6a 479162006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47917
47918 Clean up the code to support 64-bit addressing in disks and
47919 files. This change is not enough for filesystems yet.
f19dbdb7 47920
524a1e6a 47921 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47922 type of "start" to grub_uint64_t.
47923 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47924 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47925 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47926 convert addresses.
47927
47928 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47929 to grub_disk_addr_t.
47930
47931 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47932 string.
47933
47934 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47935
47936 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47937 to char *.
47938
47939 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47940
47941 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47942
47943 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47944
47945 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47946 to grub_off_t, to detect an error from grub_file_seek.
47947 (grub_multiboot_load_elf32): Likewise.
47948
47949 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47950 maximum unsigned long value when an overflow is detected.
47951 (grub_strtoull): New function.
47952 (grub_divmod64): Likewise.
47953 (grub_lltoa): use grub_divmod64.
47954
47955 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47956 grub_disk_addr_t.
47957 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47958 the pointer to next character. Use grub_strtoull instead of
47959 grub_strtoul.
47960 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47961 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47962 respectively.
47963
fe6b695a 47964 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 47965 return value is signed.
47966 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47967 test if OFFSET is less than zero, as OFFSET is unsigned now.
47968
47969 * kern/disk.c (struct grub_disk_cache): Change the type of
47970 "sector" to grub_disk_addr_t.
47971 (grub_disk_cache_get_index): Change the type of SECTOR to
47972 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47973 unsigned after shifting.
47974 (grub_disk_cache_invalidate): Change the type of SECTOR to
47975 grub_disk_addr_t.
47976 (grub_disk_cache_unlock): Likewise.
47977 (grub_disk_cache_store): Likewise.
47978 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47979 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47980 grub_disk_addr_t and grub_uint64_t, respectively.
47981 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47982 body, as the value of OFFSET is tweaked by
47983 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47984 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47985 respectively.
47986 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47987 body, as the value of OFFSET is tweaked by
47988 grub_disk_check_range. Change the types of LEN and N to
47989 grub_size_t.
47990
47991 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47992 and "saved_offset" to grub_off_t.
47993 (test_header): Cast BUF to char *.
47994 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47995 to char *.
47996 (grub_gzio_read): Change the types of OFFSET and SIZE to
47997 grub_off_t and grub_size_t, respectively.
47998
47999 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
48000 Removed.
48001 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
48002 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
48003 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
48004 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
48005 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
48006
48007 * include/grub/types.h (grub_off_t): Unconditionally set to
48008 grub_uint64_t.
48009 (grub_disk_addr_t): Changed to grub_uint64_t.
48010
48011 * include/grub/partition.h (struct grub_partition): Change the
48012 types of "start", "len" and "offset" to grub_disk_addr_t,
48013 grub_uint64_t and grub_disk_addr_t, respectively.
48014 (grub_partition_get_start): Return grub_disk_addr_t.
48015 (grub_partition_get_len): Return grub_uint64_t.
48016
48017 * include/grub/misc.h (grub_strtoull): New prototype.
48018 (grub_divmod64): Likewise.
48019
48020 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
48021 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
48022 grub_off_t, respectively.
48023 All callers and references changed.
48024
48025 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
48026 grub_size_t in "read".
48027 All callers and references changed.
48028
48029 * include/grub/file.h (struct grub_file): Change the types of
48030 "offset" and "size" to grub_off_t and grub_off_t,
48031 respectively. Change the type of SECTOR to grub_disk_addr_t in
48032 "read_hook".
48033 (grub_file_read): Change the type of LEN to grub_size_t.
48034 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
48035 grub_off_t.
48036 (grub_file_size): Return grub_off_t.
48037 (grub_file_tell): Likewise.
48038 All callers and references changed.
48039
48040 * include/grub/disk.h (struct grub_disk_dev): Change the types of
48041 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
48042 "write".
48043 (struct grub_disk): Change the type of "total_sectors" to
48044 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 48045 "read_hook".
524a1e6a 48046 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
48047 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
48048 (grub_disk_write): Likewise.
48049 All callers and references changed.
48050
48051 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
48052 char * for grub_strncmp to silence gcc.
48053 (grub_iso9660_mount): Likewise.
48054 (grub_iso9660_mount): Likewise.
48055 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
48056 return statement.
48057 (grub_iso9660_iterate_dir): Likewise.
48058 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
48059
48060 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
48061 LEN to grub_disk_addr_t and grub_size_t, respectively.
48062
48063 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
48064
48065 * fs/jfs.c (grub_jfs_read_file): Likewise.
48066
48067 * fs/minix.c (grub_jfs_read_file): Likewise.
48068
48069 * fs/sfs.c (grub_jfs_read_file): Likewise.
48070
48071 * fs/ufs.c (grub_jfs_read_file): Likewise.
48072
48073 * fs/xfs.c (grub_jfs_read_file): Likewise.
48074
48075 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
48076 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
48077 respectively.
48078
48079 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
48080 BLKNR to -1 instead of returning GRUB_ERRNO.
48081 (grub_ext2_read_file): Change the types of SECTOR and
48082 LEN to grub_disk_addr_t and grub_size_t, respectively.
48083
48084 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
48085 LEN to grub_disk_addr_t and grub_size_t, respectively.
48086
48087 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
48088 grub_file_read.
48089
48090 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
48091 string. Do not cast SECTOR explicitly.
48092
48093 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
48094 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
48095 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
48096 grub_disk_addr_t and grub_size_t, respectively. If the sector is
48097 over 2TB and LBA mode is not supported, raise an error.
48098 (get_safe_sectors): New function.
48099 (grub_biosdisk_read): Use get_safe_sectors.
48100 (grub_biosdisk_write): Likewise.
48101
48102 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
48103 (grub_efidisk_write): Likewise.
48104
48105 * disk/loopback.c (delete_loopback): Cosmetic changes.
48106 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
48107 correctly.
48108 (grub_loopback_open): Likewise.
48109 (grub_loopback_read): Likewise. Also, change the type of POS to
48110 grub_off_t, and fix the usage of grub_memset.
48111
48112 * commands/i386/pc/play.c: Include grub/machine/time.h.
48113
48114 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
48115 print FILE->SIZE.
48116
48117 * commands/configfile.c: Include grub/env.h.
48118
48119 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
48120 GRUB_ERRNO directly instead. Change the type of POS to
48121 grub_off_t. Follow the coding standard.
48122
48123 * commands/blocklist.c: Include grub/partition.h.
48124 (grub_cmd_blocklist): Return an error if the underlying device is
48125 not a disk. Take the starting sector of a partition into account,
48126 if a partition is used.
48127
48128 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
48129 a length field.
48130 (lba_mode): Support 64-bit addresses.
48131 (chs_mode): Likewise.
48132 (copy_buffer): Adapted to the new offsets of a length field and a
48133 segment field.
48134 (blocklist_default_start): Allocate 64-bit space.
48135
48136 * boot/i386/pc/boot.S (force_lba): Removed.
48137 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 48138 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 48139 space.
48140 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
48141 is useless.
48142 (lba_mode): Refactored to support a 64-bit address. More size
48143 optimization.
48144 (setup_sectors): Likewise.
48145
53af98ad 481462006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48147
48148 * DISTLIST: Added include/grub/i386/linux.h. Removed
48149 include/grub/i386/pc/linux.h
48150
48151 * configure.ac (AC_INIT): Bumped to 1.94.
48152
48153 * config.guess: Updated from gnulib.
48154 * config.sub: Likewise.
48155 * install-sh: Likewise.
48156 * mkinstalldirs: Likewise.
48157
b4c1940a 481582006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48159
48160 * conf/common.rmk (grub_modules_init.lst): Depended on
48161 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
48162 MODSRCFILES.
48163
48164 * genmk.rb (PModule::rule): Reverted the previous change.
48165
cfca1cfd 481662006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48167
48168 * conf/common.rmk (grub_modules_init.lst): Depends on
48169 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
48170 that the target does not exist before producing.
48171 (grub_modules_init.h): Remove the target before generating.
48172 (grub_emu_init.c): Likewise.
48173
48174 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
48175
aa6d7826 481762006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
48177
48178 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
48179 for the target-specific tests. Make sure that we also have the
48180 up-to-date target variables for those tests.
48181
26c607b9 481822006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48183
48184 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
48185 (PModule::rule): Likewise.
48186
0162321a 481872006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48188
48189 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
48190 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
48191 target-specific flags should be prefixed.
48192 (PModule::rule): Likewise.
48193
6c826348 481942006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
48195
48196 * configure.ac (CMP): Check if cmp is available explicitly.
48197
b977bf01 481982006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
48199
48200 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
48201 (target_cpu): New variable.
48202 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 48203
b977bf01 48204 * util/i386/pc/grub-install.in (host_cpu): Removed.
48205 (target_cpu): New variable.
48206 (pkglibdir): Use target_cpu instead of host_cpu.
48207
48208 * util/genmoddep.c: Removed.
f19dbdb7 48209
b977bf01 48210 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
48211 instead of GRUB_HOST_SIZEOF_VOID_P.
48212 * kern/dl.c: Likewise.
48213
48214 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
48215 ...
48216 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48217 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48218 (GRUB_TARGET_SIZEOF_LONG): ... this.
48219 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48220 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48221 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48222 to ...
48223 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48224 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48225 (GRUB_TARGET_SIZEOF_LONG): ... this.
48226 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48227 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48228 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48229 to ...
48230 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48231 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48232 (GRUB_TARGET_SIZEOF_LONG): ... this.
48233 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48234 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48235
48236 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
48237 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
48238 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
48239 instead of GRUB_HOST_SIZEOF_LONG.
48240 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
48241 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
48242 GRUB_CPU_WORDS_BIGENDIAN.
48243 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
48244 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
48245 grub_host_ssize_t.
48246
48247 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
48248 (genmoddep_SOURCES): Likewise.
48249 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
48250 (genmoddep_SOURCES): Likewise.
48251 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
48252 (genmoddep_SOURCES): Likewise.
48253 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
48254 Likewise.
48255 (genmoddep_SOURCES): Likewise.
48256
48257 * genmoddep.awk: New file.
48258
48259 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
48260 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
48261 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
48262 (PModule::rule): Likewise.
48263 (Program::rule): Likewise.
48264 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
48265 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
48266 respectively.
48267
48268 * configure.ac: Rewritten intensively to use host and target
48269 instead of build and host, respectively.
48270
48271 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
48272 (host_cpu): Removed.
48273 (target_cpu): New variable.
48274 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
48275 (BUILD_CC): Removed.
48276 (BUILD_CFLAGS): Likewise.
48277 (BUILD_CPPFLAGS): Likewise.
48278 (TARGET_CC): New variable.
48279 (TARGET_CFLAGS): Likewise.
48280 (TARGET_CPPFLAGS): Likewise.
48281 (TARGET_LDFLAGS): Likewise.
48282 (AWK): Likewise.
48283 (include): Use target_cpu instead of host_cpu.
48284 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 48285
b977bf01 48286 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
48287
f09771a1 482882006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
48289
48290 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
48291 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
48292 field 'false' to 'exec_on_false'.
48293 (grub_script_create_cmdif): Renamed argument names to reflect above
48294 changes.
48295
48296 * normal/execute.c (grub_script_execute_cmdif): Likewise.
48297
48298 * normal/script.c (grub_script_create_cmdif): Likewise.
48299
118f4fb3 483002006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
48301
48302 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
48303 top.
48304 (grub_hfsplus_btree_recptr): Likewise.
48305 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
48306 FILEBLOCK both to pass a block number and store next block
48307 number.
48308 (grub_hfsplus_read_block): Rewritten heavily to support an extent
48309 overflow file correctly. Specify errors appropriately, because
48310 fshelp expects that GRUB_ERRNO is set when fails. Reuse
48311 grub_hfsplus_btree_recptr to get the pointer to a found key.
48312 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
48313 is found.
48314
48315 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
48316 linux.mod.
48317 (_linux_mod_SOURCES): New variable.
48318 (_linux_mod_CFLAGS): Likewise.
48319 (_linux_mod_LDFLAGS): Likewise.
48320 (linux_mod_SOURCES): Likewise.
48321 (linux_mod_CFLAGS): Likewise.
48322 (linux_mod_LDFLAGS): Likewise.
48323
48324 * DISTLIST: Added loader/i386/efi/linux.c,
48325 loader/i386/efi/linux_normal.c and
48326 include/grub/i386/efi/loader.h.
48327
48328 * loader/i386/efi/linux.c: New file.
48329 * loader/i386/efi/linux_normal.c: Likewise.
48330 * include/grub/i386/efi/loader.h: Likewise.
48331
89a7d726 483322006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
48333
48334 * commands/blocklist.c: New file.
48335
48336 * DISTLIST: Added commands/blocklist.c.
48337
48338 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 48339 color for the background, and a darker color for the foreground.
89a7d726 48340 (grub_console_checkkey): Return READ_KEY.
48341 (grub_console_cls): Set the background to
48342 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
48343
48344 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
48345
48346 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
48347 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
48348
48349 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
48350 prototype.
48351
48352 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
48353 BG. The spec is wrong again.
48354
48355 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
48356 prototype.
48357 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
48358
48359 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48360 commands/blocklist.c.
48361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 48362
89a7d726 48363 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
48364 (blocklist_mod_SOURCES): New variable.
48365 (blocklist_mod_CFLAGS): Likewise.
48366 (blocklist_mod_LDFLAGS): Likewise.
48367
75c8f258 483682006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
48369
48370 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
48371 duplication.
48372 (lba_mode): Use %eax more intensively to reduce the code size.
48373
da2eb181 483742006-05-20 Marco Gerards <marco@gnu.org>
48375
48376 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
48377
48378 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
48379 for `menuentry'.
48380 (script): Accept leading newlines.
48381 (newlines): New rule to describe 0 or more newlines.
48382 (commands): Accept `command' with trailing newline. Fixed the
48383 order in which arguments were passed to `grub_script_add_cmd'.
48384 Accept commands separated by newlines.
48385 (function): Changed to accept newlines.
48386 (menuentry) Rewritten.
48387
48388 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
48389 front of the list, instead of to the end.
48390
577b4050 483912006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
48392
48393 * util/i386/pc/grub-install.in (bindir): New variable.
48394 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
48395 Shaver <lbgwjl@gmail.com>.
48396
0d6e1189 483972006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
48398
48399 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
48400 grub/machine/linux.h
48401 * loader/i386/pc/linux.c: Likewise.
48402
48403 * include/grub/i386/pc/linux.h: Moved to ...
48404 * include/grub/i386/linux.h: ... here.
48405
48406 * include/grub/i386/linux.h (struct linux_kernel_params): New
48407 struct.
f19dbdb7 48408
31b86e9f 484092006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
48410
48411 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
48412 checking.
48413 (grub_video_vbe_blit_glyph): Likewise.
48414 (grub_video_vbe_blit_bitmap): Likewise.
48415 (grub_video_vbe_blit_render_target): Likewise.
48416
83b984de 484172006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
48418
48419 * configure.ac (--with-platform): Properly quote the square
48420 brackets.
48421
5f0413bd 484222006-05-08 Marco Gerards <marco@gnu.org>
48423
48424 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
48425 this...
48426 (kernel_elf_HEADERS): ...to this. Updated all users.
48427 (grubof_symlist.c): Renamed from this...
48428 (kernel_elf_symlist.c): ...to this. Updated all users.
48429 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48430 (grubof_SOURCES): Renamed from this...
48431 (kernel_elf_SOURCES): ...to this.
48432 (grubof_HEADERS): Renamed from this...
48433 (kernel_elf_HEADERS): ...to this.
48434 (grubof_CFLAGS): Renamed from this...
48435 (kernel_elf_CFLAGS): ...to this.
48436 (grubof_ASFLAGS): Renamed from this...
48437 (kernel_elf_ASFLAGS): ...to this.
48438 (grubof_LDFLAGS): Renamed from this...
48439 (kernel_elf_LDFLAGS): ...to this.
48440
48441 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
48442 this...
48443 (kernel_elf_HEADERS): ...to this. Updated all users.
48444 (grubof_symlist.c): Renamed from this...
48445 (kernel_elf_symlist.c): ...to this. Updated all users.
48446 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48447 (grubof_SOURCES): Renamed from this...
48448 (kernel_elf_SOURCES): ...to this.
48449 (grubof_HEADERS): Renamed from this...
48450 (kernel_elf_HEADERS): ...to this.
48451 (grubof_CFLAGS): Renamed from this...
48452 (kernel_elf_CFLAGS): ...to this.
48453 (grubof_ASFLAGS): Renamed from this...
48454 (kernel_elf_ASFLAGS): ...to this.
48455 (grubof_LDFLAGS): Renamed from this...
48456 (kernel_elf_LDFLAGS): ...to this.
48457
48458 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
48459 `kernel.elf' instead of `grubof'.
48460
05568c2e 484612006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
48462
48463 Add --with-platform to configure. Use pkglibdir instead of
48464 pkgdatadir. This is reported by Roger Leigh.
48465
48466 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
48467 (host_vendor): Likewise.
48468 (host_os): Likewise.
48469 (pkgdatadir): Likewise.
48470 (platform): New variable.
48471 (pkglibdir): Likewise.
48472 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 48473
05568c2e 48474 * util/i386/pc/grub-install.in (datadir): Removed.
48475 (host_vendor): Likewise.
48476 (host_os): Likewise.
48477 (pkgdatadir): Likewise.
48478 (platform): New variable.
48479 (pkglibdir): Likewise.
48480 Use PKGLIBDIR instead of PKGDATADIR.
48481
48482 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
48483 instead of GRUB_DATADIR.
48484 (main): Likewise.
48485 * util/i386/pc/grub-mkimage.c (usage): Likewise.
48486 (main): Likewise.
48487 * util/i386/efi/grub-mkimage.c (usage): Likewise.
48488 (main): Likewise.
48489
48490 * configure.ac (--with-platform): New option.
48491 Use PLATFORM instead of HOST_VENDOR to specify a platform.
48492
48493 * Makefile.in: Include a makefile based on PLATFORM instead of
48494 HOST_VENDOR.
48495 (pkgdatadir): Not appended by the machine type.
48496 (pkglibdir): Appended by the machine type.
48497 (host_vendor): Removed.
48498 (platform): New variable.
48499 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
48500 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
48501 (uninstall): Likewise.
48502
4e93851c 485032006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
48504
48505 Use the environment context in the menu. Remove the commands
48506 "default" and "timeout", and use variables instead.
f19dbdb7 48507
4e93851c 48508 * normal/menu.c: Include grub/env.h.
48509 (print_entry): Cast TITLE to silence gcc.
48510 (get_timeout): New function.
48511 (set_timeout): Likewise.
48512 (get_entry_number): Likewise.
48513 (run_menu): Use a default entry, a fallback entry and a timeout
48514 in the environment variables "default", "fallback" and
48515 "timeout". Also, tweak the default entry if it is not within the
48516 current menu entries.
48517 (grub_menu_run): Use a fallback entry in the environment variable
48518 "fallback".
48519
48520 * normal/main.c (read_config_file): Do not initialize
48521 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
48522 NEWMENU->TIMEOUT.
48523 (grub_normal_execute): Use a data slot to store the menu.
48524
48525 * include/grub/normal.h (struct grub_menu): Removed default_entry,
48526 fallback_entry and timeout.
48527 (struct grub_menu_list): Removed.
48528 (grub_menu_list_t): Likewise.
48529 (struct grub_context): Likewise.
48530 (grub_context_t): Likewise.
48531 (grub_context_get): Likewise.
48532 (grub_context_get_current_menu): Likewise.
48533 (grub_context_push_menu): Likewise.
48534 (grub_context_pop_menu): Likewise.
48535 (grub_default_init): Likewise.
48536 (grub_default_fini): Likewise.
48537 (grub_timeout_init): Likewise.
48538 (grub_timeout_fini): Likewise.
48539
48540 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
48541 and timeout.mod.
48542 (normal_mod_SOURCES): Removed normal/context.c.
48543
48544 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
48545 commands/default.c, commands/timeout.c and normal/context.c.
48546 (normal_mod_SOURCES): Removed normal/context.c.
48547
48548 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
48549 commands/timeout.c and normal/context.c.
48550 (normal_mod_SOURCES): Removed normal/context.c.
48551
48552 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
48553 commands/default.c, commands/timeout.c and normal/context.c.
48554 (normal_mod_SOURCES): Removed normal/context.c.
48555
48556 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
48557 timeout.mod.
48558 (default_mod_SOURCES): Removed.
48559 (default_mod_CFLAGS): Likewise.
48560 (default_mod_LDFLAGS): Likewise.
48561 (timeout_mod_SOURCES): Removed.
48562 (timeout_mod_CFLAGS): Likewise.
48563 (timeout_mod_LDFLAGS): Likewise.
48564
48565 * DISTLIST: Removed commands/default.c, commands/timeout.c and
48566 normal/context.c.
48567
48568 * commands/default.c: Removed.
48569 * commands/timeout.c: Likewise.
48570 * normal/context.c: Likewise.
48571
1eb9cc1d 485722006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
48573
48574 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
48575
385bd9c1 485762006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
48577
48578 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
48579 "next" to "prev" for readability.
48580 (struct grub_env_sorted_var): New struct.
48581 (grub_env_context): Renamed to ...
48582 (initial_context): ... this.
48583 (grub_env_var_context): Renamed to ...
48584 (current_context): ... this.
48585 (grub_env_find): Look only at CURRENT_CONTEXT.
48586 (grub_env_context_open): Rewritten to copy exported variables from
48587 previous context.
48588 (grub_env_context_close): Rewritten according to the new
48589 scheme. Also, add an assertion to prevent the initial context from
48590 removed.
48591 (grub_env_insert): Removed the code for the sorted list.
48592 (grub_env_remove): Likewise.
48593 (grub_env_export): Simply mark the variable with
48594 GRUB_ENV_VAR_GLOBAL.
48595 (grub_env_set): A cosmetic change for naming consistency.
48596 (grub_env_get): Likewise.
48597 (grub_env_unset): Likewise.
48598 (grub_env_iterate): Rewritten to sort variables within this
48599 function.
48600 (grub_register_variable_hook): Fixed for naming consistency. Call
48601 grub_env_find again, only if NAME is not found at the first time.
48602 (mangle_data_slot_name): New function.
48603 (grub_env_set_data_slot): Likewise.
48604 (grub_env_get_data_slot): Likewise.
48605 (grub_env_unset_data_slot): Likewise.
48606
48607 * include/grub/env.h (grub_env_var_type): New enum.
48608 (GRUB_ENV_VAR_LOCAL): New constant.
48609 (GRUB_ENV_VAR_GLOBAL): Likewise.
48610 (GRUB_ENV_VAR_DATA): Likewise.
48611 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
48612 "type".
48613 (grub_env_set): Replace VAR with NAME for consistency.
48614 (grub_register_variable_hook): Likewise.
48615 (grub_env_export): Specify the name of the argument.
48616 (grub_env_set_data_slot): New prototype.
48617 (grub_env_get_data_slot): Likewise.
48618 (grub_env_unset_data_slot): Likewise.
48619
7f362539 486202006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48621
48622 Extend the loader so that GRUB can accept a loader which comes
48623 back to GRUB when a loaded image exits. Also, this change adds
48624 support for a chainloader on EFI.
f19dbdb7 48625
7f362539 48626 * term/efi/console.c: Include grub/misc.h.
48627 (grub_console_checkkey): Display a scan code on the top for
48628 debugging. This will be removed once the EFI port gets stable.
48629 Correct the scan code mapping.
48630
48631 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
48632 allocate memory from larger regions, in order to reduce the number
48633 of allocated regions. Otherwise, the MacOSX loader panics.
48634 (filter_memory_map): Avoid less than 1MB for compatibility with
48635 other loaders.
48636 (add_memory_regions): Allocate from the tail of a region, if
48637 possible, to avoid allocating a region near to 1MB, for the MacOSX
48638 loader.
48639
48640 * kern/efi/init.c (grub_efi_set_prefix): Specify
48641 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
48642
48643 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
48644 argument IMAGE_HANDLE and specify it to get a loaded image.
48645 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
48646 grub_efi_get_loaded_image.
fe6b695a 48647 (grub_efi_get_filename): Divide the length by the size of
7f362539 48648 grub_efi_char16_t.
48649 (grub_efi_get_device_path): New function.
48650 (grub_efi_print_device_path): Print End Device Path nodes. Divide
48651 the length by the size of grub_efi_char16_t for a file path device
48652 path node.
48653
48654 * kern/loader.c (grub_loader_noreturn): New variable.
48655 (grub_loader_set): Accept a new argument NORETURN. Set
48656 GRUB_LOADER_NORETURN to NORETURN.
48657 All callers changed.
48658 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
48659 grub_machine_fini.
48660
48661 * include/grub/efi/efi.h (grub_efi_get_device_path): New
48662 prototype.
48663 (grub_efi_get_loaded_image): Take an argument to specify an image
48664 handle.
48665
48666 * include/grub/loader.h (grub_loader_set): Added one more argument
48667 NORETURN.
48668
48669 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
48670 instead of grub_efi_open_protocol.
48671 (grub_efidisk_get_device_name): Likewise.
48672 (grub_efidisk_close): Print a newline.
48673 (grub_efidisk_get_device_handle): Fixed to use
48674 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48675 GRUB_EFI_DEVICE_PATH_TYPE.
48676
48677 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48678 * kern/efi/efi.c (device_path_guid): ... here.
48679
48680 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48681 chain.mod.
48682 (kernel_mod_HEADERS): Added efi/disk.h.
48683 (_chain_mod_SOURCES): New variable.
48684 (_chain_mod_CFLAGS): Likewise.
48685 (_chain_mod_LDFLAGS): Likewise.
48686 (chain_mod_SOURCES): Likewise.
48687 (chain_mod_CFLAGS): Likewise.
48688 (chain_mod_LDFLAGS): Likewise.
48689
48690 * DISTLIST: Added include/grub/efi/chainloader.h,
48691 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48692
48693 * include/grub/efi/chainloader.h: New file.
48694 * loader/efi/chainloader.c: Likewise.
48695 * loader/efi/chainloader_normal.c: Likewise.
48696
c0111d6e 486972006-04-30 Marco Gerards <marco@gnu.org>
48698
48699 * commands/configfile.c (grub_cmd_source): New function.
48700 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48701 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48702
df5341da 487032006-04-30 Marco Gerards <marco@gnu.org>
48704
48705 * normal/execute.c (grub_script_execute_cmd): Change the return
48706 type to `grub_err_t'. Correctly return the error.
48707 (grub_script_execute_cmdline): In case a command line is not a
48708 command or a function, try to interpret it as an assignment.
48709
f85934bd 487102006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48711
48712 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48713 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48714 skip a node whose name is obviously invalid as UTF-16,
48715 i.e. contains a NUL character. Stop the iteration when the last
48716 directory entry is found. Instead of using the return value of
48717 grub_hfsplus_btree_iterate_node, store the value in RET and use
48718 it, because the iterator can be stopped by the last directory
48719 entry.
48720
8f8a2cf8 487212006-04-30 Marco Gerards <marco@gnu.org>
48722
48723 * include/grub/env.h (grub_env_export): New prototype. Reported
48724 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48725
a27e84ce 487262006-04-30 Marco Gerards <marco@gnu.org>
48727
48728 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48729 size of the extents in a catalog file record.
48730
eaef0553 487312006-04-29 Marco Gerards <marco@gnu.org>
48732
48733 * commands/configfile.c (grub_cmd_configfile): Execute the
48734 configfile within its own context.
48735
48736 * include/grub/env.h (grub_env_context_open): New prototype.
48737 (grub_env_context_close): Likewise.
48738
48739 * kern/env.c (grub_env): Removed.
48740 (grub_env_sorted): Likewise.
48741 (grub_env_context): New variable.
48742 (grub_env_var_context): Likewise.
48743 (grub_env_find): Search both the active context and the global
48744 context.
48745 (grub_env_context_open): New function.
48746 (grub_env_context_close): Likewise.
48747 (grub_env_insert): Likewise.
48748 (grub_env_remove): Likewise.
48749 (grub_env_export): Likewise.
48750 (grub_env_set): Changed to use helper functions to avoid code
48751 duplication.
48752 (grub_env_iterate): Rewritten so both the current context and the
48753 global context are being used.
48754
48755 * normal/command.c (export_command): New function.
48756 (grub_command_init): Register the `export' function.
48757
7b455f4d 487582006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48759
48760 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48761 explicitly to suppress gcc's warnings.
48762 * fs/fat.c (grub_fat_find_dir): Likewise.
48763 (grub_fat_label): Likewise.
48764 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48765 (grub_xfs_mount): Likewise.
48766 (grub_xfs_label): Likewise.
48767 * fs/affs.c (grub_affs_mount): Likewise.
48768 (grub_affs_label): Likewise.
48769 (grub_affs_iterate_dir): Likewise.
48770 * fs/sfs.c (grub_sfs_mount): Likewise.
48771 (grub_sfs_iterate_dir): Likewise.
48772 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48773 * fs/hfs.c (grub_hfs_mount): Likewise.
48774 (grub_hfs_cmp_catkeys): Likewise.
48775 (grub_hfs_find_dir): Likewise.
48776 (grub_hfs_dir): Likewise.
48777 (grub_hfs_label): Likewise.
48778 * fs/jfs.c (grub_jfs_mount): Likewise.
48779 (grub_jfs_opendir): Likewise.
48780 (grub_jfs_getent): Likewise.
48781 (grub_jfs_lookup_symlink): Likewise.
48782 (grub_jfs_label): Likewise.
48783 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48784 (grub_hfsplus_iterate_dir): Likewise.
48785 (grub_hfsplus_btree_iterate_node): Made static.
48786
48787 * util/grub-emu.c (prefix): New variable.
48788 (grub_machine_set_prefix): New function.
48789 (main): Do not set the environment variable "prefix" here. Only
48790 set PREFIX, which is used later by grub_machine_set_prefix.
48791
48792 * include/grub/video.h: Do not include grub/symbol.h.
48793 (grub_video_register): Not exported. This symbol is not defined in
48794 the kernel.
48795 (grub_video_unregister): Likewise.
48796 (grub_video_iterate): Likewise.
48797 (grub_video_setup): Likewise.
48798 (grub_video_restore): Likewise.
48799 (grub_video_get_info): Likewise.
48800 (grub_video_get_blit_format): Likewise.
48801 (grub_video_set_palette): Likewise.
48802 (grub_video_get_palette): Likewise.
48803 (grub_video_set_viewport): Likewise.
48804 (grub_video_get_viewport): Likewise.
48805 (grub_video_map_color): Likewise.
48806 (grub_video_map_rgb): Likewise.
48807 (grub_video_map_rgba): Likewise.
48808 (grub_video_fill_rect): Likewise.
48809 (grub_video_blit_glyph): Likewise.
48810 (grub_video_blit_bitmap): Likewise.
48811 (grub_video_blit_render_target): Likewise.
48812 (grub_video_scroll): Likewise.
48813 (grub_video_swap_buffers): Likewise.
48814 (grub_video_create_render_target): Likewise.
48815 (grub_video_delete_render_target): Likewise.
48816 (grub_video_set_active_render_target): Likewise.
48817
48818 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48819 Undefined.
48820 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48821
48822 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48823 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48824 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48825 instead of $(srcdir)/genkernsyms.sh.
48826
48827 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48828 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48829 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48830 instead of $(srcdir)/genkernsyms.sh.
48831
48832 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
48833 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48834 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48835 instead of $(srcdir)/genkernsyms.sh.
48836
48837 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
48838 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48839 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48840 instead of $(srcdir)/genkernsyms.sh.
48841
48842 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
48843 genkernsyms.sh.
48844
48845 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48846 genkernsyms.sh.
48847 (gensymlist.sh): New target.
48848 (genkernsyms.sh): Likewise.
48849
48850 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48851 genkernsyms.sh.in and gensymlist.sh.in.
48852
48853 * genkernsyms.sh: Removed.
48854 * gensymlist.sh: Likewise.
f19dbdb7 48855
7b455f4d 48856 * genkernsyms.sh.in: New file.
48857 * gensymlist.sh.in: Likewise.
48858
1885bb27 488592006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48860
48861 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48862 clobber "prefix", since we may have already set it manually.
48863
71538dff 488642006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48865
48866 * kern/misc.c (abort): New alias for grub_abort.
48867
2965c7cc 488682006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48869
48870 A new machine-specific function "grub_machine_set_prefix" is
48871 defined. This is called after loading modules, so that a prefix
48872 initialization can use modules. Also, this change adds an
48873 intensive debugging feature for the memory manager via the
48874 configure option "--enable-mm-debug".
f19dbdb7 48875
2965c7cc 48876 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48877 PART.LEN.
48878
48879 * kern/sparc64/ieee1275/init.c (abort): Removed.
48880 (grub_stop): Likewise.
48881 (grub_exit): New function.
48882 (grub_set_prefix): Renamed to ...
48883 (grub_machine_set_prefix): ... this.
48884 (grub_machine_init): Do not call grub_set_prefix.
48885
48886 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48887 (grub_machine_set_prefix): ... this.
48888 (grub_machine_init): Do not call grub_set_prefix.
48889
48890 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
48891 (grub_machine_init): Do not set the prefix here.
48892
48893 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48894
48895 * kern/efi/init.c: Include grub/mm.h.
48896 (grub_efi_set_prefix): New function.
48897
48898 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48899 (grub_efi_get_filename): New function.
48900 (grub_print_device_path): Renamed to ...
48901 (grub_efi_print_device_path): ... this.
48902
48903 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48904 [MM_DEBUG] (grub_realloc): Likewise.
48905 [MM_DEBUG] (grub_free): Likewise.
48906 [MM_DEBUG] (grub_memalign): Likewise.
48907 [MM_DEBUG] (grub_mm_debug): New variable.
48908 [MM_DEBUG] (grub_debug_malloc): New function.
48909 [MM_DEBUG] (grub_debug_free): New function.
48910 [MM_DEBUG] (grub_debug_realloc): New function.
48911 [MM_DEBUG] (grub_debug_memalign): New function.
48912
48913 * kern/misc.c (grub_abort): Print a newline to distinguish
48914 the message.
48915
48916 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48917 grub_set_root_dev after loading modules. This is necessary when
48918 setting a prefix depends on modules.
48919
48920 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48921 (grub_efi_print_device_path): ... this.
48922 (grub_efi_get_filename): New prototype.
48923 (grub_efi_set_prefix): Likewise.
48924
48925 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48926 and grub/disk.h.
48927 (grub_efidisk_get_device_handle): New prototype.
48928 (grub_efidisk_get_device_name): Likewise.
48929
48930 * include/grub/mm.h: Include config.h.
48931 (MM_DEBUG): Removed.
48932 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48933 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48934 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48935 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48936 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48937 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48938 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48939 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48940 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48941
48942 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48943
48944 * disk/efi/efidisk.c: Include grub/partition.h.
48945 (iterate_child_devices): New function.
48946 (add_device): First, compare only last device path nodes, so that
48947 devices are sorted by the types.
48948 (grub_efidisk_get_device_handle): New function.
48949 (grub_efidisk_get_device_name): Likewise.
48950
48951 * configure.ac (--enable-mm-debug): New option to enable the
48952 memory manager debugging feature. This makes the binary much
48953 bigger, so is disabled by default.
48954
9cacaa17 489552006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48956
48957 Use grub_abort instead of grub_stop, and grub_exit must be
48958 define in each architecture now. Also, this change adds support
48959 for EFI disks.
f19dbdb7 48960
9cacaa17 48961 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48962 (grub_getkey): New function.
48963 (grub_term_get_current): Likewise.
48964
48965 * util/i386/pc/grub-setup.c: Include grub/term.h.
48966 (grub_getkey): New function.
48967 (grub_term_get_current): Likewise.
48968
48969 * util/misc.c (grub_stop): Renamed to ...
48970 (grub_exit): ... this.
48971
48972 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48973 (grub_exit): ... this.
48974 (grub_machine_init): Use grub_abort instead of abort.
48975 (grub_stop): Removed.
48976
48977 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48978 abort.
48979
48980 * kern/i386/pc/startup.S (grub_exit): New function.
48981 (cold_reboot): New label.
48982
48983 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48984 (grub_efi_init): Call grub_efidisk_init.
48985 (grub_efi_fini): Call grub_efidisk_fini.
48986
48987 * kern/efi/efi.c: Include grub/mm.h.
48988 (grub_efi_console_control_guid): Renamed to ...
48989 (console_control_guid): ... this.
48990 (grub_efi_loaded_image_guid): Renamed to ...
48991 (loaded_image_guid): ... this.
48992 (grub_efi_locate_handle): New function.
48993 (grub_efi_open_protocol): Likewise.
48994 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48995 GRUB_EFI_CONSOLE_CONTROL_GUID.
48996 (grub_efi_exit): Removed.
48997 (grub_stop): Likewise.
48998 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48999 (grub_exit): New function.
49000 (grub_print_device_path): Likewise.
49001
49002 * kern/rescue.c (grub_rescue_cmd_exit): New function.
49003 (grub_enter_rescue_mode): Register "exit".
49004
49005 * kern/misc.c (grub_real_dprintf): A cosmetic change.
49006 (grub_abort): New function.
49007
49008 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
49009
49010 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
49011
49012 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
49013
49014 * include/grub/efi/efi.h (grub_efi_exit): Removed.
49015 (grub_print_device_path): New prototype.
49016 (grub_efi_locate_handle): Likewise.
49017 (grub_efi_open_protocol): Likewise.
49018
49019 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
49020 * disk/efi/efidisk.c: Likewise.
49021
49022 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
49023
49024 * include/grub/efi/console_control.h
49025 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
49026
49027 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
49028 last 8 bytes as an array.
49029 (GRUB_EFI_DISK_IO_GUID): New macro.
49030 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
49031 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
49032 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
49033 grub_uint8_t.
49034 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
49035 (struct grub_efi_device_path): Rename the member "sub_type" to
49036 "subtype".
49037 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
49038 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
49039 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
49040 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
49041 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
49042 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
49043 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
49044 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
49045 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
49046 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
49047 (struct grub_efi_pci_device_path): New structure.
49048 (grub_efi_pci_device_path_t): New type.
49049 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
49050 (struct grub_efi_pccard_device_path): New structure.
49051 (grub_efi_pccard_device_path_t): New type.
49052 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
49053 (struct grub_efi_memory_mapped_device_path): New structure.
49054 (grub_efi_memory_mapped_device_path_t): New type.
49055 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
49056 (struct grub_efi_vendor_device_path): New structure.
49057 (grub_efi_vendor_device_path_t): New type.
49058 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
49059 (struct grub_efi_controller_device_path): New structure.
49060 (grub_efi_controller_device_path_t): New type.
49061 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
49062 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
49063 (struct grub_efi_acpi_device_path): New structure.
49064 (grub_efi_acpi_device_path_t): New type.
49065 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
49066 (struct grub_efi_expanded_acpi_device_path): New structure.
49067 (grub_efi_expanded_acpi_device_path_t): New type.
49068 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
49069 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
49070 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
49071 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
49072 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
49073 (struct grub_efi_atapi_device_path): New structure.
49074 (grub_efi_atapi_device_path_t): New type.
49075 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
49076 (struct grub_efi_fibre_channel_device_path): New structure.
49077 (grub_efi_fibre_channel_device_path_t): New type.
49078 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
49079 (struct grub_efi_1394_device_path): New structure.
49080 (grub_efi_1394_device_path_t): New type.
49081 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
49082 (struct grub_efi_usb_device_path): New structure.
49083 (grub_efi_usb_device_path_t): New type.
49084 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
49085 (struct grub_efi_usb_class_device_path): New structure.
49086 (grub_efi_usb_class_device_path_t): New type.
49087 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
49088 (struct grub_efi_i2o_device_path): New structure.
49089 (grub_efi_i2o_device_path_t): New type.
49090 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
49091 (struct grub_efi_mac_address_device_path): New structure.
49092 (grub_efi_mac_address_device_path_t): New type.
49093 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
49094 (struct grub_efi_ipv4_device_path): New structure.
49095 (grub_efi_ipv4_device_path_t): New type.
49096 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
49097 (struct grub_efi_ipv6_device_path): New structure.
49098 (grub_efi_ipv6_device_path_t): New type.
49099 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
49100 (struct grub_efi_infiniband_device_path): New structure.
49101 (grub_efi_infiniband_device_path_t): New type.
49102 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
49103 (struct grub_efi_uart_device_path): New structure.
49104 (grub_efi_uart_device_path_t): New type.
49105 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
49106 (struct grub_efi_vendor_messaging_device_path): New structure.
49107 (grub_efi_vendor_messaging_device_path_t): New type.
49108 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
49109 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
49110 (struct grub_efi_hard_drive_device_path): New structure.
49111 (grub_efi_hard_drive_device_path_t): New type.
49112 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
49113 (struct grub_efi_cdrom_device_path): New structure.
49114 (grub_efi_cdrom_device_path_t): New type.
49115 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
49116 (struct grub_efi_vendor_media_device_path): New structure.
49117 (grub_efi_vendor_media_device_path_t): New type.
49118 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
49119 (struct grub_efi_file_path_device_path): New structure.
49120 (grub_efi_file_path_device_path_t): New type.
49121 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
49122 (struct grub_efi_protocol_device_path): New structure.
49123 (grub_efi_protocol_device_path_t): New type.
49124 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
49125 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
49126 (struct grub_efi_bios_device_path): New structure.
49127 (grub_efi_bios_device_path_t): New type.
49128 (struct grub_efi_disk_io): New structure.
49129 (grub_efi_disk_io_t): New type.
49130 (struct grub_efi_block_io_media): New structure.
49131 (grub_efi_block_io_media_t): New type.
49132 (struct grub_efi_block_io): New structure.
49133 (grub_efi_block_io_t): New type.
49134
49135 * include/grub/misc.h (grub_stop): Removed.
49136 (grub_exit): New prototype.
49137 (grub_abort): Likewise.
49138
49139 * include/grub/disk.h (enum grub_disk_dev_id): Added
49140 GRUB_DISK_DEVICE_EFIDISK_ID.
49141
49142 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
49143 disk/efi/efidisk.c.
49144 (kernel_syms.lst): Remove the target if an error occurs.
49145
49986a9f 491462006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
49147
49148 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
49149 as it was simply too buggy.
49150
970d3b8a 491512006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
49152
49153 * kern/misc.c (grub_lltoa): New function.
49154 (grub_vsprintf): Added support for the long long suffix,
49155 i.e. "ll".
49156
ff04ec24 491572006-04-20 Hollis Blanchard <hollis@penguinppc.org>
49158
49159 * Makefile.in (LDFLAGS): Add variable.
49160 (LD): Remove variable.
49161 * configure.ac: Add -m32 to LDFLAGS.
49162 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
49163 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
49164 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
49165 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
49166 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
49167 variables.
49168 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
49169 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
49170 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
49171
37e5e1a4 491722006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
49173
49174 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
49175 length for unknown glyph.
49176
c352d8dd 491772006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
49178
2eab1c0d 49179 Add support for pre-loaded modules into the EFI port.
f19dbdb7 49180
2eab1c0d 49181 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
49182 completely. Accept one more argument DIR. The caller has changed.
49183
49184 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
49185
49186 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
49187 (grub_efi_loaded_image_guid): New variable.
49188 (grub_efi_get_loaded_image): New function.
49189 (grub_arch_modules_addr): Likewise.
49190
49191 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
49192 prototype.
49193
49194 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
49195 (struct grub_efi_loaded_image): New structure.
49196 (grub_efi_loaded_image_t): New type.
49197
491982006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 49199
c352d8dd 49200 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
49201 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
49202 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
49203
6d01d6b4 492042006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
49205
49206 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
49207
976a4ea0 492082006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
49209
49210 * DISTLIST: Added include/grub/efi/console.h,
49211 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
49212 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49213
49214 * include/grub/efi/console.h: New file.
49215 * include/grub/efi/time.h: Likewise.
49216 * include/grub/i386/efi/kernel.h: Likewise.
49217 * kern/efi/init.c: Likewise.
49218 * kern/efi/mm.c: Likewise.
49219 * term/efi/console.c: Likewise.
f19dbdb7 49220
976a4ea0 49221 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
49222 (grub_stop): Removed.
49223 (grub_get_rtc): Likewise.
49224 (grub_machine_init): Simply call grub_efi_init.
49225 (grub_machine_fini): Call grub_efi_fini.
49226
49227 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
49228 (grub_efi_output_string): Removed.
49229 (grub_efi_stall): New function.
49230 (grub_stop): Likewise.
49231 (grub_get_rtc): Likewise.
49232
49233 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
49234 (grub_efi_stall): New prototype.
49235 (grub_efi_allocate_pages): Likewise.
49236 (grub_efi_free_pages): Likewise.
49237 (grub_efi_get_memory_map): Likewise.
49238 (grub_efi_mm_init): Likewise.
49239 (grub_efi_mm_fini): Likewise.
49240 (grub_efi_init): Likewise.
49241 (grub_efi_fini): Likewise.
49242
49243 * include/grub/i386/efi/time.h: Do not include
49244 grub/symbol.h. Include grub/efi/time.h.
49245 (GRUB_TICKS_PER_SECOND): Removed.
49246 (grub_get_rtc): Likewise.
49247
49248 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
49249 Added padding. The EFI spec is buggy.
49250 (GRUB_EFI_BLACK): New macro.
49251 (GRUB_EFI_BLUE): Likewise.
49252 (GRUB_EFI_GREEN): Likewise.
49253 (GRUB_EFI_CYAN): Likewise.
49254 (GRUB_EFI_RED): Likewise.
49255 (GRUB_EFI_MAGENTA): Likewise.
49256 (GRUB_EFI_BROWN): Likewise.
49257 (GRUB_EFI_LIGHTGRAY): Likewise.
49258 (GRUB_EFI_BRIGHT): Likewise.
49259 (GRUB_EFI_DARKGRAY): Likewise.
49260 (GRUB_EFI_LIGHTBLUE): Likewise.
49261 (GRUB_EFI_LIGHTGREEN): Likewise.
49262 (GRUB_EFI_LIGHTCYAN): Likewise.
49263 (GRUB_EFI_LIGHTRED): Likewise.
49264 (GRUB_EFI_LIGHTMAGENTA): Likewise.
49265 (GRUB_EFI_YELLOW): Likewise.
49266 (GRUB_EFI_WHITE): Likewise.
49267 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
49268 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
49269 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
49270 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
49271 (GRUB_EFI_BACKGROUND_RED): Likewise.
49272 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
49273 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
49274 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
49275 (GRUB_EFI_TEXT_ATTR): Likewise.
49276
49277 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
49278 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49279 (kernel_mod_HEADERS): Added efi/time.h.
49280
83709125 492812006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
49282
49283 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
49284 include/grub/efi/api.h, include/grub/efi/console_control.h,
49285 include/grub/efi/efi.h, include/grub/efi/pe32.h,
49286 include/grub/i386/efi/time.h, kern/efi/efi.c,
49287 kern/i386/efi/init.c, kern/i386/efi/startup.S,
49288 and util/i386/efi/grub-mkimage.c.
49289
49290 * Makefile.in (RMKFILES): Added i386-efi.rmk.
49291
49292 * genmk.rb (PModule#rule): Do not export symbols if
49293 #{prefix}_EXPORTS is set to "no".
49294
49295 * conf/i386-efi.mk: New file.
49296 * conf/i386-efi.rmk: Likewise.
49297 * include/grub/efi/api.h: Likewise.
49298 * include/grub/efi/console_control.h: Likewise.
49299 * include/grub/efi/efi.h: Likewise.
49300 * include/grub/efi/pe32.h: Likewise.
49301 * include/grub/i386/efi/time.h: Likewise.
49302 * kern/efi/efi.c: Likewise.
49303 * kern/i386/efi/init.c: Likewise.
49304 * kern/i386/efi/startup.S: Likewise.
49305 * util/i386/efi/grub-mkimage.c: Likewise.
49306
493072006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 49308
49309 * include/grub/script.h: Include <grub/parser.h> and
49310 "grub_script.tab.h".
49311 (struct grub_lexer_param): New struct.
49312 (struct grub_parser_param): Likewise.
49313 (grub_script_create_arglist): Pass the state in an argument.
49314 (grub_script_add_arglist): Likewise.
49315 (grub_script_create_cmdline): Likewise.
49316 (grub_script_create_cmdblock): Likewise.
49317 (grub_script_create_cmdif): Likewise.
49318 (grub_script_create_cmdmenu): Likewise.
49319 (grub_script_add_cmd): Likewise.
49320 (grub_script_arg_add): Likewise.
49321 (grub_script_lexer_ref): Likewise.
49322 (grub_script_lexer_deref): Likewise.
49323 (grub_script_lexer_record_start): Likewise.
49324 (grub_script_lexer_record_stop): Likewise.
49325 (grub_script_mem_record): Likewise.
49326 (grub_script_mem_record_stop): Likewise.
49327 (grub_script_malloc): Likewise.
49328 (grub_script_yylex): Likewise.
49329 (grub_script_yyparse): Likewise.
49330 (grub_script_yyerror): Likewise.
49331 (grub_script_yylex): Likewise.
49332 (grub_script_lexer_init): Return the state.
49333
49334 * normal/lexer.c (grub_script_lexer_state): Removed variable.
49335 (grub_script_lexer_done): Likewise.
49336 (grub_script_lexer_getline): Likewise.
49337 (grub_script_lexer_refs): Likewise.
49338 (script): Likewise.
49339 (newscript): Likewise.
49340 (record): Likewise.
49341 (recording): Likewise.
49342 (recordpos): Likewise.
49343 (recordlen): Likewise.
49344 (grub_script_lexer_init): Return the state instead of setting
49345 global variables.
49346 (grub_script_lexer_ref): Use the newly added argument for state
49347 instead of globals.
49348 (grub_script_lexer_deref): Likewise.
49349 (grub_script_lexer_record_start): Likewise.
49350 (grub_script_lexer_record_stop): Likewise.
49351 (recordchar): Likewise.
49352 (nextchar): Likewise.
49353 (grub_script_yylex2): Likewise.
49354 (grub_script_yylex): Likewise.
49355 (grub_script_yyerror): Likewise.
49356
49357 * normal/parser.y (func_mem): Removed variable.
49358 (menu_entry): Likewise.
49359 (err): Likewise.
49360 (%lex-param): New parser option.
49361 (%parse-param): Likewise.
49362 (script): Always return the AST.
49363 (argument): Pass the state around.
49364 (arguments): Likewise.
49365 (grubcmd): Likewise.
49366 (commands): Likewise.
49367 (function): Likewise.
49368 (menuentry): Likewise.
49369 (if_statement): Likewise.
49370 (if): Likewise.
49371
49372 * normal/script.c (grub_script_memused): Removed variable.
49373 (grub_script_parsed): Likewise.
49374 (grub_script_malloc): Added a state argument. Use that instead of
49375 global variables.
49376 (grub_script_mem_record): Likewise.
49377 (grub_script_mem_record_stop): Likewise.
49378 (grub_script_arg_add): Likewise.
49379 (grub_script_add_arglist): Likewise.
49380 (grub_script_create_cmdline): Likewise.
49381 (grub_script_create_cmdif): Likewise.
49382 (grub_script_create_cmdmenu): Likewise.
49383 (grub_script_add_cmd): Likewise.
49384 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 49385
e2a8c904 493862006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 49387
49388 * normal/command.c (grub_command_init): Remove the title command.
49389
49390 * normal/lexer.c (grub_script_yylex): Renamed from this...
49391 (grub_script_yylex2): ... to this.
49392 (grub_script_yylex): New function. Temporary
49393 introduced to filter some tokens.
49394 (grub_script_yyerror): Print a newline.
49395
49396 * normal/main.c (read_config_file): Output information about the
49397 lines that contain errors. Wait for a key after all lines have
49398 been processed. Don't return an empty menu.
49399
49400 * normal/parser.y (func_mem): Don't initialize.
49401 (menu_entry): Likewise.
49402 (err): New variable.
49403 (script): Don't return anything when an error was encountered.
49404 (ws, returns): Removed rules.
49405 (argument): Disabled concatenated variable support.
49406 (arguments): Remove explicit separators.
49407 (grubcmd): Likewise.
49408 (function): Likewise.
49409 (menuentry): Likewise.
49410 (if): Likewise.
49411 (commands): Likewise. Add error handling.
49412
49413 * normal/script.c (grub_script_create_cmdline): If
49414 `grub_script_parsed' is 0, assume the parser encountered an error.
49415
c9a86192 494162006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
49417
49418 * configure.ac: Add support for EFI. Fix the typo
49419 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
49420
70f3b243 494212006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49422
49423 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
49424 foreign multibyte characters should be shown correctly.
49425
65f201ad 494262006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49427
49428 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
49429 calculation.
49430 (read_config_file): Made it to close file before returning.
49431
b4b93674 494322006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
49433
49434 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
49435 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
49436 video/i386/pc/vbefill.c.
49437
49438 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
49439 video/i386/pc/vbefill.c.
49440
49441 * include/grub/video.h (grub_video_blit_format): New enum.
49442 (grub_video_mode_info): Added new member blit_format.
49443 (grub_video_get_blit_format): New function prototype.
49444
49445 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
49446 function prototype.
49447 (grub_video_vbe_map_rgb): Likewise.
49448 (grub_video_vbe_unmap_color): Likewise.
49449
49450 * include/grub/i386/pc/vbeblit.h: New file.
49451
49452 * include/grub/i386/pc/vbefill.h: New file.
49453
49454 * video/video.c (grub_video_get_blit_format): New function.
49455 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
49456 (grub_video_vbe_map_rgb): Likewise.
49457 (grub_video_vbe_unmap_color): Likewise.
49458
49459 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
49460 optimized fills.
49461 (grub_video_vbe_blit_render_target): Changed to use more optimized
49462 blits.
49463 (grub_video_vbe_setup): Added detection for optimized settings.
49464 (grub_video_vbe_create_render_target): Likewise.
49465
49466 * video/i386/pc/vbeblit.c: New file.
49467
49468 * video/i386/pc/vbefill.c: New file.
49469
c2379b9c 494702006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
49471
49472 * font/manager.c (grub_font_get_glyph): Removed font fixup from
49473 here...
49474
49475 * util/unifont2pff.rb: ... and moved it to here. Improved argument
49476 parsing to support both hex and dec ranges. If filename was missing
49477 show usage information.
49478
bd0d7896 494792006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
49480
49481 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
49482 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
49483
49484 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
49485 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
49486 (video_mod_SOURCES): Added.
49487 (video_mod_CFLAGS): Likewise.
49488 (video_mod_LDFLAGS): Likewise.
49489 (gfxterm_mod_SOURCES): Likewise.
49490 (gfxterm_mod_CFLAGS): Likewise.
49491 (gfxterm_mod_LDFLAGS): Likewise.
49492 (videotest_mod_SOURCES): Likewise.
49493 (videotest_mod_CFLAGS): Likewise.
49494 (videotest_mod_LDFLAGS): Likewise.
49495 (vesafb_mod_SOURCES): Removed.
49496 (vesafb_mod_CFLAGS): Likewise.
49497 (vesafb_mod_LDFLAGS): Likewise.
49498 (vga_mod_SOURCES): Likewise.
49499 (vga_mod_CFLAGS): Likewise.
49500 (vga_mod_LDFLAGS): Likewise.
49501
49502 * commands/videotest.c: New file.
49503
49504 * font/manager.c (fill_with_default_glyph): Modified to use
49505 grub_font_glyph.
49506 (grub_font_get_glyph): Likewise.
49507 (fontmanager): Renamed from this...
49508 (font_manager): ... to this.
49509
49510 * include/grub/font.h (grub_font_glyph): Added new structure.
49511 (grub_font_get_glyph): Modified to use grub_font_glyph.
49512
49513 * include/grub/misc.h (grub_abs): Added as inline function.
49514
49515 * include/grub/video.h: New file.
49516
49517 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
49518 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
49519 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
49520 (grub_vbe_get_controller_info): Renamed from this...
49521 (grub_vbe_bios_get_controller_info): ... to this.
49522 (grub_vbe_get_mode_info): Renamed from this...
49523 (grub_vbe_bios_get_mode_info): ... to this.
49524 (grub_vbe_set_mode): Renamed from this...
49525 (grub_vbe_bios_set_mode): ... to this.
49526 (grub_vbe_get_mode): Renamed from this...
49527 (grub_vbe_bios_get_mode): ... to this.
49528 (grub_vbe_set_memory_window): Renamed from this...
49529 (grub_vbe_bios_set_memory_window): ... to this.
49530 (grub_vbe_get_memory_window): Renamed from this...
49531 (grub_vbe_bios_get_memory_window): ... to this.
49532 (grub_vbe_set_scanline_length): Renamed from this...
49533 (grub_vbe_set_scanline_length): ... to this.
49534 (grub_vbe_get_scanline_length): Renamed from this...
49535 (grub_vbe_bios_get_scanline_length): ... to this.
49536 (grub_vbe_set_display_start): Renamed from this...
49537 (grub_vbe_bios_set_display_start): ... to this.
49538 (grub_vbe_get_display_start): Renamed from this...
49539 (grub_vbe_bios_get_display_start): ... to this.
49540 (grub_vbe_set_palette_data): Renamed from this...
49541 (grub_vbe_bios_set_palette_data): ... to this.
49542 (grub_vbe_set_pixel_rgb): Removed.
49543 (grub_vbe_set_pixel_index): Likewise.
49544
49545 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
49546 from this...
49547 (grub_vbe_bios_get_controller_info): ... to this.
49548 (grub_vbe_get_mode_info): Renamed from this...
49549 (grub_vbe_bios_get_mode_info): ... to this.
49550 (grub_vbe_set_mode): Renamed from this...
49551 (grub_vbe_bios_set_mode): ... to this.
49552 (grub_vbe_get_mode): Renamed from this...
49553 (grub_vbe_bios_get_mode): ... to this.
49554 (grub_vbe_set_memory_window): Renamed from this...
49555 (grub_vbe_bios_set_memory_window): ... to this.
49556 (grub_vbe_get_memory_window): Renamed from this...
49557 (grub_vbe_bios_get_memory_window): ... to this.
49558 (grub_vbe_set_scanline_length): Renamed from this...
49559 (grub_vbe_set_scanline_length): ... to this.
49560 (grub_vbe_get_scanline_length): Renamed from this...
49561 (grub_vbe_bios_get_scanline_length): ... to this.
49562 (grub_vbe_set_display_start): Renamed from this...
49563 (grub_vbe_bios_set_display_start): ... to this.
49564 (grub_vbe_get_display_start): Renamed from this...
49565 (grub_vbe_bios_get_display_start): ... to this.
49566 (grub_vbe_set_palette_data): Renamed from this...
49567 (grub_vbe_bios_set_palette_data): ... to this.
49568 (grub_vbe_bios_get_controller_info): Fixed problem with registers
49569 getting corrupted after calling it. Added more pushes and pops.
49570 (grub_vbe_bios_set_mode): Likewise.
49571 (grub_vbe_bios_get_mode): Likewise.
49572 (grub_vbe_bios_get_memory_window): Likewise.
49573 (grub_vbe_bios_set_scanline_length): Likewise.
49574 (grub_vbe_bios_get_scanline_length): Likewise.
49575 (grub_vbe_bios_get_display_start): Likewise.
49576 (grub_vbe_bios_set_palette_data): Likewise.
49577
49578 * normal/cmdline.c (cl_set_pos): Refresh the screen.
49579 (cl_insert): Likewise.
49580 (cl_delete): Likewise.
49581
49582 * term/gfxterm.c: New file.
49583
49584 * term/i386/pc/vesafb.c: Removed file.
49585
49586 * video/video.c: New file.
49587
49588 * video/i386/pc/vbe.c (real2pm): Added new function.
49589 (grub_video_vbe_draw_pixel): Likewise.
49590 (grub_video_vbe_get_video_ptr): Likewise.
49591 (grub_video_vbe_get_pixel): Likewise
49592 (grub_video_vbe_init): Likewise.
49593 (grub_video_vbe_fini): Likewise.
49594 (grub_video_vbe_setup): Likewise.
49595 (grub_video_vbe_get_info): Likewise.
49596 (grub_video_vbe_set_palette): Likewise.
49597 (grub_video_vbe_get_palette): Likewise.
49598 (grub_video_vbe_set_viewport): Likewise.
49599 (grub_video_vbe_get_viewport): Likewise.
49600 (grub_video_vbe_map_color): Likewise.
49601 (grub_video_vbe_map_rgb): Likewise.
49602 (grub_video_vbe_map_rgba): Likewise.
49603 (grub_video_vbe_unmap_color): Likewise.
49604 (grub_video_vbe_fill_rect): Likewise.
49605 (grub_video_vbe_blit_glyph): Likewise.
49606 (grub_video_vbe_blit_bitmap): Likewise.
49607 (grub_video_vbe_blit_render_target): Likewise.
49608 (grub_video_vbe_scroll): Likewise.
49609 (grub_video_vbe_swap_buffers): Likewise.
49610 (grub_video_vbe_create_render_target): Likewise.
49611 (grub_video_vbe_delete_render_target): Likewise.
49612 (grub_video_vbe_set_active_render_target): Likewise.
49613 (grub_vbe_set_pixel_rgb): Remove function.
49614 (grub_vbe_set_pixel_index): Likewise.
49615 (index_color_mode): Remove static variable.
49616 (active_mode): Likewise.
49617 (framebuffer): Likewise.
49618 (bytes_per_scan_line): Likewise.
49619 (grub_video_vbe_adapter): Added new static variable.
49620 (framebuffer): Likewise.
49621 (render_target): Likewise.
49622 (initial_mode): Likewise.
49623 (mode_in_use): Likewise.
49624 (mode_list): Likewise.
49625
5f97350b 496262006-03-10 Marco Gerards <marco@gnu.org>
49627
49628 * configure.ac (AC_INIT): Bumped to 1.93.
49629
49630 * DISTLIST: Added `include/grub/hfs.h'.
49631
a3c5c6f8 496322006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
49633
49634 * boot/i386/pc/boot.S (general_error): Before looping, try INT
49635 18H, which might help the BIOS falling back to next boot media.
49636
6de53d26 496372006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
49638
49639 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
49640 Poe Chen <poe.poechen@gmail.com>.
49641
77c4a393 496422006-01-17 Marco Gerards <marco@gnu.org>
49643
49644 * include/grub/normal.h: Include <grub/script.h>.
49645 (grub_command_list): Removed struct.
49646 (grub_command_list_t): Removed type.
49647 (grub_menu_entry): Remove members `num' and `command_list'. Add
49648 members `commands' and `sourcecode'.
49649 * include/grub/script.h: Add inclusion guards.
49650 (grub_script_cmd_menuentry): New struct.
49651 (grub_script_execute_menuentry): New prototype.
49652 (grub_script_lexer_record_start): Likewise.
49653 (grub_script_lexer_record_stop): Likewise.
49654 * normal/execute.c (grub_script_execute_menuentry): New function.
49655 * normal/lexer.c (record, recording, recordpos, recordlen): New
49656 variables.
49657 (grub_script_lexer_record_start): New function.
49658 (grub_script_lexer_record_stop): Likewise.
49659 (recordchar): Likewise.
49660 (nextchar): Likewise.
49661 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
49662 2048 as the buffer size. Add the tokens `menuentry' and `@'.
49663 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
49664 (current_menu): New variable.
49665 (free_menu): Mainly rewritten.
49666 (grub_normal_menu_addentry): New function.
49667 (read_config_file): Rewritten.
49668 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 49669 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 49670 the menu entry.
49671 (run): Mainly rewritten.
49672 * normal/parser.y (menu_entry): New variable.
49673 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49674 (menuentry): New rule.
49675 (command): Add `menuentry'.
49676 (if_statement): Allow additional returns before `fi'.
49677 * normal/script.c (grub_script_create_cmdmenu): New function.
49678
144f1f98 496792006-01-03 Marco Gerards <marco@gnu.org>
49680
49681 * INSTALL: GNU Bison is required.
49682 * configure.ac: Rewritten the test to detect Bison.
49683 * Makefile.in (YACC): New variable. Reported by Xun Sun
49684 <xun.sun.cn@gmail.com>.
49685
af4b2d89 496862006-01-03 Marco Gerards <marco@gnu.org>
49687
49688 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49689 the HFS+ filesystem to filesystem blocks.
49690 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49691 GCC warning is silenced.
49692
15643b71 496932006-01-03 Marco Gerards <marco@gnu.org>
49694
49695 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49696 read from disk from big endian to host byte order.
49697
00905879 496982006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49699
49700 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49701 documentation.
49702 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49703 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49704 embedded HFS+ filesystem.
49705 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49706 (grub_hfs_sblock): Move from here...
49707 * include/grub/hfs.h: To here... New file.
49708 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49709 documentation.
49710 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49711 New macros.
49712 (grub_hfsplus_volheader): Change type of member `magic' to
49713 `grub_uint16_t'.
49714 (grub_hfsplus_data): Add new member `embedded_offset'.
49715 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49716 returned block.
49717 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49718 Calculate the offset.
49719
8899bc3e 497202005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49721
49722 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49723 Removed.
49724 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49725
ae8c0277 497262005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49727
49728 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49729 ENV->NAME is NULL after allocating ENV->VALUE.
49730
07084456 497312005-12-25 Marco Gerards <marco@gnu.org>
49732
49733 * kern/env.c (grub_env_set): Rewritten the error handling code.
49734
4750f5f1 497352005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49736
49737 * geninit.sh: Made more robust, and more portable.
49738
50214199 497392005-12-25 Marco Gerards <marco@gnu.org>
49740
49741 Add support for Apple HFS+ filesystems.
f19dbdb7 49742
50214199 49743 * fs/hfsplus.c: New file.
49744
49745 * DISTLIST: Added `fs/hfsplus.c'.
49746
49747 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49748 (hfsplus_mod_SOURCES): New variable.
49749 (hfsplus_mod_CFLAGS): Likewise.
49750 (hfsplus_mod_LDFLAGS): Likewise.
49751 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49752 (grub_setup_SOURCES): Likewise.
49753 (grub_mkdevicemap_SOURCES): Likewise.
49754 (grub_emu_SOURCES): Likewise.
49755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49756
49757 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49758
49759 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49760
befaed6c 497612005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49762
49763 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49764 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49765 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49766 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49767 normal/lexer.c, normal/parser.y, normal/script.c, and
49768 partmap/gpt.c.
49769 Removed kern/sparc64/cache.c.
49770
49771 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49772 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49773 grub_emu_init.c.
49774
49775 * configure.ac (AC_INIT): Bumped to 1.92.
49776
6a124103 497772005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49778
49779 * kern/err.c (grub_error_push): Added new function to support error
49780 stacks.
49781 (grub_error_pop): Likewise.
49782 (grub_error_stack_items): New local variable to support error stacks.
49783 (grub_error_stack_pos): Likewise.
49784 (grub_error_stack_assert): Likewise.
49785 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49786 stack depth.
49787 (grub_print_error): Added support to print errors from error stack.
49788
49789 * include/grub/err.h (grub_error_push): Added function prototype.
49790 (grub_error_pop): Likewise.
49791
be973c1b 497922005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49793
49794 * configure.ac: Accept `powerpc64' as host_cpu.
49795 (amd64): Rename to `biarch32'.
49796
49797 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49798 non-cacheline-aligned addresses.
49799
49800 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
49801 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
49802 if `size' is non-zero.
49803
b04216ab 498042005-12-03 Marco Gerards <mgerards@xs4all.nl>
49805
49806 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
49807 and `cd' to make sure the filename is not prefixed with a
49808 directory name.
49809 (pkgdata_MODULES): Add `gpt.mod'.
49810 (gpt_mod_SOURCES): New variable.
49811 (gpt_mod_CFLAGS): Likewise.
49812 (gpt_mod_LDFLAGS): Likewise.
49813
49814 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49815
49816 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49817 New macro.
49818
49819 * partmap/gpt.c: New file.
49820
49821 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49822 GPT partition map is detected.
49823
41730ed9 498242005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49825
49826 * commands/i386/pc/play.c: New file.
49827 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49828 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49829 macros.
f19dbdb7 49830
95dc3643 498312005-11-27 Marco Gerards <mgerards@xs4all.nl>
49832
49833 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
49834 ((unused))' to silence gcc warning.
49835
1569ec51 498362005-11-26 Hollis Blanchard <hollis@penguinppc.org>
49837
49838 * configure.ac: Correct `AC_PROG_YACC' test.
49839
9abde152 498402005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49841
49842 * util/powerpc/ieee1275/grub-install.in: Run the mount point
49843 check before installing files.
49844
44b83271 498452005-11-22 Mike Small <smallm@panix.com>
49846
49847 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49848 number regex so multidigit numbers are recognized correctly.
49849
498502005-11-22 Mike Small <smallm@panix.com>
49851
49852 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49853 debugging message before attempting to claim memory.
49854 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49855 multiple addresses in case of failure.
49856
9c12956b 498572005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49858
49859 * term/tparm.c (get_space): Remove empty `if' statement.
49860
49861 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49862
49863 * kern/parser.c (check_varstate): Rename `state' to 's'.
49864
aeaf81d9 498652005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49866
49867 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49868 variable definitions to the beginning of each function. Sort stack
49869 variables by size.
49870 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49871 `buf' argument to `char *'.
49872
79bbb63f 498732005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49874
49875 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49876 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49877 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 49878 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49879 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49880 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49881 configfile.mod, search.mod, gzio.mod and test.mod.
49882 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49883 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49884 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49885 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49886 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49887 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49888 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49889 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49890 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49891 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49892 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49893 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49894 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49895 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49896 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49897 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49898 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49899 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49900 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49901 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49902 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49903 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49904 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49905
49906 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49907 `grep --include'.
49908 (pkgdata_MODULES): Add test.mod.
49909
233b1628 499102005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49911
49912 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49913 appending to variables with "+=".
49914 (PModule): Use full pathname to generate *.lst filenames.
49915
49916 * Makefile.in: Fixed list rules moved from genmk.rb.
49917 (.DELETE_ON_ERROR): New special target.
49918 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49919
49920 * conf/i386-pc.rmk: Include conf/common.mk.
49921 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49922 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 49923 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49924 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49925 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49926 configfile.mod, search.mod, gzio.mod and test.mod.
49927 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49928 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49929 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49930 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49931 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49932 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49933 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49934 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49935 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49936 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49937 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49938 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49939 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49940 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49941 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49942 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49943 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49944 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49945 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49946 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49947 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49948 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49949 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49950 here...
49951 * conf/common.rmk: ... to here. New file.
49952
49953 * conf/common.mk: New file.
49954
16f820c8 499552005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49956
49957 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49958 (grub_script.tab.c): ... here.
49959
49960 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49961 (grub_script.tab.c): ... here.
49962
49963 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49964 (grub_script.tab.c): ... here.
49965
49966 * normal/command.c (grub_command_find): Fixed a memory leak of
49967 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49968
63ba1554 499692005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49970
49971 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49972 "@" which marks the start of a comment on ARM.
49973 (VARIABLE): Likewise.
49974
7f67dc13 499752005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49976
79bbb63f 49977 Add support for Linux/ADFS partition tables.
7f67dc13 49978
49979 * partmap/acorn.c: New file.
49980
49981 * include/grub/acorn_filecore.h: Likewise.
49982
49983 * DISTLIST: Added `partmap/acorn.c' and
49984 `include/grub/acorn_filecore.h'.
f19dbdb7 49985
7f67dc13 49986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49987 `partmap/acorn.c'.
49988 (pkgdata_MODULES): Add `acorn.mod'.
49989 (acorn_mod_SOURCES): New variable.
49990 (acorn_mod_CFLAGS): Likewise.
49991
49992 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49993 `partmap/acorn.c'.
49994 (pkgdata_MODULES): Add `acorn.mod'.
49995 (acorn_mod_SOURCES): New variable.
49996 (acorn_mod_CFLAGS): Likewise.
49997
49998 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49999 (pkgdata_MODULES): Add `acorn.mod'.
50000 (acorn_mod_SOURCES): New variable.
50001 (acorn_mod_CFLAGS): Likewise.
50002 (acorn_mod_LDFLAGS): Likewise.
50003
50004 * include/types.h (grub_disk_addr_t): New typedef.
50005
6d099807 500062005-11-13 Marco Gerards <mgerards@xs4all.nl>
50007
50008 * geninit.sh: New file.
50009
50010 * geninitheader.sh: Likewise.
50011
50012 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
50013 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
50014 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
50015 * commands/configfile.c (grub_configfile_init)
50016 (grub_configfile_fini): Likewise.
50017 * commands/default.c (grub_default_init, grub_default_fini):
50018 Likewise.
50019 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
50020 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
50021 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
50022 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
50023 Likewise.
50024 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
50025 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
50026 Likewise.
50027 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 50028 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 50029 Likewise.
50030 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
50031 Likewise.
fe6b695a 50032 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 50033 Likewise.
50034 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
50035 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
50036 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
50037 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
50038 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
50039 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
50040 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
50041 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
50042 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
50043 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
50044 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
50045 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
50046 * partmap/amiga.c (grub_amiga_partition_map_init)
50047 (grub_amiga_partition_map_fini): Likewise.
50048 * partmap/apple.c (grub_apple_partition_map_init)
50049 (grub_apple_partition_map_fini): Likewise.
50050 * partmap/pc.c (grub_pc_partition_map_init)
50051 (grub_pc_partition_map_fini): Likewise.
50052 * partmap/sun.c (grub_sun_partition_map_init,
50053 grub_sun_partition_map_fini): Likewise.
50054 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
50055 Likewise.
50056
50057 * util/grub-emu.c: Include <grub_modules_init.h>.
50058 (main): Don't initialize and de-initialize any modules directly,
50059 use `grub_init_all' and `grub_fini_all' instead.
50060
50061 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
50062 `grub_vesafb_mod_init'.
50063 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
50064 all users.
50065 * term/i386/pc/vga.c (grub_vga_init): Renamed to
50066 `grub_vga_mod_init'. Updated all users.
50067 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 50068
6d099807 50069 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
50070 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
50071 rules.
50072
50073 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
50074 Generate a function to initialize the module in utilities.
50075 Updated all callers.
50076 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
50077 initialize the module in utilities. Updated all callers.
50078
9046bcf0 500792005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50080
50081 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
50082 escape sequence and a literal ^L to clear the screen.
50083
50084 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
50085 when returning from Open Firmware.
50086
d13ea639 500872005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50088
50089 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
50090 (grub_ofconsole_height): Likewise.
50091 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
50092 manually insert a '\n'.
50093 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
50094 `grub_ofconsole_height'. Return early if these are already set.
50095
a8fcf206 500962005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
50097
50098 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50099 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
50100 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
50101 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
50102 and `normal/script.c'.
50103 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50104 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50105 (test_mod_SOURCES): New variable.
50106 (test_mod_CFLAGS): Likewise.
50107 (test_mod_LDFLAGS): Likewise.
50108 (pkgdata_MODULES): Add `test.mod'.
50109 (grub_script.tab.c): New rule.
50110 (grub_script.tab.h): Likewise.
50111
b6b32745 501122005-11-07 Marco Gerards <mgerards@xs4all.nl>
50113
50114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50115 `commands/test.c', `normal/execute.c', `normal/lexer.c',
50116 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50117 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50118 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50119 (test_mod_SOURCES): New variable.
50120 (test_mod_CFLAGS): Likewise.
50121 (pkgdata_MODULES): Add `test.mod'.
50122 (grub_script.tab.c): New rule.
50123 (grub_script.tab.h): Likewise.
50124
daac212a 501252005-11-06 Marco Gerards <mgerards@xs4all.nl>
50126
50127 Add initial scripting support.
50128
50129 * commands/test.c: New file.
50130 * include/grub/script.h: Likewise.
50131 * normal/execute.c: Likewise.
50132 * normal/function.c: Likewise.
50133 * normal/lexer.c: Likewise.
50134 * normal/parser.y: Likewise.
50135 * normal/script.c: Likewise.
50136
50137 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 50138
daac212a 50139 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
50140 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
50141 `normal/function.c' and `normal/script.c'.
50142 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50143 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 50144 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
50145 variables.
daac212a 50146 (pkgdata_MODULES): Add `test.mod'.
50147 (grub_script.tab.c): New rule.
50148 (grub_script.tab.h): Likewise.
50149
50150 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
50151
50152 * include/grub/normal.h (grub_test_init): New prototype.
50153 (grub_test_fini): Likewise.
f19dbdb7 50154
daac212a 50155 * normal/command.c: Include <grub/script.h>.
50156 (grub_command_execute): Rewritten.
f19dbdb7 50157
daac212a 50158 * util/grub-emu.c (main): Call `grub_test_init' and
50159 `grub_test_fini'.
50160
77500b2b 501612005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50162
50163 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
50164 to 0.
50165 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
50166 there are no pending characters.
50167
e45deb9e 501682005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50169
50170 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
50171 `grub_strndup' to drop device arguments. Replace unnecessary
50172 `grub_strndup' with `grub_strdup'.
50173
4ce32619 501742005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50175
50176 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
50177 `debug' environment variable has been set.
50178
501792005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50180
4ce32619 50181 * Makefile.in (install-local): Use $(DATA).
50182 (uninstall): Likewise.
50183 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
50184 (sbin_UTILITIES): ... to here.
50185 (sbin_SCRIPTS): New variable.
50186 (grub_install_SOURCES): New variable.
50187 * util/powerpc/ieee1275/grub-install.in: New file.
50188 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
50189 variable.
50190 (add_segments): Call `grub_util_get_path'.
50191
25fe6f03 501922005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
50193
50194 From Timothy Baldwin:
50195 * commands/ls.c (grub_ls_list_files): Close FILE with
50196 grub_file_close.
50197 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
50198
04ccf3ec 501992005-10-24 Marco Gerards <mgerards@xs4all.nl>
50200
50201 * include/grub/parser.h: New file.
50202
50203 * kern/parser.c: Likewise.
50204
50205 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
50206 (grub_setup_SOURCES): Likewise.
50207 (grub_probefs_SOURCES): Likewise.
50208 (grub_emu_SOURCES): Likewise.
50209 (kernel_img_HEADERS): Add `parser.h'.
50210
50211 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50212 (grub_emu_SOURCES): Add `kern/parser.c'.
50213 (grubof_SOURCES): Likewise.
50214
50215 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50216 (grubof_SOURCES): Add `kern/parser.c'.
50217
50218 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
50219
50220 * kern/misc.c (grub_split_cmdline): Removed function.
50221
50222 * kern/rescue.c: Include <grub/parser.h>.
50223 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
50224 of `grub_split_cmdline'.
50225
50226 * normal/command.c: Include <grub/parser.h>.
50227 (grub_command_execute): Use `grub_parser_split_cmdline' instead
50228 of `grub_split_cmdline'.
50229
50230 * normal/completion.c: Include <grub/parser.h>.
50231 (cmdline_state): New variable.
50232 (iterate_dir): End the filename with a quote depending on the
50233 command line state.
50234 (get_state): new function.
50235 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
50236 split the arguments and determine the current argument. When the
50237 argument string is not quoted, escape all spaces.
50238
6d8f4b0e 502392005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50240
50241 * normal/sparc64/setjmp.S: New file.
50242
15cf03ed 502432005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50244
50245 * include/grub/sparc64/libgcc.h: New file.
50246 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
50247 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
50248 normal/sparc64/setjmp.c.
50249
03e8661a 502502005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50251
50252 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
50253 * kern/sparc64/cache.S: New file.
50254 * kern/sparc64/cache.c: Removed.
50255 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
50256 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
50257 -mtune=ultrasparc.
50258 (COMMON_LDFLAGS): Add -melf64_sparc.
50259 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
50260 (grubof_SOURCES): Use cache.S instead of cache.c.
50261 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
50262 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
50263 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
50264 commented though.
50265 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
50266 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
50267 (linux_mod_CFLAGS): Commented out.
50268 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
50269 out because module isn't built.
50270 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
50271 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
50272 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
50273 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
50274 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
50275 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50276 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50277 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
50278 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
50279 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
50280 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50281 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50282 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
50283 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
50284
34eeec8a 502852005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
50286
50287 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
50288 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
50289 longer, because HFS should not be used on PC.
50290
708367a3 502912005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50292
50293 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
50294 consistently within the loop.
50295
6fa1251a 502962005-10-15 Marco Gerards <mgerards@xs4all.nl>
50297
50298 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
50299 directory can not be read.
50300
4801580b 503012005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50302
50303 * configure.ac (AC_INIT): Increase the version number to 1.91.
50304
50305 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
50306 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
50307 term/i386/pc/serial.c.
50308
219ad426 503092005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50310
50311 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
50312 file size must be permitted.
50313
50314 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
50315 between %ah and %al.
50316
688e5699 503172005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50318
50319 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
50320 grub_uint64_t.
50321 Call the hook with a NUL-terminated filename.
50322 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
50323 grub_cpu_to_be32.
50324
50325 * kern/term.c (cursor_state): New variable.
50326 (grub_term_set_current): Reset the cursor state on a new
50327 terminal.
50328 (grub_setcursor): Rewritten to use CURSOR_STATE.
50329 (grub_getcursor): New function.
50330
50331 * include/grub/term.h (grub_getcursor): New prototype.
50332
50333 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
50334 integers on ARM. Reported by Timothy Baldwin
50335 <T.E.Baldwin99@members.leeds.ac.uk>.
50336
bb34586c 503372005-10-11 Marco Gerards <mgerards@xs4all.nl>
50338
50339 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
50340 allocated.
50341 (grub_sfs_dir): Likewise.
50342
9a909877 503432005-10-09 Marco Gerards <mgerards@xs4all.nl>
50344
50345 Add support for the SFS filesystem.
50346
50347 * fs/sfs.c: New file.
50348
50349 * DISTLIST: Added `fs/sfs.c'.
50350
50351 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
50352 (grub_probefs_SOURCES): Likewise.
50353 (grub_emu_SOURCES): Likewise.
50354 (pkgdata_MODULES): Add `sfs.mod'.
50355 (sfs_mod_SOURCES): New variable.
50356 (sfs_mod_CFLAGS): Likewise.
50357 (sfs_mod_LDFLAGS): Likewise.
50358
50359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
50360 (pkgdata_MODULES): Add `sfs.mod'.
50361 (sfs_mod_SOURCES): New variable.
50362 (sfs_mod_CFLAGS): Likewise.
50363
50364 * util/grub-emu.c (main): Call `grub_sfs_init' and
50365 `grub_sfs_fini'.
50366
50367 * include/grub/fs.h (grub_sfs_init): New prototype.
50368 (grub_sfs_fini): Likewise.
50369
57bdbde3 503702005-10-07 Marco Gerards <mgerards@xs4all.nl>
50371
50372 Add support for the AFFS filesystem.
50373
50374 * fs/affs.c: New file.
50375
50376 * DISTLIST: Added `fs/affs.c'.
50377
50378 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
50379 (grub_probefs_SOURCES): Likewise.
50380 (grub_emu_SOURCES): Likewise.
50381 (pkgdata_MODULES): Add `affs.mod'.
50382 (affs_mod_SOURCES): New variable.
50383 (affs_mod_CFLAGS): Likewise.
50384 (affs_mod_LDFLAGS): Likewise.
50385
50386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
50387 (pkgdata_MODULES): Add `affs.mod'.
50388 (affs_mod_SOURCES): New variable.
50389 (affs_mod_CFLAGS): Likewise.
50390
50391 * util/grub-emu.c (main): Call `grub_affs_init' and
50392 `grub_affs_fini'.
50393
50394 * include/grub/fs.h (grub_affs_init): New prototype.
50395 (grub_affs_fini): Likewise.
50396
047b67e0 503972005-10-01 Marco Gerards <mgerards@xs4all.nl>
50398
50399 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
50400
59b8208a 504012005-10-01 Marco Gerards <mgerards@xs4all.nl>
50402
50403 * configure.ac: Accept `x86_64' as host_cpu. In that case add
50404 `-m32' to CFLAGS.
50405
50406 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
50407 linking.
f19dbdb7 50408
59b8208a 50409 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
50410 (COMMON_LDFLAGS): New variable.
50411 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
50412 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
50413 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
50414 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
50415 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
50416 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
50417 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
50418 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
50419 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
50420 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
50421 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50422 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50423 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
50424 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
50425 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
50426 variables.
50427 (normal_mod_ASFLAGS): Add `-m32'.
50428
50429 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
50430 (grub_host_size_t, grub_host_ssize_t): New types.
50431 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 50432 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 50433 `GRUB_HOST_SIZEOF_VOID_P'.
50434
50435 * include/grub/kernel.h (struct grub_module_header): Type of
50436 member offset changed to `grub_host_off_t'. Type of member size
50437 changed to `grub_host_size_t'.
50438 (struct grub_module_info): Type of member offset changed to
50439 `grub_host_off_t'. Type of member size changed to
50440 `grub_host_size_t'.
50441
b4093103 504422005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
50443
50444 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 50445
b4093103 50446 * kern/i386/pc/startup.S (multiboot_header): New label.
50447 (multiboot_entry): Likewise.
50448 (multiboot_trampoline): Likewise.
50449
50450 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50451 Increased to 0x4A0.
50452
50453 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
50454 put parentheses after a question mark.
50455 [!GRUB_UTIL] (my_mod): New variable.
50456
50457 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
50458
b2499b29 504592005-09-28 Marco Gerards <mgerards@xs4all.nl>
50460
50461 Adds support for the XFS filesystem. Btrees are not supported
50462 yet.
50463
50464 * fs/xfs.c: New file.
50465
50466 * DISTLIST: Added `fs/xfs.c'.
50467
50468 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
50469 (grub_probefs_SOURCES): Likewise.
50470 (grub_emu_SOURCES): Likewise.
50471 (pkgdata_MODULES): Add `xfs.mod'.
50472 (xfs_mod_SOURCES): New variable.
50473 (xfs_mod_CFLAGS): Likewise.
50474
50475 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
50476 (pkgdata_MODULES): Add `xfs.mod'.
50477 (xfs_mod_SOURCES): New variable.
50478 (xfs_mod_CFLAGS): Likewise.
50479
50480 * util/grub-emu.c (main): Call `grub_xfs_init' and
50481 `grub_xfs_fini'.
50482
50483 * include/grub/fs.h (grub_xfs_init): New prototype.
50484 (grub_xfs_fini): Likewise.
50485
f19dbdb7 50486
83d37a62 504872005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
50488
50489 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
50490 color modes, allow greater than 16 colors to be configured as
50491 a default palette.
50492
47d2d65e 504932005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
50494
50495 * normal/completion.c (complete_arguments): Add the qualifier
50496 const into OPTIONS.
50497
50498 From Omniflux <omniflux+lists@omniflux.com>:
50499 * include/grub/terminfo.h: New file.
50500 * include/grub/tparm.h: Likewise.
50501 * include/grub/i386/pc/serial.h: Likewise.
50502 * term/terminfo.c: Likewise.
50503 * term/tparm.c: Likewise.
50504 * term/i386/pc/serial.c: Likewise.
50505 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
50506 serial.mod.
50507 (terminfo_mod_SOURCES): New variable.
50508 (terminfo_mod_CFLAGS): Likewise.
50509 (serial_mod_SOURCES): Likewise.
50510 (serial_mod_CFLAGS): Likewise.
50511
48b671ff 505122005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
50513
50514 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
50515 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
50516 and kern/powerpc/ieee1275/cmain.c, respectively.
50517
50518 * boot/powerpc/ieee1275/crt0.S: Moved to ...
50519 * kern/powerpc/ieee1275/crt0.S: ... here.
50520
50521 * boot/powerpc/ieee1275/cmain.c: Moved to ...
50522 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 50523
48b671ff 50524 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
50525 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
50526 instead of boot/powerpc/ieee1275/crt0.S and
50527 boot/powerpc/ieee1275/cmain.c, respectively.
50528
50529 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
50530 sectors. It was not used anyway.
50531
09fc77a7 505322005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50533
50534 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
50535 `unused parameter' warning.
50536
003789c7 505372005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50538
50539 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
50540 function.
50541 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
50542 getcharwidth.
50543
67f44c86 505442005-08-28 Marco Gerards <metgerards@student.han.nl>
50545
50546 * include/grub/normal.h (enum grub_completion_type): Added
50547 `GRUB_COMPLETION_TYPE_ARGUMENT'.
50548
50549 * normal/cmdline.c (print_completion): Handle
50550 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
50551 * normal/menu_entry.c (store_completion): Likewise.
50552
50553 * normal/completion.c (complete_arguments): New function.
50554 (grub_normal_do_completion): Call `complete_arguments' when the
50555 current words start with a dash.
50556
0b5abe02 505572005-08-27 Marco Gerards <metgerards@student.han.nl>
50558
50559 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
50560 `gzio.mod' instead of `io.mod').
50561
d9864ee1 505622005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
50563
50564 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
50565 (DISTDIRS): Added io and video.
50566 Rewrite the search routine to make an output consistently.
50567
50568 * DISTLIST: Added conf/sparc64-ieee1275.mk,
50569 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
50570 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
50571 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
50572 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
50573 util/powerpc/ieee1275/misc.c.
f19dbdb7 50574
d9864ee1 50575 * include/grub/gzio.h: New file.
50576 * io/gzio.c: Likewise.
f19dbdb7 50577
d9864ee1 50578 * kern/file.c (grub_file_close): Call grub_device_close only if
50579 FILE->DEVICE is not NULL.
50580
50581 * include/grub/mm.h [!NULL] (NULL): New macro.
50582
50583 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
50584
50585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
50586 (pkgdata_MODULES): Added gzio.mod.
50587 (gzio_mod_SOURCES): New variable.
50588 (gzio_mod_CFLAGS): Likewise.
50589
50590 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
50591 (pkgdata_MODULES): Added gzio.mod.
50592 (gzio_mod_SOURCES): New variable.
50593 (gzio_mod_CFLAGS): Likewise.
50594
50595 * commands/cat.c: Include grub/gzio.h.
50596 (grub_cmd_cat): Use grub_gzfile_open instead of
50597 grub_file_open.
f19dbdb7 50598
d9864ee1 50599 * commands/cmp.c: Include grub/gzio.h.
50600 (grub_cmd_cmp): Use grub_gzfile_open instead of
50601 grub_file_open.
50602
50603 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
50604 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
50605 grub_file_open.
50606 (grub_rescue_cmd_module): Likewise.
50607
fa46f4b5 506082005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50609
50610 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
50611 kern/sparc64/ieee1275/init.c because it contains _start.
50612 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
50613
e9211b5d 506142005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50615
50616 * configure.ac: Add support for sparc64 host with ieee1275
50617 firmware.
50618 * configure: Generated from configure.ac.
50619 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
50620 instead of int.
50621 (grub_ofdisk_read): Likewise.
50622 (grub_ofdisk_open): Use %p to print pointer values, and cast the
50623 pointers as (void *) to remove a warning.
50624 (grub_ofdisk_close): Likewise.
50625 (grub_ofdisk_read): Likewise.
50626 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
50627 returns, so make it return void to remove a warning.
50628 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
50629 Corresponding prototype change.
50630 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
50631 values, and cast the pointers as (void *) to remove a warning.
50632 (grub_mm_dump): Likewise.
50633 * conf/sparc64-ieee1275.mk: New file.
50634 * conf/sparc64-ieee1275.rmk: Likewise.
50635 * include/grub/sparc64/setjmp.h: Likewise.
50636 * include/grub/sparc64/types.h: Likewise.
50637 * include/grub/sparc64/ieee1275/console.h: Likewise.
50638 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
50639 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
50640 * include/grub/sparc64/ieee1275/time.h: Likewise.
50641 * kern/sparc64/cache.c: Likewise.
50642 * kern/sparc64/dl.c: Likewise.
50643 * kern/sparc64/ieee1275/init.c: Likewise.
50644 * kern/sparc64/ieee1275/openfw.c: Likewise.
50645
385c6a92 506462005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50647
50648 * util/console.c (grub_ncurses_putchar): If C is greater than
50649 0x7f, set C to a question mark.
50650 (grub_ncurses_getcharwidth): New function.
50651 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
50652 getcharwidth.
50653
50654 * normal/menu.c (print_entry): Made aware of Unicode. First,
50655 convert TITLE to UCS-4, and predict the cursor position by
50656 grub_getcharwidth.
50657
50658 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
50659 const to SRC.
50660 * kern/misc.c (grub_utf16_to_utf8): Likewise.
50661
16ccb8b1 506622005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50663
50664 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
50665 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50666 grub_strcat.
50667
50668 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
50669 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50670 grub_strcpy and grub_strlen. Take it into account that a space
50671 character is inserted as a delimiter.
50672
6a85ce79 506732005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50674
50675 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 50676 invalid magic in the error.
6a85ce79 50677
50678 * commands/search.c: New file.
f19dbdb7 50679
6a85ce79 50680 * util/grub-emu.c (main): Call grub_search_init and
50681 grub_search_fini.
50682
50683 * kern/rescue.c (grub_rescue_print_disks): Removed.
50684 (grub_rescue_print_devices): New function.
50685 (grub_rescue_cmd_ls): Use grub_device_iterate with
50686 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50687 grub_rescue_print_disks.
50688
50689 * kern/partition.c (grub_partition_iterate): Return the result of
50690 PARTMAP->ITERATE instead of GRUB_ERRNO.
50691
50692 * kern/device.c: Include grub/partition.h.
50693 (grub_device_iterate): New function.
50694
50695 * include/grub/partition.h (grub_partition_iterate): Return int
50696 instead of grub_err_t.
50697
50698 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50699 prototype.
50700 [GRUB_UTIL] (grub_search_fini): Likewise.
50701
50702 * include/grub/device.h (grub_device_iterate): New prototype.
50703
50704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50705 commands/search.c.
50706 (pkgdata_MODULES): Added search.mod.
50707 (search_mod_SOURCES): New variable.
50708 (search_mod_CFLAGS): Likewise.
50709
50710 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50711 (pkgdata_MODULES): Added search.mod.
50712 (search_mod_SOURCES): New variable.
50713 (search_mod_CFLAGS): Likewise.
50714
50715 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50716 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50717 All callers changed.
50718
50719 * DISTLIST: Added commands/search.c.
50720
ef095434 507212005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50722
50723 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50724 conversion.
50725 (grub_getcharwidth): New function.
50726
50727 * kern/misc.c (grub_utf8_to_ucs4): New function.
50728
50729 * include/grub/term.h (struct grub_term): Added a new member
50730 "getcharwidth".
50731 (grub_getcharwidth): New prototype.
50732
50733 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50734
50735 * term/i386/pc/console.c (map_char): New function. Segregated from
50736 grub_console_putchar.
50737 (grub_console_putchar): Use map_char.
50738 (grub_console_getcharwidth): New function.
50739 (grub_console_term): Specified grub_console_getcharwidth as
50740 getcharwidth.
50741
50742 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50743 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50744
50745 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50746 GRUB_ERRNO.
50747 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50748 on grub_strtoul completely.
50749 (write_char): Declare local variables in the beginning of the
50750 function.
50751 (grub_vesafb_getcharwidth): New function.
50752 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50753 getcharwidth.
50754
1f0a95e4 507552005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50756
50757 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50758 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50759 commands/i386/pc/vbetest.c.
50760
50761 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50762 call grub_vbe_get_controller_info again, because the returned
50763 information is volatile.
50764 (grub_vbe_set_video_mode): Mostly rewritten.
50765 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50766 grub_vbe_status_t correctly.
50767 (grub_vbe_get_video_mode_info): Likewise.
50768 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50769 several if statements.
50770
50771 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50772 * commands/i386/pc/vbeinfo.c: ... this.
50773
50774 * commands/i386/pc/vbe_test.c: Renamed to ...
50775 * commands/i386/pc/vbetest.c: ... this.
50776
50777 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50778 ...
50779 (grub_cmd_vbeinfo): ... this. Save video modes before
50780 iterating. Skip a video mode, if it is not available, not enough
50781 information is given or it is monochrome. Show the memory
50782 model. Leave the interpretation of MODEVAR to grub_strtoul
50783 completely.
50784 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50785 (GRUB_MOD_FINI): Likewise.
50786
50787 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50788 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50789 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50790 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50791 grub_strtoul completely.
50792 (real2pm): Removed.
50793 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50794 (GRUB_MOD_FINI): Likewise.
50795
50796 * normal/misc.c: Include grub/mm.h.
50797
50798 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50799 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50800 (vbe_list_modes_mod_SOURCES): Removed.
50801 (vbe_list_modes_mod_CFLAGS): Likewise.
50802 (vbe_test_mod_SOURCES): Likewise.
50803 (vbe_test_mod_CFLAGS): Likewise.
50804 (vbeinfo_mod_SOURCES): New variable.
50805 (vbeinfo_mod_CFLAGS): Likewise.
50806 (vbetest_mod_SOURCES): Likewise.
50807 (vbetest_mod_CFLAGS): Likewise.
50808
992ffbbe 508092005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
50810
50811 * normal/misc.c: New file.
50812
50813 * DISTLIST: Added normal/misc.c.
f19dbdb7 50814
992ffbbe 50815 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50816 DISK to HOOK. Call HOOK with DISK.
50817 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50818 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50819 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50820
50821 * normal/menu_entry.c (struct screen): Added a new member
50822 "completion_shown".
50823 (completion_buffer): New global variable.
50824 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50825 (store_completion): New function.
50826 (complete): Likewise.
50827 (clear_completions): Likewise.
50828 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50829 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
50830 a tab, call complete.
50831
50832 * normal/completion.c (disk_dev): Removed.
50833 (print_simple_completion): Likewise.
50834 (print_partition_completion): Likewise.
50835 (print_func): New global variable.
50836 (add_completion): Do not take the arguments WHAT or PRINT any
50837 longer. Added a new argument TYPE. Instead of printing directly,
50838 call PRINT_FUNC if not NULL.
50839 All callers changed.
50840 (complete_device): Use a local variable DEV instead of
50841 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
50842 (grub_normal_do_completion): Take a new argument HOOK. Do not
50843 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50844 empty string, return NULL instead.
50845 All callers changed.
50846
50847 * normal/cmdline.c (print_completion): New function.
50848
50849 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50850 to HOOK.
50851 All callers changed.
50852
50853 * kern/disk.c (grub_print_partinfo): Removed.
50854
50855 * include/grub/partition.h (struct grub_partition_map): Add a new
50856 argument DISK into HOOK of ITERATE.
50857 (grub_partition_iterate): Add a new argument DISK to HOOK.
50858
50859 * include/grub/normal.h (enum grub_completion_type): New enum.
50860 (grub_completion_type_t): New type.
50861 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50862 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50863 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50864 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50865 (grub_normal_do_completion): Added a new argument HOOK.
50866 (grub_normal_print_device_info): New prototype.
50867
50868 * include/grub/disk.h (grub_print_partinfo): Removed.
50869
50870 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50871 (normal_mod_SOURCES): Likewise.
50872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50873 (normal_mod_SOURCES): Likewise.
50874
50875 * commands/ls.c (grub_ls_list_disks): Use
50876 grub_normal_print_device_info instead of grub_print_partinfo. Free
50877 PNAME.
50878 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50879 duplicating the code.
50880
0bd41162 508812005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50882
50883 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 50884 follow GCS more precisely.
50885 * commands/i386/pc/vbe_test.c: Likewise.
50886 * include/grub/i386/pc/vbe.h: Likewise.
50887 * term/i386/pc/vesafb.c: Likewise.
50888 * video/i386/pc/vbe.c: Likewise.
0bd41162 50889
6323696a 508902005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50891
50892 * DISTLIST: Added term/i386/pc/vesafb.c
50893 DISTLIST: Added video/i386/pc/vbe.c
50894 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50895 DISTLIST: Added commands/i386/pc/vbe_test.c.
50896 * commands/i386/pc/vbe_list_modes.c: New file.
50897 * commands/i386/pc/vbe_test.c: Likewise.
50898 * term/i386/pc/vesafb.c: Likewise.
50899 * video/i386/pc/vbe.c: Likewise.
50900 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50901 (grub_vbe_probe) Added prototype.
50902 (grub_vbe_set_video_mode) Likewise.
50903 (grub_vbe_get_video_mode) Likewise.
50904 (grub_vbe_get_video_mode_info) Likewise.
50905 (grub_vbe_set_pixel_rgb) Likewise.
50906 (grub_vbe_set_pixel_index) Likewise.
50907 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50908 (pkgdata_MODULES): Added vesafb.mod.
50909 (pkgdata_MODULES): Added vbe_list_modes.mod.
50910 (pkgdata_MODULES): Added vbe_test.mod.
50911 (vbe_mod_SOURCES): Added.
50912 (vbe_mod_CFLAGS): Likewise.
50913 (vesafb_mod_SOURCES): Likewise.
50914 (vesafb_mod_CFLAGS): Likewise.
50915 (vbe_list_modes_mod_SOURCES): Likewise.
50916 (vbe_list_modes_mod_CFLAGS): Likewise.
50917 (vbe_test_mod_SOURCES): Likewise.
50918 (vbe_test_mod_CFLAGS): Likewise.
50919
0a74e62f 509202005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50921
0a74e62f 50922 * normal/command.c (grub_command_execute): If INTERACTIVE is
50923 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50924 CMDLINE. Disable the pager if INTERACTIVE is true.
50925 All callers are changed.
50926
50927 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50928 before reading a config file.
50929 * normal/main.c (read_config_file): Even if a command is not
50930 found, register it if it is within an entry.
50931
50932 * util/grub-emu.c: Include sys/types.h and unistd.h.
50933 (options): Added --hold.
50934 (struct arguments): Added a new member "hold".
50935 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50936 missing.
50937 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50938 cleared by a debugger, if it is not zero.
50939
50940 * include/grub/normal.h (grub_command_execute): Add an argument
50941 INTERACTIVE.
50942
e51f85ae 509432005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50944
50945 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50946
e9c6f39b 509472005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50948
50949 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50950 program with another one, because the old one didn't detect a bug
50951 in gcc-3.4. Always use regparm 2, because the new test is still
50952 not enough for gcc-4.0. Someone must investigate a simple test
50953 case which detects a bug in gcc-4.0.
50954
8de3495c 509552005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50956
50957 * DISTLIST: Added normal/completion.c.
50958
50959 * normal/completion.c: New file.
f19dbdb7 50960
8de3495c 50961 * term/i386/pc/console.c (grub_console_getwh): New function.
50962 (grub_console_term): Assign grub_console_getwh to getwh.
50963
50964 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50965 function is defined in normal/completion.c as
50966 grub_normal_do_completion.
50967 (grub_cmdline_get): Use grub_normal_do_completion instead of
50968 grub_tab_complete.
50969
50970 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50971 returns non-zero, otherwise return 0.
50972 (grub_partition_iterate): First, probe the partition map. Then,
50973 call ITERATE only for this partition map.
50974
50975 * kern/misc.c (grub_strncmp): Rewritten.
50976
50977 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50978 returns non-zero. Otherwise return 0.
50979
50980 * include/grub/partition.h (grub_partition_map_iterate): Return
50981 int instead of void.
50982
50983 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50984
50985 * include/grub/misc.h (grub_strncmp): Change the type of N to
50986 grub_size_t.
50987
50988 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50989 of void.
50990
50991 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50992 unsigned explicitly before comparing it with I.
8de3495c 50993
50994 * kern/main.c (grub_env_write_root): Add the attribute unused into
50995 VAR.
50996
50997 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50998 normal/completion.c.
50999 (normal_mod_SOURCES): Likewise.
51000 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
51001 (normal_mod_SOURCES): Likewise.
51002
51003 * normal/command.c (grub_iterate_commands): If ITERATE returns
51004 non-zero, return one immediately.
51005
e85e144b 510062005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
51007
51008 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
51009 * kern/i386/pc/startup.S: Updated Global Descriptor table's
51010 descriptions.
51011 (grub_vbe_get_controller_info): New function.
51012 (grub_vbe_get_mode_info): Likewise.
51013 (grub_vbe_set_mode): Likewise.
51014 (grub_vbe_get_mode): Likewise.
51015 (grub_vbe_set_memory_window): Likewise.
51016 (grub_vbe_get_memory_window): Likewise.
51017 (grub_vbe_set_scanline_length): Likewise.
51018 (grub_vbe_get_scanline_length): Likewise.
51019 (grub_vbe_set_display_start): Likewise.
51020 (grub_vbe_get_display_start): Likewise.
51021 (grub_vbe_set_palette_data): Likewise.
51022 * include/grub/i386/pc/vbe.h: New file.
51023
c46153d2 510242005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51025
51026 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51027 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
51028 * DISTLIST: Likewise.
51029 * kern/ieee1275/of.c: Moved to ...
51030 * kern/ieee1275/ieee1275.c: ... here.
51031
0cb90c45 510322005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51033
51034 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
51035 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
51036 Pass 0 as `end' parameter to grub_strtoul().
51037
a19fb360 510382005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51039
51040 * include/grub/powerpc/ieee1275/console.h: Do not include
51041 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
51042 ifdef.
51043 (grub_console_cur_color): Remove i386-specific prototype.
51044 (grub_console_real_putchar): Likewise.
51045 (grub_console_checkkey): Likewise.
51046 (grub_console_getkey): Likewise.
51047 (grub_console_getxy): Likewise.
51048 (grub_console_gotoxy): Likewise.
51049 (grub_console_cls): Likewise.
51050 (grub_console_setcursor): Likewise.
51051 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
51052 Include <grub/machine/console.h>.
51053 * term/ieee1275/ofconsole.c: Likewise.
51054
4ac9bd04 510552005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
51056
51057 * Makefile.in (LIBLZO): New variable.
51058
51059 * configure.ac: Check for LZO version 2.
51060
51061 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
51062 lzo/lzo1x.h instead of lzo1x.h.
51063
51064 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
51065 of -llzo.
51066
51067 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
51068 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
51069
51070 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
51071 copying the data from PARTITION to P.
51072
f4917dfd 510732005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51074
51075 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
51076 negative, unload the module.
51077
51078 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
51079 map is "pc_partition_map" but not "pc".
51080 (usage): Fix the description. The options are --boot-image and
51081 --core-image but not --boot-file or --core-file.
51082 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
51083 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
51084 DEFAULT_DIRECTORY.
51085
51086 * util/i386/pc/grub-install.in: Do not specify --boot-file or
51087 --core-file. Specify INSTALL_DEVICE as an argument.
51088
51089 * util/console.c: Include config.h.
51090 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
51091 [HAVE_NCURSES_H]: Include ncurses.h.
51092 [HAVE_CURSES_H]: Include curses.h.
51093 [!A_NORMAL] (A_NORMAL): Defined as zero.
51094 [!A_STANDOUT] (A_STANDOUT): Likewise.
51095
51096 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
51097 -lncurses.
51098 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
51099
51100 * configure.ac: Check for curses libraries and headers.
51101
51102 * Makefile.in (LIBCURSES): New variable.
51103
51104 * genmk.rb (Script::rule): Set the executable bits.
51105
51106 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
51107 name of the PC partition map is "pc_partition_map" but not "pc".
51108
0e143073 511092005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51110
51111 * util/i386/pc/grub-install.in (grub_probefs): New variable.
51112 (modules): Likewise.
51113 (usage): Added descriptions for --modules and --grub-probefs.
51114 Handle --modules and --grub-probefs. Save the arguments in MODULES
51115 and GRUB_PROBEFS, respectively.
51116 Auto-detect a filesystem module against GRUBDIR. If the result is
51117 empty and modules are not specified explicitly, abort the
51118 installation. Add the result to MODULES.
51119
51120 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
51121 disk/powerpc/ieee1275/ofdisk.c,
51122 include/grub/powerpc/ieee1275/init.h and
51123 term/powerpc/ieee1275/ofconsole.c.
51124 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
51125 term/ieee1275/ofconsole.c.
51126
51127 * include/grub/powerpc/ieee1275/console.h: Resurrected.
51128
51129 * COPYING: Upgraded to the latest version. Only the address of the
51130 FSF office has changed.
f19dbdb7 51131
efd6e6d5 511322005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51133
51134 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51135 kern/ieee1275.c with kern/ieee1275/of.c.
51136
51137 * kern/ieee1275.c: Moved to ...
51138 * kern/ieee1275/of.c: ... here.
51139
8ceafda2 511402005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
51141
51142 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 51143 readability.
8ceafda2 51144
51145 * config.guess: Updated to the latest version from gnulib.
51146 * config.sub: Likewise.
51147 * install.sh: Likewise.
51148 * mkinstalldirs: Likewise.
51149
51150 * include/grub/console.h: Removed. This file is arch-specific. Do
51151 not put this in include/grub.
51152
51153 * include/grub/i386/pc/console.h: Resurrected.
51154
51155 * util/console.c: Include grub/machine/console.h instead of
51156 grub/console.h.
51157 * util/grub-emu.c: Likewise.
51158
267f6cd9 511592005-08-04 Marco Gerards <metgerards@student.han.nl>
51160
51161 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
51162 hardcoded value.
f19dbdb7 51163
267f6cd9 51164 From Vincent Pelletier <subdino2004@yahoo.fr>
51165 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
51166 Redefined to use grub_getwh.
51167 (grub_term): New member named getwh.
51168 (grub_getwh): New prototype.
51169 * kern/term.c (grub_getwh): New function.
51170 * term/i386/pc/console.c (grub_console_getwh): New function.
51171 (grub_console_term): New member `getwh'.
51172 * term/i386/pc/vga.c (grub_vga_getwh): New function.
51173 (grub_vga_term): New member `getwh'.
0b5abe02 51174 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 51175 grub_ssize_t.
51176 (grub_ofconsole_getw): New function.
51177 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
51178 (grub_ofconsole_term): New field named getwh and new initial
51179 value.
51180
3be7266d 511812005-08-03 Hollis Blanchard <hollis@penguinppc.org>
51182
51183 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
51184 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
51185 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
51186 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
51187 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
51188 of <grub/machine/ieee1275.h>.
51189 * commands/ieee1275/reboot.c: Likewise.
51190 * boot/powerpc/ieee1275/ieee1275.c: Move ...
51191 * kern/ieee1275.c: ... to here. All users updated. Change all
51192 parameter structs to use new type `grub_ieee1275_cell_t'.
51193 * term/powerpc/ieee1275/ofconsole.c: Move ...
51194 * term/ieee1275/ofconsole.c: ... to here. All users updated.
51195 * disk/powerpc/ieee1275/ofdisk.c: Move ...
51196 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
51197 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
51198 to return int.
51199 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
51200 Remove unused prototypes. All users updated.
51201 * include/grub/powerpc/ieee1275/console.h: Removed.
51202 * include/grub/powerpc/ieee1275/ieee1275.h: Define
51203 `grub_ieee1275_cell_t'.
51204 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
51205 Cast comparisons with -1 to the correct type.
51206 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
51207 type to match `grub_ieee1275_entry_fn'.
51208
8b5f3938 512092005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
51210
51211 * DISTLIST: Added util/i386/pc/grub-probefs.c.
51212
51213 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
51214 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
51215 partmap/sun.c.
51216 (grub_probefs_SOURCES): New variable.
51217
51218 * util/i386/pc/grub-probefs.c: New file.
51219
51220 * util/i386/pc/grub-setup.c (main): Call
51221 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
51222 grub_hfs_init and grub_jfs_init to initialize the system. Call
51223 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
51224 grub_pc_partition_map_fini to finish the system.
51225
ea409713 512262005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
51227
51228 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
51229 function.
51230 (grub_multiboot_load_elf32): Likewise.
51231 (grub_multiboot_is_elf64): Likewise.
51232 (grub_multiboot_load_elf64): Likewise.
51233 (grub_multiboot_load_elf): Likewise.
51234 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
51235 an ELF32 or ELF64 file.
51236 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
51237
51238 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
51239 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
51240 NULL before calling FS->LABEL.
51241 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
51242 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
51243 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
51244 before calling FS->LABEL.
51245
141a288b 512462005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
51247
51248 * util/i386/pc/grub-install.in (datadir): New variable.
51249 (libdir): Removed.
51250 (pkgdatadir): New variable.
51251 (pkglibdir): Removed.
51252
0d5f8a54 512532005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
51254
51255 * DISTLIST: Added util/i386/pc/grub-install.in.
51256
51257 * util/i386/pc/grub-install.in: New file.
51258
51259 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
51260 (grub_install_SOURCES): Likewise.
51261
51262 * genmk.rb: Added support for scripts.
51263 (Script): New class.
51264 (scripts): New variable.
51265
51266 * Makefile.in (install-local): Install sbin_SCRIPTS by
51267 INSTALL_SCRIPT.
51268 (uninstall): Remove sbin_SCRIPTS.
51269
51270 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
51271 device, try to get a GRUB device by
51272 grub_util_biosdisk_get_grub_dev.
51273 Free DEST_DEV.
51274
51275 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
51276 description for --device-map.
51277
5f968e1e 512782005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51279
51280 Change the semantics of variable hooks. They now return strings
51281 instead of error values.
f19dbdb7 51282
5f968e1e 51283 * util/i386/pc/grub-setup.c: Include grub/env.h.
51284 (setup): Use grub_device_set_root instead of grub_env_set.
51285
51286 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
51287 grub_env_get instead of grub_device_set_root and
51288 grub_device_get_root, respectively.
51289
51290 * kern/main.c (grub_env_write_root): New function.
51291 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
51292 grub_env_set instead of grub_device_set_root.
51293
51294 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
51295 many variables.
51296 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
51297 rather than calling ENV->WRITE_HOOK afterwards.
51298 (grub_env_get): Return the result of ENV->READ_HOOK rather than
51299 passing a pointer of a pointer.
51300 (grub_register_variable_hook): Change the types of "read_hook" and
51301 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
51302 respectively.
51303 Allocate the default empty string on the heap, because this string
51304 may be freed later.
51305
51306 * kern/device.c: Include grub/env.h.
51307 (grub_device_set_root): Removed.
51308 (grub_device_get_root): Likewise.
51309 (grub_device_open): Use grub_env_get instead of
51310 grub_device_get_root.
51311
51312 * include/grub/env.h (grub_env_read_hook_t): New type.
51313 (grub_env_write_hook_t): Likewise.
51314 (grub_env_var): Change the types of "read_hook" and "write_hook"
51315 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
51316 (grub_register_variable_hook): Likewise.
51317
51318 * include/grub/device.h (grub_device_set_root): Removed.
51319 (grub_device_set_root): Likewise.
51320
51321 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
51322 make sure that DIRNAME terminates with '/', so that
51323 grub_fat_find_dir will fail if PATH is not a directory.
51324
51325 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
51326 from DIRNAME.
51327 Use the qualifier auto for print_files and print_files_long.
51328 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
51329 as a regular file.
51330 Put a newline only if there is no error.
51331 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
51332 used.
51333
896f0afd 513342005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51335
51336 * kern/partition.c (grub_partition_probe): Initialize PART to
51337 NULL. Otherwise, when no partition map is registered, this returns
51338 a garbage.
51339
b28b81b2 513402005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
51341
51342 * partmap/apple.c (apple_partition_map_iterate): Check if POS
51343 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
51344 valid.
51345
5f3607e0 513462005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
51347
51348 * commands/ls.c (grub_ls_list_disks): Print the filesystem
51349 information on each device, if it does not have partitions. Print
51350 "Device" instead of "Disk", because this function is not specific
51351 to disk devices.
51352
51353 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
51354 static to ensure that it is put on the memory rather than a
51355 register.
51356
502c87e8 513572005-07-17 Yoshinori Okuji <okuji@enbug.org>
51358
51359 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
51360 (grub_cat_init): Likewise.
51361 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
51362 (options): Likewise.
51363 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
51364 (grub_configfile_init): Likewise.
51365 * font/manager.c (GRUB_MOD_INIT): Likewise.
51366 * commands/help.c (GRUB_MOD_INIT): Likewise.
51367 (grub_help_init): Likewise.
51368 * normal/command.c (grub_command_init): Likewise.
51369 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
51370 * disk/loopback.c (grub_loop_init): Likewise.
51371 (GRUB_MOD_INIT): Likewise.
51372 * commands/ls.c (grub_ls_init): Likewise.
51373 (GRUB_MOD_INIT): Likewise.
51374 (options): Likewise.
51375 * commands/boot.c (grub_boot_init): Likewise.
51376 (GRUB_MOD_INIT): Likewise.
51377 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
51378 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
51379 (GRUB_MOD_INIT): Likewise.
51380 * commands/cmp.c (grub_cmp_init): Likewise.
51381 (GRUB_MOD_INIT): Likewise.
51382
51383 * normal/arg.c: Use <> instead of "" to include header files.
51384 (SHORT_ARG_HELP): New macro.
51385 (SHORT_ARG_USAGE): Likewise.
51386 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
51387 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
51388 descriptions.
51389 (find_short): Check if C is 'h' or 'u' explicitly.
51390 (grub_arg_show_help): Use space characters instead of tabs. Treat
51391 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
51392 are shown with --help and --usage only if they are not used for
51393 the command itself.
51394 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
51395 'h' and 'u'.
51396
51397 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
51398 const into "longarg". Change the type of "shortarg" to int.
51399
f806d18e 514002005-07-17 Yoshinori Okuji <okuji@enbug.org>
51401
51402 * boot/i386/pc/boot.S (boot_drive_check): New label.
51403
51404 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
51405 macro.
51406
51407 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
51408 which do not pass a boot drive correctly. Copied from GRUB Legacy.
51409
e293232b 514102005-07-17 Yoshinori Okuji <okuji@enbug.org>
51411
51412 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
51413 When turning off Gate A20, skip the check and return immediately,
51414 because this is not fatal usually.
51415
ebedfd00 514162005-07-17 Yoshinori Okuji <okuji@enbug.org>
51417
51418 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
51419 be 0x7C00 instead of 0x8000.
51420
51421 * boot/i386/pc/pxeboot.S: Rewritten.
51422
51423 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
51424 EXT_C.
51425 (gate_a20_check_state): Read a byte from 0x108000. Invert the
51426 result.
51427
654fc59f 514282005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
51429
51430 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
51431 robustness. This routine now supports a BIOS call and System
51432 Control Port A to modify the gate A20.
51433
51434 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51435 Increased to 0x440.
51436
09f9923f 514372005-07-12 Hollis Blanchard <hollis@penguinppc.org>
51438
51439 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
51440 device path and resulting ihandle.
51441 (grub_ofdisk_close): dprintf the ihandle being closed.
51442 (grub_ofdisk_read): dprintf function parameters.
51443 * kern/mm.c (grub_mm_init_region): Likewise.
51444 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
51445 (grub_linux_boot): dprintf the Linux entry point, initrd address and
51446 size, and boot arguments.
51447 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
51448 before loading into memory.
51449 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
51450 before loading into memory.
51451
7ef504d8 514522005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
51453
51454 * kern/mm.c: Added much documentation.
51455 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
51456 8, set to 5 instead of 8.
51457
e0f050c2 514582005-07-10 Yoshinori Okuji <okuji@enbug.org>
51459
51460 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
51461
51462 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
51463 (grub_mkdevicemap_SOURCES): New variable.
51464
51465 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
51466 lib/device.c of GRUB Legacy.
51467
7224189a 514682005-07-10 Yoshinori Okuji <okuji@enbug.org>
51469
51470 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
51471 instead of PATH is NULL.
51472
68c864eb 514732005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
51474
51475 * commands/cmp.c (BUFFER_SIZE): New macro.
51476 (grub_cmd_cmp): Close the right file at the right time. Compare
51477 only data just read. Don't report files of different size as
51478 identical. Dynamically allocate buffers. Move variable
51479 declarations at the beginning of function.
51480
e6f3e614 514812005-07-09 Yoshinori Okuji <okuji@enbug.org>
51482
51483 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
51484 reverse.
51485
f8f1559a 514862004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
51487
51488 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
51489 when backspace is pressed at beginning of line.
51490
39c9d41d 514912005-07-03 Yoshinori Okuji <okuji@enbug.org>
51492
51493 * DISTLIST: Added genfslist.sh.
51494
51495 * normal/main.c (fs_module_list): New variable.
51496 (autoload_fs_module): New function.
51497 (read_fs_list): Likewise.
51498 (grub_normal_execute): Call read_fs_list.
51499
51500 * kern/fs.c (grub_fs_autoload_hook): New variable.
51501 (grub_fs_probe): Added support for auto-loading.
51502
51503 * include/grub/normal.h (struct grub_fs_module_list): New struct.
51504 (grub_fs_module_list_t): New type.
51505
51506 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
51507 (grub_fs_autoload_hook): New prototype.
51508
51509 * genfslist.sh: New file.
f19dbdb7 51510
39c9d41d 51511 * genmk.rb: Added a rule to generate a filesystem list.
51512
121c1d83 515132005-06-30 Marco Gerards <metgerards@student.han.nl>
51514
51515 * configure.ac: Fix the test for cross-compiling.
51516
51517 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
51518 define GRUB_UTIL anymore.
51519
51520 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
51521 so this function works on other systems than just big endian.
51522 (load_modules): Likewise.
51523 (add_segments): Likewise.
51524
e75d76e1 515252005-06-23 Hollis Blanchard <hollis@penguinppc.org>
51526
51527 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
51528 contains `l' modifier, get a long from va_arg().
51529
50b5a0a7 515302005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
51531
51532 * kern/mm.c (grub_free): If the next free block which is being
51533 merged is the first free block, set the first block to the block
51534 being freed.
51535 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
51536
89371b20 515372005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51538
51539 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
51540 `grub_ieee1275_chosen'.
51541
168d6e58 515422005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51543
51544 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
51545 (grub_ieee1275_chosen): New variable.
51546 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
51547 `chosen'.
51548 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
51549 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51550 Rename first argument to `phandle' for consistency.
51551 (grub_ieee1275_get_property_length): Likewise.
51552 (grub_ieee1275_next_property): Likewise. Change type of first argument
51553 to grub_ieee1275_phandle_t.
51554 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
51555 Move export next to declaration.
51556 (grub_ieee1275_chosen): New variable.
51557 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
51558 Correct cosmetic typo.
51559 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
51560 `grub_ieee1275_chosen'.
51561 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
51562 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
51563 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
51564 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
51565 `grub_ieee1275_chosen'.
51566
ca5baa3f 515672005-05-10 Hollis Blanchard <hollis@penguinppc.org>
51568
51569 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
51570 /chosen/bootargs.
51571 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
51572 /chosen/bootargs as "variable=value" pairs.
51573
708b345f 515742005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
51575
51576 * include/grub/misc.h (grub_dprintf): New macro.
51577 (grub_real_dprintf): New prototype.
51578 (grub_strword): Likewise.
51579 (grub_iswordseparator): Likewise.
51580 * kern/misc.c (grub_real_dprintf): New function.
51581 (grub_strword): Likewise.
51582 (grub_iswordseparator): Likewise.
51583
f4c5e67c 515842005-04-30 Hollis Blanchard <hollis@penguinppc.org>
51585
51586 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
51587 (roundup): Remove macro.
51588 (grub_ieee1275_flags): Make static.
51589 (grub_ieee1275_realmode): Remove.
51590 (grub_ieee1275_test_flag): New function.
51591 (grub_ieee1275_set_flag): Likewise.
51592 (find_options): Rename to `grub_ieee1275_find_options'; update
51593 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
51594 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
51595 (cmain): New prototype.
51596 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
51597 `grub_ieee1275_flags' directly.
51598 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
51599 machine/biosdisk.h.
51600 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
51601 Don't include grub/machine/init.h.
51602 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
51603 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51604 Remove prototype.
51605 (grub_ieee1275_realmode): Likewise.
51606 (grub_ieee1275_flag): New enum.
51607 (grub_ieee1275_test_flag): New prototype.
51608 (grub_ieee1275_set_flag): New prototype.
51609 * include/grub/powerpc/ieee1275/init.h: Remove file.
51610 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
51611 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
51612 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
51613 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
51614 comment.
51615 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
51616 `grub_ieee1275_test_flag'.
51617 (grub_ieee1275_encode_devname): Likewise.
51618
ed16607e 516192005-04-21 Hollis Blanchard <hollis@penguinppc.org>
51620
51621 * include/grub/powerpc/ieee1275/ieee1275.h
51622 (grub_ieee1275_encode_devname): New prototype.
51623 (grub_ieee1275_get_filename): Likewise.
51624 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
51625 function.
51626 (grub_set_prefix): Likewise.
51627 (grub_machine_init): Call grub_set_prefix.
51628 * kern/powerpc/ieee1275/openfw.c: Fix typos.
51629 (grub_parse_type): New enum.
51630 (grub_ieee1275_get_devargs): New function.
51631 (grub_ieee1275_get_devname): Likewise.
51632 (grub_ieee1275_parse_args): Likewise.
51633 (grub_ieee1275_get_filename): Likewise.
51634 (grub_ieee1275_encode_devname): Likewise.
51635
be369920 516362005-03-30 Marco Gerards <metgerards@student.han.nl>
51637
51638 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
51639 `grub_loader_unset'.
51640
a5ce3a4a 516412005-03-26 Hollis Blanchard <hollis@penguinppc.org>
51642
51643 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
51644 instead of grub_ieee1275_interpret.
51645 (grub_halt_init): New function.
51646 (grub_halt_fini): Likewise.
51647 (GRUB_MOD_INIT): Correct message grammar.
51648 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
51649 instead of grub_ieee1275_interpret.
51650 (grub_reboot_init): New function.
51651 (grub_reboot_fini): Likewise.
51652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
51653 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
51654 util/i386/pc/misc.c with commands/ieee1275/halt.c,
51655 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
51656 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
51657 function.
51658 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
51659 Add prototype.
51660 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
51661 prototype.
51662 (grub_halt): Likewise.
51663 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
51664 (cmain): Remove __attribute__((unused)).
51665 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
51666 (grub_heap_len): Likewise.
51667 (grub_machine_fini): New function.
51668 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
51669 (grub_halt): Likewise.
51670 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
51671 function.
51672 * util/powerpc/ieee1275/misc.c: New file.
51673
0058f771 516742005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51675
51676 * DISTLIST: New file.
51677 * gendistlist.sh: Likewise.
f19dbdb7 51678
0058f771 51679 * Makefile.in (COMMON_DISTFILES): Removed.
51680 (BOOT_DISTFILES): Likewise.
51681 (CONF_DISTFILES): Likewise.
51682 (DISK_DISTFILES): Likewise.
51683 (FS_DISTFILES): Likewise.
51684 (INCLUDE_DISTFILES): Likewise.
51685 (KERN_DISTFILES): Likewise.
51686 (LOADER_DISTFILES): Likewise.
51687 (TERM_DISTFILES): Likewise.
51688 (UTIL_DISTFILES): Likewise.
51689 (DISTFILES): Likewise.
51690 (uninstall): Uninstall files in $(pkgdata_DATA).
51691 (DISTLIST): New target.
51692 (distdir): Use the contents of the file DISTLIST to get a list of
51693 distributed files.
51694
46b3b8a5 516952005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51696
51697 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51698 descriptor. This is ported from GRUB Legacy.
51699
51700 * gencmdlist.sh: Added an extra semicolon to make it work with
51701 old sed versions. Reported by Robert Bihlmeyer
51702 <robbe@orcus.priv.at>.
51703
5822ff87 517042005-03-08 Yoshinori Okuji <okuji@enbug.org>
51705
51706 Automatic loading of commands is supported.
f19dbdb7 51707
5822ff87 51708 * normal/main.c (read_command_list): New function.
51709 (grub_normal_execute): Call read_command_list.
51710
51711 * normal/command.c (grub_register_command): Return zero or CMD.
51712 Allocate CMD->NAME from the heap.
51713 Initialize CMD->MODULE_NAME to zero.
51714 Find the same name as well. If the same command is found and it is
51715 a dummy command, overwrite members. If it is not a dummy command,
51716 return zero.
51717 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51718 (grub_command_find): If a dummy command is found, load a module
51719 and retry to find a command only once.
51720
51721 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51722 make sure that each command is loaded.
51723
51724 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51725 macro.
51726 (struct grub_command): Remove const from the member `name'.
51727 Add a new member `module_name'.
51728 (grub_register_command): Return grub_command_t.
51729
51730 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51731 sure that each command is loaded.
51732
51733 * genmk.rb (PModule::rule): Specify a module name without the
51734 suffix ".mod" to gencmdlist.sh.
51735
7b1f4b57 517362005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51737
51738 * gencmdlist.sh: New file.
f19dbdb7 51739
7b1f4b57 51740 * genmk.rb (PModule::rule): Generate a rule for a command list.
51741 Clean command.lst.
51742 Generate command.lst from $(COMMANDFILES).
51743
51744 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51745 (DATA): Added $(pkgdata_DATA).
51746 (install-local): Install files in $(pkgdata_DATA).
51747
062aaf39 517482005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51749
51750 * term/i386/pc/vga.c (debug_command): Removed.
51751 (GRUB_MOD_INIT): Do not register the command "debug".
51752
51753 From Hollis Blanchard:
51754 * commands/configfile.c: New file.
51755 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51756 commands/configfile.c.
51757 (pkgdata_MODULES): Added configfile.mod.
51758 (configfile_mod_SOURCES): New variable.
51759 (configfile_mod_CFLAGS): Likewise.
51760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51761 commands/configfile.c.
51762 (pkgdata_MODULES): Added configfile.mod.
51763 (configfile_mod_SOURCES): New variable.
51764 (configfile_mod_CFLAGS): Likewise.
51765 * util/grub-emu.c (main): Call grub_configfile_init and
51766 grub_configfile_fini.
51767 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51768 prototype.
51769 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 51770
cee01aa6 517712005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51772
51773 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51774 address.
51775
51776 * commands/help.c (grub_cmd_help): Do not print newlines after
51777 the last command in print_command_help.
51778
93f3a1d8 517792005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51780
51781 * commands/default.h: New file.
51782 * commands/timeout.h: Likewise.
51783 * normal/context.c: Likewise.
f19dbdb7 51784
93f3a1d8 51785 * util/misc.c: Do not include sys/times.h.
51786 Include sys/time.h and grub/machine/time.h.
51787 (grub_get_rtc): Rewritten with gettimeofday.
51788
51789 * util/grub-emu.c (main): Call grub_default_init and
51790 grub_timeout_init before grub_normal_init, and call
51791 grub_timeout_fini and grub_default_fini after grub_main.
51792
51793 * util/console.c (grub_ncurses_checkkey): Return the read
51794 character or -1.
51795
51796 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51797 timeouts.
51798
51799 * normal/main.c (read_config_file): Push MENU. If this fails,
51800 print an error and wait for a user input.
51801 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
51802 If a menu is empty or an error occurs, pop MENU.
51803 (grub_normal_execute): Pop and free MENU after grub_menu_run
51804 returns.
51805
51806 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
51807
51808 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
51809 include time.h.
51810 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51811 without GRUB_UTIL.
51812 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51813 time.h.
51814 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51815 without GRUB_UTIL.
51816
51817 * include/grub/normal.h (struct grub_menu_list): New struct.
51818 (grub_menu_list_t): New type.
51819 (struct grub_context): New struct.
51820 (grub_context_t): New type.
51821 (grub_register_command): Got rid of EXPORT_FUNC.
51822 (grub_unregister_command): Likewise.
51823 (grub_context_get): New prototype.
51824 (grub_context_get_current_menu): Likewise.
51825 (grub_context_push_menu): Likewise.
51826 (grub_context_pop_menu): Likewise.
51827 [GRUB_UTIL] (grub_default_init): Likewise.
51828 [GRUB_UTIL] (grub_default_fini): Likewise.
51829 [GRUB_UTIL] (grub_timeout_init): Likewise.
51830 [GRUB_UTIL] (grub_timeout_fini): Likewise.
51831
51832 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
51833 commands/timeout.c and normal/context.c.
51834 (pkgdata_MODULES): Added default.mod and timeout.mod.
51835 (normal_mod_SOURCES): Added normal/context.c.
51836 (default_mod_SOURCES): New variable.
51837 (default_mod_CFLAGS): Likewise.
51838 (timeout_mod_SOURCES): Likewise.
51839 (timeout_mod_CFLAGS): Likewise.
51840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
51841 conf/i386-pc.rmk.
51842 (pkgdata_MODULES): Added default.mod and timeout.mod.
51843 (normal_mod_SOURCES): Added normal/context.c.
51844 (default_mod_SOURCES): New variable.
51845 (default_mod_CFLAGS): Likewise.
51846 (timeout_mod_SOURCES): Likewise.
51847 (timeout_mod_CFLAGS): Likewise.
51848
51849 * Makefile.in (all-local): Added $(MKFILES).
51850
4ed2e1dd 518512005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51852
51853 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51854 (grub_emu_SOURCES): Likewise.
51855 (pkgdata_MODULES): Add `sun.mod'.
51856 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51857 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51858 `partmap/sun.c'.
51859 (pkgdata_MODULES): Add `sun.mod'.
51860 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51861 * include/grub/partition.h (grub_sun_partition_map_init): New
51862 prototype.
51863 (grub_sun_partition_map_fini): Likewise.
51864 * partmap/sun.c: New file.
51865 * util/grub-emu.c (main): Initialize and de-initialize the sun
51866 partitionmap support.
51867
4d4e372e 518682005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51869
51870 This implements an Emacs-like menu entry editor.
f19dbdb7 51871
4d4e372e 51872 * normal/menu_entry.c: New file.
f19dbdb7 51873
4d4e372e 51874 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51875 characters to ASCII.
51876 (saved_char): New variable.
51877 (grub_ncurses_checkkey): Rewritten completely.
51878 (grub_ncurses_getkey): Likewise.
51879 (grub_ncurses_init): Call raw instead of cbreak.
51880
51881 * normal/menu.c (print_entry): Do not put a space.
51882 (init_page): Renamed to ...
51883 (grub_menu_init_page): ... this. All callers changed.
51884 (edit_menu_entry): Removed.
51885 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51886
51887 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51888
51889 * kern/misc.c (grub_vprintf): Call grub_refresh.
51890
51891 * normal/menu.c (DISP_LEFT): Renamed to ...
51892 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51893 * normal/menu.c (DISP_UP): Renamed to ...
51894 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51895 * normal/menu.c (DISP_RIGHT): Renamed to ...
51896 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51897 * normal/menu.c (DISP_DOWN): Renamed to ...
51898 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51899 * normal/menu.c (DISP_HLINE): Renamed to ...
51900 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51901 * normal/menu.c (DISP_VLINE): Renamed to ...
51902 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51903 * normal/menu.c (DISP_UL): Renamed to ...
51904 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51905 * normal/menu.c (DISP_UR): Renamed to ...
51906 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51907 * normal/menu.c (DISP_LL): Renamed to ...
51908 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51909 * normal/menu.c (DISP_LR): Renamed to ...
51910 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51911 * normal/menu.c (TERM_WIDTH): Renamed to ...
51912 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51913 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51914 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51915 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51916 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51917 * normal/menu.c (TERM_MARGIN): Renamed to ...
51918 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51919 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51920 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51921 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51922 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51923 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51924 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51925 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51926 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51927 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51928 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51929 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51930 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51931 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51932 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51933 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51934 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51935 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51936 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51937 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51938 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51939 All callers changed.
51940
51941 * include/grub/normal.h: New prototype.
51942
51943 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51944 normal/menu_entry.c.
51945 (normal_mod_SOURCES): Likewise.
51946 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51947 (normal_mod_SOURCES): Likewise.
51948
e6b92c8a 519492005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51950
51951 * include/grub/normal.h (grub_halt_init): New prototype.
51952 (grub_halt_fini): Likewise.
51953 (grub_reboot_init): Likewise.
51954 (grub_reboot_fini): Likewise.
51955
51956 * util/grub-emu.c: Include signal.h.
51957 (main_env): New global variable.
51958 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51959 catch C-c.
51960 (grub_machine_fini): New function.
51961 (main): Call grub_halt_init and grub_reboot_init before
51962 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51963 Call setjmp with MAIN_ENV to go back afterwards.
51964 Call grub_machine_fini right before return.
51965
51966 * include/grub/util/misc.h: Include setjmp.h.
51967 (main_env): New prototype.
51968
51969 * include/grub/kernel.h (grub_machine_fini): New prototype.
51970 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51971 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51972
51973 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51974 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51975 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51976
e6b92c8a 51977 * util/i386/pc/misc.c: New file.
f19dbdb7 51978
e6b92c8a 51979 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51980 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51981 commands/i386/pc/reboot.c.
51982
c642636f 519832005-02-14 Guillem Jover <guillem@hadrons.org>
51984
51985 * include/grub/dl.h (grub_dl_check_header): New prototype.
51986 (grub_arch_dl_check_header): Change return type to grub_err_t,
51987 remove size parameter and export function. Update all callers.
51988 * kern/dl.c (grub_dl_check_header): New function.
51989 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51990 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51991 are inside the core.
51992 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51993 independent ELF header checks.
51994 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51995 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51996 `grub_dl_check_header' instead of explicit checks. Check for the
51997 ELF type.
51998 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51999 `grub_dl_check_header' instead of explicit checks. Remove arch
52000 specific ELF header checks.
52001
e6b92c8a 52002 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
52003 argument SIZE.
52004
5eabe94b 520052005-02-13 Hollis Blanchard <hollis@penguinppc.org>
52006
52007 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
52008 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
52009
1b14a681 520102005-02-12 Hollis Blanchard <hollis@penguinppc.org>
52011
52012 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 52013 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 52014 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 52015 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 52016 * partmap/amiga.c (amiga_partition_map_iterate): Return
52017 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
52018 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52019
aca108aa 520202005-02-01 Guillem Jover <guillem@hadrons.org>
52021
52022 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
52023 help info.
52024
c9f9c556 520252005-01-31 Marco Gerards <metgerards@student.han.nl>
52026
52027 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
52028 Removed prototype.
52029 (grub_rescue_cmd_linux): New prototype.
52030 (grub_rescue_cmd_initrd): Likewise.
52031 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
52032 `bi_rec'.
52033 (grub_linux_release_mem): Release the memory for the initrd.
52034 (grub_load_linux): Renamed from this...
52035 (grub_rescue_cmd_linux): ...To this. Changed all callers.
52036 Changed `entry' not to be static. Loop over memory regions to
52037 find another one when the default fails.
52038 (grub_rescue_cmd_initrd): New function.
52039 (grub_linux_init): Remove function.
52040 (grub_linux_fini): Likewise.
52041 (GRUB_MOD_INIT): Register `initrd'.
52042 (GRUB_MOD_FINI): Unregister `initrd'.
52043 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
52044 Function removed.
52045 (grub_linux_normal_fini): Likewise.
52046 (GRUB_MOD_INIT): Register `initrd'.
52047 (GRUB_MOD_FINI): Unregister `initrd'.
52048
990cf3aa 520492005-01-31 Marco Gerards <metgerards@student.han.nl>
52050
52051 * commands/help.c: New file.
52052 * normal/arg.c (show_help): Renamed to...
52053 (grub_arg_show_help): ... this.
52054 * commands/i386/pc/halt.c: New file.
52055 * commands/i386/pc/reboot.c: Likewise.
52056 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
52057 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
52058 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
52059 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
52060 variables.
52061 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52062 `commands/help.c'.
52063 (pkgdata_MODULES): Add `help.mod'.
52064 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
52065 * grub/i386/pc/init.h (grub_reboot): New prototype.
52066 (grub_halt): Likewise.
52067 * include/grub/normal.h (grub_arg_show_help): New prototype.
52068 (grub_help_init): Likewise.
52069 (grub_help_fini): Likewise.
52070 * util/grub-emu.c (main): Initialize and deinitialize the help
52071 command.
52072
52073 * normal/cmdline.c (grub_cmdline_get): Doc fix.
52074
52075 * normal/command.c (grub_command_init): Fixed the description of
52076 the `set' and `unset' commands.
52077
520782005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 52079
52080 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
52081 function.
52082 * commands/ieee1275/halt.c: New file.
52083 * commands/ieee1275/reboot.c: Likewise.
52084 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
52085 `__attribute__ ((unused))'. Some GCS related fixed.
52086 (grub_suspend_init) [GRUB_UTIL]: Function removed.
52087 (grub_suspend_fini): Likewise.
52088 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
52089 and `halt.mod'.
52090 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
52091 (halt_mod_CFLAGS): New variables.
52092 * include/grub/powerpc/ieee1275/ieee1275.h
52093 (grub_ieee1275_interpret): New prototype.
52094
1ab09cc7 520952005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
52096
52097 * include/grub/misc.h (memmove): New prototype.
52098 (memcpy): Likewise.
52099
8b8cbdb2 521002005-01-22 Hollis Blanchard <hollis@penguinppc.org>
52101
52102 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
52103 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
52104
e3741a27 521052005-01-22 Marco Gerards <metgerards@student.han.nl>
52106
52107 * kern/misc.c (grub_strndup): Function rewritten.
52108
776bd780 521092005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
52110
52111 * normal/menu.c (TERM_WIDTH): Macro redefined.
52112 (TERM_TOP_BORDER_Y): Likewise.
52113 (draw_border): Replaced while-loop by a for-loop. Make the number
52114 of lines consistent with the number of lines displayed in
52115 print_entries. Added a margin below the rectangle.
52116 (print_entry): Make the entry fit in the rectangle.
52117 (print_entries): Display the scroll arrows next to the right
52118 border.
52119
78026bce 521202005-01-21 Marco Gerards <metgerards@student.han.nl>
52121
52122 * fs/minix.c (grub_minix_find_file): Reserve more space for
52123 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
52124 `grub_strncpy' to copy `path' into it.
52125
67bbaf0f 521262005-01-21 Marco Gerards <metgerards@student.han.nl>
52127
52128 Add the loopback device, a device via which files can be accessed
52129 as devices.
f19dbdb7 52130
67bbaf0f 52131 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
52132 (pkgdata_MODULES): Add loopback.mod.
52133 (loopback_mod_SOURCES): New variable.
52134 (loopback_mod_CFLAGS): Likewise.
52135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52136 `disk/loopback.c'.
52137 (pkgdata_MODULES): Add loopback.mod.
52138 (loopback_mod_SOURCES): New variable.
52139 (loopback_mod_CFLAGS): Likewise.
52140 * disk/loopback.c: new file.
52141 * include/grub/normal.h (grub_loop_init): New prototype.
52142 (grub_loop_fini): New prototype.
52143 * util/grub-emu.c (main): Initialize and de-initialize loopback
52144 support.
52145 * include/grub/disk.h (grub_disk_dev_id): Add
52146 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
52147
6f1c18bd 521482005-01-20 Hollis Blanchard <hollis@penguinppc.org>
52149
52150 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
52151 function.
52152 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
52153 (suspend_mod_SOURCES): New variable.
52154 (suspend_mod_CFLAGS): Likewise.
52155 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
52156 New prototype.
52157 * commands/ieee1275/suspend.c: New file.
52158
b38551da 521592005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
52160
52161 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 52162 ((unused))' to `__attribute__ ((used))'.
b38551da 52163 (GRUB_MOD_FINI): Likewise.
52164 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
52165 * genmk.rb (PModule): Assign space to common symbols when linking
52166 modules.
52167
777aff39 521682005-01-20 Marco Gerards <metgerards@student.han.nl>
52169
52170 * include/grub/mm.h (grub_mm_init_region): Change the type of the
52171 `unsigned' arguments to `grub_size_t'.
52172 (grub_malloc): Likewise.
52173 (grub_realloc): Likewise.
52174 (grub_memalign): Likewise.
52175 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
52176 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52177 * util/misc.c (grub_malloc): Likewise.
52178 (grub_realloc): Likewise.
52179 * kern/mm.c (get_header_from_pointer): Change the casts to
52180 `unsigned' into a cast to `grub_size_t'.
52181
52182 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
52183 point to `currnode' when `currnode' is changed.
52184
52185 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
52186 Schottelius <nico-linux@schottelius.org>.
52187
d0ff18e1 521882005-01-09 Hollis Blanchard <hollis@penguinppc.org>
52189
52190 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
52191 (note_path): Remove variable.
52192 (GRUB_IEEE1275_NOTE_NAME): New macro.
52193 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
52194 (grub_ieee1275_note_hdr): New structure.
52195 (grub_ieee1275_note_desc): Likewise.
52196 (grub_ieee1275_note): Likewise.
52197 (load_note): Remove `dir' argument. All callers updated. Remove
52198 `note_img' and `path'. Do not load a file from `note_path'.
52199 Initialize a struct grub_ieee1275_note and write that to `out'.
52200 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
52201
4ca7004c 522022005-01-05 Marco Gerards <metgerards@student.han.nl>
52203
52204 * util/misc.c (grub_util_read_image): Revert last change. It
52205 called `grub_util_read_at', which seeks from the beginning of the
52206 file.
52207
0b412211 522082005-01-04 Hollis Blanchard <hollis@penguinppc.org>
52209
52210 * TODO: Add note about endianness in grub-mkimage.
52211 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
52212 section.
52213 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
52214 (grub_mkimage_SOURCES): New target.
52215 * include/grub/kernel.h (grub_start_addr): Remove variable.
52216 (grub_end_addr): Likewise.
52217 (grub_total_module_size): Likewise.
52218 (grub_kernel_image_size): Likewise.
52219 (GRUB_MODULE_MAGIC): New constant.
52220 (grub_module_info): New structure.
52221 (grub_arch_modules_addr): New prototype.
52222 (grub_get_end_addr): Remove prototype.
52223 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
52224 * include/grub/powerpc/ieee1275/kernel.h: New file.
52225 * include/grub/util/misc.h (grub_util_get_fp_size): New
52226 prototype.
52227 (grub_util_read_at): Likewise.
52228 (grub_util_write_image_at): Likewise.
52229 * kern/main.c (grub_get_end_addr): Remove function.
52230 (grub_load_modules): Call grub_arch_modules_addr instead of using
52231 grub_end_addr. Look for a grub_module_info struct in memory. Use
52232 the grub_module_info fields instead of calling grub_get_end_addr
52233 as loop conditions. Move grub_add_unused_region code here.
52234 (grub_add_unused_region): Remove function.
52235 * kern/i386/pc/init.c: Include grub/cache.h.
52236 (grub_machine_init): Remove call to grub_get_end_addr. Remove
52237 one call to add_mem_region.
52238 (grub_arch_modules_addr): New function.
52239 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
52240 (grub_total_module_size): Likewise.
52241 Include grub/machine/kernel.h.
52242 (grub_arch_modules_addr): New function.
52243 * util/grub-emu.c (grub_end_addr): Remove variable.
52244 (grub_total_module_size): Likewise.
52245 (grub_arch_modules_addr): New function.
52246 * util/misc.c: Include unistd.h.
52247 (grub_util_get_fp_size): New function.
52248 (grub_util_read_at): Likewise.
52249 (grub_util_write_image_at): Likewise.
52250 (grub_util_read_image): Call grub_util_read_at.
52251 (grub_util_write_image): Call grub_util_write_image_at.
52252 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
52253 additional memory in kernel_img for a struct grub_module_info.
52254 Fill in that grub_module_info.
52255 * util/powerpc/ieee1275/grub-mkimage.c: New file.
52256
458786f8 522572005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52258
52259 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
52260 New function.
52261 * include/grub/powerpc/ieee1275/ieee1275.h
52262 (grub_ieee1275_milliseconds): New prototype.
52263 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
52264 Change to 1000.
52265 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
52266 grub_ieee1275_milliseconds.
52267
ac507d1b 522682005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52269
52270 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
52271 variable.
52272 (find_options): New function.
52273 (cmain): Call find_options.
52274 * include/grub/powerpc/ieee1275/ieee1275.h
52275 (grub_ieee1275_realmode): New extern variable.
52276 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
52277 grub_map if grub_ieee1275_realmode is false.
52278
6b8fd1c4 522792004-12-29 Marco Gerards <metgerards@student.han.nl>
52280
52281 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
52282 lines are inserted and make it work like readline. Reported by
52283 Vincent Pelletier <subdino2004@yahoo.fr>.
52284
8514a1e0 522852004-12-28 Marco Gerards <metgerards@student.han.nl>
52286
52287 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
52288
52289 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
52290 `kern/powerpc/cache.S'.
52291
924b6140 522922004-12-27 Marco Gerards <metgerards@student.han.nl>
52293
52294 * genmk.rb: Handle the `Program' class in the main loop. Written
52295 by Johan Rydberg <jrydberg@gnu.org>.
52296 (Program): New class.
52297 (programs): New variable.
52298 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
52299 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
52300 instead of "grub/kernel.h". Include <grub/machine/init.h>.
52301 (help_arch): Function removed.
52302 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
52303 `powerpc/libgcc.h' and `loader.h'.
52304 (pkgdata_PROGRAMS): New variable.
52305 (sbin_UTILITIES): Variable removed.
52306 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
52307 (grubof_SOURCES): Variable re-defined so it only includes the
52308 core functionality.
52309 (grubof_CFLAGS): Remove `-DGRUBOF'.
52310 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
52311 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
52312 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
52313 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
52314 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
52315 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
52316 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
52317 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
52318 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
52319 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
52320 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
52321 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
52322 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
52323 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
52324 (pc_mod_CFLAGS): New variables.
52325 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
52326 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
52327 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
52328 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
52329 Moved from here...
52330 * include/grub/i386/pc/init.h (grub_os_area_addr)
52331 (rub_os_area_size): ... to here.
52332 * include/grub/powerpc/ieee1275/ieee1275.h
52333 (grub_ieee1275_entry_fn): Export symbol.
52334 * include/grub/powerpc/ieee1275/init.h: New file.
52335 * include/grub/powerpc/libgcc.h: Likewise.
52336 * include/grub/cache.h: Likewise.
52337 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
52338 <hollis@penguinppc.org>.
52339 * kern/dl.c: Include <grub/cache.h>.
52340 (grub_dl_flush_cache): New function.
52341 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
52342 for this module.
52343 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
52344 (grub_console_init): Removed prototypes.
52345 (grub_machine_init): Don't initialize the modules anymore.
52346 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
52347 static.
52348 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
52349 Macro undef removed.
52350 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
52351 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
52352 relocation `R_PPC_REL32'. Return an error when the relocation is
52353 unknown.
52354 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
52355 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
52356 * util/misc.c (grub_arch_sync_caches): Likewise.
52357
e4b47e0c 523582004-12-19 Marco Gerards <metgerards@student.han.nl>
52359
52360 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
52361 `symlist.c', add `grubof_symlist.c'.
52362 (symlist.c): Variable removed.
52363 (grubof_HEADERS): Variable added.
52364 (grubof_symlist.c): New target.
52365 (kernel_syms.lst): Use `grubof_HEADERS' instead of
52366 `kernel_img_HEADERS'.
52367 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
52368 * kern/powerpc/dl.c: New file.
52369 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
52370 Function removed.
52371 (grub_arch_dl_relocate_symbols): Likewise.
52372 (grub_register_exported_symbols): Likewise.
52373
4ceb3636 523742004-12-13 Marco Gerards <metgerards@student.han.nl>
52375
52376 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
52377 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
52378 to fail instead. Reported by Vincent Pelletier
52379 <subdino2004@yahoo.fr>.
52380
52381 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
52382 it is not allocated. Reported by Vincent Pelletier
52383 <subdino2004@yahoo.fr>.
52384
52385 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
52386 output so the output looks better.
f19dbdb7 52387
3f1578fe 523882004-12-04 Marco Gerards <metgerards@student.han.nl>
52389
52390 Modulize the partition map support and add support for the amiga
52391 partition map.
f19dbdb7 52392
3f1578fe 52393 * commands/ls.c: Include <grub/partition.h> instead of
52394 <grub/machine/partition.h>.
52395 * kern/disk.c: Likewise.
52396 * kern/rescue.c: Likewise.
52397 * loader/i386/pc/chainloader.c: Likewise.
52398 * normal/cmdline.c: Likewise.
52399 * kern/powerpc/ieee1275/init.c: Likewise.
52400 (grub_machine_init): Call `grub_pc_partition_map_init',
52401 `grub_amiga_partition_map_init' and
52402 `grub_apple_partition_map_init'.
52403 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
52404 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
52405 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
52406 `partition.h' and `pc_partition.h'.
52407 (grub_setup_SOURCES): Remove
52408 `disk/i386/pc/partition.c'. Add `kern/partition.c',
52409 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52410 (grub_emu_SOURCES): Likewise.
52411 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
52412 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
52413 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
52414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52415 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
52416 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52417 (grubof_SOURCES): Likewise.
52418 * disk/i386/pc/partition.c: File removed.
52419 * disk/powerpc/ieee1275/partition.c: Likewise.
52420 * include/grub/powerpc/ieee1275/partition.h: Likewise.
52421 * include/grub/i386/pc/partition.h: Likewise.
52422 * kern/partition.c: New file.
52423 * partmap/amiga.c: Likewise.
52424 * partmap/apple.c: Likewise.
52425 * partmap/pc.c: Likewise.
52426 * include/grub/partition.h: Likewise..
52427 * include/grub/pc_partition.h: Likewise.
52428 * util/grub-emu.c: Include <grub/partition.h> instead of
52429 <grub/machine/partition.h>.
52430 (main): Call `grub_pc_partition_map_init',
52431 `grub_amiga_partition_map_init' and
52432 `grub_apple_partition_map_init' and deinitialize afterwards.
52433 * util/i386/pc/biosdisk.c: Include `#include
52434 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52435 `<grub/machine/partition.h>'.
52436 * util/i386/pc/grub-setup.c: Likewise.
52437 * util/i386/pc/biosdisk.c: Likewise.
52438 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
52439 partition information in case of a PC partition.
52440 * util/i386/pc/grub-setup.c: Include `#include
52441 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52442 `<grub/machine/partition.h>'.
52443 (setup): Only access the PC specific partition information in case
52444 of a PC partition.
52445
0ef4ced9 524462004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 52447
0ef4ced9 52448 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
52449 (grub_longjmp): Likewise.
52450 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
52451 20.
52452 * normal/powerpc/setjmp.S: New file.
52453 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52454 `normal/powerpc/setjmp.S'.
52455 (grubof_CFLAGS): Add `-DGRUBOF'.
52456 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
52457 [GRUB_UTIL && !GRUBOF].
f19dbdb7 52458
19950e29 524592004-11-16 Marco Gerards <metgerards@student.han.nl>
52460
52461 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
52462 property named `name'. Correctly handle the error returned by
52463 `grub_ieee1275_finddevice' if a device can not be opened.
52464
a2fea427 524652004-11-02 Hollis Blanchard <hollis@penguinppc.org>
52466
52467 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
52468 `actual' for negativity.
52469 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52470 kern/fshelp.c.
52471
41ea0ea3 524722004-11-01 Marco Gerards <metgerards@student.han.nl>
52473
52474 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
52475 (PAGE_OFFSET): New macro.
52476 (CRTC_ADDR_PORT): Likewise.
52477 (CRTC_DATA_PORT): Likewise.
52478 (START_ADDR_HIGH_REGISTER): Likewise.
52479 (START_ADDR_LOW_REGISTER): Likewise.
52480 (GRAPHICS_ADDR_PORT): Likewise.
52481 (GRAPHICS_DATA_PORT): Likewise.
52482 (READ_MAP_REGISTER): Likewise.
52483 (INPUT_STATUS1_REGISTER): Likewise.
52484 (INPUT_STATUS1_VERTR_BIT): Likewise.
52485 (page): New variable.
52486 (wait_vretrace): New function.
52487 (set_read_map): Likewise.
52488 (set_start_address): Likewise.
52489 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
52490 the right page.
52491 (check_vga_mem): Take the page into account.
52492 (write_char): Likewise.
52493 (write_cursor): Likewise.
52494 (scroll_up): Likewise. Copy the page to the page that is not
52495 shown and switch between both pages.
52496 (grub_vga_putchar): Fix off by one error.
52497 (grub_vga_cls): Wait for the vertical retrace. Take the page into
52498 account.
52499
ad0bd20b 525002004-11-01 Marco Gerards <metgerards@student.han.nl>
52501
52502 Add support for iso9660 (including rockridge).
f19dbdb7 52503
ad0bd20b 52504 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52505 (iso9660_mod_SOURCES): New variable.
52506 (iso9660_mod_CFLAGS): Likewise.
52507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52508 * include/grub/fs.h (grub_iso9660_init): New prototype.
52509 * util/grub-emu.c (main): Call `grub_iso9660_init'.
52510 * fs/iso9660.c: New file.
52511
52512 * include/grub/misc.h (grub_strncat): New prototype.
52513 * kern/misc.c (grub_strncat): New function.
f19dbdb7 52514
ad0bd20b 52515 * fs/hfs.c (grub_hfs_mount): Translate the error
52516 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
52517 * fs/jfs.c (grub_jfs_mount): Likewise.
52518 * fs/ufs.c (grub_ufs_mount): Likewise.
52519
a5477a59 525202004-10-28 Hollis Blanchard <hollis@penguinppc.org>
52521
52522 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
52523 which initialized BAT registers.
52524 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
52525 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52526 Move from here...
52527 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
52528 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52529 ... to here.
52530 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
52531 (grub_mapclaim): Likewise.
52532 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
52533 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
52534 hand.
52535
9304c1f8 525362004-10-19 Hollis Blanchard <hollis@penguinppc.org>
52537
52538 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
52539 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
52540 -ffreestanding and -msoft-float.
52541
86f4ae25 525422004-10-15 Hollis Blanchard <hollis@penguinppc.org>
52543
52544 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
52545 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
52546 set in grub_ieee1275_flags.
52547
38912228 525482004-10-14 Hollis Blanchard <hollis@penguinppc.org>
52549
52550 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
52551 prototype.
52552 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
52553 grub_console_init first.
52554 Change the memory range used for grub_ieee1275_claim and
52555 grub_mm_init_region.
52556 Print an error message if the claim fails.
52557 Include <grub/misc.h>.
52558
d1923dc8 525592004-10-13 Hollis Blanchard <hollis@penguinppc.org>
52560
52561 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
52562 Call grub_children_iterate for device nodes of type `scsi',
52563 `ide', or `ata'.
52564 (grub_ofdisk_open): Remove manual device alias resolution.
52565 Fix memory leak when device cannot be opened.
f19dbdb7 52566 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 52567 (grub_children_iterate): New prototype.
52568 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
52569 New function.
52570 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52571 Return -1 if args.size was -1.
52572
4512e4f3 525732004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52574
52575 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
52576 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
52577 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
52578 Open Firmware's memory for it; claim memory from _start to _end.
52579 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
52580 (_end): New extern.
52581 (_start): Zero BSS from __bss_start to _end.
52582 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52583 New extern.
52584 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
52585
4d61feb0 525862004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52587
ad0bd20b 52588 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
52589 -1 if args.base was -1.
4d61feb0 52590
026fa2f9 525912004-10-08 Hollis Blanchard <hollis@penguinppc.org>
52592
52593 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
52594 escape sequence instead of a literal ^L. Also call
52595 grub_ofconsole_gotoxy.
52596
9f2220ef 525972004-10-03 Hollis Blanchard <hollis@penguinppc.org>
52598
52599 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
52600 void * arguments to grub_addr_t. All callers updated. Also make
52601 the `result' argument optional.
52602 (grub_ieee1275_release): change void * arguments to grub_addr_t.
52603 All callers updated.
52604
8a572cd7 526052004-09-22 Hollis Blanchard <hollis@penguinppc.org>
52606
52607 * commands/ls.c (grub_ls_list_files): Use the string following the
52608 initial ')', if present, as the filesystem path.
52609 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
52610
52611 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
52612
18aa81f2 526132004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
52614
52615 Make the source code of the menu interface more readable.
f19dbdb7 52616
18aa81f2 52617 * normal/menu.c: Include grub/mm.h.
52618 (TERM_WIDTH): New macro.
52619 (TERM_HEIGHT): Likewise.
52620 (TERM_INFO_HEIGHT): Likewise.
52621 (TERM_MARGIN): Likewise.
52622 (TERM_SCROLL_WIDTH): Likewise.
52623 (TERM_TOP_BORDER_Y): Likewise.
52624 (TERM_LEFT_BORDER_X): Likewise.
52625 (TERM_BORDER_WIDTH): Likewise.
52626 (TERM_MESSAGE_HEIGHT): Likewise.
52627 (TERM_BORDER_HEIGHT): Likewise.
52628 (TERM_NUM_ENTRIES): Likewise.
52629 (TERM_FIRST_ENTRY_Y): Likewise.
52630 (TERM_ENTRY_WIDTH): Likewise.
52631 (TERM_CURSOR_X): Likewise.
52632 (draw_border): Use macros instead of magic numbers.
52633 (print_entry): Likewise.
52634 (print_entries): Likewise.
52635 (run_menu): Likewise. Also, handle the key 'e'.
52636 (run_menu_entry): Ignore empty command lines.
52637 (print_message): Added a new argument EDIT. If EDIT is true,
52638 print a different message.
52639 (init_page): Likewise.
52640 (edit_menu_entry): New function. Not implemented yet.
52641
b47efe30 526422004-09-17 Marco Gerards <metgerards@student.han.nl>
52643
52644 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
52645 can be loaded from normal mode.
f19dbdb7 52646
b47efe30 52647 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
52648 `multiboot.mod'.
52649 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
52650 (multiboot_mod_CFLAGS): New variables.
52651 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 52652 * loader/i386/pc/multiboot_normal.c: Likewise.
52653
b47efe30 52654 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
52655 attribute `unused'.
f19dbdb7 52656
b47efe30 52657 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
52658 `fdiro' to read the mode information from instead of `diro'.
52659
52660 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
52661 looking up a symlink.
52662
52663 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
52664 macro.
52665 * normal/command.c (grub_command_execute): Don't parse the
52666 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
52667 flags of the command.
52668
52669 * normal/menu.c (grub_menu_run): Fix typo.
52670
da75ac71 526712004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52672
52673 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52674
52675 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52676 `y + 1' instead of `y - 1'.
52677
52678 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 52679
062b24c2 526802004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52681
52682 From Hollis Blanchard <hollis@penguinppc.org>:
52683 * kern/misc.c (memmove): New alias for grub_memmove.
52684 (memcmp): New alias for grub_memcmp.
52685 (memset): New alias for grub_memset.
f19dbdb7 52686 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 52687 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 52688 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 52689 (grub_ieee1275_get_property): Likewise.
f19dbdb7 52690
8ddad845 526912004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52692
52693 Added normal mode command `chainloader' as module chain.mod, which
52694 depends on normal.mod and _chain.mod.
f19dbdb7 52695
8ddad845 52696 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52697 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52698 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52699 Deleted prototype.
52700 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52701 but arguments parsing moved to ...
52702 (grub_chainloader_cmd): ... here. New function.
52703 * include/grub/i386/pc/chainloader.h: New file.
52704 * loader/i386/pc/chainloader_normal.c: Likewise.
52705
2c1f4ce3 527062004-09-11 Marco Gerards <metgerards@student.han.nl>
52707
52708 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52709 (grub_mkimage_LDFLAGS): Likewise.
52710 (grub_emu_SOURCES): Likewise.
52711 (kernel_img_HEADERS): Added fshelp.h.
52712 * fs/ext2.c: Include <grub/fshelp.h>.
52713 (FILETYPE_REG): New macro.
52714 (FILETYPE_INO_REG): Likewise.
52715 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52716 Changed all users.
52717 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52718 all users.
52719 (grub_fshelp_node): New struct.
52720 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52721 to a pointer.
52722 (grub_ext2_get_file_block): Removed function.
52723 (grub_ext2_read_block): New function.
52724 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52725 This function was written.
52726 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52727 (grub_ext2_find_file): Removed function.
52728 (grub_ext2_read_symlink): New function.
52729 (grub_ext2_iterate_dir): Likewise.
52730 (grub_ext2_open): Rewritten.
52731 (grub_ext2_dir): Rewritten.
52732 * include/grub/fshelp.h: New file.
52733 * fs/fshelp.c: Likewise.
52734
3c52136a 527352004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52736
52737 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52738 (print_message): Add a missing newline.
52739 (run_menu): Added timeout support.
52740 (run_menu_entry): New local function.
52741 (grub_menu_run): Added support for booting.
52742
52743 * kern/loader.c (grub_loader_is_loaded): New function.
52744
52745 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52746 (grub_get_rtc): Exported.
52747
52748 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52749 (grub_get_rtc): Exported.
52750
52751 * include/grub/normal.h (struct grub_command_list): Remove
52752 constant from the member `command'.
52753
52754 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52755
52756 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52757
52758 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52759
aa033560 527602004-08-28 Marco Gerards <metgerards@student.han.nl>
52761
52762 Add support for the JFS filesystem.
52763
52764 * fs/jfs.c: New file.
52765 * include/grub/fs.h (grub_jfs_init): New prototype.
52766 (grub_jfs_fini): New prototype.
52767 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52768 (grub_emu_SOURCES): Likewise.
52769 (pkgdata_MODULES): Add jfs.mod.
52770 (jfs_mod_SOURCES): New variable.
52771 (jfs_mod_CFLAGS): Likewise.
52772 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52773 (grubof_SOURCES): Likewise.
52774 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52775
52776 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52777 endian to the host endian.
52778 (grub_fat_utf16_to_utf8): Move function from there...
52779 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 52780 the endianness of the source string anymore.
aa033560 52781 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52782
94bc45af 527832004-08-24 Marco Gerards <metgerards@student.han.nl>
52784
52785 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52786 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52787 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52788 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 52789
94bc45af 52790 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52791 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52792 for `node_found' and `it_dir'.
52793 (grub_hfs_dir): Add prototype for `dir_hook'.
52794
52795 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52796 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52797 and `indir32' to silence a gcc warning.
52798
52799 * include/grub/fs.h (grub_hfs_init): New prototype.
52800 (grub_hfs_fini): Likewise.
f19dbdb7 52801
52802
97543f08 528032004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52804
52805 Each disk device has its own id now. This is useful to make use
52806 of multiple disk devices.
f19dbdb7 52807
97543f08 52808 * include/grub/disk.h (grub_disk_dev_id): New enum.
52809 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
52810 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
52811
52812 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52813 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52814
52815 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52816 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52817
52818 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52819 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52820
52821 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52822 "id" which is used by the cache manager.
52823
52824 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52825 of just "GRUB".
52826
64372eb4 528272004-08-18 Marco Gerards <metgerards@student.han.nl>
52828
52829 * fs/hfs.c: New file.
52830 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
52831 (grub_emu_SOURCES): Likewise.
52832 (pkgdata_MODULES): Add hfs.mod.
52833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
52834 (grubof_SOURCES): Likewise.
52835 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
52836
52837 * include/grub/misc.h (grub_strncasecmp): Add prototype.
52838 * kern/misc.c (grub_strncasecmp): Add function.
52839
cc61b58f 528402004-08-14 Marco Gerards <metgerards@student.han.nl>
52841
52842 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
52843 with parentheses.
52844
52845 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52846 (grub_ext2_dir): In case the directory entry type is unknown, read
52847 it from the inode.
52848
0ef123f6 528492004-08-02 Peter Bruin <pjbruin@dds.nl>
52850
52851 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52852 grub_load_linux instead of grub_rescue_cmd_linux as second
52853 argument of grub_rescue_register_command.
52854
52855 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52856
a447c5df 528572004-07-27 Marco Gerards <metgerards@student.han.nl>
52858
52859 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52860 function.
52861 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52862 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52863 `loader/powerpc/ieee1275/linux.c',
52864 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52865 * include/grub/powerpc/ieee1275/ieee1275.h
52866 (grub_ieee1275_release): New prototype.
52867 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52868 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52869 normal, boot, linux and linux_normal.
52870 * loader/powerpc/ieee1275/linux.c: New file.
52871 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52872
5a9e3546 528732004-07-12 Marco Gerards <metgerards@student.han.nl>
52874
52875 * normal/arg.c (grub_arg_parse): Correct error handling after
52876 reallocating the argumentlist (check if `argl' is not null instead
52877 of checking if `args' is not null).
52878 * kern/mm.c (grub_realloc): Return the same pointer when using the
52879 same region, instead of returning the header address.
52880
e15199cb 528812004-07-11 Marco Gerards <metgerards@student.han.nl>
52882
52883 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52884 one block instead of two when looking for the initial partition.
52885 (grub_partition_probe): Initialize the local variable `p' with 0.
52886 Use base 10 for the grub_strtoul call.
52887 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52888 need for one local variable.
52889 (grub_strtoul): Don't add the new value to `num', instead of that
52890 just assign it.
52891
020616c2 528922004-07-11 Marco Gerards <metgerards@student.han.nl>
52893
52894 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52895 (pxeboot_img_SOURCES): New variable.
52896 (pxeboot_img_ASFLAGS): Likewise.
52897 (pxeboot_img_LDFLAGS): Likewise.
52898 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52899 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52900 <lode_leroy@hotmail.com>.
52901
6c51eb64 529022004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52903
52904 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52905 there was no input.
52906
cfb12aff 529072004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52908
52909 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52910 the history buffer logic.
52911
6eabba74 529122004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52913
52914 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52915 (FILETYPE_INO_SYMLINK): New macros.
52916 (grub_ext2_find_file): Check if the node is a directory using the
52917 inode stat information instead of using the filetype in the
52918 dirent. Exclude the first character of an absolute symlink.
52919 (grub_ext2_dir): Mask out the filetype part of the mode member of
52920 the inode.
52921
66e19ef8 529222004-05-24 Marco Gerards <metgerards@student.han.nl>
52923
52924 Add support for UFS version 1 and 2. Add support for the minix
52925 filesystem version 1 and 2, both the variants with 14 and 30 long
52926 filenames.
f19dbdb7 52927
66e19ef8 52928 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52929 fs/minix.c.
52930 (grub_emu_SOURCES): Likewise.
52931 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52932 (ufs_mod_SOURCES): New variable.
52933 (ufs_mod_CFLAGS): Likewise.
52934 (minix_mod_SOURCES): Likewise.
52935 (minix_mod_CFLAGS): Likewise.
52936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52937 fs/minix.c.
52938 (grubof_SOURCES): Likewise.
52939 * fs/ufs.c: New file.
52940 * fs/minix.c: New file.
52941 * include/grub/fs.h (grub_ufs_init): New prototype.
52942 (grub_ufs_fini): Likewise.
52943 (grub_minix_init): Likewise.
52944 (grub_minix_fini): Likewise.
52945 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52946 minix fs.
52947
cc2e748a 529482004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52949
52950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52951 commands/ls.c, commands/terminal.c, commands/boot.c,
52952 commands/cmp.c and commands/cat.c.
52953 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52954
52955 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52956 "env.h"
52957
4b13b216 529582004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52959
52960 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52961 and grub_, respectively. Because the conversion is trivial and
52962 mechanical, I omit the details here. Please refer to the CVS
52963 if you need more information.
52964
6a142551 529652004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52966
52967 * include/pupa: Renamed to ...
52968 * include/grub: ... this.
52969 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52970 * util/i386/pc/grub-mkimage.c: ... this.
52971 * util/i386/pc/pupa-setup.c: Renamed to ...
52972 * util/i386/pc/grub-setup.c: ... this.
52973 * util/pupa-emu.c: Renamed to ...
52974 * util/grub-emu.c: ... this.
52975
e56cdf21 529762004-03-29 Marco Gerards <metgerards@student.han.nl>
52977
52978 Add support for the newworld apple macintosh (PPC). This has been
52979 tested on the powerbook 2000 only. It only adds support for
52980 generic ieee1275 functions, console and disk support. This should
52981 be easy to port to other architectures with support for Open
52982 Firmware.
f19dbdb7 52983
e56cdf21 52984 * configure.ac: Accept the powerpc as host_cpu. In the case of
52985 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52986 specific tests are only executed while building for the i386.
52987 Inverse test for crosscompile.
52988 * genmk.rb (Utility): Allow assembler files.
52989 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52990 * conf/powerpc-ieee1275.rmk: New file.
52991 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52992 * disk/powerpc/ieee1275/partition.c: Likewise.
52993 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52994 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52995 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52996 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52997 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52998 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52999 * include/pupa/powerpc/ieee1275/loader.h
53000 * include/pupa/powerpc/setjmp.h: Likewise.
53001 * include/pupa/powerpc/types.h: Likewise.
53002 * kern/powerpc/ieee1275/init.c: Likewise.
53003 * kern/powerpc/ieee1275/openfw.c: Likewise.
53004 * term/powerpc/ieee1275/ofconsole.c: Likewise.
53005
53006 These files were written by Johan Rydberg
53007 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 53008
e56cdf21 53009 * boot/powerpc/ieee1275/cmain.c: New file.
53010 * boot/powerpc/ieee1275/crt0.S: Likewise.
53011 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
53012 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
53013
8c8cc205 530142004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
53015
53016 * Makefile.in: Update copyright.
53017 * genmodsrc.sh: Likewise.
53018 * gensymlist.sh: Likewise.
53019 * term/i386/pc/vga.c: Indent correctly.
53020
53021 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
53022 bugreporting address.
53023 * util/i386/pc/pupa-setup.c (usage): Likewise,
53024 (main): Call pupa_ext2_init and pupa_ext2_fini.
53025
f19dbdb7 53026 * fs/fat.c (log2): Renamed to ...
8c8cc205 53027 (fat_log2): ... this.
53028 All callers changed.
53029 * kern/misc.c (memcpy): Alias to pupa_memmove.
53030 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
53031 lvalue cast.
53032 * util/console.c (pupa_ncurses_fini): Return 0.
53033
53034 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
53035 Move fail label here.
53036 [__GNU__]: Don't warn when using stat.
53037 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
53038 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
53039 long int. Use strtol instead of strtoul.
f19dbdb7 53040
db1771cf 530412004-03-14 Marco Gerards <metgerards@student.han.nl>
53042
53043 * commands/boot.c: New file.
53044 * commands/cat.c: Likewise.
53045 * commands/cmp.c: Likewise.
53046 * commands/ls.c: Likewise.
53047 * commands/terminal.c: Likewise.
53048 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
53049 (pupa_register_command): Changed interface to match the new
53050 argument parser.
53051 (pupa_command_execute): Changed (almost rewritten) so it uses
53052 pupa_split_command. Added support for setting variables using the
53053 syntax `foo=bar'.
53054 (rescue_command): Changed to work with the new argument parser.
53055 (terminal_command): Moved from here to commands/terminal.c.
53056 (set_command): New function.
53057 (unset_command): New function.
53058 (insmod_command): New function.
53059 (rmmod_command): New function.
53060 (lsmod_command): New function.
53061 (pupa_command_init): Don't initialize the command terminal
53062 anymore. Initialize the commands set, unset, insmod, rmmod and
53063 lsmod.
53064 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
53065 (kernel_img_HEADERS): Add arg.h and env.h.
53066 (pupa_mkimage_LDFLAGS): Add kern/env.c.
53067 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
53068 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
53069 normal/arg.c.
53070 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
53071 terminal.mod.
53072 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
53073 (boot_mod_SOURCES): New variable.
53074 (terminal_mod_SOURCES): Likewise.
53075 (ls_mod_SOURCES): Likewise.
53076 (cmp_mod_SOURCES): Likewise.
53077 (cat_mod_SOURCES): Likewise.
53078
53079 * normal/arg.c: New file.
53080 * kern/env.c: Likewise.
53081 * include/pupa/arg.h: Likewise.
53082 * include/pupa/env.h: Likewise.
53083 * font/manager.c (font_command): Changed to match argument parsing
53084 interface changes.
53085 (PUPA_MOD_INIT): Likewise.
53086 * hello/hello.c (pupa_cmd_hello): Likewise.
53087 (PUPA_MOD_INIT): Likewise.
53088 * include/pupa/disk.h: Include <pupa/device.h>.
53089 (pupa_print_partinfo): New prototype.
53090 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
53091 (pupa_dl_get_prefix): Likewise.
53092 * include/pupa/misc.h: Include <pupa/err.h>.
53093 (pupa_isgraph): New prototype.
53094 (pupa_isdigit): Likewise.
53095 (pupa_split_cmdline): Likewise.
53096 * include/pupa/normal.h: Include <pupa/arg.h>.
53097 (pupa_command): Changed the prototype of the member `func' to
53098 match the argument parsing interface. Added member `options'.
53099 (pupa_register_command): Updated to match function.
53100 (pupa_arg_parse): New prototype.
53101 (pupa_hello_init) [PUPA_UTIL]: New prototype.
53102 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
53103 (pupa_ls_init) [PUPA_UTIL]: Likewise.
53104 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
53105 (pupa_cat_init) [PUPA_UTIL]: Likewise.
53106 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
53107 (pupa_boot_init) [PUPA_UTIL]: Likewise.
53108 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
53109 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
53110 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
53111 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
53112 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
53113 * kern/disk.c: Include <pupa/file.h>.
53114 (pupa_print_partinfo): New function.
53115 * kern/dl.c: Include <pupa/env.h>.
53116 (pupa_dl_dir): Variable removed.
53117 (pupa_dl_load): Use the environment variable `prefix' instead of
53118 the variable pupa_dl_dir.
53119 (pupa_dl_set_prefix): Function removed.
53120 (pupa_dl_get_prefix): Likewise.
53121 * kern/i386/pc/init.c: Include <pupa/env.h>.
53122 (pupa_machine_init): Use the environment variable `prefix' instead of
53123 using pupa_dl_set_prefix to set the prefix.
53124 * kern/main.c: Include <pupa/env.h>.
53125 (pupa_set_root_dev): Use the environment variable `prefix' instead of
53126 using pupa_dl_get_prefix to get the prefix.
53127 * kern/misc.c: Include <pupa/env.h>.
53128 (pupa_isdigit): New function.
53129 (pupa_isgraph): Likewise.
53130 (pupa_ftoa): Likewise.
53131 (pupa_vsprintf): Added support for printing values of the type
53132 `double'. Make it possible to format variable output when using
53133 formatting like `%1.2%f'.
53134 (pupa_split_cmdline): New function.
53135 * kern/rescue.c: Include <pupa/env.h>.
53136 (next_word): Removed function.
53137 (pupa_rescue_cmd_prefix): Likewise.
53138 (pupa_rescue_cmd_set): New function.
53139 (pupa_rescue_cmd_unset): New function.
53140 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
53141 split the command line instead of splitting it here. Added
53142 support for setting variables using the syntax `foo=bar'. Don't
53143 initialize the prefix command anymore. Initialized the set and
53144 unset commands.
53145 * normal/cmdline.c: Include <pupa/env.h>.
53146 (pupa_tab_complete): Added prototypes for print_simple_completion,
53147 print_partition_completion, add_completion, iterate_commands,
53148 iterate_dev, iterate_part and iterate_dir. Moved code to print
53149 partition information from here to kern/disk.c.
fe6b695a 53150 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 53151 * normal/main.c: Include <pupa/env.h>.
53152 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
53153 instead of using pupa_dl_get_prefix to get the prefix.
53154 * term/i386/pc/vga.c: Include <pupa/arg.h>.
53155 (check_vga_mem): Cast pointers to `void *' to silence a gcc
53156 warning.
53157 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
53158 (pupa_vga_setcolor): Declare unused variables with `__attribute__
53159 ((unused))' to silence a gcc warning.
53160 (pupa_vga_setcolor): Likewise.
53161 (debug_command): Changed to match argument parsing
53162 interface changes.
53163 * util/pupa-emu.c: Include <pupa/env.h>.
53164 (options): Added 0's for unused fields to silence a gcc warning.
53165 (argp): Likewise.
53166 (main): Use the environment variable `prefix' instead of using
53167 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
53168 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
53169 and terminal.
53170
53171 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
53172 * util/misc.c: Include <malloc.h>.
53173 (pupa_malloc): Rewritten so errors are correctly reported.
53174 (pupa_realloc): Likewise.
53175 (pupa_memalign): Likewise.
53176 (pupa_mm_init_region): Declare unused variables with
53177 `__attribute__ ((unused))' to silence a gcc warning.
53178 * normal/i386/setjmp.S: Remove tab at the end of the file to
53179 silence a gcc warning.
53180 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
53181 variables with `__attribute__ ((unused))' to silence a gcc
53182 warning.
53183 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
53184 local variable i unsigned to silence a gcc warning.
53185
53186 * kern/term.c: Include <pupa/misc.h>.
53187 (pupa_more_lines): New variable.
53188 (pupa_more): Likewise.
53189 (pupa_putcode): When the pager is active pause at the end of every
53190 screen.
53191 (pupa_set_more): New function.
53192 * include/pupa/term.h (pupa_set_more): New prototype.
53193
53194
3b1139cb 531952004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
53196
53197 Now this project is GRUB 2 rather than PUPA. The location of
53198 the CVS repository was moved to GRUB's.
f19dbdb7 53199
3b1139cb 53200 * configure.ac: Use bug-grub as the reporting address.
53201 Use GRUB instead of PUPA.
53202 Change the version number to 1.90.
53203
8367695c 532042004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
53205
53206 * genkernsyms.sh: Updated copyright information.
53207 * genmk.rb: Likewise.
53208 * genmodsrc.sh: Likewise.
53209 * gensymlist.sh: Likewise.
53210 * boot/i386/pc/boot.S: Likewise.
53211 * boot/i386/pc/diskboot.S: Likewise.
53212 * disk/i386/pc/biosdisk.c: Likewise.
53213 * disk/i386/pc/partition.c: Likewise.
53214 * font/manager.c: Likewise.
53215 * fs/ext2.c: Likewise.
53216 * fs/fat.c: Likewise.
53217 * include/pupa/boot.h: Likewise.
53218 * include/pupa/device.h: Likewise.
53219 * include/pupa/disk.h: Likewise.
53220 * include/pupa/dl.h: Likewise.
53221 * include/pupa/elf.h: Likewise.
53222 * include/pupa/err.h: Likewise.
53223 * include/pupa/file.h: Likewise.
53224 * include/pupa/font.h: Likewise.
53225 * include/pupa/fs.h: Likewise.
53226 * include/pupa/kernel.h: Likewise.
53227 * include/pupa/loader.h: Likewise.
53228 * include/pupa/misc.h: Likewise.
53229 * include/pupa/mm.h: Likewise.
53230 * include/pupa/net.h: Likewise.
53231 * include/pupa/normal.h: Likewise.
53232 * include/pupa/rescue.h: Likewise.
53233 * include/pupa/setjmp.h: Likewise.
53234 * include/pupa/symbol.h: Likewise.
53235 * include/pupa/term.h: Likewise.
53236 * include/pupa/types.h: Likewise.
53237 * include/pupa/i386/setjmp.h: Likewise.
53238 * include/pupa/i386/types.h: Likewise.
53239 * include/pupa/i386/pc/biosdisk.h: Likewise.
53240 * include/pupa/i386/pc/boot.h: Likewise.
53241 * include/pupa/i386/pc/console.h: Likewise.
53242 * include/pupa/i386/pc/init.h: Likewise.
53243 * include/pupa/i386/pc/kernel.h: Likewise.
53244 * include/pupa/i386/pc/linux.h: Likewise.
53245 * include/pupa/i386/pc/loader.h: Likewise.
53246 * include/pupa/i386/pc/memory.h: Likewise.
53247 * include/pupa/i386/pc/multiboot.h: Likewise.
53248 * include/pupa/i386/pc/partition.h: Likewise.
53249 * include/pupa/i386/pc/time.h: Likewise.
53250 * include/pupa/i386/pc/vga.h: Likewise.
53251 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
53252 * include/pupa/util/getroot.h: Likewise.
53253 * include/pupa/util/misc.h: Likewise.
53254 * include/pupa/util/resolve.h: Likewise.
53255 * kern/device.c: Likewise.
53256 * kern/disk.c: Likewise.
53257 * kern/dl.c: Likewise.
53258 * kern/err.c: Likewise.
53259 * kern/file.c: Likewise.
53260 * kern/fs.c: Likewise.
53261 * kern/loader.c: Likewise.
53262 * kern/main.c: Likewise.
53263 * kern/misc.c: Likewise.
53264 * kern/mm.c: Likewise.
53265 * kern/rescue.c: Likewise.
53266 * kern/term.c: Likewise.
53267 * kern/i386/dl.c: Likewise.
53268 * kern/i386/pc/init.c: Likewise.
53269 * kern/i386/pc/lzo1x.S: Likewise.
53270 * kern/i386/pc/startup.S: Likewise.
53271 * loader/i386/pc/chainloader.c: Likewise.
53272 * loader/i386/pc/linux.c: Likewise.
53273 * loader/i386/pc/multiboot.c: Likewise.
53274 * normal/cmdline.c: Likewise.
53275 * normal/command.c: Likewise.
53276 * normal/main.c: Likewise.
53277 * normal/menu.c: Likewise.
53278 * normal/i386/setjmp.S: Likewise.
53279 * term/i386/pc/console.c: Likewise.
53280 * term/i386/pc/vga.c: Likewise.
53281 * util/console.c: Likewise.
53282 * util/genmoddep.c: Likewise.
53283 * util/misc.c: Likewise.
53284 * util/pupa-emu.c: Likewise.
53285 * util/resolve.c: Likewise.
53286 * util/unifont2pff.rb: Likewise.
53287 * util/i386/pc/biosdisk.c: Likewise.
53288 * util/i386/pc/getroot.c: Likewise.
53289 * util/i386/pc/pupa-mkimage.c: Likewise.
53290 * util/i386/pc/pupa-setup.c: Likewise.
53291
e6eced71 532922004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
53293
53294 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
53295 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
53296 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
53297 reading and reset it after reading.
53298 (pupa_ext2_close): Return PUPA_ERR_NONE.
53299
53300 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
53301 Correct value.
53302 (struct linux_kernel_header): Add kernel_version and
53303 initrd_addr_max.
53304 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
53305 pupa_file_read succeeds.
53306 (pupa_rescue_cmd_initrd): Implement.
53307
5aded270 533082003-12-03 Marco Gerards <metgerards@student.han.nl>
53309
53310 * fs/ext2.c (pupa_ext2_label): New function.
53311 (pupa_ext2_fs): Added label.
53312 * fs/fat.c (pupa_fat_label): New function.
53313 (pupa_fat_fs): Added label.
53314 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
53315
53316 * kern/misc.c (pupa_strndup): New function.
53317 * include/pupa/misc.h (pupa_strndup): New prototype.
53318
53319 * include/pupa/normal.h: Include <pupa/err.h>.
53320 (pupa_set_history): New prototype.
53321 (pupa_iterate_commands): New prototype.
53322 * normal/cmdline.c: Include <pupa/machine/partition.h>,
53323 <pupa/disk.h>, <pupa/file.h>.
53324 (hist_size): New variable.
53325 (hist_lines): Likewise.
53326 (hist_end): Likewise.
53327 (hist_used): Likewise.
53328 (pupa_set_history): New function.
53329 (pupa_history_get): Likewise.
53330 (pupa_history_add): Likewise.
53331 (pupa_history_replace): Likewise.
53332 (pupa_tab_complete): Likewise.
53333 (pupa_cmdline_run): Added tab completion and history buffer. Tab
53334 completion shows partitionnames while completing partitions, this
53335 feature was suggested by Jeff Bailey.
53336 * normal/command.c (pupa_iterate_commands): New function.
53337 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
53338 (pupa_normal_init): Initialize history buffer.
53339 (PUPA_MOD_INIT): Likewise.
53340 (pupa_normal_fini): Free the history buffer.
53341 (PUPA_MOD_FINI): Likewise.
53342
53343 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
53344 key.
53345
53346 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
53347 * configure.ac [i386]: Check for regparam bug.
53348 (NESTED_FUNC_ATTR) [! i386]: Defined.
53349
1f7315a3 533502003-11-17 Marco Gerards <metgerards@student.han.nl>
53351
53352 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
53353 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
53354 (pupa_emu_SOURCES): New variable.
53355 (pupa_emu_LDFLAGS): Likewise.
53356 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
53357 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
53358 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
53359 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53360 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
53361 (pupa_jmp_buf): New typedef.
53362 (pupa_setjmp) [PUPA_UTIL]: New macro.
53363 (pupa_longjmp) [PUPA_UTIL]: Likewise.
53364 * include/pupa/term.h (struct pupa_term): New member `refresh'.
53365 (pupa_refresh): New prototype.
53366 * include/pupa/util/getroot.h: New file.
53367 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
53368 it.
53369 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
53370 (pupa_rescue_cmd_cat): Likewise.
53371 (pupa_rescue_cmd_ls): Likewise.
53372 (pupa_rescue_cmd_testload): Likewise.
53373 (pupa_rescue_cmd_lsmod): Likewise.
53374 * normal/cmdline.c (pupa_cmdline_get): Likewise.
53375 * normal/menu.c (run_menu): Likewise.
53376 * kern/term.c (pupa_cls): Likewise.
53377 (pupa_refresh): New function.
53378 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
53379 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53380 * util/console.c: New file.
f19dbdb7 53381
1f7315a3 53382 * util/i386/pc/getroot.c: New file.
53383 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
53384 (pupa_putchar): New function.
53385 (pupa_refresh): Likewise.
53386 (xgetcwd): Function moved to ...
53387 (strip_extra_slashes): Likewise.
53388 (get_prefix): Likewise.
f19dbdb7 53389 * util/i386/pc/getroot.c: ... here.
1f7315a3 53390 (find_root_device): Function moved and renamed to...
53391 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
53392 Changed all callers.
53393 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
53394 and renamed to...
53395 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
53396 Changed all callers.
53397 * util/misc.c (pupa_memalign): New function.
53398 (pupa_mm_init_region): Likewise.
53399 (pupa_register_exported_symbols): Likewise.
53400 (pupa_putchar): Function removed.
53401 * util/pupa-emu.c: New file.
53402
9a5c1ade 534032003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
53404
53405 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
53406 (_multiboot_mod_SOURCES): New variable.
53407 (_multiboot_mod_CFLAGS): Likewise.
53408 * loader/i386/pc/multiboot.c: New file.
53409 * include/pupa/i386/pc/multiboot.h: Likewise.
53410 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
53411 (pupa_multiboot_real_boot): New function.
53412 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
53413 (pupa_multiboot_real_boot): New prototype.
53414 (pupa_rescue_cmd_multiboot): Likewise
53415 (pupa_rescue_cmd_module): Likewise.
53416
53417 * kern/loader.c (pupa_loader_set): Continue when
53418 pupa_loader_unload_func() fails.
53419 (pupa_loader_unset): New function.
53420 * include/pupa/loader.h (pupa_loader_unset): New prototype.
53421
53422 * kern/misc.c (pupa_stpcpy): New function.
53423 * include/pupa/misc.h (pupa_stpcpy): New prototype.
53424
8e72a9c0 534252003-11-12 Marco Gerards <metgerards@student.han.nl>
53426
53427 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
53428 for available extensions.
53429
53430 * include/pupa/i386/pc/time.h: New file.
53431 * kern/disk.c: Include <pupa/machine/time.h>.
53432 (PUPA_CACHE_TIMEOUT): New macro.
53433 (pupa_last_time): New variable.
53434 (pupa_disk_open): Flush the cache when there was a timeout.
53435 (pupa_disk_close): Reset the timer.
53436 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
53437 pupa_currticks.
53438 * util/misc.c: Include <sys/times.h>
53439 (pupa_get_rtc): New function.
53440
c4adbd32 534412003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
53442
53443 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
53444 as blocks.
53445 (pupa_ext2_get_file_block): Use blocks member.
53446
53447 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
53448 first block. Return -1 instead of pupa_errno on error.
53449
bfd30f06 534502003-10-27 Marco Gerards <metgerards@student.han.nl>
53451
53452 * README: In the pupa-mkimage example use _chain instead of chain
53453 and ext2 instead of fat.
53454 * TODO: Replace ext2fs with jfs as an example. Add an item for
53455 adding journal playback for ext2fs.
53456 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
53457 (pkgdata_MODULES): Added ext2.mod.
53458 (ext2_mod_SOURCES): New variable.
53459 (ext2_mod_CFLAGS): Likewise.
53460 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
53461 * include/pupa/misc.h (pupa_strncpy): New prototype.
53462 (pupa_strcat): Likewise.
53463 (pupa_strncmp): Likewise.
53464 * kern/misc.c (pupa_strcat): Enable function.
53465 (pupa_strncpy): New function.
53466 (pupa_strncmp): Likewise.
53467 * fs/ext2.c: New file.
f19dbdb7 53468
bfd30f06 53469 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
53470 when the read failed before retrying.
53471 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
53472 (_FILE_OFFSET_BITS): Likewise.
53473 * configure.ac: Added AC_SYS_LARGEFILE.
53474
98d15063 534752003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53476
53477 * genmk.rb (PModule#rule): Make sure to get only symbol names
53478 from the output of nm.
59cad637 53479 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 53480
18d9c7cd 534812003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53482
53483 I forgot to check in these changes for a long time. This adds
53484 incomplete support for VGA console, and this is still very
53485 buggy. Also, a lot of consideration is required for I18N,
53486 UNICODE, and VGA font issues. Therefore, assume that this is
53487 such that "better than nothing".
f19dbdb7 53488
18d9c7cd 53489 * font/manager.c: New file.
53490 * include/pupa/font.h: Likewise.
53491 * include/pupa/i386/pc/vga.h: Likewise.
53492 * term/i386/pc/vga.c: Likewise.
53493 * util/unifont2pff.rb: Likewise.
53494
53495 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
53496 (pkgdata_MODULES): Added vga.mod and font.mod.
53497 (vga_mod_SOURCES): New variables.
53498 (vga_mod_CFLAGS): Likewise.
53499 (font_mod_SOURCES): Likewise.
53500 (font_mod_CFLAGS): Likewise.
53501
53502 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
53503
53504 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 53505 (struct pupa_term): Added init and fini.
18d9c7cd 53506 Changed the argument of putchar to pupa_uint32_t.
53507
53508 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
53509 (pupa_console_real_putchar): New prototype.
53510 (pupa_console_putchar): Removed.
53511 (pupa_console_checkkey): Exported.
53512 (pupa_console_getkey): Likewise.
53513
53514 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
53515 characters.
53516
53517 * kern/term.c (pupa_term_set_current): Rewritten.
53518 (pupa_putchar): Likewise.
53519 (pupa_putcode): New function.
53520
53521 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
53522 (pupa_console_real_putchar): ... this.
53523 (pupa_vga_set_mode): New function.
53524 (pupa_vga_get_font): Likewise.
53525
53526 * normal/command.c: Include pupa/term.h.
53527 (terminal_command): New function.
53528 (pupa_command_init): Register the command "terminal".
53529
53530 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
53531 (DISP_UP): Likewise.
53532 (DISP_RIGHT): Likewise.
53533 (DISP_DOWN): Likewise.
53534 (DISP_HLINE): Likewise.
53535 (DISP_VLINE): Likewise.
53536 (DISP_UL): Likewise.
53537 (DISP_UR): Likewise.
53538 (DISP_LL): Likewise.
53539 (DISP_LR): Likewise.
53540
53541 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 53542
977329f5 535432003-02-08 NIIBE Yutaka <gniibe@m17n.org>
53544
53545 * util/resolve.c (pupa_util_resolve_dependencies): BUG
53546 FIX. Reverse the path_list.
53547
53548 * include/pupa/normal.h: Export pupa_register_command and
53549 pupa_unregister_command.
53550
53551 * hello/hello.c (pupa_cmd_hello): New module.
53552 * conf/i386-pc.rmk: Added hello.mod.
53553
1f5ab428 535542003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
53555
53556 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 53557
1f5ab428 53558 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
53559 (compress_kernel): New variable.
53560 (generate_image): Heavily modified to support compressing a
53561 large part of the core image.
53562
53563 * util/misc.c (pupa_util_read_image): Fix a file descriptor
53564 leak.
53565 (pupa_util_load_image): New function.
53566
53567 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
53568 (pupa_compressed_size): New variable.
53569 (codestart): Enable Gate A20 here.
53570 Decompress the compressed part of the core image.
53571 Rearrange the code to put functions and variables which are
53572 required for initialization in the non-compressed part.
53573 Include lzo1x.S.
53574
53575 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
53576 here.
53577
53578 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
53579
f19dbdb7 53580 * include/pupa/i386/pc/kernel.h
1f5ab428 53581 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
53582 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
53583 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53584 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53585 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
53586
53587 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
53588
53589 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
53590 (Utility#rule): Likewise.
53591
53592 * configure.ac: Check if LZO is available.
53593
ce5bf700 535942003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
53595
53596 * include/pupa/normal.h: New file.
53597 * include/pupa/setjmp.h: Likewise.
53598 * include/pupa/i386/setjmp.h: Likewise.
53599 * normal/cmdline.c: Likewise.
53600 * normal/command.c: Likewise.
53601 * normal/main.c: Likewise.
53602 * normal/menu.c: Likewise.
53603 * normal/i386/setjmp.S: Likewise.
f19dbdb7 53604
ce5bf700 53605 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
53606 (pupa_rescue_cmd_initrd): Likewise.
53607
53608 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
53609 Likewise.
53610
53611 * kern/i386/pc/startup.S (translation_table): New variable.
53612 (translate_keycode): New function.
53613 (pupa_console_getkey): Call translate_keycode.
53614
53615 * kern/rescue.c (attempt_normal_mode): New function.
53616 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
53617 it failed, print a message.
53618
53619 * kern/mm.c (pupa_real_malloc): Print more information when a
53620 free magic is broken.
53621 (pupa_free): If the first free header is not free actually, set
53622 it to P.
53623
53624 * kern/main.c (pupa_load_normal_mode): Just load the module
53625 "normal".
53626 (pupa_main): Don't print the message
53627 "Entering into rescue mode..." here.
53628
53629 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
53630 Declared.
53631 (pupa_rescue_cmd_initrd): Likewise.
53632 (pupa_rescue_cmd_initrd): Likewise.
53633
53634 * include/pupa/symbol.h (FUNCTION): Specify the type.
53635 (VARIABLE): Likewise.
53636
53637 * include/pupa/err.h (pupa_err_t): Added
53638 PUPA_ERR_UNKNOWN_COMMAND.
53639
53640 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
53641 (pupa_dl_get_prefix): Likewise.
53642
53643 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
53644 Added _chain.mod and _linux.mod instead of chain.mod and
53645 linux.mod.
53646 (chain_mod_SOURCES): Renamed to ...
53647 (_chain_mod_SOURCES): ... this.
53648 (chain_mod_CFLAGS): Renamed to ...
53649 (_chain_mod_CFLAGS): ... this.
53650 (linux_mod_SOURCES): Renamed to ...
53651 (_linux_mod_SOURCES): ... this.
53652 (linux_mod_CFLAGS): Renamed to ...
53653 (_linux_mod_CFLAGS): ... this.
53654 (normal_mod_SOURCES): New variable.
53655 (normal_mod_CFLAGS): Likewise.
53656 (normal_mod_ASFLAGS): Likewise.
53657
536582003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
53659
53660 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
53661 possible.
53662
fe6b695a 53663 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 53664 recursively.
53665 (pupa_dl_unref): Unrefer depending modules recursively.
53666 Don't call pupa_dl_unload implicitly, because PUPA can crash if
53667 a module is unloaded before one depending on that module is
53668 unloaded.
53669 (pupa_dl_unload): Unload depending modules explicitly,
53670 if possible.
53671
c04da074 536722003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53673
53674 * include/pupa/i386/pc/linux.h: New file.
53675 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 53676
c04da074 53677 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53678 Removed.
53679 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53680 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53681 of PUPA_CHAINLOADER_BOOT_SECTOR.
53682
53683 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53684 (pupa_linux_prot_size): New variable.
53685 (pupa_linux_tmp_addr): Likewise.
53686 (pupa_linux_real_addr): Likewise.
53687 (pupa_linux_boot_zimage): New function.
53688 (pupa_linux_boot_bzimage): Likewise.
53689
53690 * kern/i386/pc/init.c (struct mem_region): New structure.
53691 (MAX_REGIONS): New macro.
53692 (mem_regions): New variable.
53693 (num_regions): Likewise.
53694 (pupa_os_area_addr): Likewise.
53695 (pupa_os_area_size): Likewise.
53696 (pupa_lower_mem): Likewise.
53697 (pupa_upper_mem): Likewise.
53698 (add_mem_region): New function.
53699 (compact_mem_regions): Likewise.
53700 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53701 the size of the conventional memory and that of so-called upper
53702 memory (before the first memory hole).
53703 Instead of adding each found region to free memory, use
53704 add_mem_region and add them after removing overlaps.
53705 Also, add only 1/4 of the upper memory to free memory. The rest
53706 is used for loading OS images. Maybe this is ad hoc, but this
53707 makes it much easier to relocate OS images when booting.
53708
53709 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53710 (pupa_enter_rescue_mode): Don't register initrd and module.
53711
53712 * kern/mm.c: Include pupa/dl.h.
53713
53714 * kern/main.c: Include pupa/file.h and pupa/device.h.
53715
53716 * kern/loader.c (pupa_loader_load_module_func): Removed.
53717 (pupa_loader_load_module): Likewise.
53718
53719 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53720 ``.o''.
53721
53722 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53723 (pupa_linux_tmp_addr): Likewise.
53724 (pupa_linux_real_addr): Likewise.
53725 (pupa_linux_boot_zimage): Likewise.
53726 (pupa_linux_boot_bzimage): Likewise.
53727
53728 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53729 (pupa_upper_mem): Likewise.
53730 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53731 module is too dangerous.
53732
53733 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53734 (pupa_os_area_size): Likewise.
53735 (pupa_loader_set): Remove the first argument. Loader doesn't
53736 manage modules or initrd any longer.
53737 (pupa_loader_load_module): Removed.
53738
53739 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53740 (linux_mod_SOURCES): New variable.
53741 (linux_mod_CFLAGS): Likewise.
53742
a13f9237 537432003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53744
53745 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53746 the length of a blocklist correctly.
53747
53748 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53749 Use ioctl only if the OS file is a block device.
53750 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53751 not very useful for normal files.
53752
53753 * kern/main.c (pupa_set_root_dev): New function.
53754 (pupa_load_normal_mode): Likewise.
53755 (pupa_main): Call those above.
53756
53757 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53758 pupa_uint16_t.
53759
53760 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53761
a5ffe966 537622003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53763
53764 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53765 (setup): Configure the installed partition information and the
53766 dl prefix.
53767
53768 * loader/i386/pc/chainloader.c (my_mod): New variable.
53769 (pupa_chainloader_unload): New function.
53770 (pupa_rescue_cmd_chainloader): Refer itself.
53771 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53772
53773 * kern/i386/pc/startup.S (install_partition): Removed.
53774 (version_string): Likewise.
53775 (config_file): Likewise.
53776 (pupa_install_dos_part): New variable.
53777 (pupa_install_bsd_part): Likewise.
53778 (pupa_prefix): Likewise.
53779 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53780
53781 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53782 and pupa/misc.h.
53783 (make_install_device): New function.
53784 (pupa_machine_init): Set the dl prefix.
53785
53786 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53787 (buf): Renamed to ...
53788 (linebuf): ... this.
53789 (pupa_rescue_cmd_prefix): New function.
53790 (pupa_rescue_cmd_insmod): Likewise.
53791 (pupa_rescue_cmd_rmmod): Likewise.
53792 (pupa_rescue_cmd_lsmod): Likewise.
53793 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53794 rmmod and lsmod.
53795
53796 * kern/mm.c (pupa_memalign): If failed even after invalidating
53797 disk caches, unload unneeded modules and retry.
53798
53799 * kern/misc.c (pupa_memmove): New function.
53800 (pupa_memcpy): Removed.
53801 (pupa_strcpy): New function.
53802 (pupa_itoa): Made static.
53803
53804 * kern/dl.c (pupa_dl_iterate): New function.
53805 (pupa_dl_ref): Likewise.
53806 (pupa_dl_unref): Likewise.
53807 (pupa_dl_unload): Return if succeeded or not.
53808 (pupa_dl_unload_unneeded): New function.
53809 (pupa_dl_unload_all): Likewise.
53810 (pupa_dl_init): Renamed to ...
53811 (pupa_dl_set_prefix): ... this.
53812 (pupa_dl_get_prefix): New function.
53813
53814 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53815 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53816 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53817 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53818 (pupa_install_dos_part): Declared.
53819 (pupa_install_bsd_part): Likewise.
53820 (pupa_prefix): Likewise.
53821 (pupa_boot_drive): Likewise.
53822
53823 * include/pupa/types.h: Fix a typo.
53824
53825 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53826 pupa_memmove.
53827 (pupa_memmove): Declared.
53828 (pupa_strcpy): Likewise.
53829
53830 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
53831 pupa_mod_init takes one argument, its own module.
53832 (pupa_dl_unload_unneeded): Declared.
53833 (pupa_dl_unload_all): Likewise.
53834 (pupa_dl_ref): Likewise.
53835 (pupa_dl_unref): Likewise.
53836 (pupa_dl_iterate): Likewise.
53837 (pupa_dl_init): Renamed to ...
53838 (pupa_dl_set_prefix): ... this.
53839 (pupa_dl_get_prefix): Declared.
53840
53841 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 53842 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 53843 unloaded.
53844 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53845 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53846
53847 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53848 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53849
012d7999 538502003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53851
53852 * util/i386/pc/pupa-setup.c (setup): Define the internal
53853 function find_first_partition_start at the top level, because GCC
53854 3.0.x cannot compile internal functions in deeper scopes
53855 correctly.
53856 (find_root_device): Use lstat instead of stat.
53857 Don't follow symbolic links.
53858 Fix the path-constructing code.
53859
53860 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53861 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53862 by a BLKGETSIZE ioctl first, because block devices don't fill
53863 the member st_mode of the structure stat on Linux.
53864 [__linux__] (linux_find_partition): Use a temporary buffer
53865 REAL_DEV for the working space. Copy it to DEV before returning.
53866 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53867 buffer cache consistent.
53868 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53869 strncmp. The previous value was merely wrong.
53870 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53871
53872 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53873 FAT size is 12. The previous value was merely wrong.
53874
53875 * kern/main.c (pupa_main): Don't split the starting message from
53876 newlines.
53877
53878 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53879 LF, because BIOS goes crazy about character attributes in this
53880 case.
53881
1cc73a62 538822003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53883
53884 * include/i386/pc/util/biosdisk.h: New file.
53885 * util/i386/pc/biosdisk.c: Likewise.
53886 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 53887
1cc73a62 53888 * Makefile.in (INCLUDE_DISTFILES): Added
53889 include/pupa/i386/pc/util/biosdisk.h.
53890 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
53891 directory util/i386/pc.
53892 (install-local): Added a rule for sbin_UTILITIES.
53893 (uninstall): Likewise.
53894
53895 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53896
53897 * util/misc.c (xrealloc): New function.
53898 (pupa_malloc): Likewise.
53899 (pupa_free): Likewise.
53900 (pupa_realloc): Likewise.
53901 (pupa_stop): Likewise.
53902 (pupa_putchar): Likewise.
53903
53904 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53905
53906 * include/pupa/util/misc.h (xrealloc): Declared.
53907
53908 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53909 macro.
53910 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53911 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53912
53913 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53914 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53915
53916 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53917 way should be implemented.
53918 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53919
53920 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53921 the size of NAME for safety.
53922 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53923 0x88.
53924
53925 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53926 (pupa_setup_SOURCES): Likewise.
53927
53928 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53929
08b70fe8 539302002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53931
53932 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53933 bunch of pushl's from pusha, because this destroys the return
53934 value.
53935
62ddcc8f 539362002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53937
53938 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53939 This means that any missing prototypes could be fatal. Also, you
53940 must take care when writing assembly code. See the comments at
53941 the beginning of startup.S, for more details.
f19dbdb7 53942
62ddcc8f 53943 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53944 compilation mechanism.
53945 (pupa_chainloader_real_boot): Likewise.
53946 (pupa_biosdisk_rw_int13_extensions): Likewise.
53947 (pupa_biosdisk_rw_standard): Likewise.
53948 (pupa_biosdisk_check_int13_extensions): Likewise.
53949 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53950 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53951 (pupa_get_memsize): Likewise.
53952 (pupa_get_mmap_entry): Likewise.
53953 (pupa_console_putchar): Likewise.
53954 (pupa_console_setcursor): Likewise.
53955 (pupa_getrtsecs): Use pushl instead of push.
53956
53957 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53958 memory instead of the stack for a mmap entry, because some
53959 BIOSes may ignore the maximum size and overflow.
53960
53961 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53962
53963 * genmk.rb (PModule#rule): Compile automatically generated
53964 sources with module-specific CFLAGS as well as other sources.
53965
9962ed99 539662002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53967
53968 * configure.ac: Check ld.
53969 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53970 respectively, before checking endianness and sizes.
53971
53972 * Makefile.in (LD): New variable.
f19dbdb7 53973
abdfc3c5 539742002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53975
53976 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53977
6a161fa9 539782002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53979
53980 * Changelog: New file.
53981